:root{color-scheme:light;--ink:#172033;--muted:#657083;--line:#d9e1ea;--paper:#f7f9fc;--panel:#fff;--brand:#0f766e;--danger:#dc2626}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#eef7f6 0,#f7f9fc 34%,#fff 100%);color:var(--ink)}a{text-decoration:none;color:inherit}.app-shell{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:14px clamp(16px,3vw,36px);background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand span,.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#0f172a;color:#fff}.top-nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}.top-nav a,.user-pill a,.user-pill button{padding:9px 11px;border-radius:7px;color:#334155;background:transparent;border:0;font:inherit}.top-nav a:hover,.user-pill a:hover,.user-pill button:hover{background:#e8f0ef}.user-pill{display:flex;align-items:center;gap:8px;font-size:14px}.user-pill form{margin:0}.pending{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--danger);color:#fff;font-weight:800}.page-wrap{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:28px 0 54px}.hero-band,.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:34px;border-radius:8px;background:#0f172a;color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.16)}.section-head{background:linear-gradient(135deg,var(--accent,#0f172a),#111827)}.hero-band h1,.section-head h1{max-width:820px;margin:0;font-size:clamp(32px,5vw,58px);line-height:1.02;letter-spacing:0}.section-head h1{font-size:clamp(28px,4vw,48px)}.hero-band p,.section-head p{color:#dbeafe}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em;color:#94e6d8!important}.login-card{min-width:250px;padding:20px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.08)}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:#0f766e;color:#fff;font-weight:800;padding:12px 16px;cursor:pointer}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.metric,.panel,.module-card,.doc-card,.task-card,.kanban-col{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px rgba(15,23,42,.06)}.metric{padding:18px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:28px;margin:8px 0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.centered{align-items:stretch;justify-content:center}.module-card{padding:22px;border-top:5px solid var(--accent);transition:transform .18s ease,box-shadow .18s ease}.module-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,23,42,.12)}.module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:color-mix(in srgb,var(--accent),white 84%);color:var(--accent);font-weight:900}.module-card small{display:block;margin-top:16px;color:var(--muted)}.module-card strong{display:block;font-size:22px;margin:5px 0}.module-card p{color:var(--muted);margin-bottom:0}.feature-strip{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.feature-strip span,.feature-strip button,.badge{border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;color:#334155}.feature-strip button{cursor:pointer}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.panel{padding:20px}.panel h2{margin:0 0 15px;font-size:20px}.action-list{display:grid;gap:10px}.action-list a{padding:13px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.form-grid{display:grid;gap:11px}.form-grid input,.form-grid select,.task-form input,.task-form select{width:100%;border:1px solid var(--line);border-radius:7px;padding:12px;background:#fff;color:var(--ink)}.task-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#64748b;font-size:13px}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc-card{display:grid;gap:8px;padding:16px}.doc-card small,.doc-card span{color:var(--muted)}.service-line{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.service-line small{display:block;color:var(--muted)}.progress{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress span{display:block;height:100%;border-radius:999px;background:#0f766e}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.kanban-col{padding:16px}.task-card{display:grid;gap:7px;padding:14px;margin-bottom:10px}.task-card small,.task-card span{color:var(--muted)}.iframe-panel{height:780px;padding:0;overflow:hidden}.iframe-panel iframe{width:100%;height:100%;border:0}.auth-screen{min-height:calc(100vh - 130px);display:grid;place-items:center}.auth-panel{width:min(420px,100%);display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.12)}.auth-panel h1{margin:0}.auth-panel label{display:grid;gap:7px;color:var(--muted);font-weight:700}.auth-panel input{border:1px solid var(--line);border-radius:7px;padding:12px}.alert{padding:12px;border-radius:7px;background:#fee2e2;color:#991b1b}@media (max-width:900px){.app-shell{align-items:flex-start;flex-direction:column}.top-nav{width:100%}.hero-band,.section-head{align-items:flex-start;flex-direction:column;padding:24px}.metric-row,.module-grid,.two-col,.document-grid,.kanban{grid-template-columns:1fr}.task-form{grid-template-columns:1fr}.service-line{grid-template-columns:1fr}.iframe-panel{height:680px}}@media (max-width:520px){.page-wrap{width:min(100% - 20px,1180px);padding-top:16px}.hero-band h1,.section-head h1{font-size:31px}.top-nav a{flex:1;text-align:center}.user-pill{width:100%;justify-content:space-between}.metric strong{font-size:24px}}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-grid span{padding:10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.service-planner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr auto;gap:10px}.service-planner input,.service-planner select{border:1px solid var(--line);border-radius:7px;padding:12px;background:#fff}.gantt-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.gantt-row small{display:block;color:var(--muted)}.gantt-track{height:14px;border-radius:999px;background:#e2e8f0;overflow:hidden}.gantt-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0f766e,#38bdf8)}.area-score{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.area-score>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.pending.small{display:inline-grid;min-width:22px;height:22px;font-size:12px}.alert.info{background:#dbeafe;color:#1e3a8a}@media (max-width:1000px){.three-col,.area-score{grid-template-columns:1fr 1fr}.service-planner{grid-template-columns:1fr 1fr}.gantt-row{grid-template-columns:1fr}}@media (max-width:640px){.three-col,.area-score,.service-planner,.mini-grid{grid-template-columns:1fr}}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:#0f172a;font-weight:800;padding:12px 16px;cursor:pointer}.scope-list{display:flex;gap:10px;flex-wrap:wrap}.scope-list span{padding:10px 12px;border-radius:7px;background:#f8fafc;border:1px solid var(--line)}tfoot th{font-size:15px;background:#f8fafc}.danger strong{color:#b91c1c}.success strong{color:#047857}.info strong{color:#1d4ed8}.warning strong{color:#a16207}

/* Security-first redesign */
body.login-body{min-height:100vh;background:#0b1120;color:#e5eefb;overflow-x:hidden}body.erp-body{background:#eef3f7;color:#172033}.login-wrap{min-height:100vh;width:100%;padding:0}.auth-screen-v2{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);background:radial-gradient(circle at 18% 18%,rgba(45,212,191,.18),transparent 28%),linear-gradient(135deg,#0b1120 0,#101827 52%,#111827 100%)}.auth-hero{display:flex;flex-direction:column;justify-content:center;gap:28px;padding:clamp(34px,7vw,92px)}.auth-brand{display:flex;align-items:center;gap:12px;font-size:19px}.auth-brand span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#2dd4bf;color:#082f2a;font-weight:900}.auth-hero h1{max-width:760px;margin:0;font-size:clamp(38px,6vw,74px);line-height:1.02;letter-spacing:0}.auth-hero p{max-width:560px;margin:0;color:#aebbd0;font-size:18px;line-height:1.55}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px}.security-grid span{padding:13px 14px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:rgba(15,23,42,.54);color:#d8f3ee}.auth-panel-v2{align-self:center;justify-self:center;width:min(430px,calc(100% - 38px));display:grid;gap:18px;padding:30px;border:1px solid rgba(226,232,240,.12);border-radius:8px;background:rgba(255,255,255,.96);color:#172033;box-shadow:0 24px 70px rgba(0,0,0,.35)}.auth-panel-v2 h2{margin:8px 0 4px;font-size:30px}.auth-panel-v2 p,.auth-help{color:#64748b}.auth-panel-v2 label{display:grid;gap:8px;font-weight:800;color:#334155}.auth-panel-v2 input{width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:13px 14px;font:inherit;background:#fff}.lock-mark{display:inline-flex;width:max-content;padding:8px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.primary-button.full{width:100%;padding:14px}.app-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;background:#111827;color:#e5e7eb;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(15,23,42,.18)}.brand{color:#fff}.brand span{background:#2dd4bf;color:#083c34}.top-nav{gap:4px}.top-nav a{color:#cbd5e1;border:1px solid transparent}.top-nav a:hover{background:#1f2937;color:#fff;border-color:#334155}.user-pill{color:#e5e7eb}.user-pill button{color:#e5e7eb;border:1px solid #374151;background:#1f2937}.user-meta{display:grid;line-height:1.12}.user-meta small{color:#9ca3af}.page-wrap{width:min(1360px,calc(100% - 32px));padding:24px 0 52px}.workbench-head{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:26px;border:1px solid #d9e1ea;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(15,23,42,.07)}.workbench-head h1{margin:0;font-size:clamp(30px,4vw,50px);letter-spacing:0}.workbench-head p{margin:8px 0 0;color:#64748b}.command-stack{display:flex;gap:10px;flex-wrap:wrap}.executive-row{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border:1px solid #d7dee8;box-shadow:none}.metric strong{font-size:30px}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.quick-actions a{display:grid;gap:6px;padding:17px;border:1px solid #d9e1ea;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.quick-actions a:hover{border-color:#94a3b8;transform:translateY(-1px)}.quick-actions span{color:#64748b}.module-card{background:#fff;box-shadow:none;border-color:#d9e1ea}.module-card:hover{box-shadow:0 18px 40px rgba(15,23,42,.1)}.section-head,.hero-band{box-shadow:none;border:1px solid rgba(255,255,255,.08)}.panel{box-shadow:none}.alert{border:1px solid transparent}.alert.info{border-color:#bfdbfe}.secondary-button:hover,.primary-button:hover{filter:brightness(.97)}@media (max-width:1050px){.auth-screen-v2{grid-template-columns:1fr}.auth-hero{padding-bottom:10px}.auth-panel-v2{margin-bottom:36px}.app-shell{grid-template-columns:1fr}.top-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.quick-actions,.executive-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.auth-hero h1{font-size:36px}.security-grid,.quick-actions,.executive-row{grid-template-columns:1fr}.workbench-head{align-items:flex-start;flex-direction:column}.auth-panel-v2{width:calc(100% - 22px)}}

/* ===== Fase 1-4: menu jerarquico, header compacto, pendientes, matriz, material, geo ===== */
/* Header compacto (antes ocupaba media pantalla) */
.section-head{padding:12px 18px!important;border-radius:8px;background:linear-gradient(135deg,#0f172a,#1e293b);align-items:center;gap:12px;box-shadow:0 6px 18px rgba(15,23,42,.12)}
.section-head h1{font-size:20px!important;line-height:1.2;margin:0}
.section-head p{font-size:12px;margin:3px 0 0;color:#cbd5e1}
.section-head .eyebrow{font-size:10px;margin:0}

/* Menu jerarquico con submenus */
.app-shell{align-items:center}
.nav-toggle{display:none;background:transparent;border:1px solid #374151;color:#e5e7eb;border-radius:7px;padding:8px 11px;cursor:pointer;font-size:16px}
.top-nav{align-items:center}
.nav-item{position:relative}
.nav-trigger{padding:9px 11px;border-radius:7px;color:#cbd5e1;background:transparent;border:1px solid transparent;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nav-item:hover>.nav-trigger,.nav-item.active>.nav-trigger,.nav-item.open>.nav-trigger{background:#1f2937;color:#fff;border-color:#334155}
.nav-trigger i{font-style:normal;font-size:10px;opacity:.8}
.nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;display:none;flex-direction:column;gap:2px;padding:8px;background:#111827;border:1px solid #334155;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:30}
.nav-item:hover>.nav-menu,.nav-item.open>.nav-menu{display:flex}
.nav-menu a{padding:9px 11px;border-radius:7px;color:#cbd5e1;white-space:nowrap}
.nav-menu a:hover{background:#1f2937;color:#fff}

/* Panel de pendientes (clickeable) */
.pending-wrap{position:relative;list-style:none}
.pending-wrap>summary{list-style:none;cursor:pointer;display:inline-flex}
.pending-wrap>summary::-webkit-details-marker{display:none}
.pending{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--danger);color:#fff;font-weight:800;font-size:13px}
.pending.zero{background:#16a34a}
.pending-panel{position:absolute;right:0;top:calc(100% + 10px);width:340px;max-height:72vh;overflow:auto;padding:10px;background:#fff;color:#172033;border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 50px rgba(15,23,42,.28);z-index:40}
.pending-panel header{font-weight:800;padding:6px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.pending-empty{padding:14px 8px;color:#64748b}
.pending-row{display:flex;gap:10px;align-items:flex-start;padding:10px 8px;border-radius:8px;color:#172033}
.pending-row:hover{background:#f1f5f9}
.pending-text{display:grid;line-height:1.25}
.pending-text small{color:#64748b}
.pending-row .dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none}
.dot.task{background:#2563eb}.dot.sign{background:#dc2626}
/* Iconos de notificacion (barra superior) */
.topbar-icons{display:flex;align-items:center;gap:6px}
.notif-wrap{position:relative;list-style:none}
.notif-wrap>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#e5e7eb;position:relative}
.notif-wrap>summary::-webkit-details-marker{display:none}
.notif-wrap>summary:hover{background:rgba(255,255,255,.12)}
.notif-wrap>summary:focus-visible{outline:2px solid var(--gold)}
.notif-wrap>summary .nav-ic{width:22px;height:22px}
.notif-badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #111827}
.pending-all{display:block;text-align:center;margin-top:8px;padding:9px;border-top:1px solid var(--line);color:var(--brand,#1d4ed8);font-weight:700}
.pending-all:hover{background:#f1f5f9;border-radius:8px}
.sig-late{color:#dc2626;font-weight:700}.sig-soon{color:#b45309;font-weight:700}
/* Plan de cuotas (orden de compra) */
.po-schedule{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.po-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.po-schedule-head h3{margin:0;font-size:15px}
.po-schedule-help{margin:4px 0 10px;font-size:12px;color:#64748b}
.po-schedule-table{width:100%;border-collapse:collapse}
.po-schedule-table th{text-align:left;font-size:12px;color:#64748b;padding:4px 8px 6px;font-weight:700}
.po-schedule-table td{padding:4px 8px;border-top:1px solid var(--line);font-size:13px;vertical-align:middle}
.po-schedule-table input{width:100%}
.po-schedule-check{margin-top:10px;padding:10px 12px;border-radius:10px;font-weight:700;font-size:13px}
.po-schedule-check.is-ok{background:#dcfce7;color:#166534}
.po-schedule-check.is-bad{background:#fee2e2;color:#991b1b}
.po-schedule-head h3 small{font-weight:500;color:#64748b}
.po-schedule-actions{display:flex;gap:8px;flex-wrap:wrap}
.po-schedule-table input[type=file]{font-size:11px;width:auto;max-width:150px}
.po-doc-link{display:block;font-size:11px;color:#1d4ed8;font-weight:700;margin-top:2px}
.po-remove-installment{border:0;background:#fee2e2;color:#991b1b;border-radius:8px;width:26px;height:26px;font-weight:800;cursor:pointer}
.po-remove-installment:hover{background:#fecaca}

/* Numeros y badges */
.num{text-align:right;font-variant-numeric:tabular-nums}
.num-in{color:#047857}
.num-out{color:#b91c1c}
.badge.active{background:#0f172a;color:#fff;border-color:#0f172a}
.badge-danger{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.badge-ok{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}

/* Matriz de flujo de caja */
table.matrix th,table.matrix td{padding:8px 10px;border-bottom:1px solid var(--line)}
.matrix-group td{background:#0f172a;color:#fff;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.06em}
.matrix-subtotal td{background:#f1f5f9;font-weight:700}
.matrix tfoot th{background:#0f172a;color:#fff}
.matrix tfoot th.num-in{color:#86efac}.matrix tfoot th.num-out{color:#fca5a5}

/* Material de venta */
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.material-card{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06);transition:transform .15s,box-shadow .15s;color:#172033}
.material-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,23,42,.12)}
.material-ext{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#0f766e;color:#fff;font-weight:800;font-size:12px}
.material-card strong{font-size:16px}
.material-card small{color:#64748b}
.material-tags{font-size:11px;color:#94a3b8}
.material-open{color:#0f766e;font-weight:700;font-size:13px;margin-top:4px}

@media(max-width:1100px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){
  .nav-toggle{display:inline-flex}
  .app-shell{grid-template-columns:auto 1fr auto}
  .top-nav{display:none;order:4;grid-column:1 / -1;flex-direction:column;width:100%;align-items:stretch}
  .top-nav.open{display:flex}
  .nav-item{width:100%}
  .nav-menu{position:static;display:flex;box-shadow:none;border:0;background:transparent;padding:2px 0 6px 16px;min-width:auto}
  .nav-trigger{width:100%;justify-content:space-between}
  .pending-panel{width:min(340px,92vw)}
}
@media(max-width:640px){.material-grid,.form-grid-3{grid-template-columns:1fr}.section-head h1{font-size:18px!important}}

/* ===== Iconos de menu + fix hover submenu + toolbars/formularios ===== */
.nav-ic{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle}
.top-nav .nav-link,.nav-trigger{display:inline-flex;align-items:center;gap:7px}
.nav-menu a{display:flex;align-items:center;gap:9px}
.nav-menu .nav-ic{opacity:.78}
.nav-trigger i{margin-left:2px}

/* Puente invisible: cubre el espacio entre el menu padre y el submenu para que NO se cierre al pasar el mouse */
.nav-menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:12px;background:transparent}
.nav-item:hover>.nav-menu,.nav-item:focus-within>.nav-menu,.nav-item.open>.nav-menu{display:flex}

/* Barra de busqueda / filtros */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar-search{flex:1;min-width:240px;border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}
.toolbar-filter{border:1px solid var(--line);border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}
.toolbar-count{color:#64748b;font-size:14px;white-space:nowrap}
.muted-msg{color:#64748b;padding:14px 4px}

/* Encabezado con accion a la derecha */
.head-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Formularios con etiquetas */
.field{display:grid;gap:6px}
.field>span{font-size:12px;font-weight:700;color:#475569}
.field-wide{grid-column:1 / -1}
.field-help{grid-column:1 / -1;color:#64748b;font-size:13px;margin:0}
.field-help a{color:#0f766e;font-weight:700}
.form-actions{grid-column:1 / -1;display:flex;gap:10px;margin-top:8px}

/* ===== Tabla RR.HH. legible + pill de identificacion (arregla "RUT" + numero) ===== */
.hr-table td{vertical-align:top}
.cell-main{font-weight:600;color:var(--ink)}
.cell-sub{color:#64748b;font-size:12px;margin-top:2px}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.2px}
.id-pill{display:inline-block;padding:2px 9px;border-radius:6px;background:#eef2f8;color:#475569;font-size:11px;font-weight:800;letter-spacing:.04em;margin-bottom:3px}

/* ===== Marca DINAMO (negro + dorado) ===== */
:root{--gold:#e6b027;--gold-d:#c9971c;--ink-900:#15181d}
.brand{display:inline-flex;align-items:center;gap:9px;background:#fff;padding:5px 11px;border-radius:9px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.brand-logo{height:22px;width:auto;display:block}
.brand-tag{color:var(--ink-900);font-weight:900;letter-spacing:.16em;font-size:12px;border-left:2px solid var(--gold);padding-left:8px}
/* Acento dorado en navegacion activa */
.nav-item.active>.nav-trigger,.top-nav .nav-link.active{box-shadow:inset 0 -2px 0 var(--gold)}
.nav-item.active>.nav-trigger i{color:var(--gold)}
/* Botones primarios en negro de marca con realce dorado */
.primary-button{background:var(--ink-900)}
.primary-button:hover{background:#000;box-shadow:0 0 0 2px rgba(230,176,39,.5)}
.pending-wrap>summary:focus-visible{outline:2px solid var(--gold);border-radius:999px}
/* Pista Gantt y progreso en dorado de marca */
.gantt-track span{background:linear-gradient(90deg,var(--gold-d),var(--gold))}
.progress span{background:var(--gold-d)}
.module-icon{box-shadow:inset 0 0 0 1px rgba(230,176,39,.25)}
.uf-row{display:flex;gap:8px;align-items:stretch}
.uf-row input{flex:1;min-width:0}
.uf-row .secondary-button{white-space:nowrap;padding:0 12px}
/* Pestanas */
.tabs{display:flex;gap:6px;margin:6px 0 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tab-btn{padding:10px 16px;border:0;background:transparent;color:#64748b;font:inherit;font-weight:700;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.tab-btn:hover{color:var(--ink-900)}
.tab-btn.active{color:var(--ink-900);border-bottom-color:var(--gold)}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:fadeIn .15s ease}
@keyframes fadeIn{from{opacity:.4}to{opacity:1}}
/* KPIs cuentas por cobrar */
.kpi-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.kpi-5 .metric{padding:14px}
.kpi-5 .metric strong{font-size:22px}
@media(max-width:1100px){.kpi-5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.kpi-5{grid-template-columns:1fr 1fr}}
/* Gestion inline de conciliacion */
.rc-manage{position:relative}
.rc-manage>summary{cursor:pointer;list-style:none}
.rc-manage>summary::-webkit-details-marker{display:none}
.rc-form{position:absolute;right:0;z-index:20;width:300px;display:grid;gap:9px;padding:14px;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 50px rgba(15,23,42,.28)}
.rc-form .rc-paid-fields{display:grid;gap:9px}
.rc-form input,.rc-form select{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff;color:var(--ink)}
/* Popover de accion: como mini-modal centrado fijo (no lo recorta la tabla) */
.rc-manage[open]{position:static}
.rc-manage[open]>.rc-form{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,94vw);max-height:86vh;overflow:auto;z-index:130}
.rc-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:120}
@media(max-width:640px){.rc-manage:not([open])>.rc-form{position:static;width:100%}}
.doc-actions{display:flex;gap:14px;margin-top:6px}
.sign-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sign-actions .primary-button{padding:8px 14px}
/* Menu en una sola linea (desktop), compacto */
@media(min-width:1051px){
  .app-shell{gap:12px}
  .top-nav{flex-wrap:nowrap;gap:2px}
  .top-nav .nav-link,.top-nav .nav-trigger{padding:8px 9px;font-size:13.5px;gap:5px}
  .top-nav .nav-ic{width:15px;height:15px}
  .nav-trigger i{margin-left:0;font-size:9px}
}
/* GLTS a pantalla completa */
.glts-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.glts-tabs{display:flex;gap:6px;flex-wrap:wrap}
.glts-full{width:100%;height:calc(100vh - 150px);min-height:420px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
/* Caja de totales de cotizacion */
.totals-box{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.totals-controls{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}
.check-field{display:flex;align-items:center;gap:8px;font-weight:700;color:#334155;padding-bottom:10px}
.check-field input{width:18px;height:18px}
.totals-table{width:min(360px,100%);border-collapse:collapse}
.totals-table th{text-align:left;padding:6px 10px;font-weight:600;color:#475569}
.totals-table td{padding:6px 10px;text-align:right;font-variant-numeric:tabular-nums}
.totals-table .matrix-subtotal th,.totals-table .matrix-subtotal td{background:#f8fafc}
.totals-grand th,.totals-grand td{border-top:2px solid var(--ink-900);font-size:17px;font-weight:800;color:var(--ink-900);padding-top:8px}
@media(max-width:640px){.totals-box{flex-direction:column}.totals-table{width:100%}}
/* ===== Agenda / planificador ===== */
.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.seg-btn{padding:8px 14px;font-weight:700;color:#475569;background:#fff;border-right:1px solid var(--line)}
.seg-btn:last-child{border-right:0}
.seg-btn:hover{background:#f1f5f9}
.seg-btn.active{background:var(--ink-900);color:#fff}
.nav-range{display:flex;align-items:center;gap:8px}
.nav-range .seg-btn{border:1px solid var(--line);border-radius:8px}
.range-label{margin-left:6px;color:#334155;text-transform:capitalize}
.nav-filter{display:flex;align-items:center;gap:8px;margin:0}
.filter-chip{background:#eef2f8;color:#475569;border-radius:999px;padding:7px 12px;font-weight:700;font-size:13px}

.planner-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.planner{display:grid;grid-template-columns:220px repeat(var(--days),minmax(150px,1fr));min-width:max-content}
.planner-head{display:contents}
.planner-corner,.planner-day{position:sticky;top:0;background:#0f172a;color:#fff;z-index:3;padding:10px 12px;font-weight:700}
.planner-corner{left:0;z-index:4;border-top-left-radius:12px}
.planner-day{display:flex;flex-direction:column;line-height:1.1;border-left:1px solid rgba(255,255,255,.08);text-align:center}
.planner-day .pd-dow{font-size:11px;text-transform:capitalize;color:#94a3b8}
.planner-day .pd-num{font-size:18px}
.planner-day.is-today{background:#155e52}
.planner-row{display:contents}
.planner-person{position:sticky;left:0;z-index:2;background:#fff;display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid var(--line);border-right:1px solid var(--line)}
.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#15181d;font-weight:800;flex:none}
.person-meta{display:grid;line-height:1.15}
.person-meta small{color:#94a3b8}
.planner-cell{border-top:1px solid var(--line);border-left:1px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:8px;min-height:84px;background:#fbfdff}
.planner-cell.is-today{background:#f0fdf9}
.plan-card{border-radius:10px;padding:9px 10px;border-left:4px solid #94a3b8;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.07);display:grid;gap:3px}
.plan-card strong{font-size:13px;line-height:1.2}
.plan-card small{color:#64748b;font-size:11px}
.plan-foot{display:flex;justify-content:space-between;font-size:11px;color:#64748b;margin-top:2px}
.plan-card.high{border-left-color:#dc2626;background:#fff5f5}
.plan-card.mid{border-left-color:var(--gold);background:#fffaf0}
.plan-card.low{border-left-color:#0ea5e9;background:#f0f9ff}
.plan-card.done{border-left-color:#16a34a;background:#f0fdf4;opacity:.8}
.plan-card.done strong{text-decoration:line-through;color:#64748b}
/* Listas con checkbox (agendas: cotizaciones / tecnicos) */
.check-list{display:grid;gap:6px;max-height:340px;overflow:auto}
.check-row{display:flex;gap:9px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.check-row input{width:17px;height:17px;flex:none}
.explainer-panel{display:flex;gap:24px;flex-wrap:wrap}
.explainer-panel strong{display:block;margin-bottom:2px}
/* Cronograma / Gantt de agenda */
.gantt2-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.gantt2{min-width:720px}
.gantt2-head{display:grid;grid-template-columns:220px 1fr;background:#0f172a;color:#fff}
.gantt2-corner{padding:10px 12px;font-weight:700;font-size:12px}
.gantt2-scale{position:relative;height:34px;border-left:1px solid rgba(255,255,255,.12)}
.gantt2-tick{position:absolute;top:9px;font-size:10px;color:#9fb0c7;transform:translateX(-50%);white-space:nowrap}
.gantt2-row{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line)}
.gantt2-label{padding:8px 12px;display:grid;line-height:1.2;border-right:1px solid var(--line)}
.gantt2-label small{color:#94a3b8}
.gantt2-track{position:relative;height:34px}
.gantt2-bar{position:absolute;top:7px;height:20px;border-radius:6px;display:flex;align-items:center;overflow:hidden;min-width:14px}
.gantt2-bar.g-mid{background:#fef3d6;border:1px solid var(--gold)}
.gantt2-bar.g-done{background:#dcfce7;border:1px solid #16a34a}
.gantt2-bar.g-late{background:#fee2e2;border:1px solid #dc2626}
.gantt2-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(230,176,39,.45)}
.gantt2-bar.g-done .gantt2-fill{background:rgba(22,163,74,.35)}
.gantt2-bar.g-late .gantt2-fill{background:rgba(220,38,38,.3)}
.gantt2-cap{position:relative;font-size:10px;font-weight:800;padding:0 6px;color:#15181d}
/* ===== Vista movil tecnico ===== */
.field-app{width:min(560px,100%);margin:0 auto;display:grid;gap:12px}
.field-top{display:flex;justify-content:space-between;align-items:center;background:#111827;color:#fff;border-radius:14px;padding:14px 16px}
.field-hi{margin:0;font-size:19px;font-weight:800}
.field-top small{color:#9ca3af;text-transform:capitalize}
.field-notif{min-width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#374151;color:#fff;font-weight:800}
.field-notif.on{background:var(--danger)}
.field-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.field-act{display:grid;place-items:center;gap:4px;padding:12px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:700;text-align:center;color:#15181d}
.field-act span{font-size:22px}
.field-ticket{display:flex;gap:8px}
.field-ticket input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
.field-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;display:grid;gap:7px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.field-card.task{border-left:5px solid var(--gold)}
.field-card.task.is-done{border-left-color:#16a34a;opacity:.8}
.field-card.task.is-late{border-left-color:#dc2626}
.field-task-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.field-task-head strong{font-size:16px}
.field-delay{font-weight:700}
.field-alert{border-left:5px solid var(--danger)}
.field-line{display:flex;align-items:center;gap:8px;padding:7px 0;color:#15181d}
.field-comments summary{cursor:pointer;font-weight:700;color:#475569}
.field-cmt{border-top:1px solid var(--line);padding:6px 0;font-size:13px}
.field-cmt small{color:#94a3b8;margin-left:6px}
.field-update,.field-photo{display:grid;gap:8px;border-top:1px dashed var(--line);padding-top:9px;margin-top:3px}
.field-row{display:flex;gap:10px;align-items:center}
.field-row select{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px}
.field-update input[name=comment]{border:1px solid var(--line);border-radius:9px;padding:10px}
.field-photo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.primary-button.full,.secondary-button.full{width:100%}
.field-seg{width:100%}.field-seg .seg-btn{flex:1;text-align:center}
.field-h2{margin:6px 2px 0;font-size:16px}
.chk{display:flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}
.field-logout{margin-top:10px}
.field-note{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:9px;padding:9px 11px;margin:0}
/* Home tecnico: grilla de iconos */
.field-globalalert{background:#111827;color:#e5e7eb;border-radius:12px;padding:12px 14px;display:grid;gap:2px}
.field-globalalert strong{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-tile{display:grid;justify-items:center;gap:4px;padding:20px 10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.06);color:#15181d;text-align:center}
.home-tile:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.12)}
.home-tile .home-ico{font-size:34px;line-height:1}
.home-tile strong{font-size:14px;letter-spacing:.02em}
.home-tile small{color:#94a3b8}
.home-wide{grid-column:1 / -1}
.is-soon-tile{opacity:.7;background:#f8fafc;cursor:default;border-style:dashed}
/* Indicadores de urgencia */
.urg-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
.urg-red{background:#dc2626}.urg-green{background:#16a34a}
.field-card.task.is-soon{border-left:5px solid #dc2626}
.field-card.task.is-late{border-left:5px solid #dc2626}
.ga-row{display:flex;align-items:center;gap:8px;padding:8px 0;color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.ga-row:first-of-type{border-top:0}
.ga-row:hover{color:var(--gold)}
/* ===== Recursos Humanos ===== */
.hr-hero{display:flex;align-items:center;gap:18px;padding:22px 26px;border-radius:16px;background:linear-gradient(120deg,#0f172a,#1e3a5f);color:#fff;margin-bottom:16px;flex-wrap:wrap}
.hr-hero-text{flex:1;min-width:240px}
.hr-hero-text h1{margin:2px 0;font-size:26px}
.hr-hero-text p{margin:0;color:#cbd5e1;font-size:13px}
.hr-hero-text .eyebrow{color:#94a3b8}
.hr-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hr-hero-actions .secondary-button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.hr-gold{padding:12px 18px;border:0;border-radius:9px;background:var(--gold);color:#0f172a;font-weight:800;cursor:pointer}
.hr-gold:hover{filter:brightness(1.05)}
.hr-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:14px}
.hr-kpi{display:flex;align-items:center;gap:13px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
.hr-kpi-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-size:20px;font-weight:800;flex:none}
.hr-kpi-icon.is-blue{background:#dbeafe;color:#1d4ed8}.hr-kpi-icon.is-red{background:#fee2e2;color:#b91c1c}
.hr-kpi-icon.is-amber{background:#fef3c7;color:#b45309}.hr-kpi-icon.is-green{background:#dcfce7;color:#166534}
.hr-kpi-icon.is-purple{background:#ede9fe;color:#6d28d9}
.hr-kpi>div{display:grid;gap:1px;min-width:0}
.hr-kpi span:not(.hr-kpi-icon){font-size:13px;color:#64748b;font-weight:600}
.hr-kpi strong{font-size:22px;line-height:1.15}
.hr-kpi small{color:#94a3b8;font-size:11px}
.hr-rule{display:flex;gap:12px;padding:14px 16px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;margin-bottom:16px;font-size:13px;line-height:1.5}
.hr-rule-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1d4ed8;color:#fff;font-weight:800;flex:none}
.hr-h2{font-size:17px;margin:0 0 10px}
.hr-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-bottom:18px}
.hr-quick-card{display:flex;align-items:center;gap:13px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;text-align:left;cursor:pointer;color:#15181d;font:inherit}
.hr-quick-card:hover{border-color:#1d4ed8;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.hr-quick-card div{flex:1}
.hr-quick-card strong{display:block;font-size:14px}
.hr-quick-card small{color:#64748b;font-size:12px;line-height:1.4}
.hr-quick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font-size:20px;flex:none}
.hr-quick-icon.is-amber{background:#fef3c7}.hr-quick-icon.is-green{background:#dcfce7}.hr-quick-icon.is-blue{background:#dbeafe}.hr-quick-icon.is-purple{background:#ede9fe}
.hr-go{color:#cbd5e1;font-size:20px}
.hr-panel{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}
.hr-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.hr-search{flex:1;min-width:240px}
.hr-table{width:100%;border-collapse:collapse;font-size:13px}
.hr-table th{text-align:left;font-size:11px;color:#64748b;font-weight:800;padding:10px 8px;border-bottom:1px solid var(--line)}
.hr-table td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.hr-table small{color:#94a3b8}
.hr-person{display:flex;align-items:center;gap:10px}
.hr-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#1e3a8a;font-weight:800;font-size:12px;flex:none}
.hr-pays{min-width:230px}
.hr-pay{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:12px}
.hr-pay span{flex:1;color:#64748b}
.hr-pay b{font-weight:800}
.hr-pay.is-paid span{text-decoration:line-through;opacity:.65}
.hr-inline{margin:0}
.hr-inline button{border:0;background:transparent;cursor:pointer;color:#94a3b8;font-size:13px;padding:2px 4px;border-radius:5px}
.hr-inline button:hover{background:#f1f5f9;color:#dc2626}
.hr-pay.is-paid .hr-inline button:first-child{color:#16a34a}
.hr-final{display:block;font-size:16px;color:#0f172a}
.hr-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700;white-space:nowrap}
.hr-badge.is-amber{background:#fef3c7;color:#b45309}
.hr-badge.is-green{background:#dcfce7;color:#166534}
.hr-badge.is-red{background:#fee2e2;color:#b91c1c}
.hr-actions{display:grid;gap:5px;min-width:150px}
.hr-inline-row{display:flex;gap:6px;margin:0}
.hr-mini{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#334155;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.hr-mini:hover{border-color:#1d4ed8;color:#1d4ed8}
.hr-mini.is-ok:hover{border-color:#16a34a;color:#16a34a}
.hr-mini.is-no:hover{border-color:#dc2626;color:#dc2626}
.hr-foot{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:#64748b}
@media(max-width:820px){.hr-hero-actions{width:100%}.hr-actions{min-width:0}}
/* ===== Tablero de tareas ===== */
.tk-hero{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.tk-hero-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#0f172a;color:#fff;font-size:24px;flex:none}
.tk-hero-text{flex:1}
.tk-hero-text h1{margin:0;font-size:30px}
.tk-hero-text p{margin:2px 0 0;color:#64748b;font-size:13px}
.tk-new{padding:13px 20px;font-size:14px}
.tk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}
.tk-kpi{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;color:#15181d}
.tk-kpi:hover{border-color:#1d4ed8;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.tk-kpi.is-alert{border-color:#fecaca;background:#fffafa}
.tk-kpi>div{flex:1;display:grid;gap:1px}
.tk-kpi span:not(.tk-kpi-icon):not(.tk-kpi-go){font-size:13px;color:#64748b;font-weight:600}
.tk-kpi strong{font-size:26px;line-height:1.1}
.tk-kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-size:19px;flex:none}
.tk-kpi-icon.is-amber{background:#fef3c7;color:#b45309}
.tk-kpi-icon.is-blue{background:#dbeafe;color:#1d4ed8}
.tk-kpi-icon.is-green{background:#dcfce7;color:#166534}
.tk-kpi-icon.is-red{background:#fee2e2;color:#b91c1c}
.tk-kpi-go{color:#cbd5e1;font-size:20px}
.tk-filters{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px;display:grid;gap:14px}
.tk-scope-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tk-scope{display:flex;gap:6px;background:#f1f5f9;border-radius:11px;padding:4px}
.tk-scope-btn{display:flex;align-items:center;gap:7px;padding:9px 15px;border-radius:8px;color:#475569;font-weight:700;font-size:13px}
.tk-scope-btn.active{background:#0f172a;color:#fff}
.tk-user-pick label{display:flex;align-items:center;gap:9px}
.tk-user-pick span{font-size:12px;color:#64748b;font-weight:700}
.tk-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.tk-search{grid-column:span 2}
.tk-sign{margin-bottom:16px}
.tk-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.tk-col{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:10px}
.tk-col-head{display:flex;align-items:center;gap:9px}
.tk-col-head h2{margin:0;font-size:15px;flex:1}
.tk-dot{width:9px;height:9px;border-radius:50%;flex:none}
.tk-dot.is-amber{background:#f59e0b}.tk-dot.is-blue{background:#2563eb}.tk-dot.is-green{background:#16a34a}
.tk-col-count{font-size:11px;font-weight:800;color:#64748b;background:#e2e8f0;border-radius:999px;padding:3px 9px}
.tk-drop{display:grid;gap:10px;min-height:80px;border-radius:10px}
.tk-drop.drag-over{outline:2px dashed #1d4ed8;outline-offset:3px;background:#eff6ff}
.tk-card{display:grid;gap:8px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px;cursor:pointer;box-shadow:0 2px 6px rgba(15,23,42,.04)}
.tk-card:hover{border-color:#1d4ed8;box-shadow:0 10px 24px rgba(15,23,42,.1)}
.tk-card.dragging{opacity:.5}
.tk-card.is-late{border-left:4px solid #dc2626}
.tk-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.tk-card-title{font-size:16px;line-height:1.35}
.tk-card-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;font-size:15px;flex:none}
.tk-card-ico.is-amber{background:#fef3c7}.tk-card-ico.is-blue{background:#dbeafe}.tk-card-ico.is-green{background:#dcfce7}
.tk-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.tk-tag{font-size:13px;color:#475569}
.tk-prio{font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px}
.tk-prio.prio-alta{background:#fee2e2;color:#b91c1c}
.tk-prio.prio-media{background:#fef3c7;color:#b45309}
.tk-prio.prio-baja{background:#e2e8f0;color:#475569}
.tk-meta{display:grid;gap:4px;font-size:13px;color:#475569}
.tk-people-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-late{color:#dc2626;font-weight:700}
/* Cuenta regresiva: se lee de un vistazo por color */
.tk-left{justify-self:start;display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:800}
.tk-left:before{content:"⏳"}
.tk-left.is-over{background:#fee2e2;color:#b91c1c}
.tk-left.is-over:before{content:"⏰"}
.tk-left.is-urgent{background:#fee2e2;color:#b91c1c}
.tk-left.is-soon{background:#ffedd5;color:#c2410c}
.tk-left.is-week{background:#fef3c7;color:#92400e}
.tk-left.is-far{background:#f1f5f9;color:#475569}
.tk-left.is-done{background:#dcfce7;color:#166534}
.tk-left.is-done:before{content:"✓"}
.tk-left.is-none{background:#f1f5f9;color:#94a3b8}
.tk-left.is-none:before{content:"—"}
.tk-progress{display:flex;align-items:center;gap:8px;height:6px;position:relative;margin-top:2px}
.tk-progress:before{content:"";position:absolute;left:0;right:34px;height:6px;border-radius:999px;background:#e2e8f0}
.tk-bar{position:relative;height:6px;border-radius:999px;background:#2563eb;max-width:calc(100% - 34px)}
.tk-bar.is-done{background:#16a34a}
.tk-progress b{margin-left:auto;font-size:12px;color:#475569}
.tk-empty{margin:0;padding:18px;text-align:center;color:#94a3b8;font-size:13px}
/* Nueva tarea: fecha+hora y participantes */
.tk-due-pair{display:grid;grid-template-columns:1fr 100px;gap:10px}
.tk-participants{grid-column:1 / -1;border:1px solid var(--line);border-radius:10px;padding:12px;margin:0}
.tk-participants legend{padding:0 6px;font-size:11px;font-weight:900;color:#41536e}
.tk-participants .field-help{margin:0 0 8px}
.tk-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;max-height:150px;overflow-y:auto}
.tk-person{display:flex!important;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:#f8fafc;cursor:pointer;font-size:13px}
.tk-person:hover{background:#eff6ff}
.tk-person input{width:auto!important;min-height:0!important;margin:0}
.tk-person span{font-weight:600}
.tk-col-all{display:block;text-align:center;padding:9px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:#1d4ed8}
.tk-col-all.is-plain{color:#94a3b8;font-weight:600}
@media(max-width:900px){.tk-board{grid-template-columns:1fr}.tk-search{grid-column:span 1}}
/* ===== Reinicio maestro ===== */
.reset-hero{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:14px;background:linear-gradient(120deg,#7f1d1d,#b91c1c);color:#fff;margin-bottom:14px}
.reset-hero-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.15);font-size:26px;flex:none}
.reset-hero h1{margin:2px 0;font-size:24px}
.reset-hero p{margin:0;color:#fee2e2;font-size:13px}
.reset-hero .eyebrow{color:#fecaca}
.reset-warning{display:grid;gap:3px;padding:14px 16px;border-left:5px solid #dc2626;border-radius:10px;background:#fef2f2;color:#7f1d1d;margin-bottom:14px}
.reset-list{display:grid;gap:2px;max-height:280px;overflow:auto;margin-top:8px}
.reset-row{display:flex;justify-content:space-between;padding:7px 10px;border-radius:7px;background:#f8fafc;font-size:13px;text-transform:capitalize}
.reset-row b{color:#dc2626}
.reset-keep{margin-top:12px;padding:10px 12px;border-radius:9px;background:#dcfce7;color:#166534;font-size:13px;font-weight:600}
.reset-steps{margin:0;padding-left:18px;display:grid;gap:14px}
.reset-steps li strong{font-size:14px}
.reset-bad{color:#991b1b;font-size:12px;font-weight:700;background:#fef2f2;padding:8px 10px;border-radius:8px}
.reset-form{display:grid;gap:11px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.reset-danger-button{padding:13px;border:0;border-radius:10px;background:#dc2626;color:#fff;font-weight:800;font-size:15px;cursor:pointer}
.reset-danger-button:hover:not(:disabled){background:#b91c1c}
.reset-danger-button:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}
/* ===== Dashboard gerencial ===== */
.db-hero{display:flex;align-items:center;gap:16px;padding:22px 26px;border-radius:18px;background:linear-gradient(120deg,#0f172a,#1e3a5f);color:#fff;margin-bottom:16px}
.db-hero-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.12);font-size:24px;flex:none}
.db-hero-text{flex:1}.db-hero-text h1{margin:0;font-size:26px}
.db-hero-text p{margin:2px 0 0;color:#cbd5e1;font-size:13px}
.db-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.db-hero-actions .secondary-button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.db-filters{padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}
.db-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}
.db-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
.db-kpi{display:grid;gap:2px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;color:#15181d}
.db-kpi:hover{border-color:#1d4ed8;box-shadow:0 10px 26px rgba(15,23,42,.08)}
.db-kpi-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:19px;margin-bottom:6px}
.db-kpi-icon.is-blue{background:#dbeafe}.db-kpi-icon.is-green{background:#dcfce7}.db-kpi-icon.is-orange{background:#ffedd5}
.db-kpi-icon.is-emerald{background:#d1fae5}.db-kpi-icon.is-purple{background:#ede9fe}
.db-kpi-label{font-size:13px;color:#64748b;font-weight:600}
.db-kpi strong{font-size:28px;line-height:1.1}
.db-kpi small{color:#94a3b8;font-size:11px}
.db-trend{display:block;font-size:11px;font-weight:700;margin-top:4px;color:#94a3b8}
.db-trend.is-up{color:#16a34a}
.db-trend.is-down{color:#dc2626}
.db-trend.is-flat{color:#94a3b8}
.db-chip .db-trend{margin-top:2px}
.db-income{grid-column:span 2}
.db-income-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.db-income-head div{flex:1}.db-income-head small{display:block;color:#94a3b8;font-size:11px}
.db-income-head strong{font-size:20px}
.db-income-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.db-income-grid a{display:grid;gap:1px;padding:8px 6px;background:#f8fafc;border-radius:9px;text-align:center;color:#15181d}
.db-income-grid a:hover{background:#ede9fe}
.db-income-grid span{font-size:10px;color:#64748b}
.db-income-grid strong{font-size:12px}
.db-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}
.db-chip{display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;color:#15181d}
.db-chip:hover{border-color:#1d4ed8;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.db-chip div{display:grid;gap:0}
.db-chip span:not(.db-chip-icon){font-size:12px;color:#64748b;font-weight:600}
.db-chip strong{font-size:22px;line-height:1.15}
.db-chip small{font-size:11px;color:#94a3b8}
.db-chip-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:17px;color:#fff;flex:none}
.db-chip-icon.is-blue{background:#2563eb}.db-chip-icon.is-green{background:#16a34a}.db-chip-icon.is-orange{background:#f59e0b}
.db-chip-icon.is-red{background:#dc2626}.db-chip-icon.is-purple{background:#7c3aed}
.db-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}
.db-panel{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.db-panel h2{margin:0 0 12px;font-size:16px}
.db-sub{margin:14px 0 8px;font-size:13px;color:#64748b}
.db-table{width:100%;border-collapse:collapse;font-size:13px}
.db-table th{text-align:left;font-size:11px;color:#94a3b8;font-weight:700;padding:0 6px 8px}
.db-table td{padding:8px 6px;border-top:1px solid var(--line)}
.db-rank{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#1d4ed8;color:#fff;font-size:11px;font-weight:800;margin-right:6px}
.db-inline-bar{display:flex;align-items:center;gap:7px}
.db-bar{flex:1;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden;min-width:60px}
.db-bar i{display:block;height:100%;border-radius:999px}
.db-bar.is-green i{background:#16a34a}.db-bar.is-amber i{background:#f59e0b}.db-bar.is-red i{background:#dc2626}
.db-inline-bar b{font-size:11px;color:#64748b}
.db-list-head{display:flex;align-items:center;gap:7px;margin:14px 0 6px;font-size:13px;font-weight:700;color:#334155}
.db-list-head a{margin-left:auto;font-size:11px;color:#1d4ed8;font-weight:700}
.db-dot{width:8px;height:8px;border-radius:50%;flex:none}
.db-dot.is-green{background:#16a34a}.db-dot.is-amber{background:#f59e0b}.db-dot.is-red{background:#dc2626}
.db-row{display:flex;align-items:center;gap:8px;padding:7px 4px;border-top:1px solid var(--line);font-size:12px;color:#15181d}
.db-row:hover{background:#f8fafc}
.db-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db-row-who{color:#94a3b8;white-space:nowrap}
.db-row-when{color:#94a3b8;white-space:nowrap;min-width:48px;text-align:right}
.db-tag{font-size:10px;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
.db-tag.is-run{background:#dcfce7;color:#166534}
.db-tag.is-late{background:#fee2e2;color:#991b1b}
.db-panel-link{display:block;text-align:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:#1d4ed8}
.db-fin-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.db-fin-box{display:grid;gap:1px;padding:12px;background:#f8fafc;border-radius:11px;color:#15181d}
.db-fin-box:hover{background:#eef2ff}
.db-fin-box span{font-size:11px;color:#64748b;font-weight:600}
.db-fin-box strong{font-size:19px}
.db-fin-box small{font-size:10px;color:#94a3b8}
.db-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:end;height:150px;padding-top:8px}
.db-col{display:grid;align-content:end;justify-items:center;gap:4px;height:100%}
.db-col-val{font-size:9px;color:#64748b;font-weight:700}
.db-col-bar{width:100%;max-width:52px;background:linear-gradient(180deg,#60a5fa,#2563eb);border-radius:7px 7px 0 0;min-height:4px}
.db-col-label{font-size:10px;color:#94a3b8}
.db-service{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 4px;border-top:1px solid var(--line);color:#15181d}
.db-service:hover{background:#f8fafc}
.db-service strong{font-size:13px;display:block}
.db-service small{font-size:11px;color:#94a3b8}
@media(max-width:700px){.db-income{grid-column:span 1}.db-income-grid,.db-chart{grid-template-columns:repeat(2,1fr)}.db-fin-split{grid-template-columns:1fr}}
/* ===== Agendas de visita tecnica ===== */
.ag-hero{display:flex;align-items:center;gap:16px;padding:22px 26px;border-radius:18px;background:linear-gradient(120deg,#111827,#1e3a5f);color:#fff;margin-bottom:16px}
.ag-hero-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.12);font-size:24px;flex:none}
.ag-hero-text{flex:1}
.ag-hero-text h1{margin:0;font-size:24px}
.ag-hero-text p{margin:2px 0 0;color:#cbd5e1;font-size:13px}
.ag-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.ag-hero-actions .secondary-button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.ag-tabs-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:16px}
.ag-tabs{display:flex;gap:6px}
.ag-tab{display:flex;align-items:center;gap:7px;padding:12px 16px;color:#64748b;font-weight:700;font-size:14px;border-bottom:2px solid transparent}
.ag-tab:hover{color:#334155}
.ag-tab.active{color:#1d4ed8;border-bottom-color:#1d4ed8}
.ag-tabs-hint{margin:0;font-size:12px;color:#94a3b8}
.ag-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:16px}
.ag-kpi{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px}
.ag-kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;font-size:20px;flex:none}
.ag-kpi-icon.is-green{background:#dcfce7}.ag-kpi-icon.is-blue{background:#dbeafe}.ag-kpi-icon.is-purple{background:#ede9fe}
.ag-kpi div{display:grid;gap:1px}
.ag-kpi span:not(.ag-kpi-icon){font-size:13px;color:#64748b;font-weight:600}
.ag-kpi strong{font-size:26px;line-height:1.1}
.ag-kpi small{color:#94a3b8;font-size:11px}
.ag-filters{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}
.ag-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}
.ag-field{display:grid;gap:4px}
.ag-field>span{font-size:11px;color:#64748b;font-weight:700}
.ag-field-search{grid-column:span 2}
.ag-filter-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.ag-clear{color:#64748b;font-size:13px;font-weight:600;white-space:nowrap}
.ag-clear:hover{color:#dc2626}
.ag-split{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}
.ag-people{display:grid;gap:8px;position:sticky;top:12px}
.ag-person{display:flex;align-items:center;gap:11px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;color:#15181d}
.ag-person:hover{border-color:#1d4ed8;box-shadow:0 8px 20px rgba(29,78,216,.1)}
.ag-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dbeafe;color:#1e3a8a;font-weight:800;font-size:13px;flex:none}
.ag-avatar.sm{width:26px;height:26px;font-size:11px}
.ag-person-text{display:grid;gap:1px;flex:1;min-width:0}
.ag-person-text strong{font-size:14px}
.ag-person-text small{color:#94a3b8;font-size:11px}
.ag-person-count{justify-self:start;margin-top:3px;font-size:11px;font-weight:700;color:#1e3a8a;background:#dbeafe;border-radius:999px;padding:2px 9px}
.ag-person-count.is-risk{color:#991b1b;background:#fee2e2}
.ag-chevron{color:#cbd5e1;font-size:20px}
.ag-groups{display:grid;gap:20px}
.ag-group-head{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:15px}
.ag-group-head b{font-size:11px;background:#f1f5f9;color:#64748b;border-radius:999px;padding:2px 8px}
.ag-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.ag-card{display:grid;gap:7px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;color:#15181d;position:relative}
.ag-card:hover{border-color:#1d4ed8;box-shadow:0 12px 28px rgba(15,23,42,.1);transform:translateY(-2px)}
.ag-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ag-code{font-size:11px;font-weight:800;color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;letter-spacing:.03em}
.ag-status{font-size:11px;font-weight:700;border-radius:999px;padding:3px 10px}
.ag-status.is-active{background:#dcfce7;color:#166534}
.ag-status.is-planned{background:#fef3c7;color:#92400e}
.ag-status.is-running{background:#dbeafe;color:#1e40af}
.ag-status.is-closed{background:#f1f5f9;color:#64748b}
.ag-card-title{font-size:15px;line-height:1.3}
.ag-card-meta{display:grid;gap:3px;font-size:12px;color:#64748b}
.ag-card-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:#64748b}
.ag-stats{font-weight:600}
.ag-bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.ag-bar>span{display:block;height:100%;border-radius:999px;background:var(--gold)}
.ag-bar.health-ok>span{background:#16a34a}
.ag-bar.health-watch>span{background:#f59e0b}
.ag-bar.health-risk>span{background:#f97316}
.ag-bar.health-late>span{background:#dc2626}
.ag-health{font-size:11px;font-weight:700}
.ag-health.health-ok{color:#166534}
.ag-health.health-watch{color:#92400e}
.ag-health.health-risk{color:#c2410c}
.ag-health.health-late{color:#991b1b}
.ag-health.health-sin{color:#94a3b8}
.ag-empty{display:grid;gap:4px;padding:36px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:14px;color:#64748b}
@media(max-width:900px){.ag-split{grid-template-columns:1fr}.ag-people{position:static;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.ag-field-search{grid-column:span 1}}
/* Calendario mensual del tecnico */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow{text-align:center;font-size:11px;font-weight:800;color:#94a3b8;padding-bottom:4px}
.cal-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:9px;background:#f1f5f9;color:#334155;font-size:13px;font-weight:600}
.cal-cell.is-empty{background:transparent}
.cal-cell.is-today{outline:2px solid var(--gold);outline-offset:-2px}
.cal-cell.has-tasks{background:#dbeafe;color:#1e3a8a}
.cal-cell.has-late{background:#fee2e2;color:#991b1b}
.cal-cell.has-done{background:#dcfce7;color:#166534}
.cal-badge{position:absolute;top:2px;right:3px;font-size:9px;font-weight:800;background:#0f172a;color:#fff;border-radius:999px;min-width:14px;height:14px;display:grid;place-items:center;padding:0 3px}
.agenda-slider{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:8px}
.agenda-range{flex:1;text-align:center;text-transform:capitalize;color:#334155}
.cmt-staff{border-left:4px solid #16a34a}
.field-loc{display:block;color:#475569;font-weight:600;margin-top:2px}
/* Subir foto en un toque (usuarios mayores) */
.photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.photo-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;font-size:17px;font-weight:700;color:#fff;background:#1d4ed8;border-radius:14px;cursor:pointer;text-align:center}
.photo-btn:active{background:#1e40af}
.photo-state{display:block;text-align:center;color:#2563eb;font-weight:700;margin-top:6px}
@media(max-width:420px){.field-actions{grid-template-columns:repeat(2,1fr)}}
/* Barra inferior tipo app (tecnico) */
.field-bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,1fr);background:#111827;border-top:1px solid #1f2937;box-shadow:0 -6px 18px rgba(0,0,0,.25)}
.field-bottomnav a{display:grid;justify-items:center;gap:2px;padding:9px 2px;color:#cbd5e1;font-size:11px;font-weight:700}
.field-bottomnav a span{font-size:19px;line-height:1}
.field-bottomnav a.active{color:var(--gold)}
.field-bottomnav a:hover{color:#fff}
body.tecnico .page-wrap{padding-bottom:86px}
/* La app tecnico es una columna para telefono: nunca debe permitir scroll horizontal.
   El scroll del viewport lo controla <html> (no <body>), asi que se recorta ahi con :has,
   a cualquier ancho y sin afectar paginas de escritorio con tablas anchas.
   Se usa overflow-x:clip (no hidden) para NO romper el position:sticky del header. */
html:has(body.tecnico){overflow-x:clip}
body.tecnico{overflow-x:clip;max-width:100%}
.tecnico-tag{color:#9ca3af;font-size:12px;font-weight:700;align-self:center}
.field-back{color:#fff;border:1px solid #374151;border-radius:9px;padding:8px 12px;background:#1f2937;font-weight:700;white-space:nowrap}
.field-form{display:grid;gap:11px}
.field-form input,.field-form select,.field-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff;color:var(--ink);font:inherit}
/* Header tecnico compacto: evita el desborde de "Salir" en movil */
body.tecnico .app-shell{gap:10px}
@media(max-width:560px){
  body.tecnico .tecnico-tag{display:none}
  body.tecnico .user-meta{display:none}
  body.tecnico .user-pill{gap:6px}
}
/* Tablero Trello */
.kanban-col h2{display:flex;justify-content:space-between;align-items:center;font-size:15px;margin:0 0 10px}
.col-count{background:#e2e8f0;color:#475569;border-radius:999px;padding:1px 9px;font-size:12px}
.kanban-drop{min-height:60px;display:flex;flex-direction:column;gap:10px;border-radius:8px;padding:2px;transition:background .15s}
.kanban-drop.drag-over{background:rgba(230,176,39,.14);outline:2px dashed var(--gold)}
.task-card{cursor:pointer;border-left:4px solid var(--gold)}
.task-card.dragging{opacity:.5}
.task-card .task-meta{color:#64748b;font-size:12px}
/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:grid;place-items:center;z-index:60;padding:18px}
.modal-overlay[hidden]{display:none}
.modal{position:relative;width:min(820px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.modal h2{margin:0 6px 4px 0}
.modal h3{font-size:14px;margin:0 0 8px;color:#475569}
.modal-close{position:absolute;top:14px;right:14px;border:1px solid var(--line);background:#fff;border-radius:8px;width:34px;height:34px;cursor:pointer;font-size:15px}
.comment-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}
.comment{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#f8fafc}
.comment small{color:#94a3b8;margin-left:6px}

/* Modal unificado de tareas */
.task-modal-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(8px);
}
.task-modal-overlay[hidden]{display:none}
.task-modal{
  position:relative;
  width:min(1320px,calc(100vw - 48px));
  max-height:92vh;
  overflow:auto;
  border:1px solid #d7e1ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 30px 90px rgba(15,23,42,.32);
  padding:30px;
  color:#071936;
}
.task-modal-close{
  position:absolute;
  right:22px;
  top:22px;
  width:42px;
  height:42px;
  border:1px solid #d7e1ef;
  border-radius:10px;
  background:#fff;
  color:#071936;
  cursor:pointer;
  font-size:28px;
  line-height:1;
}
.task-modal-head{display:flex;gap:24px;align-items:center;margin-bottom:24px}
.task-modal-icon{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eef4ff;
  color:#2563eb;
  font-size:42px;
}
.task-modal h2{font-size:42px;line-height:1.05;margin:0 0 12px;color:#071936}
.task-modal-badges{display:flex;gap:10px;flex-wrap:wrap}
.task-modal-badges span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  border-radius:8px;
  padding:0 13px;
  background:#eef4ff;
  color:#1f3154;
  font-weight:700;
}
.task-modal-badges span:nth-child(2){background:#fff4e8;color:#ea580c}
.task-modal-badges span:nth-child(5){background:#eef2f7;color:#334155}
.task-modal-desc{
  display:flex;
  gap:20px;
  align-items:center;
  border:1px solid #d7e1ef;
  border-radius:12px;
  padding:22px;
  margin-bottom:22px;
  background:#fff;
}
.task-modal-doc{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border:2px dashed #9fb0c9;
  border-radius:12px;
  color:#64748b;
  font-size:26px;
}
.task-modal-desc strong{font-size:18px}
.task-modal-desc p{margin:8px 0 0;color:#667797}
.task-modal-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.9fr);gap:18px}
.task-modal-left{display:grid;gap:18px}
.task-modal-panel{
  border:1px solid #d7e1ef;
  border-radius:12px;
  padding:22px;
  background:#fff;
}
.task-panel-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.task-panel-title>span{font-size:27px;color:#0b2a5b}
.task-panel-title h3{font-size:21px;margin:0 0 4px;color:#071936}
.task-panel-title p{margin:0;color:#667797}
.task-participants{display:grid;gap:10px;margin-bottom:14px}
.task-person{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid #d7e1ef;
  border-radius:10px;
  padding:14px 16px;
}
.task-person>span{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dbeafe;
  color:#0f3f98;
  font-weight:900;
}
.task-person strong{display:block}
.task-person small{color:#667797}
.task-inline-form{display:flex;gap:10px;align-items:center}
.task-inline-form select{min-width:0;flex:1}
.task-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.task-plan-grid label{display:grid;gap:8px;color:#223555;font-weight:700}
.task-plan-grid input,.task-plan-grid select,.task-inline-form select,.task-comment-form textarea{
  width:100%;
  border:1px solid #d7e1ef;
  border-radius:9px;
  background:#fff;
  color:#071936;
  font:inherit;
  padding:12px 14px;
}
.task-plan-grid button{grid-column:1 / 3;min-height:54px}
.task-reminder-form{margin-top:12px}
.task-reminder-form button{min-height:54px}
.danger-soft{background:#fff7ed!important;color:#ea580c!important;border-color:#fed7aa!important}
.task-comments-panel{display:flex;flex-direction:column;min-height:100%}
.task-comments{display:flex;flex-direction:column;gap:10px;min-height:260px;margin-bottom:14px}
.task-comment{
  border:1px solid #d7e1ef;
  border-radius:10px;
  padding:12px 14px;
  background:#f8fafc;
}
.task-comment strong{display:inline-block;margin-right:8px}
.task-comment small{color:#667797}
.task-comment p{margin:8px 0 0}
.task-empty-comment{
  min-height:240px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  color:#526480;
  text-align:center;
}
.task-empty-comment span{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef2f7;
  font-size:38px;
}
.task-empty-comment strong{color:#071936}
.task-empty-comment p{max-width:300px;margin:0;line-height:1.45}
.task-comment-form{display:grid;gap:12px;margin-top:auto}
.task-comment-form textarea{min-height:170px;resize:vertical}
.task-comment-form button{justify-self:end;min-width:150px;min-height:50px}
.task-link-button{
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
@media(max-width:980px){
  .task-modal{padding:20px}
  .task-modal h2{font-size:30px}
  .task-modal-head{align-items:flex-start}
  .task-modal-grid,.task-plan-grid{grid-template-columns:1fr}
  .task-plan-grid button{grid-column:auto}
}
@media(max-width:620px){
  .task-modal-overlay{padding:10px;place-items:start center}
  .task-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:16px;border-radius:12px}
  .task-modal-close{right:12px;top:12px}
  .task-modal-head{gap:12px}
  .task-modal-icon{width:64px;height:64px;font-size:30px}
  .task-modal h2{font-size:25px}
  .task-modal-desc{padding:14px;align-items:flex-start}
  .task-inline-form{display:grid}
}

/* ===== Claridad operativa / pantallas ejecutivas ===== */
.explainer-panel{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;background:#f8fafc;border-left:4px solid var(--gold)}
.explainer-panel strong{display:block;color:var(--ink-900);margin-bottom:4px}
.explainer-panel p{margin:0;color:#475569;line-height:1.45}
.explainer-panel>div{min-width:0;flex:1}
.danger-action{border-color:#fecaca!important;color:#991b1b!important;background:#fff5f5!important}
.danger-action:hover{background:#fee2e2!important}
.module-note{margin-bottom:16px}
.overdue-panel{border-color:#fecaca;background:#fffafa}
.overdue-list{display:grid;gap:8px}
.overdue-list .service-line{color:inherit;text-decoration:none}
.agenda-page{width:100%;max-width:100%;display:grid;gap:16px;min-width:0}
.wide-page{width:100%;max-width:100%;min-width:0}
.wide-page .task-table th,.wide-page .task-table td{white-space:normal;vertical-align:top}
.wide-page .task-table td:first-child{min-width:170px}
@media(max-width:900px){.wide-page{width:calc(100vw - 20px)}}
.gp{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.gp-inner{min-width:max(100%,calc(var(--days)*150px + 240px))}
.gp-head{display:grid;grid-template-columns:240px 1fr;position:sticky;top:0;z-index:3}
.gp-corner{background:#0f172a;color:#fff;padding:12px;font-weight:700;position:sticky;left:0;z-index:4;border-top-left-radius:12px}
.gp-scale{position:relative;height:46px;background:#0f172a}
.gp-col{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-left:1px solid rgba(255,255,255,.08)}
.gp-col .pd-dow{font-size:11px;text-transform:capitalize;color:#94a3b8}
.gp-col .pd-num{font-size:16px}
.gp-col.is-today{background:#1d4ed8}
.gp-row{display:grid;grid-template-columns:240px 1fr;border-top:1px solid var(--line)}
.gp-person{position:sticky;left:0;z-index:2;background:#fff;display:flex;align-items:center;gap:10px;padding:12px;border-right:1px solid var(--line)}
.gp-track{position:relative;background:#fbfdff;padding:5px 0}
.gp-sep{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}
.gp-sep.today{background:#93c5fd;width:2px}
.gp-card{position:absolute;margin:0;min-height:90px;overflow:hidden;border-left-color:var(--person,var(--gold))}
.gp-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-avatar{background:var(--person)!important;color:#fff!important}
.agenda-detail-gantt .gp-card{min-height:72px}
.agenda-detail-gantt .gp-track{background:#fbfdff}
.agenda-gantt-hint{text-align:center;margin:14px 0 0;color:#7b8aa6}
.agenda-head{margin-bottom:0}
.agenda-head .head-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.agenda-metrics{margin:0}
.agenda-help{display:grid;grid-template-columns:1fr 1fr}
.agenda-wide-wrap{width:100%}
.agenda-page .metric-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.agenda-page .metric,.agenda-page .panel,.agenda-page .section-head{min-width:0}
.agenda-page .section-head{overflow:visible}
.agenda-page .section-head p,.agenda-page .panel p{overflow-wrap:anywhere}
.agenda-toolbar{max-width:100%;overflow:visible}
.agenda-toolbar .nav-filter{width:100%;display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}
.agenda-toolbar .nav-filter .toolbar-filter,.agenda-toolbar .nav-filter .toolbar-search{width:100%;min-width:0}
.agenda-list-filter{width:100%;flex-wrap:wrap}
.agenda-list-filter .toolbar-search{min-width:220px;flex:1 1 260px}
.agenda-list-filter .toolbar-filter{flex:1 1 210px;min-width:180px}
@media(max-width:1200px){.agenda-page .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-toolbar .nav-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.agenda-page .metric-row,.agenda-toolbar .nav-filter{grid-template-columns:1fr}.agenda-head .head-actions{justify-content:flex-start}}

.search-select{position:relative;display:block;min-width:0}
.nav-filter .search-select,.toolbar .search-select{flex:1 1 210px}
.form-grid .search-select,.form-grid-3 .search-select,.tech-form .search-select,.docs-field .search-select{width:100%}
.search-select select{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.search-select-input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:#071936;padding:12px 38px 12px 13px;font:inherit;min-height:42px}
.search-select:after{content:"⌄";position:absolute;right:13px;top:10px;color:#475569;pointer-events:none}
.search-select-menu{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.18);display:none}
.search-select.open .search-select-menu{display:block}
.search-select-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;color:#071936;cursor:pointer}
.search-select-option:hover,.search-select-option.active{background:#eff6ff}
.search-select-empty{padding:10px 12px;color:#64748b}
.plan-card{color:inherit;text-decoration:none;text-align:left;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}
.plan-card.late{border-left-color:#dc2626;background:#fff1f2;box-shadow:0 4px 14px rgba(220,38,38,.14)}
.plan-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.12)}
@media(min-width:1300px){.agenda-page .planner{grid-template-columns:260px repeat(var(--days),minmax(170px,1fr));width:100%}.agenda-page .planner-wrap{overflow-x:auto}}
@media(max-width:900px){.explainer-panel,.agenda-help{display:grid;grid-template-columns:1fr}.agenda-page{width:calc(100vw - 20px)}}
.signature-flow{border-left:4px solid var(--gold);background:#fffdf6}
.signature-flow .form-intro{margin-bottom:12px}
.signature-flow .form-intro h2{margin:0 0 4px}
.signature-flow input[type=file]{padding:10px;background:#fff;border:1px dashed #cbd5e1;border-radius:8px}

/* ===== Home ERP fiel a mockup operativo ===== */
body.erp-body{
  --navy:#07162b;
  --navy-2:#0b203d;
  --blue:#0a63ff;
  --green:#10b981;
  --orange:#f59e0b;
  --purple:#6d28d9;
  --red:#ef1d1d;
  --soft-line:#dce4ef;
  background:
    radial-gradient(circle at 16% 6%,rgba(89,151,255,.13),transparent 24%),
    radial-gradient(circle at 82% 28%,rgba(111,76,255,.12),transparent 28%),
    linear-gradient(180deg,#f7fbff 0,#eef4fa 58%,#f8fbff 100%);
}
body.erp-body .app-shell{
  min-height:88px;
  padding:18px 23px;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:28px;
  background:linear-gradient(180deg,#07152a 0,#061226 100%);
  border-bottom:0;
  box-shadow:0 10px 30px rgba(7,18,38,.18);
}
body.erp-body .brand{
  height:42px;
  padding:5px 13px 5px 8px;
  border-radius:7px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
body.erp-body .brand-logo{height:27px}
body.erp-body .brand-tag{
  font-size:13px;
  letter-spacing:.12em;
  border-left:2px solid var(--gold);
  color:#111827;
}
body.erp-body .top-nav{justify-content:flex-start;align-items:center;gap:5px;min-width:0}
body.erp-body .top-nav .nav-link,
body.erp-body .top-nav .nav-trigger{
  min-height:45px;
  padding:0 10px;
  border:0;
  border-radius:5px;
  color:#f5f7fb;
  font-size:14px;
  background:transparent;
  box-shadow:none;
}
body.erp-body .top-nav .nav-link.active,
body.erp-body .nav-item.active>.nav-trigger{
  background:rgba(255,255,255,.035);
  color:#fff;
  box-shadow:inset 0 -3px 0 var(--gold);
}
body.erp-body .top-nav .nav-link.active .nav-ic,
body.erp-body .nav-item.active>.nav-trigger .nav-ic{color:var(--gold)}
body.erp-body .top-nav .nav-link:hover,
body.erp-body .nav-item:hover>.nav-trigger{
  background:rgba(255,255,255,.08);
  color:#fff;
}
body.erp-body .nav-ic{width:18px;height:18px;stroke-width:2}
body.erp-body .nav-menu{
  top:calc(100% + 12px);
  background:#07162b;
  border-color:rgba(255,255,255,.1);
  border-radius:8px;
}
body.erp-body .user-pill{gap:12px;white-space:nowrap}
.utility-icons{display:flex;align-items:center;gap:9px}
.utility-btn{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  color:#fff;
  background:transparent;
  cursor:pointer;
}
.utility-btn:hover{background:rgba(255,255,255,.1)}
.utility-btn .nav-ic{width:23px;height:23px}
body.erp-body .notif-wrap>summary{
  width:38px;
  height:38px;
  border-radius:9px;
}
body.erp-body .notif-badge{
  top:0;
  right:0;
  min-width:20px;
  height:20px;
  font-size:11px;
  background:#ff2a2a;
  box-shadow:0 0 0 2px #07162b;
}
.moon-btn .nav-ic{color:#dfe9ff}
.avatar-ring{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:3px solid var(--gold);
  border-radius:50%;
  color:var(--gold);
}
.avatar-ring .nav-ic{width:23px;height:23px}
body.erp-body .user-meta strong{font-size:14px;color:#fff}
body.erp-body .user-meta small{font-size:12px;color:#b8c4d7}
body.erp-body .user-pill form button{
  min-height:42px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  color:#fff;
  background:rgba(255,255,255,.06);
}
body.erp-body .page-wrap{
  width:min(1450px,calc(100% - 56px));
  padding:29px 0 54px;
}
.erp-hero{
  position:relative;
  min-height:204px;
  overflow:hidden;
  align-items:center;
  padding:38px 44px;
  border:1px solid #d8e1ee;
  border-radius:11px;
  background:
    radial-gradient(circle at 73% 64%,rgba(124,92,255,.23),transparent 32%),
    radial-gradient(circle at 67% 86%,rgba(42,189,222,.15),transparent 28%),
    linear-gradient(100deg,#ffffff 0,#f9fbff 45%,#eef4ff 100%);
  box-shadow:0 10px 30px rgba(34,54,84,.06);
}
.erp-hero:before{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-128px;
  width:650px;
  height:310px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50% 50% 0 0;
  transform:rotate(-8deg);
  box-shadow:-92px -15px 0 -90px rgba(255,255,255,.95),-175px -29px 0 -172px rgba(255,255,255,.86);
}
.erp-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 71% 28%,rgba(255,255,255,.95) 0 4px,transparent 5px),
    radial-gradient(circle at 63% 43%,rgba(255,255,255,.95) 0 4px,transparent 5px),
    radial-gradient(circle at 94% 24%,rgba(255,255,255,.95) 0 4px,transparent 5px);
  pointer-events:none;
}
.erp-hero>*{position:relative;z-index:1}
.erp-hero .eyebrow{
  margin:0 0 14px;
  color:#4338ff!important;
  letter-spacing:.1em;
  font-size:14px;
  font-weight:900;
}
.erp-hero h1{
  max-width:830px;
  color:#071936;
  font-size:clamp(38px,4.1vw,55px);
  font-weight:900;
  line-height:1.04;
}
.erp-hero p:not(.eyebrow){
  margin-top:19px;
  color:#52627c;
  font-size:17px;
}
.command-stack{align-items:center}
.hero-action{
  gap:10px;
  min-width:139px;
  min-height:49px;
  border-radius:7px;
  font-size:14px;
  box-shadow:0 8px 22px rgba(18,24,75,.18);
}
.hero-action svg,.quick-card svg,.erp-metric svg,.erp-module-card svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-action.primary-button{
  background:linear-gradient(100deg,#33218b 0,#071936 100%);
}
.hero-action.secondary-button{
  border:0;
  background:#fff;
  color:#17213a;
}
.executive-row{
  gap:20px;
  margin:25px 0 22px;
}
.erp-metric{
  position:relative;
  min-height:153px;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:23px;
  align-items:center;
  padding:27px 24px;
  border:1px solid #dce4ef;
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
  overflow:hidden;
}
.erp-metric:before{
  content:"";
  position:absolute;
  top:0;
  left:16px;
  width:98px;
  height:3px;
  border-radius:999px;
  background:var(--tone,#2563eb);
}
.erp-metric.danger{--tone:#ff1b1b}
.erp-metric.success{--tone:#10b981}
.erp-metric.info{--tone:#0a63ff}
.erp-metric.warning{--tone:#f59e0b}
.erp-tile-icon{
  width:73px;
  height:73px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--tone);
  background:color-mix(in srgb,var(--tone),white 88%);
  box-shadow:0 10px 24px color-mix(in srgb,var(--tone),transparent 82%);
}
.erp-metric span:not(.erp-tile-icon){
  color:#405174;
  font-size:16px;
  font-weight:600;
}
.erp-metric strong{
  margin:8px 0 4px;
  color:var(--tone);
  font-size:38px;
  line-height:1;
}
.erp-metric small{
  color:#344665;
  font-size:14px;
}
.quick-actions{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin:0 0 29px;
}
.quick-actions .quick-card{
  min-height:93px;
  display:grid;
  grid-template-columns:56px 1fr auto;
  align-items:center;
  gap:17px;
  padding:18px 22px;
  border:1px solid #dce4ef;
  border-radius:8px;
  background:#fff;
  color:#071936;
  box-shadow:0 10px 24px rgba(23,38,61,.06);
}
.quick-card .quick-icon{
  width:55px;
  height:55px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:var(--qa);
  background:color-mix(in srgb,var(--qa),white 86%);
}
.quick-card.violet{--qa:#6d28d9}
.quick-card.blue{--qa:#0a63ff}
.quick-card.green{--qa:#0f9f7b}
.quick-card.amber{--qa:#f28c0c}
.quick-card strong{
  display:block;
  margin:0 0 7px;
  font-size:17px;
}
.quick-card small{
  display:block;
  color:#334665;
  font-size:14px;
}
.quick-card b{
  color:#1e355b;
  font-size:34px;
  line-height:1;
}
.module-grid.centered{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.erp-module-card{
  position:relative;
  min-height:183px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:19px;
  align-items:start;
  padding:31px 24px 22px;
  border:1px solid #dce4ef;
  border-top:1px solid #dce4ef;
  border-radius:8px;
  background:#fff;
  color:#071936;
  overflow:hidden;
  box-shadow:0 13px 28px rgba(23,38,61,.07);
}
.erp-module-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(23,38,61,.11)}
.erp-module-card .module-icon{
  width:67px;
  height:67px;
  border-radius:10px;
  color:var(--accent);
  background:color-mix(in srgb,var(--accent),white 86%);
  box-shadow:0 10px 22px color-mix(in srgb,var(--accent),transparent 85%);
}
.erp-module-card .module-icon svg{width:38px;height:38px}
.erp-module-card small{
  margin:2px 0 11px;
  color:var(--accent);
  font-size:14px;
  font-weight:800;
}
.erp-module-card strong{
  margin:0 0 16px;
  font-size:23px;
  line-height:1.1;
}
.erp-module-card p{
  max-width:355px;
  margin:0;
  color:#334665;
  font-size:15px;
  line-height:1.55;
}
.module-watermark{
  position:absolute;
  right:27px;
  bottom:29px;
  width:100px!important;
  height:100px!important;
  color:var(--accent);
  opacity:.13;
  stroke-width:1.15!important;
}
.module-arrow{
  position:absolute;
  right:24px;
  bottom:24px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-size:24px;
  line-height:1;
  box-shadow:0 8px 18px color-mix(in srgb,var(--accent),transparent 75%);
}
@media(min-width:1051px){
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{font-size:14px;padding:0 9px}
}
@media(max-width:1250px){
  body.erp-body .app-shell{gap:14px}
  .utility-icons,.moon-btn{display:none}
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{font-size:13px;padding:0 7px}
}
@media(max-width:1360px){
  body.erp-body .nav-toggle{display:inline-flex;justify-content:center;align-items:center;justify-self:start;width:54px;height:42px}
  body.erp-body .app-shell{grid-template-columns:auto 1fr auto}
  body.erp-body .top-nav{
    display:none;
    order:4;
    grid-column:1 / -1;
    width:100%;
    align-items:stretch;
    overflow:visible;
    padding-bottom:0;
  }
  body.erp-body .top-nav.open{display:flex}
  body.erp-body .nav-item{width:100%}
  body.erp-body .nav-menu{position:static;display:flex;box-shadow:none;border:0;background:transparent;padding:2px 0 8px 18px;min-width:auto}
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{width:100%;justify-content:space-between}
}
@media(max-width:1050px){
  body.erp-body .app-shell{grid-template-columns:auto 1fr auto}
  body.erp-body .top-nav{align-items:stretch}
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{justify-content:space-between}
  body.erp-body .page-wrap{width:min(100% - 28px,1450px)}
  .erp-hero{align-items:flex-start;flex-direction:column;padding:30px}
  .executive-row,.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-grid.centered{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  body.erp-body .brand-logo{height:22px}
  body.erp-body .user-meta,.avatar-ring{display:none}
  .erp-hero h1{font-size:35px}
  .executive-row,.quick-actions,.module-grid.centered{grid-template-columns:1fr}
  .erp-metric{min-height:128px}
  .erp-module-card{min-height:165px}
}

/* ===== Correcciones responsive + iconografia home ===== */
body.erp-body .app-shell{
  grid-template-columns:auto minmax(0,1fr) max-content;
}
body.erp-body .brand{
  flex:0 0 auto;
  max-width:250px;
  overflow:hidden;
}
body.erp-body .brand-logo{
  width:190px;
  max-width:190px;
  height:auto;
  object-fit:contain;
}
body.erp-body .brand-tag{
  flex:none;
  white-space:nowrap;
}
body.erp-body .top-nav{
  min-width:0;
  overflow:visible;
}
body.erp-body .top-nav .nav-link,
body.erp-body .top-nav .nav-trigger{
  white-space:nowrap;
}
body.erp-body .user-pill{
  min-width:0;
}
.erp-tile-icon svg{
  width:38px!important;
  height:38px!important;
  stroke-width:2.8!important;
}
.quick-card svg{
  width:30px!important;
  height:30px!important;
  stroke-width:2.45!important;
}
.erp-module-card .module-icon svg{
  stroke-width:2.35!important;
}
.erp-metric.danger .erp-tile-icon{background:#ffe1e1;color:#e20d0d}
.erp-metric.success .erp-tile-icon{background:#dff8ec;color:#08956f}
.erp-metric.info .erp-tile-icon{background:#e2edff;color:#0968e8}
.erp-metric.warning .erp-tile-icon{background:#fff0db;color:#df7c00}
.erp-metric .erp-tile-icon{
  box-shadow:0 12px 24px color-mix(in srgb,var(--tone),transparent 84%);
}

@media(min-width:1361px) and (max-width:1910px){
  body.erp-body .app-shell{
    gap:16px;
    padding-left:16px;
    padding-right:16px;
  }
  body.erp-body .brand{max-width:230px}
  body.erp-body .brand-logo{width:170px;max-width:170px}
  body.erp-body .top-nav{gap:1px}
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{
    padding:0 7px;
    font-size:13px;
    gap:5px;
  }
  body.erp-body .top-nav .nav-ic{width:16px;height:16px}
  body.erp-body .utility-icons{display:none}
  body.erp-body .user-pill{gap:7px}
  body.erp-body .notif-wrap>summary,
  .utility-btn{
    width:34px;
    height:34px;
  }
  .avatar-ring{
    width:36px;
    height:36px;
    border-width:2px;
  }
  body.erp-body .user-meta strong{font-size:13px}
  body.erp-body .user-meta small{font-size:11px}
  body.erp-body .user-pill form button{
    min-height:38px;
    padding:0 13px;
  }
}

@media(max-width:1360px){
  body.erp-body .app-shell{
    grid-template-columns:auto auto 1fr;
    gap:12px;
    align-items:center;
  }
  body.erp-body .brand{max-width:250px}
  body.erp-body .nav-toggle{
    order:2;
    width:46px;
    height:42px;
    justify-self:start;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.06);
  }
  body.erp-body .user-pill{
    order:3;
    justify-self:end;
  }
  body.erp-body .top-nav{
    order:4;
    grid-column:1 / -1;
    margin-top:8px;
    padding:10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:#07162b;
    box-shadow:0 18px 40px rgba(0,0,0,.28);
  }
  body.erp-body .top-nav.open{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{
    min-height:48px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    border-radius:9px;
  }
  body.erp-body .nav-menu{
    grid-column:1 / -1;
    margin-top:6px;
    padding:7px;
    background:rgba(255,255,255,.035);
    border-radius:9px;
  }
  body.erp-body .nav-menu a{
    min-height:42px;
    border-radius:8px;
  }
}

@media(max-width:820px){
  body.erp-body .app-shell{
    grid-template-columns:1fr auto;
    padding:12px;
    gap:10px;
  }
  body.erp-body .brand{
    max-width:218px;
    height:39px;
  }
  body.erp-body .brand-logo{
    width:158px;
    max-width:158px;
  }
  body.erp-body .brand-tag{
    font-size:11px;
    padding-left:6px;
  }
  body.erp-body .nav-toggle{
    order:2;
    justify-self:end;
  }
  body.erp-body .user-pill{
    order:3;
    grid-column:1 / -1;
    justify-self:stretch;
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    width:100%;
  }
  body.erp-body .topbar-icons{
    justify-content:start;
    min-width:0;
  }
  body.erp-body .notif-wrap>summary,
  .utility-btn{
    width:36px;
    height:36px;
  }
  body.erp-body .user-pill form{
    justify-self:end;
  }
  body.erp-body .user-pill form button{
    min-height:36px;
    padding:0 14px;
  }
  .moon-btn,.avatar-ring,body.erp-body .user-meta{display:none}
  body.erp-body .top-nav{
    order:4;
  }
  body.erp-body .top-nav.open{
    grid-template-columns:1fr;
  }
  body.erp-body .nav-menu{
    display:none;
    padding-left:8px;
  }
  body.erp-body .nav-item.open>.nav-menu{
    display:grid;
    gap:5px;
  }
  body.erp-body .nav-item:not(.open)>.nav-menu{
    display:none!important;
  }
}

@media(max-width:520px){
  body.erp-body .page-wrap{
    width:calc(100% - 20px);
    padding-top:18px;
  }
  body.erp-body .brand{
    max-width:196px;
    padding-right:8px;
  }
  body.erp-body .brand-logo{
    width:142px;
    max-width:142px;
  }
  body.erp-body .brand-tag{font-size:10px}
  .erp-hero{
    min-height:auto;
    padding:24px 20px;
  }
  .erp-hero h1{
    font-size:32px;
  }
  .erp-hero p:not(.eyebrow){
    font-size:15px;
  }
  .command-stack{
    width:100%;
  }
  .hero-action{
    width:100%;
  }
  .erp-metric{
    grid-template-columns:64px 1fr;
    gap:16px;
    padding:22px 18px;
  }
  .erp-tile-icon{
    width:64px;
    height:64px;
  }
  .erp-tile-icon svg{
    width:34px!important;
    height:34px!important;
  }
  .quick-actions .quick-card{
    grid-template-columns:52px 1fr auto;
    padding:16px;
  }
  .erp-module-card{
    grid-template-columns:62px minmax(0,1fr);
    padding:24px 18px;
  }
}

/* ===== Solicitudes de firma / Documents ===== */
.docs-page{
  display:grid;
  gap:14px;
  width:min(1800px,100%);
  margin:0 auto;
}
.docs-page svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.docs-hero{
  position:relative;
  min-height:180px;
  display:grid;
  grid-template-columns:118px minmax(0,1fr) 430px;
  gap:30px;
  align-items:center;
  overflow:hidden;
  padding:31px 38px 31px 23px;
  border-bottom:1px solid #dbe4f0;
  background:
    radial-gradient(circle at 82% 42%,rgba(102,75,255,.18),transparent 22%),
    radial-gradient(circle at 69% 86%,rgba(24,173,211,.13),transparent 23%),
    linear-gradient(100deg,#ffffff 0,#f7fbff 54%,#eef4ff 100%);
}
.docs-hero:before{
  content:"";
  position:absolute;
  right:215px;
  bottom:-118px;
  width:550px;
  height:255px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50% 50% 0 0;
  transform:rotate(-6deg);
}
.docs-hero-icon{
  position:relative;
  z-index:1;
  width:101px;
  height:101px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(145deg,#6f38ff,#3515d6);
  box-shadow:0 16px 30px rgba(75,45,222,.3);
}
.docs-hero-icon svg{width:62px;height:62px;stroke-width:2}
.docs-hero-copy{position:relative;z-index:1}
.docs-hero-copy h1{
  margin:0;
  color:#071936;
  font-size:clamp(42px,4vw,58px);
  line-height:1;
  font-weight:900;
}
.docs-hero-copy p{
  margin:17px 0 0;
  color:#52627c;
  font-size:22px;
}
.docs-hero-art{
  position:relative;
  z-index:1;
  height:150px;
}
.paper-art{
  position:absolute;
  right:172px;
  top:0;
  width:134px;
  height:154px;
  border-radius:9px;
  background:#fff;
  box-shadow:0 18px 38px rgba(40,49,98,.13);
}
.paper-art:after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:42px;
  height:42px;
  border-radius:0 9px 0 8px;
  background:#edf2ff;
  clip-path:polygon(0 0,100% 100%,100% 0);
}
.paper-art span{
  position:absolute;
  left:21px;
  width:74px;
  height:6px;
  border-radius:999px;
  background:#c9d3e8;
}
.paper-art span:nth-child(1){top:30px}
.paper-art span:nth-child(2){top:52px;width:95px}
.paper-art span:nth-child(3){top:74px;width:88px}
.paper-art svg{
  position:absolute;
  left:16px;
  bottom:24px;
  width:102px;
  height:58px;
  color:#6032e7;
  stroke-width:5;
}
.pen-art{
  position:absolute;
  right:70px;
  top:30px;
  width:118px!important;
  height:118px!important;
  color:#572bdd;
  filter:drop-shadow(0 14px 18px rgba(62,43,174,.25));
}
.plane-art{
  position:absolute;
  right:0;
  top:8px;
  width:84px!important;
  height:70px!important;
  color:#6e55ff;
}
.docs-notice{margin:0}
.docs-sign-form{
  display:grid;
  grid-template-columns:1.05fr .95fr 1.55fr;
  gap:16px;
  align-items:stretch;
  padding:0 7px;
}
.docs-step{
  min-width:0;
  padding:27px 25px 21px;
  border:1px solid #dce4ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.docs-step header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
  color:#4b22df;
}
.step-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:none;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#6d38ff,#3515d6);
  font-size:20px;
  font-weight:900;
  box-shadow:0 10px 20px rgba(64,36,209,.25);
}
.docs-step header h2{
  margin:0;
  color:#071936;
  font-size:21px;
}
.docs-field{
  display:grid;
  gap:10px;
  margin-bottom:20px;
  color:#071936;
  font-weight:800;
}
.docs-field input,
.docs-field select,
.docs-field textarea{
  width:100%;
  min-height:54px;
  border:1px solid #ccd6e4;
  border-radius:8px;
  padding:0 16px;
  color:#071936;
  background:#fff;
  font:inherit;
  font-size:16px;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.03);
}
.field-with-icon{
  position:relative;
  display:block;
}
.field-with-icon svg{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  color:#4a2be0;
  z-index:1;
}
.field-with-icon input,
.field-with-icon select{padding-left:54px}
.docs-upload-wrap{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:32px;
}
.upload-zone{
  position:relative;
  min-height:195px;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:8px;
  border:2px dashed #9b78ff;
  border-radius:11px;
  color:#4b22df;
  background:#fff;
  text-align:center;
  overflow:hidden;
}
.upload-zone svg{
  width:45px;
  height:45px;
  stroke-width:2.5;
}
.upload-zone strong{
  color:#3b4868;
  font-weight:500;
}
.upload-zone small{color:#3b4868}
.upload-zone b{
  padding:12px 20px;
  border:1px solid #c8b6ff;
  border-radius:8px;
  background:#fff;
  font-size:14px;
}
.upload-zone em{
  color:#53627c;
  font-size:11px;
  font-style:normal;
  line-height:1.55;
}
.upload-zone input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.comment-box{
  position:relative;
  display:block;
}
.comment-box textarea{
  min-height:195px;
  padding:18px;
  resize:vertical;
}
.comment-box small{
  position:absolute;
  right:14px;
  bottom:12px;
  color:#53627c;
  font-weight:700;
}
.docs-submit-row{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  margin-top:-10px;
}
.docs-submit{
  min-width:436px;
  min-height:66px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:0;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(100deg,#3e20de,#6f2dff);
  box-shadow:0 16px 34px rgba(75,38,217,.28);
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}
.docs-submit svg{
  width:36px;
  height:36px;
}
.docs-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  padding:0 1px;
  margin-top:6px;
}
.docs-kpi{
  position:relative;
  min-height:112px;
  display:grid;
  grid-template-columns:76px 1fr 36px;
  align-items:center;
  gap:16px;
  padding:17px 20px;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 27px rgba(23,38,61,.07);
}
.docs-kpi-icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--kpi);
  background:color-mix(in srgb,var(--kpi),white 86%);
}
.docs-kpi-icon svg{width:42px;height:42px;stroke-width:2.5}
.docs-kpi strong{
  display:block;
  color:#071936;
  font-size:18px;
}
.docs-kpi small{
  display:block;
  color:#394b68;
  font-size:14px;
}
.docs-kpi b{
  display:block;
  margin-top:3px;
  color:var(--kpi);
  font-size:38px;
  line-height:1;
}
.docs-kpi i{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid #dce4ef;
  border-radius:50%;
  color:#071936;
  background:#f8fbff;
  font-size:30px;
  font-style:normal;
  line-height:1;
}
.docs-kpi.danger{--kpi:#ef1d1d}
.docs-kpi.info{--kpi:#0a63ff}
.docs-kpi.warning{--kpi:#f28c0c}
.docs-kpi.success{--kpi:#0f9f61}
.docs-board{
  border:1px solid #dce4ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 27px rgba(23,38,61,.07);
  overflow:hidden;
}
.docs-tabs{
  display:flex;
  gap:34px;
  padding:0 15px;
  border-bottom:1px solid #dce4ef;
}
.docs-tab{
  min-height:51px;
  border:0;
  border-bottom:4px solid transparent;
  background:transparent;
  color:#465875;
  font:inherit;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.docs-tab.active{
  color:#4b22df;
  border-bottom-color:#4b22df;
}
.docs-hint{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:13px 18px;
  padding:8px 13px;
  border-radius:11px;
  color:#503fbe;
  background:#f4f1ff;
  font-size:15px;
}
.docs-hint svg{width:26px;height:26px;stroke-width:2.5}
.docs-tab-panel{display:none}
.docs-tab-panel.active{display:block}
.docs-table-card{
  margin:0 14px 12px;
  border:1px solid #dce4ef;
  border-radius:10px;
  overflow:hidden;
}
.docs-table-card h2{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0;
  padding:13px 20px;
  color:#071936;
  font-size:24px;
}
.docs-table-card h2 svg{
  color:#4b22df;
  width:30px;
  height:30px;
}
.docs-table th{
  padding:11px 22px;
  color:#17213f;
  background:#fbfcff;
  font-size:15px;
}
.docs-table td{
  padding:12px 22px;
  vertical-align:middle;
  color:#17213f;
}
.docs-table td small{
  display:block;
  color:#53627c;
  margin-top:4px;
}
.docs-file-cell{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:240px;
}
.docs-file-cell svg{
  width:40px;
  height:40px;
  color:#ef1d1d;
  stroke-width:2.2;
  flex:none;
}
.docs-file-cell a{color:#4b22df;font-weight:800}
.docs-message{
  display:block;
  max-width:360px;
  white-space:normal;
  line-height:1.35;
}
.docs-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px;
  border-radius:12px;
  font-weight:900;
}
.docs-status.pending{color:#a45d00;background:#fff1d8}
.docs-status.ok{color:#047857;background:#dcfce7}
.docs-status.bad{color:#dc2626;background:#fee2e2}
.docs-actions{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}
.docs-actions form{margin:0}
.docs-sign-btn,
.docs-reject>summary{
  min-width:162px;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:8px;
  font-size:20px;
  font-weight:900;
  cursor:pointer;
}
.docs-sign-btn{
  border:0;
  color:#fff;
  background:linear-gradient(100deg,#3e20de,#27116f);
}
.docs-reject>summary{
  list-style:none;
  border:1px solid #ff7a7a;
  color:#ef1d1d;
  background:#fff;
}
.docs-reject>summary::-webkit-details-marker{display:none}
.docs-sign-btn svg,
.docs-reject svg{
  width:28px;
  height:28px;
}

@media(max-width:1100px){
  .docs-hero{grid-template-columns:100px 1fr;min-height:auto}
  .docs-hero-art{display:none}
  .docs-sign-form{grid-template-columns:1fr 1fr}
  .docs-step-c{grid-column:1 / -1}
  .docs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .docs-page{gap:12px}
  .docs-hero{
    grid-template-columns:72px 1fr;
    gap:18px;
    padding:24px 18px;
    border-radius:12px;
  }
  .docs-hero-icon{width:72px;height:72px}
  .docs-hero-icon svg{width:44px;height:44px}
  .docs-hero-copy h1{font-size:34px}
  .docs-hero-copy p{font-size:16px}
  .docs-sign-form,
  .docs-upload-wrap,
  .docs-kpis{grid-template-columns:1fr}
  .docs-step-c{grid-column:auto}
  .docs-submit-row{margin-top:0}
  .docs-submit{
    width:100%;
    min-width:0;
    font-size:19px;
  }
  .docs-tabs{
    gap:8px;
    overflow:auto;
  }
  .docs-tab{
    flex:none;
    font-size:15px;
  }
  .docs-table-card h2{font-size:20px}
  .docs-actions{gap:10px}
}
@media(max-width:520px){
  .docs-sign-form{padding:0}
  .docs-step{padding:22px 16px}
  .docs-step header h2{font-size:18px}
  .step-number{width:38px;height:38px}
  .docs-field input,
  .docs-field select,
  .docs-field textarea{font-size:14px}
  .docs-kpi{
    grid-template-columns:60px 1fr 30px;
    padding:15px;
  }
  .docs-kpi-icon{width:60px;height:60px}
  .docs-kpi-icon svg{width:34px;height:34px}
  .docs-kpi b{font-size:32px}
  .docs-board{border-radius:10px}
  .docs-table td,
  .docs-table th{padding:11px 14px}
  .docs-sign-btn,
  .docs-reject>summary{
    min-width:136px;
    min-height:46px;
    font-size:17px;
  }
}

/* Fix final: submenus visibles fuera del header y controlados por open en menu colapsado */
body.erp-body .top-nav{overflow:visible}
@media(max-width:1360px){
  body.erp-body .nav-item>.nav-menu{
    display:none!important;
    position:static;
  }
  body.erp-body .nav-item.open>.nav-menu{
    display:grid!important;
    gap:5px;
  }
}

/* ===== Servicios 360 + Ayuda IA ===== */
.s360-page,.kb-page{display:grid;gap:18px}
.s360-page svg,.kb-page svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.s360-hero,.kb-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:190px;
  padding:34px 42px;
  border:1px solid #dce4ef;
  border-radius:12px;
  background:radial-gradient(circle at 78% 44%,rgba(79,70,229,.18),transparent 30%),linear-gradient(105deg,#fff,#f4f8ff);
  box-shadow:0 14px 34px rgba(23,38,61,.07);
}
.s360-hero h1,.kb-hero h1{margin:0;color:#071936;font-size:clamp(38px,4vw,58px);line-height:1;font-weight:900}
.s360-hero p:not(.eyebrow),.kb-hero p:not(.eyebrow){max-width:760px;margin:16px 0 0;color:#52627c;font-size:18px}
.s360-actions{display:flex;gap:12px;flex-wrap:wrap}
.s360-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.s360-metric,.s360-panel,.kb-console,.kb-card{
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.s360-metric{position:relative;padding:20px;overflow:hidden}
.s360-metric:before{content:"";position:absolute;left:16px;top:0;width:86px;height:4px;background:var(--tone);border-radius:999px}
.s360-metric.info{--tone:#0a63ff}.s360-metric.warning{--tone:#f59e0b}.s360-metric.danger{--tone:#ef1d1d}.s360-metric.success{--tone:#10b981}
.s360-metric span,.s360-metric small{display:block;color:#52627c}
.s360-metric strong{display:block;margin:10px 0 4px;color:var(--tone);font-size:36px}
.s360-flow,.s360-panel{padding:24px}
.s360-flow{
  border:1px solid #dce4ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.s360-flow header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.s360-flow h2,.s360-panel h2{display:flex;align-items:center;gap:10px;margin:0;color:#071936}
.s360-flow p,.s360-panel p{color:#52627c}
.s360-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.s360-step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff}
.s360-step-no{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#4f46e5;color:#fff;font-weight:900;font-size:20px}
.s360-step h3{margin:0 0 6px;color:#071936}
.s360-step p{margin:0 0 9px;color:#52627c;line-height:1.4}
.s360-step small{display:block;color:#0f766e;font-weight:800;margin-bottom:9px}
.s360-step a{font-weight:900;color:#4f46e5}
.s360-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}
.s360-grid.lower{grid-template-columns:1.2fr .8fr}
.s360-upload-cards,.s360-knowledge{display:grid;gap:10px;margin-top:16px}
.s360-upload-cards a,.s360-knowledge a{display:grid;gap:5px;padding:14px;border:1px solid #e2e8f0;border-radius:9px;background:#fbfdff}
.s360-upload-cards small,.s360-knowledge small{color:#52627c}
.s360-list{display:grid;gap:10px;margin:15px 0}
.s360-row{display:grid;grid-template-columns:1fr 160px auto;gap:14px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:9px}
.s360-row small{display:block;color:#52627c}
.s360-progress{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.s360-progress i{display:block;height:100%;border-radius:inherit;background:#4f46e5}
.s360-table th,.s360-table td{white-space:normal}
.kb-assistant{display:grid;gap:5px;min-width:280px;padding:20px;border:1px solid #d7ddff;border-radius:12px;background:#fff;color:#071936}
.kb-assistant span{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#4f46e5;color:#fff;font-weight:900}
.kb-assistant small{color:#52627c}
.kb-console{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;padding:20px}
.kb-console label{display:grid;gap:8px;font-weight:900;color:#071936}
.kb-console textarea{min-height:90px;border:1px solid #ccd6e4;border-radius:9px;padding:14px;font:inherit;resize:vertical}
.kb-console p{grid-column:1/-1;margin:0;color:#52627c}
.kb-prompts{display:flex;gap:10px;flex-wrap:wrap}
.kb-prompts button,.kb-card button{border:1px solid #dce4ef;border-radius:999px;background:#fff;color:#4f46e5;font:inherit;font-weight:900;padding:10px 14px;cursor:pointer}
.kb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kb-card{padding:20px}
.kb-card span{display:inline-flex;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-weight:900;font-size:12px}
.kb-card h2{margin:0 0 10px;color:#071936}
.kb-card p{color:#52627c;line-height:1.45}
@media(max-width:1050px){.s360-metrics,.s360-steps,.kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s360-grid,.s360-grid.lower{grid-template-columns:1fr}.s360-hero,.kb-hero{align-items:flex-start;flex-direction:column}.kb-console{grid-template-columns:1fr}}
@media(max-width:640px){.s360-metrics,.s360-steps,.kb-grid{grid-template-columns:1fr}.s360-hero,.kb-hero{padding:24px}.s360-row{grid-template-columns:1fr}.s360-actions a{width:100%}.kb-assistant{min-width:0;width:100%}}

/* ===== Datos tecnicos ===== */
.tech-page{display:grid;gap:18px}
.tech-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:180px;
  padding:32px 40px;
  border:1px solid #dce4ef;
  border-radius:12px;
  background:radial-gradient(circle at 82% 40%,rgba(16,185,129,.16),transparent 28%),linear-gradient(105deg,#fff,#f5f9ff);
  box-shadow:0 14px 34px rgba(23,38,61,.07);
}
.tech-hero h1{margin:0;color:#071936;font-size:clamp(36px,4vw,56px);line-height:1;font-weight:900}
.tech-hero p:not(.eyebrow){max-width:760px;margin:14px 0 0;color:#52627c;font-size:18px}
.tech-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.tech-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tech-kpis article,.tech-form,.tech-panel{
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.tech-kpis article{position:relative;padding:20px}
.tech-kpis article:before{content:"";position:absolute;left:16px;top:0;width:86px;height:4px;border-radius:999px;background:#10b981}
.tech-kpis span,.tech-kpis small{display:block;color:#52627c}
.tech-kpis strong{display:block;margin:10px 0 4px;color:#071936;font-size:36px}
.tech-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tech-form,.tech-form-page{display:grid;gap:12px;padding:22px}
.tech-form-page{
  max-width:980px;
  width:100%;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.tech-form h2,.tech-panel h2{margin:0 0 4px;color:#071936;font-size:22px}
.tech-form input,.tech-form select,.tech-form textarea,.tech-form-page input,.tech-form-page select,.tech-form-page textarea{
  width:100%;
  min-height:46px;
  border:1px solid #ccd6e4;
  border-radius:9px;
  padding:10px 13px;
  font:inherit;
  color:#071936;
  background:#fff;
}
.tech-form textarea,.tech-form-page textarea{min-height:118px;resize:vertical}
.tech-form-page .tech-items-text{min-height:220px;font-family:Consolas,monospace;font-size:13px}
.tech-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tech-check-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tech-edit-section{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff}
.tech-edit-section h2{margin:0;color:#071936;font-size:20px}
.tech-action-edit{display:grid;grid-template-columns:1.2fr 1.5fr 170px 1.5fr;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}
.tech-action-edit strong{color:#071936}
.tech-action-edit span{color:#52627c}
.tech-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tech-hub-card{
  display:grid;
  gap:12px;
  min-height:180px;
  padding:22px;
  border:1px solid #dce4ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(23,38,61,.07);
}
.tech-hub-card span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#4f46e5;font-weight:900}
.tech-hub-card strong{color:#071936;font-size:24px}
.tech-hub-card small{color:#52627c;line-height:1.45}
.tech-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:18px}
.tech-panel{padding:22px;overflow:hidden}
.tech-panel table{width:100%;border-collapse:collapse}
.tech-panel th,.tech-panel td{padding:12px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}
.tech-panel th{color:#52627c;font-size:13px}
.tech-panel td small{display:block;margin-top:4px;color:#52627c}
.tech-template-list{display:grid;gap:12px;margin-top:14px}
.tech-template-edit{
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fbfdff;
  overflow:hidden;
}
.tech-template-edit summary{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:14px 16px;
  cursor:pointer;
  color:#071936;
}
.tech-template-edit summary span{color:#52627c;font-size:13px}
.tech-template-edit form{display:grid;gap:12px;padding:0 16px 16px}
.tech-template-edit input,.tech-template-edit textarea{
  width:100%;
  min-height:44px;
  border:1px solid #ccd6e4;
  border-radius:9px;
  padding:10px 13px;
  font:inherit;
  color:#071936;
  background:#fff;
}
.tech-template-edit textarea{min-height:90px;resize:vertical}
.tech-template-edit .tech-items-text{min-height:140px;font-family:Consolas,monospace;font-size:13px}
.tech-check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:800;color:#071936}
.tech-check input{width:auto;min-height:0}
@media(max-width:1080px){.tech-forms,.tech-grid,.tech-hub-grid{grid-template-columns:1fr 1fr}.tech-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.tech-kpis{grid-template-columns:1fr}.tech-hero{padding:24px}.tech-hero-actions a{width:100%}.tech-two{grid-template-columns:1fr}}
@media(max-width:700px){.tech-hub-grid{grid-template-columns:1fr}.tech-form-page{padding:18px}.tech-action-edit{grid-template-columns:1fr}}

/* Ajustes finales de seguridad visual y portal cliente */
body.erp-body .app-shell{grid-template-columns:auto minmax(0,1fr) auto;overflow:hidden}
body.erp-body .top-nav{min-width:0;max-width:100%;overflow-x:auto;overflow-y:visible;flex-wrap:nowrap;scrollbar-width:none}
body.erp-body .top-nav::-webkit-scrollbar{display:none}
body.erp-body .top-nav .nav-link,body.erp-body .top-nav .nav-trigger{flex:0 0 auto}
body.erp-body .client-only-nav{justify-content:flex-start}
body.erp-body .client-only-nav .nav-link{min-width:160px}
.client-portal{display:grid;gap:18px}
.client-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px;border:1px solid #d8e1ed;border-radius:8px;background:radial-gradient(circle at 82% 30%,rgba(79,70,229,.18),transparent 30%),linear-gradient(135deg,#fff 0,#edf7ff 52%,#f8fbff 100%);box-shadow:0 18px 50px rgba(15,23,42,.08)}
.client-hero h1{margin:6px 0 8px;font-size:clamp(36px,5vw,62px);line-height:1;letter-spacing:0;color:#071936}
.client-hero p{margin:0;max-width:720px;color:#4b5871;font-size:18px}.client-identity{min-width:260px;padding:18px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.client-identity span,.client-identity small{display:block;color:#667085}.client-identity strong{display:block;margin:6px 0;color:#071936;font-size:20px}
.client-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-kpis article,.client-panel,.client-empty{border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.client-kpis article{padding:18px;border-top:4px solid #0f766e}.client-kpis span,.client-kpis small{display:block;color:#667085}.client-kpis strong{display:block;margin:8px 0;font-size:34px;color:#071936}
.client-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.client-panel{padding:20px}.client-panel.wide{grid-column:1 / -1}.client-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.client-panel-head h2{margin:4px 0 0;color:#071936;font-size:24px}
.client-table{overflow:auto}.client-table table{min-width:780px}.client-table td strong,.client-table td small{display:block}.client-table td small{margin-top:4px;color:#667085}.mini-progress{width:120px;height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:999px;background:#0f766e}
.client-list{display:grid;gap:10px}.client-list div{padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.client-list strong,.client-list span,.client-list small{display:block}.client-list span,.client-list small{color:#667085}.client-list.compact div{padding:10px}.client-empty{padding:28px}
.tech-report-editor{display:grid;gap:16px}.tech-edit-card{display:grid;gap:13px;padding:20px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}.tech-edit-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.tech-edit-title h2{margin:3px 0 0;color:#071936;font-size:22px}
.report-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tech-action-list{display:grid;gap:10px}.tech-action-edit{display:grid;grid-template-columns:minmax(0,1.2fr) 160px minmax(220px,.8fr);gap:10px;align-items:center;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.tech-action-edit strong,.tech-action-edit span{display:block}.tech-action-edit span{color:#667085}
.report-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-files a{padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.report-files strong,.report-files span{display:block}.report-files span{color:#667085;word-break:break-all}.publish-card{position:sticky;bottom:12px;z-index:2}
@media(max-width:1050px){.client-hero{align-items:flex-start;flex-direction:column}.client-kpis,.client-grid,.report-field-grid,.report-files{grid-template-columns:1fr}.tech-action-edit{grid-template-columns:1fr}}

/* Fix desktop nav: dropdowns must not be clipped. Mobile keeps the collapsed menu. */
@media(min-width:1361px){
  body.erp-body .app-shell{
    overflow:visible!important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:start;
  }
  body.erp-body .top-nav{
    overflow:visible!important;
    flex-wrap:wrap!important;
    row-gap:6px;
    min-width:0;
    max-width:none;
  }
  body.erp-body .nav-item{position:relative;flex:0 0 auto}
  body.erp-body .nav-menu{
    position:absolute!important;
    display:none;
    top:calc(100% + 8px);
    left:0;
    z-index:300;
  }
  body.erp-body .nav-item:hover>.nav-menu,
  body.erp-body .nav-item:focus-within>.nav-menu,
  body.erp-body .nav-item.open>.nav-menu{display:flex!important}
}
@media(min-width:1361px) and (max-width:1910px){
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{
    padding:0 6px!important;
    font-size:12.5px!important;
    gap:4px!important;
  }
  body.erp-body .brand-logo{width:160px!important;max-width:160px!important}
  body.erp-body .brand{max-width:218px!important}
  body.erp-body .user-meta strong{font-size:12.5px}
  body.erp-body .user-pill form button{padding:0 12px}
}

/* Header ERP en dos niveles: marca/usuario arriba, menu completo abajo */
@media(min-width:1101px){
  body.erp-body .app-shell{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:10px 22px!important;
    padding:12px 24px 0!important;
    overflow:visible!important;
    background:
      radial-gradient(circle at 18% 20%,rgba(12,46,89,.45),transparent 32%),
      linear-gradient(180deg,#071326 0,#07152a 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  body.erp-body .brand{
    grid-column:1!important;
    grid-row:1!important;
    max-width:none!important;
    height:auto!important;
  }
  body.erp-body .brand-logo{
    width:190px!important;
    max-width:190px!important;
  }
  body.erp-body .user-pill{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    display:flex!important;
    min-width:0!important;
    gap:16px!important;
  }
  body.erp-body .nav-toggle{display:none!important}
  body.erp-body .top-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:0!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:6px 0!important;
    overflow:visible!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    background:linear-gradient(180deg,rgba(13,34,61,.72),rgba(7,20,39,.82))!important;
    box-shadow:0 20px 40px rgba(0,0,0,.18)!important;
  }
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 16px!important;
    font-size:14px!important;
    font-weight:800!important;
    gap:11px!important;
    border-radius:10px!important;
    border:0!important;
    background:transparent!important;
    color:#e8eef8!important;
    box-shadow:none!important;
  }
  body.erp-body .top-nav .nav-link:not(:last-child),
  body.erp-body .nav-item:not(:last-child)>.nav-trigger{
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-radius:0!important;
  }
  body.erp-body .top-nav .nav-link.active,
  body.erp-body .nav-item.active>.nav-trigger{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    box-shadow:inset 0 -3px 0 var(--gold)!important;
  }
  body.erp-body .top-nav .nav-link:hover,
  body.erp-body .nav-item:hover>.nav-trigger,
  body.erp-body .nav-item.open>.nav-trigger{
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
  }
  body.erp-body .top-nav .nav-ic{
    width:20px!important;
    height:20px!important;
    stroke-width:2.1!important;
  }
  body.erp-body .nav-item{
    position:relative!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
  }
  body.erp-body .nav-menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    z-index:500!important;
    display:none;
    min-width:265px!important;
    padding:10px!important;
    border:1px solid rgba(148,163,184,.28)!important;
    border-radius:12px!important;
    background:#0b1729!important;
    box-shadow:0 24px 55px rgba(0,0,0,.42)!important;
  }
  body.erp-body .nav-menu::before{
    content:"";
    position:absolute;
    top:-12px;
    left:0;
    right:0;
    height:14px;
  }
  body.erp-body .nav-item:hover>.nav-menu,
  body.erp-body .nav-item:focus-within>.nav-menu,
  body.erp-body .nav-item.open>.nav-menu{
    display:flex!important;
    flex-direction:column!important;
  }
  body.erp-body .nav-menu a{
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:14px!important;
  }
}

@media(min-width:1101px) and (max-width:1500px){
  body.erp-body .app-shell{padding-left:22px!important;padding-right:22px!important}
  body.erp-body .brand-logo{width:220px!important;max-width:220px!important}
  body.erp-body .top-nav .nav-link,
  body.erp-body .top-nav .nav-trigger{
    padding:0 13px!important;
    font-size:14px!important;
  }
  body.erp-body .top-nav .nav-ic{width:21px!important;height:21px!important}
  body.erp-body .user-pill{gap:10px!important}
}

/* Agenda ejecutiva: layout fiel al mockup */
body.erp-body .page-wrap:has(.agenda-page){
  width:min(1620px,calc(100% - 80px))!important;
  padding-top:26px!important;
}
.agenda-page{
  gap:20px!important;
  color:#071936;
}
.agenda-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.agenda-hero>div:first-child{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
}
.agenda-hero h1{
  margin:0;
  color:#071936;
  font-size:36px;
  line-height:1;
  letter-spacing:0;
}
.agenda-help-button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 16px;
  border:1px solid #d7e1ef;
  border-radius:8px;
  background:#fff;
  color:#263957;
  font-weight:800;
}
.agenda-hero .head-actions{
  display:flex;
  gap:14px;
  align-items:center;
}
.agenda-hero .secondary-button{
  min-height:38px;
  border-radius:8px;
  border:1px solid #d7e1ef;
  background:#fff;
  color:#071936;
  box-shadow:0 6px 14px rgba(15,23,42,.05);
  font-weight:900;
}
.agenda-hero .secondary-button:last-child{
  background:#071936;
  color:#fff;
  border-color:#071936;
}
.agenda-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin:0!important;
}
.agenda-metrics .metric{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:16px 22px!important;
  border:1px solid #dbe5f1!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
.agenda-metrics .metric-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#eef4ff;
  color:#2563eb;
  font-size:27px;
  font-weight:900;
}
.agenda-metrics .warning .metric-icon{background:#fff7e6;color:#f59e0b}
.agenda-metrics .success .metric-icon{background:#ecfdf5;color:#16a34a}
.agenda-metrics .danger .metric-icon{background:#fff1f2;color:#ef1d1d}
.agenda-metrics .metric span:not(.metric-icon){
  color:#263957;
  font-size:14px;
}
.agenda-metrics .metric strong{
  margin:2px 0!important;
  color:inherit;
  font-size:21px!important;
  line-height:1!important;
}
.agenda-metrics .info strong{color:#2563eb}
.agenda-metrics .warning strong{color:#f59e0b}
.agenda-metrics .success strong{color:#16a34a}
.agenda-metrics .danger strong{color:#ef1d1d}
.agenda-metrics .metric small{
  font-size:12px;
  color:#667797;
}
.agenda-page .explainer-panel{display:none!important}
.agenda-toolbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:8px 12px 12px!important;
  border:1px solid #dbe5f1!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04)!important;
}
.agenda-toolbar-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.agenda-toolbar .seg{
  border:1px solid #dbe5f1;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.agenda-toolbar .seg-btn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  color:#263957;
  background:#fff;
  font-weight:900;
  border-right:1px solid #dbe5f1;
}
.agenda-toolbar .seg-btn.active{
  background:#07111f!important;
  color:#fff!important;
}
.agenda-toolbar .nav-range{
  display:flex;
  align-items:center;
  gap:10px;
}
.agenda-toolbar .nav-range .seg-btn{
  min-width:42px;
  border:1px solid #dbe5f1;
  border-radius:8px;
}
.agenda-toolbar .range-label{
  color:#071936;
  font-size:18px;
  font-weight:900;
  text-transform:capitalize;
}
.agenda-toolbar .nav-filter{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.agenda-filter{
  min-width:0;
  display:grid;
  gap:2px;
  padding:10px 14px;
  border:1px solid #dbe5f1;
  border-radius:9px;
  background:#fff;
}
.agenda-filter>span{
  color:#667797;
  font-size:12px;
  font-weight:800;
}
.agenda-filter .search-select,
.agenda-filter .toolbar-filter{
  width:100%;
}
.agenda-filter .search-select-input{
  min-height:26px;
  padding:0 26px 0 0;
  border:0;
  border-radius:0;
  color:#071936;
  font-weight:800;
}
.agenda-filter .search-select:after{
  top:1px;
  right:0;
}
.agenda-page .gp{
  border:1px solid #dbe5f1!important;
  border-radius:10px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.06)!important;
  overflow:auto!important;
  background:#fff!important;
}
.agenda-page .gp-inner{
  min-width:100%!important;
}
.agenda-page .gp-head{
  grid-template-columns:210px 1fr!important;
}
.agenda-page .gp-corner{
  min-height:58px;
  display:flex;
  align-items:center;
  padding:0 30px!important;
  background:#061936!important;
  color:#fff;
  font-size:17px;
  border-top-left-radius:10px!important;
}
.agenda-page .gp-scale{
  height:58px!important;
  background:#061936!important;
}
.agenda-page .gp-col{
  border-left:1px solid rgba(255,255,255,.18)!important;
}
.agenda-page .gp-col .pd-dow{
  color:#fff!important;
  font-size:16px!important;
  font-weight:900;
}
.agenda-page .gp-col .pd-num{
  color:#fff;
  font-size:15px!important;
}
.agenda-page .gp-col.is-today{
  background:#061936!important;
}
.agenda-page .gp-row{
  grid-template-columns:210px 1fr!important;
  border-top:1px solid #e5edf6!important;
}
.agenda-page .gp-person{
  min-height:86px;
  padding:18px 16px!important;
  background:#fff!important;
  border-right:1px solid #dbe5f1!important;
}
.agenda-page .agenda-avatar{
  width:46px!important;
  height:46px!important;
  font-size:18px;
  color:#071936!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12);
}
.agenda-page .person-meta strong{
  color:#071936;
  font-size:15px;
}
.agenda-page .person-meta small{
  color:#8a9ab4;
  font-size:12px;
}
.agenda-page .gp-track{
  padding:11px 0!important;
  background:#fff!important;
}
.agenda-page .gp-sep{
  background:#dbe5f1!important;
}
.agenda-page .gp-card{
  min-height:58px!important;
  max-height:62px;
  display:grid;
  gap:5px;
  padding:11px 14px 9px!important;
  border:1px solid #dbe5f1!important;
  border-left:4px solid var(--person,var(--gold))!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:0 6px 18px rgba(15,23,42,.08)!important;
}
.agenda-page .gp-card.late{
  border-color:#fecaca!important;
  border-left-color:#ef1d1d!important;
  background:#fffafa!important;
}
.agenda-card-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:start;
}
.agenda-card-title strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#071936;
  font-size:13px!important;
  line-height:1.2;
}
.agenda-card-title em{
  flex:none;
  color:#314465;
  font-style:normal;
  font-size:12px;
}
.agenda-page .gp-card small{
  color:#314465!important;
  font-size:10.5px!important;
  line-height:1.2;
}
.agenda-page .plan-foot{
  display:none!important;
}
.agenda-page:after{
  content:"Arrastra las tareas para reprogramar. Haz clic para ver detalles.";
  display:block;
  margin:10px 0 0;
  text-align:center;
  color:#7e8fab;
  font-size:15px;
}
@media(max-width:1100px){
  body.erp-body .page-wrap:has(.agenda-page){width:min(100% - 28px,1620px)!important}
  .agenda-hero,.agenda-toolbar-top{align-items:flex-start;flex-direction:column}
  .agenda-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .agenda-toolbar .nav-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .agenda-hero>div:first-child{align-items:flex-start;flex-direction:column;gap:10px}
  .agenda-hero h1{font-size:30px}
  .agenda-metrics,.agenda-toolbar .nav-filter{grid-template-columns:1fr!important}
}

.publish-card{position:static!important;bottom:auto!important}
.inline-form{display:inline;margin:0}
.inline-form button{font:inherit;cursor:pointer}

.tech-page .section-head{
  min-height:auto!important;
  align-items:center!important;
}
.tech-page .section-head .command-stack{
  align-items:center;
}
.tech-report-editor{gap:12px!important}
.tech-edit-card{padding:14px!important;gap:10px!important}
.tech-edit-title h2{font-size:19px!important}
/* ===== Editor de reporte tecnico: ancho completo, moderno y responsive ===== */
.dinamo-form-preview{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  gap:14px;
}
.dinamo-section{
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#fff;
}
.dinamo-section.showColorRed{
  border:1px solid #ef4444;
  background:#fef2f2;
}
.dinamo-section.showColorGreen{
  border:1px solid #22c55e;
  background:#f0fdf4;
}
.dinamo-section.showColorPurple{
  border:1px solid #8b5cf6;
  background:#f5f3ff;
}
.dinamo-section h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  padding:0 0 10px;
  border-bottom:2px solid #0f766e;
  background:transparent;
  color:#0f172a;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.2;
  text-align:left;
  text-transform:uppercase;
}
.dinamo-section h3::before{
  content:"";
  width:5px;
  height:18px;
  border-radius:3px;
  background:#0f766e;
  flex:none;
}
.dinamo-section.showColorRed h3{border-bottom-color:#ef4444}
.dinamo-section.showColorRed h3::before{background:#ef4444}
.dinamo-section.showColorGreen h3{border-bottom-color:#16a34a}
.dinamo-section.showColorGreen h3::before{background:#16a34a}
.dinamo-section.showColorPurple h3{border-bottom-color:#8b5cf6}
.dinamo-section.showColorPurple h3::before{background:#8b5cf6}
.dinamo-fields{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:12px 16px;
}
.dinamo-field{
  display:grid;
  gap:5px;
  align-content:start;
  color:#1d2736;
  font-size:13px;
}
.dinamo-field > span{
  min-height:16px;
  line-height:1.25;
  font-weight:600;
  color:#475569;
}
.dinamo-field input,
.dinamo-field select,
.dinamo-field textarea{
  width:100%;
  min-height:36px;
  border:1px solid #d7dee9;
  border-radius:8px;
  padding:8px 10px;
  font:inherit;
  font-size:13px;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.dinamo-field input:focus,
.dinamo-field select:focus,
.dinamo-field textarea:focus{
  outline:none;
  border-color:#0f766e;
  box-shadow:0 0 0 3px rgba(15,118,110,.14);
}
.dinamo-field:has(textarea){grid-column:1/-1}
.dinamo-field textarea{
  min-height:64px;
  resize:vertical;
}
/* Opciones (SI/NO/N.A, Full/90%/...): pastillas siempre visibles, en una fila con salto natural */
.dinamo-option-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.dinamo-option-grid.compact{display:flex}
.dinamo-option{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:5px 12px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
  color:#243044;
  font-weight:600;
  cursor:pointer;
  user-select:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.dinamo-option:hover{border-color:#0f766e}
.dinamo-option input{width:14px!important;height:14px!important;min-height:auto!important;margin:0;accent-color:#0f766e}
.dinamo-option span{min-height:auto!important;font-weight:inherit;color:inherit}
.dinamo-option.is-selected{
  border-color:#0f766e;
  background:#0f766e;
  color:#fff;
}
.dinamo-option.is-selected input{accent-color:#fff}
.dinamo-option.single{width:max-content;max-width:100%}
.dinamo-field input:disabled{background:#eef2f6;color:#6b7280}
@media(max-width:520px){
  .dinamo-fields{grid-template-columns:1fr}
  .dinamo-section{padding:12px}
  .dinamo-option{min-height:38px}
}

/* ===== Movil: panel de notificaciones a pantalla completa y sin desborde horizontal ===== */
.notif-backdrop{display:none}
.notif-x{display:none}
@media(max-width:640px){
  html,body{overflow-x:clip;max-width:100%}
  body.notif-open{overflow:hidden}
  .notif-wrap{position:static}
  .notif-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:55}
  body.notif-open .notif-backdrop{display:block}
  .pending-panel{position:fixed;left:10px;right:10px;top:74px;width:auto;max-height:78vh;z-index:60;padding:0}
  .pending-panel header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:14px;margin:0;z-index:2;border-bottom:1px solid var(--line)}
  .notif-x{display:inline-block;font-size:.8rem;font-weight:700;color:#0f766e;border:1px solid #cbd5e1;border-radius:999px;padding:5px 12px;cursor:pointer;background:#fff;flex:none}
  .pending-panel > :not(header){padding:0 14px}
  .pending-panel > :last-child{padding-bottom:14px}
}
/* ===== Editor de cotizaciones de venta ===== */
body.erp-body .page-wrap:has(.quote-editor-page){width:min(1540px,calc(100% - 48px));padding-top:22px}
.quote-editor-page{display:grid;gap:12px;color:#0b1f41;min-width:0;max-width:100%}
.quote-editor-page form{display:grid;gap:10px;min-width:0;max-width:100%}
.quote-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-radius:8px;background:linear-gradient(120deg,#071936,#0b3268);color:#fff;box-shadow:0 8px 24px rgba(7,25,54,.16)}
.quote-editor-hero .eyebrow{margin:0 0 3px;color:#b9cdf2!important;letter-spacing:0}
.quote-editor-hero h1{margin:0;font-size:25px;line-height:1.15;letter-spacing:0}
.quote-editor-hero p:not(.eyebrow){margin:5px 0 0;color:#d8e4f6;font-size:14px}
.quote-editor-hero .secondary-button{background:#fff;color:#0b2a5b;border-color:#fff;white-space:nowrap}
.quote-currency-panel{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(420px,1.25fr);align-items:center;gap:24px;padding:14px 24px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.05)}
.quote-currency-panel>div:first-child{display:grid;gap:4px}
.quote-currency-panel strong{font-size:15px}.quote-currency-panel span{color:#60708b;font-size:13px}
.currency-selector{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cad5e4;border-radius:7px;overflow:hidden}
.currency-selector label{position:relative;cursor:pointer}.currency-selector label+label{border-left:1px solid #d8e1ed}
.currency-selector input{position:absolute;opacity:0;pointer-events:none}
.currency-selector span{display:flex;align-items:center;justify-content:center;min-height:44px;color:#10264b;font-size:15px;font-weight:800;transition:.15s ease}
.currency-selector input:checked+span{background:#0a2b61;color:#fff;box-shadow:inset 0 -3px #eab308}
.quote-section{padding:17px 22px;border-color:#d8e1ed;box-shadow:0 5px 16px rgba(15,23,42,.04);min-width:0;max-width:100%}
.quote-section-title{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.quote-section-title>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:7px;background:#edf3ff;color:#1554c0;font-weight:900}
.quote-section-title h2{margin:0;font-size:19px;color:#071936}.quote-section-title p{margin:2px 0 0;color:#697995;font-size:13px}
.quote-title-actions .secondary-button{margin-left:auto}
.quote-editor-page .field{display:grid;gap:6px;color:#253858;font-weight:700;font-size:13px}
.quote-editor-page .field input,.quote-editor-page .field select,.quote-editor-page .field textarea,.scope-row textarea,.quote-items-table input,.quote-items-table textarea{width:100%;border:1px solid #cbd7e7;border-radius:7px;padding:10px 12px;background:#fff;color:#10213f;font:inherit;line-height:1.45;resize:vertical}
.quote-editor-page .field input:focus,.quote-editor-page .field select:focus,.quote-editor-page .field textarea:focus,.scope-row textarea:focus,.quote-items-table input:focus,.quote-items-table textarea:focus{outline:2px solid #9fc1ff;outline-offset:1px;border-color:#2563eb}
.quote-editor-page .field-wide{grid-column:span 2}.quote-editor-page .field-help{min-height:0;margin:0;color:#687a96;font-weight:500}
.folio-compose-field{align-content:start}.folio-compose-option{display:flex;align-items:center;gap:8px;margin-top:3px;color:#234064;font-size:12px;font-weight:800;cursor:pointer}.folio-compose-option input{width:17px!important;height:17px;margin:0;accent-color:#1554c0}.folio-compose-option span{line-height:1.25}
.quote-editor-page .uf-row .secondary-button{min-width:105px;padding:0 12px}
.quote-scope-list{display:grid;gap:8px}.scope-row{display:grid;grid-template-columns:28px minmax(0,1fr) 38px;align-items:start;gap:9px}
.scope-row b{display:grid;place-items:center;height:42px;color:#657590}.scope-row textarea{min-height:60px}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid #d3deeb;border-radius:7px;background:#fff;color:#a11b1b;font-size:22px;line-height:1;cursor:pointer}.icon-button:hover{background:#fff1f2;border-color:#fda4af}
.quote-items-wrap{width:100%;max-width:100%;min-width:0;border:1px solid #d8e1ed;border-radius:8px;overflow-x:auto;overscroll-behavior-inline:contain}.quote-items-table{min-width:1050px}.quote-items-table th{background:#f5f8fc;color:#4c5f7d}.quote-items-table td{vertical-align:top;white-space:normal}.quote-items-table th:first-child,.quote-items-table td:first-child{width:42px;text-align:center}.quote-items-table th:nth-child(2){width:48%}
.quote-items-table textarea{min-height:98px}.quote-items-table input{min-width:88px;text-align:right}.quote-items-table .lineBase,.quote-items-table .lineClp{padding-top:25px;font-weight:800;white-space:nowrap}
.quote-totals-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(430px,540px);gap:26px;align-items:end;margin-top:14px}
.quote-totals-layout .totals-controls{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.quote-totals-layout .totals-controls .field{width:190px}.quote-totals-layout .check-field{padding-bottom:11px}
.quote-totals-layout .totals-table{width:100%;border:1px solid #d8e1ed;border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden}.quote-totals-layout .totals-table th,.quote-totals-layout .totals-table td{padding:9px 12px}.quote-totals-layout .totals-grand th,.quote-totals-layout .totals-grand td{background:#f2f6fc;color:#082b66;font-size:18px;font-weight:900}
.quote-conditions textarea{min-height:190px;font-family:inherit;line-height:1.65}.quote-conditions small{color:#6a7a94;font-weight:500}
.quote-form-actions{display:flex;gap:10px;padding:0 2px 18px}.quote-form-actions .primary-button{min-width:175px;background:#082b66}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){body.erp-body .page-wrap:has(.quote-editor-page){width:calc(100% - 24px)}.quote-editor-hero{align-items:flex-start;flex-direction:column}.quote-currency-panel{grid-template-columns:1fr}.quote-editor-page .form-grid-3{grid-template-columns:1fr 1fr}.quote-totals-layout{grid-template-columns:1fr}.quote-title-actions{align-items:flex-start;flex-wrap:wrap}.quote-title-actions .secondary-button{margin-left:41px}}
@media(max-width:620px){body.erp-body .page-wrap:has(.quote-editor-page){width:calc(100% - 16px);padding-top:12px}.quote-editor-hero,.quote-section,.quote-currency-panel{padding:15px}.quote-editor-hero h1{font-size:22px}.quote-editor-page .form-grid-3{grid-template-columns:1fr}.quote-editor-page .field-wide{grid-column:auto}.currency-selector{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-section-title p{display:none}.quote-title-actions .secondary-button{width:100%;margin-left:0}.scope-row{grid-template-columns:24px minmax(0,1fr) 36px}.quote-totals-layout{grid-template-columns:minmax(0,1fr)}.quote-totals-layout .totals-controls{display:grid;grid-template-columns:1fr}.quote-totals-layout .totals-controls .field{width:100%}.quote-totals-layout .totals-table{font-size:12px}.quote-totals-layout .totals-table th,.quote-totals-layout .totals-table td{padding:8px 6px}.quote-form-actions{display:grid;grid-template-columns:1fr}.quote-form-actions>*{width:100%}}

/* ===== Administrador de folios de cotizacion ===== */
body.erp-body .page-wrap:has(.folio-admin-page){width:min(1400px,calc(100% - 40px))}
.folio-admin-page{display:grid;gap:14px;min-width:0}.folio-admin-page .section-head p:not(.eyebrow){margin:4px 0 0;color:#cbd5e1}
.folio-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.folio-metrics article{display:grid;gap:6px;padding:18px;border:1px solid #d6e0ed;border-radius:8px;background:#fff}.folio-metrics span,.folio-metrics small{color:#687a96}.folio-metrics strong{font-size:23px;color:#071936;overflow-wrap:anywhere}.folio-metrics .next{border-color:#96b8ee;background:#f4f8ff}.folio-metrics .next strong{color:#1554c0}
.folio-admin-grid{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:14px}.folio-config{display:grid;align-content:start;gap:16px}.folio-config h2,.folio-history h2{margin:0;color:#071936}.folio-config p:not(.eyebrow){margin:5px 0 0;color:#60708b;line-height:1.5}.folio-input-prefix{display:flex;align-items:stretch;border:1px solid #cbd7e7;border-radius:7px;overflow:hidden}.folio-input-prefix b{display:flex;align-items:center;padding:0 12px;background:#edf3fb;color:#17345d;white-space:nowrap}.folio-input-prefix input{min-width:0;border:0!important;border-radius:0!important}.folio-preview{display:grid;gap:5px;padding:15px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.folio-preview span{color:#526a8c;font-size:13px}.folio-preview strong{color:#124cb3;font-size:21px}.folio-history .toolbar{justify-content:space-between;align-items:flex-start}.folio-chip-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:430px;overflow:auto}.folio-chip-list>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border:1px solid #d8e1ed;border-radius:7px;background:#f8fafc;font-weight:800;color:#223a60}.folio-chip-list small{padding:4px 7px;border-radius:999px;background:#fee2e2;color:#a11818;font-size:10px;text-transform:uppercase}.folio-empty{padding:30px;border:1px dashed #c9d5e5;border-radius:8px;text-align:center;color:#64748b}.folio-rule{display:flex;align-items:center;gap:14px;padding:15px 18px;border-left:4px solid #eab308;border-radius:7px;background:#fff}.folio-rule strong{white-space:nowrap;color:#071936}.folio-rule span{color:#52627c}
@media(max-width:1000px){.folio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.folio-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){body.erp-body .page-wrap:has(.folio-admin-page){width:calc(100% - 16px)}.folio-admin-page .section-head .head-actions{display:grid;width:100%}.folio-admin-page .section-head .head-actions>*{width:100%}.folio-metrics{grid-template-columns:1fr}.folio-chip-list{grid-template-columns:1fr}.folio-rule{align-items:flex-start;flex-direction:column}.folio-input-prefix b{padding:0 8px}}

/* ===== Listado de cotizaciones ===== */
body.erp-body .page-wrap:has(.quotation-list-page){width:min(1460px,calc(100% - 42px));padding-top:22px}
.quotation-list-page{display:grid;gap:14px;min-width:0;color:#0b1f41}
.quotation-list-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-radius:8px;background:linear-gradient(120deg,#071936,#14233d);color:#fff;box-shadow:0 7px 22px rgba(7,25,54,.14)}
.quotation-list-hero .eyebrow{margin:0 0 3px;letter-spacing:.08em}.quotation-list-hero h1{margin:0;font-size:24px;line-height:1.1;letter-spacing:0}.quotation-list-hero p:not(.eyebrow){margin:5px 0 0;color:#d4dfef;font-size:13px}
.quotation-list-hero .head-actions a{gap:8px;white-space:nowrap}.quotation-list-hero .head-actions svg,.quotation-actions svg,.quotation-search svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quotation-list-hero .primary-button{background:#fff;color:#0b1f41}.quotation-list-hero .secondary-button{border-color:#465873;background:transparent;color:#fff}
.quotation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(270px,.88fr);gap:12px;align-items:stretch}
.quotation-kpi{display:flex;align-items:center;gap:16px;min-width:0;padding:18px 20px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 5px 17px rgba(15,23,42,.04)}.quotation-kpi>div{min-width:0}.quotation-kpi-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:8px}.quotation-kpi-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quotation-kpi span:not(.quotation-kpi-icon),.quotation-kpi small{display:block;color:#667690}.quotation-kpi span:not(.quotation-kpi-icon){font-size:13px}.quotation-kpi strong{display:block;margin:4px 0 3px;font-size:25px;line-height:1.1;color:#0d2347;overflow:hidden;text-overflow:ellipsis}.quotation-kpi small{font-size:11px;white-space:normal}.kpi-blue .quotation-kpi-icon{background:#eaf2ff;color:#1762dc}.kpi-blue strong{color:#1459c7}.kpi-amber .quotation-kpi-icon{background:#fff4df;color:#e19009}.kpi-amber strong{color:#aa6700}.kpi-green .quotation-kpi-icon{background:#e8f8ef;color:#15965c}.kpi-green strong{color:#087f4a}
.quotation-currency-filter{display:grid;align-content:center;gap:9px;padding:14px 16px;min-width:0}.quotation-filter-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.quotation-filter-label span{font-size:13px;font-weight:800;color:#263b5d}.quotation-filter-label small{color:#71809a;font-size:10px}.quotation-segmented{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border:1px solid #d8e1ed;border-radius:999px;background:#fff}.quotation-segmented button{min-height:35px;border:0;border-radius:999px;background:transparent;color:#344a69;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.quotation-segmented button.active{background:#0f1e36;color:#fff;box-shadow:0 3px 9px rgba(15,30,54,.2)}
.quotation-list-panel{min-width:0;padding:17px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.04)}.quotation-toolbar{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(190px,.72fr) minmax(170px,.62fr) auto;gap:10px;align-items:center;margin-bottom:14px}.quotation-toolbar select,.quotation-search{height:43px;border:1px solid #cfdae8;border-radius:7px;background:#fff;color:#172b4d;font:inherit}.quotation-toolbar select{padding:0 12px}.quotation-search{display:flex;align-items:center;gap:9px;padding:0 13px}.quotation-search svg{flex:0 0 18px;color:#526a8c}.quotation-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:#172b4d}.quotation-search input::placeholder{color:#8794a8}.quotation-result-count{justify-self:end;color:#61718a;font-size:12px;white-space:nowrap}.quotation-result-count strong{color:#263d61}
.quotation-table-wrap{min-width:0;border:1px solid #d9e2ee;border-radius:8px;overflow:auto}.quotation-table{min-width:1120px}.quotation-table th{padding:11px 12px;background:#f6f8fb;color:#62728c;font-size:11px;text-transform:none}.quotation-table th button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer}.quotation-table th.num button{justify-content:flex-end;width:100%}.quotation-table td{padding:11px 12px;color:#172b4d;font-size:12px;vertical-align:middle}.quotation-table tbody tr:hover{background:#f8fbff}.quotation-table td:first-child strong{color:#091d3f}.quotation-client{display:block;font-size:12px}.quotation-table td small{display:block;margin-top:3px;color:#6f7f97;font-size:10px;text-transform:uppercase}.quotation-title{display:block;max-width:315px;overflow:hidden;text-overflow:ellipsis}.quotation-amount{font-weight:900;color:#07834d!important}.quotation-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:1px solid #d8e1ed;border-radius:999px;background:#f8fafc;color:#42536d;font-size:10px;white-space:nowrap}.quotation-status.is-approved,.quotation-status.is-digital{border-color:#b7e9cc;background:#ecfdf3;color:#087c47}.quotation-status.is-cancelled{border-color:#fecaca;background:#fff1f2;color:#cf2525}.quotation-status.is-review{border-color:#bfdbfe;background:#eff6ff;color:#1762c7}.quotation-status.is-warning{border-color:#fed99b;background:#fff8e8;color:#b36a00}.quotation-status.is-sent{border-color:#d8c7ff;background:#f7f2ff;color:#7543c6}
.quotation-actions{display:flex;align-items:center;gap:7px}.quotation-actions a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:0 10px;border:1px solid #d5dfeb;border-radius:999px;background:#fff;color:#203653;font-weight:800;white-space:nowrap}.quotation-actions a:hover{border-color:#8fa8c7;background:#f6f9fd}.quotation-actions svg{width:14px;height:14px}
.quotation-empty{display:grid;place-items:center;gap:7px;padding:50px 18px;text-align:center}.quotation-empty span{color:#6b7c95}.quotation-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 3px 0;color:#65758d;font-size:12px}.quotation-pages,.quotation-pages>span{display:flex;align-items:center;gap:7px}.quotation-pages button,.quotation-pages select{height:36px;border:1px solid #d8e1ed;border-radius:7px;background:#fff;color:#40516b;padding:0 12px;font:inherit;cursor:pointer}.quotation-pages button.active{background:#0f1e36;color:#fff;border-color:#0f1e36}.quotation-pages button:disabled{opacity:.45;cursor:not-allowed}.quotation-pages select{padding:0 9px}
@media(max-width:1180px){.quotation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-result-count{justify-self:start}.quotation-currency-filter{padding:12px 0}}
@media(max-width:720px){body.erp-body .page-wrap:has(.quotation-list-page){width:calc(100% - 16px);padding-top:12px}.quotation-list-hero{align-items:flex-start;flex-direction:column}.quotation-list-hero .head-actions{display:grid;width:100%}.quotation-list-hero .head-actions a{width:100%}.quotation-summary,.quotation-toolbar{grid-template-columns:1fr}.quotation-pagination{align-items:flex-start;flex-direction:column}.quotation-pages{width:100%;overflow-x:auto;padding-bottom:3px}.quotation-filter-label{align-items:flex-start;flex-direction:column}.quotation-actions a span{display:none}.quotation-actions a{width:32px;padding:0}.quotation-kpi{padding:15px}.quotation-list-panel{padding:10px}}

.quotation-inline-status{margin:0}.quotation-status-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;max-width:175px;min-height:30px;padding:4px 10px;border:1px solid #d8e1ed;border-radius:999px;background:#f8fafc;color:#42536d;font:inherit;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.quotation-status-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis}.quotation-status-trigger.is-approved,.quotation-status-trigger.is-digital{border-color:#b7e9cc;background:#ecfdf3;color:#087c47}.quotation-status-trigger.is-cancelled{border-color:#fecaca;background:#fff1f2;color:#cf2525}.quotation-status-trigger.is-review{border-color:#bfdbfe;background:#eff6ff;color:#1762c7}.quotation-status-trigger.is-warning{border-color:#fed99b;background:#fff8e8;color:#a75f00}.quotation-status-trigger.is-sent{border-color:#d8c7ff;background:#f7f2ff;color:#7543c6}.quotation-status-trigger:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}.quotation-status-menu{position:fixed;z-index:1000;width:245px;max-height:min(360px,calc(100vh - 24px));overflow-y:auto;padding:6px;border:1px solid #cad5e4;border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.22)}.quotation-status-menu[hidden]{display:none}.quotation-status-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:6px;background:#fff;color:#263956;font:inherit;font-size:11px;font-weight:700;text-align:left;cursor:pointer}.quotation-status-menu button:hover,.quotation-status-menu button:focus-visible{background:#eef5ff;color:#124faa;outline:0}.quotation-status-menu button.active{background:#f4f7fb;color:#0b2d61}.quotation-status-menu b{color:#07834d}
.quotation-actions .quotation-delete-link{border-color:#fecaca;color:#b42323}.quotation-actions .quotation-delete-link:hover{border-color:#ef4444;background:#fff1f2}

/* ===== Centro de una cotizacion ===== */
body.erp-body .page-wrap:has(.quotation-detail-page){width:min(1460px,calc(100% - 42px));padding-top:22px}
.quotation-detail-page{display:grid;gap:14px;min-width:0;color:#0b1f41}.quote-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 23px;border-radius:8px;background:linear-gradient(120deg,#071936,#113464);color:#fff;box-shadow:0 7px 22px rgba(7,25,54,.14)}.quote-detail-hero .eyebrow{margin:0 0 3px;color:#7ce8d6!important;letter-spacing:.08em}.quote-detail-hero h1{margin:0;font-size:27px;line-height:1.1;letter-spacing:0}.quote-detail-hero p:not(.eyebrow){margin:5px 0 0;color:#dbe6f5}.quote-detail-hero .head-actions a{white-space:nowrap}.quote-detail-hero .primary-button{background:#fff;color:#0a2a5b}.quote-detail-hero .secondary-button{border-color:#6f82a0;background:transparent;color:#fff}
.quote-detail-nav{position:sticky;top:139px;z-index:3;display:flex;align-items:center;gap:4px;padding:7px;border:1px solid #d8e1ed;border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(15,23,42,.06);backdrop-filter:blur(12px);overflow-x:auto}.quote-detail-nav a{display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:6px;color:#41536e;font-size:12px;font-weight:800;white-space:nowrap}.quote-detail-nav a:hover{background:#edf4ff;color:#1554c0}.quote-detail-nav b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e6edf7;font-size:10px}
.quote-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quote-detail-summary article{display:grid;align-content:center;gap:5px;min-width:0;padding:17px 19px;border:1px solid #d8e1ed;border-radius:8px;background:#fff}.quote-detail-summary span,.quote-detail-summary small{color:#687993}.quote-detail-summary span{font-size:12px}.quote-detail-summary strong{font-size:18px;overflow-wrap:anywhere}.quote-status-card form{margin:0}.quote-status-card select{width:100%;min-height:37px;border:1px solid #cbd7e7;border-radius:7px;padding:0 10px;background:#fff;color:#0d2c5c;font:inherit;font-weight:900;cursor:pointer}.quote-flow-note{display:flex;align-items:center;gap:14px;padding:12px 17px;border-left:4px solid #eab308;border-radius:7px;background:#fff}.quote-flow-note strong{white-space:nowrap}.quote-flow-note span{color:#5f718d;font-size:12px}
.quote-detail-section{min-width:0;padding:20px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.04);scroll-margin-top:210px}.quote-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.quote-detail-section-head .eyebrow{margin:0 0 3px;color:#0f9d86!important;letter-spacing:.07em}.quote-detail-section-head h2{margin:0;color:#071936;font-size:22px}.quote-detail-section-head span{display:block;margin-top:4px;color:#667894;font-size:12px}.quote-scope-detail{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:15px 17px;margin-bottom:14px;border:1px solid #d9e4f1;border-radius:8px;background:#f8fbff}.quote-scope-detail ol{display:grid;gap:7px;margin:0;padding-left:22px;color:#314763}.quote-detail-table-wrap{max-width:100%;min-width:0;border:1px solid #dbe3ee;border-radius:8px;overflow-x:auto}.quote-detail-table{min-width:940px}.quote-detail-table th{background:#f5f8fc;color:#53657f}.quote-detail-table td{vertical-align:top}.quote-line-description{min-width:350px;white-space:pre-wrap!important;line-height:1.5}.quote-detail-table tfoot th{background:#fafbfd}.quote-detail-table tfoot th:first-child{text-align:right}.quote-detail-table .quote-total-row th{background:#eef4fd;color:#0b2b61;font-size:15px}.quote-conditions-detail{margin-top:14px;border:1px solid #d8e1ed;border-radius:8px;overflow:hidden}.quote-conditions-detail summary{padding:13px 15px;background:#f7f9fc;color:#1c365c;font-weight:900;cursor:pointer}.quote-conditions-detail p{margin:0;padding:16px;white-space:pre-wrap;line-height:1.65;color:#41536d}
.payment-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}.payment-kpis article{display:grid;gap:5px;padding:14px 15px;border:1px solid #dae4ef;border-radius:8px;background:#f8fbff}.payment-kpis span,.payment-kpis small{color:#697b96;font-size:11px}.payment-kpis strong{font-size:20px;color:#0d2c5c}.payment-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:14px;align-items:start}.payment-existing{min-width:0;padding:16px;border:1px solid #dbe4ef;border-radius:8px}.subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.subsection-heading h3{margin:0;color:#102747;font-size:17px}.subsection-heading p{margin:3px 0 0;color:#697a93;font-size:12px}.subsection-heading>span{padding:6px 9px;border-radius:999px;background:#edf3fb;color:#365173;font-size:11px;font-weight:800;white-space:nowrap}.manual-installment{position:relative}.manual-installment summary{list-style:none;cursor:pointer}.manual-installment summary::-webkit-details-marker{display:none}.manual-installment[open] form{display:grid}.manual-installment form{position:absolute;right:0;top:43px;z-index:4;display:none;grid-template-columns:150px 150px auto;gap:8px;align-items:end;width:max-content;padding:13px;border:1px solid #cfdbe9;border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.16)}.manual-installment .field{gap:4px}.manual-installment input{width:100%;min-height:38px;border:1px solid #cbd7e7;border-radius:7px;padding:0 9px}.payment-table{min-width:740px}.payment-table th{background:#f6f8fb}.payment-table td{vertical-align:middle}.payment-table td:last-child{display:flex;align-items:center;gap:7px}.installment-edit{position:relative}.installment-edit summary{padding:6px 10px;border:1px solid #d4dfeb;border-radius:999px;list-style:none;font-size:11px;font-weight:800;cursor:pointer}.installment-edit summary::-webkit-details-marker{display:none}.installment-edit form{position:absolute;right:0;top:35px;z-index:4;display:grid;grid-template-columns:130px 130px auto;gap:7px;align-items:end;width:max-content;padding:12px;border:1px solid #cfdae8;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.16)}.installment-edit form label{display:grid;gap:4px}.installment-edit form span{font-size:10px;font-weight:800}.installment-edit input{width:100%;height:36px;border:1px solid #cbd7e7;border-radius:6px;padding:0 7px}.inline-delete{margin:0}.inline-delete button{display:grid;place-items:center;width:29px;height:29px;border:1px solid #fecaca;border-radius:999px;background:#fff1f2;color:#c72727;font-size:18px;cursor:pointer}.empty-inline{display:grid;gap:5px;padding:22px;text-align:center;color:#61718a}.empty-inline strong{color:#243b5e}
.payment-generator{padding:17px;border:1px solid #b9cdf0;border-radius:8px;background:#f5f9ff}.generator-heading>span{display:inline-block;padding:4px 7px;border-radius:999px;background:#dceaff;color:#175cc4;font-size:9px;font-weight:900;text-transform:uppercase}.generator-heading h3{margin:8px 0 3px;color:#0a2b61;font-size:20px}.generator-heading p{margin:0 0 14px;color:#607493;font-size:12px}.payment-generator form{display:grid;gap:10px}.payment-generator .field{display:grid;gap:5px;color:#263c5d;font-size:11px;font-weight:800}.payment-generator input,.payment-generator select{width:100%;min-height:40px;border:1px solid #c5d4e7;border-radius:7px;padding:0 9px;background:#fff;color:#173050;font:inherit}.generator-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-recurring,.plan-single{display:grid;gap:10px}.payment-preview{display:grid;gap:5px;padding:11px;border:1px solid #bcd2f4;border-radius:7px;background:#fff}.payment-preview span{color:#657996;font-size:10px;text-transform:uppercase;font-weight:800}.payment-preview strong{color:#0c3471;font-size:13px;line-height:1.4}.payment-generator>form>small{color:#697b95;line-height:1.4}
.work-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-choice-grid article{display:flex;align-items:flex-start;gap:14px;padding:17px;border:1px solid #d8e2ee;border-radius:8px;background:#f9fbfd}.work-choice-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:999px;background:#173e79;color:#fff;font-weight:900}.work-choice-grid h3{margin:2px 0 5px;color:#102747}.work-choice-grid p{margin:0 0 12px;color:#60718b;line-height:1.5}.linked-agendas,.quote-tasks-block{margin-top:18px;padding-top:17px;border-top:1px solid #dce4ee}.linked-agenda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.linked-agenda-grid>a{display:grid;gap:5px;padding:13px;border:1px solid #d9e3ef;border-radius:8px;background:#fff}.linked-agenda-grid>a:hover{border-color:#8fb2e8;background:#f7faff}.linked-agenda-grid>a span{color:#167361;font-size:10px;font-weight:900;text-transform:uppercase}.linked-agenda-grid>a strong{color:#132d53}.linked-agenda-grid>a small{color:#687a94;line-height:1.4}.linked-agenda-grid>a em{color:#1c5db7;font-size:11px;font-style:normal;font-weight:800}.quote-tasks-table{min-width:960px}.quote-tasks-table th{background:#f6f8fb}.quote-tasks-table .progress{min-width:80px;height:7px}.quote-tasks-table td small{display:block;margin-top:3px;color:#667894;font-size:10px}.quick-task-form{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(145px,.75fr)) auto;gap:9px;align-items:end;margin-top:13px;padding:14px;border:1px solid #cbd9ea;border-radius:8px;background:#f7faff}.quick-task-heading{grid-column:1/-1;display:flex;align-items:baseline;gap:8px}.quick-task-heading span{color:#6a7b94;font-size:11px}.quick-task-form label{display:grid;gap:5px;color:#334967;font-size:11px;font-weight:800}.quick-task-form input,.quick-task-form select{width:100%;min-width:0;min-height:40px;border:1px solid #cbd7e7;border-radius:7px;padding:0 9px;background:#fff;color:#172f50}.quick-task-form button{min-height:40px}
@media(max-width:1150px){.quote-detail-summary,.payment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-layout{grid-template-columns:1fr}.linked-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-task-form{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-task-form button{width:100%}}
@media(max-width:720px){body.erp-body .page-wrap:has(.quotation-detail-page){width:calc(100% - 16px);padding-top:12px}.quote-detail-hero{align-items:flex-start;flex-direction:column}.quote-detail-hero .head-actions{display:grid;width:100%}.quote-detail-hero .head-actions a{width:100%}.quote-detail-nav{top:72px}.quote-detail-summary,.payment-kpis,.work-choice-grid,.linked-agenda-grid,.quick-task-form{grid-template-columns:1fr}.quote-flow-note,.quote-detail-section-head,.subsection-heading{align-items:flex-start;flex-direction:column}.quote-scope-detail{grid-template-columns:1fr}.quote-detail-section{padding:14px;scroll-margin-top:150px}.manual-installment{width:100%}.manual-installment summary{width:100%}.manual-installment form,.installment-edit form{position:static;grid-template-columns:1fr;width:100%;margin-top:8px;box-shadow:none}.payment-existing{padding:11px}.generator-grid{grid-template-columns:1fr}.quick-task-heading{align-items:flex-start;flex-direction:column}.quotation-actions a span{display:none}}

.quote-delete-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.8fr);gap:24px;align-items:center;padding:19px 21px;border:1px solid #fecaca;border-left:5px solid #dc2626;border-radius:8px;background:#fff8f8;scroll-margin-top:200px}.quote-delete-zone .eyebrow{margin:0 0 3px;color:#c12727!important}.quote-delete-zone h2{margin:0;color:#781b1b;font-size:20px}.quote-delete-zone p:not(.eyebrow){margin:6px 0 0;color:#7d4a4a;line-height:1.5}.quote-delete-actions{display:grid;grid-template-columns:.85fr 1.15fr;gap:10px}.quote-delete-actions form{display:grid;align-content:end;gap:7px;padding:12px;border:1px solid #f4cccc;border-radius:8px;background:#fff}.quote-delete-actions small{color:#875d5d;font-size:10px}.quote-delete-actions label{display:grid;gap:5px}.quote-delete-actions label span{color:#693535;font-size:11px;font-weight:800}.quote-delete-actions input{width:100%;min-height:41px;border:1px solid #e6bcbc;border-radius:7px;padding:0 10px;font:inherit;text-transform:uppercase;letter-spacing:.08em}.danger-button{background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}.danger-button:hover{background:#991b1b!important}
@media(max-width:900px){.quote-delete-zone{grid-template-columns:1fr}.quote-delete-actions{grid-template-columns:1fr}}

/* Ordenes de compra */
.purchase-list-page,.po-form{display:grid;gap:14px}.purchase-list-hero,.po-form-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-radius:8px;background:linear-gradient(115deg,#07172f,#09264d);color:#fff;box-shadow:0 12px 30px rgba(7,23,47,.16)}.purchase-list-hero h1,.po-form-hero h1{margin:2px 0;font-size:24px}.purchase-list-hero p,.po-form-hero p{margin:3px 0;color:#d8e5f6}.purchase-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.purchase-kpi{display:flex;align-items:center;gap:16px;min-height:112px;padding:18px 20px;border:1px solid #d9e3ef;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.purchase-kpi-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;background:#edf4ff;color:#1764dc;font-size:25px}.purchase-kpi>div>span,.purchase-kpi small{display:block;color:#657690}.purchase-kpi strong{display:block;margin:4px 0;color:#1555c5;font-size:27px}.purchase-kpi.kpi-amber .purchase-kpi-icon{background:#fff4df;color:#e68800}.purchase-kpi.kpi-amber strong{color:#c97900}.purchase-kpi.kpi-green .purchase-kpi-icon{background:#e8f9ef;color:#079451}.purchase-kpi.kpi-green strong{color:#07834d}.purchase-kpi.kpi-orange .purchase-kpi-icon{background:#fff0e5;color:#e66f00}.purchase-kpi.kpi-orange strong{color:#d85e00}.purchase-list-panel{border:1px solid #d9e3ef;border-radius:8px;background:#fff;padding:14px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.purchase-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) minmax(160px,.6fr) auto;gap:10px;align-items:center;margin-bottom:12px}.purchase-toolbar select,.purchase-search{min-height:43px;border:1px solid #d5dfec;border-radius:7px;background:#fff}.purchase-search{display:flex;align-items:center;gap:9px;padding:0 12px;color:#6d7d94}.purchase-search input{width:100%;border:0;outline:0;font:inherit}.purchase-toolbar select{padding:0 12px;font:inherit;color:#243754}.purchase-toolbar>span{text-align:right;color:#6b7c94;font-size:12px}.purchase-table-wrap{overflow:auto;border:1px solid #dce4ee;border-radius:7px}.purchase-table{min-width:1180px}.purchase-table th{padding:11px 12px;background:#f5f8fc;color:#5e708d;font-size:11px}.purchase-table td{padding:10px 12px;color:#1d3150;font-size:12px;vertical-align:middle}.purchase-table tbody tr:hover{background:#f9fbfe}.purchase-table td:first-child strong{color:#09234b}.purchase-concept{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis}.purchase-amount{color:#d12132!important;font-weight:900}.purchase-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.purchase-actions>a,.purchase-actions>button,.purchase-actions form button{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:4px 9px;border:1px solid #d7e0eb;border-radius:999px;background:#fff;color:#173052;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.purchase-actions form{margin:0}.purchase-actions .danger{border-color:#fecaca;color:#d12626}.purchase-inline-status{margin:0}.purchase-status-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:7px;min-width:92px;min-height:29px;padding:4px 10px;border:1px solid #d8e1ed;border-radius:999px;background:#f8fafc;color:#42536d;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.purchase-status-trigger.is-approved{border-color:#b7e9cc;background:#ecfdf3;color:#087c47}.purchase-status-trigger.is-cancelled{border-color:#fecaca;background:#fff1f2;color:#cf2525}.purchase-status-trigger.is-review{border-color:#bfdbfe;background:#eff6ff;color:#1762c7}.purchase-status-trigger.is-warning{border-color:#fed99b;background:#fff8e8;color:#a75f00}.purchase-status-menu{position:fixed;z-index:1100;width:210px;max-height:300px;overflow:auto;padding:6px;border:1px solid #cad5e4;border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.22)}.purchase-status-menu[hidden]{display:none}.purchase-status-menu button{display:flex;justify-content:space-between;width:100%;padding:9px;border:0;border-radius:6px;background:#fff;color:#263956;font:inherit;font-size:11px;font-weight:700;text-align:left;cursor:pointer}.purchase-status-menu button:hover,.purchase-status-menu button.active{background:#eef5ff;color:#124faa}.purchase-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 4px 0;color:#657690;font-size:12px}.purchase-pagination>div{display:flex;align-items:center;gap:7px}.purchase-pagination button,.purchase-pagination select{min-height:34px;padding:5px 10px;border:1px solid #d7e0eb;border-radius:6px;background:#fff;color:#263956}.purchase-pagination button.active{background:#07172f;color:#fff}.purchase-modal{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,16,36,.58);backdrop-filter:blur(5px)}.purchase-modal[hidden]{display:none}.purchase-modal>section{position:relative;width:min(650px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:25px;border-radius:8px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.28)}.purchase-modal h2{margin:2px 0;font-size:25px}.purchase-modal>section>p:not(.eyebrow){color:#657690}.purchase-modal-close{position:absolute;right:14px;top:14px;width:35px;height:35px;border:1px solid #d6dfeb;border-radius:7px;background:#fff;font-size:22px;cursor:pointer}.purchase-payment-summary{display:flex;justify-content:space-between;margin:18px 0 10px;padding:13px 15px;border-radius:7px;background:#edf4ff;color:#18345c}.purchase-payment-list{display:grid;gap:8px}.purchase-payment-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px;border:1px solid #dbe4ef;border-radius:7px}.purchase-payment-list article div span{display:block;margin-top:3px;color:#6d7e96;font-size:11px}.purchase-payment-status{padding:5px 8px;border-radius:999px;background:#fff4df;color:#a55d00;font-size:10px;font-weight:800}.purchase-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.po-section{padding:15px 18px;border:1px solid #dce4ee;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.035)}.po-section h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#0b2349;font-size:15px}.po-section h2>span{color:#1764dc}.po-grid{display:grid;gap:10px}.po-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.po-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.po-grid-4{grid-template-columns:1.2fr .55fr 1fr 1fr}.po-grid label{display:grid;gap:5px;min-width:0}.po-grid label>span{color:#243a5b;font-size:10px;font-weight:800}.po-grid input,.po-grid select{width:100%;min-height:37px;padding:7px 9px;border:1px solid #d6e0ec;border-radius:6px;background:#fff;color:#152b4c;font:inherit;font-size:12px}.po-grid input[readonly]{background:#f4f7fb;color:#657690}.po-span-2{grid-column:span 2}.po-split{display:grid;grid-template-columns:1fr 1fr;gap:7px}.po-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:7px;align-items:end}.po-body-grid>div{display:grid;gap:7px}.po-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.po-items-wrap{overflow:auto}.po-items{min-width:760px}.po-items th{padding:7px 8px;background:#f5f8fc;color:#546986;font-size:10px}.po-items td{padding:5px 7px}.po-items input,.po-items textarea{width:100%;min-height:31px;padding:5px 7px;border:1px solid #d9e2ed;border-radius:5px;font:inherit;font-size:11px;resize:vertical}.po-items td:nth-child(1){width:35px}.po-items td:nth-child(3){width:85px}.po-items td:nth-child(5){width:130px}.po-items td:nth-child(6){width:115px;text-align:right;font-weight:900}.po-remove-line{width:28px;height:28px;border:1px solid #fecaca;border-radius:5px;background:#fff3f3;color:#d32222;cursor:pointer}.po-total-box{display:grid;gap:12px;padding:20px;border:1px solid #d8e2ee;border-radius:8px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.po-total-box>div{display:flex;justify-content:space-between;gap:20px}.po-total-box hr{width:100%;border:0;border-top:1px solid #dbe4ef}.po-grand-total{font-size:20px;color:#092c68}.po-upload{display:grid;place-items:center;gap:4px;min-height:88px;padding:12px;border:1px dashed #9fb2ca;border-radius:6px;color:#2460b6;text-align:center;cursor:pointer}.po-upload small{color:#657690}.po-upload input{max-width:300px;margin-top:5px}.po-observations{width:100%;min-height:110px;padding:10px;border:1px solid #d7e1ed;border-radius:6px;font:inherit;resize:vertical}.po-existing-files{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.po-existing-files a{padding:6px 9px;border-radius:6px;background:#edf4ff;color:#1556ad;font-size:11px}.po-form-actions{display:flex;gap:10px;align-items:center}.po-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.po-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0}.po-detail-list div{padding:9px;border-radius:6px;background:#f7f9fc}.po-detail-list dt{color:#718098;font-size:10px;font-weight:800;text-transform:uppercase}.po-detail-list dd{margin:4px 0 0;color:#172e50}.po-detail-totals{display:flex;justify-content:flex-end;gap:20px;margin-top:12px}.po-detail-totals span{display:grid;gap:3px;color:#64748b}.po-detail-totals strong{color:#092c68;font-size:17px}
@media(max-width:1050px){.purchase-summary{grid-template-columns:repeat(2,1fr)}.purchase-toolbar{grid-template-columns:1fr 1fr}.po-split,.po-detail-grid{grid-template-columns:1fr}.po-body-grid{grid-template-columns:1fr}.po-grid-4{grid-template-columns:1fr 1fr}.po-total-box{margin-top:0}}
@media(max-width:650px){.purchase-list-hero,.po-form-hero{align-items:flex-start;flex-direction:column}.purchase-summary{grid-template-columns:1fr}.purchase-toolbar{grid-template-columns:1fr}.purchase-toolbar>span{text-align:left}.purchase-pagination{align-items:flex-start;flex-direction:column}.po-grid-2,.po-grid-3,.po-grid-4{grid-template-columns:1fr}.po-span-2{grid-column:auto}.po-form-actions{align-items:stretch;flex-direction:column}.purchase-modal{padding:8px}.purchase-modal>section{padding:20px 14px}.purchase-payment-list article{grid-template-columns:1fr auto}.purchase-payment-status{grid-column:1/-1;width:max-content}}

/* Cuentas por cobrar */
body.erp-body .page-wrap:has(.receivables-page){width:min(1540px,calc(100% - 40px));padding-top:18px}.receivables-page{display:grid;gap:18px;min-width:0;color:#0b1d3a}.receivables-hero{display:flex;align-items:center;gap:20px;min-height:96px;padding:18px 26px;border-radius:8px;background:linear-gradient(115deg,#061a3a,#082c5c);color:#fff;box-shadow:0 10px 28px rgba(6,26,58,.14)}.receivables-title-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:#1d55bf;font-size:31px;font-weight:800}.receivables-hero h1{margin:0;font-size:30px;letter-spacing:0}.receivables-hero p{margin:5px 0 0;color:#d8e4f5}.receivables-hero p b{color:#f0b800;margin:0 7px}.receivables-export{display:inline-flex;align-items:center;gap:9px;margin-left:auto;padding:14px 21px;border:1px solid #dce6f3;border-radius:7px;background:#fff;color:#1856c9;font-weight:900}.receivables-export span{font-size:22px}.receivables-notice{margin:0}.receivable-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.receivable-kpi{display:flex;align-items:center;gap:20px;min-width:0;min-height:132px;padding:22px 24px;border:1px solid #dce5f0;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(15,38,74,.06)}.receivable-kpi>div{min-width:0}.receivable-kpi-icon{display:grid;place-items:center;width:68px;height:68px;flex:0 0 68px;border-radius:50%;font-size:31px;font-weight:800}.receivable-kpi span:not(.receivable-kpi-icon),.receivable-kpi small{display:block;color:#415572}.receivable-kpi strong{display:block;margin:7px 0 5px;font-size:28px;line-height:1;color:var(--kpi-color)}.receivable-kpi small{font-size:12px;line-height:1.35}.receivable-kpi.is-blue{--kpi-color:#1d56d2}.receivable-kpi.is-red{--kpi-color:#c71920}.receivable-kpi.is-orange{--kpi-color:#c97900}.receivable-kpi.is-green{--kpi-color:#078b55}.receivable-kpi.is-blue .receivable-kpi-icon{background:#e8efff;color:#245ed1}.receivable-kpi.is-red .receivable-kpi-icon{background:#ffeded;color:#d01820}.receivable-kpi.is-orange .receivable-kpi-icon{background:#fff1df;color:#da7b00}.receivable-kpi.is-green .receivable-kpi-icon{background:#e4f7ed;color:#07915a}.receivable-forecast{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.receivable-forecast article{display:flex;align-items:center;gap:15px;min-width:0;min-height:104px;padding:17px 19px;border:1px solid #dce5f0;border-radius:8px;background:#fff}.forecast-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:50%;background:#eaf1ff;color:#1d59cb;font-size:22px;font-weight:900}.receivable-forecast article.is-year .forecast-icon{background:#f0eafd;color:#7040cb}.receivable-forecast article>div{min-width:0}.receivable-forecast span:not(.forecast-icon),.receivable-forecast small{display:block;color:#425571}.receivable-forecast strong{display:block;margin:5px 0;font-size:21px;color:#123b79}.receivable-forecast .is-year strong{color:#7040cb}.receivable-forecast small{font-size:11px}.receivable-list-panel{min-width:0;padding:20px 22px;border:1px solid #dce5f0;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(15,38,74,.05)}.receivable-list-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.receivable-list-head>div:first-child{display:flex;align-items:center;gap:13px;min-width:0}.list-head-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#1e55bc;color:#fff;font-size:21px;font-weight:900}.receivable-list-head h2{margin:0;font-size:20px}.receivable-list-head p{margin:3px 0 0;color:#677994;font-size:12px}.receivable-filters{display:grid;grid-template-columns:minmax(240px,360px) minmax(190px,230px);gap:12px}.receivable-filters input,.receivable-filters select{width:100%;height:45px;border:1px solid #d1dcea;border-radius:7px;padding:0 14px;background:#fff;color:#213754;font:inherit}.receivable-table-wrap{max-width:100%;overflow-x:auto}.receivable-table{min-width:1180px}.receivable-table th{padding:13px 12px;background:#f7f9fc;color:#536681;font-size:11px}.receivable-table td{padding:14px 12px;color:#1d3150;font-size:12px;vertical-align:middle}.receivable-table td small{display:block;margin-top:4px;color:#77869c}.receivable-quote-link{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #dbe4ef;border-radius:999px;color:#334a6c;font-weight:800}.receivable-muted{color:#8995a7}.receivable-days{color:#375372}.receivable-days.is-overdue{color:#d02127}.receivable-days.is-today{color:#b16800;font-weight:800}.receivable-amount{color:#07935c;font-weight:900}.receivable-status{display:inline-flex;padding:7px 12px;border-radius:999px;background:#edf2f7;color:#41536d;font-weight:800}.receivable-status.status-vencida{background:#fee5e6;color:#ca1f25}.receivable-status.status-pagada{background:#dff6e9;color:#087e4d}.receivable-status.status-en-gestion{background:#fff0d8;color:#a95f00}.receivable-status.status-anulada{background:#f0e9fa;color:#7244a9}.receivable-manage-button{display:inline-flex;align-items:center;gap:16px;padding:9px 15px;border:1px solid #a8c2f4;border-radius:999px;background:#fff;color:#1759c9;font-weight:900;cursor:pointer}.receivable-manage-button span{font-size:20px;line-height:1}.receivable-empty-row td,.receivable-empty-filter{padding:28px;text-align:center;color:#65758c}
.receivable-dialog{width:min(720px,calc(100% - 28px));max-height:88vh;padding:0;border:0;border-radius:8px;color:#102542;box-shadow:0 28px 80px rgba(2,13,31,.38);overflow:auto}.receivable-dialog::backdrop{background:rgba(3,18,39,.67);backdrop-filter:blur(5px)}.receivable-dialog [hidden]{display:none!important}.receivable-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:#071d40;color:#fff}.receivable-dialog-head span{color:#80e2d1;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.receivable-dialog-head h2{margin:4px 0 0;font-size:24px}.receivable-dialog-head p{margin:4px 0 0;color:#c6d4e8}.receivable-dialog-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #51627a;border-radius:7px;background:transparent;color:#fff;font-size:24px;cursor:pointer}.receivable-dialog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 24px 0}.receivable-dialog-summary>div{display:grid;gap:5px;padding:13px;border:1px solid #dbe4ef;border-radius:7px;background:#f8fafd}.receivable-dialog-summary span{color:#6c7d94;font-size:11px}.receivable-dialog-summary strong{font-size:15px}.receivable-dialog-form{display:grid;gap:13px;padding:18px 24px}.receivable-dialog-form label,.receivable-paid-grid label{display:grid;gap:6px}.receivable-dialog-form label>span,.receivable-paid-grid label>span{font-size:11px;font-weight:900;color:#41536e}.receivable-dialog-form input,.receivable-dialog-form select{width:100%;min-height:43px;border:1px solid #cdd9e8;border-radius:7px;padding:9px 11px;background:#fff;color:#172c49;font:inherit}.receivable-paid-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.receivable-lock{margin:18px 24px 0;padding:16px;border:1px solid #f2ca83;border-radius:7px;background:#fff8e9}.receivable-lock>strong{color:#9a5900}.receivable-lock p{margin:6px 0 12px;color:#675b49;font-size:12px;line-height:1.5}.receivable-lock dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.receivable-lock dl div{padding:9px;background:#fff;border-radius:6px}.receivable-lock dt{color:#7b6e5c;font-size:10px}.receivable-lock dd{margin:3px 0 0;font-weight:800}.receivable-dialog-danger{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e0e7ef;background:#f8fafc}.receivable-dialog-danger form{margin:0}.receivable-warning-button,.receivable-delete-button{padding:11px 14px;border-radius:7px;font-weight:900;cursor:pointer}.receivable-warning-button{border:1px solid #e4a43b;background:#fff7e8;color:#9d5a00}.receivable-delete-button{border:1px solid #efb2b5;background:#fff;color:#c51f28}.installment-reconciled-link{display:inline-flex;max-width:170px;color:#a16207;font-size:11px;font-weight:800;white-space:normal;line-height:1.25}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1180px){.receivable-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-forecast{grid-template-columns:repeat(3,minmax(0,1fr))}.receivable-list-head{align-items:flex-start;flex-direction:column}.receivable-filters{width:100%}}
@media(max-width:680px){body.erp-body .page-wrap:has(.receivables-page){width:calc(100% - 16px);padding-top:10px}.receivables-page{gap:12px}.receivables-hero{align-items:flex-start;flex-wrap:wrap;padding:16px}.receivables-title-icon{width:48px;height:48px;flex-basis:48px;font-size:23px}.receivables-hero h1{font-size:23px}.receivables-export{width:100%;justify-content:center;margin-left:0}.receivable-kpis,.receivable-forecast{grid-template-columns:1fr}.receivable-kpi{min-height:108px;padding:16px}.receivable-kpi-icon{width:54px;height:54px;flex-basis:54px}.receivable-kpi strong{font-size:24px}.receivable-list-panel{padding:14px 12px}.receivable-filters{grid-template-columns:1fr}.receivable-dialog-summary,.receivable-paid-grid,.receivable-lock dl{grid-template-columns:1fr}.receivable-dialog-head,.receivable-dialog-form,.receivable-dialog-danger{padding-left:16px;padding-right:16px}.receivable-dialog-danger{align-items:stretch;flex-direction:column}.receivable-dialog-danger button{width:100%}}
.forecast-icon:before{content:"";width:16px;height:15px;border:2px solid currentColor;border-radius:3px;box-shadow:inset 0 4px 0 rgba(29,89,203,.18)}

/* ===== Modal de gestion (CXC / CXP): mas ancho, sin recortes =====
   Se ensancha y se reparte en 2 columnas para que quepa sin scroll:
   asi el desplegable de bancos no queda recortado por el borde del dialogo. */
.receivable-dialog{width:min(940px,calc(100vw - 32px));max-height:94vh}
/* Campos en dos columnas: menos alto = sin scroll */
.receivable-dialog-form{grid-template-columns:1fr 1fr;align-content:start}
.receivable-dialog-form>label:first-of-type,
.receivable-dialog-form .receivable-paid-grid,
.receivable-dialog-form>button,
.receivable-dialog-form .rc-full{grid-column:1 / -1}
/* Fecha, transferencia y banco en una fila */
.receivable-paid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* El desplegable de bancos es largo: se le da alto propio para que no empuje el modal */
.receivable-dialog .search-select-menu{max-height:210px;overflow-y:auto}
.receivable-dialog select{max-width:100%}
@media(max-width:820px){
    .receivable-dialog-form{grid-template-columns:1fr}
    .receivable-paid-grid{grid-template-columns:1fr}
}
