:root{
  --blue:#0C63A9; --blue-d:#0a4f88; --blue-l:#eef4fb;
  --green:#2e9e57; --teal:#22a3d6; --orange:#f2941c; --red:#dc4747;
  --ink:#2a2620; --muted:#7a7266; --faint:#a89e90;
  --line:rgba(60,50,35,.10); --line-2:rgba(60,50,35,.05); --bg:#f6f2ea; --card:#fffefb;
  --card-solid:#fffefb;
  --amber:#a86a12; --amber-l:#fff7e6;
  --nav:#20242e; --nav-2:#282c37; --nav-line:#363b47; --nav-txt:#b8bcc6; --nav-txt-2:#f2f0ec;
  --sh-sm:0 1px 2px rgba(60,50,35,.05),0 2px 8px rgba(60,50,35,.06);
  --sh-md:0 6px 22px rgba(60,50,35,.09);
  --sh-lg:0 24px 60px rgba(40,32,20,.20);
  --glass-blur:saturate(150%) blur(14px);
  --r:16px; --r-sm:11px;
  --accent1:rgba(242,180,90,.10); --accent2:rgba(200,150,90,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
html,body{max-width:100%;overflow-x:hidden}
.app-content{overflow-x:hidden}
.app-shell{max-width:100vw;overflow-x:hidden}
body{margin:0;overflow-x:hidden;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1100px 600px at 12% -5%, var(--accent1), transparent 55%), radial-gradient(1000px 620px at 100% 0%, var(--accent2), transparent 50%), radial-gradient(900px 700px at 50% 115%, rgba(140,120,90,.05), transparent 55%);
  background-attachment:fixed}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:14px}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
body.dark{
  --ink:#e6e9ee; --muted:#9aa3b0; --faint:#6b7480;
  --line:#2b3138; --line-2:#22272d; --bg:#15181c; --card:#1e2228;
  --card-solid:#1e2228;
  --blue:#4a97e0; --blue-d:#3d84c9; --blue-l:#233240;
  --nav:#161a1f; --nav-2:#1b2026; --nav-line:#2b3138; --nav-txt:#a6adb8; --nav-txt-2:#eef1f5;
  --accent1:rgba(80,100,140,.10); --accent2:rgba(60,75,110,.07);
}
body.dark .card{box-shadow:0 1px 3px rgba(0,0,0,.4)}
body.dark tbody tr:hover td{background:#16273a}
body.dark .btn.primary{background:var(--blue);color:#fff}
body.dark .nav-item.active{background:rgba(59,147,230,.16);color:#fff}
body.dark a{color:#e2bd68}
body.dark .app-top{background:rgba(11,20,32,.9);border-bottom-color:var(--line)}
body.dark .dropzone{background:#12202e;border-color:#2b3a4a}
body.dark .file-row{background:#12202e;border-color:var(--line)}
body.dark .stat .box,body.dark .card,body.dark .modal,body.dark .inp,body.dark select.inp,body.dark textarea.inp{background:var(--card);color:var(--ink);border-color:var(--line)}
body.dark .inp:disabled{background:#1b2a3c;color:#8ea1b6;border:1px dashed #46617e;font-style:italic}
body.dark .btn{background:#182636;color:var(--ink);border-color:#26374b}
body.dark .btn:hover{background:#1f3145}
body.dark .btn.primary{background:linear-gradient(135deg,#c9a24b,#e2bd68);color:#1a1205;border-color:transparent;box-shadow:0 4px 16px rgba(201,162,75,.28)}
body.dark .btn.ghost{background:transparent}
body.dark tbody tr:hover td{background:#15212f}
body.dark thead th{background:#101c29;color:var(--muted);border-color:var(--line)}
body.dark td{border-color:var(--line)}
body.dark .modal .foot{background:#0c1622;border-color:var(--line)}
body.dark .modal .head{border-color:var(--line)}
body.dark .modal .body{color:var(--ink)}
body.dark .modal .kv .k{color:var(--muted)}
body.dark .modal .section-t{color:var(--ink);border-color:var(--line)}
body.dark .modal .banner{background:#132133;border-color:var(--line);color:var(--ink)}
body.dark .banner{background:#2a2416;border-color:#5c4a1e;color:#f0d98a}
.prov-alert{background:#fff5f5;border-color:#f3c3c3;color:#7a1f1f}
body.dark .prov-alert{background:#2e1a1a;border-color:#5c2a2a;color:#f0b0b0}
body.dark .p-inc{background:#3a2a16;color:#f0c078}
body.dark .modal .hint{color:var(--muted)}
body.dark .overlay{background:rgba(2,8,16,.72)}
body.dark .combo-dd,body.dark .combo-opt{background:var(--card);color:var(--ink);border-color:var(--line)}
body.dark .combo-opt:hover{background:#16263a}
body.dark .mtab{color:var(--muted)}
body.dark .mtab.on{color:var(--ink)}
body.dark table th{color:var(--muted)}
body.dark table td{border-color:var(--line)}
body.dark .badge-role{background:rgba(201,162,75,.14);color:#e2bd68;border:1px solid rgba(201,162,75,.3)}
body.dark .stat .box .n{color:#fff}
body.dark .nav-item.active{background:rgba(201,162,75,.16);color:#fff}
body.dark .nav-item.active::before{background:linear-gradient(180deg,#c9a24b,#e2bd68)}
body.dark .sub,body.dark .hint{color:var(--muted)}
body.dark h2,body.dark h3{color:var(--ink)}
body.dark .pill{filter:saturate(.9)}
.hidden{display:none!important}
.sp{flex:1}
.mono{font-family:'SF Mono',ui-monospace,'Consolas',monospace;font-weight:700;color:var(--blue-d);font-variant-numeric:tabular-nums;letter-spacing:.2px}

/* ---------- App shell ---------- */
.app-shell{display:flex;min-height:100vh}
.side-scrim{display:none}
.sidebar{width:248px;flex:0 0 248px;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:var(--nav-txt);position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;z-index:1200;overflow:clip}
.side-brand{padding:20px 18px 14px}
.side-logo{background:#fff;border-radius:12px;padding:12px 14px;display:flex;justify-content:center;box-shadow:var(--sh-sm)}
.side-logo img{height:30px}
.side-accent{height:3px;border-radius:3px;margin:12px 2px 8px;background:linear-gradient(90deg,var(--blue),var(--green),var(--teal),var(--orange))}
.side-app{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--nav-txt);opacity:.7;padding-left:2px}
.side-nav{padding:8px 12px;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.side-nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.nav-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:none;color:var(--nav-txt);padding:10px 12px;border-radius:10px;font-weight:600;font-size:13.5px;transition:.15s;position:relative}
.nav-item .ni-ic{width:20px;text-align:center;font-size:15px}
.nav-item:hover{background:rgba(255,255,255,.06);color:var(--nav-txt-2)}
.nav-item.active{background:rgba(41,163,214,.16);color:#fff}
.nav-item.active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--teal),var(--blue))}
.side-user{border-top:1px solid var(--nav-line);padding:12px}
.su-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.su-av{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#c9a24b,#e8c877);color:#1a1205;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 auto;box-shadow:0 2px 8px rgba(201,162,75,.35)}
.su-meta{flex:1;min-width:0}
.su-name{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-role{color:var(--nav-txt);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-actions{display:flex;gap:6px}
.su-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--nav-txt-2);border-radius:10px;padding:8px 4px;font-size:10.5px;font-weight:600;cursor:pointer;transition:all .15s}
.su-btn span{font-size:15px}
.su-btn:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
.su-btn-out:hover{background:var(--red);border-color:var(--red);color:#fff}

.app-main{flex:1;min-width:0;display:flex;flex-direction:column}
.app-top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:14px 26px}
.modal .foot .btn{position:relative;z-index:2}
.overlay .modal{position:relative;z-index:1}
.top-logout{padding:7px 11px;font-size:15px;line-height:1;background:#fbeaea;border-color:#e7b7b7;color:#b23b3b}
body.dark .top-logout{background:#3a2020;border-color:#6a3535;color:#f0a0a0}
.app-title{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:9px;width:38px;height:38px;font-size:17px;color:var(--ink)}
.app-content{padding:24px 30px 70px;max-width:1440px;width:100%;margin:0 auto}
.wrap{max-width:1200px;margin:0 auto;padding:24px 20px 60px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-sizing:border-box;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 15px;border-radius:10px;font-weight:600;font-size:13px;line-height:1.2;transition:transform .12s ease,box-shadow .15s ease,background .15s,border-color .15s;box-shadow:var(--sh-sm)}
.btn>*{pointer-events:none}
.btn:hover{border-color:#cfd8e3;background:#fbfcfe;transform:translateY(-1px);box-shadow:var(--sh-md)}
.btn:active{transform:translateY(0);box-shadow:var(--sh-sm)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(12,99,169,.28)}
.btn.primary:hover{background:var(--blue-d);color:#fff;box-shadow:0 6px 18px rgba(12,99,169,.34)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}
.btn.ghost:hover{color:var(--ink);background:var(--line-2)}
.btn.danger{background:#fff;border-color:#f3c3c3;color:var(--red)}
.btn.danger:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn.danger-solid{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 2px 8px rgba(220,71,71,.3)}
.btn.danger-solid:hover{filter:brightness(.94);color:#fff}
.btn.ok{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 2px 8px rgba(46,158,87,.28)}
.btn.ok:hover{filter:brightness(.95);color:#fff}
.btn.sm{padding:6px 11px;font-size:12px;border-radius:8px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.badge-role{background:var(--blue-l);color:var(--blue-d);padding:5px 11px;border-radius:20px;font-weight:700;font-size:12px;white-space:nowrap}
.area-row td{background:var(--blue-l)!important;font-weight:800;color:var(--blue-d);font-size:13px;padding:8px 12px!important;border-top:2px solid var(--blue)}
/* ---------- Liquidaciones: cierre económico ---------- */
.liq-purpose{display:flex;align-items:center;gap:14px;margin-bottom:12px;border-left:4px solid var(--blue)}
.liq-purpose-icon{width:42px;height:42px;border-radius:12px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.liq-purpose h2{margin:0 0 3px;font-size:17px}
.liq-purpose-tag{margin-left:auto;padding:6px 10px;border-radius:999px;background:rgba(46,158,87,.1);color:#22723f;font-weight:800;font-size:11px;letter-spacing:.04em}
.liq-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.liq-kpi{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;box-shadow:var(--sh-sm);color:var(--ink)}
.liq-kpi.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(12,99,169,.08)}
.liq-kpi span{display:block;font-size:21px;font-weight:850}
.liq-kpi b{display:block;font-size:12.5px;margin-top:1px}.liq-kpi small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.liq-search{margin:12px 0}.liq-search .inp{max-width:420px}
.liq-table-wrap{overflow:auto}.liq-table{min-width:980px}.liq-table tr.liq-observed td{background:rgba(180,83,9,.055)!important}.liq-table tr.liq-approved td{background:rgba(46,158,87,.045)!important}.liq-doc-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}.liq-doc-badge.ok{background:rgba(46,158,87,.1);color:#237541}.liq-doc-badge.warn{background:rgba(180,83,9,.12);color:#9a4f08}.liq-mobile-card{margin-bottom:8px}.liq-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.liq-summary-grid>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--line-2)}.liq-summary-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.liq-summary-grid b{font-size:13px}.liq-section{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.liq-section-title{font-weight:800;margin-bottom:8px}.liq-checks{display:flex;flex-wrap:wrap;gap:7px}.liq-check{border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:12px;background:var(--card)}.liq-check.ok{border-color:rgba(46,158,87,.35);background:rgba(46,158,87,.06);color:#237541}.liq-check.bad{border-color:rgba(180,83,9,.3);background:rgba(180,83,9,.05);color:#9a4f08}
@media(max-width:760px){.liq-kpis{grid-template-columns:1fr 1fr}.liq-summary-grid{grid-template-columns:1fr 1fr}.liq-purpose-tag{display:none}}
@media(max-width:520px){.liq-kpis{grid-template-columns:1fr}.liq-summary-grid{grid-template-columns:1fr}}

body.dark .area-row td{background:rgba(41,163,214,.14)!important;color:#cfe6f5}
.area-count{display:inline-block;background:var(--blue);color:#fff;border-radius:20px;padding:1px 9px;font-size:11px;margin-left:6px}
/* Alertas SLA por vencer / vencido */
.sla-banner{border-left:4px solid #b45309;background:linear-gradient(135deg,rgba(180,83,9,.06),transparent)}
.sla-chip{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}
.sla-venc{background:rgba(180,35,24,.12);color:#b42318}
.sla-pv{background:rgba(180,83,9,.14);color:#b45309}
.sla-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.sla-item{font-size:12.5px;padding:6px 8px;border-radius:8px;background:rgba(0,0,0,.03);cursor:pointer}
.sla-item:hover{background:rgba(0,0,0,.06)}
body.dark .sla-item{background:rgba(255,255,255,.05)}
tr.tr-venc td{background:rgba(180,35,24,.07)!important}
tr.tr-pv td{background:rgba(180,83,9,.08)!important}
tr.tr-venc td:first-child{box-shadow:inset 3px 0 0 #b42318}
tr.tr-pv td:first-child{box-shadow:inset 3px 0 0 #b45309}
.tk-card.tk-venc{border-left:4px solid #b42318}
.tk-card.tk-pv{border-left:4px solid #b45309}
/* Nacho señalando en el mapa */
.nati-map-icon{background:none;border:none}
.nati-map-flag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:6px 12px 6px 8px;box-shadow:0 4px 14px rgba(0,0,0,.2);white-space:nowrap;animation:natiFloat 3s ease-in-out infinite;width:max-content;max-width:none}
.nati-map-icon{width:auto!important;height:auto!important;background:transparent;border:0}
.nati-map-say{font-size:12.5px;color:#22303e;line-height:1.15}
.nati-map-say b{color:var(--blue)}
body.dark .nati-map-say{color:#e6edf5}
.nati-wave{transform-origin:51px 40px;animation:natiWave 1.6s ease-in-out infinite}
@keyframes natiWave{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-14deg)}75%{transform:rotate(8deg)}}
.coejec-det{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;background:var(--card)}
.coejec-sum{cursor:pointer;font-weight:800;font-size:13.5px;color:var(--ink);list-style:none;display:flex;align-items:center;gap:4px;user-select:none}
.coejec-sum::-webkit-details-marker{display:none}
.coejec-sum::before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s}
.coejec-det[open] .coejec-sum::before{transform:rotate(90deg)}
/* Nacho FAB flotante */
.nati-fab-wrap{position:fixed;right:18px;bottom:18px;z-index:1400;width:58px;height:58px;touch-action:manipulation}.nati-fab-menu{position:fixed;visibility:hidden;max-height:min(70dvh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch}.nati-say{max-height:min(45dvh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.nati-fab-wrap.nati-dragging{opacity:.85;transition:none}
.nati-fab-wrap.nati-dragging .nati-fab{transform:scale(1.08);box-shadow:0 12px 32px rgba(0,0,0,.35);cursor:grabbing}
.nati-fab{width:58px;height:58px;border-radius:50%;background:var(--blue);border:none;box-shadow:0 6px 20px rgba(12,99,169,.45);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .15s;touch-action:none}
.nati-fab:hover{transform:scale(1.06)}
.nati-fab .nati-svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}
.nati-fab-dot{position:absolute;top:-2px;right:-2px;background:#dc4747;color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff}
.nati-fab-menu{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.20);padding:14px;width:360px;max-width:min(92vw,360px);animation:natiFabIn .16s ease}
.nati-say{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:14px 16px;width:360px;max-width:min(92vw,360px);font-size:14px;line-height:1.55;animation:natiFabIn .16s ease;white-space:pre-line}
.nati-chat-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.nati-chat-head b{font-size:15px}
.nati-chat-sub{font-size:11.5px;color:var(--muted);margin-top:1px}
.role-context-banner{display:flex;align-items:center;gap:10px;border:1px solid rgba(12,99,169,.18);background:rgba(12,99,169,.06);border-left:4px solid var(--blue);border-radius:12px;padding:11px 13px;margin:0 0 14px;font-size:13px}.role-context-banner .rc-title{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.role-context-banner .rc-provider{font-size:15px;font-weight:800;color:var(--ink);margin-top:1px}
.nati-chat-form{display:flex;flex-direction:column;gap:8px}
.nati-cmd{width:100%;box-sizing:border-box;min-height:74px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:13.5px;background:#fff;color:var(--ink);outline:none;font-family:inherit;line-height:1.4}
.nati-cmd-actions{display:flex;justify-content:flex-end;gap:8px}
.nati-cmd-go{width:auto;min-width:82px;padding:9px 14px;font-weight:700}
.nati-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.nati-fab-item{font-size:13px}
@media(max-width:520px){.nati-fab-menu,.nati-say{width:auto;max-width:none;left:10px;right:10px}.nati-quick-grid{grid-template-columns:1fr}}

/* V122 · NATI/NACHO CHAT OPERATIVO */
.nati-fab-menu{width:430px;max-width:min(94vw,430px);height:min(72dvh,650px);max-height:650px;padding:0;overflow:hidden;display:flex;flex-direction:column;border-radius:20px}
.nati-chat-head{padding:13px 14px;margin:0;border-bottom:1px solid var(--line);flex:0 0 auto;background:var(--card)}
.nati-chat-log{flex:1 1 auto;min-height:180px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;display:flex;flex-direction:column;gap:9px;background:rgba(12,99,169,.025)}
.nati-msg{display:flex;gap:7px;align-items:flex-end;max-width:92%}
.nati-msg.user{margin-left:auto;justify-content:flex-end}
.nati-msg.assistant{margin-right:auto}
.nati-msg-bubble{padding:9px 11px;border-radius:15px;font-size:13px;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}
.nati-msg.user .nati-msg-bubble{background:var(--blue);color:#fff;border-bottom-right-radius:5px}
.nati-msg.assistant .nati-msg-bubble{background:var(--card);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.nati-msg-thinking .nati-msg-bubble{color:var(--muted);font-style:italic}
.nati-result-card{width:100%;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.06)}
.nati-result-title{padding:10px 11px;font-size:12.8px;font-weight:800;border-bottom:1px solid var(--line)}
.nati-result-meta{font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px}
.nati-result-scroll{overflow-x:auto;max-height:230px;overflow-y:auto}
.nati-result-card table{font-size:11.5px;min-width:520px;margin:0}
.nati-result-card th,.nati-result-card td{padding:6px 8px;white-space:nowrap}
.nati-result-actions{padding:8px 10px;border-top:1px solid var(--line);display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.nati-chat-suggest{padding:8px 10px 2px;display:flex;gap:6px;overflow-x:auto;flex:0 0 auto;background:var(--card)}
.nati-chat-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 9px;font-size:11.5px;white-space:nowrap;cursor:pointer}
.nati-chat-chip:hover{border-color:var(--blue);color:var(--blue)}
.nati-chat-compose{padding:9px 10px 10px;border-top:1px solid var(--line);background:var(--card);display:flex;gap:7px;align-items:flex-end;flex:0 0 auto}
.nati-chat-compose .nati-cmd{min-height:42px;max-height:96px;height:42px;resize:none;padding:9px 10px;font-size:13px}
.nati-chat-send{height:42px;min-width:72px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer;padding:0 12px}
.nati-chat-send:disabled{opacity:.55;cursor:not-allowed}
.nati-chat-empty{font-size:12px;color:var(--muted);padding:5px 2px}
body.dark .nati-chat-log{background:rgba(255,255,255,.018)}
@media(max-width:520px){.nati-fab-menu{position:fixed;visibility:visible;left:8px!important;right:8px!important;top:auto!important;bottom:74px!important;width:auto;max-width:none;height:min(74dvh,620px)}.nati-chat-log{padding:11px}.nati-chat-compose{padding:8px}}

body.dark .nati-say{background:#12202f;color:var(--ink)}
.nati-say-x{float:right;cursor:pointer;color:var(--muted);font-weight:700;margin:-4px -4px 0 8px}
body.dark .nati-fab-menu{background:#12202f}
@keyframes natiFabIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.nati-fab-title{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:2px 4px 8px;border-bottom:1px solid var(--line);margin-bottom:6px}
.nati-fab-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:9px 8px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink)}
.nati-fab-item:hover{background:rgba(12,99,169,.08)}
@media(max-width:860px){ .nati-fab-wrap{right:12px;bottom:12px;width:52px;height:52px} .nati-fab{width:52px;height:52px}
  .app-shell.nav-open ~ .nati-fab-wrap, .app-shell.nav-peek ~ .nati-fab-wrap{display:none} }
body.dark .nati-map-flag{background:#12202f}
.nati-map-say{font-size:11.5px;line-height:1.25}
/* Rutas de técnicos */
.ruta-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.ruta-head{font-size:13px;margin-bottom:8px;color:var(--blue-d)}
body.dark .ruta-head{color:#cfe6f5}
.ruta-stop{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer}
.ruta-stop:hover{background:rgba(0,0,0,.04)}
body.dark .ruta-stop:hover{background:rgba(255,255,255,.05)}
.ruta-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:12px;flex-shrink:0}
/* Tarjetas genéricas de maestro (móvil) */
.m-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--card)}
.m-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;margin-bottom:6px}
.m-card-sub{font-size:11px}
.m-card-line{font-size:12.5px;color:var(--muted);padding:2px 0}
.m-card-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
/* Resumen ejecutivo */
.rz-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.rz-kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
body.dark .rz-kpi{background:#12202f}
.rz-n{font-size:34px;font-weight:800;line-height:1}
.rz-l{font-size:12.5px;color:var(--muted);margin-top:6px;font-weight:600}
.rz-sub{font-size:11px;color:var(--muted);margin-top:2px}
.rz-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.rz-panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
body.dark .rz-panel{background:#12202f}
.rz-panel-t{font-weight:700;font-size:14px;margin-bottom:10px}
.rz-fin{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}
.rz-fin-n{font-size:19px;font-weight:800}
.rz-fin-l{font-size:11.5px;color:var(--muted);margin-top:2px}
.rz-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.rz-bar-lbl{width:38%;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rz-bar-track{flex:1;height:16px;background:var(--blue-l);border-radius:8px;overflow:hidden}
.rz-bar-fill{height:100%;border-radius:8px;min-width:3px;transition:width .4s}
.rz-bar-val{width:34px;text-align:right;font-weight:700;font-size:12.5px}
@media(max-width:760px){ .rz-kpis{grid-template-columns:repeat(2,1fr);gap:9px} .rz-role-kpis{grid-template-columns:repeat(2,1fr)!important} .rz-kpi{padding:13px 10px;border-radius:12px} .rz-kpi .n{font-size:20px} .rz-kpi .l{font-size:10.5px;line-height:1.25} .rz-grid2{grid-template-columns:1fr} .rz-fin{grid-template-columns:1fr;gap:12px} .rz-panel{padding:12px 13px} }
/* PATCH NETO · mapa corporativo y alerta sísmica */
.neto-sismo-list{display:flex;flex-direction:column;gap:6px}.neto-sismo-card{display:grid;grid-template-columns:58px 1fr auto;gap:9px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--card);transition:.15s}.neto-sismo-card.new{border-color:#e5394f;background:linear-gradient(90deg,rgba(229,57,79,.12),transparent)}.neto-sismo-mag{font-size:15px;font-weight:900;color:#d92d3f}.neto-sismo-info{min-width:0}.neto-sismo-info b{font-size:12px}.neto-sismo-dot{font-size:9px;font-weight:900;color:#d92d3f;white-space:nowrap}.neto-sismo-card:not(.new) .neto-sismo-dot{color:var(--muted)}

/* PATCH MAPA 342 · limpio, sin marco negro y sin desbordes al arrastrar */
#peru_map{overflow:hidden!important;outline:none!important;box-shadow:none!important;border:0!important;background:#eef5f8!important}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px;align-items:stretch}.map-main{min-width:0}.map-side-wrap{min-width:0;position:relative}.map-side{height:66vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:2px;display:flex;flex-direction:column;gap:8px}.map-side::-webkit-scrollbar{width:8px}.map-side::-webkit-scrollbar-thumb{background:#c3ccd5;border-radius:10px}.map-side-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 12px;box-shadow:0 2px 8px rgba(20,45,65,.05)}.map-side-card h3{font-size:14px;margin:0 0 8px}.map-side-card .mini-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px}.map-side-card .mini-row:first-of-type{border-top:0}.map-weather-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-top:8px}.map-weather-state{display:flex;gap:8px;align-items:flex-start;min-width:0}.map-weather-emoji{font-size:26px;line-height:1}.map-weather-desc{font-weight:800;font-size:14px;line-height:1.15}.map-weather-place{font-size:11.5px;color:var(--muted);margin-top:3px}.map-weather-temp{font-size:30px;line-height:1;font-weight:900;white-space:nowrap}.map-weather-rain{margin-top:10px;padding:8px 9px;border-radius:10px;background:var(--blue-l);font-size:12px;font-weight:700}.map-weather-rain.raining{background:#e7f1fb;color:#075985}.map-weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.map-weather-metric{border:1px solid var(--line);border-radius:9px;padding:7px 8px;font-size:11px}.map-weather-metric b{display:block;font-size:12.5px;margin-top:2px}.map-weather-risk{margin-top:8px;border-radius:10px;padding:8px 9px;font-size:11.5px;font-weight:750}.map-weather-risk.low{background:#e8f7ee;color:#166534}.map-weather-risk.mid{background:#fff6dc;color:#92400e}.map-weather-risk.high{background:#feeceb;color:#b42318}.map-weather-hours{font-size:10.5px;color:var(--muted);margin-top:7px;line-height:1.45}.map-side-toggle{display:inline-flex}.map-side.closed{display:none}.map-layout.side-closed{grid-template-columns:minmax(0,1fr)}@media(max-width:1050px){.map-layout{grid-template-columns:1fr}.map-side-wrap{order:2}.map-side{height:48vh}.map-side-toggle{display:inline-flex}.map-side-wrap{display:block}.map-layout.side-closed .map-side-wrap{display:none}}
#peru_map:focus,.leaflet-container:focus{outline:none!important;box-shadow:none!important}
body.dark #peru_map{background:#0d1b27!important}
/* MAP-RECT-01: no mostrar el rectángulo de selección de Leaflet. */
#peru_map .leaflet-zoom-box{display:none!important;border:0!important;background:transparent!important}

#peru_map .leaflet-pane{overflow:visible}
#peru_map .leaflet-overlay-pane svg{overflow:visible}
.map-depto-icon{pointer-events:none!important}
.map-depto-label{font-size:10.5px!important;color:#163b55!important}
.map-depto-stats{background:rgba(255,255,255,.96)!important;border:1px solid rgba(22,59,85,.18)!important;box-shadow:0 2px 7px rgba(20,45,65,.14)!important}
.map-emg-badge{background:#c6283d!important}
.map-depto-label{font-size:10.5px!important;color:#163b55!important}
.map-depto-hover{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.map-depto-hover .leaflet-tooltip-content{margin:0!important}
.map-hover-card{min-width:170px;background:rgba(18,32,47,.96);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:8px 10px;box-shadow:0 7px 20px rgba(0,0,0,.22);font-size:11px;line-height:1.35}
.map-hover-card b{font-size:13px}
.map-hover-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:4px}
.map-hover-stats .map-sede-stat,.map-hover-stats .map-emg-stat{color:#fff!important}

.map-depto-icon{background:transparent!important;border:0!important}.map-depto-label{display:flex;flex-direction:column;align-items:center;gap:1px;white-space:nowrap;text-shadow:0 1px 2px rgba(255,255,255,.9),0 0 3px rgba(255,255,255,.9);font-size:11px;color:#18344a;transform:translate(-50%,-50%)}.map-depto-label span{font-size:9px;font-weight:600;opacity:.78}.map-depto-stats{display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(24,52,74,.15);border-radius:999px;padding:2px 5px;font-size:9px;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.12)}.map-sede-stat{color:#0a4f88}.map-emg-stat{color:#c6283d}.map-emg-badge{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#d92d3f;color:#fff;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.28);font-size:10px;font-weight:900;white-space:nowrap}.neto-quake-icon{background:transparent!important;border:0!important}.neto-quake-marker{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.quake-core{position:relative;z-index:3;width:28px;height:28px;border-radius:50%;background:#d92d3f;border:3px solid #fff;box-shadow:0 0 0 2px #d92d3f,0 3px 12px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:900}.quake-pulse,.quake-pulse:before,.quake-pulse:after{position:absolute;content:"";border:2px solid #e5394f;border-radius:50%;width:28px;height:28px;opacity:.75;animation:netoPulse 2.2s ease-out infinite}.quake-pulse:before{animation-delay:.45s}.quake-pulse:after{animation-delay:.9s}.neto-quake-marker.is-new .quake-core{animation:netoCore 1.1s ease-in-out infinite alternate}.nati-map-flag{display:flex;align-items:center;gap:7px;background:#12202f;color:#fff;border:1px solid #e5394f;border-radius:10px;padding:6px 8px;box-shadow:0 6px 18px rgba(0,0,0,.25);white-space:nowrap}.nati-map-flag-icon{font-size:22px}.nati-map-say{font-size:11px;line-height:1.25}.map-quake-tip{font-weight:700}.nati-tip-go{cursor:pointer}
/* V182 · mapa más fluido y legible */
.crono-dept-pane path{transition:fill .16s ease,fill-opacity .16s ease,stroke .16s ease,stroke-width .16s ease,opacity .16s ease;vector-effect:non-scaling-stroke}
.map-context-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.map-context-title{font-size:16px;font-weight:900;line-height:1.15}.map-context-sub{font-size:11.5px;color:var(--muted);margin-top:3px}
.map-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.map-kpi{border:1px solid var(--line);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--card) 92%,var(--blue-l) 8%);min-width:0}.map-kpi span{display:block;font-size:10.5px;color:var(--muted)}.map-kpi b{display:block;font-size:17px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-source-note{font-size:10.5px;color:var(--muted);margin-top:7px;line-height:1.35}.map-loading{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.map-loading:before{content:"";width:9px;height:9px;border:2px solid #c8d3dd;border-top-color:#2678b8;border-radius:50%;animation:mapSpin .75s linear infinite}@keyframes mapSpin{to{transform:rotate(360deg)}}
.map-quake-local{border-left:3px solid #d92d3f;padding-left:8px}.map-quake-empty{padding:8px 0;color:var(--muted);font-size:11.5px}
.map-risk-legend{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.map-risk-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.08)}
@keyframes netoPulse{0%{transform:scale(.45);opacity:.75}70%{transform:scale(1.8);opacity:.18}100%{transform:scale(2.05);opacity:0}}@keyframes netoCore{from{transform:scale(1)}to{transform:scale(1.12)}}
/* PATCH PRONOSTICO OPERATIVO */
.pronostico-op{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;box-shadow:var(--sh-sm)}
.pronostico-op-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.pronostico-op-title{font-weight:800;font-size:14px}.pronostico-op-sub{font-size:11px;color:var(--muted);margin-top:2px}
.pronostico-op-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;padding:10px 12px}.pron-day{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:linear-gradient(180deg,rgba(43,108,176,.06),transparent)}.pron-day.today{border-color:var(--blue)}.pron-day-date{font-size:11px;color:var(--muted);font-weight:700}.pron-day-main{display:flex;align-items:center;gap:7px;margin:5px 0}.pron-day-main b{font-size:17px}.pron-day-meta{font-size:10.5px;color:var(--muted);line-height:1.35}.risk-strip{display:flex;gap:7px;flex-wrap:wrap;padding:0 12px 10px}.risk-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:10.5px;font-weight:800;border:1px solid var(--line)}.risk-chip.low{background:#edf8f1;color:#18733c}.risk-chip.med{background:#fff6e5;color:#9a6400}.risk-chip.high{background:#fff0f0;color:#b3263b}.risk-chip.info{background:var(--blue-l);color:var(--blue-d)}.service-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:0 12px 12px}.service-card{border:1px solid var(--line);border-radius:11px;padding:10px}.service-card h4{margin:0 0 5px;font-size:12px}.service-card p{margin:0;font-size:11px;color:var(--muted);line-height:1.4}.service-source{margin-top:6px;font-size:10px;color:var(--blue)}.impact-box{margin:0 12px 12px;padding:10px;border:1px dashed var(--line);border-radius:11px;background:rgba(43,108,176,.035)}.impact-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:11px}.impact-row:last-child{border-bottom:0}.impact-up{color:#c6283d;font-weight:900}.impact-flat{color:#18733c;font-weight:800}
@media(max-width:700px){.pronostico-op-grid,.service-forecast{grid-template-columns:1fr 1fr}}

@media print{ .sidebar,.app-top,.nati-btn,.nati-bubble,.side-hotzone{display:none!important} .app-main{margin:0!important} .rz-panel,.rz-kpi{break-inside:avoid} }
/* Nacho · mascota guía */
.nati-btn{background:none;border:none;cursor:pointer;padding:2px;border-radius:50%;display:flex;align-items:center;transition:transform .15s;line-height:0}
.nati-btn:hover{transform:scale(1.12) rotate(-6deg)}
.nati-svg{display:block}
@keyframes natiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.nati-bubble{position:fixed;right:18px;bottom:88px;z-index:1390;max-width:300px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:12px 14px}
body.dark .nati-bubble{background:#12202f}
.nati-b-head{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:8px}
.nati-b-head svg{animation:natiFloat 3s ease-in-out infinite}
.nati-b-body{display:flex;flex-direction:column;gap:6px}
.nati-tip{font-size:12.5px;background:var(--blue-l);color:var(--blue-d);border-radius:10px;padding:8px 10px;line-height:1.35}
.nati-tip-go{cursor:pointer;transition:transform .12s,box-shadow .12s;display:flex;align-items:center;justify-content:space-between;gap:8px}
.nati-tip-go:hover{transform:translateX(2px);box-shadow:0 2px 8px rgba(43,108,176,.25)}
.nati-tip-arrow{font-weight:800;opacity:.7}
body.dark .nati-tip{background:rgba(43,108,176,.18);color:#cfe0f2}
.nati-x{position:absolute;top:8px;right:10px;background:none;border:none;font-size:18px;color:var(--muted);cursor:pointer;line-height:1}
.nati-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.nati-steps li{font-size:13.5px;line-height:1.4}
@media(max-width:520px){ .nati-bubble{right:10px;left:10px;bottom:78px;max-width:none} }
/* Nacho tour: aro resaltador + cartel */
.nati-ring{position:fixed;z-index:2950;border:3px solid var(--teal);border-radius:12px;box-shadow:0 0 0 4px rgba(41,163,214,.25),0 0 18px rgba(41,163,214,.5),0 0 0 9999px rgba(8,16,26,.5);pointer-events:none;animation:natiPulse 1.4s ease-in-out infinite}
@keyframes natiPulse{0%,100%{box-shadow:0 0 0 4px rgba(41,163,214,.25),0 0 14px rgba(41,163,214,.4)}50%{box-shadow:0 0 0 7px rgba(41,163,214,.15),0 0 22px rgba(41,163,214,.6)}}
.nati-coach{position:fixed;z-index:3000;width:250px}
.nati-cmd-wrap{display:flex;gap:6px;margin:8px 0 4px;padding:0 2px}
.nati-cmd:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(12,99,169,.08)}
.nati-cmd-go{background:var(--blue);color:#fff;border:none;border-radius:10px;font-size:13px;cursor:pointer}
.nati-cmd-go:hover{background:var(--blue-d)}
.nati-coach-center{width:280px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.nati-coach-backdrop{position:fixed;inset:0;background:rgba(8,16,26,.55);z-index:2900;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.nati-coach-in{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:12px 14px}
body.dark .nati-coach-in{background:#12202f}
.nati-coach-top{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;margin-bottom:6px}
.nati-coach-txt{font-size:13px;line-height:1.4;margin-bottom:10px}
.nati-coach-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}
.user-chip{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}

/* ---------- Tabs (legacy) ---------- */
.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.tab{padding:9px 16px;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--muted);box-shadow:var(--sh-sm)}
.tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ---------- Cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:22px;box-shadow:var(--sh-sm)}
.card h2{margin:0 0 4px;font-size:16px;font-weight:800;letter-spacing:-.01em}
.card .sub{color:var(--muted);font-size:13px;margin-bottom:18px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1fr 1fr 1fr}
label.f{display:block;font-weight:700;font-size:11.5px;margin-bottom:6px;color:var(--ink);letter-spacing:.01em}
label.f .req{color:var(--red)}
.inp,select.inp,textarea.inp{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);transition:.15s}
.inp:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l)}
textarea.inp{min-height:76px;resize:vertical}
.inp:disabled{background:var(--line-2);color:var(--muted);cursor:not-allowed;border-style:dashed;opacity:.85}
.hint{font-size:11.5px;color:var(--muted);margin-top:4px}

/* ---------- Table ---------- */
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.bandeja-estado{display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle}
.tk-table td.col-id,.tk-table th.col-id{white-space:nowrap}
.tk-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.tk-table{min-width:640px}
.tk-table td:last-child,.tk-table th:last-child{text-align:right;white-space:nowrap;width:1%}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-2);font-size:13px;vertical-align:middle}
th{background:transparent;color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;border-bottom:1px solid var(--line)}
tbody tr{transition:.12s}
tbody tr:hover td{background:#f7fafd}
.empty{text-align:center;color:var(--muted);padding:44px 20px}

/* ---------- Status pills ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap;letter-spacing:.01em}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.p-abierto{background:#e9f1ff;color:#1e5bc0}
.p-pend{background:#fff3d7;color:#9a6700}
.p-liq{background:#e2f6ea;color:#1f8a4c}
.p-obs{background:#fde3e3;color:#c23434}
.p-conf{background:#dcf5e1;color:#1a8a3c}
.p-canc{background:#eceff3;color:#647084}
.p-elim{background:#fde0e0;color:#c23434;text-decoration:line-through}
.p-coejec{background:#efe7fb;color:#6b3fc0}
.p-inc{background:#fff0e0;color:#b45309}
.clase-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
.deliv-grupo{border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin-bottom:10px;background:var(--card-solid)}
.deliv-grupo-t{font-weight:700;font-size:12.5px;color:var(--blue);margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid var(--line-2)}
.clase-svc{background:#e7f0fb;color:#0C63A9}
.clase-mat{background:#fdf0e0;color:#b45309}
body.dark .clase-svc{background:#16283c;color:#7fb2e6}
body.dark .clase-mat{background:#3a2a16;color:#f0c078}
.tk-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap}
.tk-tab{background:transparent;border:none;border-bottom:2.5px solid transparent;color:var(--muted);padding:11px 14px;font-weight:650;font-size:13.5px;cursor:pointer;transition:.15s;margin-bottom:-1px}
.tk-tab:hover{color:var(--ink)}
.tk-tab.on{color:var(--blue);border-bottom-color:var(--blue)}
tr.row-exported td{background:rgba(26,138,60,.05)}
tr.row-exported{opacity:.82}
.risk-alto{color:#c23434;font-weight:800}
.risk-bajo{color:#1f8a4c;font-weight:800}

/* ---------- Modal ---------- */
.overlay{position:fixed;inset:0;background:rgba(12,24,40,.55);display:flex;align-items:flex-start;justify-content:center;padding:34px 16px;z-index:50;overflow:auto;animation:ov .18s ease}
.overlay .modal{flex:0 1 auto}.overlay{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@keyframes ov{from{opacity:0}to{opacity:1}}
.modal{background:#ffffff;border-radius:18px;width:100%;max-width:780px;max-height:calc(100dvh - 40px);display:flex;flex-direction:column;box-shadow:var(--sh-lg);animation:pop .2s cubic-bezier(.2,.7,.3,1);overflow:hidden}.modal .body{min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
button,.btn,.su-btn,input[type="button"],input[type="submit"]{touch-action:manipulation}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
.modal .head{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.modal .head h3{margin:0;font-size:16px;font-weight:800}
.modal .body{padding:22px 24px}
.modal .foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;background:#fbfcfe;border-radius:0 0 16px 16px}
.close-x{margin-left:auto;border:none;background:var(--line-2);width:30px;height:30px;border-radius:8px;font-size:18px;color:var(--muted);line-height:1}
.close-x:hover{background:#e6ebf1;color:var(--ink)}
.confirm-card .cc-body{padding:24px 24px 8px}
.confirm-card .cc-title{font-weight:800;font-size:16px;margin-bottom:6px}
.confirm-card .cc-msg{color:var(--muted);font-size:13.5px;line-height:1.5}
.confirm-card .cc-foot{padding:16px 24px;display:flex;gap:10px;justify-content:flex-end}

/* ---------- Detail ---------- */
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;font-size:13px}
.kv .k{color:var(--muted);font-weight:600}
.section-t{font-weight:700;font-size:12.5px;letter-spacing:.01em;text-transform:none;margin:22px 0 12px;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px}
.hist{max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.hist .h{display:flex;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line-2);font-size:12px}
.hist .h:last-child{border-bottom:none}
.hist .ht{color:var(--faint);white-space:nowrap;min-width:120px;font-variant-numeric:tabular-nums}
.file-row{display:flex;align-items:center;gap:8px;font-size:12px;background:#f6f9fc;border:1px solid var(--line);border-radius:10px;padding:7px 11px;margin-top:6px}
.file-row .tag{background:var(--blue-l);color:var(--blue-d);padding:2px 8px;border-radius:6px;font-weight:800;font-size:10px}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:1.5px dashed #c4d0de;border-radius:12px;padding:16px;background:#f8fbfe;cursor:pointer;transition:.15s}
.dropzone:hover{border-color:var(--blue);background:#eef6fd}
.dropzone.drag{border-color:var(--blue);background:#e3f0fb}
.dropzone .dz-ic{font-size:20px;color:var(--blue)}
.dropzone .dz-txt{font-size:12.5px;color:var(--muted)}
.dropzone .dz-name{font-size:12px;color:var(--green);font-weight:700}


/* ---------- V152 · Centro de políticas y uso autorizado ---------- */
.policy-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:11px}
.policy-link{appearance:none;border:0;background:transparent;color:rgba(255,255,255,.60);padding:3px 5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font:inherit}
.policy-link:hover{color:#fff}
.policy-auth-note{margin-top:13px;padding:9px 10px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:10px;color:rgba(255,255,255,.55);font-size:10.5px;line-height:1.45;text-align:center}
.policy-center{max-width:860px}
.policy-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}
.policy-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:7px 10px;border-radius:9px;font-weight:700;cursor:pointer;font-size:12px}
.policy-tabs button.on{border-color:var(--blue);background:var(--blue-l);color:var(--blue-d)}
.policy-section{line-height:1.58;color:var(--text);font-size:13px}
.policy-section h4{margin:15px 0 6px;font-size:14px}
.policy-section p{margin:6px 0}
.policy-section ul{margin:6px 0 8px 18px;padding:0}
.policy-section li{margin:4px 0}
.policy-callout{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2,#f7f9fc);margin:10px 0}
.policy-version{margin-top:16px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}

/* ---------- Login premium (split) ---------- */
.login-card .err,.err{background:#fde3e3;color:#c23434;padding:10px;border-radius:10px;font-size:12px;text-align:center;margin-bottom:12px}
.login2{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#0b1420}
.login2-visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.lv-slides{position:absolute;inset:0}
.lv-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;transform:scale(1.05)}
.lv-slide.on{opacity:1;transform:scale(1)}
.lv-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,26,.25),rgba(8,16,26,.75))}
.lv-content{position:relative;z-index:2;max-width:440px;padding:48px;color:#fff}
.lv-logo img{height:46px;margin-bottom:26px;filter:brightness(0) invert(1);opacity:.95}
.lv-kicker{font-size:12px;letter-spacing:.32em;color:#c9a24b;font-weight:700;margin-bottom:14px}
.lv-title{font-size:38px;line-height:1.1;margin:0 0 14px;font-weight:800;letter-spacing:-.02em}
.lv-sub{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.82);margin:0 0 28px;min-height:50px}
.lv-dots{display:flex;gap:8px}
.lv-dot{width:26px;height:4px;border-radius:3px;background:rgba(255,255,255,.25);transition:all .3s}
.lv-dot.on{background:#c9a24b;width:38px}
.login2-form{display:flex;align-items:center;justify-content:center;padding:40px;background:#0f1a28}
.lf-inner{width:100%;max-width:360px}
.lf-badge{display:inline-block;font-size:11px;letter-spacing:.2em;color:#c9a24b;border:1px solid rgba(201,162,75,.4);border-radius:20px;padding:5px 12px;font-weight:700;margin-bottom:22px}
.lf-h1{color:#fff;font-size:30px;font-weight:800;margin:0 0 6px;letter-spacing:-.02em}
.lf-p{color:rgba(255,255,255,.55);font-size:14px;margin:0 0 26px}
.login2-form .f{color:rgba(255,255,255,.7)}
.lf-inp{background:#16273a;border:1px solid #24384f;color:#fff;font-size:15px;padding:13px 14px;width:100%}
.lf-inp:focus{border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.18)}
.lf-inp::placeholder{color:#5f7285}
.lf-btn{width:100%;margin-top:22px;background:linear-gradient(135deg,#c9a24b,#e2bd68);color:#1a1205;font-weight:800;font-size:15px;padding:14px;border:none;box-shadow:0 6px 20px rgba(201,162,75,.3)}
.lf-btn:hover{filter:brightness(1.05)}
.lf-ghost{width:100%;margin-top:12px;background:transparent;border:1px solid #24384f;color:rgba(255,255,255,.8)}
.lf-ghost:hover{border-color:#c9a24b;color:#fff}
.lf-foot{text-align:center;color:rgba(255,255,255,.35);font-size:11.5px;margin-top:26px;letter-spacing:.02em}
@media(max-width:860px){
  .login2{grid-template-columns:1fr}
  .login2-visual{min-height:230px}
  .lv-content{padding:30px}
  .lv-title{font-size:28px}
  .lv-sub{min-height:auto;margin-bottom:16px}
}

/* ---------- misc ---------- */
.stat{display:flex;gap:14px;flex-wrap:wrap}
.stat .box{flex:1;min-width:170px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh-sm)}
.stat .box .n{font-size:27px;font-weight:800;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat .box .l{font-size:12px;color:var(--muted);margin-top:2px}
.bag{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px;box-shadow:var(--sh-sm)}
.bag .amt{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.toast{position:fixed;bottom:24px;right:24px;background:#2a2f38;color:#fff;padding:13px 18px;border-radius:12px;font-size:13px;z-index:80;box-shadow:var(--sh-lg);opacity:0;transform:translateY(10px);transition:.25s;display:flex;align-items:center}
.toast.show{opacity:1;transform:translateY(0)}
.banner{background:var(--amber-l);border:1px solid #f0d9a8;color:var(--amber);padding:11px 14px;border-radius:10px;font-size:12.5px;margin-bottom:16px}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}
.legend{font-size:11.5px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.filterbar .inp{width:auto;flex:0 0 auto;padding:8px 10px;font-size:12.5px}
.filterbar .fb-q{flex:1 1 220px;min-width:180px}
@media(max-width:860px){ .filterbar .inp{flex:1 1 100%} }

/* V154 · encabezado de detalle robusto en móvil */
.ticket-detail-modal .ticket-modal-top{flex:0 0 auto;min-width:0;background:var(--card-solid);position:relative;z-index:24}
.ticket-detail-modal .ticket-detail-head{align-items:flex-start}
.ticket-detail-modal .ticket-heading{flex:1 1 auto;min-width:0}
.ticket-detail-modal .ticket-heading-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ticket-detail-modal .ticket-heading-main h3{font-size:18px;line-height:1.2;letter-spacing:-.01em;min-width:0}
.ticket-detail-modal .ticket-heading-main .pill{flex:0 0 auto}
.ticket-detail-modal .ticket-heading-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;font-size:12.5px;color:var(--muted)}
.ticket-detail-modal .ticket-heading-meta:empty{display:none}
.ticket-detail-modal .tk-tabs{flex:0 0 auto;min-height:44px;align-items:stretch}
.ticket-detail-modal .tk-tab{display:flex;align-items:center;justify-content:center;min-height:44px}

/* ---------- responsive ---------- */
/* pestañas internas de Maestro */
.mtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.mtab{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:9px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.mtab:hover{color:var(--ink);border-color:var(--blue)}
.mtab.on{background:var(--blue);color:#1a1205;border-color:transparent;font-weight:700}
.map-tip{background:rgba(15,26,40,.92)!important;color:#fff!important;border:none!important;border-radius:6px!important;font-size:11px!important;padding:3px 7px!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}
.map-tip::before{display:none!important}
/* ---------- búsqueda global ---------- */
.gsearch{position:relative;margin-right:12px;max-width:280px;flex:1 1 200px}
.gsearch .inp{padding:8px 12px;font-size:13px}
.gsearch-dd{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:var(--card-solid);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-lg);max-height:360px;overflow:auto;z-index:1300}
.gsearch-dd>*{background:var(--card-solid)}
.gs-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line-2)}
.gs-item:hover{background:var(--blue-l)}
/* campanita de alertas */
.bell-wrap{position:relative;margin-right:10px}
.bell{background:transparent;border:1px solid var(--line);border-radius:10px;width:38px;height:38px;font-size:17px;cursor:pointer;position:relative;color:var(--ink)}
.bell:hover{border-color:var(--blue)}
.bell-badge{position:absolute;top:-6px;right:-6px;background:#e0a43b;color:#1a1205;border-radius:10px;font-size:11px;font-weight:800;padding:1px 6px;min-width:18px}
.bell-badge.bad{background:#dc4747;color:#fff}
.alerts-dd{position:absolute;right:0;top:100%;margin-top:6px;width:320px;max-width:80vw;background:var(--card-solid);border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-lg);max-height:400px;overflow:auto;z-index:1300}
.alerts-h{padding:10px 12px;font-weight:800;border-bottom:1px solid var(--line);font-size:13px}
.al-item{display:flex;gap:10px;align-items:center;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line-2);font-size:12.5px}
.al-item:hover{background:var(--blue-l)}
.al-tx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Mi día */
.mid-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.mid-chip{background:var(--card);border:1px solid var(--line);border-left-width:4px;border-radius:10px;padding:12px 18px;min-width:110px}
.mid-n{font-size:30px;font-weight:800;line-height:1}
.mid-l{color:var(--muted);font-size:12px;margin-top:4px}
/* línea de tiempo del ticket */
.timeline{display:flex;flex-direction:column;gap:0;margin:8px 0 16px;position:relative;isolation:isolate}
.otoc-compact{display:inline-flex;flex-direction:column;gap:3px;min-width:92px;white-space:nowrap}
.otoc-row{display:grid;grid-template-columns:24px 1fr;gap:6px;align-items:center;line-height:1.2}
.otoc-row b{font-size:10px;color:var(--muted);letter-spacing:.04em}
.otoc-row .mono{font-size:12px;color:var(--ink);font-weight:700}
.cc-proof-card{margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cc-proof-thumb{width:72px;height:58px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:var(--soft)}
.cc-proof-meta{min-width:0;flex:1}
.cc-proof-title{font-weight:800;color:var(--ink);margin-bottom:2px}
.cc-proof-name{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}
.cc-proof-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cc-proof-input{display:none}
.cc-proof-card{box-shadow:0 6px 18px rgba(17,24,39,.05)}
.cc-proof-card.ready{border-color:rgba(46,158,87,.35);background:rgba(46,158,87,.045)}
.cc-proof-card.pending{border-style:dashed}
.cc-proof-actions .btn{white-space:nowrap}
.ssoma-readonly-summary{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);margin-bottom:10px}
.ssoma-readonly-summary .section-t{border:0;margin:0 0 8px;padding:0}
.ssoma-readonly-summary{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);margin-bottom:12px}
.ssoma-readonly-summary .kv{margin-top:0}

.tl-item{display:flex;gap:12px;align-items:flex-start;position:relative;padding:6px 0}
.tl-item:not(:last-child)::before{content:"";position:absolute;left:15px;top:30px;bottom:-6px;width:2px;background:var(--line);z-index:0}
.tl-item.on:not(:last-child)::before{background:var(--blue)}
.tl-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--card);border:2px solid var(--line);flex:0 0 auto;z-index:1}
.tl-item.on .tl-dot{border-color:var(--blue);background:var(--blue-l)}
.tl-item.off{opacity:.45}
.tl-body{padding-top:5px}
@media(max-width:620px){
  #peru_map{height:52vh!important}
  .mapfilters{flex-direction:column;align-items:stretch!important}
  .mapfilters .inp,.mapfilters .btn{width:100%}
  .legend{flex-wrap:wrap;font-size:11px}
  .timeline{margin:6px 0 12px}
  .tl-dot{width:26px;height:26px;font-size:12px}
  .tl-item{gap:10px;padding:5px 0}
  .tl-item:not(:last-child)::before{left:13px;top:26px}
  .tl-l{font-size:12.5px}
  .tl-t{font-size:11px}
}
.tl-l{font-weight:700;font-size:13px}
.tl-t{color:var(--muted);font-size:12px}
.tl-gap{color:var(--blue);font-weight:600}
.mid-calm{margin-top:10px;padding:12px 16px;background:rgba(46,158,87,.10);border:1px solid rgba(46,158,87,.35);border-radius:10px;color:#1a7f37;font-size:13.5px;font-weight:600}
/* combobox digitables (especialidad, cuenta, tipo) */
.combo-dd{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--card-solid);border:1px solid var(--line);border-radius:10px;max-height:260px;overflow:auto;box-shadow:var(--sh-lg);margin-top:4px}
.combo-opt{padding:9px 12px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line-2)}
.combo-opt:hover{background:var(--blue-l)}
.notas{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.nota{background:var(--blue-l);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.nota-h{margin-bottom:3px;font-size:12px}
@media(max-width:860px){ .gsearch{max-width:150px} .gsearch .inp::placeholder{color:transparent} }
/* ---------- Modo TV (proyección) ---------- */
.tv-wrap{background:#0b1420;color:#fff;min-height:100vh;padding:24px 32px;position:fixed;inset:0;z-index:2000;overflow:auto}
.tv-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.tv-brand{display:flex;align-items:center;gap:14px}
.tv-brand img{height:44px;background:#fff;border-radius:8px;padding:4px}
.tv-title{font-size:26px;font-weight:800}
.tv-sub{color:#93a4b8;font-size:14px}
.tv-clock{font-size:28px;font-weight:800;color:#c9a24b;letter-spacing:.02em}
.tv-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.tv-kpi{background:#0f1a28;border:1px solid #1d2c3e;border-radius:16px;padding:24px;text-align:center}
.tv-kpi.warn{border-color:#e0a43b}.tv-kpi.bad{border-color:#dc4747}.tv-kpi.ok{border-color:#2e9e57}
.tv-k-n{font-size:64px;font-weight:800;line-height:1}
.tv-kpi.warn .tv-k-n{color:#e0a43b}.tv-kpi.bad .tv-k-n{color:#dc4747}.tv-kpi.ok .tv-k-n{color:#2e9e57}
.tv-k-l{color:#93a4b8;font-size:16px;margin-top:8px;text-transform:uppercase;letter-spacing:.05em}
.tv-cols{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}
.tv-panel{background:#0f1a28;border:1px solid #1d2c3e;border-radius:16px;padding:20px}
.tv-panel h3{margin:0 0 16px;font-size:20px;color:#c9a24b}
.tv-accs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.tv-acc{background:#16273a;border-radius:12px;padding:18px;text-align:center}
.tv-acc-n{font-size:40px;font-weight:800;color:#fff}
.tv-acc-l{color:#93a4b8;font-size:14px;margin-top:4px}
.tv-list{display:flex;flex-direction:column;gap:10px}
.tv-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:#16273a;border-radius:10px;font-size:16px}
.tv-tk{font-weight:800;color:#c9a24b;min-width:150px}
.tv-se{flex:1;color:#cdd8e4}
.tv-foot{text-align:center;color:#5f7285;margin-top:20px;font-size:13px}
@media(max-width:900px){ .tv-kpis{grid-template-columns:repeat(2,1fr)} .tv-cols{grid-template-columns:1fr} .tv-k-n{font-size:44px} }
.leaflet-tooltip{white-space:nowrap}
/* ---------- tarjetas de ticket (móvil) ---------- */
.tk-cards{display:none}
.tk-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s,transform .05s}
.tk-card:active{transform:scale(.99)}
.tk-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.tk-pill{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px}.tk-otif{font-size:11px;font-weight:700}
.tk-id{font-size:13px;font-weight:700;color:var(--brand)}
.tk-cuenta{font-weight:600;font-size:14px;margin-bottom:4px}
.tk-meta{font-size:12.5px;color:var(--muted);display:flex;gap:5px;flex-wrap:wrap;margin-bottom:3px}
.tk-line{font-size:12.5px;margin-top:3px}
.tk-lbl{color:var(--muted);font-weight:600}
/* tarjetas de clima estilo Google */
.clima-compact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:14px;box-shadow:var(--sh-sm)}
.clima-compact-lbl{font-size:12px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:5px}
.clima-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;background:var(--blue-l);color:var(--ink);border-radius:20px;padding:4px 10px}
.clima-pill .cp-ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.clima-pill .cp-ico svg{width:18px;height:18px;display:block}
.clima-pill.warn{background:#fff0e0;color:#b45309}
.clima-compact-more{margin-left:auto;font-size:11.5px;color:var(--blue);cursor:pointer;font-weight:700;white-space:nowrap}
.clima-card{border-radius:16px;padding:14px 16px;min-width:0;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.12);position:relative;overflow:hidden}
.clima-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:10px}
.clima-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.clima-depto{font-weight:700;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.15)}
.clima-ico{margin-top:-4px}
.clima-ico svg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}
.clima-temp{font-size:40px;font-weight:800;line-height:1;margin-top:2px;text-shadow:0 1px 3px rgba(0,0,0,.18)}
.clima-desc{font-size:13px;font-weight:600;opacity:.95}
.clima-horas{display:flex;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.25)}
.ch-col{flex:1;text-align:center;background:rgba(255,255,255,.12);border-radius:8px;padding:5px 2px}
.ch-col.ch-lluvia{background:rgba(255,255,255,.28)}
.ch-h{font-size:10.5px;font-weight:700;opacity:.9}
.ch-ic{margin:1px 0}
.ch-ic svg{width:20px;height:20px;display:inline-block}
.ch-p{font-size:10px;font-weight:700;opacity:.95}
.clima-meta{font-size:11.5px;opacity:.9;margin-top:4px}
.clima-recos{margin-top:8px;border-top:1px solid rgba(255,255,255,.25);padding-top:6px}
.clima-reco{font-size:11px;margin-top:3px;background:rgba(255,255,255,.18);border-radius:6px;padding:4px 6px;backdrop-filter:blur(2px)}
.tk-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:11.5px}
body.dark .tk-card{background:#12202f;border-color:var(--line)}
/* ---------- barra lateral PC: hover estable + botón ☰ ---------- */
.side-hotzone{display:none}
@media(min-width:861px){
  .side-hotzone{
    display:block;position:fixed;left:0;top:0;width:10px;height:100vh;height:100dvh;
    z-index:1205;background:transparent;pointer-events:auto
  }
  .sidebar{
    position:fixed;left:0;top:0;transform:translateX(-100%);
    transition:transform .16s ease;box-shadow:var(--sh-lg);overflow:clip;
    contain:layout paint;will-change:transform;pointer-events:none
  }
  .sidebar .side-nav{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto;overflow-x:hidden}
  .sidebar .side-nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
  .app-shell.nav-peek .sidebar,
  .app-shell.nav-open .sidebar{transform:translateX(0);pointer-events:auto}
  .app-main{transition:margin-left .16s ease}
  .app-shell.nav-open .app-main{margin-left:248px}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
}
/* ---------- botón subir ---------- */
#scrollTop{position:fixed;right:18px;bottom:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:16px;box-shadow:var(--sh-md);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;z-index:70}
#scrollTop.show{opacity:.9;pointer-events:auto;transform:none}
#scrollTop:hover{opacity:1;color:var(--blue);border-color:var(--blue)}
@media(max-width:860px){
  body{background-attachment:scroll}
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .22s ease;box-shadow:var(--sh-lg);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;width:82vw;max-width:300px;overflow:clip;pointer-events:none}
  .sidebar .side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
  .sidebar .side-nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
  .sidebar .side-user{flex:0 0 auto}
  .app-shell.nav-open .sidebar{transform:none;pointer-events:auto}
  .app-shell.nav-open .side-scrim{display:block;position:fixed;inset:0;background:rgba(10,20,35,.45);z-index:1150}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .app-top{padding:11px 14px;gap:8px}
  .app-content{padding:16px 12px 76px}
  .app-top .btn[data-action="myPass"]{display:none}
  .app-top .badge-role{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-title{font-size:15px}
  /* Tarjetas: más aire y esquinas suaves */
  .card{padding:17px 15px;border-radius:15px;margin-bottom:16px}
  .card h2{font-size:16px}
  .g2,.g3{grid-template-columns:1fr;gap:10px}
  /* Tablas de datos: scroll horizontal suave con indicador */
  table:not(.tk-table){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border:1px solid var(--line-2);border-radius:12px}
  table:not(.tk-table) th{font-size:10.5px;padding:9px 10px;letter-spacing:.02em;white-space:nowrap;position:sticky;top:0;background:var(--card)}
  table:not(.tk-table) td{font-size:12.5px;padding:10px;vertical-align:top}
  .card>table:not(.tk-table){margin-top:6px}
  .tk-table{display:none}
  .tk-cards{display:block}
  /* Modales a pantalla casi completa, cómodos */
  .overlay{padding:0;align-items:flex-end}
  .modal{max-width:100%;max-height:92dvh;height:auto;display:flex;flex-direction:column;overflow:hidden;border-radius:18px 18px 0 0;animation:sheetUp .25s cubic-bezier(.2,.7,.3,1);background:var(--card-solid)}
  .modal .body{padding:16px;background:var(--card-solid);flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .modal .head{padding:14px 16px;background:var(--card-solid);flex:0 0 auto}
  .modal .foot{padding:10px 12px;position:sticky;bottom:0;z-index:20;background:var(--card-solid);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;flex:0 0 auto}
  .modal button,.modal .btn{touch-action:manipulation;min-height:44px}
  .modal .foot .btn{flex:1 1 auto;min-width:0;font-size:13px;padding:11px 10px;min-height:44px;white-space:nowrap}
  .tk-tabs{padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;background:var(--card-solid)}
  .tk-tab{white-space:nowrap;padding:11px 12px}
  .kv{grid-template-columns:118px 1fr;gap:4px 10px}
  /* KPIs en rejilla de 2, legibles */
  .stat{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px}
  .stat .box{min-width:0;padding:14px 12px;border-radius:14px}
  .stat .box .n{font-size:22px}
  .stat .box .l{font-size:11px;line-height:1.25;white-space:normal}
  .clima-grid{grid-template-columns:1fr}
  .clima-temp{font-size:34px}
  /* Pestañas y filtros: scroll horizontal con snap */
  .filterbar,.mtabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scroll-snap-type:x proximity;gap:6px;padding-bottom:2px}
  .filterbar::-webkit-scrollbar,.mtabs::-webkit-scrollbar,.tk-tabs::-webkit-scrollbar{height:0}
  .filterbar .inp,.filterbar select{min-width:150px;scroll-snap-align:start}
  .mtab{white-space:nowrap;scroll-snap-align:start;padding:9px 13px}
  /* Formularios: campos cómodos para el dedo */
  h2{font-size:17px}
  .app-content{font-size:14px}
  .inp,select.inp,textarea.inp{padding:12px;font-size:15px}
  label.f{font-size:12.5px}
  .combo-dd{max-height:220px}
  .grid.g2>div,.grid.g3>div{min-width:0}
  .btn{min-height:42px;padding:10px 14px}
  .btn.sm{min-height:36px}
  /* V154 · modal ticket: head y tabs nunca se superponen ni se recortan */
  .ticket-detail-modal{max-height:94dvh;height:94dvh;border-radius:18px 18px 0 0}
  .ticket-detail-modal .ticket-modal-top{flex:0 0 auto;overflow:visible;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(15,23,42,.02)}
  .ticket-detail-modal .ticket-detail-head{padding:14px 14px 12px;border-bottom:0;gap:10px;min-height:0}
  .ticket-detail-modal .ticket-heading-main{align-items:flex-start;gap:7px}
  .ticket-detail-modal .ticket-heading-main h3{font-size:18px;line-height:1.18;overflow-wrap:anywhere}
  .ticket-detail-modal .ticket-heading-main .pill{margin-top:0}
  .ticket-detail-modal .ticket-heading-meta{margin-top:6px;line-height:1.25}
  .ticket-detail-modal .close-x{flex:0 0 44px;width:44px;height:44px;border-radius:11px;margin-top:0}
  .ticket-detail-modal .tk-tabs{display:flex;flex-wrap:nowrap;gap:0;padding:0 10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:48px;height:48px;background:var(--card-solid);position:relative;z-index:26}
  .ticket-detail-modal .tk-tabs::-webkit-scrollbar{display:none}
  .ticket-detail-modal .tk-tab{flex:0 0 auto;min-height:48px;height:48px;padding:0 13px;margin:0;border-bottom-width:3px;font-size:13px;line-height:1;white-space:nowrap}
  .ticket-detail-modal .body{flex:1 1 0;min-height:0;padding-top:16px;position:relative;z-index:1}
  .ticket-detail-modal .foot{flex:0 0 auto;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  /* Cards móviles de tickets (tk-cards) más presentables */
  .tk-cards .m-card{border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:var(--sh-sm)}
}
@keyframes sheetUp{from{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}
@media(max-width:520px){
  .stat{grid-template-columns:1fr!important}
  .clima-grid{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr;gap:2px}
  .kv .k{font-weight:700;margin-top:8px;color:var(--muted)}
  .modal .foot .btn{flex:1 1 calc(50% - 4px)}
}

/* v28 — Nueva emergencia ampliada en escritorio */
@media (min-width: 901px){
  .emg-form-wide{
    width:min(1280px, calc(100vw - 56px));
    max-width:none !important;
  }
  .emg-form-wide .emg-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
  .emg-form-wide .emg-span-2{grid-column:span 2;}
  .emg-form-wide .emg-span-3{grid-column:1/-1;}
  .emg-form-wide .emg-description{
    min-height:150px;
  }
  .emg-form-wide .emg-sustento{
    min-height:150px;
  }
}
@media (max-width:900px){
  .emg-form-wide .emg-grid{
    display:block;
  }
  .emg-form-wide .emg-grid > *{
    margin-bottom:12px;
  }
}


/* v29 — FORCE expanded Nueva EMG desktop layout */
.emg-desktop-shell{
  width:100%;
  max-width:none !important;
  margin:0 auto;
}
.emg-desktop-shell > .card,
.emg-desktop-shell .card{
  max-width:none !important;
}
@media (min-width:901px){
  .emg-desktop-shell{
    width:min(1400px, calc(100vw - 48px)) !important;
  }
  .emg-desktop-shell form,
  .emg-desktop-shell .form,
  .emg-desktop-shell .grid,
  .emg-desktop-shell .form-grid,
  .emg-desktop-shell .new-emg-grid{
    width:100% !important;
    max-width:none !important;
  }
  .emg-desktop-shell .grid,
  .emg-desktop-shell .form-grid,
  .emg-desktop-shell .new-emg-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .emg-desktop-shell textarea{
    min-height:145px;
  }
  .emg-desktop-shell .field-span-2{grid-column:span 2 !important;}
  .emg-desktop-shell .field-span-3{grid-column:1/-1 !important;}
}
@media (max-width:900px){
  .emg-desktop-shell{
    width:100% !important;
  }
}


body.emg-open .modal,
body.emg-open .modal .modal-card,
body.emg-open .dialog{
  max-width:min(1400px,calc(100vw - 32px)) !important;
}


/* v34 — Nueva EMG: ancho real de escritorio, sin max-width heredado */
.emg-desktop-shell{
  width:100% !important;
  max-width:none !important;
}
.emg-form-card{
  width:100% !important;
  max-width:none !important;
}
.emg-form-card .emg-grid{
  width:100% !important;
  max-width:none !important;
}
@media (min-width:901px){
  .emg-desktop-shell,
  .emg-form-card{
    width:100% !important;
    max-width:none !important;
  }
  .emg-form-card .emg-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  .emg-form-card .emg-grid > div[style*="grid-column:1/-1"]{
    grid-column:1/-1 !important;
  }
  .emg-form-card textarea{
    min-height:150px;
  }
}
@media (max-width:900px){
  .emg-form-card .emg-grid{
    display:block !important;
  }
  .emg-form-card .emg-grid > div{
    margin-bottom:12px;
  }
}


/* v41 — TKT/SOLPED aún más compacto, sin texto auxiliar */

/* v40 — TKT/SOLPED compacto y alineado al estilo general */

/* v38 — Organización corporativa */
.org-card{max-width:none}
.org-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--muted);margin-bottom:5px}
.org-actions{display:flex;gap:8px;flex-wrap:wrap}
.org-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.org-section{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.55)}
.org-section-title{font-weight:800;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.org-section-title span{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--muted)}
.org-list{display:flex;flex-direction:column}
.org-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line)}
.org-item:last-child{border-bottom:0}
.org-item-main{display:flex;align-items:center;gap:10px;min-width:0}
.org-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);flex:0 0 auto}
.org-name{font-weight:750}
.org-note{margin-top:10px;padding:9px 10px;border-radius:10px;background:var(--soft);font-size:12px;color:var(--muted)}
.org-assignment{margin-top:16px;padding:14px;border:1px dashed var(--line);border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.org-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}
.org-flow span{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-weight:650}
.org-flow b{color:var(--muted)}
@media(max-width:800px){.org-layout{grid-template-columns:1fr}}


.org-row-actions{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.org-meta{font-size:12px;color:var(--muted);margin-top:2px}
.org-section{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.org-item{min-height:62px}
.org-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}
@media(max-width:800px){.org-row-actions{flex-wrap:wrap}.org-name{white-space:normal}}


/* ORGANIZACION · editor de gerencias */
.org-dialog{width:min(760px,calc(100vw - 32px));max-height:min(86vh,760px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(12,24,40,.20)}
.org-dialog-head{display:flex;align-items:flex-start;gap:14px;padding:22px 24px 18px;border-bottom:1px solid var(--line-2);background:linear-gradient(135deg,rgba(245,239,225,.88),rgba(255,255,255,.74))}
.org-dialog-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(120,100,70,.14);font-size:20px;flex:0 0 auto}
.org-dialog-title{min-width:0;flex:1}
.org-dialog-title h3{margin:3px 0 4px;font-size:20px;letter-spacing:-.02em}
.org-dialog-title p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45}
.org-dialog-close{margin-left:auto}
.org-dialog-body{padding:20px 24px;overflow:auto}
.org-form-section{padding:0 0 20px}
.org-form-section+.org-form-section{padding-top:18px;border-top:1px solid var(--line-2)}
.org-form-label{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--text);margin-bottom:7px}
.org-form-help{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.4}
.org-gerencia-input{height:44px;font-size:15px;font-weight:650}
.org-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px}
.org-count{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;background:rgba(194,168,117,.14);color:var(--text);white-space:nowrap}
.org-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.org-area-option{position:relative;display:flex;align-items:center;gap:11px;min-height:64px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:var(--soft);cursor:pointer;transition:.15s ease}
.org-area-option:hover{border-color:rgba(120,100,70,.30);transform:translateY(-1px)}
.org-area-option input{position:absolute;opacity:0;pointer-events:none}
.org-area-check{width:19px;height:19px;border-radius:6px;border:1.5px solid #b9b09f;background:#fff;flex:0 0 auto;position:relative}
.org-area-option input:checked+.org-area-check{background:#756548;border-color:#756548}
.org-area-option input:checked+.org-area-check:after{content:"✓";position:absolute;color:#fff;font-size:13px;font-weight:900;left:3px;top:0}
.org-area-copy{display:flex;flex-direction:column;min-width:0}
.org-area-copy strong{font-size:13px;line-height:1.25}
.org-area-copy small{font-size:10.5px;color:var(--muted);margin-top:3px}
.org-protected{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid rgba(120,100,70,.16);background:rgba(245,239,225,.55);border-radius:12px}
.org-protected span{font-size:15px}
.org-protected strong,.org-protected small{display:block}
.org-protected strong{font-size:11.5px}
.org-protected small{font-size:10.5px;color:var(--muted);margin-top:2px;line-height:1.35}
.org-dialog-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:15px 24px;border-top:1px solid var(--line-2);background:rgba(250,250,248,.88)}
@media(max-width:650px){.org-area-grid{grid-template-columns:1fr}.org-dialog-head,.org-dialog-body{padding-left:17px;padding-right:17px}.org-dialog-foot{padding:13px 17px;flex-wrap:wrap}.org-dialog-foot .btn.primary{flex:1}}


/* ORGANIZACIÓN · centrado del editor */
.org-dialog{
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  justify-self:center!important;
}


/* ORGANIZACIÓN · diálogos de edición centrados */
.modal-overlay .org-dialog{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0 auto!important;
  align-self:center!important;
  justify-self:center!important;
}
.modal-overlay:has(.org-dialog){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.org-dialog--area .org-area-grid--single{grid-template-columns:1fr}
.org-area-option--static{cursor:default;transform:none!important}
.org-area-check--static{background:#756548;border-color:#756548;color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center}
.org-area-check--neutral{display:grid;place-items:center;color:var(--muted);font-weight:800}
.org-dialog--area{width:min(680px,calc(100vw - 32px))}


/* ORGANIZACIÓN · centrado absoluto de los diálogos */
.modal-overlay:has(.org-dialog){
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  box-sizing:border-box!important;
}
.modal-overlay:has(.org-dialog) > .modal,
.modal-overlay:has(.org-dialog) > div{
  margin:0 auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
.modal-overlay:has(.org-dialog) .org-dialog{
  position:relative!important;
  inset:auto!important;
  margin:0 auto!important;
  transform:none!important;
  flex:0 1 auto!important;
}
.org-users-list{display:flex;flex-direction:column;gap:7px;max-height:220px;overflow:auto;padding-right:2px}
.org-user-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.org-user-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(117,101,72,.14);color:var(--text);font-size:12px;font-weight:900;flex:0 0 auto}
.org-user-copy{min-width:0}
.org-user-copy strong,.org-user-copy small{display:block}
.org-user-copy strong{font-size:12px}
.org-user-copy small{font-size:10.5px;color:var(--muted);margin-top:2px}
.org-users-empty{display:flex;align-items:center;gap:10px;padding:13px;border:1px dashed var(--line);border-radius:12px;background:var(--soft)}
.org-users-empty>span{font-size:18px}
.org-users-empty strong,.org-users-empty small{display:block}
.org-users-empty strong{font-size:11.5px}
.org-users-empty small{font-size:10.5px;color:var(--muted);margin-top:2px}


/* ORGANIZACIÓN · creación y edición siempre centradas */
.modal-overlay:has(.org-dialog){
  position:fixed!important; inset:0!important;
  width:100vw!important; height:100vh!important;
  padding:0!important; margin:0!important;
  display:grid!important; place-items:center!important;
}
.modal-overlay:has(.org-dialog) .modal,
.modal-overlay:has(.org-dialog) .modal-card,
.modal-overlay:has(.org-dialog) > div{
  margin:0!important; left:0!important; right:auto!important;
  transform:none!important;
}
.modal-overlay:has(.org-dialog) .org-dialog{
  grid-column:1!important; grid-row:1!important;
  margin:0!important; left:50%!important;
  transform:translateX(-50%)!important;
}
.org-dialog--create{width:min(700px,calc(100vw - 32px))}


/* ORGANIZACIÓN · centrado real sobre el contenedor que usa dialog() */
#dialogHost > .overlay{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#dialogHost > .overlay > .modal{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  margin:0 auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#dialogHost > .overlay > .modal:has(.org-dialog){
  width:min(760px,calc(100vw - 40px))!important;
  max-width:min(760px,calc(100vw - 40px))!important;
}
#dialogHost > .overlay > .modal:has(.org-dialog) .org-dialog{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
@media(max-width:700px){
  #dialogHost > .overlay > .modal:has(.org-dialog){
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
  }
}


<style>
.emg-map-count{background:transparent!important;border:0!important}.emg-map-count span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:26px;padding:0 8px;border-radius:14px;background:#d92d3f;color:#fff;font-weight:800;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.18);white-space:nowrap}
/* V79 · cotización de materiales */
.quote-price-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:var(--card);max-height:430px}
.quote-price-table{width:100%;border-collapse:separate;border-spacing:0;margin:0}
.quote-price-table th{position:sticky;top:0;z-index:2;background:#f7f9fc;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#64748b;padding:9px 10px;border-bottom:1px solid var(--line)}
.quote-price-table td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:12px}
.quote-price-table tr:last-child td{border-bottom:0}
.quote-pu{min-width:105px;text-align:right;font-variant-numeric:tabular-nums}
.quote-total-box{margin-top:10px;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;font-weight:800}
.quote-total-box .inp{max-width:160px;text-align:right;font-weight:900;background:#fff}

/* V132 · PAM visits required defaults / persistence hardening */
.material-summary-list{gap:5px!important}
.material-summary-item{padding:6px 9px!important;border-radius:8px!important}
.material-summary-item .v131-mat-name{font-size:12.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.material-summary-toolbar{position:relative;z-index:1}
.v131-filter-main,.v131-filter-extra{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.v131-filter-main .fb-q{min-width:260px;flex:1 1 320px}
.v131-filter-extra{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(8,75,130,.025);margin:-6px 0 14px}
.v131-filter-extra .inp{min-width:150px}
.v131-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--blue-l);color:var(--blue-d);font-size:11px;font-weight:800}
.v131-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0}
.v131-pager-pages{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.v131-page-btn{min-width:34px;padding-left:8px!important;padding-right:8px!important}
.v131-page-btn.on{background:var(--blue);border-color:var(--blue);color:#fff}
.v131-pager-size{display:flex;align-items:center;gap:6px}
.v131-pager-size select{padding:6px 8px;font-size:12px}
.tk-table td:first-child,.tk-table td .mono,.tk-table .mono{white-space:nowrap;word-break:normal;overflow-wrap:normal}
@media(max-width:860px){.v131-filter-main .fb-q{min-width:100%;flex-basis:100%}.v131-filter-main .inp,.v131-filter-extra .inp{flex:1 1 155px;min-width:0}.v131-pager{align-items:flex-start}.v131-pager-pages{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.v131-pager-pages::-webkit-scrollbar{height:0}}

/* V141 · Bandeja compacta + badges de codificación */
.sap-pending-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#fff5df;border:1px solid #f1d59a;color:#8a5a00;font-size:11px;font-weight:800;white-space:nowrap}
@media(min-width:861px){.tk-table th,.tk-table td{padding-left:10px!important;padding-right:10px!important}.tk-table{min-width:0;width:100%;table-layout:auto}.tk-table td{max-width:220px}.tk-table td:nth-child(5),.tk-table td:nth-child(9){white-space:normal}.tk-table-wrap{overflow-x:auto;scrollbar-gutter:stable}}

/* V153 · Bandeja ejecutiva compacta: columnas acotadas y estados apilados */
.v153-cell-stack{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%}
.v153-cell-main{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;line-height:1.1;white-space:nowrap}
.v153-cell-sub{display:block;font-size:10px;line-height:1.15;color:var(--muted);font-weight:700;white-space:normal;overflow-wrap:anywhere}
.v153-ssoma{padding:5px 7px;border-radius:9px;border:1px solid var(--line);background:rgba(12,99,169,.035)}
.v153-ssoma.ok{background:rgba(46,158,87,.075);border-color:rgba(46,158,87,.16);color:#167a3d}
.v153-ssoma.warn{background:rgba(242,148,28,.075);border-color:rgba(210,129,24,.20);color:#946000}
.v153-ssoma.bad{background:rgba(220,71,71,.075);border-color:rgba(220,71,71,.18);color:#b62e2e}
.v153-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:132px}
.v153-status-stack>.v153-status-main{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.v153-status-stack .pill{padding:3px 8px;font-size:10.5px;gap:5px;line-height:1.2}
.v153-status-stack .pill::before{width:5px;height:5px}
.v153-status-sub{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:7px;font-size:9.5px;font-weight:800;line-height:1.25;white-space:normal}
.v153-status-sub.sap{border:1px solid rgba(180,120,0,.24);background:rgba(224,164,59,.09);color:#855700}
.v153-status-sub.hist{border:1px solid rgba(12,99,169,.16);background:rgba(12,99,169,.055);color:var(--blue-d)}
.v153-risk{display:flex;flex-direction:column;gap:1px;line-height:1.05;font-weight:800;font-size:11.5px}
.v153-risk small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.tk-table th{white-space:normal;line-height:1.15}
.tk-table td.col-id,.tk-table th.col-id{width:86px;max-width:90px}
.tk-table td.col-createdAt,.tk-table th.col-createdAt{width:86px;max-width:86px}
.tk-table td.col-clase,.tk-table th.col-clase{width:92px;max-width:92px}
.tk-table td.col-riesgo,.tk-table th.col-riesgo{width:66px;max-width:66px}
.tk-table td.col-ssoma,.tk-table th.col-ssoma{width:108px;min-width:98px;max-width:116px}
.tk-table td.col-tipo,.tk-table th.col-tipo{width:92px;max-width:96px}
.tk-table td.col-estado,.tk-table th.col-estado{width:132px;min-width:116px;max-width:136px}
.tk-table td.col-sla,.tk-table th.col-sla{width:76px;max-width:80px}
.tk-table td.col-venta,.tk-table th.col-venta,.tk-table td.col-costo,.tk-table th.col-costo{width:106px;max-width:112px}
.tk-table td.col-cuenta,.tk-table th.col-cuenta{width:128px;max-width:145px}
.tk-table td.col-ejecutor,.tk-table th.col-ejecutor{width:138px;max-width:150px;white-space:normal;line-height:1.3}
.tk-table td.col-ejecutor{overflow-wrap:anywhere}
.tk-table td.col-action,.tk-table th.col-action{width:70px;max-width:74px}
@media(min-width:861px){
  .tk-table th,.tk-table td{padding:9px 8px!important}
  .tk-table td{vertical-align:middle}
  .tk-table .hint{font-size:10.5px;line-height:1.2}
  .tk-table .clase-tag{white-space:nowrap;padding-left:7px;padding-right:7px}
}

/* V201 · encabezados inteligentes de bandeja */
.tk-table th .th-smart{display:flex;align-items:center;gap:4px;min-width:0}.th-sort{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:2px;text-align:left}.th-sort:hover{color:var(--blue)}.th-sort span{font-size:10px;opacity:.8}.th-filter{border:0;background:transparent;border-radius:6px;cursor:pointer;color:#8a8175;font-size:13px;line-height:1;padding:1px 4px}.th-filter:hover,.th-filter.on{background:rgba(12,99,169,.10);color:var(--blue)}

#peru_map .leaflet-interactive{cursor:pointer!important;pointer-events:auto!important}
#peru_map .leaflet-pane.crono-dept-pane{pointer-events:auto!important}

#peru_map,#peru_map *{outline:none!important}#peru_map .leaflet-zoom-box,#peru_map .leaflet-drag-box,#peru_map [class*="zoom-box"],#peru_map [class*="drag-box"]{display:none!important;visibility:hidden!important;border:0!important;background:transparent!important;box-shadow:none!important}.map-layout .map-side{height:66vh;max-height:66vh;overflow-y:auto!important;overflow-x:hidden!important}@media(max-width:1050px){.map-layout .map-side{height:48vh;max-height:48vh;overflow-y:auto!important}}

.mm-wrap{display:grid;gap:12px}.mm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mm-kpi{border:1px solid var(--line);border-radius:12px;padding:11px;background:var(--card)}.mm-kpi b{font-size:20px;display:block}.mm-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mm-toolbar .inp{max-width:360px}.mm-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.mm-table table{margin:0}.mm-name{min-width:260px;white-space:normal;overflow-wrap:anywhere}.mm-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:var(--blue)}.mm-inactive{opacity:.58}.mm-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mm-sum{border:1px solid var(--line);border-radius:10px;padding:9px}.mm-sum b{font-size:17px;display:block}.mm-danger{border:1px solid #f0b8b8;background:rgba(180,40,40,.06);border-radius:10px;padding:10px}.mm-ok{border:1px solid #a8d9bf;background:rgba(30,140,90,.06);border-radius:10px;padding:10px}.mm-imports{display:grid;gap:6px}.mm-import-row{display:grid;grid-template-columns:135px minmax(0,1fr) 95px 110px;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12px}@media(max-width:850px){.mm-kpis,.mm-import-summary{grid-template-columns:repeat(2,1fr)}.mm-import-row{grid-template-columns:1fr 1fr}.mm-toolbar .inp{max-width:none;flex:1}.mm-name{min-width:190px}}

.material-paste-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.material-paste-input{min-height:72px;max-height:100px;resize:vertical}.material-list-box{border:1px solid transparent;border-radius:10px;max-height:300px;overflow-y:auto;overflow-x:hidden;padding:2px 0}.material-row{padding:9px 0;border-bottom:1px solid var(--line-2)}.material-row-main{display:grid;grid-template-columns:24px minmax(0,1fr) 70px 82px auto;gap:7px;align-items:center}.material-row-num{font-size:11px;color:var(--muted);text-align:center}.material-row-desc{min-width:0}.material-request{font-size:13px;font-weight:700;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}.material-inline-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.material-inline-search .inp{font-weight:700;font-size:12.5px;min-width:0}.material-inline-dd{display:none;margin-top:5px;border:1px solid var(--line);border-radius:9px;overflow:auto;max-height:190px;background:var(--card);box-shadow:var(--sh-sm);position:relative;z-index:6}.material-inline-dd .material-suggest-opt:last-child{border-bottom:0!important}.material-match{font-size:12px;color:var(--muted);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}.material-warn{color:#9a6700}.material-detail{font-size:11px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.material-qty{max-width:70px}.material-unit{max-width:82px;text-transform:uppercase}.material-summary-item b{white-space:normal;overflow-wrap:anywhere}.material-ok{font-size:10px;color:#16794b;margin:4px 0 0 31px}.material-review{display:grid;grid-template-columns:150px minmax(0,1fr);gap:7px;align-items:center;margin:7px 0 0 31px}.material-review-label{font-size:11px;font-weight:700;color:#9a6700}.material-empty{padding:16px;text-align:center;color:var(--muted);font-size:12px}.material-display-list>div{padding:3px 0}.material-warehouse-row{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);align-items:center}.material-warehouse-row .inp{max-width:160px}@media(max-width:700px){.material-row-main{grid-template-columns:22px minmax(0,1fr) 58px 70px}.material-row-main .btn{grid-column:2/-1;justify-self:end}.material-review{grid-template-columns:1fr;margin-left:29px}.material-warehouse-row{grid-template-columns:1fr}.material-warehouse-row>div:last-child{justify-content:flex-start}}

.logistics-flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.logistics-flow-tabs .btn{border-radius:999px;padding:8px 13px}.otoc-compact{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:128px}.otoc-chip{display:inline-flex;gap:4px;align-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);white-space:nowrap;font-size:12px}.money-nowrap{display:inline-block;white-space:nowrap;min-width:88px;font-variant-numeric:tabular-nums}.dyn-table td[data-col="venta"],.dyn-table td[data-col="costo"],.dyn-table td[data-col="otoc"]{vertical-align:middle}
#pam_sedes label{border-bottom:1px solid var(--line-2);padding:7px 3px!important}#pam_sedes label:last-child{border-bottom:0}

.modal:has(.pay-dialog){max-width:920px!important;width:min(920px,calc(100vw - 28px))!important}
.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.pay-span-2{grid-column:1/-1}
.pay-lines{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:auto}.pay-line{display:grid;grid-template-columns:110px minmax(170px,1.5fr) 110px 90px 110px 130px 84px 54px 44px;gap:7px;align-items:center;padding:8px;border-bottom:1px solid var(--line-2)}.pay-line:last-child{border-bottom:0}.pay-line-head{font-size:11px;font-weight:800;color:var(--muted);background:var(--bg)}.pay-templates{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pay-summary{margin-top:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(70,120,180,.05)}
@media(max-width:850px){.pay-grid{grid-template-columns:1fr}.pay-span-2{grid-column:auto}.pay-line{grid-template-columns:1fr 1fr}.pay-line-head{display:none}.pay-line>*{min-width:0}}

.guarantee-box,.tax-box{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(74,110,160,.05)}
.guarantee-grid,.tax-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.tax-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tax-chip{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px}.tax-danger{color:#b42318}.tax-ok{color:#16794b}.tax-warn{color:#9a6700}
@media(max-width:700px){.guarantee-grid,.tax-grid{grid-template-columns:1fr}}

/* V134 · Materiales: misma lógica SAP, menos altura y repetición visual */
.material-list-box{max-height:340px!important;padding:0!important;border-color:var(--line-2)!important;background:var(--card)}
.material-row-compact{padding:6px 8px!important;border-bottom:1px solid var(--line-2);background:var(--card)}
.material-row-compact:last-child{border-bottom:0}
.material-row-compact .material-row-main{grid-template-columns:22px minmax(0,1fr) 66px 78px 62px;gap:6px;align-items:center}
.material-row-compact .material-inline-search{grid-template-columns:minmax(0,1fr) 50px;gap:5px}
.material-row-compact .material-inline-search .inp{height:36px;padding:7px 10px;font-size:12.5px}
.material-row-compact .material-sap-btn{height:34px;padding:5px 8px;font-size:11px;font-weight:800}
.material-row-compact .material-qty,.material-row-compact .material-unit{height:36px;padding:6px 8px;font-size:12px}
.material-row-compact .material-remove{height:34px;padding:5px 8px;font-size:11px}
.material-sap-line{display:flex;align-items:center;gap:6px;margin-top:3px;min-width:0;font-size:11px;color:var(--muted);line-height:1.2}
.material-sap-label{font-size:9px;font-weight:900;letter-spacing:.04em;color:#075985;background:rgba(2,132,199,.08);border-radius:5px;padding:2px 4px;flex:0 0 auto}
.material-sap-desc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.material-sap-code{color:var(--blue);font-weight:800;white-space:nowrap;flex:0 0 auto}
.material-state{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:800;flex:0 0 auto}
.material-state-ok{background:#dcfce7;color:#15803d}.material-state-warn{background:#fef3c7;color:#92400e}.material-state-info{background:#e0f2fe;color:#075985}
.material-sap-pending{color:#9a6700}.material-sap-pending .material-sap-label{color:#92400e;background:#fef3c7}
.material-review-compact{margin:5px 0 0 28px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important}
.material-compact-note{font-size:10px;color:var(--muted);margin:4px 0 0 28px}
.material-candidate-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:4px}
.material-candidate{display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;font-size:10.5px}
.material-candidate b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-candidate:hover{background:var(--bg)}
.material-extra{margin:4px 0 0 28px;font-size:10.5px;color:var(--muted)}
.material-extra summary{cursor:pointer;display:inline-block;user-select:none;color:var(--blue);font-weight:700;list-style:none;padding:2px 0}.material-extra summary::-webkit-details-marker{display:none}
.material-extra .inp{margin-top:4px;height:34px;padding:6px 9px;font-size:11.5px}
.material-paste-head .hint{max-width:900px;line-height:1.3}
@media(max-width:900px){.material-candidate-list{grid-template-columns:1fr 1fr}.material-sap-desc{max-width:46vw}}
@media(max-width:700px){
 .material-row-compact{padding:7px 5px!important}
 .material-row-compact .material-row-main{grid-template-columns:20px minmax(0,1fr) 56px 68px;gap:5px}
 .material-row-compact .material-remove{grid-column:2/-1;justify-self:end;height:30px}
 .material-sap-line{flex-wrap:wrap;gap:4px}.material-sap-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:none}
 .material-review-compact,.material-extra,.material-compact-note{margin-left:25px!important}
 .material-candidate-list{grid-template-columns:1fr}
}

/* V135 · paginado estable: feedback sutil sin vaciar/reconstruir la tabla dos veces */
.v131-pager{transition:opacity .14s ease,filter .14s ease}
.v131-pager.is-loading{opacity:.62;filter:saturate(.75)}
.v131-pager.is-loading::before{content:"Cargando página…";font-size:11px;color:var(--muted);font-weight:700}
.v131-pager.is-loading .v131-pager-info{display:none}

/* V135 · Dark Comfort: menos negro puro, menos dorado/saturación y mejor descanso visual */
body.dark{
  --ink:#dde5ee; --muted:#9aa8b7; --faint:#748292;
  --line:rgba(165,184,204,.14); --line-2:rgba(165,184,204,.075);
  --bg:#151c24; --card:#1c2530; --card-solid:#1c2530;
  --blue:#65a7df; --blue-d:#82b9e8; --blue-l:rgba(101,167,223,.12);
  --green:#5ab77a; --teal:#58abc9; --orange:#d9a65f; --red:#d77979;
  --amber:#d1a45d; --amber-l:rgba(209,164,93,.10);
  --nav:#141b23; --nav-2:#18212b; --nav-line:#2a3643; --nav-txt:#9facb9; --nav-txt-2:#e5ebf1;
  --accent1:rgba(88,132,177,.055); --accent2:rgba(73,108,145,.04);
  --sh-sm:0 1px 2px rgba(0,0,0,.16),0 3px 10px rgba(0,0,0,.10);
  --sh-md:0 8px 24px rgba(0,0,0,.14); --sh-lg:0 24px 60px rgba(0,0,0,.26);
}
body.dark{background-image:radial-gradient(1100px 620px at 10% -8%,rgba(74,118,160,.055),transparent 56%),radial-gradient(1000px 650px at 100% 0%,rgba(69,99,130,.035),transparent 52%)}
body.dark .app-top{background:rgba(21,28,36,.94);border-bottom-color:var(--line);backdrop-filter:blur(10px)}
body.dark .card,body.dark .modal,body.dark .stat .box{box-shadow:var(--sh-sm)}
body.dark .btn{background:#222d39;border-color:#31404f;color:#dbe4ed}
body.dark .btn:hover{background:#293645;border-color:#3a4c5e}
body.dark .btn.primary{background:linear-gradient(135deg,#3f7fad,#4f91c1);color:#f7fbff;border-color:#5b9aca;box-shadow:0 3px 12px rgba(45,111,160,.18)}
body.dark a{color:#7eb6e6}
body.dark .nav-item.active{background:rgba(101,167,223,.12);color:#edf5fb}
body.dark .nav-item.active::before{background:linear-gradient(180deg,#69acd9,#4f87bb)}
body.dark .badge-role{background:rgba(101,167,223,.09);color:#9bc8ec;border-color:rgba(101,167,223,.20)}
body.dark thead th{background:#19222c;color:#9eacba;border-color:var(--line)}
body.dark tbody tr:hover td{background:#222e3a}
body.dark .modal .head{background:#1d2732}
body.dark .modal .foot{background:#18212a;border-color:var(--line)}
body.dark .dropzone,body.dark .file-row,body.dark .combo-dd,body.dark .combo-opt,body.dark .tk-card,body.dark .rz-kpi,body.dark .rz-panel,body.dark .nati-say,body.dark .nati-fab-menu,body.dark .nati-map-flag,body.dark .nati-bubble,body.dark .nati-coach-in{background:#202a35}
body.dark .inp,body.dark select.inp,body.dark textarea.inp{background:#202a35!important;border-color:#334150!important;color:#dce5ee!important}
body.dark .inp:focus,body.dark select.inp:focus,body.dark textarea.inp:focus{border-color:#5d92be!important;box-shadow:0 0 0 3px rgba(93,146,190,.10)!important}
body.dark .inp:disabled{background:#1b242e!important;color:#8391a0!important;border-color:#33404d!important}
body.dark .banner{background:rgba(183,137,64,.10);border-color:rgba(201,158,87,.24);color:#dcc18d}
body.dark .prov-alert{background:rgba(175,78,78,.09);border-color:rgba(203,99,99,.22);color:#dca5a5}
body.dark .p-inc{background:rgba(188,137,65,.10);color:#d9b274}
body.dark .pill{filter:saturate(.72) brightness(.96)}
body.dark .clase-svc{background:rgba(85,139,190,.12);color:#9ac4e7}
body.dark .clase-mat{background:rgba(184,133,60,.10);color:#d9b274}
body.dark .side-logo{background:#e9edf1;box-shadow:none}
body.dark .v131-filter-extra{background:rgba(101,167,223,.035)}
body.dark .v131-page-btn.on{background:#477fa9;border-color:#5a91bb;color:#fff}
body.dark ::selection{background:rgba(101,167,223,.28);color:#fff}

.scope-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.scope-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.scope-hierarchy{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--blue-l) 38%,var(--card))}.scope-h-title{font-weight:800;margin-bottom:9px}.scope-h-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.scope-h-step{position:relative;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--card-solid);min-height:66px}.scope-h-step b{display:block;font-size:13px}.scope-h-step span{display:block;font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.35}.scope-h-step.is-current{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 14%,transparent)}.scope-h-note,.scope-actor{font-size:12px;color:var(--muted);margin-top:9px}.scope-actor{padding:9px 11px;border-radius:9px;background:color-mix(in srgb,var(--bg) 60%,var(--card))}.scope-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.scope-pick-type{font:inherit;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);padding:12px}.scope-pick-type:hover{border-color:var(--blue);background:var(--blue-l)}.scope-pick-type b{display:block;margin-bottom:4px}.scope-pick-type span{display:block;color:var(--muted);font-size:12px;line-height:1.4}.scope-assignment-help{display:flex;flex-direction:column;gap:3px;padding:10px 12px;margin-bottom:12px;border-radius:10px;background:var(--blue-l);border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line))}.scope-assignment-help span{font-size:12px;color:var(--muted)}
@media(max-width:700px){.scope-h-flow{grid-template-columns:1fr 1fr}.scope-head-actions{width:100%}.scope-head-actions .btn.primary{flex:1}}
.scope-structure-warning{margin-top:9px;padding:9px 11px;border-radius:9px;border:1px solid color-mix(in srgb,#d69e2e 45%,var(--line));background:color-mix(in srgb,#d69e2e 10%,var(--card));font-size:12px;line-height:1.45;color:var(--ink)}
/* V141 · Generación OC/OT y evidencia */
.fz-export-stack{display:flex;flex-direction:column;gap:0}
.sap-pending-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid rgba(180,120,0,.28);border-radius:999px;background:rgba(224,164,59,.10);color:#8a5a00;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:1400px){.table-wrap table{font-size:12.5px}.table-wrap th,.table-wrap td{padding-left:8px;padding-right:8px}}
/* V141 · Bandeja compacta en laptop: evita el colapso lateral. Los datos ocultos aquí siguen en Resumen/Entregables. */
@media (min-width:861px) and (max-width:1750px){
  .tk-table .col-clienteTkt,.tk-table .col-otif,.tk-table .col-otoc{display:none!important}
  .tk-table th,.tk-table td{padding-left:7px!important;padding-right:7px!important;font-size:12px}
  .tk-table td.col-cuenta,.tk-table td.col-ejecutor{max-width:165px}
}
@media (min-width:861px) and (max-width:1350px){
  .tk-table .col-venta,.tk-table .col-costo{display:none!important}
}

/* V188 · Tesorería: jerarquía visual sin cambiar lógica contable */
.treasury-section{margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--card),rgba(255,255,255,.35));box-shadow:var(--sh-sm)}
body.dark .treasury-section{background:linear-gradient(180deg,var(--card),rgba(18,32,47,.55))}
.treasury-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.treasury-section-head h3{margin:0;font-size:15px}.treasury-section-head .hint{font-size:11.5px}
.treasury-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.treasury-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}
.treasury-stat-card{min-width:0;padding:14px 15px;border:1px solid var(--line-2);border-radius:14px;background:var(--card-solid);box-shadow:0 3px 12px rgba(24,39,75,.05)}
.treasury-stat-card .n{font-size:25px;font-weight:850;letter-spacing:-.03em;line-height:1.05}.treasury-stat-card .l{font-weight:750;margin-top:7px}.treasury-stat-card .hint{margin-top:5px;font-size:11px}
.treasury-toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 0 12px}.treasury-toolbar .inp{max-width:460px}
@media(max-width:1100px){.treasury-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treasury-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.treasury-grid,.treasury-grid.cols3{grid-template-columns:1fr 1fr}.treasury-stat-card{padding:12px}.treasury-stat-card .n{font-size:21px}}
@media(max-width:460px){.treasury-grid,.treasury-grid.cols3{grid-template-columns:1fr}}

/* V211 · mapa suave + tarjeta Report compacta */
#peru_map .leaflet-zoom-animated{will-change:transform}
#peru_map .leaflet-interactive{transition:fill .22s ease,fill-opacity .22s ease,stroke .22s ease,stroke-width .22s ease}
.map-nati-card{border-color:#b8d8e7;background:linear-gradient(180deg,rgba(16,126,184,.06),var(--card))}
.crono-report-linked{margin-top:9px;padding:10px 12px;border:1px solid #b9e4d6;background:#f2fbf7;border-radius:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.crono-report-sync{font-size:12px;font-weight:800;color:#216b56;white-space:nowrap}
.crono-report-link{color:#0c6fb5;font-weight:800;text-decoration:none;line-height:1.25;flex:1;min-width:220px}
.crono-report-link:hover{text-decoration:underline}
.crono-report-link span{font-size:16px;margin-left:3px}
.crono-report-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
body.dark .crono-report-linked{background:rgba(31,110,94,.12);border-color:rgba(95,198,169,.28)}
.crono-report-title-static{font-weight:800;color:var(--text,#17394d);display:inline-block;line-height:1.35}.crono-report-sync:not(.ok){color:var(--muted,#6f7f8b)}

/* V217: real site locations above department polygons. Blank map areas still select departments. */
#peru_map .crono-site-pane{z-index:620!important;pointer-events:none!important}
#peru_map .crono-site-pane svg{pointer-events:none!important;overflow:visible}
#peru_map .crono-site-pane .leaflet-interactive{pointer-events:auto!important;stroke-width:2px}
.crono-site-legend-dot{display:inline-block;width:11px;height:11px;margin-right:3px;border-radius:50%;background:#087e58;border:2px solid #fff;box-shadow:0 0 0 1px #456;vertical-align:middle}
/* Direct Drive document links in summary, deliverables and module cards. */
.crono-module-links{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0}
.crono-linked-pdf{display:inline-flex;align-items:center;gap:5px;border:1px solid #aacadb;background:var(--card-solid,#fff);border-radius:10px;padding:8px 11px;color:var(--blue,#075a99);text-decoration:none;font-size:12px;font-weight:800;overflow-wrap:anywhere}
.crono-linked-pdf:hover,.crono-linked-pdf:focus-visible{border-color:#2381c0;text-decoration:underline}

/* CRONO FACILITY LITE V1 — additive profile, source modules preserved */



/* RC4E — Ticketera compacta real: 4 campos por fila en escritorio */
@media (min-width:1200px){
  .emg-form-card{padding:18px 20px !important;}
  .emg-form-card > h2{margin-bottom:2px !important;}
  .emg-form-card > .sub{font-size:11.5px;line-height:1.25;}
  .emg-form-card .wa-box{margin:8px 0 10px !important;}
  .emg-form-card .emg-grid{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    column-gap:10px !important;
    row-gap:8px !important;
    align-items:start;
  }
  .emg-form-card .emg-grid > .emg-c3{grid-column:span 3 !important;}
  .emg-form-card .emg-grid > .emg-c6{grid-column:span 6 !important;}
  .emg-form-card .emg-o1{order:1}.emg-form-card .emg-o2{order:2}.emg-form-card .emg-o3{order:3}.emg-form-card .emg-o4{order:4}
  .emg-form-card .emg-o5{order:5}.emg-form-card .emg-o6{order:6}.emg-form-card .emg-o7{order:7}.emg-form-card .emg-o8{order:8}
  .emg-form-card .emg-o9{order:9}.emg-form-card .emg-o10{order:10}.emg-form-card .emg-o11{order:11}
  .emg-form-card .emg-o12{order:12}.emg-form-card .emg-o13{order:13}.emg-form-card .emg-o14{order:14}
  .emg-form-card label.f{font-size:11px;margin-bottom:4px;}
  .emg-form-card .inp,
  .emg-form-card select.inp{padding:8px 10px;min-height:40px;font-size:13.5px;}
  .emg-form-card textarea.inp,
  .emg-form-card textarea{min-height:96px !important;padding:9px 10px;font-size:13.5px;}
  .emg-form-card .emg-compact-hint,
  .emg-form-card .emg-desktop-hide-hint{display:none !important;}
  .emg-form-card #n_account_block > .hint,
  .emg-form-card .emg-o10 > .hint{display:none !important;}
  .emg-form-card .dropzone{padding:12px !important;min-height:0 !important;}
}

/* RC4I — claridad operativa, prioridad y feedback */
.crit-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:11.5px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap}
.crit-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 13%,transparent)}
.crit-pill.alta{color:#b42318;background:#fff2f0;border-color:#f4b8b2}
.crit-pill.media{color:#9a6700;background:#fff8e6;border-color:#ecd48c}
.crit-pill.baja{color:#16794a;background:#eefaf3;border-color:#afe0c5}
.tk-table td.col-criticidad,.tk-table th.col-criticidad{width:92px;max-width:100px;white-space:nowrap}
.v-critical-filter{min-width:145px}

/* Alertas visibles, centradas y por encima del asistente */
.toast{left:50%;right:auto;top:22px;bottom:auto;max-width:min(560px,calc(100vw - 28px));min-width:260px;justify-content:center;text-align:center;padding:13px 18px;border-radius:14px;font-size:13.5px;font-weight:750;line-height:1.35;z-index:5000;opacity:0;transform:translate(-50%,-14px) scale(.98);box-shadow:0 16px 42px rgba(15,26,40,.24);border:1px solid transparent;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.toast.warn{background:#fff7e8;color:#7a4b00;border-color:#edc66b}
.toast.ok{background:#eefaf3;color:#116b3e;border-color:#a9daba}
.toast.info{background:#eef6ff;color:#0c4f86;border-color:#a9cbea}

/* Actividad: separar comentarios humanos de trazabilidad automática */
.activity-panel{border:1px solid var(--line);border-radius:14px;padding:14px 15px;margin:12px 0;background:var(--card-solid);box-shadow:0 4px 16px rgba(25,37,50,.035)}
.activity-panel-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--line-2)}
.activity-panel-head b{display:block;font-size:13.5px}
.activity-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;flex:0 0 auto;font-size:14px}
.notes-panel{background:linear-gradient(180deg,#fffdf7 0%,#fff 100%);border-color:#ead9a8}
.notes-panel .activity-icon{background:#fff2bf;color:#765600}
.notes-panel .nota{background:#fffaf0;border-color:#ead9a8;box-shadow:none}
.history-panel{background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);border-color:#d7e0ea}
.history-panel .activity-icon{background:#e8eef6;color:#476078}
.history-panel .hist{border:0;border-radius:0;background:transparent;max-height:270px}
.history-panel .hist .h{position:relative;padding:9px 10px 9px 27px;border-bottom:1px dashed #d7e0ea}
.history-panel .hist .h::before{content:"";position:absolute;left:8px;top:15px;width:7px;height:7px;border-radius:50%;background:#7b8fa5;box-shadow:0 0 0 3px #e8eef6}

/* Estado seleccionado más legible — identidad propia, no copia de terceros */
.ticket-detail-modal .tk-tabs{gap:7px;padding:7px 16px 0;background:#fbfcfe}
.ticket-detail-modal .tk-tab{border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;padding:10px 15px;color:#6f7782;background:transparent;min-height:40px;margin-bottom:0}
.ticket-detail-modal .tk-tab:hover{background:#f1f5f9;color:#253648}
.ticket-detail-modal .tk-tab.on{background:#fff;color:var(--blue);border-color:#cbdbea;box-shadow:0 -2px 0 var(--blue) inset;font-weight:800}
.mtabs{gap:8px;border-bottom:0;padding:5px;background:#f3f6f9;border-radius:12px}
.mtab{border:1px solid transparent;border-radius:9px;color:#65717e;background:transparent}
.mtab:hover{background:#fff;border-color:#d8e2ec}
.mtab.on{background:#fff;color:var(--blue);border-color:#bfd3e5;box-shadow:0 2px 7px rgba(31,55,76,.08);font-weight:800}
.combo-opt{position:relative;padding:10px 12px;border-bottom:1px solid var(--line-2);transition:background .12s,color .12s,padding-left .12s}
.combo-opt:hover,.combo-opt:focus,.combo-opt[aria-selected="true"]{background:#edf6ff;color:#0c63a9;padding-left:16px;outline:none}
.combo-opt[aria-selected="true"]::after{content:"✓";position:absolute;right:12px;font-weight:900}
.inp:focus,select.inp:focus,textarea.inp:focus{border-color:#5aa2dd;box-shadow:0 0 0 3px rgba(12,99,169,.11);outline:none}

.module-hub{display:grid;gap:12px}
.module-hub-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 4px}
.module-hub-title b{font-size:14px}
.admin-shell-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding:14px 16px;border:1px solid #d6e2ed;border-radius:14px;background:linear-gradient(135deg,#f7fbff,#fff)}

@media (min-width:1200px){
  .emg-form-card .emg-o15{order:15}
}
@media (max-width:720px){
  .toast{top:12px;min-width:0;width:calc(100vw - 24px);font-size:13px}
  .ticket-detail-modal .tk-tabs{padding-left:10px;padding-right:10px}
}
.crit-pill.crit-alta{color:#b42318;background:#fff2f0;border-color:#f4b8b2}
.crit-pill.crit-media{color:#9a6700;background:#fff8e6;border-color:#ecd48c}
.crit-pill.crit-baja{color:#16794a;background:#eefaf3;border-color:#afe0c5}
.sidebar .nav-item.active{background:linear-gradient(90deg,rgba(41,163,214,.22),rgba(12,99,169,.12));box-shadow:inset 0 0 0 1px rgba(106,190,230,.16);color:#fff}
.sidebar .nav-item.active .ni-ic{transform:scale(1.08);filter:saturate(1.15)}

/* RC4J · filtros claros, riesgo sin duplicidad, NF/NC/NP y encabezados accesibles */
.company-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bed1e4;border-radius:7px;background:#eef5fc;color:#18486f;padding:3px 7px;min-width:29px;font-size:11px;font-weight:850;letter-spacing:.025em;line-height:1.2;white-space:nowrap}
body.dark .company-chip{background:#173654;color:#d2e6fa;border-color:#416485}
.v131-filter-main{display:grid;grid-template-columns:minmax(230px,2fr) repeat(4,minmax(128px,1fr)) auto auto;gap:8px;align-items:center;margin-bottom:14px}
.v131-filter-main .fb-q{min-width:0;width:100%;flex:auto}
.v131-filter-main .inp{width:100%;min-width:0;max-width:100%}
.v131-filter-main>.btn{white-space:nowrap;height:37px}
.v131-filter-extra{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;background:var(--card-solid);padding:13px;border-radius:12px;border:1px solid var(--line);box-shadow:0 5px 18px rgba(18,43,65,.05)}
.v131-filter-extra .inp{min-width:0;width:100%;max-width:100%}
.v131-filter-extra label{display:flex!important;gap:8px;align-items:center;justify-content:space-between}
.v131-filter-extra label>.inp{flex:1;min-width:0}
.th-filter{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:26px;min-height:26px;border-radius:8px}
.th-filter svg{display:block;pointer-events:none}
.crit-pill:before{flex:0 0 7px}
.tk-top .company-chip{margin-left:5px;vertical-align:middle}
@media(max-width:1400px){.v131-filter-main{grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(126px,1fr)) auto}.v131-filter-main>.btn:last-child{grid-column:auto}}
@media(max-width:1050px){.v131-filter-main{grid-template-columns:repeat(3,minmax(0,1fr))}.v131-filter-main .fb-q{grid-column:1/-1}.v131-filter-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.v131-filter-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v131-filter-main .fb-q{grid-column:1/-1;min-width:0}.v131-filter-main .inp{min-width:0!important;width:100%}.v131-filter-main>.btn{width:100%}.v131-filter-extra{grid-template-columns:1fr}.v131-filter-extra label{justify-content:flex-start}.v131-filter-extra label>.inp{min-width:0}.filterbar.v131-filter-main{flex-wrap:unset;overflow:visible}}

/* RC4O — orden visual, documentos, tarifarios, notas y prevención de superposiciones */
.lite-doc-card{display:flex;align-items:center;gap:11px;min-width:0;background:var(--card-solid);border:1px solid var(--line);padding:10px 12px;border-radius:12px;box-shadow:0 2px 7px rgba(25,51,77,.035)}
.lite-doc-icon{font-size:17px;flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;background:var(--blue-l);border-radius:8px}
.lite-doc-detail{display:flex;flex-direction:column;min-width:0;flex:1;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}
.lite-doc-detail b{font-size:12.5px;font-weight:740;color:var(--ink)}
.lite-doc-detail small{font-size:11px;color:var(--muted)}
.lite-doc-open{flex:none;font-size:11px!important;white-space:nowrap}
.lite-doc-pending{color:#9a6700;font-weight:700;font-size:11px}
.lite-tariff-card{border:1px solid #cbdceb;background:var(--card);border-radius:14px;padding:14px;margin:12px 0 17px;min-width:0}
.lite-tariff-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.lite-tariff-head strong{color:var(--blue-d);font-size:14px}
.lite-tariff-actions{display:flex;gap:6px;flex-wrap:wrap}
.lite-tariff-wrap{width:100%;max-height:375px;overflow:auto;border:1px solid var(--line);border-radius:11px}
.lite-tariff-table{min-width:700px!important;width:100%!important;border-collapse:collapse}
.lite-tariff-table th{background:var(--blue-l);color:var(--blue-d);position:sticky;top:0;text-align:left;font-size:10.5px;z-index:1;padding:9px 10px;white-space:nowrap}
.lite-tariff-table td{padding:7px 10px;font-size:12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.lite-tariff-desc{font-weight:650;min-width:175px;max-width:280px;white-space:normal!important;overflow-wrap:anywhere}
.lite-cost-input{width:110px;min-width:110px;text-align:right;font-variant-numeric:tabular-nums}
.lite-tariff-bottom{display:flex;justify-content:flex-end;align-items:center;gap:15px;flex-wrap:wrap;margin-top:12px}
.lite-tariff-bottom strong{color:var(--blue-d);font-size:16px}
.history-panel .hist .h{align-items:flex-start;overflow:visible;min-width:0;word-break:normal}
.history-panel .hist .h .ht{flex:0 0 120px}
.history-panel .hist .h .history-description{min-width:0;flex:1;display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}
.history-panel .hist .h .history-message{color:#684b17;background:#fff8e5;border:1px solid #eedbac;border-radius:9px;padding:7px 10px;margin:-5px 0 2px}
.notes-panel .notas{display:flex;flex-direction:column;gap:9px;min-width:0}
.notes-panel .nota{max-width:94%;align-self:flex-start;position:relative;border-radius:12px 12px 12px 3px;background:#fff6d9;border:1px solid #ead5a1;box-shadow:0 2px 6px rgba(125,89,30,.07);overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}
.notes-panel .nota-h{color:#795a19;font-weight:680;margin-bottom:6px}
.lite-sla-state{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:750;white-space:nowrap;line-height:1.2}
.lite-sla-state.healthy{color:#187043}.lite-sla-state.soon{color:#985d0a}.lite-sla-state.late{color:#ad332d}
@media(max-width:630px){.history-panel .hist .h{flex-direction:column;gap:4px}.history-panel .hist .h .ht{flex:auto;min-width:0}.lite-doc-card{flex-wrap:wrap}.lite-doc-open{margin-left:40px}.lite-tariff-head{align-items:flex-start}.lite-tariff-bottom{justify-content:flex-start}}

.lite-tariff-mobile-hint{display:none;margin:0 0 8px;color:var(--muted);font-size:11.5px}
@media(max-width:720px){.lite-tariff-mobile-hint{display:block}}

/* RC4P — Simplificación de Facility Lite sin reactivar áreas financieras */
.v131-filter-main{display:grid;grid-template-columns:minmax(250px,2.2fr) repeat(3,minmax(128px,1fr)) auto auto;align-items:center;gap:9px}
.v131-filter-extra{margin:1px 0 15px;padding:14px;gap:10px;background:#f7f9fc;border:1px solid #e0e7ef;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.v131-filter-extra label{font-weight:600;color:#687a8b}
.lite-provider-filter{border-color:#d6e2ef;color:#2f607f;background:#f7fafc}
.lite-provider-filter.primary{background:#e5f1ff;color:#0b5b9e;border-color:#9bbfdf;box-shadow:none}
.lite-provider-value{display:block;max-width:245px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.lite-no-provider{display:inline-flex;padding:5px 8px;background:#fff5ec;color:#9e510e;border:1px solid #f5d8b9;border-radius:8px;font-weight:700;font-size:11px;white-space:nowrap}
.lite-docs-progress{display:inline-flex;gap:4px;align-items:baseline;font-weight:750;font-size:12px;white-space:nowrap;border-radius:8px;border:1px solid #d1dce5;padding:4px 8px;background:#f4f7fa;color:#495d70}
.lite-docs-progress small{font-weight:500;font-size:10px}
.lite-docs-progress.complete{color:#16634b;background:#effaf4;border-color:#cbe9d5}
.lite-docs-progress.partial{color:#8d610f;background:#fff9e9;border-color:#eadfbf}
.lite-docs-progress.empty{color:#8a5f41;background:#fcf4ed;border-color:#ead9cb}
.v153-status-stack{max-width:100%;min-width:0;overflow-wrap:anywhere}
.v153-status-stack .v153-status-main{max-width:100%;white-space:normal}
.tk-table td{vertical-align:middle;min-width:0}
.tk-table .pill{display:inline-flex;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.3}
.lite-delivery-field{margin-bottom:15px;padding:12px 14px;border-radius:13px;border:1px solid #e2eaf2;background:#fff}
.lite-delivery-field-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
.lite-delivery-field-head .f{margin:0}
.lite-delivery-badge{border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:750;white-space:nowrap}
.lite-delivery-badge.stored{background:#edf7ef;color:#277048}
.lite-delivery-badge.pending{background:#fbf5e9;color:#94672c}
.lite-delivery-edit{margin-top:10px}
.lite-delivery-edit>summary{font-size:12px;font-weight:700;color:#0b609c;cursor:pointer;list-style-position:inside;padding:6px 0}
.lite-delivery-drop{min-height:68px;padding:12px!important;margin:7px 0!important;border-radius:10px}
.lite-delivery-drop .dz-ic{font-size:17px;margin-bottom:0}
.lite-delivery-drop .dz-txt{font-size:12px}
.lite-doc-link{margin-top:8px}
.history-panel .hist .h .history-message{background:#fff8e8;border-color:#efdba8;color:#6b4c16;font-weight:550;border-left:3px solid #d5a446}
.notes-panel .nota{background:#fff8e9!important;border-color:#eacfa5!important;box-shadow:0 3px 12px rgba(124,86,22,.07)}
.notes-panel .nota-h{color:#775217}
.lite-sla-state.healthy{color:#476d59!important;font-weight:650}
.lite-sla-state.soon{color:#946119!important}.lite-sla-state.late{color:#b64036!important}
@media(max-width:1200px){.v131-filter-main{grid-template-columns:minmax(200px,1.8fr) repeat(2,minmax(115px,1fr)) auto auto}.v131-filter-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.v131-filter-main{grid-template-columns:repeat(2,minmax(0,1fr))}.v131-filter-main .fb-q{grid-column:1/-1}.v131-filter-extra{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.v131-filter-main{grid-template-columns:1fr 1fr}.v131-filter-main .fb-q{grid-column:1/-1}.v131-filter-extra{grid-template-columns:1fr}.lite-doc-card{gap:8px}.lite-delivery-field{padding:11px}.lite-provider-value{max-width:155px}}

@media(max-width:560px){
  .lite-delivery-field .lite-doc-card{display:grid!important;grid-template-columns:31px minmax(0,1fr);gap:5px 10px;align-items:start;justify-content:stretch}
  .lite-delivery-field .lite-doc-icon{grid-column:1;grid-row:1}
  .lite-delivery-field .lite-doc-detail{grid-column:2;grid-row:1;word-break:normal;overflow-wrap:anywhere}
  .lite-delivery-field .lite-doc-open{grid-column:2;grid-row:2;justify-self:start;margin-left:0!important;margin-top:5px}
}

/* RC4Q — bandeja operativa legible + alta compacta, sin separadores decorativos */
@media(min-width:861px){
  .tk-table th,.tk-table td{padding:8px 7px!important;font-size:11.8px;line-height:1.32}
  .tk-table td.col-ejecutor,.tk-table th.col-ejecutor{width:180px;min-width:145px;max-width:190px}
  .tk-table td.col-cuenta,.tk-table th.col-cuenta{width:150px;min-width:120px;max-width:165px}
  .tk-table td.col-otoc,.tk-table th.col-otoc{min-width:90px;max-width:130px}
  .tk-table td.col-venta,.tk-table th.col-venta,.tk-table td.col-costo,.tk-table th.col-costo{min-width:85px;max-width:117px}
  .tk-table th.col-criticidad,.tk-table td.col-criticidad{max-width:82px}
  .tk-table td.col-docs,.tk-table th.col-docs{max-width:96px}
  .tk-table td.col-estado,.tk-table th.col-estado{width:115px;max-width:135px}
}
.lite-provider-value{max-width:185px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.36}
.lite-no-provider{border:0;background:transparent;color:#996325;padding:0;font-weight:700;font-size:11.5px}
.lite-no-provider::before{content:'·';font-size:17px;line-height:0;padding-right:4px}
.lite-docs-progress,.lite-docs-progress.complete,.lite-docs-progress.partial,.lite-docs-progress.empty{border:0!important;background:transparent!important;padding:0 2px;color:var(--ink,#344256);font-size:11.7px}
.lite-docs-progress.complete{color:#27664b}.lite-docs-progress.partial{color:#8c640f}.lite-docs-progress.empty{color:#66778b}
.lite-docs-progress small{font-size:10px;color:var(--muted)}
.crit-pill{padding:2px 4px;border:0!important;border-radius:4px;background:transparent!important;gap:5px;box-shadow:none!important;font-size:11.7px}
.crit-pill::before{width:6px;height:6px;box-shadow:none!important;flex:0 0 6px}
.company-chip{background:transparent!important;color:#345977;border-color:transparent!important;padding:0 2px;min-width:0}
.otoc-compact{min-width:0;gap:3px;align-items:flex-start;flex-direction:column}
.otoc-chip{background:transparent;border:0;border-radius:0;padding:0;font-size:11px;gap:5px}
.otoc-chip b{font-size:10px;color:var(--muted)}
.money-nowrap{min-width:0;font-size:11.7px}
.v153-status-stack .v153-status-main .pill{font-size:11.5px;padding:3px 6px}
.v131-pager{padding-top:7px;padding-bottom:8px}
.emg-form-card .emg-grid{row-gap:11px!important}
.emg-form-card label.f{font-size:11.5px}
@media(max-width:860px){.lite-provider-value{max-width:100%;-webkit-line-clamp:3;line-clamp:3}}

/* RC4R: minimum column geometry prevents header filters overlapping */
@media (min-width:861px){
 .tk-table-wrap{width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-gutter:stable}
 .tk-table{width:max-content!important;min-width:1840px!important;table-layout:fixed!important}
 .tk-table th{white-space:normal!important;vertical-align:middle!important;overflow:visible!important}
 .tk-table th .th-smart{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%;min-width:0}
 .tk-table th .th-sort{flex:1 1 auto!important;min-width:0;white-space:normal!important;line-height:1.25;text-wrap:balance;overflow-wrap:normal}
 .tk-table th .th-filter{flex:0 0 26px!important;margin-left:2px}
 .tk-table th.col-id{min-width:105px}.tk-table th.col-company{min-width:75px}.tk-table th.col-createdAt{min-width:125px}
 .tk-table th.col-cuenta{min-width:175px!important}.tk-table th.col-criticidad{min-width:105px!important}.tk-table th.col-tipo{min-width:105px!important}
 .tk-table th.col-ejecutor{min-width:180px!important}.tk-table th.col-docs{min-width:115px!important}.tk-table th.col-estado{min-width:145px!important}
 .tk-table th.col-otoc{min-width:110px!important}.tk-table th.col-venta,.tk-table th.col-costo{min-width:112px!important}
 .tk-table td{max-width:none!important}.tk-table td.col-ejecutor{max-width:190px!important;overflow-wrap:anywhere}
}
.multi-filter-list{margin-top:10px;border:1px solid var(--line,#dce4ee);border-radius:10px;max-height:280px;overflow:auto;background:white}
.multi-filter-option{display:flex;gap:11px;align-items:center;padding:9px 12px;border-bottom:1px solid #eef1f5;font-size:13px;cursor:pointer;line-height:1.35}
.multi-filter-option:last-child{border-bottom:0}.multi-filter-option:hover{background:#f5f9fd}.multi-filter-option[hidden]{display:none}
.multi-filter-option input{width:17px;height:17px;flex-shrink:0;accent-color:#0c63a9}
.multi-filter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lite-commercial-panel{margin:16px 0;padding:16px;border:1px solid #dce4ef;border-radius:14px;background:#fff}
.lite-commercial-costs{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px;margin-top:12px}
.lite-commercial-field{padding:10px;border:1px solid #e7ebf0;border-radius:10px}
.lite-commercial-inline{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.lite-commercial-inline input{flex:1 1 140px;min-width:110px}
.lite-client-approval{margin-top:16px;border-top:1px solid #e6ebf2;padding-top:12px}
.lite-commercial-actions{display:flex;justify-content:flex-end;margin-top:12px}

/* RC4S · Bandeja Lite sin desplazamiento lateral y con jerarquía real */
@media (min-width:861px){
  .tk-table-wrap{width:100%;max-width:100%;overflow-x:hidden!important;scrollbar-gutter:auto!important}
  .tk-table{display:table!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important}
  .tk-table th,.tk-table td{min-width:0!important;max-width:none!important;box-sizing:border-box;padding:9px 5px!important;line-height:1.3!important;overflow-wrap:anywhere;vertical-align:middle}
  .tk-table th{padding:10px 3px!important;white-space:normal!important;text-align:center!important;font-size:10px!important;letter-spacing:.015em;line-height:1.18!important}
  .tk-table th .th-smart{display:flex!important;justify-content:center!important;align-items:center!important;gap:1px!important;width:100%;flex-wrap:nowrap;min-width:0}
  .tk-table th .th-sort{display:inline-flex;justify-content:center;flex:0 1 auto!important;text-align:center!important;min-width:0;white-space:normal!important;overflow-wrap:anywhere;font-size:inherit;line-height:1.15}
  .tk-table th .th-filter{flex:0 0 16px!important;width:16px;padding:1px 0!important;margin:0!important}
  .tk-table th .th-filter svg{width:12px;height:12px}
  .tk-table .col-id{width:12%!important}
  .tk-table .col-cuenta{width:14%!important}
  .tk-table .col-criticidad{width:8%!important}
  .tk-table .col-ejecutor{width:15%!important}
  .tk-table .col-docs{width:8%!important}
  .tk-table .col-estado{width:9%!important}
  .tk-table .col-sla{width:7%!important}
  .tk-table .col-otoc{display:table-cell!important;width:8%!important}
  .tk-table .col-venta{display:table-cell!important;width:7%!important}
  .tk-table .col-costo{display:table-cell!important;width:7%!important}
  .tk-table .col-action{width:5%!important}
  .tk-table td.col-id,.tk-table th.col-id{white-space:normal!important}
  .tk-table td.col-cuenta,.tk-table td.col-ejecutor{max-width:none!important}
  .tk-table td.col-ejecutor .lite-provider-value{max-width:none;line-clamp:2;-webkit-line-clamp:2}
  .tk-table td.col-docs,.tk-table td.col-estado,.tk-table td.col-sla,.tk-table td.col-otoc,.tk-table td.col-venta,.tk-table td.col-costo,.tk-table td.col-criticidad{text-align:center!important}
  .tk-table .otoc-compact{align-items:center}
  .tk-table td.col-action .btn{padding:6px 5px!important;font-size:10px!important}
  .tk-table td.col-costo{font-size:10px!important}
  .lite-ticket-cell{display:flex;flex-direction:column;gap:3px;min-width:0}
  .lite-ticket-cell .mono{font-size:11px;color:var(--blue);white-space:nowrap!important}
  .lite-ticket-meta{display:block;font-size:10px;line-height:1.22;color:var(--muted);overflow-wrap:normal}
  .lite-cost-private{font-size:10px;color:var(--muted)}
}
@media (min-width:861px) and (max-width:1250px){
  .tk-table-wrap{display:none!important}
  .tk-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}
  .tk-cards .tk-card{margin:0;min-width:0}
}
/* Botones reales de acceso y descarga individual */
.lite-doc-card{min-width:0}
.lite-doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:0}
.lite-doc-actions .lite-doc-open,.lite-doc-actions .lite-doc-download{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important;margin:0!important;padding:6px 9px!important;font-size:11px;white-space:nowrap}
.lite-doc-download{color:#0a548d}
@media(max-width:700px){
  .lite-doc-actions{grid-column:2;grid-row:2;justify-content:flex-start;flex-wrap:wrap}
  .lite-doc-actions .btn{min-height:34px!important}
}
.lite-docs-progress{font-family:inherit;cursor:pointer;white-space:nowrap}
.lite-docs-progress:hover{color:#0c63a9!important;text-decoration:underline}
.lite-docs-action{font-size:10px;color:#0c63a9}
.lite-doc-menu-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);min-width:0}
.lite-doc-menu-row>div:first-child{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.lite-doc-menu-row b{display:block;font-size:12.5px}
.lite-doc-menu-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px;overflow-wrap:anywhere}
@media(max-width:600px){.lite-doc-menu-row{display:block}.lite-doc-menu-row .lite-doc-actions{justify-content:flex-start;margin-top:8px}}

/* RC4T · Correcciones finales de bandeja y selects Lite. No altera estilos de otras áreas. */
@media(min-width:1251px){
 .lite-bandeja-table{overflow-x:hidden!important;max-width:100%;}
 .lite-bandeja-table .tk-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:collapse;}
 .lite-bandeja-table .tk-table th,.lite-bandeja-table .tk-table td{box-sizing:border-box!important;max-width:none!important;min-width:0!important;padding:11px 7px!important;vertical-align:middle!important;line-height:1.28!important;}
 .lite-bandeja-table .tk-table th{font-size:10px!important;letter-spacing:.025em!important;white-space:normal!important;text-align:center!important;}
 .lite-bandeja-table .tk-table th .th-smart{align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:3px!important;}
 .lite-bandeja-table .tk-table th .th-sort{white-space:normal!important;text-wrap:balance;word-break:normal;line-height:1.2!important;}
 .lite-bandeja-table .tk-table th .th-filter{flex:0 0 15px!important;width:15px!important;}
 .lite-bandeja-table .tk-table .col-id{width:14%!important}
 .lite-bandeja-table .tk-table .col-cuenta{width:16%!important}
 .lite-bandeja-table .tk-table .col-criticidad{width:6%!important}
 .lite-bandeja-table .tk-table .col-ejecutor{width:17%!important}
 .lite-bandeja-table .tk-table .col-docs{width:8%!important}
 .lite-bandeja-table .tk-table .col-estado{width:9%!important}
 .lite-bandeja-table .tk-table .col-sla{width:6%!important}
 .lite-bandeja-table .tk-table .col-otoc{width:6%!important}
 .lite-bandeja-table .tk-table .col-venta{width:5%!important}
 .lite-bandeja-table .tk-table .col-costo{width:5%!important}
 .lite-bandeja-table .tk-table .col-action{width:8%!important}
 .lite-bandeja-table .tk-table td.col-criticidad,.lite-bandeja-table .tk-table td.col-docs,.lite-bandeja-table .tk-table td.col-estado,.lite-bandeja-table .tk-table td.col-sla,.lite-bandeja-table .tk-table td.col-otoc,.lite-bandeja-table .tk-table td.col-venta,.lite-bandeja-table .tk-table td.col-costo{text-align:center!important}
 .lite-bandeja-table .tk-table td.col-ejecutor,.lite-bandeja-table .tk-table td.col-cuenta{text-align:left!important;overflow-wrap:anywhere}
 .lite-bandeja-table .tk-table td.col-id{text-align:left!important}
 .lite-bandeja-table .tk-table td.col-action>div{display:flex;gap:3px!important;justify-content:flex-end!important;flex-wrap:wrap;align-items:center}
 .lite-bandeja-table .tk-table td.col-action .btn{font-size:10.5px!important;padding:6px 7px!important;border-radius:9px}
 .lite-bandeja-table .lite-row-docs-btn{color:#235d8c;background:#f3f8fc;border-color:#d8e8f4}
}
.lite-ticket-cell{display:grid;gap:5px;align-content:center;text-align:left;line-height:1.25;min-width:0}
.lite-ticket-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.lite-ticket-head .mono{font-size:12.5px!important;font-weight:750;color:#095894;line-height:1.1;letter-spacing:.01em}
.lite-company-mini{font-size:10px;line-height:1.4;font-weight:650;letter-spacing:.025em;color:#4d6882;background:#eef3f8;border:1px solid #dbe5ee;border-radius:5px;padding:1px 6px;white-space:nowrap}
.lite-ticket-date{font-size:10.5px;line-height:1.3;color:#637181;display:block;overflow-wrap:normal}
.lite-ticket-client{display:flex;align-items:baseline;gap:5px;min-width:0;font-size:10.5px;color:#55677b;line-height:1.32;overflow-wrap:anywhere}
.lite-ticket-client strong{font-size:9.5px;font-weight:700;color:#55758f;flex:0 0 auto}
.lite-ticket-client span{overflow-wrap:anywhere;min-width:0}
.lite-doc-menu-pick{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;flex:1 1 auto}
.lite-doc-menu-pick input{accent-color:#1366a4;width:17px;height:17px;flex:0 0 auto}
.lite-doc-menu-pick span{min-width:0}
.lite-doc-menu-row .lite-doc-actions{flex:0 0 auto}
.v131-filter-extra .lite-ref-filter{display:flex;align-items:stretch;flex-direction:column;gap:5px;min-width:0;color:#465a71;font-size:11.5px;font-weight:700}
.v131-filter-extra .lite-ref-filter .inp{width:100%;height:39px;font-weight:400}
/* RC4T · selects no dependientes del navegador / SO, manteniendo select real para datos y validaciones */
.lite-select-wrap{position:relative;width:100%;min-width:0;isolation:isolate}
.lite-select-wrap.is-open{z-index:140}
.lite-select-original{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;top:0;left:0;padding:0!important;border:0!important}
.lite-select-trigger{font:inherit;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;width:100%;min-width:0;border:1px solid var(--line,#d9e1e9);border-radius:12px;background:var(--card,#fff);color:var(--ink,#243347);font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.v131-filter-main .lite-select-trigger,.v131-filter-extra .lite-select-trigger{min-height:39px;padding:7px 11px;border-radius:11px;font-size:12px}
.lite-select-trigger:hover{border-color:#aac5df;background:var(--card,#fff)}
.lite-select-trigger:focus-visible,.lite-select-wrap.is-open .lite-select-trigger{outline:0;border-color:#4c99df;box-shadow:0 0 0 3px rgba(47,132,212,.15)}
.lite-select-label{min-width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lite-select-chevron{flex:0 0 auto;color:#64798a;font-size:18px;line-height:1;transition:transform .16s ease}
.lite-select-wrap.is-open .lite-select-chevron{transform:rotate(180deg)}
.lite-select-pop{display:none;position:absolute;top:calc(100% + 5px);left:0;width:max(100%,225px);max-width:min(420px,90vw);padding:6px;background:var(--card,#fff);border:1px solid #dae4ee;border-radius:13px;box-shadow:0 14px 35px rgba(16,41,66,.16);z-index:145;overflow:hidden}
.lite-select-wrap.is-open .lite-select-pop{display:block}
.lite-select-items{max-height:255px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.lite-select-option{font:inherit;display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink,#283444);text-align:left;font-size:12.5px;line-height:1.35;cursor:pointer}
.lite-select-option:hover,.lite-select-option:focus-visible{background:#edf4fb;outline:0}
.lite-select-option.is-selected{color:#0b5c99;background:#e7f1fc;font-weight:750}
.lite-select-search{margin-bottom:6px;max-height:38px!important;font-size:12px!important}
.lite-select-empty{padding:14px;color:#728192;font-size:12px;text-align:center}
/* Selector de Tipo y catálogos con la misma geometría que los demás desplegables. */
.emg-form-card #n_tipo_q{min-height:46px!important;border-radius:12px!important;border-color:var(--line,#d9e1e9)!important;cursor:pointer!important}
.emg-form-card .combo-dd{border:1px solid #dae4ee!important;border-radius:13px!important;box-shadow:0 14px 35px rgba(16,41,66,.16)!important;overflow:auto!important;z-index:150!important}
.emg-form-card .combo-dd>div:hover{background:#edf4fb!important}
@media(max-width:1250px){.lite-ticket-client{display:block}.lite-ticket-client strong{margin-right:4px}}
@media(max-width:550px){.lite-select-pop{max-width:min(320px,94vw)}.lite-select-trigger{min-height:42px}.lite-doc-menu-row .lite-doc-actions{width:100%}}
@media(min-width:1251px){
 .lite-bandeja-table .tk-table .col-cuenta{width:15%!important}
 .lite-bandeja-table .tk-table .col-criticidad{width:8%!important}
 .lite-bandeja-table .tk-table .col-ejecutor{width:16%!important}
 .lite-bandeja-table .tk-table th.col-criticidad .th-sort{font-size:9.2px!important;letter-spacing:-.025em;white-space:nowrap!important}
 .lite-bandeja-table .tk-table td.col-costo .lite-cost-private{white-space:nowrap!important;overflow-wrap:normal!important}
}

/* RC4U: consistent, quiet operational UI */
.lite-commercial-readonly{border:1px solid var(--line);background:var(--soft);padding:11px 12px;border-radius:9px;font-weight:650;color:var(--ink);margin-top:6px}
.lite-savings{display:inline-flex;align-items:center;gap:6px;color:#187445;background:#eaf7ed;border:1px solid #cce8d5;font-size:12px;font-weight:700;padding:6px 9px;border-radius:8px;margin-top:8px}
.lite-step-wait{display:flex;flex-direction:column;gap:5px;border:1px solid #dce6ee;border-radius:10px;background:#f8fafc;padding:12px;font-size:12px;color:#546575;margin-top:12px}
.lite-step-wait b{color:#27425a;font-size:13px}
.lite-no-provider{color:#93632d!important;font-weight:600;display:inline-flex;align-items:center;gap:0!important;padding-left:0!important}
.lite-no-provider::before{display:none!important;content:none!important}
.nati-fab-menu,.nati-chat-log,.nati-chat-suggest,.nati-chat-compose{min-width:0!important;box-sizing:border-box}
.nati-chat-suggest{flex-wrap:wrap!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:94px;align-items:flex-start}
.nati-chat-chip{white-space:normal!important;overflow-wrap:anywhere;flex:0 1 auto;max-width:100%}
.nati-chat-compose textarea{flex:1;min-width:0!important;width:100%}
.nati-chat-log{overflow-x:hidden!important}
.nati-msg,.nati-msg-bubble{min-width:0!important;max-width:100%;overflow-wrap:anywhere}
.v131-pager,.lite-bandeja-table{overflow-anchor:none}
.lite-bandeja-table .tk-table{font-variant-numeric:tabular-nums}
/* RC4U: clear compact table headings and predictable row alignment */
.lite-bandeja-table .tk-table thead{background:color-mix(in srgb,var(--soft) 58%,var(--card))}
.lite-bandeja-table .tk-table th{font-size:10.5px!important;font-weight:700!important;letter-spacing:0!important;color:#667788!important;border-bottom:1px solid #dce4eb!important;text-align:center!important;padding:10px 6px!important}
.lite-bandeja-table .tk-table th .th-smart{min-height:26px;align-items:center!important;justify-content:center!important;gap:5px!important}
.lite-bandeja-table .tk-table th .th-filter{opacity:.68;flex:0 0 16px!important}
.lite-bandeja-table .tk-table th .th-filter:hover,.lite-bandeja-table .tk-table th .th-filter.on{opacity:1}
.lite-bandeja-table .tk-table td{vertical-align:middle!important}
.lite-bandeja-table .lite-provider-value{max-width:100%;font-weight:500}
.lite-bandeja-table .lite-no-provider::before{display:none!important}
.lite-bandeja-table .lite-no-provider{white-space:nowrap;font-size:12px;line-height:1.28}
@media(max-width:1250px){.lite-bandeja-table .tk-table th{font-size:10px!important;padding:9px 4px!important}}

/* RC4V: execution milestones independently visible; no SSOMA in Lite timeline */
.lite-milestone-panel{margin:12px 0;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card-solid);display:grid;gap:12px}
.lite-milestone-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.lite-milestone-head b{font-size:13px}
.lite-milestone-caption{font-size:11px;color:var(--muted)}
.lite-milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lite-milestone-grid>div{display:grid;gap:2px;border-radius:9px;background:rgba(127,127,127,.035);padding:9px 11px;min-width:0}
.lite-milestone-grid span{color:var(--muted);font-size:11px}
.lite-milestone-grid strong{font-size:12px;overflow-wrap:anywhere}
.lite-milestone-grid .pending{font-weight:500;color:var(--muted)}
.lite-milestone-button{justify-self:start}
@media(max-width:520px){.lite-milestone-grid{grid-template-columns:1fr}.lite-milestone-panel{padding:11px}.lite-milestone-button{width:100%}}

/* RC4X: compact, consistent controls and data-driven facets */
.lite-select-chevron{display:flex;align-items:center;justify-content:center;font-size:0;width:18px;height:18px}
.lite-select-chevron svg{display:block;width:16px;height:16px;stroke:currentColor}
.lite-sort-icon{opacity:.5;flex:none;margin-left:3px}
.lite-sort-icon.asc path:first-child{stroke-width:2.5}
.lite-sort-icon.desc path:last-child{stroke-width:2.5}
.lite-provider-facet{width:100%;text-align:left;justify-content:flex-start;min-height:39px;white-space:normal;color:var(--ink,#334155);background:var(--card,#fff)}
.multi-filter-option{display:flex;align-items:center;gap:10px;padding:9px 11px;min-height:36px;overflow-wrap:anywhere}
.multi-filter-option span:nth-child(2){flex:1;min-width:0}
.lite-facet-count{color:#718296;background:#f1f5fa;padding:2px 7px;font-size:11px;border-radius:8px;flex:none}
.lite-close-fee{margin-top:12px;border:1px solid #d9e7f3;background:#f4f8fc;color:#31526b;padding:11px 13px;border-radius:10px;font-size:12px;line-height:1.55}
.lite-close-fee.warn{background:#fff6e6;color:#916018;border-color:#eed8a9}
.lite-sla-state.historical{color:#7d6570}
.lite-bandeja-table .tk-table th .th-smart{gap:4px!important;white-space:normal;justify-content:center}
.lite-bandeja-table .tk-table th .th-sort{font-weight:700!important;line-height:1.2;text-align:center}
.lite-bandeja-table .tk-table th .th-filter{background:transparent!important;opacity:.7}
.lite-bandeja-table .tk-table th .th-filter.on{opacity:1;color:#135b91}


/* RC4Y · Consistencia, densidad y trazabilidad en Facility Lite */
body.lite .v131-filter-main, .v131-filter-main {align-items:stretch;gap:10px;flex-wrap:wrap!important}
.v131-filter-main > * {min-width:0;box-sizing:border-box}
.v131-filter-main .fb-q {flex:2.4 1 260px;min-width:220px}
.v131-filter-main .lite-select-wrap, .v131-filter-main > select.inp {flex:1 1 140px;min-width:130px}
.v131-filter-main .lite-filter-control {flex:1 1 140px;min-width:130px}
.v131-filter-main .lite-provider-filter,.v131-filter-main .lite-more-filters {flex:0 0 auto;white-space:nowrap}
.v131-filter-main .lite-clear-filters{flex:0 0 auto!important;min-width:76px!important;width:auto!important;padding:9px 13px!important;max-width:120px!important;align-self:center}
.v131-filter-main .lite-filter-control,.v131-filter-extra .lite-filter-control{position:relative;display:flex;align-items:center;min-height:42px!important;border:1px solid var(--line,#dce4ea)!important;background:var(--card,#fff)!important;color:var(--ink,#334155)!important;border-radius:11px!important;padding:8px 35px 8px 13px!important;box-shadow:0 1px 3px rgba(20,35,50,.035)!important;font-size:13px!important;font-weight:500!important;line-height:1.25;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.v131-filter-main .lite-filter-control::after,.v131-filter-extra .lite-filter-control::after{content:"";position:absolute;right:16px;top:calc(50% - 5px);width:7px;height:7px;border-right:1.7px solid #59708a;border-bottom:1.7px solid #59708a;transform:rotate(45deg);pointer-events:none}
.v131-filter-main .lite-filter-control:hover,.v131-filter-extra .lite-filter-control:hover,.v131-filter-main .lite-select-trigger:hover{border-color:#a6bfd4!important;background:#f8fbfe!important}
.v131-filter-main .lite-filter-control:focus-visible,.v131-filter-extra .lite-filter-control:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(29,116,190,.16)!important;border-color:#4c98db!important}
.v131-filter-main .lite-select-trigger,.v131-filter-extra .lite-select-trigger{min-height:42px!important;border-radius:11px!important;background:var(--card,#fff)!important;box-shadow:0 1px 3px rgba(20,35,50,.035)!important;font-size:13px!important;font-weight:500!important}
.v131-filter-main .fb-q{min-height:42px!important;border-radius:11px!important;font-size:13px!important}
.v131-filter-main .lite-provider-filter,.v131-filter-main .lite-more-filters{min-height:42px!important;border-radius:11px!important}
.lite-sustento-list{display:flex;flex-wrap:wrap;gap:9px;min-width:0}
.lite-sustento-item{display:flex;align-items:center;gap:11px;min-width:0;max-width:100%;width:min(340px,100%);padding:9px 11px;text-align:left;font:inherit;border:1px solid var(--line,#dfe7eb);border-radius:12px;background:var(--card,#fff);text-decoration:none;color:inherit;cursor:pointer;box-shadow:0 2px 6px rgba(18,44,68,.035)}
.lite-sustento-item:hover{border-color:#9dbedb;background:#f8fbfe}
.lite-sustento-item:focus-visible{outline:2px solid #4c98db;outline-offset:2px}
.lite-sustento-thumb{width:51px;height:56px;flex:none;border-radius:7px;object-fit:cover;border:1px solid #e2e8f0}
.lite-sustento-glyph{width:40px;height:44px;display:grid;place-items:center;background:#f0f5fa;border-radius:8px;flex:none}
.lite-sustento-label{display:grid;gap:4px;flex:1;min-width:0;overflow:hidden}
.lite-sustento-label strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere;max-height:2.8em;overflow:hidden}
.lite-sustento-label small{color:#52756a;font-size:11px;line-height:1.3}
.lite-sustento-label small.pending{color:#a4671f}
.lite-sustento-go{flex:none;color:#0c63a9;font-size:16px}
.lite-sustento-item.is-pending{cursor:default;background:#faf9f7}
@media(max-width:780px){.v131-filter-main .fb-q{flex-basis:100%;min-width:0}.v131-filter-main .lite-filter-control,.v131-filter-main .lite-select-wrap{flex:1 1 135px}.v131-filter-main .lite-clear-filters{flex:none!important}}

/* La acción Limpiar comparte una línea con los filtros en escritorio. */
@media (min-width:1200px){
 .v131-filter-main{display:grid!important;grid-template-columns:minmax(235px,2fr) minmax(130px,1fr) minmax(125px,1fr) minmax(140px,1fr) max-content max-content max-content;column-gap:8px!important;row-gap:8px!important;align-items:center!important}
 .v131-filter-main > * {width:100%!important;max-width:100%!important;min-width:0!important;flex:unset!important}
 .v131-filter-main .lite-clear-filters{width:auto!important;min-width:66px!important;max-width:100px!important;padding:8px 10px!important}
 .v131-filter-main .lite-provider-filter,.v131-filter-main .lite-more-filters{padding-left:10px!important;padding-right:10px!important}
}

/* RC4Z · Controles de filtros normalizados: misma superficie y popover en toda la bandeja. */
.v131-filter-main .lite-facet-trigger,.v131-filter-extra .lite-facet-trigger{
  box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:9px;
  min-width:0;width:100%;height:42px;padding:0 11px 0 13px;background:#fff;
  border:1px solid #dce4ed;border-radius:11px;color:#23364d;
  box-shadow:0 1px 3px rgba(22,39,62,.035);font:inherit;font-size:13px;
  cursor:pointer;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s;
}
.v131-filter-main .lite-facet-trigger:hover,.v131-filter-extra .lite-facet-trigger:hover{background:#f8fbff;border-color:#b3cce2}
.v131-filter-main .lite-facet-trigger:focus-visible,.v131-filter-extra .lite-facet-trigger:focus-visible,.v131-filter-main .lite-facet-trigger.is-open,.v131-filter-extra .lite-facet-trigger.is-open{outline:0;border-color:#3989d1;box-shadow:0 0 0 3px rgba(53,129,199,.12)}
.v131-filter-main .lite-facet-trigger.is-active,.v131-filter-extra .lite-facet-trigger.is-active{background:#f5faff;border-color:#b4d1ed}
.lite-facet-trigger-text{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap;overflow:hidden}
.lite-facet-trigger-text strong{font-weight:650;flex:none}.lite-facet-trigger-text span{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#586c7d}
.lite-facet-chevron{flex:none;color:#6c849a;transition:transform .15s}.lite-facet-trigger.is-open .lite-facet-chevron{transform:rotate(180deg)}
.lite-facet-panel{position:fixed;z-index:100100;display:flex;flex-direction:column;min-height:170px;max-width:calc(100vw - 24px);overflow:hidden;background:#fff;border:1px solid #dce5ef;border-radius:13px;box-shadow:0 14px 40px rgba(20,40,63,.16);font-size:13px;color:#263749}
.lite-facet-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px 9px;border-bottom:1px solid #edf1f5}.lite-facet-head strong{font-size:13px;font-weight:700}
.lite-facet-close{border:0;background:transparent;cursor:pointer;color:#6c7a87;padding:3px 7px;font-size:20px;border-radius:7px}.lite-facet-close:hover{background:#eff4f9}
.lite-facet-loading,.lite-facet-empty{padding:20px 13px;color:#748395;font-size:12px}
.lite-facet-search-wrap{padding:9px 11px 7px}.lite-facet-search{width:100%;height:35px;min-width:0;padding:7px 10px;border:1px solid #dce5ed;border-radius:8px;background:white;font:inherit;font-size:13px;box-sizing:border-box}.lite-facet-search:focus{outline:2px solid #aad2f8;outline-offset:0}
.lite-facet-options{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px 6px 6px}
.lite-facet-option{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 8px;border-radius:8px;cursor:pointer;line-height:1.25}.lite-facet-option:hover{background:#f5f9fd}.lite-facet-option[hidden]{display:none}
.lite-facet-option input{height:16px;width:16px;accent-color:#1168aa;flex:none;cursor:pointer}.lite-facet-name{flex:1;min-width:0;overflow-wrap:anywhere}.lite-facet-number{flex:none;background:#f0f5fa;color:#6c8094;border-radius:20px;padding:2px 7px;font-size:11px}
.lite-facet-shortcuts{display:flex;gap:11px;justify-content:flex-start;padding:5px 13px;border-top:1px solid #f2f4f8}.lite-facet-shortcuts button{background:transparent;border:0;font-size:11px;cursor:pointer;color:#1466a6}
.lite-facet-foot{display:flex;gap:8px;justify-content:flex-end;padding:9px 12px;border-top:1px solid #eaf0f5;background:#fbfcfe}.lite-facet-foot button{border:1px solid #dce4eb;border-radius:8px;padding:7px 13px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.lite-facet-foot .lite-facet-apply{background:#0b67aa;color:#fff;border-color:#0b67aa}.lite-facet-foot button:hover{filter:brightness(.97)}
.v131-filter-main>.lite-facet-trigger,.v131-filter-extra>.lite-facet-trigger{flex:1 1 140px;min-width:130px}
@media(max-width:780px){.v131-filter-main>.lite-facet-trigger,.v131-filter-extra>.lite-facet-trigger{flex:1 1 135px;min-width:0}}
@media(max-width:560px){.lite-facet-panel{max-height:75vh!important}.v131-filter-main>.lite-facet-trigger,.v131-filter-extra>.lite-facet-trigger{width:100%}}


/* RC5A — Presentación operativa compacta; los datos y permisos permanecen en las funciones existentes. */
.lite-ticket-meta{display:flex;gap:5px;align-items:center;flex-wrap:wrap;min-width:0}
.lite-ticket-meta .lite-ticket-date{font-size:11px;line-height:1.4}
.lite-kind{font-size:10px;line-height:1.25;font-weight:650;white-space:nowrap;padding:2px 6px;border-radius:5px;border:1px solid #dde6ef;background:#f5f8fb;color:#46637d}
.lite-kind-materiales{background:#eef6f6;color:#286365;border-color:#cfe4e2}
.lite-kind-proyecto{background:#f6f2fb;color:#72538b;border-color:#e8daf2}
.lite-bandeja-table .tk-table{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;font-size:12.5px!important}
.lite-bandeja-table .tk-table td{line-height:1.35!important;padding-block:9px!important}
.lite-bandeja-table .tk-table .col-id{width:17%!important}
.lite-bandeja-table .tk-table .col-cuenta{width:15%!important}
.lite-bandeja-table .tk-table .col-criticidad{width:7%!important}
.lite-bandeja-table .tk-table .col-ejecutor{width:17%!important}
.lite-bandeja-table .tk-table .col-docs{width:7%!important}
.lite-bandeja-table .tk-table .col-estado{width:10%!important}
.lite-bandeja-table .tk-table .col-sla{width:7%!important}
.lite-bandeja-table .tk-table .col-otoc{width:6%!important}
.lite-bandeja-table .tk-table .col-venta{width:5%!important}
.lite-bandeja-table .tk-table .col-costo{width:4%!important}
.lite-bandeja-table .tk-table .col-action{width:5%!important}
.lite-bandeja-table .tk-table td.col-action .btn{font-size:11px!important;font-weight:600;padding:7px 9px!important}
.lite-bandeja-table .tk-table td.col-action>div{justify-content:center!important}
.lite-bandeja-table .lite-ticket-head .mono{font-size:12.5px!important;font-weight:700}
/* Compact material preview: no giant bold numbering or duplicated side scrolling. */
.rc5a-material-preview{min-width:0;border:1px solid #e0e7ed;border-radius:12px;overflow:hidden;background:var(--card)}
.rc5a-material-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 13px;background:rgba(236,243,248,.6);border-bottom:1px solid #e5ebf0}
.rc5a-material-preview-head strong{font-size:13px;line-height:1.3;font-weight:700;display:block;color:var(--ink)}
.rc5a-material-preview-head small{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.rc5a-material-toolbar{display:flex;gap:6px;flex-wrap:wrap}
.rc5a-material-toolbar .btn{font-weight:600;font-size:11.5px;padding:6px 9px}
.rc5a-material-preview-list{display:flex;flex-direction:column}
.rc5a-material-preview-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 12px;border-top:1px solid var(--line-2)}
.rc5a-material-preview-row:first-child{border-top:0}
.rc5a-material-index{font-size:11px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.rc5a-material-info{min-width:0;display:flex;flex-direction:column;gap:1px}
.rc5a-material-info strong{font-weight:600;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.rc5a-material-info small{font-size:11px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.rc5a-material-info .rc5a-sap-ref{color:#1c5b87;font-variant-numeric:tabular-nums}
.rc5a-material-amount{white-space:nowrap;font-size:12px;font-weight:650;color:#36516b;font-variant-numeric:tabular-nums}
.rc5a-material-amount span{font-weight:500;color:var(--muted);font-size:11px}
.rc5a-material-rest{border-top:1px solid var(--line-2);padding:8px 13px;margin:0;font-size:11px;color:var(--muted)}
/* Wider modal (dialog() has max-width:480px inline); only applies to material listing. */
#dialogHost > .overlay:has(.rc5a-material-modal-head){align-items:center;padding:16px;overflow:hidden}
#dialogHost > .overlay > .modal:has(.rc5a-material-modal-head){max-width:min(1020px,calc(100vw - 32px))!important;width:min(1020px,calc(100vw - 32px))!important;max-height:min(85dvh,860px)!important}
.rc5a-material-modal-head{padding:18px 22px!important;align-items:center}
.rc5a-material-modal-head h3{font-size:17px!important;font-weight:700!important;letter-spacing:-.015em}
.rc5a-material-modal-head p{margin:3px 0 0;font-size:12px;color:var(--muted)}
.rc5a-material-modal-body{padding:16px 22px!important;overflow:hidden!important;display:flex;flex-direction:column;min-height:0}
.rc5a-material-modal-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.rc5a-material-modal-toolbar .btn{font-size:12px;font-weight:600}
.rc5a-material-table-scroller{min-height:0;overflow-y:auto;overflow-x:hidden;border:1px solid #e0e7ed;border-radius:12px;overscroll-behavior:contain}
.rc5a-material-table{width:100%!important;min-width:0!important;table-layout:fixed;border-spacing:0;border-collapse:separate;font-size:12.5px;line-height:1.45}
.rc5a-material-table th{position:sticky;top:0;z-index:2;background:#f1f5f8;color:#536779;font-weight:650;text-transform:none;letter-spacing:0;font-size:11.5px;text-align:left;padding:10px 12px!important;border-bottom:1px solid #dee7ee}
.rc5a-material-table td{padding:11px 12px!important;vertical-align:top!important;border-bottom:1px solid #edf0f3!important;overflow-wrap:anywhere;word-break:normal}
.rc5a-material-table tr:last-child td{border-bottom:0!important}
.rc5a-material-table tbody tr:nth-child(even){background:#fbfcfd}
.rc5a-material-table th:nth-child(1){width:5%}
.rc5a-material-table th:nth-child(2){width:32%}
.rc5a-material-table th:nth-child(3){width:9%}
.rc5a-material-table th:nth-child(4){width:9%}
.rc5a-material-table th:nth-child(5){width:16%}
.rc5a-material-table th:nth-child(6){width:29%}
.rc5a-material-table th:nth-last-child(2):first-child{width:auto}
.rc5a-material-table .rc5a-mat-num{font-weight:650;color:#557084;font-variant-numeric:tabular-nums}
.rc5a-material-table .rc5a-mat-description strong{font-weight:650;letter-spacing:0}
.rc5a-material-table .rc5a-mat-description small{display:block;font-size:11px;color:var(--muted);margin-top:4px;font-weight:400}
.rc5a-material-table .rc5a-mat-qty,.rc5a-material-table .rc5a-mat-unit{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.rc5a-material-table .rc5a-mat-sap{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;color:#135e8a;font-weight:600}
.rc5a-material-table .rc5a-mat-sap-name{color:var(--muted);font-size:12px}
.rc5a-sap-pending{font-weight:500;color:#a26d28;font-size:11px}
.rc5a-material-modal-foot{padding:12px 22px!important}
body.dark .rc5a-material-preview-head,body.dark .rc5a-material-table th{background:var(--nav-2);color:var(--ink)}
body.dark .rc5a-material-table tbody tr:nth-child(even){background:var(--card)}
body.dark .rc5a-material-preview,body.dark .rc5a-material-table-scroller{border-color:var(--line)}
@media(max-width:700px){
 #dialogHost > .overlay:has(.rc5a-material-modal-head){padding:0;align-items:flex-end}
 #dialogHost > .overlay > .modal:has(.rc5a-material-modal-head){max-width:100%!important;width:100%!important;max-height:94dvh!important;border-radius:16px 16px 0 0}
 .rc5a-material-modal-head{padding:14px 16px!important}
 .rc5a-material-modal-body{padding:10px 12px!important;overflow-y:auto!important}
 .rc5a-material-table-scroller{overflow:visible;border:0}
 .rc5a-material-table,.rc5a-material-table tbody,.rc5a-material-table tr,.rc5a-material-table td{display:block;width:100%!important}
 .rc5a-material-table thead{display:none}
 .rc5a-material-table tbody{display:grid;gap:10px}
 .rc5a-material-table tr{border:1px solid #dfe7ec;border-radius:12px;padding:9px 12px;background:var(--card)!important;box-shadow:none}
 .rc5a-material-table td{border:0!important;padding:5px 0!important;display:flex;justify-content:space-between;align-items:start;gap:8px;font-size:12px}
 .rc5a-material-table td::before{content:attr(data-label);color:var(--muted);font-weight:550;flex:0 0 88px;font-size:11px}
 .rc5a-material-table td.rc5a-mat-description{flex-direction:column;gap:3px}
 .rc5a-material-table td.rc5a-mat-description::before{flex-basis:auto}
 .rc5a-material-table .rc5a-mat-sap{white-space:normal;text-align:right}
 .rc5a-material-preview-head{padding:10px}
 .rc5a-material-preview-row{padding:8px 10px;gap:7px}
 .rc5a-material-amount{font-size:11.5px}
}
/* RC5A · Corrección de dimensiones en tarjetas de materiales para móviles. */
@media (max-width:700px){
 .rc5a-material-table tbody{display:flex!important;flex-direction:column;gap:10px;width:100%!important}
 .rc5a-material-table tbody tr{display:flex!important;flex-direction:column;flex:none;width:auto!important;min-width:0!important}
 .rc5a-material-table tbody td{display:flex!important;width:auto!important;min-width:0!important;flex:none!important}
 .rc5a-material-table tbody td::before{flex:0 0 85px!important;min-width:0}
 .rc5a-material-table tbody td.rc5a-mat-description{align-items:stretch}
 .rc5a-material-table tbody td.rc5a-mat-description strong{line-height:1.42;overflow-wrap:anywhere}
}
@media (max-width:700px){
 .rc5a-material-table tbody td.rc5a-mat-description::before{flex:0 0 auto!important}
}

/* RC5B · Normalización progresiva sin alterar lógica de tickets ni permisos */
:root { --rc5b-border:#e4e9ef; --rc5b-ink:#263748; --rc5b-muted:#66798b; }
.v131-filter-main{display:grid!important;grid-template-columns:minmax(260px,2.15fr) repeat(3,minmax(128px,1fr)) auto auto auto;gap:8px!important;align-items:stretch!important;margin:14px 0 12px!important}
.v131-filter-main>*{box-sizing:border-box;min-width:0!important;max-width:none!important;width:100%!important;margin:0!important}
.v131-filter-main>.fb-q{min-width:0!important;flex:none!important;font-size:13px;padding-left:14px;border-radius:10px}
.v131-filter-main>.lite-provider-filter,.v131-filter-main>.lite-more-filters,.v131-filter-main>.lite-clear-filters{width:auto!important;white-space:nowrap;justify-self:stretch;min-width:98px!important;padding:0 13px!important;min-height:42px;height:42px}
.v131-filter-main>.lite-clear-filters{min-width:65px!important}
.v131-filter-main .lite-facet-trigger,.v131-filter-extra .lite-facet-trigger{min-height:42px;border-radius:10px;box-shadow:none;font-weight:500}
.v131-filter-main .lite-facet-trigger strong,.v131-filter-extra .lite-facet-trigger strong{font-weight:650;color:var(--rc5b-ink)}
.v131-filter-main .lite-facet-trigger:hover,.v131-filter-extra .lite-facet-trigger:hover{border-color:#9db8cc;background:#fafdff}
.v131-filter-extra{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;padding:13px!important;background:#f9fbfc!important;margin:0 0 15px!important;align-items:end!important;border:1px solid var(--rc5b-border)!important;border-radius:12px!important}
.v131-filter-extra>*{min-width:0!important;width:100%!important;max-width:none!important;margin:0!important}
.v131-filter-extra .lite-ref-filter{min-width:0}
.v131-filter-extra .inp,.v131-filter-extra input[type=date]{min-width:0;width:100%;min-height:42px;border-radius:10px}
.v131-filter-extra label.hint{display:flex!important;gap:8px!important;font-size:12px;align-items:center;min-width:0}
.v131-filter-main .lite-facet-trigger-text,.v131-filter-extra .lite-facet-trigger-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* Tabla estable: encabezado y valor usan las mismas dimensiones; solo alertas relevantes destacan. */
.lite-bandeja-table .tk-table{table-layout:fixed;width:100%;border-collapse:collapse!important;font-family:system-ui,-apple-system,'Segoe UI',sans-serif!important;font-size:12.5px!important}
.lite-bandeja-table .tk-table th{font-size:11px!important;letter-spacing:.025em!important;line-height:1.3!important;font-weight:650!important;color:#64768a!important;text-transform:uppercase;text-align:center!important;vertical-align:middle!important;padding:11px 6px!important;white-space:normal!important;overflow-wrap:normal}
.lite-bandeja-table .tk-table th button{max-width:100%;vertical-align:middle}
.lite-bandeja-table .tk-table td{vertical-align:middle!important;text-align:center!important;padding:10px 7px!important;line-height:1.42!important;overflow-wrap:anywhere}
.lite-bandeja-table .tk-table th.col-id,.lite-bandeja-table .tk-table td.col-id,.lite-bandeja-table .tk-table th.col-cuenta,.lite-bandeja-table .tk-table td.col-cuenta,.lite-bandeja-table .tk-table th.col-ejecutor,.lite-bandeja-table .tk-table td.col-ejecutor{text-align:left!important}
.lite-bandeja-table .tk-table .col-id{width:16.5%!important}
.lite-bandeja-table .tk-table .col-cuenta{width:14%!important}
.lite-bandeja-table .tk-table .col-criticidad{width:7%!important}
.lite-bandeja-table .tk-table .col-ejecutor{width:19%!important}
.lite-bandeja-table .tk-table .col-docs{width:7%!important}
.lite-bandeja-table .tk-table .col-estado{width:10%!important}
.lite-bandeja-table .tk-table .col-sla{width:7%!important}
.lite-bandeja-table .tk-table .col-otoc{width:6.5%!important}
.lite-bandeja-table .tk-table .col-venta{width:5%!important}
.lite-bandeja-table .tk-table .col-costo{width:4%!important}
.lite-bandeja-table .tk-table .col-action{width:4%!important}
.lite-bandeja-table .tk-table tr{transition:background-color .12s ease}
.lite-bandeja-table .tk-table tbody tr:hover{background:#f6f9fc!important}
/* Mantener alerta por SLA, pero sin pintar de rojo toda la fila. */
.lite-bandeja-table .tk-table tbody tr[style*="background"]{background-color:transparent}
.lite-bandeja-table .pill{box-shadow:none;letter-spacing:0;font-weight:650;font-size:11.5px}
.lite-bandeja-table .p-abierto,.lite-bandeja-table .p-proc{background:#eef3f8!important;color:#315e80!important;border-color:transparent!important}
@media(max-width:1350px){
 .v131-filter-main{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(105px,1fr)) auto auto!important}
 .v131-filter-main>.lite-clear-filters{grid-column:1/-1;justify-self:end!important;width:auto!important;min-width:82px!important;min-height:34px;height:34px}
}
@media(max-width:1050px){.v131-filter-main{grid-template-columns:minmax(180px,2fr) repeat(2,minmax(120px,1fr))!important}.v131-filter-main>.fb-q{grid-column:1/-1}.v131-filter-extra{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .v131-filter-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
 .v131-filter-main>.fb-q{grid-column:1/-1}
 .v131-filter-main>.lite-clear-filters{grid-column:1/-1;justify-self:stretch!important;width:100%!important}
 .v131-filter-extra{grid-template-columns:1fr!important}
 .v131-filter-extra label.hint{align-items:flex-start!important;flex-direction:column}
}
/* RC5B final: siete controles caben en una sola fila a 1280px. */
@media(min-width:1051px) and (max-width:1350px){
 .v131-filter-main{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(98px,1fr)) auto auto auto!important}
 .v131-filter-main>.lite-clear-filters{grid-column:auto;justify-self:stretch!important;min-width:65px!important;min-height:42px!important;height:42px!important}
}
@media(min-width:1051px){.v131-filter-extra{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.lite-bandeja-table .tk-table .col-id{width:16%!important}
.lite-bandeja-table .tk-table .col-ejecutor{width:18%!important}
.lite-bandeja-table .tk-table .col-estado{width:9%!important}
.lite-bandeja-table .tk-table .col-otoc{width:6%!important}
.lite-bandeja-table .tk-table .col-action{width:7%!important}
.lite-bandeja-table .tk-table td.col-action .btn{max-width:100%;padding:6px 5px!important;min-width:0}
