:root{--navy:#0a2540;--night:#06182b;--deep:#0c2d4d;--blue:#006bc7;--cyan:#00d4ff;--mint:#00e6b8;--ink:#0a2540;--ink-2:#33475c;--muted:#5f6977;--line:#e3ded3;--line-2:#d0c9ba;--bg:#f5f3ee;--paper-2:#ece8df;--sans:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Newsreader',Georgia,serif;--mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:var(--blue)}button{cursor:pointer;border:0;border-radius:999px;background:var(--navy);color:white;padding:11px 19px;font-size:14.5px;font-weight:600;line-height:1.15;transition:background-color .15s,color .15s,box-shadow .15s}button:hover{background:var(--blue)}button:disabled{opacity:.5;cursor:wait}button.quiet,.secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}button.quiet:hover,.secondary:hover{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--ink)}button.danger{background:#f9e3e7;color:#a32c3e}button.danger:hover{background:#f3cdd5}button.small{font-size:12.5px;padding:7px 12px}h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.022em;word-spacing:.03em;line-height:1.1;text-wrap:balance}h1{font-size:36px;margin:0 0 10px}h2{font-size:26px}h3{font-size:19px}p{line-height:1.6}label{display:flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:600;margin-bottom:17px;color:var(--ink-2)}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line-2);border-radius:10px;color:var(--ink);background:var(--field);font-weight:400}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,107,199,.15)}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--navy)}label.check{flex-direction:row;align-items:center}.eyebrow,.nav-label{font:600 13px var(--sans);letter-spacing:0}.eyebrow{color:var(--blue)}.muted,.help{color:var(--muted);font-size:13.5px}.auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.welcome{position:relative;isolation:isolate;overflow:hidden;padding:48px 64px;background:var(--night);color:white;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.welcome::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/brand/login-campo.webp') 62% 55%/cover no-repeat}.welcome::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,24,43,.94),rgba(6,24,43,.72) 55%,rgba(6,24,43,.35)),linear-gradient(0deg,rgba(6,24,43,.9),rgba(6,24,43,0) 45%)}.welcome img{width:210px;max-width:100%}.welcome h1{font-size:54px;line-height:1;letter-spacing:-.03em;margin-top:22px;max-width:13ch}.welcome em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--mint);font-size:1.05em;letter-spacing:-.01em}.welcome p{color:#c3d3e2;font-size:18px;max-width:40ch}.welcome .eyebrow{color:var(--mint)}.welcome small{color:#9db2c7;font:500 13px var(--sans)}.access{background:var(--bg);padding:45px 11%;display:flex;flex-direction:column;justify-content:space-between}.back{text-decoration:none;font-size:14px;font-weight:600;color:var(--ink-2)}.back:hover{color:var(--blue)}.login-box{margin:50px 0;max-width:430px}.login-box h2{font-size:38px;letter-spacing:-.028em;margin:10px 0 10px}.login-box>p{color:var(--muted);font-size:15px;margin-bottom:30px}.login-box form button{width:100%;margin-top:6px;padding:14px 19px;font-size:15.5px}.access>small{color:var(--muted);font-size:12.5px}.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:28px 16px;background:var(--night);color:white;display:flex;flex-direction:column;z-index:20}.brand{padding:0 12px 30px}.brand img{width:170px}.nav-label{color:#7f96ad;padding:14px 14px 10px;font-size:12.5px}nav{display:flex;flex-direction:column;gap:3px}nav button{background:transparent;text-align:left;font-weight:500;color:#b8c8d8;border-radius:10px;font-size:14.5px;padding:11px 14px;display:flex;gap:12px;align-items:center}nav button b{font:14px var(--sans);color:#7f96ad;width:18px}nav button:hover{background:rgba(255,255,255,.06);color:white}nav button.active{background:rgba(255,255,255,.1);color:white;font-weight:600;box-shadow:none}nav button.active b{color:var(--mint)}.sidebar-bottom{margin-top:auto;padding:28px 14px 0;font-size:13px;color:#c9d6e3;border-top:1px solid rgba(255,255,255,.1)}.sidebar-bottom p{font-size:12.5px;color:#7f96ad;margin:6px 0 12px}.sidebar-bottom a{color:#9fd8ee;text-decoration:none;font-weight:600}.sidebar-bottom a:hover{color:var(--mint)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);margin-right:6px;box-shadow:0 0 0 3px rgba(0,230,184,.18)}.workspace-body{margin-left:248px;width:calc(100% - 248px)}.topbar{min-height:74px;padding:16px 42px;border-bottom:1px solid var(--line);background:rgba(245,243,238,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:14px}#org-label{font-weight:600}.identity{display:flex;align-items:center;gap:22px}.identity span{display:flex;flex-direction:column;font-size:13px;font-weight:600}.identity small{color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}.topbar .quiet{font-size:13px}#content{padding:40px 42px;min-height:calc(100vh - 140px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.page-head p{margin:0;color:var(--muted);font-size:15px}.page-head .eyebrow{display:block;margin-bottom:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--card);border:0;box-shadow:0 0 0 1px var(--line);border-radius:14px;margin-bottom:24px;overflow:hidden}.card-title{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.card-title h3{margin:0}.card-body{padding:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:28px;background:var(--card);border-radius:14px;box-shadow:0 0 0 1px var(--line);overflow:hidden}.metric{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:22px 24px}.metric:first-child{border-left:0}.metric span{font-size:13px;color:var(--muted);font-weight:500}.metric strong{display:block;font:700 36px var(--sans);letter-spacing:-.03em;margin:10px 0 6px;line-height:1}.metric small{font-size:12px;color:var(--muted)}table{border-collapse:collapse;width:100%;text-align:left;font-size:13.5px;white-space:nowrap}th{background:#f7f5f0;color:var(--muted);font-weight:600;font-size:12.5px;padding:13px 22px;border-bottom:1px solid var(--line)}td{padding:16px 22px;border-bottom:1px solid #eeeae2;color:var(--ink-2)}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfaf7}td:first-child{font-weight:600;color:var(--ink)}td .actions{flex-wrap:nowrap}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#eef1f4;color:#5b6b7b}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.activa,.badge.activo,.badge.enviada,.badge.vigente{color:#0b8c68;background:#ddf3ea}.badge.suspendida,.badge.pausado,.badge.pendiente{color:#a45f00;background:#f8ecd9}.badge.fallida,.badge.error,.badge.cancelada{color:#b22a44;background:#f9e3e7}.empty{text-align:center;padding:56px 25px;color:var(--muted);font-size:14.5px}.empty strong{display:block;color:var(--ink);margin:12px;font-size:17px}.empty .symbol{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--bg);color:var(--blue)}.empty .symbol svg{width:24px;height:24px}.toolbar{display:flex;gap:15px;align-items:center;margin-bottom:18px}.toolbar input{max-width:360px;padding:10px 13px}.note{padding:16px 20px;border-radius:12px;background:#e1eef9;color:#1f4f78;font-size:14px;line-height:1.6;margin-bottom:22px}.note.warning{background:#f8ecd9;color:#7d4b00}footer{border-top:1px solid var(--line);margin:0 42px;padding:20px 0;color:var(--muted);font:500 12.5px var(--sans);letter-spacing:0;display:flex;justify-content:space-between}#context-banner{background:#dff4ee;padding:12px 42px;font-size:13.5px;color:#0b5e49;display:flex;justify-content:space-between;align-items:center}#notice{position:fixed;right:25px;top:16px;z-index:100;background:var(--navy);color:white;border-radius:12px;padding:15px 22px;box-shadow:0 20px 50px -12px rgba(6,24,43,.5);max-width:min(550px,90vw);font-size:14.5px;white-space:pre-wrap}#notice:empty{display:none}#notice.error{background:#8f2a3f}dialog{width:min(600px,94vw);border:0;border-radius:18px;padding:28px;max-height:90vh;color:var(--ink);background:var(--card);box-shadow:0 40px 100px -20px rgba(6,24,43,.55),0 0 0 1px var(--line)}dialog::backdrop{background:rgba(6,24,43,.6);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:24px;margin:0}.dialog-head button{font-size:20px;padding:4px 12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.fields .wide{grid-column:1/-1}.secret{font-family:var(--mono);background:var(--bg);border-radius:10px;padding:17px;word-break:break-all;user-select:all}.mobile{display:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line)}.topbar,#content{padding-left:25px;padding-right:25px}.welcome{padding:45px 35px}.welcome h1{font-size:42px}.access{padding:35px 8%}}@media(max-width:760px){.auth{display:block}.welcome{min-height:auto;padding:26px 22px 34px}.welcome img{width:170px}.welcome h1{font-size:34px;margin-top:30px;max-width:none}.welcome small,.welcome p{display:none}.access{padding:22px}.login-box{margin:30px 0}.login-box h2{font-size:30px}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 100px #0005}.workspace-body{margin-left:0;width:100%}.mobile{display:block}.topbar{padding:15px;gap:10px}.identity{gap:8px}.identity span{max-width:105px;overflow:hidden}.page-head{align-items:flex-start;flex-direction:column}h1{font-size:29px}#content{padding:24px 16px}.metrics{gap:0}.metric{padding:16px}.metric strong{font-size:28px}footer{margin:0 16px}footer span{display:none}#context-banner{padding:12px 16px;gap:10px}.fields{display:block}}

.sidebar{overflow-y:auto}.badge.critica{background:#f9e3e7;color:#b22a44}.badge.entregada{background:#ddf3ea;color:#0b8c68}

.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;align-items:end;margin-bottom:20px}.filter-grid button{margin-bottom:17px}@media(max-width:760px){.filter-grid{grid-template-columns:1fr 1fr}}

@media(max-width:760px){.sidebar:not(.open){visibility:hidden}}

nav button b svg{width:18px;height:18px;display:block}#menu svg{width:20px;height:20px;display:block}#logout,.sidebar-bottom a{display:inline-flex;align-items:center;gap:6px}#logout svg{width:15px;height:15px}.sidebar-bottom a svg{width:13px;height:13px}#nav-backdrop{position:fixed;inset:0;background:rgba(6,24,43,.6);z-index:15}@media(min-width:761px){#nav-backdrop{display:none!important}}@media(max-width:760px){.topbar{min-height:0;padding:10px 14px;flex-wrap:nowrap}#menu{padding:8px 10px}#org-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}#profile{display:none}#logout{padding:8px 11px}}

.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 16px}.compare h3{font-size:15px;margin:0 0 6px}.kv-list{margin:0}.kv-list dt{font-size:12px;color:var(--muted);margin-top:9px}.kv-list dd{margin:2px 0 0;font-size:13.5px;line-height:1.45;word-break:break-word}@media(max-width:760px){.compare{grid-template-columns:1fr}}

.plan-summary{margin-top:28px;max-width:440px;background:rgba(6,24,43,.55);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px 22px;backdrop-filter:blur(6px);color:#c3d3e2;font-size:14.5px}.plan-summary:empty{display:none}.plan-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:white}.plan-line b{font-size:20px}.plan-line span{font-size:28px;font-weight:700;letter-spacing:-.03em}.plan-line small{font-size:13px;font-weight:400;color:#9db2c7}.plan-summary ul{margin:14px 0;padding:14px 0 0 18px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:6px}.plan-summary p{margin:0;font-size:13.5px;color:#9db2c7}.wide-box{max-width:560px}.button-link{display:inline-flex;align-items:center;background:var(--navy);color:white;text-decoration:none;font-weight:600;padding:13px 22px;border-radius:999px}.button-link:hover{background:var(--blue)}label.check a{display:inline}label.check{gap:10px;font-weight:500;line-height:1.5}@media(max-width:760px){.plan-summary{margin-top:18px}.welcome .plan-summary p{display:block}}
.welcome .plan-line small{display:inline}
label .help{font-weight:400;font-size:12.5px;line-height:1.45}input[type=date]{display:block;min-width:0;max-width:100%;min-height:46px;-webkit-appearance:none;appearance:none;text-align:left}input[type=date]::-webkit-date-and-time-value{text-align:left}@media(max-width:760px){.filter-grid{grid-template-columns:minmax(0,1fr)}.filter-grid button{width:100%;margin-bottom:6px}.empty{padding:44px 18px}}
.onboard{list-style:none;margin:0;padding:6px 24px 10px;display:grid;gap:0}.onboard li{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid #eeeae2}.onboard li:last-child{border-bottom:0}.onboard .num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:13.5px}.onboard li.done .num{background:#ddf3ea;color:#0b8c68}.onboard li.done strong{color:var(--muted);text-decoration:line-through}.onboard p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}dialog .onboard{padding:4px 0 14px}@media(max-width:760px){.onboard{padding:4px 16px 8px}.onboard li{grid-template-columns:30px 1fr}.onboard li>button{grid-column:2;justify-self:start}}
.section-title{font-size:22px;margin:36px 0 16px}
.viz-wrap{position:relative;margin:4px 0 8px}.viz-wrap svg{display:block;width:100%;height:auto;overflow:visible}
.viz-tick{font:500 11.5px var(--sans);fill:var(--muted);font-variant-numeric:tabular-nums}.viz-label{font:600 12px var(--sans);fill:var(--ink-2)}.viz-value{font:700 13px var(--sans);fill:var(--ink)}
.viz-bar{outline:none}.viz-bar.on path,.viz-bar:focus path{fill:#2a86d8}
.viz-tip{position:absolute;z-index:5;pointer-events:none;background:var(--card);border-radius:10px;box-shadow:0 0 0 1px var(--line),0 8px 24px rgba(10,37,64,.14);padding:9px 12px;font-size:12.5px;white-space:nowrap}
.viz-tip-title{color:var(--muted);font-weight:600;margin-bottom:4px}.viz-tip-row{display:flex;align-items:center;gap:8px;margin-top:2px}.viz-tip-row i{width:14px;border-top:2px solid}.viz-tip-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.viz-tip-row span{color:var(--ink-2)}
.viz-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink-2);margin-bottom:8px}.viz-legend span{display:inline-flex;align-items:center;gap:7px}.viz-legend i{width:16px;border-top:2px solid var(--c)}.viz-legend i.dash{border-top-style:dashed}
.viz-limits{list-style:none;padding:0;margin:14px 0 6px;display:grid;gap:8px;font-size:14px;color:var(--ink-2)}.viz-limits li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
details.viz-data summary{padding:16px 24px;cursor:pointer;font-weight:600;color:var(--ink-2)}details.viz-data .table-wrap{border-top:1px solid var(--line)}
.viz-meter{margin:6px 0 4px}.viz-meter-track{position:relative;height:14px;border-radius:999px;background:#e8eef6;margin:26px 0 12px}
.viz-meter-proj{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:#b9d4f1}.viz-meter-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:#006bc7}
.viz-meter-tick{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--c);transform:translateX(-1px)}.viz-meter-tick em{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font:600 12px var(--sans);color:var(--ink-2);white-space:nowrap;font-style:normal;margin-bottom:2px}
.viz-meter-legend{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:var(--ink-2)}.viz-meter-legend span{display:inline-flex;align-items:center;gap:8px}.viz-meter-legend i{width:12px;height:12px;border-radius:3px}
.viz-meter-tick.below em{bottom:auto;top:100%;margin:2px 0 0}.viz-meter:has(.below) .viz-meter-track{margin-bottom:30px}
.holder-pick{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:6px 0 17px;background:#faf9f6}.holder-pick>strong{font-size:14px}
.holder-row{display:flex;gap:8px;align-items:center}.holder-row input{flex:1}.holder-row button{white-space:nowrap}
.nav-count{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#25d366;color:#052e16;font:700 11.5px/21px var(--sans);font-style:normal;text-align:center;box-shadow:0 0 0 2px var(--night)}#menu{position:relative}.menu-count{position:absolute;top:-4px;right:-6px;margin:0;box-shadow:0 0 0 2px var(--bg)}
.upgrade-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.upgrade-option{border-radius:14px;box-shadow:0 0 0 1px var(--line-2);padding:18px;display:flex;flex-direction:column}.upgrade-option h3{margin:8px 0 6px}.upgrade-option p{margin:0 0 10px;font-size:14px}.upgrade-option button{margin-top:auto}@media(max-width:760px){.upgrade-options{grid-template-columns:1fr}}
.pw-rules{list-style:none;margin:-4px 0 14px;padding:0;display:grid;gap:4px;font-size:12.5px;color:var(--muted)}.pw-rules li{display:flex;gap:8px;align-items:baseline}.pw-rules li span[aria-hidden]{width:14px;flex:none;text-align:center;font-weight:700;color:#b0876a}.pw-rules li.ok{color:#0b5e49}.pw-rules li.ok span[aria-hidden]{color:#0b8a63}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Lote 8 · menú del administrador: dónde está y qué cliente revisa */
.nav-group{color:#7f96ad;font:600 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:18px 14px 8px}
.nav-group:first-child{padding-top:6px}
.nav-client{margin:14px 4px 6px;padding:12px 12px 10px;border-radius:12px;background:rgba(0,230,184,.1);box-shadow:inset 0 0 0 1px rgba(0,230,184,.28);text-transform:none;letter-spacing:0;display:flex;flex-direction:column;gap:2px}
.nav-client span{color:var(--mint);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}
.nav-client strong{color:white;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.nav-client small{color:#b8c8d8;font-weight:500;font-size:12px}
.nav-client button{margin-top:8px;align-self:flex-start;color:white;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);padding:6px 11px;font-size:12px}
.nav-client button:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px white}
.eyebrow-client{color:#0b5e49;background:#dff4ee;border-radius:999px;padding:3px 10px;width:fit-content}
#context-banner{border-bottom:1px solid #bfe6da;line-height:1.45;gap:16px}
#context-banner small{color:#2f7a66}
.plan-lock{margin:-8px 0 14px}
/* Lote 8 · colores de estatus de trámites */
.badge.resolucion_emitida,.badge.registro_otorgado{color:#0b8c68;background:#ddf3ea}
.badge.no_localizado,.badge.prevencion{color:#a45f00;background:#f8ecd9}
.badge.en_evaluacion,.badge.ingresado,.badge.en_revision,.badge.en_dictamen{color:#0a5aa6;background:#e1eef9}
.badge.entregado,.badge.sin_respuesta_requerida,.badge.concluido,.badge.desechado{color:#5b6b7b;background:#eef1f4}
.badge.por_consultar{color:#5f6977;background:#f1efe9}
/* Lote 8 · panel de Trámites */
.case-capacity{display:flex;align-items:center;gap:16px;margin:-10px 0 14px;font-size:13.5px;color:var(--ink-2)}
.case-capacity>span{white-space:nowrap}
.case-capacity .viz-meter-bar{flex:1;max-width:260px}
.case-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-bottom:16px}
.case-counter{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--card);color:var(--ink);box-shadow:0 0 0 1px var(--line);border-radius:14px;padding:14px 16px;text-align:left;position:relative;min-width:0}
.case-counter strong{font:700 26px var(--sans);letter-spacing:-.02em;line-height:1}
.case-counter span{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.3}
.case-counter::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--tone,#d0c9ba)}
.case-counter:hover{background:var(--card);box-shadow:0 0 0 1.5px var(--ink)}
.case-counter.is-on{box-shadow:0 0 0 2px var(--navy);background:#f4f8fc}
.tone-ok{--tone:#0b8c68}.tone-alert{--tone:#e09a00}.tone-info{--tone:#006bc7}.tone-wait{--tone:#9aa6b2}.tone-done{--tone:#5b6b7b}.tone-all{--tone:var(--navy)}
.viz-meter-bar{height:8px;border-radius:999px;background:#e3e9f1;overflow:hidden}
.viz-meter-bar span{display:block;height:100%;border-radius:999px;background:var(--blue)}
.case-filter-box{margin-bottom:12px}
.case-filter-box>summary{display:none}
.case-filters{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:0 14px;align-items:end;background:var(--card);box-shadow:0 0 0 1px var(--line);border-radius:14px;padding:18px 18px 4px}
.case-filters input,.case-filters select{max-width:none}
.case-filter-actions{display:flex;gap:8px;margin-bottom:17px}
.case-filter-actions button{flex:1;justify-content:center;text-align:center}
.field-error{grid-column:1/-1;margin:-6px 0 14px;color:#b22a44;font-size:13px;font-weight:600}
.case-result{color:var(--muted);font-size:13.5px;margin:4px 2px 16px}
.case-group{margin-bottom:22px}
.case-group>header{display:flex;align-items:center;gap:10px;margin:0 2px 10px}
.case-group>header h2{margin:0;font:700 15.5px var(--sans);letter-spacing:0}
.case-group>header::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--tone)}
.case-group>header span{font-size:12px;font-weight:700;color:var(--muted);background:#eceae4;border-radius:999px;padding:2px 9px}
.case-list{background:var(--card);box-shadow:0 0 0 1px var(--line);border-radius:14px;overflow:hidden}
.case-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(0,2.4fr) minmax(0,max-content);gap:18px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.case-row:first-child{border-top:0}
.case-row.is-paused{background:#fbfaf7}
.case-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.case-folio{font:700 15px var(--mono);letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere}
.case-company{font-weight:600;font-size:13.5px;color:var(--ink-2)}
.case-type{font-size:13px;color:var(--muted)}
.case-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px;margin:0}
.case-facts dt{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.case-facts dd{margin:0;font-size:13.5px;color:var(--ink)}
.case-facts dd small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.case-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:200px}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0 24px;font-size:13.5px;color:var(--muted)}
.pager .is-off{opacity:.4;pointer-events:none}
/* Lote 8 · CSV, notificación detallada */
.csv-help{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:17px;background:#faf9f6;font-size:13.5px;line-height:1.55}
.csv-help p{margin:0 0 10px}
.csv-help code{font:600 12.5px var(--mono);background:#efece4;border-radius:5px;padding:1px 5px}
.button-link{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 14px;font-weight:600;font-size:13px;text-decoration:none;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.button-link:hover{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--ink)}
.import-result{display:flex;align-items:baseline;gap:10px;padding:16px 18px;border-radius:12px;background:#ddf3ea;color:#0b5e49;margin-bottom:14px}
.import-result strong{font:700 34px var(--sans);line-height:1}
.import-result span{font-weight:600}
.reg-pick{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 17px;background:#faf9f6}
.reg-pick>strong{font-size:14px}
.reg-options{display:grid;gap:8px;margin:8px 0}
.reg-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:10px;padding:10px 12px;font-weight:500}
.reg-option strong{font:700 13.5px var(--mono)}
.reg-option span{font-size:13.5px}
.reg-option small{font-size:12px;color:var(--muted)}
.reg-option:hover{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--ink)}
.reg-option.is-on{box-shadow:inset 0 0 0 2px var(--blue);background:#f1f7fd}
@media(max-width:1100px){.case-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.case-row{grid-template-columns:1fr;gap:12px}.case-actions{justify-content:flex-start;max-width:none}}
@media(max-width:760px){.case-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.case-counter{padding:12px 14px}.case-counter strong{font-size:22px}.case-capacity{flex-wrap:wrap;gap:8px;margin-top:-14px}.case-capacity>span{white-space:normal}.case-capacity .viz-meter-bar{max-width:none;flex-basis:100%}.case-filter-box{background:var(--card);box-shadow:0 0 0 1px var(--line);border-radius:14px}.case-filter-box>summary{display:block;padding:14px 16px;font-weight:700;cursor:pointer}.case-filter-box[open]>summary{border-bottom:1px solid var(--line)}.case-filter-box .case-filters{box-shadow:none;border-radius:0 0 14px 14px}.case-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 14px 2px}.case-filters>label:first-child,.case-filter-actions,.case-filters .field-error{grid-column:1/-1}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-row{padding:14px 16px}.nav-client{margin:10px 0 4px}#context-banner{flex-direction:column;align-items:flex-start;padding:12px 16px}}
/* ===== Diseño 2026: tema claro del área de trabajo (menú claro, tarjetas de resumen, filtros en tarjeta, tabla) ===== */
.workspace{--ws-bg:#F5F7FA;--ws-line:#E5E9F0;--ws-line-2:#D5DCE6;--ws-soft:#F8FAFC;background:var(--ws-bg)}
.workspace .sidebar{background:var(--card);color:var(--ink);border-right:1px solid var(--ws-line);padding:22px 14px}
.workspace .brand{padding:2px 10px 26px}.workspace .brand img{width:158px}
.workspace .nav-label{color:#8A94A6}
.workspace nav button{color:#344054;font-weight:500;font-size:14px;padding:10px 12px}
.workspace nav button b{color:#667085}
.workspace nav button:hover{background:#F2F5F9;color:var(--ink)}
.workspace nav button.active{background:#EAF2FC;color:var(--blue);font-weight:600}
.workspace nav button.active b{color:var(--blue)}
.workspace .nav-group{color:#8A94A6}
.workspace .nav-client{background:#EEF6FF;box-shadow:inset 0 0 0 1px #CFE2F7}
.workspace .nav-client span{color:var(--blue)}.workspace .nav-client strong{color:var(--ink)}.workspace .nav-client small{color:#667085}
.workspace .nav-client button{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ws-line-2)}
.workspace .sidebar-bottom{border-top:0;padding:18px 0 0}
.help-card{background:var(--ws-soft);border:1px solid var(--ws-line);border-radius:14px;padding:14px}
.help-card strong{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}
.help-card strong svg{width:18px;height:18px;color:var(--blue)}
.help-card p{margin:4px 0 10px;font-size:12.5px;color:#667085}
.workspace .help-card a{display:flex;justify-content:center;align-items:center;gap:6px;background:var(--card);border:1px solid var(--ws-line-2);border-radius:10px;padding:8px 10px;color:var(--ink);font-weight:600;font-size:13px}
.workspace .help-card a:hover{border-color:var(--ink);color:var(--ink)}
.workspace .help-card a svg{width:14px;height:14px}
.workspace .topbar{background:rgba(255,255,255,.94);border-bottom:1px solid var(--ws-line)}
.workspace .identity{gap:14px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:inline-grid;place-items:center;font:700 13px var(--sans);flex:none}
.icon-btn{background:transparent;color:#475467;box-shadow:none;border-radius:10px;padding:0;width:36px;height:36px;display:inline-grid;place-items:center}
.icon-btn:hover{background:#F2F5F9;color:var(--ink)}
.icon-btn svg{width:19px;height:19px}
.icon-btn.is-on{background:#EAF2FC;color:var(--blue)}
.bell{position:relative}
.workspace .card{box-shadow:0 0 0 1px var(--ws-line),0 1px 2px rgba(16,24,40,.04)}
.workspace footer{border-top-color:var(--ws-line)}
.workspace .page-head .eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.workspace .page-head h1{font-size:34px}
/* Botones grandes del encabezado */
.head-btn{display:inline-flex;align-items:center;gap:12px;text-align:left;padding:11px 18px;border-radius:12px}
.head-btn svg{width:20px;height:20px;flex:none}
.head-btn span{display:flex;flex-direction:column;line-height:1.2}
.head-btn b{font-size:14.5px}.head-btn small{font-size:11.5px;font-weight:500;opacity:.8}
.head-btn.quiet{background:var(--card);box-shadow:0 0 0 1px var(--ws-line-2)}
/* Tarjetas de resumen */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.kpi{--c:#006bc7;--t:#EEF5FD;--b:#D6E6F8;background:var(--t);border:1px solid var(--b);border-radius:16px;padding:16px 18px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.kpi.tone-green{--c:#12925F;--t:#EDF9F2;--b:#CDEFDC}.kpi.tone-amber{--c:#C98A0B;--t:#FFF7E6;--b:#F6E3B6}.kpi.tone-rose{--c:#D0343F;--t:#FDEFF0;--b:#F6D3D6}
.kpi.is-on{box-shadow:0 0 0 2px var(--c)}
.kpi-top{display:flex;gap:14px;align-items:flex-start}
.kpi-icon{width:44px;height:44px;border-radius:12px;background:var(--c);color:#fff;display:grid;place-items:center;flex:none}
.kpi-icon svg{width:22px;height:22px}
.kpi-top div{display:flex;flex-direction:column;min-width:0}
.kpi-top strong{font:700 30px var(--sans);letter-spacing:-.02em;line-height:1;color:var(--ink)}
.kpi-top b{font-size:14.5px;margin-top:6px;color:var(--ink)}
.kpi-top small{font-size:12.5px;color:#667085}
.kpi-plan{display:flex;justify-content:space-between;font-size:12px;color:#475467;font-weight:600}
.kpi-bar{height:6px;border-radius:999px;background:rgba(0,107,199,.15);overflow:hidden}.kpi-bar span{display:block;height:100%;background:var(--c);border-radius:999px}
.kpi-link{margin-top:auto;align-self:flex-start;background:transparent;color:var(--c);padding:2px 0;font-size:13px;display:inline-flex;align-items:center;gap:6px;border-radius:6px}
.kpi-link:hover{background:transparent;color:var(--ink)}
.kpi-link svg{width:15px;height:15px}
.kpi-others{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.chip-filter{background:var(--card);color:var(--ink-2);box-shadow:0 0 0 1px var(--ws-line-2);font-size:12.5px;padding:7px 12px}
.chip-filter strong{margin-left:4px}.chip-filter.is-on{box-shadow:0 0 0 2px var(--navy)}
.chip-filter.tone-alert{color:#a45f00}
/* Tarjeta de filtros */
.filter-card{background:var(--card);border:1px solid var(--ws-line);border-radius:16px;margin:4px 0 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.filter-card>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer}
.filter-card>summary::-webkit-details-marker{display:none}
.fc-icon{width:40px;height:40px;border-radius:12px;background:#EAF2FC;color:var(--blue);display:grid;place-items:center;flex:none}.fc-icon svg{width:20px;height:20px}
.filter-card>summary>span:nth-child(2){display:flex;flex-direction:column}
.filter-card>summary strong{font-size:16px}.filter-card>summary small{font-size:12.5px;color:#667085}
.fc-reset{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.fc-reset svg{width:15px;height:15px}
.fc-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px 16px;padding:4px 18px 18px;align-items:end}
.fc-grid .fx{margin:0;font-size:12.5px;color:#344054;border:0;padding:0;min-width:0}
.fc-grid .fx legend{font-size:12.5px;font-weight:600;color:#344054;padding:0;margin-bottom:7px}
.fx-input{position:relative;display:flex;align-items:center}
.fx-input>svg{position:absolute;left:11px;width:16px;height:16px;color:#667085;pointer-events:none}
.fx-input input,.fx-input select{padding-left:34px;border-color:var(--ws-line-2);border-radius:10px;min-height:44px}
.fx-wide{grid-column:span 1}
.fx-range{grid-column:span 2;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.fx-range legend{grid-column:1/-1}
.fx-arrow svg{width:16px;height:16px;color:#98A2B3;display:block}
.fc-apply{grid-column:span 1;display:flex;justify-content:flex-end}
.fc-apply button{width:100%;min-height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fc-apply button svg{width:16px;height:16px}
.fc-grid .field-error{grid-column:1/-1;margin:0}
/* Barra de resultados */
.case-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 2px 12px}
.case-bar .case-result{margin:0;font-size:13.5px;color:#475467}
.case-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.case-order{flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12.5px;color:#475467;font-weight:500}
.case-order select{width:auto;min-width:210px;padding:8px 10px;border-color:var(--ws-line-2)}
.view-toggle{display:inline-flex;background:var(--card);border:1px solid var(--ws-line-2);border-radius:10px;padding:2px;gap:2px}
.view-toggle .icon-btn{width:32px;height:32px;border-radius:8px}
.export-btn{display:inline-flex;align-items:center;gap:6px;background:var(--card)}.export-btn svg{width:15px;height:15px}
/* Tabla de trámites */
.case-table-wrap{background:var(--card);border:1px solid var(--ws-line);border-radius:16px;overflow:visible;margin-bottom:18px}
.case-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.case-table th{background:var(--ws-soft);color:#475467;font-weight:600;font-size:12.5px;padding:12px 14px;border-bottom:1px solid var(--ws-line);white-space:nowrap;text-align:left}
.case-table th:first-child{border-top-left-radius:16px}.case-table th:last-child{border-top-right-radius:16px}
.case-table td{padding:13px 14px;border-bottom:1px solid #EEF1F5;color:#344054;white-space:nowrap;vertical-align:middle;background:transparent}
.case-table tbody tr:last-child td{border-bottom:0}
.case-table tbody tr:hover td{background:#FAFBFD}
.case-table tr.is-paused td{color:#8A94A6}
.ct-folio span{font-family:var(--mono);font-weight:600;color:var(--ink);font-size:12.5px}
.ct-company{max-width:210px;overflow:hidden;text-overflow:ellipsis}
.kind-chip{display:inline-flex;align-items:center;gap:6px;max-width:210px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid}
.kind-chip span{overflow:hidden;text-overflow:ellipsis}
.kind-chip svg{width:14px;height:14px;flex:none}
.kind-blue{color:#1D5FB8;background:#EEF5FD;border-color:#D3E4F8}.kind-green{color:#12825A;background:#EDF9F2;border-color:#CDEFDC}
.kind-violet{color:#6D3FC0;background:#F4EFFC;border-color:#E2D5F7}.kind-rose{color:#C0303B;background:#FDEFF0;border-color:#F6D3D6}
.kind-teal{color:#0F7C7C;background:#EAF7F7;border-color:#C9ECEC}.kind-gray{color:#475467;background:#F2F4F7;border-color:#E4E7EC}
.state-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}
.state-chip svg{width:14px;height:14px}
.state-chip.tone-ok{background:#E7F7EE;color:#0B8C68}.state-chip.tone-wait{background:#FFF4DB;color:#A46A00}
.state-chip.tone-info{background:#FDECEE;color:#C0303B}.state-chip.tone-alert{background:#FFF1E6;color:#B45309}.state-chip.tone-done{background:#F2F4F7;color:#475467}
.ct-actions{width:1%}
.row-actions{display:flex;align-items:center;gap:2px;justify-content:flex-end}
.row-menu{position:relative}
.row-menu>summary{list-style:none;cursor:pointer}.row-menu>summary::-webkit-details-marker{display:none}
.row-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:15;background:var(--card);border:1px solid var(--ws-line);border-radius:12px;box-shadow:0 16px 40px -12px rgba(16,24,40,.25);padding:6px;min-width:220px;display:grid;gap:2px}
.row-menu-list button{background:transparent;color:var(--ink);font-weight:500;font-size:13.5px;border-radius:8px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left}
.row-menu-list button:hover{background:#F2F5F9;color:var(--ink)}
.row-menu-list button svg{width:16px;height:16px;color:#667085}
.row-menu-list .danger-item{color:#B22A44}.row-menu-list .danger-item svg{color:#B22A44}
.case-kv dd .kind-chip{max-width:100%}
.workspace .case-group>header h2{font-size:15px}
@media(max-width:1200px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-grid{grid-template-columns:1fr 1fr}.fx-range{grid-column:1/-1}.fc-apply{grid-column:1/-1}}

@media(max-width:760px){
 .workspace .sidebar{box-shadow:none}
 .workspace .page-head h1{font-size:28px}
 .head-btn{flex:1 1 100%}
 .kpis{grid-template-columns:1fr 1fr;gap:10px}
 .kpi{padding:14px}
 .kpi-top{flex-direction:column;gap:10px}
 .kpi-top strong{font-size:26px}
 .kpi:first-child{grid-column:1/-1}
 .kpi:first-child .kpi-top{flex-direction:row}
 .fc-grid{grid-template-columns:1fr}
 .fx-range{grid-template-columns:1fr auto 1fr}
 .filter-card>summary{flex-wrap:wrap}
 .fc-reset{margin-left:54px}
 .case-order select{min-width:0}
}
@media(max-width:1199px){
 .case-table-wrap{background:transparent;border:0;overflow:visible}
 .case-table,.case-table tbody,.case-table tr,.case-table td{display:block;width:100%}
 .case-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .case-table tr{background:var(--card);border:1px solid var(--ws-line);border-radius:14px;margin-bottom:10px;padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;position:relative}
 .case-table td{border:0;padding:0;white-space:normal;display:flex;flex-direction:column;gap:3px;min-width:0}
 .case-table td::before{content:attr(data-label);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8A94A6}
 .case-table td.ct-folio{grid-column:1/-1;padding-right:80px}
 .case-table td.ct-company{grid-column:1/-1;max-width:none}
 .case-table td.ct-actions{position:absolute;top:8px;right:8px;width:auto}
 .case-table td.ct-actions::before{display:none}
 .case-table tbody tr:hover td{background:transparent}
 .case-table tr{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){.case-table tr{grid-template-columns:1fr 1fr}}
.identity .avatar{display:grid;place-items:center;flex-direction:row;font-size:13px;font-weight:700}
.workspace .page-head>div:first-child{flex:1;min-width:0}
.workspace .page-head .actions{flex:none;flex-wrap:nowrap}
.case-table{table-layout:auto}
.case-table td.ct-company{max-width:170px}
.case-table .kind-chip{max-width:170px}
.case-table td[data-label="Próximo paso"],.case-table td[data-label="Última actualización"]{white-space:normal;min-width:120px;max-width:160px}
@media(max-width:1300px){.case-table td.ct-company,.case-table .kind-chip{max-width:140px}}
@media(max-width:1100px){.workspace .page-head .actions{flex-wrap:wrap}}
@media(max-width:760px){.workspace .page-head .actions{flex-wrap:wrap;width:100%}.case-table td[data-label="Próximo paso"],.case-table td[data-label="Última actualización"]{max-width:none;min-width:0}}

.ct-paused{display:block;margin-top:4px;font-size:11.5px;color:#8A94A6}
.case-table td[data-label="Última actualización"]{white-space:nowrap;min-width:0}
@media(max-width:1199px){.case-table td[data-label="Próximo paso"],.case-table td[data-label="Última actualización"],.case-table td.ct-company{max-width:none;min-width:0;white-space:normal}.case-table .kind-chip{max-width:100%}}
.ct-when{display:flex;flex-direction:column;line-height:1.3}.ct-when small{color:#8A94A6;font-size:12px}.case-table td,.case-table th{padding-left:12px;padding-right:12px}
.case-table th{white-space:normal}.case-table td.ct-company{max-width:150px}.case-table .kind-chip{max-width:150px}.case-table td[data-label="Próximo paso"]{min-width:100px;max-width:130px}.case-table td[data-label="Fecha de ingreso"]{white-space:normal;min-width:90px}.case-table .state-chip{white-space:nowrap}
/* Lote 13: pagos por mes, auditoría paginada, un solo aviso de cliente en revisión */
.pay-card .card-title{flex-wrap:wrap;align-items:flex-end}.pay-card .card-title .muted{display:block;font-size:13px;margin-top:2px}
.pay-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0}.pay-controls label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin:0}
.pay-controls input{min-height:36px;padding:6px 10px}
.pay-card .pay-metrics{margin:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line)}
.pay-card .card-body{padding:14px 24px 4px}.pay-card .card-body .note{margin-bottom:10px}
.audit-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:18px 20px;margin-bottom:12px}
.audit-filters label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin:0}
.audit-filters .actions{display:flex;gap:8px}.audit-count{margin:0 0 10px}
.pager .is-off{opacity:.45;pointer-events:none}
#context-banner small{font-size:inherit}
@media(max-width:1100px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters .audit-q{grid-column:1/-1}}
@media(max-width:760px){.audit-filters{grid-template-columns:1fr}.pay-controls{width:100%}.pay-controls label{flex:1 1 100%}.pay-card .pay-metrics{grid-template-columns:repeat(2,1fr)}#context-banner small{display:none}}
.pay-table td,.pay-table th,.audit-table td,.audit-table th{padding-left:12px;padding-right:12px;font-size:13.5px;vertical-align:top}
.pay-table td:nth-child(n+4):nth-child(-n+7),.pay-table th:nth-child(n+4):nth-child(-n+7){text-align:right;white-space:nowrap}
.pay-table td:first-child,.audit-table td:first-child{white-space:nowrap}
.audit-table td:nth-child(5){max-width:280px;overflow-wrap:anywhere}.audit-table td:nth-child(6){white-space:nowrap}
.audit-table td small,.pay-table td small{font-size:12px}
.pay-table td:nth-child(2){max-width:230px;overflow-wrap:anywhere}.pay-table td:nth-child(3){max-width:170px}.pay-table .badge{white-space:normal}
.pay-table td,.pay-table th{padding-left:10px;padding-right:10px}
.pay-table td:nth-child(2),.pay-table td:nth-child(3){white-space:normal;overflow:visible;text-overflow:clip}
/* Lote 14: indicadores de cuentas */
.account-metrics .card-title{flex-wrap:wrap}.account-metrics .seg{display:flex;gap:6px}
.metric-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line)}
.metric-groups section{padding:16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.metric-groups section:last-child{border-right:0}
.metric-groups h4{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kpi-mini{display:flex;flex-direction:column;gap:1px}.kpi-mini span{font-size:13px;color:var(--ink-2)}.kpi-mini strong{font-size:22px;line-height:1.2;color:var(--ink)}.kpi-mini small{font-size:12px;color:var(--muted);line-height:1.35}
@media(max-width:1200px){.metric-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-groups section:nth-child(3){border-right:0}.metric-groups section:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:760px){.metric-groups{grid-template-columns:1fr 1fr}.metric-groups section{border-right:0;border-top:1px solid var(--line)}}
.plan-summary .totals{margin:14px 0 10px;display:grid;gap:6px}.plan-summary .totals div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.plan-summary .totals dt{color:inherit;opacity:.85}.plan-summary .totals dd{margin:0;font-weight:600;white-space:nowrap}.plan-summary .totals small{font-weight:400;opacity:.75}
.plan-summary .totals .total{border-top:1px solid currentColor;padding-top:6px;font-size:16px}.plan-summary .totals .total dt{opacity:1;font-weight:700}
/* Lote 15: estatus por homologar */
.status-card .card-title span.muted{display:block;font-size:13px;margin-top:2px;max-width:80ch}
.raw-status{font-family:var(--mono,monospace);font-size:13px;background:#F4F1EA;border-radius:6px;padding:2px 6px;overflow-wrap:anywhere}
.map-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.map-status select{min-width:220px}
.status-card ul.mapped{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:14px}.status-card h4{margin:0;font-size:14px}
.help-sec{margin-bottom:18px}.help-sec h3{font-size:15px;margin:0 0 8px;color:var(--blue,#006bc7)}
.help-sec dl{margin:0;display:grid;gap:8px}.help-sec dt{font-weight:600;font-size:14px}.help-sec dd{margin:0 0 4px;font-size:14px;color:#33475c;line-height:1.5}
.help-contact{font-size:14px;margin:6px 0 0}
/* ===== Lote 16 · menú azul por secciones, cuenta arriba a la derecha, modo oscuro, cargas animadas, motor en vivo ===== */
.workspace{--ws-bg:#ffffff;--ws-surface:#ffffff;--ws-soft:#F7F9FC;--ws-line:#E4E8EF;--ws-line-2:#D3DAE4;--ws-text:#0a2540;--ws-text-2:#344054;--ws-muted:#667085;background:var(--ws-bg)}
.workspace-body{background:var(--ws-bg)}
/* Menú lateral azul marino */
.workspace .sidebar{background:linear-gradient(180deg,#0a2540 0%,#082038 100%);color:#fff;border-right:0;padding:22px 12px 18px}
.workspace .brand{padding:4px 12px 22px}.workspace .brand img{width:156px}
.workspace nav{gap:2px}
.workspace nav button{color:#C7D4E2;font-size:14px;font-weight:500;padding:9px 12px;border-radius:10px;gap:11px}
.workspace nav button b{color:#8FA6BE;width:18px}
.workspace nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.workspace nav button.active,.workspace nav button[aria-current="page"]{background:rgba(255,255,255,.12);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--mint)}
.workspace nav button.active b,.workspace nav button[aria-current="page"] b{color:var(--mint)}
.nav-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;text-align:left}
.nav-text small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);margin-bottom:2px}
.nav-sec{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.workspace nav .nav-toggle{color:#fff;font-weight:650;font-size:13.5px;padding:9px 10px}
.workspace nav .nav-toggle b{color:#9fd8ee}
.nav-toggle .chev{margin-left:auto;display:grid;place-items:center;transition:transform .18s;color:#8FA6BE}
.nav-toggle .chev svg{width:15px;height:15px}
.nav-toggle[aria-expanded="false"] .chev{transform:rotate(-90deg)}
.nav-items{display:flex;flex-direction:column;gap:2px;padding-left:10px;margin-left:9px;border-left:1px solid rgba(255,255,255,.1)}
.nav-sec.depth-1>.nav-toggle{font-size:12.5px;font-weight:600;color:#DDE7F1;text-transform:none;padding:8px 10px}
.nav-sec.depth-1>.nav-toggle b{color:#8FA6BE}
.nav-sec.is-client{margin-top:14px;padding:6px;border-radius:12px;background:rgba(0,230,184,.08);box-shadow:inset 0 0 0 1px rgba(0,230,184,.22)}
.workspace .sidebar-bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 2px 0;margin-top:18px}
.workspace .help-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.workspace .help-card strong{color:#fff}.workspace .help-card strong svg{color:var(--mint)}
.workspace .help-card p{color:#9fb3c8}
.workspace .help-card a{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff}
.workspace .help-card a:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.workspace .nav-count{box-shadow:0 0 0 2px #0a2540}
/* Barra superior: cuenta y avisos */
.workspace .topbar{background:rgba(255,255,255,.96);border-bottom:1px solid var(--ws-line)}
.account{position:relative}
#account-btn{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--ws-text);padding:4px 10px 4px 4px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ws-line)}
#account-btn:hover,#account-btn[aria-expanded="true"]{background:var(--ws-soft);box-shadow:inset 0 0 0 1px var(--ws-line-2)}
#account-btn #profile{display:flex;flex-direction:column;align-items:flex-start;font-size:13px;font-weight:600;line-height:1.2;text-align:left}
#account-btn #profile small{color:var(--ws-muted);font-size:11.5px;font-weight:500}
#account-btn .chev{width:16px;height:16px;color:var(--ws-muted);transition:transform .15s}
#account-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:320px;max-width:calc(100vw - 24px);background:var(--ws-surface);color:var(--ws-text);border:1px solid var(--ws-line);border-radius:16px;box-shadow:0 24px 60px -18px rgba(6,24,43,.35);padding:8px;animation:fv-pop .14s ease-out}
.am-head{display:flex;gap:12px;align-items:center;padding:10px 10px 12px}
.am-head div{display:flex;flex-direction:column;min-width:0}.am-head strong{font-size:14.5px}
.am-head small{color:var(--ws-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.am-plan{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 4px 6px;padding:10px 12px;border-radius:12px;background:var(--ws-soft);font-size:13.5px}
.am-plan small{flex-basis:100%;color:var(--ws-muted);font-size:12.5px}.am-plan .loading{flex-basis:100%;padding:4px 0;font-size:12.5px}
.am-label{flex-basis:100%;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-muted)}
.am-links{display:flex;flex-direction:column;padding:4px 0;border-top:1px solid var(--ws-line)}
.am-links button{display:flex;align-items:center;gap:10px;background:transparent;color:var(--ws-text);font-weight:500;font-size:13.5px;text-align:left;border-radius:10px;padding:9px 10px}
.am-links button:hover{background:var(--ws-soft);color:var(--ws-text)}
.am-links button svg{width:17px;height:17px;color:var(--ws-muted);flex:none}
.am-links button[data-action="logout"]{color:#B22A44}.am-links button[data-action="logout"] svg{color:#B22A44}
.am-theme{padding:8px 10px 10px;border-top:1px solid var(--ws-line)}
.am-theme .am-label{display:block;margin-bottom:8px}
.seg{display:flex;gap:4px;background:var(--ws-soft);border-radius:11px;padding:3px}
.seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--ws-text-2);font-size:12.5px;font-weight:600;padding:7px 8px;border-radius:9px}
.seg-btn svg{width:15px;height:15px}.seg-btn:hover{background:var(--ws-surface);color:var(--ws-text)}
.seg-btn[aria-pressed="true"]{background:var(--ws-surface);color:var(--blue);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.notices-btn{display:inline-flex;align-items:center;gap:8px;background:#FFF4DB;color:#8A5300;border-radius:999px;padding:7px 12px 7px 10px;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px #F3D9A4}
.notices-btn:hover{background:#FFEBC0;color:#6E4200}
.notices-btn svg{width:17px;height:17px}.notices-btn i{font-style:normal;background:#C98A0B;color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:11.5px;padding:0 5px}
.notice-list{list-style:none;margin:0;padding:6px 20px 10px;display:grid}
.notice-list li{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--ws-line)}
.notice-list li:first-child{border-top:0}
.notice-list p{margin:3px 0 0;font-size:13.5px;color:var(--ws-muted);line-height:1.5}
.notice-icon{width:34px;height:34px;border-radius:10px;background:#FFF4DB;color:#B87700;display:grid;place-items:center}.notice-icon svg{width:18px;height:18px}
dialog .notice-list{padding:0}
.notice-card{box-shadow:0 0 0 1px #F3D9A4!important}
/* Cargando: barra superior, giro en el botón y bloques de espera */
#busy-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:200;pointer-events:none;opacity:0;transition:opacity .2s;background:linear-gradient(90deg,transparent,var(--mint),var(--cyan),var(--blue),transparent);background-size:50% 100%;background-repeat:no-repeat}
#busy-bar.on{opacity:1;animation:fv-bar 1.1s ease-in-out infinite}
@keyframes fv-bar{0%{background-position:-50% 0}100%{background-position:150% 0}}
@keyframes fv-spin{to{transform:rotate(360deg)}}
@keyframes fv-pop{from{opacity:0;transform:translateY(-4px)}}
button.is-loading{cursor:progress;opacity:.85!important}
button.is-loading::before{content:"";display:inline-block;flex:none;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fv-spin .7s linear infinite}
button.icon-btn.is-loading svg,.row-menu-list button.is-loading svg{display:none}
button.icon-btn.is-loading::before{margin:0}
.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:30px 18px;color:var(--ws-muted,#667085);font-size:14.5px;text-align:left}
.loading>span:last-child{display:flex;flex-direction:column}.loading small{font-size:12.5px;opacity:.85}
.spinner{width:22px;height:22px;flex:none;border-radius:50%;border:2.5px solid rgba(0,107,199,.18);border-top-color:var(--blue);animation:fv-spin .75s linear infinite}
#content>.loading{min-height:40vh}
#holder-results .loading,#reg-results .loading,.reading .loading,.am-plan .loading{justify-content:flex-start;padding:12px 0}
#notice.busy{background:var(--navy);display:flex;align-items:center;gap:12px}
#notice.busy::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:fv-spin .75s linear infinite}
/* Empresas: para qué es cada una */
.choice-cards{display:grid;gap:10px;margin-bottom:16px}
.choice{flex-direction:row;align-items:flex-start;gap:12px;margin:0;padding:14px 16px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--ws-line-2,#d0c9ba);cursor:pointer;font-weight:400}
.choice input{margin-top:3px;width:auto;accent-color:var(--blue)}
.choice span{display:flex;flex-direction:column;gap:3px}.choice strong{font-size:14.5px;color:var(--ink)}.choice small{font-size:13px;color:var(--muted);line-height:1.45}
.choice:has(input:checked){box-shadow:inset 0 0 0 2px var(--blue);background:#F2F8FE}
.holder-pick .cats{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.holder-pick .cats label{margin:0}
.new-company{margin-top:-6px}
/* Compra en dos pasos */
.checkout h3{margin:4px 0 14px;font-size:21px}
.checkout-lines{margin:0 0 14px;border-radius:14px;box-shadow:0 0 0 1px var(--ws-line,#e3ded3);overflow:hidden}
.checkout-lines>div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:14px 16px;border-top:1px solid var(--ws-line,#e3ded3)}
.checkout-lines>div:first-child{border-top:0;background:var(--ws-soft,#f7f9fc)}
.checkout-lines dt{font-size:13px;font-weight:600;color:var(--muted)}.checkout-lines dd{margin:0;display:flex;flex-direction:column;gap:3px;font-size:14.5px}
.checkout-lines small{font-size:12.5px;color:var(--muted)}
.checkout-total{font-size:26px;letter-spacing:-.02em;line-height:1.1}
.pay-card-line{display:inline-flex;align-items:center;gap:8px}.pay-card-line svg{width:20px;height:20px;color:var(--blue)}
.link-btn{background:none;color:var(--blue);padding:0;font-weight:600;font-size:12.5px;border-radius:4px;text-decoration:underline}
.link-btn:hover{background:none;color:var(--ink)}
.checkout-actions{justify-content:flex-end;margin-top:6px}
.checkout-done{text-align:center;padding:6px 4px}.checkout-done .actions{justify-content:center;margin:14px 0}
.done-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#E7F7EE;color:#0B8C68}.done-icon svg{width:30px;height:30px}
.checkout-done h3{margin:12px 0 6px;font-size:22px}
/* Motor: quién corrige y homologación */
.who{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.who-cliente{background:#FFF4DB;color:#8A5300}.who-flowvex{background:#E6F0FB;color:#0A5AA6}
td .wrap{white-space:normal;display:block;min-width:200px;max-width:360px;line-height:1.45}
.map-list{display:grid}
.map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px;padding:16px 24px;border-top:1px solid var(--ws-line,#e3ded3)}
.map-row:first-child{border-top:0}
.map-text{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.map-row .map-status{display:grid;gap:8px}.map-row .map-status label{margin:0}.map-row .map-status button{justify-self:start}
.map-mean{margin:0;font-size:13px;line-height:1.45}
details.meanings summary{cursor:pointer;font-weight:600;color:var(--ink-2)}
details.meanings dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0 0;font-size:13.5px}
details.meanings dt{font-weight:600}details.meanings dd{margin:0;color:var(--muted)}
.reading{margin:14px 0;padding:14px 16px;border-radius:12px;background:var(--ws-soft,#f7f9fc);box-shadow:inset 0 0 0 1px var(--ws-line,#e3ded3)}
.reading h3{font-size:14px;margin:0 0 6px}.reading p{margin:6px 0;font-size:14px}
.raw-quote{font-family:var(--mono);font-size:13px!important;overflow-wrap:anywhere}
.card.flash{animation:fv-flash 1.6s ease-out}
@keyframes fv-flash{0%{box-shadow:0 0 0 3px var(--blue)}100%{box-shadow:0 0 0 1px var(--ws-line)}}
/* Motor en vivo: pared de vidrio */
.live-status{padding:18px 22px}
.live-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.live-state{display:flex;flex-direction:column}.live-state strong{font-size:18px}.live-state small{color:var(--ws-muted);font-size:13px}
.live-dot{width:14px;height:14px;border-radius:50%;background:#98A2B3;flex:none}
.live-dot.on{background:#12B886;box-shadow:0 0 0 0 rgba(18,184,134,.6);animation:fv-ping 1.6s ease-out infinite}
@keyframes fv-ping{0%{box-shadow:0 0 0 0 rgba(18,184,134,.55)}100%{box-shadow:0 0 0 14px rgba(18,184,134,0)}}
.live-counts{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.live-counts span{display:flex;flex-direction:column}.live-counts strong{font-size:20px;letter-spacing:-.02em}.live-counts small{font-size:12px;color:var(--ws-muted)}
.live-progress{height:8px;border-radius:999px;background:var(--ws-soft);margin-top:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--ws-line)}
.live-progress span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--mint));transition:width .6s ease}
.live-now{display:flex;align-items:center;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#0a2540,#0c3a63);color:#fff;box-shadow:none!important;min-height:92px}
.live-now .eyebrow{color:var(--mint);display:block;margin-bottom:4px}
.now-text{display:flex;flex-direction:column;min-width:0;flex:1}.now-text strong{font-size:20px;overflow-wrap:anywhere}.now-text small{color:#B8C8D8;font-size:13px}
.now-timer{font:700 26px var(--mono);color:#fff;opacity:.9}
.scanner{display:flex;align-items:flex-end;gap:4px;height:42px;flex:none}
.scanner span{width:6px;border-radius:3px;background:var(--mint);animation:fv-scan 1s ease-in-out infinite}
.scanner span:nth-child(2){animation-delay:.12s}.scanner span:nth-child(3){animation-delay:.24s}.scanner span:nth-child(4){animation-delay:.36s}.scanner span:nth-child(5){animation-delay:.48s}
@keyframes fv-scan{0%,100%{height:10px;opacity:.5}50%{height:40px;opacity:1}}
.now-idle{display:flex;align-items:center;gap:14px}.now-idle svg{width:26px;height:26px;color:#9fd8ee;flex:none}
.now-idle div{display:flex;flex-direction:column}.now-idle strong{font-size:16px}.now-idle small{color:#B8C8D8;font-size:13px}
.live-legend{display:flex;align-items:center;gap:6px 12px;font-size:12px;color:var(--ws-muted);flex-wrap:wrap}
.live-legend .ev{width:12px;height:12px;border-radius:50%}
.live-feed{list-style:none;margin:0;padding:0;max-height:62vh;overflow:auto}
.ev-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px 22px;border-top:1px solid var(--ws-line)}
.ev-row:first-child{border-top:0}
.ev-row.is-new{animation:fv-in .5s ease-out}
@keyframes fv-in{from{opacity:0;transform:translateY(-10px);background:rgba(0,212,255,.12)}to{opacity:1;transform:none;background:transparent}}
.ev{display:grid;place-items:center;width:30px;height:30px;border-radius:50%}
.ev svg{width:17px;height:17px}
.ev.ok{background:#EEF1F4;color:#5B6B7B}.ev.star{background:#E7F7EE;color:#0B8C68}.ev.err{background:#FDECEE;color:#C0303B}
.ev-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.ev-what{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ev-org{font-size:12.5px;color:var(--ws-muted)}
.ev-result{font-size:13.5px;color:var(--ws-text-2);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ev-time{display:flex;flex-direction:column;align-items:flex-end;font-size:12.5px;color:var(--ws-text-2);font-variant-numeric:tabular-nums}.ev-time small{color:var(--ws-muted)}
.mono{font-family:var(--mono)}
.tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#E6F0FB;color:#0A5AA6}
.ev-empty{list-style:none}
/* (Lote 26c) El movimiento reducido ya no apaga todas las animaciones: ver «prefers-reduced-motion» en el bloque Lote 26 · portal. */
/* Móvil */
@media(max-width:760px){
 .workspace .sidebar{width:min(300px,86vw)}
 #account-btn{padding:3px;box-shadow:none}#account-btn #profile,#account-btn .chev{display:none}
 .account-menu{position:fixed;left:12px;right:12px;top:62px;width:auto}
 .notices-btn span{display:none}.notices-btn{padding:6px 8px}
 .notice-list{padding:4px 16px 8px}.notice-list li{grid-template-columns:30px 1fr}.notice-list li>button{grid-column:2;justify-self:start}
 .checkout-lines>div{grid-template-columns:1fr;gap:4px}
 .map-row{grid-template-columns:1fr;padding:14px 16px}
 .live-counts{margin-left:0;gap:16px;width:100%}
 .live-now{flex-wrap:wrap}.now-timer{font-size:20px}
 .ev-row{padding:12px 14px;grid-template-columns:30px 1fr}.ev-time{grid-column:2;flex-direction:row;gap:8px;align-items:center}
 details.meanings dl{grid-template-columns:1fr}
 td .wrap{min-width:160px}
}
/* ===== Modo oscuro (solo el área de trabajo; la marca conserva sus colores) ===== */
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] .workspace{--ws-bg:#0B1522;--ws-surface:#111D2C;--ws-soft:#16263A;--ws-line:#22344A;--ws-line-2:#2E4460;--ws-text:#E6EDF5;--ws-text-2:#C3D0DE;--ws-muted:#8FA3B8;--ink:#E6EDF5;--ink-2:#C3D0DE;--muted:#8FA3B8;--line:#22344A;--line-2:#2E4460;--bg:#0B1522;color:var(--ws-text)}
html[data-theme="dark"] .workspace .sidebar{background:linear-gradient(180deg,#06182b,#051322)}
html[data-theme="dark"] .workspace .topbar{background:rgba(11,21,34,.94);border-bottom-color:var(--ws-line)}
html[data-theme="dark"] .workspace #org-label{color:var(--ws-text)}
html[data-theme="dark"] .workspace .card,html[data-theme="dark"] .workspace .metrics,html[data-theme="dark"] .workspace .filter-card,html[data-theme="dark"] .workspace .case-table-wrap,
html[data-theme="dark"] .workspace .case-list,html[data-theme="dark"] .workspace .case-counter,html[data-theme="dark"] .workspace .case-filters,html[data-theme="dark"] .workspace .view-toggle,
html[data-theme="dark"] .workspace .chip-filter,html[data-theme="dark"] .workspace .head-btn.quiet,html[data-theme="dark"] .workspace .export-btn,html[data-theme="dark"] .account-menu,
html[data-theme="dark"] .workspace .row-menu-list{background:var(--ws-surface);color:var(--ws-text);border-color:var(--ws-line);box-shadow:0 0 0 1px var(--ws-line)}
html[data-theme="dark"] .workspace .card-title,html[data-theme="dark"] .workspace td,html[data-theme="dark"] .workspace .case-row,html[data-theme="dark"] .workspace .metric,
html[data-theme="dark"] .workspace .onboard li,html[data-theme="dark"] .workspace .metric-groups section,html[data-theme="dark"] .workspace .metric-groups{border-color:var(--ws-line)}
html[data-theme="dark"] .workspace th,html[data-theme="dark"] .workspace .case-table th{background:var(--ws-soft);color:var(--ws-muted);border-color:var(--ws-line)}
html[data-theme="dark"] .workspace td,html[data-theme="dark"] .workspace .case-table td{color:var(--ws-text-2);border-color:var(--ws-line)}
html[data-theme="dark"] .workspace td:first-child,html[data-theme="dark"] .workspace .ct-folio span,html[data-theme="dark"] .workspace .kpi-top strong,html[data-theme="dark"] .workspace .kpi-top b{color:var(--ws-text)}
html[data-theme="dark"] .workspace tbody tr:hover td,html[data-theme="dark"] .workspace .case-table tbody tr:hover td{background:var(--ws-soft)}
html[data-theme="dark"] .workspace input,html[data-theme="dark"] .workspace select,html[data-theme="dark"] .workspace textarea,
html[data-theme="dark"] dialog input,html[data-theme="dark"] dialog select,html[data-theme="dark"] dialog textarea{background:#0E1927;color:var(--ws-text,#E6EDF5);border-color:#2E4460}
html[data-theme="dark"] .workspace button.quiet,html[data-theme="dark"] dialog button.quiet{color:#E6EDF5;box-shadow:inset 0 0 0 1.5px #2E4460}
html[data-theme="dark"] .workspace button.quiet:hover,html[data-theme="dark"] dialog button.quiet:hover{background:#16263A;box-shadow:inset 0 0 0 1.5px #8FA3B8}
html[data-theme="dark"] .workspace-body :where(button:not(.quiet,.icon-btn,.seg-btn,.kpi-link,.link-btn,.chip-filter,.case-counter,.reg-option,.notices-btn,#account-btn,.am-links button,.row-menu-list button,.danger)){background:#1B5FA8}
html[data-theme="dark"] .workspace-body :where(button:not(.quiet,.icon-btn,.seg-btn,.kpi-link,.link-btn,.chip-filter,.case-counter,.reg-option,.notices-btn,#account-btn,.am-links button,.row-menu-list button,.danger)):hover{background:#2A77C7}
html[data-theme="dark"] .workspace nav button,html[data-theme="dark"] .workspace nav button:hover{background:transparent}
html[data-theme="dark"] .workspace nav button:hover{background:rgba(255,255,255,.07)}
html[data-theme="dark"] .workspace nav button.active,html[data-theme="dark"] .workspace nav button[aria-current="page"]{background:rgba(255,255,255,.12)}
html[data-theme="dark"] .workspace .icon-btn{color:#C3D0DE}
html[data-theme="dark"] .workspace .note.warning,html[data-theme="dark"] dialog .note.warning{background:#33250C;color:#F3D39A}
html[data-theme="dark"] .workspace .kpi{background:#132236;border-color:#22344A}html[data-theme="dark"] .workspace .kpi-top small{color:#8FA3B8}
html[data-theme="dark"] .workspace .kpi.tone-green{background:#0F2A22;border-color:#1D4A3B}html[data-theme="dark"] .workspace .kpi.tone-amber{background:#2C2410;border-color:#4D3E17}html[data-theme="dark"] .workspace .kpi.tone-rose{background:#2E1519;border-color:#512730}
html[data-theme="dark"] .workspace .badge.activa,html[data-theme="dark"] .workspace .badge.activo,html[data-theme="dark"] .workspace .badge.enviada,html[data-theme="dark"] .workspace .badge.resolucion_emitida,html[data-theme="dark"] .workspace .badge.entregada{background:#0F2A22;color:#5DD3A8}
html[data-theme="dark"] .workspace .badge.pendiente,html[data-theme="dark"] .workspace .badge.pausado,html[data-theme="dark"] .workspace .badge.prevencion,html[data-theme="dark"] .workspace .badge.no_localizado{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .workspace .badge.fallida,html[data-theme="dark"] .workspace .badge.error{background:#3A161C;color:#F29AA8}
html[data-theme="dark"] .workspace .badge.en_evaluacion,html[data-theme="dark"] .workspace .badge.ingresado,html[data-theme="dark"] .workspace .badge.en_revision{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .workspace .state-chip.tone-done,html[data-theme="dark"] .workspace .kind-gray{background:#1E2F44;color:#C3D0DE;border-color:#2E4460}
html[data-theme="dark"] .workspace .kind-chip{filter:brightness(.9) saturate(1.1)}
html[data-theme="dark"] .workspace .empty .symbol,html[data-theme="dark"] .workspace .fc-icon{background:#16263A}
html[data-theme="dark"] .workspace .case-table tr{background:var(--ws-surface)}
html[data-theme="dark"] .workspace .holder-pick,html[data-theme="dark"] .workspace .reg-pick,html[data-theme="dark"] .workspace .csv-help,html[data-theme="dark"] dialog .holder-pick,html[data-theme="dark"] dialog .reg-pick,html[data-theme="dark"] dialog .csv-help{background:#0E1927;border-color:#22344A}
html[data-theme="dark"] .workspace .raw-status,html[data-theme="dark"] dialog .raw-status{background:#16263A;color:#E6EDF5}
html[data-theme="dark"] .workspace footer{color:#8FA3B8}
html[data-theme="dark"] .notices-btn{background:#33250C;color:#F3C66B;box-shadow:inset 0 0 0 1px #4D3E17}
html[data-theme="dark"] .notice-icon{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .who-cliente{background:#33250C;color:#F3C66B}html[data-theme="dark"] .who-flowvex{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .ev.ok{background:#1E2F44;color:#C3D0DE}html[data-theme="dark"] .ev.star{background:#0F2A22;color:#5DD3A8}html[data-theme="dark"] .ev.err{background:#3A161C;color:#F29AA8}
html[data-theme="dark"] .tag{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .choice:has(input:checked){background:#10283F}
html[data-theme="dark"] #context-banner{background:#0F2A22;color:#9BE3C8;border-bottom-color:#1D4A3B}
html[data-theme="dark"] dialog{--ws-surface:#111D2C;--ws-soft:#16263A;--ws-line:#22344A;--ws-line-2:#2E4460;--ws-text:#E6EDF5;--ws-muted:#8FA3B8;--ink:#E6EDF5;--ink-2:#C3D0DE;--muted:#8FA3B8;--line:#22344A;--line-2:#2E4460;--bg:#0E1927;background:#111D2C;color:#E6EDF5;box-shadow:0 40px 100px -20px rgba(0,0,0,.7),0 0 0 1px #22344A}
html[data-theme="dark"] dialog label{color:#C3D0DE}html[data-theme="dark"] dialog .reg-option,html[data-theme="dark"] dialog .upgrade-option{background:#0E1927;color:#E6EDF5;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] dialog :where(button:not(.quiet,.link-btn,.reg-option,.danger,#close-dialog)){background:#1B5FA8}
html[data-theme="dark"] dialog #close-dialog{color:#E6EDF5;box-shadow:inset 0 0 0 1.5px #2E4460}
html[data-theme="dark"] .workspace .live-progress{background:#0E1927}
html[data-theme="dark"] .workspace .spinner,html[data-theme="dark"] dialog .spinner{border-color:rgba(140,194,242,.2);border-top-color:#8CC2F2}
html[data-theme="dark"] .viz-tick{fill:#8FA3B8}html[data-theme="dark"] .viz-tip{background:#111D2C;color:#E6EDF5}
.checkout-done .button-link{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2);padding:11px 18px;font-size:14px}
.checkout-done .button-link:hover{background:var(--ws-soft,#f7f9fc);box-shadow:inset 0 0 0 1.5px var(--ink)}
.done-lead{font-size:16px;margin:14px 0 6px}
.wrap-table td{white-space:normal;min-width:110px;vertical-align:top}.wrap-table td .wrap{min-width:0}
html[data-theme="dark"] .workspace nav .nav-toggle{background:transparent}
html[data-theme="dark"] .workspace .am-links button{background:transparent}
.identity .account-menu span{display:revert;flex-direction:row;max-width:none;overflow:visible;font-size:inherit;font-weight:inherit}
.identity .account-menu .am-label{display:block}.identity .account-menu .seg-btn span,.identity .account-menu .am-links button span{display:inline}
.identity .account-menu .badge{display:inline-flex}
html[data-theme="dark"] .workspace .fc-grid .fx,html[data-theme="dark"] .workspace .fc-grid .fx legend,html[data-theme="dark"] .workspace .case-order,html[data-theme="dark"] .workspace .case-bar .case-result,
html[data-theme="dark"] .workspace .kpi-plan,html[data-theme="dark"] .workspace label,html[data-theme="dark"] .workspace .filter-card>summary small{color:var(--ws-text-2)}
html[data-theme="dark"] .workspace .fx-input>svg{color:#8FA3B8}
html[data-theme="dark"] .workspace .case-table tr.is-paused td{color:#6F8398}
html[data-theme="dark"] .workspace .onboard li.done strong{color:#8FA3B8}
html[data-theme="dark"] .workspace .kpi-link{background:transparent}
.page-head .actions button{display:inline-flex;align-items:center;gap:8px}.page-head .actions button>svg{width:18px;height:18px;flex:none}
.identity .account-menu .avatar{display:inline-grid;place-items:center;width:36px;height:36px}

/* Lote 17: revisión inicial de los trámites recién cargados */
.first-review{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:24px;border-radius:14px;background:linear-gradient(135deg,#e6f6ff,#e9fbf5);box-shadow:inset 0 0 0 1px #bfe3f5}
.first-review .fr-icon{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--mint)}
.first-review .fr-icon svg{width:20px;height:20px}
.first-review .fr-text{flex:1;min-width:0}.first-review strong{display:block;font-size:15px;color:var(--navy)}
.first-review p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:#2f5470}
.first-review>button{flex:none;white-space:nowrap}
.review-box .loading{margin:6px 0 14px}
.review-progress{height:10px;border-radius:999px;background:var(--ws-soft,#eef1f4);overflow:hidden;box-shadow:inset 0 0 0 1px var(--ws-line,#e3ded3)}
.review-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--mint));transition:width .4s ease}
.review-count{margin:10px 0 14px;font-size:14px;color:var(--ink-2)}
.review-tally{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.review-tally li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--ws-soft,#f7f9fc);box-shadow:inset 0 0 0 1px var(--ws-line,#e3ded3)}
.review-tally b{font-size:16px}
.review-box .small-print{font-size:12.5px;margin:12px 0 0}
html[data-theme="dark"] .first-review{background:linear-gradient(135deg,#0f2a40,#0e2f2a);box-shadow:inset 0 0 0 1px #24506b}
html[data-theme="dark"] .first-review strong{color:#E6EDF5}html[data-theme="dark"] .first-review p{color:#B7CADC}
html[data-theme="dark"] .review-tally li,html[data-theme="dark"] .review-progress{background:#16263A;box-shadow:inset 0 0 0 1px #22344A}
@media(max-width:760px){.first-review{flex-wrap:wrap;align-items:flex-start}.first-review>button{width:100%}.review-tally{grid-template-columns:1fr}}
html[data-theme="dark"] dialog .note:not(.warning){background:#10283F;color:#BFD9F2}
button.no-spin.is-loading::before{display:none}

/* Lote 21: revisión en vivo por folio, avisos descartables, registros, cierre de cuenta y factura */
.review-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.review-chips span{font-size:12.5px;padding:5px 10px;border-radius:999px;background:var(--ws-soft,#f1f4f8);box-shadow:inset 0 0 0 1px var(--ws-line,#e3ded3);color:var(--ink-2)}
.review-chips b{color:var(--ink)}
.review-list{list-style:none;margin:0 0 16px;padding:0;max-height:300px;overflow:auto;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ws-line,#e3ded3)}
.review-list li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ws-line,#eeeae2);animation:rv-in .35s ease}
.review-list li:last-child{border-bottom:0}
.review-list .rv-folio{font-size:13px;font-weight:600;color:var(--ink)}
.review-list .rv-company{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-list small{grid-column:1/-1;font-size:12px}
@keyframes rv-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.review-pill{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;background:var(--navy);color:#fff;font-size:13.5px;font-weight:600;box-shadow:0 18px 40px -14px rgba(6,24,43,.6)}
.review-pill .spinner{width:15px;height:15px;border-width:2px}
.review-pill svg{width:16px;height:16px;color:var(--mint)}
.notice-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.notice-actions button{white-space:nowrap}
.reg-filters .card-body{display:grid;grid-template-columns:1.2fr 1.6fr 1fr;gap:0 16px;padding-bottom:6px}
.reg-filters label{margin-bottom:14px}
.danger-zone{box-shadow:0 0 0 1px #f0c9d1}
.danger-zone p{margin-top:0}
.close-list{margin:0 0 18px;padding-left:20px;line-height:1.55;font-size:14px;color:var(--ink-2)}
.close-list li{margin-bottom:6px}
.invoice-now{display:flex;gap:16px;margin-bottom:16px;padding:16px 18px;border-radius:12px;background:var(--ws-soft,#f1f4f8)}
.invoice-now strong{display:block;font-size:30px;letter-spacing:-.02em;margin:4px 0}
.invoice-now small{color:var(--muted)}
.type-hint{display:block;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--blue)}
html[data-theme="dark"] .review-pill{background:#16263A;box-shadow:0 0 0 1px #2E4460,0 18px 40px -14px rgba(0,0,0,.7)}
html[data-theme="dark"] .review-list,html[data-theme="dark"] .review-chips span{box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .review-chips span,html[data-theme="dark"] .invoice-now{background:#16263A}
html[data-theme="dark"] .review-list li{border-color:#22344A}
html[data-theme="dark"] .danger-zone{box-shadow:0 0 0 1px #5b2633}
html[data-theme="dark"] .type-hint{color:#7cc4ff}
@media(max-width:760px){.reg-filters .card-body{grid-template-columns:1fr}.review-pill{right:12px;left:12px;bottom:12px;justify-content:center}.notice-actions{flex-direction:row;flex-wrap:wrap}.review-list li{grid-template-columns:1fr auto}.review-list .rv-company{grid-column:1/-1;order:3}}
#reg-table .mono{white-space:nowrap}

/* Lote 22: mensajes con cierre, cargas suaves, menú de dos niveles, selección múltiple, tipos y recorrido */
#notice{display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 14px;padding:14px 14px 16px 20px;overflow:hidden;min-width:min(320px,90vw)}
#notice.is-in{animation:toast-in .22s ease-out}
#notice.ok{background:var(--navy)}
#notice .toast-text{white-space:pre-wrap;line-height:1.45;padding-top:2px}
#notice .toast-x{background:transparent;color:inherit;opacity:.8;font-size:20px;line-height:1;padding:2px 8px;border-radius:8px}
#notice .toast-x:hover{opacity:1;background:rgba(255,255,255,.14)}
#notice .toast-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--mint),var(--cyan));transform-origin:left;transition:transform .08s linear}
#notice.error .toast-bar{background:#ffb3c0}
#notice.busy{grid-template-columns:auto 1fr auto}
#notice.busy .toast-bar{display:none}
@keyframes toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
#content.is-refreshing{opacity:.62;transition:opacity .15s;pointer-events:none}
/* Lote 42: la copia de una página ya vista se ve completa pero no responde hasta que llegan sus datos; al cambiarla
   por la versión al día no se repite la entrada. */
#content.is-stale{pointer-events:none}
#content.is-swapped>*,#content.is-swapped tbody tr,#content.is-swapped .metrics>.metric,#content.is-swapped .kpis>.kpi,#content.is-swapped .kpi-bar span,#content.is-swapped .svc-grid>li,#content.is-swapped .rcf-row{animation:none!important}
#content.fade-in{animation:page-in .24s ease-out}
@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#content.fade-in{animation:none}}
.nav-divider{margin:14px 6px 4px;padding:10px 10px 8px;border-top:1px solid rgba(255,255,255,.1)}
.nav-divider small{display:block;color:var(--mint);font-size:11.5px;font-weight:600;letter-spacing:.02em}
.nav-divider span{display:block;color:#fff;font-size:13.5px;font-weight:600;margin-top:2px;line-height:1.3}
.case-table .ct-check{width:44px;padding-left:16px;padding-right:0}
.case-table .ct-check input{width:17px;height:17px;cursor:pointer;accent-color:var(--blue)}
.case-table tr.is-selected td{background:#EAF2FC}
.case-table tr.flash-row td{animation:row-flash 1.6s ease-out}
@keyframes row-flash{0%{background:#DDF3EA}100%{background:transparent}}
.select-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 20px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;box-shadow:0 22px 50px -16px rgba(6,24,43,.65);animation:toast-in .2s ease-out;max-width:calc(100vw - 24px)}
.select-bar small{opacity:.75}
.select-bar button{display:inline-flex;align-items:center;gap:7px;background:var(--mint);color:var(--navy)}
.select-bar button:hover{background:#5ff0cf}
.select-bar button svg{width:15px;height:15px}
.select-bar button.quiet{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.select-bar button.quiet:hover{background:rgba(255,255,255,.1)}
.select-bar button.is-off{opacity:.45;pointer-events:none}
.kpi-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.kpi-head h2{font-size:17px;margin:0;letter-spacing:-.01em}
.kpi-warn{color:#9a5b00;font-weight:600}
.detected{display:flex;flex-direction:column;gap:3px;padding:12px 14px;margin:0 0 16px;border-radius:12px;background:#EEF7F3;box-shadow:inset 0 0 0 1px #CBE8DC}
.detected strong{font-size:15px;color:var(--ink)}.detected small{color:var(--muted);font-family:var(--mono);font-size:12px}
.type-other{margin-top:-6px}
.csv-help code{color:var(--ink)}
/* Modo oscuro: lo que no se veía */
html[data-theme="dark"] dialog .csv-help code,html[data-theme="dark"] .workspace .csv-help code{background:#1E2F44;color:#E6EDF5}
html[data-theme="dark"] .workspace .view-toggle .icon-btn.is-on,html[data-theme="dark"] .workspace .icon-btn.is-on{background:#1B5FA8;color:#fff}
html[data-theme="dark"] .workspace .case-table tr.is-selected td{background:#14304C}
html[data-theme="dark"] .workspace .kpi-warn{color:#F3C66B}
html[data-theme="dark"] dialog .detected{background:#0F2A22;box-shadow:inset 0 0 0 1px #1D4A3B}
html[data-theme="dark"] dialog .detected strong{color:#E6EDF5}
html[data-theme="dark"] .select-bar{background:#16263A;box-shadow:0 0 0 1px #2E4460,0 22px 50px -16px rgba(0,0,0,.8)}
html[data-theme="dark"] #notice.ok,html[data-theme="dark"] #notice.busy{background:#16263A;box-shadow:0 0 0 1px #2E4460,0 20px 50px -12px rgba(0,0,0,.7)}
@media(max-width:760px){.select-bar{left:12px;right:12px;transform:none;bottom:12px;border-radius:16px;flex-wrap:wrap;justify-content:center}.case-table .ct-check{width:auto;padding:12px 14px 0}}
/* Recorrido de la primera vez */
.tour-shade{position:fixed;inset:0;z-index:300;pointer-events:none}
.tour-hole{position:fixed;z-index:301;border-radius:12px;box-shadow:0 0 0 9999px rgba(6,24,43,.62),0 0 0 3px var(--mint);transition:all .3s ease;pointer-events:none}
.tour-tip{position:fixed;z-index:302;width:min(340px,calc(100vw - 24px));background:var(--card);color:var(--ink);border-radius:16px;padding:18px 18px 14px;box-shadow:0 30px 70px -20px rgba(6,24,43,.6);transition:top .3s ease,left .3s ease;animation:toast-in .25s ease-out}
.tour-tip .eyebrow{display:block;margin-bottom:6px}
.tour-tip h3{margin:0 0 6px;font-size:17px}
.tour-tip p{margin:0 0 14px;font-size:14px;color:var(--ink-2);line-height:1.55}
.tour-tip .tour-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tour-tip .tour-dots{display:flex;gap:5px}.tour-tip .tour-dots i{width:7px;height:7px;border-radius:50%;background:#d6dde5}.tour-tip .tour-dots i.on{background:var(--blue)}
.tour-tip .tour-x{position:absolute;top:8px;right:8px;background:transparent;color:var(--muted);font-size:20px;padding:2px 9px}
html[data-theme="dark"] .tour-tip{background:#111D2C;color:#E6EDF5;box-shadow:0 0 0 1px #2E4460,0 30px 70px -20px rgba(0,0,0,.8)}
html[data-theme="dark"] .tour-tip p{color:#C3D0DE}
.pace-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.pace-facts div{padding:14px 16px;border-radius:12px;background:var(--ws-soft,#f1f4f8)}
.pace-facts span{display:block;font-size:12.5px;color:var(--muted)}.pace-facts strong{display:block;font-size:24px;letter-spacing:-.02em;margin-top:4px}.pace-facts small{color:var(--muted);font-size:12px}
html[data-theme="dark"] .pace-facts div{background:#16263A}
@media(max-width:900px){.pace-facts{grid-template-columns:1fr 1fr}}
.case-table td.ct-check,.case-table th.ct-check{width:34px;padding-left:16px;padding-right:0}
.case-table td[data-label="Estado actual"]{white-space:normal;min-width:150px;max-width:220px}
.case-table .state-chip{white-space:normal;line-height:1.25;align-items:flex-start}
.case-table .state-chip svg{flex:none;margin-top:1px}
@media(max-width:1199px){
 .case-table td.ct-check{position:absolute;top:14px;left:14px;width:auto;padding:0}
 .case-table td.ct-check::before{display:none}
 .case-table td.ct-folio{padding-left:30px}
 .case-table td[data-label="Estado actual"]{max-width:none;min-width:0}
}
.case-table td[data-label="Estado actual"]{min-width:170px}
.review-pill{padding:0;gap:0;overflow:hidden}
.review-pill .pill-main{display:inline-flex;align-items:center;gap:10px;background:transparent;color:inherit;padding:11px 8px 11px 18px;border-radius:0;font-size:13.5px}
.review-pill .pill-x{background:transparent;color:inherit;opacity:.75;font-size:18px;line-height:1;padding:8px 14px 8px 8px;border-radius:0}
.review-pill .pill-x:hover,.review-pill .pill-main:hover{background:rgba(255,255,255,.08);opacity:1}
.review-pill .pill-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--mint),var(--cyan));transform-origin:left}
.review-pill .pill-bar.is-running{transform:scaleX(0);transition:transform 20s linear}
/* Lote 23: with the review pill on screen the selection bar sits above it instead of covering it. */
body:has(#review-pill:not([hidden])) .select-bar{bottom:76px}
@media(max-width:760px){body:has(#review-pill:not([hidden])) .select-bar{bottom:62px}}
/* ==== Lote 24 · planes: candados, prueba gratis, nivel del trámite y contratación ==== */
button.is-locked{position:relative}
button.is-locked:not(.icon-btn){padding-right:max(12px,1.2em)}
.lock-ico{display:inline-grid;place-items:center;margin-left:7px;vertical-align:-2px;color:#9a6a00}
.lock-ico svg{width:14px;height:14px}
button:not(.quiet,.icon-btn,.link-btn,.head-btn.quiet).is-locked .lock-ico{color:#ffd88a}
.head-btn.is-locked .lock-ico{margin-left:2px}
.icon-btn.is-locked .lock-ico{position:absolute;top:-5px;right:-5px;margin:0;width:16px;height:16px;border-radius:50%;background:#FFF1D6;box-shadow:0 0 0 2px #fff}
.icon-btn.is-locked .lock-ico svg{width:10px;height:10px}
.row-menu-list button.is-locked .lock-ico{margin-left:auto}
.choice.is-locked{cursor:default;background:#FAF8F3}
.choice.is-locked strong{color:var(--muted)}
.choice-lock{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:#9a6a00;margin-top:4px}
.choice-lock svg{width:14px;height:14px}
.detail-lock{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 16px;font-size:13px;color:#9a6a00;font-weight:600}
.detail-lock svg{width:15px;height:15px;flex:none}
/* lockNote(clave): the same «Disponible desde …» line, standing on its own above a page section or a form. */
.detail-lock.lock-note{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#FFF8E8;box-shadow:inset 0 0 0 1px #F3DDB0}
.detail-lock.lock-note span{flex:1 1 220px;min-width:0}
/* Etiqueta del nivel de cada trámite */
.level-tag{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:2px 9px;border-radius:999px;font:600 11.5px var(--sans);color:#475467;background:#EEF1F5;white-space:nowrap;width:max-content}
.level-tag svg{width:12px;height:12px}
.level-tag.is-trial{color:#0B6E57;background:#E0F8F1;box-shadow:inset 0 0 0 1px #B8EBDD}
.ct-folio .level-tag,.case-id .level-tag{display:flex}
.kv-list dd .level-tag{margin-top:0}
.level-pick{border:0;margin:0 0 17px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.level-pick legend{font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:8px;padding:0}
.level-opt{flex-direction:row;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--ws-line-2,#d0c9ba);cursor:pointer;font-weight:400}
.level-opt input{width:auto;margin-top:3px;accent-color:var(--blue)}
.level-opt span{display:flex;flex-direction:column;gap:3px}
.level-opt strong{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink)}
.level-opt strong svg{width:15px;height:15px;color:#0B8C68}
.level-opt small{font-size:12.5px;color:var(--muted);line-height:1.45}
.level-opt:has(input:checked){box-shadow:inset 0 0 0 2px var(--blue);background:#F2F8FE}
.level-opt.is-trial:has(input:checked){box-shadow:inset 0 0 0 2px #12A57F;background:#EFFBF7}
.level-opt:has(input:disabled){opacity:.6;cursor:default}
.level-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;font-size:13.5px}
.level-line .level-tag{margin-top:0}
/* Franja de la prueba y de las cuentas sin plan */
#plan-strip{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;padding:12px 42px;font-size:13.5px;border-bottom:1px solid var(--ws-line,#E5E9F0)}
#plan-strip .ps-text{line-height:1.5}
/* Lote 56: el título va en línea con el detalle (antes inline-flex: quedaba más arriba y el detalle se bajaba como otro renglón). */
#plan-strip .ps-text strong{margin-right:4px}
#plan-strip .ps-text strong svg{width:16px;height:16px;vertical-align:-3px;margin-right:7px}
#plan-strip .ps-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}
#plan-strip .ps-actions button svg{width:15px;height:15px;margin-right:6px;vertical-align:-2px}
#plan-strip .ps-x{background:transparent;color:inherit;opacity:.7;font-size:18px;line-height:1;padding:4px 9px;box-shadow:none}
#plan-strip .ps-x:hover{opacity:1;background:rgba(255,255,255,.12)}
.plan-strip.tone-offer{background:linear-gradient(100deg,#0a2540,#0c3a63);color:#E6EDF5;border-bottom-color:transparent}
.plan-strip.tone-offer strong{color:#fff}
.plan-strip.tone-offer strong svg{color:var(--mint)}
.plan-strip.tone-offer button:not(.ps-x){background:var(--mint);color:var(--navy)}
.plan-strip.tone-offer button:not(.ps-x):hover{background:#5ff0cf}
.plan-strip.tone-trial{background:#E8FAF4;color:#0B5E49}
.plan-strip.tone-trial strong{color:#08493a}
.plan-strip.tone-warn{background:#FFF4E0;color:#6B4200}
.plan-strip.tone-warn strong{color:#4f3100}
.plan-strip .muted{color:inherit;opacity:.8}
/* Ventanas: candado, prueba, contratación y elección al terminar */
dialog.is-compact{width:min(470px,94vw)}
.lock-card{display:flex;flex-direction:column;gap:2px}
.lock-card h3{margin:10px 0 4px;font-size:19px}
.lock-card p{margin:0 0 12px}
.lock-badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#FFF1D6;color:#9a6a00}
.lock-badge svg{width:22px;height:22px}
.lock-badge.is-gift{background:#E0F8F1;color:#0B8C68}
html[data-theme="dark"] .detail-lock.lock-note{background:#2A2110;box-shadow:inset 0 0 0 1px #4A3A18}
.lock-gains{border-radius:12px;background:var(--ws-soft,#F8FAFC);box-shadow:inset 0 0 0 1px var(--ws-line,#E5E9F0);padding:12px 14px;margin:4px 0 16px}
.lock-gains .eyebrow{display:block;margin-bottom:6px}
.lock-gains ul,.trial-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.lock-gains li,.trial-list li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.lock-gains li svg,.trial-list li svg{width:16px;height:16px;flex:none;color:#0B8C68;margin-top:2px}
.trial-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.trial-hero .done-lead{margin:0;font-size:15.5px;font-weight:600;color:var(--ink)}
.trial-list{margin:0 0 14px}
.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 18px}
.plan-card{position:relative;display:flex;flex-direction:column;gap:3px;margin:0;padding:14px 14px 12px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--ws-line-2,#d0c9ba);cursor:pointer;font-weight:400;color:var(--ink)}
.plan-card input{position:absolute;opacity:0;pointer-events:none}
.plan-card .pc-name{font-weight:700;font-size:15px}
.plan-card .pc-price{font:700 22px var(--sans);letter-spacing:-.02em}
.plan-card .pc-price small{font:500 12px var(--sans);color:var(--muted);letter-spacing:0}
.plan-card .pc-cap{font-size:12.5px;color:var(--ink-2);font-weight:600}
.plan-card ul{margin:6px 0 0;padding-left:16px;font-size:12.5px;color:var(--muted);display:grid;gap:3px;line-height:1.4}
.plan-card.is-on,.plan-card:has(input:checked){box-shadow:inset 0 0 0 2px var(--blue);background:#F2F8FE}
.plan-card:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:2px}
.paused-list{display:grid;gap:8px;margin:12px 0;max-height:320px;overflow:auto;padding:2px}
.paused-item{flex-direction:row;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--ws-line-2,#d0c9ba);font-weight:400;cursor:pointer}
.paused-item input{width:auto;margin-top:3px;accent-color:var(--blue)}
.paused-item span{display:flex;flex-direction:column;gap:2px}
.paused-item small{color:var(--muted);font-size:12.5px}
.paused-item:has(input:checked){box-shadow:inset 0 0 0 2px var(--blue);background:#F2F8FE}
.paused-item:has(input:disabled:not(:checked)){opacity:.55;cursor:default}
/* Modo oscuro */
html[data-theme="dark"] .level-tag{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] .level-tag.is-trial{background:#0F2A22;color:#7FE3C4;box-shadow:inset 0 0 0 1px #1D4A3B}
html[data-theme="dark"] .lock-ico,html[data-theme="dark"] .choice-lock,html[data-theme="dark"] .detail-lock{color:#F3C66B}
html[data-theme="dark"] .icon-btn.is-locked .lock-ico{background:#33250C;box-shadow:0 0 0 2px #111D2C}
html[data-theme="dark"] .choice.is-locked{background:#0E1927}
html[data-theme="dark"] .plan-strip.tone-trial{background:#0F2A22;color:#A7EBD6;border-bottom-color:#1D4A3B}
html[data-theme="dark"] .plan-strip.tone-trial strong{color:#D7F7EC}
html[data-theme="dark"] .plan-strip.tone-warn{background:#33250C;color:#F3D39A;border-bottom-color:#4D3E17}
html[data-theme="dark"] .plan-strip.tone-warn strong{color:#FCE6BA}
html[data-theme="dark"] .plan-strip.tone-offer{background:linear-gradient(100deg,#0d2a4a,#123d66)}
html[data-theme="dark"] .lock-badge{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .lock-badge.is-gift{background:#0F2A22;color:#7FE3C4}
html[data-theme="dark"] dialog .lock-gains{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] dialog .level-opt:has(input:checked),html[data-theme="dark"] dialog .plan-card.is-on,html[data-theme="dark"] dialog .plan-card:has(input:checked),html[data-theme="dark"] dialog .paused-item:has(input:checked){background:#14304C}
html[data-theme="dark"] dialog .level-opt.is-trial:has(input:checked){background:#0F2A22;box-shadow:inset 0 0 0 2px #1FA884}
html[data-theme="dark"] dialog .plan-card{color:#E6EDF5}
@media(max-width:760px){#plan-strip{padding:12px 16px;flex-direction:column;align-items:flex-start}.level-pick,.plan-cards{grid-template-columns:1fr}}
/* ==== fin Lote 24 · planes ==== */
/* Lote 24 · planes: registro sin tarjeta (/crear-cuenta) */
.signup-summary ul{margin:0 0 12px;padding:0 0 0 18px;border-top:0}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.with-ico{display:inline-flex;align-items:center;gap:7px}
.with-ico svg{width:16px;height:16px;flex:none}
.choice .choice-lock{display:flex;flex-direction:row;align-items:center;gap:6px}
.choice .choice-lock svg{width:14px;height:14px;flex:none}
dialog.is-compact{width:min(500px,94vw)}
.checkout .trial-list{margin:0 0 14px}
/* Etiqueta de nivel dentro de la tabla de trámites: compacta, en dos renglones */
.level-tag .lt-end::before{content:'· '}
.case-table .ct-folio span.level-tag{font:600 10.5px var(--sans);color:#475467;letter-spacing:-.01em;padding:2px 4px}
.case-table .ct-folio span.level-tag span{font:inherit;color:inherit}
.case-table .ct-folio span.level-tag svg{display:none}
.case-table .ct-folio span.level-tag.is-trial{color:#0B6E57;flex-wrap:wrap;white-space:normal;width:auto;max-width:124px;border-radius:9px;row-gap:0}
.case-table .ct-folio span.level-tag .lt-name{white-space:nowrap}
.case-table .ct-folio span.level-tag .lt-end{flex-basis:100%;font-weight:500}
.case-table .ct-folio span.level-tag .lt-end::before{content:none}
html[data-theme="dark"] .case-table .ct-folio span.level-tag{color:#C3D0DE}
html[data-theme="dark"] .case-table .ct-folio span.level-tag.is-trial{color:#7FE3C4}
/* ==== Lote 24 · empresas: papeles de empresa, «¿Cuál es su empresa?», Mis datos y Vencimientos ==== */
.badge.v-vencido{color:#b22a44;background:#f9e3e7}.badge.v-pronto{color:#a45f00;background:#f8ecd9}
.badge.v-prorroga{color:#0a5aa6;background:#e1eef9}.badge.v-vigente{color:#0b8c68;background:#ddf3ea}
.badge.v-sinfecha{color:#5b6b7b;background:#eef1f4}.badge.v-propia{color:#5a3fb0;background:#ece7fb}
.role-tags{display:inline-flex;flex-wrap:wrap;gap:6px}
.tone-rose{--tone:#d03b3b}
.role-cards{border:0;padding:0;margin:0 0 16px;min-width:0}
.role-cards legend{font-size:13.5px;font-weight:600;color:var(--ink-2);padding:0;margin-bottom:9px}
.role-cards .help{margin:2px 2px 0}
.card-title>svg{width:22px;height:22px;flex:none;color:var(--blue)}
.venc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.venc-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--bg);color:var(--ink);border-radius:12px;padding:12px 14px 12px 16px;text-align:left;position:relative;box-shadow:none}
.venc-stat::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--tone,#d0c9ba)}
.venc-stat strong{font:700 24px var(--sans);letter-spacing:-.02em;line-height:1}.venc-stat span{font-size:12.5px;font-weight:500;color:var(--muted);line-height:1.3}
.venc-stat:hover{background:var(--paper-2);box-shadow:none}
.vh-title{font-size:13.5px;color:var(--muted);font-weight:600;margin:20px 0 4px}
.venc-next{list-style:none;margin:0;padding:0}
.venc-next li{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px 14px;align-items:center;padding:11px 0;border-bottom:1px solid #eeeae2;font-size:13.5px}
.venc-next li:last-child{border-bottom:0}.venc-next .mono{font-size:12.5px;color:var(--ink);font-weight:600}
.venc-next .vh-name{color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venc-next .vh-date{color:var(--muted);white-space:nowrap}
.venc-counters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
#content .card[id]{scroll-margin-top:92px}
.venc-table .badge{white-space:nowrap}.venc-table td{vertical-align:top}.venc-table td small{display:block;color:var(--muted);font-size:12.5px;margin-top:4px;font-weight:400;white-space:normal}
.venc-table td:first-child{min-width:190px}.venc-table td[data-label="Vence"] strong{color:var(--ink);font-weight:600}
.venc-table tr.venc-vencido td[data-label="Vence"] small{color:#b22a44}.venc-table tr.venc-vence_pronto td[data-label="Vence"] small{color:#a45f00}
.venc-notices{min-width:200px}.vn-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.vn-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#0b8c68;background:#ddf3ea;border-radius:999px;padding:3px 9px 3px 7px}
.vn-chip svg,.vn-line svg{width:13px;height:13px}
.vn-line{display:flex;align-items:center;gap:6px;font-size:12.5px;margin:2px 0}
.venc-notices .link-btn{margin-top:4px}
.venc-foot{margin:-8px 2px 24px;font-size:12.5px;line-height:1.55}
.venc-empty .empty{padding-bottom:18px}.venc-empty-actions{justify-content:center;text-align:center;margin:0 0 26px}
#holder-results:not(:empty){margin-top:12px}
.mc-lead{margin-top:0}
.mc-known{margin:4px 0 6px}.mc-known .eyebrow{display:block;margin-bottom:8px}
.mc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.mc-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2);border-radius:12px;padding:11px 14px;text-align:left;font-weight:400}
.mc-option strong{font-size:14px}.mc-option small{font-size:12px;color:var(--muted);line-height:1.35}
.mc-option:hover{background:#F2F8FE;box-shadow:inset 0 0 0 2px var(--blue)}
.mc-actions{align-items:center;margin-top:4px}.mc-later{font-size:12.5px;margin:0 0 14px}
#edit-form .mc-actions>button{margin:0}
.my-companies{list-style:none;margin:6px 0 16px;padding:0;border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.my-companies li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #eeeae2}
.my-companies li:last-child{border-bottom:0}.my-companies li>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.my-companies small{color:var(--muted);font-size:12.5px;line-height:1.4}
#mis-datos h4{margin:0 0 4px;font-size:15px}#mis-datos .card-body>p.muted{margin-top:0}
@media(max-width:760px){
 .venc-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.venc-stat{padding:10px 10px 10px 13px}.venc-stat strong{font-size:20px}.venc-stat span{font-size:11.5px}
 .venc-next li{grid-template-columns:1fr auto;gap:2px 10px}.venc-next .vh-name{grid-column:1/-1;grid-row:2}.venc-next .vh-date{grid-column:1;grid-row:3;white-space:normal}.venc-next .badge{grid-column:2;grid-row:1}
 .venc-table thead{display:none}.venc-table,.venc-table tbody,.venc-table tr,.venc-table td{display:block;width:100%}
 .venc-table tr{padding:12px 16px;border-bottom:1px solid var(--line)}.venc-table tr:last-child{border-bottom:0}
 .venc-table td{border:0;padding:5px 0;white-space:normal;min-width:0!important;display:grid;grid-template-columns:92px 1fr;gap:10px}
 .venc-table td::before{content:attr(data-label);font-size:12px;font-weight:600;color:var(--muted);padding-top:2px}
 .venc-table td:first-child{grid-template-columns:1fr}.venc-table td:first-child::before{display:none}.venc-table td:first-child .mono{font-size:14px}
 .venc-table td>*{min-width:0}.venc-table td .mono{white-space:normal;overflow-wrap:anywhere}
 .my-companies li{flex-direction:column;align-items:flex-start}
 .mc-list{grid-template-columns:1fr}
 .holder-row{flex-wrap:wrap}.holder-row input{flex:1 1 100%}
}
html[data-theme="dark"] .workspace .badge.v-vencido{background:#3A161C;color:#F29AA8}html[data-theme="dark"] .workspace .badge.v-pronto{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .workspace .badge.v-prorroga{background:#10283F;color:#8CC2F2}html[data-theme="dark"] .workspace .badge.v-vigente{background:#0F2A22;color:#5DD3A8}
html[data-theme="dark"] .workspace .badge.v-sinfecha{background:#1E2F44;color:#C3D0DE}html[data-theme="dark"] .workspace .badge.v-propia{background:#251C45;color:#C4B5FB}
html[data-theme="dark"] .workspace .venc-stat{background:#16263A;color:#E6EDF5}html[data-theme="dark"] .workspace .venc-stat:hover{background:#1B2E45}
html[data-theme="dark"] .workspace .venc-next li,html[data-theme="dark"] .workspace .my-companies li{border-color:#22344A}
html[data-theme="dark"] .workspace .venc-next .mono{color:#E6EDF5}
html[data-theme="dark"] .workspace .vn-chip{background:#0F2A22;color:#5DD3A8}
html[data-theme="dark"] .workspace .venc-table tr.venc-vencido td[data-label="Vence"] small{color:#F29AA8}html[data-theme="dark"] .workspace .venc-table tr.venc-vence_pronto td[data-label="Vence"] small{color:#F3C66B}
html[data-theme="dark"] .workspace .venc-table tr{border-color:#22344A}
html[data-theme="dark"] .workspace .card-title>svg{color:#8CC2F2}
html[data-theme="dark"] dialog .mc-option{background:#0E1927;color:#E6EDF5;box-shadow:inset 0 0 0 1.5px #2E4460}
html[data-theme="dark"] dialog .mc-option:hover{background:#10283F;box-shadow:inset 0 0 0 2px #2A77C7}
html[data-theme="dark"] .workspace .case-counter.tone-rose.is-on,html[data-theme="dark"] .workspace .venc-counters .case-counter.is-on{background:#16263A;box-shadow:0 0 0 2px #8CC2F2}
/* ==== Lote 24 · gestión ==== */
/* Responsable en la lista y en las tarjetas */
.owner-tag{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin-top:6px;font:600 11.5px var(--sans);color:#475467;line-height:1.2}
.owner-tag i{flex:none;width:20px;height:20px;border-radius:50%;background:#E1EEF9;color:#1F4F78;display:inline-grid;place-items:center;font:700 9px var(--sans);font-style:normal;letter-spacing:.02em}
.owner-tag b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.owner-tag.is-mine i{background:#DDF3EA;color:#0B7A5B}
.owner-tag.is-mine b{color:#0B7A5B}
.case-id .owner-tag{margin-top:4px}
.cx-owner .owner-tag{margin-top:0}
@media(max-width:1199px){.case-table td.ct-folio .owner-tag{margin-top:2px}}
/* Filtro «Responsable»: una columna más en pantallas anchas, sin huecos en las medianas */
@media(min-width:1201px){.fc-grid:has(select[name="responsable"]){grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}.fc-grid:has(select[name="responsable"]) .fc-apply{grid-column:span 2}}
@media(min-width:761px) and (max-width:1200px){.fc-grid:has(select[name="responsable"]){grid-auto-flow:row dense}}
/* Detalle del trámite con pestañas */
dialog:has(.cx-tabs){width:min(860px,96vw)}
.cx-tabs{display:flex;gap:4px;margin:-6px 0 18px;padding:4px;border-radius:12px;background:var(--ws-soft,#F7F9FC);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF);width:max-content;max-width:100%}
.cx-tabs .cx-tab{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ws-muted,#667085);border-radius:9px;padding:8px 16px;font-size:13.5px;font-weight:600;box-shadow:none}
.cx-tabs .cx-tab svg{width:16px;height:16px}
.cx-tabs .cx-tab:hover{background:rgba(0,107,199,.08);color:var(--ink)}
.cx-tabs .cx-tab.is-on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.08),0 0 0 1px var(--ws-line,#E4E8EF)}
.cx-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#E1EEF9;color:#1F4F78;font:700 11px var(--sans);font-style:normal;display:inline-grid;place-items:center}
.cx-owner-select{max-width:340px;padding:8px 11px;font-size:13.5px}
.case-blocks:empty{display:none}
.case-block{margin:14px 0}
/* Expediente */
.cx-readonly{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:var(--ws-soft,#F7F9FC);color:var(--ws-muted,#667085);font-size:13px;line-height:1.5}
.cx-readonly svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--blue)}
.cx-sec{padding:16px 0;border-top:1px solid var(--ws-line,#E4E8EF)}
.cx-sec:first-of-type{border-top:0;padding-top:4px}
.cx-sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.cx-sec-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}
.cx-sec-head h3 svg{width:18px;height:18px;color:var(--blue);flex:none}
.cx-sec-head h3 small{font:600 12px var(--sans);color:var(--ws-muted,#667085);letter-spacing:0;white-space:nowrap}
.cx-sec-head button{flex:none}
.cx-sec-head button{display:inline-flex;align-items:center;gap:6px}
.cx-sec-head button svg{width:14px;height:14px}
.cx-empty{margin:0;color:var(--ws-muted,#667085);font-size:13.5px}
.cx-doc-form{margin:0 0 14px;padding:14px 16px;border-radius:12px;background:var(--ws-soft,#F7F9FC);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.cx-doc-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:0 14px}
.cx-doc-fields label{margin-bottom:10px}
.cx-doc-fields input[type=file]{padding:9px 10px;background:var(--card)}
.cx-doc-form .help{margin:0 0 12px}
.cx-doc-form .actions button:not(.quiet){display:inline-flex;align-items:center;gap:8px}
.cx-doc-form .actions svg{width:15px;height:15px}
.cx-docs,.cx-notes,.cx-timeline{list-style:none;margin:0;padding:0}
.cx-doc{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--ws-line,#E4E8EF)}
.cx-doc:first-child{border-top:0}
.cx-doc-kind{width:42px;height:48px;border-radius:8px;display:grid;place-items:center;font:700 10.5px var(--mono);letter-spacing:.04em;background:#FDECEE;color:#B42318;box-shadow:inset 0 0 0 1px #F6D3D6}
.cx-doc-kind.kind-png,.cx-doc-kind.kind-jpg{background:#EAF2FC;color:#1F4F78;box-shadow:inset 0 0 0 1px #D6E6F8}
.cx-doc-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.cx-doc-main strong{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cx-doc-main small{font-size:12.5px;color:var(--ws-muted,#667085);line-height:1.5}
.cx-cat{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:#EEF1F4;color:#475467;font-weight:600;font-size:11.5px}
.cx-doc-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cx-doc-actions button{display:inline-flex;align-items:center;gap:6px}
.cx-doc-actions button svg{width:14px;height:14px}
.cx-confirm{font-size:12.5px;font-weight:600;color:var(--ink)}
.cx-note-form textarea{min-height:84px;font-size:14px}
.cx-note-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 14px}
.cx-note-bar small{color:var(--ws-muted,#667085);font-size:12.5px;line-height:1.45}
.cx-note-bar button{flex:none}
.cx-note{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--ws-line,#E4E8EF)}
.cx-note:first-child{border-top:0}
.cx-av{width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 11.5px var(--sans)}
.cx-note-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.cx-note-head strong{font-size:13.5px}
.cx-note-head time,.cx-note-head em{font-size:12px;color:var(--ws-muted,#667085);font-style:normal}
.cx-note-head em::before{content:"· "}
.cx-note-text{margin:4px 0 0;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2)}
.cx-note-edit{margin-top:6px;min-height:84px;font-size:14px}
.cx-note-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px}
.cx-note-actions small{font-size:12px;color:var(--ws-muted,#667085)}
.cx-timeline{position:relative}
.cx-day{margin:14px 0 6px;font:700 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ws-muted,#8A94A6)}
.cx-day:first-child{margin-top:0}
.cx-ev{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;padding:0 0 14px}
.cx-ev::before{content:"";position:absolute;left:14.5px;top:30px;bottom:2px;width:1px;background:var(--ws-line,#E4E8EF)}
.cx-ev:has(+ .cx-day)::before,.cx-ev:last-child::before{display:none}
.cx-ev-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#EEF1F4;color:#475467}
.cx-ev-dot svg{width:15px;height:15px}
.cx-ev strong{display:block;font-size:13.5px;line-height:1.3;padding-top:5px}
.cx-ev p{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}
.cx-ev small{display:block;margin-top:2px;font-size:12px;color:var(--ws-muted,#667085)}
.ev-estatus .cx-ev-dot,.ev-consulta .cx-ev-dot{background:#EAF2FC;color:#1F4F78}
.ev-alerta .cx-ev-dot{background:#FFF1E6;color:#B45309}
.ev-asignacion .cx-ev-dot{background:#F1ECFB;color:#6D3FC0}
.ev-documento .cx-ev-dot,.ev-alta .cx-ev-dot{background:#E7F7EE;color:#0B8C68}
.ev-nota .cx-ev-dot{background:#FFF4DB;color:#A46A00}
.cx-more{margin-top:4px}
/* Avisos personales: «Asignados a usted» */
.notices-btn.inbox-btn{background:#EAF2FC;color:#1F4F78;box-shadow:inset 0 0 0 1px #D6E6F8}
.notices-btn.inbox-btn:hover{background:#DCEAFB}
.notices-btn.inbox-btn svg{width:16px;height:16px}
.notices-btn.inbox-btn i{background:var(--blue)}
.inbox-icon{background:#EAF2FC;color:#1F4F78}
.inbox-list .inbox-meta{font-size:12.5px}
.inbox-all{margin-top:8px;justify-content:flex-end}
/* Tiempos reales (informativo) */
.rt-card{background:var(--card);border:1px solid var(--ws-line);border-radius:16px;margin:0 0 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.rt-card>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer}
.rt-card>summary::-webkit-details-marker{display:none}
.rt-head{display:flex;flex-direction:column;min-width:0;flex:1}
.rt-head strong{font-size:15.5px}
.rt-head small{font-size:12.5px;color:#667085}
.rt-tag{flex:none;padding:4px 10px;border-radius:999px;background:#EEF1F4;color:#475467;font-size:11.5px;font-weight:700}
.rt-chev{flex:none;display:grid;place-items:center;color:#667085;transition:transform .15s}
.rt-chev svg{width:18px;height:18px}
.rt-card[open] .rt-chev{transform:rotate(180deg)}
.rt-wrap{padding:0 18px;overflow-x:auto}
.rt-table{width:100%;border-collapse:collapse;font-size:13.5px}
.rt-table th{background:var(--ws-soft);color:#475467;font-size:12px;padding:9px 12px;text-align:left;border-bottom:1px solid var(--ws-line)}
.rt-table td{padding:10px 12px;border-bottom:1px solid #EEF1F5;color:#344054;vertical-align:middle}
.rt-table td:first-child{font-weight:400}
.rt-table .kind-chip{max-width:min(440px,100%)}
.rt-table tr:last-child td{border-bottom:0}
.rt-table tbody tr:hover td{background:transparent}
.rt-table td[data-label="Promedio"]{min-width:220px;width:40%}
.rt-val{display:inline-block;min-width:74px;white-space:nowrap}
.rt-val strong{font-size:15px;color:var(--ink)}
.rt-bar{position:relative;display:inline-block;vertical-align:middle;width:calc(100% - 84px);min-width:90px;height:8px;border-radius:999px;background:#E3E9F1;margin-left:6px}
.rt-bar .rt-avg{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--blue)}
.rt-bar .rt-max{position:absolute;top:-3px;width:2px;height:14px;margin-left:-1px;border-radius:1px;background:#0A2540}
.rt-empty{margin:0;padding:4px 18px 4px;color:#667085;font-size:13.5px}
.rt-note{margin:0;padding:12px 18px 16px;font-size:12.5px;line-height:1.5;color:#667085}
@media(max-width:760px){
 .cx-tabs{width:100%}.cx-tabs .cx-tab{flex:1;justify-content:center;padding:9px 10px}
 .cx-sec-head{flex-wrap:wrap}
 .cx-doc{grid-template-columns:38px minmax(0,1fr)}.cx-doc-kind{width:38px;height:44px}
 .cx-doc-actions{grid-column:2;justify-content:flex-start}
 .cx-doc-fields{grid-template-columns:1fr}
 .cx-note-bar{flex-direction:column;align-items:stretch}
 .cx-owner-select{max-width:none}
 .rt-card>summary{flex-wrap:wrap;gap:10px 12px;padding:14px}
 .rt-tag{order:3;margin-left:54px}
 .rt-chev{order:2}
 .rt-wrap{padding:0 14px}
 .rt-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .rt-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px 0;border-bottom:1px solid #EEF1F5}
 .rt-table tr:last-child{border-bottom:0}
 .rt-table td{display:flex;flex-direction:column;gap:3px;padding:0;border:0;min-width:0!important;width:auto!important}
 .rt-table td::before{content:attr(data-label);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8A94A6}
 .rt-table td[data-label="Tipo de trámite"],.rt-table td[data-label="Promedio"]{grid-column:1/-1}
 .rt-table td[data-label="Trámites"]{order:1}.rt-table td[data-label="Máximo"]{order:2}.rt-table td[data-label="Promedio"]{order:3}
 .rt-bar{width:100%;margin:4px 0 0}
 .rt-note,.rt-empty{padding-left:14px;padding-right:14px}
}
/* Modo oscuro */
html[data-theme="dark"] .owner-tag{color:#C3D0DE}
html[data-theme="dark"] .owner-tag i,html[data-theme="dark"] .cx-count,html[data-theme="dark"] .notices-btn.inbox-btn,html[data-theme="dark"] .inbox-icon{background:#10283F;color:#BFD9F2;box-shadow:none}
html[data-theme="dark"] .notices-btn.inbox-btn{box-shadow:inset 0 0 0 1px #1F4566}
html[data-theme="dark"] .notices-btn.inbox-btn i{background:#1B5FA8}
html[data-theme="dark"] .owner-tag.is-mine i{background:#0F2A22;color:#7FE0C2}
html[data-theme="dark"] .owner-tag.is-mine b{color:#7FE0C2}
html[data-theme="dark"] dialog .cx-tabs{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] dialog .cx-tabs .cx-tab{background:transparent;color:#8FA3B8}
html[data-theme="dark"] dialog .cx-tabs .cx-tab:hover{background:#16263A;color:#E6EDF5}
html[data-theme="dark"] dialog .cx-tabs .cx-tab.is-on{background:#1E2F44;color:#E6EDF5;box-shadow:0 0 0 1px #2E4460}
html[data-theme="dark"] dialog .cx-doc-form,html[data-theme="dark"] dialog .cx-readonly{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] dialog .cx-doc-fields input[type=file]{background:#0E1927}
html[data-theme="dark"] dialog .cx-doc-kind{background:#3A1C22;color:#F5B8C1;box-shadow:inset 0 0 0 1px #5A2A33}
html[data-theme="dark"] dialog .cx-doc-kind.kind-png,html[data-theme="dark"] dialog .cx-doc-kind.kind-jpg{background:#10283F;color:#BFD9F2;box-shadow:inset 0 0 0 1px #1F4566}
html[data-theme="dark"] dialog .cx-cat{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] dialog .cx-av{background:#1B5FA8}
html[data-theme="dark"] dialog .cx-ev-dot{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] dialog .ev-estatus .cx-ev-dot,html[data-theme="dark"] dialog .ev-consulta .cx-ev-dot{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] dialog .ev-alerta .cx-ev-dot{background:#33250C;color:#F3C66B}
html[data-theme="dark"] dialog .ev-asignacion .cx-ev-dot{background:#2A1E45;color:#C9B2F5}
html[data-theme="dark"] dialog .ev-documento .cx-ev-dot,html[data-theme="dark"] dialog .ev-alta .cx-ev-dot{background:#0F2A22;color:#7FE0C2}
html[data-theme="dark"] dialog .ev-nota .cx-ev-dot{background:#33250C;color:#F3D39A}
html[data-theme="dark"] .workspace .rt-card{background:var(--ws-surface);border-color:var(--ws-line);box-shadow:0 0 0 1px var(--ws-line)}
html[data-theme="dark"] .workspace .rt-head small,html[data-theme="dark"] .workspace .rt-note,html[data-theme="dark"] .workspace .rt-empty,html[data-theme="dark"] .workspace .rt-chev{color:var(--ws-muted)}
html[data-theme="dark"] .workspace .rt-tag{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] .workspace .rt-table th{background:var(--ws-soft);color:var(--ws-muted);border-color:var(--ws-line)}
html[data-theme="dark"] .workspace .rt-table td{color:var(--ws-text-2);border-color:var(--ws-line)}
html[data-theme="dark"] .workspace .rt-table tr{border-color:var(--ws-line)}
html[data-theme="dark"] .workspace .rt-bar{background:#22344A}
html[data-theme="dark"] .workspace .rt-bar .rt-avg{background:#5AA8F0}
html[data-theme="dark"] .workspace .rt-bar .rt-max{background:#E6EDF5}
.audit-detail{display:block;margin-top:3px;font-size:12px;color:var(--ws-muted,#667085);white-space:normal}
/* ==== fin Lote 24 · gestión ==== */
/* ==== Lote 24 · integración: la tabla de Trámites cabe en su tarjeta ==== */
/* Hasta 1199 px la lista se muestra como tarjetas (antes 1100 px). Desde 1200 px la tabla usa anchos fijos: casilla,
   folio (con etiqueta de nivel y responsable) y acciones con su ancho; «Estado actual» con un poco más; las demás se
   reparten el resto (fecha de ingreso y última actualización, lo justo), el texto se acomoda en dos renglones y el tipo y la empresa se recortan con «…» (el detalle y el
   título conservan el texto completo). Entre 1200 y 1365 px la fecha de ingreso se ve en el detalle y en las tarjetas,
   no como columna. Así la tabla nunca es más ancha que su tarjeta ni que la página (antes desbordaba a 1280 px). */
@media(min-width:1200px){
 .case-table{table-layout:fixed}
 .case-table th.ct-check,.case-table td.ct-check{width:38px}
 .case-table thead th:nth-child(2){width:134px}
 .case-table thead th:nth-child(5){width:96px}
 .case-table thead th:nth-child(6){width:16%}
 .case-table thead th:nth-child(8){width:112px}
 .case-table thead th:last-child{width:124px}
 .case-table th,.case-table td{padding-left:10px;padding-right:10px}
 .case-table td{white-space:normal}
 .case-table td.ct-company,.case-table td[data-label="Tipo de trámite"]{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .case-table .kind-chip{max-width:100%;min-width:0}
 .case-table td[data-label="Fecha de ingreso"],.case-table td[data-label="Próximo paso"],.case-table td[data-label="Última actualización"],
 .case-table td[data-label="Estado actual"]{min-width:0;max-width:none}
 .case-table td.ct-actions{padding-left:4px;padding-right:8px}
 .case-table td.ct-actions .row-actions{justify-content:flex-end;flex-wrap:nowrap}
}
@media(min-width:1200px) and (max-width:1365px){
 .case-table thead th:nth-child(5),.case-table td[data-label="Fecha de ingreso"]{display:none}
}
/* Teléfono: las pestañas del detalle (Expediente con su número y candado) caben a lo ancho; la paginación de las
   listas largas (Bitácora, Auditoría) pasa a dos renglones en vez de ensanchar la página. */
@media(max-width:760px){
 .cx-tabs .cx-tab{flex:1 1 auto;min-width:0;gap:6px;padding:9px 8px}
 .cx-tabs .cx-tab .lock-ico{margin-left:0}
 .pager{flex-wrap:wrap;gap:8px 10px}
}
/* ==== fin Lote 24 · integración ==== */
/* ==== Lote 24 · marca: «Marca de sus reportes» y reporte PDF ==== */
.mk-card .card-title .mk-lock{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#FFF8E8;color:#9a6a00;box-shadow:inset 0 0 0 1px #F3DDB0;flex:none}
.mk-card .card-title .mk-lock svg{width:15px;height:15px}
.mk-card h4{margin:0 0 10px;font-size:15px}
.mk-kept{margin:-6px 0 16px}
.mk-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}
.mk-sec{min-width:0}
.mk-logo-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.mk-logo-info{display:flex;flex-direction:column;gap:10px;min-width:0}
.mk-logo-info small{color:var(--muted);font-size:12.5px}
.mk-logo-info .actions button{display:inline-flex;align-items:center;gap:7px}
.mk-logo-info .actions svg,.mk-company-list .actions svg{width:14px;height:14px}
.mk-logo .help{margin:12px 0 0;max-width:58ch}
/* Logo frames: always on paper white (the report is printed on white), with a checkerboard hint of transparency */
.mk-frame{display:grid;place-items:center;width:220px;height:110px;padding:14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;flex:none}
.mk-frame img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.mk-frame.is-empty{background:repeating-conic-gradient(#F4F2EC 0 25%,#fff 0 50%) 0 0/16px 16px;color:var(--muted);gap:4px;align-content:center}
.mk-frame.is-empty svg{width:24px;height:24px}
.mk-frame.is-empty small{font-size:12px;font-weight:600}
.mk-frame.is-small{width:72px;height:44px;padding:6px;border-radius:9px}
.mk-frame.is-small.is-empty small{display:none}
.mk-frame.is-small.is-empty svg{width:18px;height:18px}
/* Mini cover: the first page of the report, as it will print */
.mk-preview{display:flex;flex-direction:column;gap:12px}
.mk-preview .actions{margin:0}
.mk-report-btn{display:inline-flex;align-items:center;gap:7px}.mk-report-btn svg{width:15px;height:15px}
.mk-cover{position:relative;margin:0;width:100%;max-width:236px;aspect-ratio:8.5/11;padding:18px 16px 14px;border-radius:6px;background:#fff;color:#0A2540;
 box-shadow:0 1px 2px rgba(16,24,40,.06),0 10px 28px -12px rgba(10,37,64,.28),0 0 0 1px #E6E2D9;display:flex;flex-direction:column;gap:6px;overflow:hidden}
.mk-cv-bar{position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#006BC7 0 62%,#00C9A7 62%)}
.mk-cover.is-own .mk-cv-bar{background:linear-gradient(90deg,#33475C 0 62%,#8A9AAB 62%)}
.mk-cv-logo{height:30px;display:flex;align-items:center;margin-bottom:14px}
.mk-cv-logo img{max-height:30px;max-width:130px;object-fit:contain}
.mk-cv-name{font-size:12px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-cv-eyebrow{font:600 6.5px var(--sans);letter-spacing:.02em;text-transform:uppercase;color:#006BC7}
.mk-cover.is-own .mk-cv-eyebrow{color:#33475C}
.mk-cv-title{font-size:13px;line-height:1.15;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mk-cv-line{height:4px;width:80%;border-radius:2px;background:#E8E5DE}.mk-cv-line.short{width:55%}
.mk-cv-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}
.mk-cv-tiles i{height:20px;border-radius:4px}
.mk-cv-tiles .t-info{background:#E1EEF9}.mk-cv-tiles .t-ok{background:#DDF3EA}.mk-cv-tiles .t-alert{background:#F8ECD9}.mk-cv-tiles .t-rose{background:#F9E3E7}
.mk-cv-rows{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.mk-cv-rows i{height:4px;border-radius:2px;background:#ECE9E2}
.mk-cv-rows i:nth-child(1){width:92%}.mk-cv-rows i:nth-child(2){width:70%}.mk-cv-rows i:nth-child(3){width:84%}.mk-cv-rows i:nth-child(4){width:60%}
.mk-cv-foot{margin-top:auto;padding-top:6px;border-top:1px solid #ECE9E2;font:500 6.5px var(--sans);color:#6A7482;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Brand data */
.mk-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.mk-form .help{margin:-4px 0 14px}
.mk-form .actions{margin-top:2px}
.mk-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 18px}
.mk-card .mk-grid+.mk-sec{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
/* Companies' logos (a despacho's clients) */
.mk-companies{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.mk-companies summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none}
.mk-companies summary::-webkit-details-marker{display:none}
.mk-companies summary>span{display:flex;flex-direction:column;gap:2px}
.mk-companies summary strong{font-size:15px}.mk-companies summary small{color:var(--muted);font-size:12.5px}
.mk-companies summary>svg{width:18px;height:18px;color:var(--muted);transition:transform .15s;flex:none}
.mk-companies[open] summary>svg{transform:rotate(180deg)}
.mk-companies .help{margin:10px 0 4px}
.mk-company-list{list-style:none;margin:8px 0 0;padding:0}
.mk-company-list li{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid #eeeae2}
.mk-company-list li:first-child{border-top:0}
.mk-company-name{flex:1 1 auto;min-width:0;font-weight:600;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-company-list .actions{flex-wrap:nowrap;flex:none}
.mk-company-list .actions button{display:inline-flex;align-items:center;gap:6px}
/* Report window */
.mk-lead{margin-top:-6px}
.mk-filters span{font-weight:500;color:var(--ink-2)}
.mk-brandline{display:flex;gap:8px;align-items:flex-start;margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#E9F6F0;color:#0B5E49;font-size:13px;line-height:1.5}
.mk-brandline svg{width:16px;height:16px;flex:none;margin-top:2px}
@media(max-width:900px){.mk-grid{grid-template-columns:1fr}.mk-cover{max-width:210px}}
@media(max-width:760px){
 .mk-frame{width:100%;max-width:260px}
 .mk-logo-row{gap:12px}
 .mk-company-list li{flex-wrap:wrap}
 .mk-company-name{flex-basis:calc(100% - 90px)}
 .mk-company-list .actions{width:100%;padding-left:86px}
}
html[data-theme="dark"] .mk-card .card-title .mk-lock{background:#2A2110;color:#F3C66B;box-shadow:inset 0 0 0 1px #4A3A18}
html[data-theme="dark"] .mk-frame{box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .mk-frame.is-empty{background:repeating-conic-gradient(#16263A 0 25%,#111D2C 0 50%) 0 0/16px 16px;color:#8FA3B8}
html[data-theme="dark"] .mk-cover{box-shadow:0 12px 30px -12px rgba(0,0,0,.6),0 0 0 1px #2E4460}
html[data-theme="dark"] .mk-form,html[data-theme="dark"] .mk-companies,html[data-theme="dark"] .mk-card .mk-grid+.mk-sec{border-top-color:#22344A}
html[data-theme="dark"] .mk-company-list li{border-top-color:#22344A}
html[data-theme="dark"] .mk-brandline{background:#0F2A22;color:#7FE0C2}
/* ==== fin Lote 24 · marca ==== */
/* ==== Lote 24 · prevención: plazo de prevención, respuesta ligada, avisos y prórroga en Vencimientos ==== */
/* Etiqueta en la lista y en las tarjetas */
.prev-tag{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin-top:5px;padding:2px 9px;border-radius:9px;font:600 11.5px/1.35 var(--sans);white-space:normal;color:#9A5B00;background:#FFF2D9;box-shadow:inset 0 0 0 1px #F3DBA9}
.prev-tag svg{width:12px;height:12px;flex:none}
.prev-tag.tone-crit{color:#B42335;background:#FDECEE;box-shadow:inset 0 0 0 1px #F6CDD3}
.prev-tag.tone-ok{color:#0B7A5B;background:#E2F6EE;box-shadow:inset 0 0 0 1px #BCE8D7}
.ct-folio .prev-tag,.case-id .prev-tag{display:flex}
.case-table .ct-folio span.prev-tag{font:600 10.5px/1.3 var(--sans);padding:2px 7px;border-radius:8px;width:fit-content;max-width:100%;box-sizing:border-box;letter-spacing:-.01em;overflow-wrap:anywhere}
.case-table .ct-folio span.prev-tag span{font:inherit;color:inherit}
.case-table .ct-folio .prev-tag .pt-sep{display:none}
.case-table .ct-folio .prev-tag .pt-name,.case-table .ct-folio .prev-tag .pt-left{display:block}
.case-table .ct-folio .prev-tag .pt-left{font-weight:500}
.case-table .ct-folio .prev-tag svg{align-self:flex-start;margin-top:1px}
.case-table .ct-folio span.prev-tag.tone-warn{color:#9A5B00}.case-table .ct-folio span.prev-tag.tone-crit{color:#B42335}.case-table .ct-folio span.prev-tag.tone-ok{color:#0B7A5B}
/* Detalle del trámite: bloque «Plazo de prevención» */
.prev-mini{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;padding:11px 14px;border-radius:12px;background:var(--ws-soft,#F7F9FC);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF);font-size:13.5px;color:var(--ink-2)}
.prev-mini>span{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 240px}
.prev-mini svg{width:17px;height:17px;flex:none;color:#B87700}
.prev-mini.is-off svg{color:var(--ws-muted,#667085)}
.prev-card{border-radius:14px;padding:16px 18px;background:#FFFBF2;box-shadow:inset 0 0 0 1px #F1DEB4}
.prev-card.is-done,.prev-card.is-answer{background:var(--ws-soft,#F7F9FC);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.prev-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.prev-ico{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#FFE9BF;color:#8A5300}
.prev-card.is-done .prev-ico,.prev-card.is-answer .prev-ico{background:#E1EEF9;color:#1F4F78}
.prev-ico svg{width:19px;height:19px}
.prev-title{flex:1 1 200px;min-width:0}
.prev-title h3{margin:0;font-size:16px;line-height:1.25}
.prev-title small{display:block;margin-top:2px;color:var(--ws-muted,#667085);font-size:12.5px}
.prev-chip{flex:none;padding:4px 11px;border-radius:999px;font:700 12px var(--sans);white-space:nowrap}
.prev-chip.tone-warn{background:#FFE9BF;color:#8A5300}.prev-chip.tone-crit{background:#FDE2E6;color:#B42335}.prev-chip.tone-ok{background:#DDF3EA;color:#0B7A5B}
.prev-why{margin:0 0 12px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.prev-decide{margin:-2px 0 14px}
.prev-count{display:grid;grid-template-columns:minmax(132px,auto) minmax(0,1fr);gap:16px;align-items:stretch;margin:4px 0 12px}
.prev-big{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:2px;padding:12px 14px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px #F1DEB4}
.prev-big strong{font:700 34px/1 var(--sans);letter-spacing:-.02em;color:#8A5300;font-variant-numeric:tabular-nums}
.prev-big span{font-size:12.5px;font-weight:600;color:var(--ws-muted,#667085);line-height:1.3}
.prev-big.tone-crit strong{color:#B42335}.prev-big.tone-wait strong{color:var(--ws-muted,#667085)}
.prev-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin:0;align-content:center}
.prev-facts dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ws-muted,#667085)}
.prev-facts dd{margin:4px 0 0;font-size:14px;line-height:1.4;color:var(--ink)}
.prev-facts dd strong{font-weight:700;color:var(--ink)}
.prev-facts dd small{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:var(--ws-muted,#667085)}
.prev-cal{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;font-size:13px;line-height:1.5;color:#7D4B00}
.prev-cal svg{width:16px;height:16px;flex:none;margin-top:2px}
.prev-form{margin:4px 0 12px;padding:14px 16px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.prev-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.prev-fields label{margin-bottom:10px}
.prev-fields .help{display:block;margin-top:5px}
.prev-form>label{margin-bottom:10px}
.prev-actions{margin:2px 0 10px}
.prev-sent{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:4px 0 12px;font-size:12.5px;color:var(--ws-muted,#667085)}
.prev-sent>span:first-child{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:11px;margin-right:2px}
.prev-link{margin:4px 0 12px;padding-top:12px;border-top:1px dashed #E7D3A6}
.prev-link p{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.prev-link p svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--blue)}
.prev-link small{font-size:12.5px}
.prev-sugg{display:flex;flex-wrap:wrap;gap:6px}
.prev-sugg button,.prev-hint button{display:inline-flex;align-items:center;gap:6px}
.prev-sugg button svg{width:14px;height:14px}
.prev-done{display:flex;gap:12px;align-items:flex-start;margin:0 0 10px;padding:12px 14px;border-radius:12px;background:#E9F7F0;color:#0B5E49}
.prev-done>svg{width:20px;height:20px;flex:none;margin-top:1px}
.prev-done strong{display:block;font-size:14.5px}
.prev-done span{display:block;margin-top:2px;font-size:13.5px;line-height:1.5}
.prev-hint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#EAF2FC;color:#1F4F78;font-size:13.5px;line-height:1.5}
.prev-hint>svg{width:16px;height:16px;flex:none}
.prev-hint>span{flex:1 1 240px;min-width:0}
.prev-notice{display:flex;gap:8px;align-items:flex-start;margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--ws-muted,#667085)}
.prev-notice svg{width:15px;height:15px;flex:none;margin-top:1px}
.prev-card [hidden],.prev-form[hidden]{display:none!important}
.case-block[data-block="prevencion"] .detail-lock.lock-note{margin:0 0 10px}
/* Barra superior, Inicio y página «Plazos de prevención» */
.notices-btn.prev-btn{background:#FDECEE;color:#9F1F30;box-shadow:inset 0 0 0 1px #F6CDD3}
.notices-btn.prev-btn:hover{background:#FADCE1}
.notices-btn.prev-btn i{background:#C0303B}
.prev-home .card-title svg{width:22px;height:22px;color:#B87700}
.prev-home-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.prev-home-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"folio tag tag" "company limit limit";align-items:center;gap:2px 12px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;background:var(--ws-soft,#F7F9FC);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF);font-weight:400}
.prev-home-row:hover{box-shadow:inset 0 0 0 1px var(--blue)}
.prev-home-row .mono{grid-area:folio;font-weight:600;font-size:13px}
.prev-home-row .prev-tag{grid-area:tag;justify-self:end;margin-top:0}
.prev-home-row small{font-size:12.5px;color:var(--ws-muted,#667085)}
.prev-home-row small:nth-of-type(1){grid-area:company;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prev-home-row small:nth-of-type(2){grid-area:limit;justify-self:end}
.prev-list{display:grid;gap:12px;margin-bottom:24px}
.prev-row{display:grid;grid-template-columns:minmax(0,1.3fr) 110px minmax(0,2fr) auto;gap:16px;align-items:center;padding:16px 18px;border-radius:14px;background:var(--card);box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(16,24,40,.04)}
.prev-row-id{display:flex;flex-direction:column;gap:3px;min-width:0}
.prev-row-id .mono{font-weight:600;font-size:14px;color:var(--ink)}
.prev-row-id small{font-size:12.5px;color:var(--ws-muted,#667085);overflow-wrap:anywhere}
.prev-row-id .owner-tag{margin-top:2px}
.prev-big.small{padding:8px 10px;box-shadow:inset 0 0 0 1px var(--line)}
.prev-big.small strong{font-size:26px}
.prev-big.small.tone-warn strong{color:#8A5300}
.prev-row-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:0}
.prev-row-facts dt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ws-muted,#667085)}
.prev-row-facts dd{margin:3px 0 0;font-size:13.5px;line-height:1.4;color:var(--ink)}
.prev-alerts .notice-list li.is-new strong::after{content:"Nuevo";margin-left:8px;padding:1px 8px;border-radius:999px;background:#FDECEE;color:#B42335;font-size:11px;font-weight:700;vertical-align:1px}
.prev-alerts .notice-icon{background:#FFF2D9;color:#9A5B00}
.workspace>.prev-notice,.page-content>.prev-notice{margin:-6px 2px 18px}
/* Vencimientos: fecha límite para presentar la prórroga (informativa) */
.venc-table tr td[data-label] small.venc-prorroga{color:#1F4F78;font-weight:600}
.venc-table tr td[data-label] small.venc-prorroga.is-late{color:#B42335}
@media(max-width:1100px){.prev-row{grid-template-columns:minmax(0,1fr) 104px auto}.prev-row-facts{grid-column:1/-1;grid-row:2}}
@media(max-width:760px){
 .prev-card{padding:14px}
 .prev-head{flex-wrap:wrap}.prev-chip{order:3;margin-left:48px}
 .prev-count{grid-template-columns:1fr}
 .prev-big{flex-direction:row;justify-content:flex-start;gap:10px;text-align:left}
 .prev-big strong{font-size:30px}
 .prev-facts,.prev-fields{grid-template-columns:1fr}
 .prev-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px}
 .prev-row .prev-big.small{grid-column:2;grid-row:1;min-width:84px}
 .prev-row-facts{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr}
 .prev-row-act{grid-column:1/-1}
 .prev-row-act button{width:100%}
 .prev-home-row{grid-template-columns:1fr;grid-template-areas:"folio" "company" "tag" "limit"}
 .prev-home-row .prev-tag,.prev-home-row small:nth-of-type(2){justify-self:start}
}
/* Modo oscuro */
html[data-theme="dark"] .prev-tag{color:#F3C66B;background:#33250C;box-shadow:inset 0 0 0 1px #4D3E17}
html[data-theme="dark"] .prev-tag.tone-crit{color:#F5B8C1;background:#3A1C22;box-shadow:inset 0 0 0 1px #5A2A33}
html[data-theme="dark"] .prev-tag.tone-ok{color:#7FE0C2;background:#0F2A22;box-shadow:inset 0 0 0 1px #1D4A3B}
html[data-theme="dark"] .workspace .case-table .ct-folio span.prev-tag.tone-warn,html[data-theme="dark"] .workspace .ct-folio .prev-tag.tone-warn span{color:#F3C66B}
html[data-theme="dark"] .workspace .case-table .ct-folio span.prev-tag.tone-crit,html[data-theme="dark"] .workspace .ct-folio .prev-tag.tone-crit span{color:#F5B8C1}
html[data-theme="dark"] .workspace .case-table .ct-folio span.prev-tag.tone-ok,html[data-theme="dark"] .workspace .ct-folio .prev-tag.tone-ok span{color:#7FE0C2}
html[data-theme="dark"] dialog .prev-mini{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A;color:#C3D0DE}
html[data-theme="dark"] dialog .prev-card{background:#1A1A12;box-shadow:inset 0 0 0 1px #4D3E17}
html[data-theme="dark"] dialog .prev-card.is-done,html[data-theme="dark"] dialog .prev-card.is-answer{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] dialog .prev-ico{background:#33250C;color:#F3C66B}
html[data-theme="dark"] dialog .prev-card.is-done .prev-ico,html[data-theme="dark"] dialog .prev-card.is-answer .prev-ico{background:#10283F;color:#BFD9F2}
html[data-theme="dark"] .prev-chip.tone-warn{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .prev-chip.tone-crit{background:#3A1C22;color:#F5B8C1}
html[data-theme="dark"] .prev-chip.tone-ok{background:#0F2A22;color:#7FE0C2}
html[data-theme="dark"] .prev-big{background:#0E1927;box-shadow:inset 0 0 0 1px #4D3E17}
html[data-theme="dark"] .prev-big strong,html[data-theme="dark"] .prev-big.small.tone-warn strong{color:#F3C66B}
html[data-theme="dark"] .prev-big.tone-crit strong{color:#F5B8C1}
html[data-theme="dark"] .prev-big.tone-wait strong{color:#8FA3B8}
html[data-theme="dark"] .prev-big.small{box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .prev-cal{color:#F3D39A}
html[data-theme="dark"] dialog .prev-form{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .prev-link{border-top-color:#4D3E17}
html[data-theme="dark"] .prev-done{background:#0F2A22;color:#7FE0C2}
html[data-theme="dark"] .prev-hint{background:#10283F;color:#BFD9F2}
html[data-theme="dark"] .notices-btn.prev-btn{background:#3A1C22;color:#F5B8C1;box-shadow:inset 0 0 0 1px #5A2A33}
html[data-theme="dark"] .notices-btn.prev-btn i{background:#B42335}
html[data-theme="dark"] .workspace .prev-home-row{background:#0E1927;color:#E6EDF5;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .workspace .prev-row{background:var(--ws-surface);box-shadow:0 0 0 1px var(--ws-line)}
html[data-theme="dark"] .prev-alerts .notice-icon{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .prev-alerts .notice-list li.is-new strong::after{background:#3A1C22;color:#F5B8C1}
html[data-theme="dark"] .venc-table tr td[data-label] small.venc-prorroga{color:#8CC2F2}
html[data-theme="dark"] .venc-table tr td[data-label] small.venc-prorroga.is-late{color:#F5B8C1}
/* ==== fin Lote 24 · prevención ==== */

/* ==== Lote 24 · QA: contraste AA (texto pequeño ≥ 4.5:1) en el tema claro ====
   Mismos tonos, un poco más oscuros: insignias verdes y ámbar, enlaces de las tarjetas de resumen, hora bajo la fecha y
   encabezados de tabla. El tema oscuro ya tiene sus propios colores. */
html:not([data-theme="dark"]) .badge.activa,html:not([data-theme="dark"]) .badge.activo,html:not([data-theme="dark"]) .badge.enviada,
html:not([data-theme="dark"]) .badge.vigente,html:not([data-theme="dark"]) .badge.v-vigente,html:not([data-theme="dark"]) .badge.resolucion_emitida,
html:not([data-theme="dark"]) .badge.registro_otorgado,html:not([data-theme="dark"]) .vn-chip,html:not([data-theme="dark"]) .state-chip.tone-ok{color:#087453}
html:not([data-theme="dark"]) .badge.suspendida,html:not([data-theme="dark"]) .badge.pausado,html:not([data-theme="dark"]) .badge.pendiente,
html:not([data-theme="dark"]) .state-chip.tone-wait{color:#8A5A00}
html:not([data-theme="dark"]) .kpi.tone-green .kpi-link{color:#0B6E46}html:not([data-theme="dark"]) .kpi.tone-amber .kpi-link{color:#8A5A00}
html:not([data-theme="dark"]) .kpi.tone-rose .kpi-link{color:#B02A35}
html:not([data-theme="dark"]) .kpi-link:hover{color:var(--ink)}
html:not([data-theme="dark"]) .ct-when small{color:#667085}
:where(html:not([data-theme="dark"])) th{color:#5F6874}
/* Trámites pausados o concluidos: siguen atenuados respecto a los activos, pero legibles (antes 3.06:1 en claro y 4.35:1 en oscuro). */
html:not([data-theme="dark"]) .case-table tr.is-paused td{color:#667085}
html[data-theme="dark"] .workspace .case-table tr.is-paused td{color:#8597AB}
html:not([data-theme="dark"]) .ct-paused{color:#667085}html:not([data-theme="dark"]) .venc-stat span{color:#5F6874}
/* Tema oscuro: los mismos textos que en claro quedaban bajo 4.5:1 (azul de marca sobre fondo noche, enlaces de las tarjetas
   de resumen, «Ver más» de los candados y «Eliminar» del menú de cada fila). */
html[data-theme="dark"] .workspace #content .eyebrow{color:#4DA3FF}
html[data-theme="dark"] .workspace .kpi.tone-blue .kpi-link{color:#5EB0FF}html[data-theme="dark"] .workspace .kpi.tone-green .kpi-link{color:#5DD3A8}
html[data-theme="dark"] .workspace .kpi.tone-amber .kpi-link{color:#F2C25B}html[data-theme="dark"] .workspace .kpi.tone-rose .kpi-link{color:#F28B95}
html[data-theme="dark"] .workspace .kpi-link:hover{color:#FFFFFF}
html[data-theme="dark"] .workspace .link-btn,html[data-theme="dark"] dialog .link-btn,html[data-theme="dark"] .workspace #content a:not([class]){color:#6CB6FF}
html[data-theme="dark"] .workspace .state-chip.tone-ok{color:#087453}html[data-theme="dark"] .workspace .state-chip.tone-wait{color:#8A5A00}
html[data-theme="dark"] .workspace .row-menu-list .danger-item,html[data-theme="dark"] .workspace .row-menu-list .danger-item svg{color:#F5A3B1}
/* Folios largos (el portal acepta hasta 60 caracteres sin espacios): se parten en vez de ensanchar la página, la tarjeta o la
   ventana del trámite. Un folio normal (14 caracteres) se ve igual que antes. */
.ct-folio>span:first-child,.case-folio,#dialog-title{overflow-wrap:anywhere;word-break:break-word}
.ct-folio>span:first-child{white-space:normal;display:inline-block;max-width:100%}
/* ==== fin Lote 24 · QA ==== */
/* ==== Lote 24 · QA2: «Ya solicité la prórroga», avisos sin destinatarios y liberar la prueba de un RFC ==== */
.vn-chip.is-empty,html:not([data-theme="dark"]) .vn-chip.is-empty{color:#5F6874;background:#EEF1F4}
html[data-theme="dark"] .workspace .vn-chip.is-empty{color:#B8C4D0;background:#1C2733}
/* «Entregada» (evento del proveedor de correo en Notificaciones) quedaba en 3.64:1 en claro, como las demás insignias verdes. */
html:not([data-theme="dark"]) .badge.entregada{color:#087453}
.venc-notices .venc-ask{margin-top:6px}
.venc-notices .link-btn[data-action="venc-requested-undo"]{margin-top:2px}
dialog .qa2-list{margin:0 0 12px;padding-left:20px;line-height:1.5}
/* Contraste AA estricto (4.5:1 en texto normal; la revisión anterior medía con 4.0): textos que quedaban entre 4.24 y 4.49. */
html:not([data-theme="dark"]) .kpi-top small,html:not([data-theme="dark"]) .case-counter span,
html:not([data-theme="dark"]) .pace-facts span,html:not([data-theme="dark"]) .pace-facts small,
html:not([data-theme="dark"]) dialog .help,html:not([data-theme="dark"]) dialog p.muted{color:#5F6874}
html:not([data-theme="dark"]) .badge.prevencion,html:not([data-theme="dark"]) .badge.no_localizado,html:not([data-theme="dark"]) .badge.v-pronto,
html:not([data-theme="dark"]) .detail-lock{color:#8A5A00}
.kind-green{color:#0E7350}
/* ==== fin Lote 24 · QA2 ==== */
/* ==== Lote 25 · planes: usuarios por plan, asistente «Próximamente» y sugerencia de correo ==== */
.nav-soon{align-self:flex-start;margin-top:4px;padding:1px 8px;border-radius:999px;font:600 11px/1.6 var(--sans);font-style:normal;color:var(--mint);background:rgba(0,230,184,.12);box-shadow:inset 0 0 0 1px rgba(0,230,184,.35);white-space:nowrap}
.users-cap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border-radius:12px;font-size:13.5px;line-height:1.5;color:var(--ink-2);background:var(--ws-soft,#F8FAFC);box-shadow:inset 0 0 0 1px var(--ws-line,#E5E9F0)}
.users-cap svg{width:18px;height:18px;flex:none;color:var(--blue)}
.users-cap span{flex:1 1 260px;min-width:0}
.users-cap strong{color:var(--ink)}
.users-cap.is-full{background:#FFF8E8;box-shadow:inset 0 0 0 1px #F3DDB0}
.users-cap.is-full svg{color:#9a6a00}
html[data-theme="dark"] .users-cap.is-full{background:#2A2110;box-shadow:inset 0 0 0 1px #4A3A18}
html[data-theme="dark"] .users-cap.is-full svg{color:#F3C66B}
.assistant-card .card-body{padding:28px}
.as-hero{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px}
.as-hero h3{margin:8px 0 4px;font-size:22px}
.as-hero p{margin:0}
.as-badge{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--navy);color:var(--mint)}
.as-badge svg{width:28px;height:28px}
.soon-tag{display:inline-block;padding:3px 10px;border-radius:999px;font:700 11px/1.5 var(--sans);letter-spacing:.05em;text-transform:uppercase;color:#0B6E57;background:#E0F8F1;box-shadow:inset 0 0 0 1px #B8EBDD}
.as-list{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.as-list li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--ws-soft,#F8FAFC);box-shadow:inset 0 0 0 1px var(--ws-line,#E5E9F0)}
.as-list li>svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--blue)}
.as-list span{display:flex;flex-direction:column;gap:3px;min-width:0}
.as-list strong{font-size:14.5px;color:var(--ink)}
.as-list small{font-size:13px;line-height:1.5;color:var(--muted)}
.as-confirm{display:flex;gap:10px;align-items:flex-start;margin:0;font-size:13.5px;color:var(--ink-2)}
.as-confirm svg{width:18px;height:18px;flex:none;margin-top:2px;color:#0B8C68}
html[data-theme="dark"] .as-badge{background:#16263A}
html[data-theme="dark"] .soon-tag{color:#7FE3C4;background:#0F2A22;box-shadow:inset 0 0 0 1px #1E4A3D}
html[data-theme="dark"] .as-list li>svg{color:#7FC4FF}
@media(max-width:760px){.as-list{grid-template-columns:1fr}.assistant-card .card-body{padding:20px}.as-hero{gap:14px}.as-badge{width:46px;height:46px;border-radius:14px}.as-hero h3{font-size:19px}}
/* «¿Quiso decir …?» (static/correo.js) en /crear-cuenta y en «Nuevo usuario» */
.mail-hint{display:block;font-size:13px;font-weight:500;color:#7d4b00}
.mail-hint .mail-hint-fix{display:inline;width:auto;margin:0;padding:0;font-size:13px;line-height:inherit;vertical-align:baseline}
html[data-theme="dark"] .mail-hint{color:#F3C66B}
/* ==== fin Lote 25 · planes ==== */

/* ==== Lote 25 · motor ==== */
.smart-card.is-on{border-color:#c98a1a}
.smart-bar{margin:14px 0 6px}
.smart-bar span{background:var(--blue)}
.smart-bar.is-over span{background:#b4232c}
.smart-h{margin:16px 0 8px;font-size:14px}
.smart-more{margin:12px 0}
.smart-more summary{cursor:pointer;font-weight:600;font-size:14px;margin-bottom:8px}
/* ==== fin Lote 25 · motor ==== */
/* ==== Lote 25 · reportes: página «Reportes» (formato, diseño del PDF con miniatura, alcance y generar) ==== */
.rp-card .card-body{padding:26px 28px}
.rp-step+.rp-step{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.rp-h{font-size:15px;letter-spacing:-.01em;margin:0 0 14px;color:var(--ink)}
.rp-sub{margin:-8px 0 16px;color:var(--muted);font-size:13.5px;line-height:1.5;max-width:80ch}
.rp-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rp-format{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;text-align:left;background:var(--card);color:var(--ink);
 border-radius:14px;padding:16px 16px 16px 14px;font-weight:400;box-shadow:inset 0 0 0 1px var(--line-2);transition:box-shadow .15s,background-color .15s}
.rp-format:hover{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--ink)}
.rp-format.is-on{background:#F2F8FE;box-shadow:inset 0 0 0 2px var(--blue)}
.rp-f-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#EAF2FB;color:var(--blue)}
.rp-f-ico svg{width:20px;height:20px}
.rp-f-text{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:18px}
.rp-f-text strong{font-size:15px;color:var(--ink)}
.rp-f-text small{font-size:12.5px;line-height:1.45;color:var(--muted)}
.rp-check{position:absolute;top:12px;right:12px;display:none;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff}
.rp-check svg{width:12px;height:12px;stroke-width:2.6}
.rp-format.is-on .rp-check,.rp-design.is-on .rp-check{display:grid}
.rp-format.is-locked{background:#FBFAF7;box-shadow:inset 0 0 0 1px var(--line)}
.rp-format.is-locked .rp-f-ico{background:#F1EEE7;color:#8A8F98}
.rp-format.is-locked strong{color:var(--ink-2)}
.rp-lock{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:5px;margin-top:2px;padding:3px 9px;border-radius:999px;background:#FFF4DC;color:#8A5A00;font:600 11.5px var(--sans)}
.rp-lock svg{width:12px;height:12px}
.rp-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:980px}
.rp-design{position:relative;display:flex;flex-direction:column;gap:12px;text-align:left;background:transparent;color:var(--ink);padding:0;border-radius:14px;font-weight:400;box-shadow:none}
.rp-design:hover{background:transparent;box-shadow:none}
.rp-thumb{display:block;aspect-ratio:280/300;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #E3DED3,0 10px 26px -14px rgba(10,37,64,.35);transition:box-shadow .15s,transform .15s}
.rp-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.rp-design:hover .rp-thumb{box-shadow:0 0 0 1.5px var(--ink),0 14px 30px -14px rgba(10,37,64,.4)}
.rp-design.is-on .rp-thumb{box-shadow:0 0 0 3px var(--blue),0 14px 30px -14px rgba(0,107,199,.45)}
.rp-design .rp-d-text{display:flex;flex-direction:column;gap:3px;padding:0 2px}
.rp-d-text strong{font-size:15px;color:var(--ink)}
.rp-d-text small{font-size:12.5px;line-height:1.45;color:var(--muted)}
.rp-design.is-on .rp-d-text strong{color:var(--blue)}
.rp-design .rp-check{top:10px;right:10px}
.rp-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;max-width:760px}
.rp-extra{gap:10px;align-items:flex-start;font-weight:500;margin:-4px 0 16px}
.rp-extra input{margin-top:3px}
.rp-step .mk-brandline,.rp-step .lock-note{margin:0;max-width:760px}
.rp-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.rp-summary{margin:0;color:var(--ink-2);font-size:13.5px;line-height:1.5;min-width:0}
.rp-go{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;font-size:15px;flex:none}
.rp-go svg{width:17px;height:17px}
.rp-go.is-busy{opacity:.7;cursor:wait}
@media(max-width:1100px){.rp-formats{grid-template-columns:1fr}.rp-format{grid-template-columns:40px minmax(0,1fr) auto;align-items:center}.rp-lock{grid-column:3;margin:0}.rp-f-text{padding-right:26px}}
@media(max-width:760px){
 .rp-card .card-body{padding:20px 16px}
 .rp-designs{grid-template-columns:1fr;gap:12px}
 .rp-design{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line-2);background:var(--card)}
 .rp-design:hover{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--ink)}
 .rp-design.is-on{background:#F2F8FE;box-shadow:inset 0 0 0 2px var(--blue)}
 .rp-design.is-on .rp-thumb{box-shadow:0 0 0 1px #E3DED3}
 .rp-thumb{aspect-ratio:280/362}
 .rp-design .rp-d-text{padding-right:24px}
 .rp-format{grid-template-columns:40px minmax(0,1fr)}
 .rp-lock{grid-column:2;margin-top:2px}
 .rp-scope{grid-template-columns:1fr}
 .rp-foot{flex-direction:column;align-items:stretch}
 .rp-go{justify-content:center;width:100%}
}
html[data-theme="dark"] .rp-format,html[data-theme="dark"] .rp-design{color:var(--ws-text)}
html[data-theme="dark"] .workspace .rp-design,html[data-theme="dark"] .workspace .rp-design:hover{background:transparent;box-shadow:none}
html[data-theme="dark"] .rp-format{background:var(--ws-surface);box-shadow:inset 0 0 0 1px var(--ws-line-2)}
html[data-theme="dark"] .rp-format:hover{background:var(--ws-soft);box-shadow:inset 0 0 0 1.5px #8FA3B8}
html[data-theme="dark"] .rp-format.is-on{background:#0F2236;box-shadow:inset 0 0 0 2px #3D9BEA}
html[data-theme="dark"] .rp-f-ico{background:#13304D;color:#7CC0FF}
html[data-theme="dark"] .rp-format.is-locked{background:#0E1927;box-shadow:inset 0 0 0 1px var(--ws-line)}
html[data-theme="dark"] .rp-format.is-locked .rp-f-ico{background:#16263A;color:#8FA3B8}
html[data-theme="dark"] .rp-lock{background:#2A2110;color:#F3C66B}
html[data-theme="dark"] .rp-check{background:#3D9BEA;color:#06182B}
html[data-theme="dark"] .rp-thumb{box-shadow:0 0 0 1px #2E4460,0 12px 28px -14px rgba(0,0,0,.7)}
html[data-theme="dark"] .rp-design:hover .rp-thumb{box-shadow:0 0 0 1.5px #8FA3B8}
html[data-theme="dark"] .rp-design.is-on .rp-thumb{box-shadow:0 0 0 3px #3D9BEA}
html[data-theme="dark"] .rp-design.is-on .rp-d-text strong{color:#7CC0FF}
html[data-theme="dark"] .rp-step+.rp-step,html[data-theme="dark"] .rp-foot{border-top-color:var(--ws-line)}
@media(max-width:760px){
 html[data-theme="dark"] .workspace .rp-design{background:var(--ws-surface);box-shadow:inset 0 0 0 1px var(--ws-line-2)}
 html[data-theme="dark"] .workspace .rp-design.is-on{background:#0F2236;box-shadow:inset 0 0 0 2px #3D9BEA}
 html[data-theme="dark"] .rp-design.is-on .rp-thumb{box-shadow:0 0 0 1px #2E4460}
}
/* ==== fin Lote 25 · reportes ==== */

/* ==== Lote 25 · QA ==== */
/* Contraste AA (4.5:1) en tema claro: notas pequeñas de las tarjetas de Reportes (también la elegida, fondo #F2F8FE) y de Asistente. */
html:not([data-theme="dark"]) .rp-f-text small,html:not([data-theme="dark"]) .rp-d-text small,html:not([data-theme="dark"]) .as-list small{color:#5F6874}
/* ==== fin Lote 25 · QA ==== */

/* ==== Lote 26 · portal ==== */
/* Rediseño con el prototipo aprobado (Main.dc.html): fondo #EEF2F6, menú lateral marino de dos niveles con acordeones
   y píldora deslizante, barra superior en tarjeta con menús que caen (encima de todo), tarjetas de 22 px con «lift»,
   tablas limpias, insignias redondas, chips, segmentados con píldora, animaciones cubic-bezier(.32,.72,0,1),
   modo oscuro y móvil. Fuentes propias en /assets/fonts (sin servicios externos). Este bloque va al final y gana a
   los anteriores; no cambia ninguna función. */
@font-face{font-family:'Schibsted Grotesk';src:url('/assets/fonts/SchibstedGrotesk-Regular.ttf') format('truetype');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url('/assets/fonts/SchibstedGrotesk-SemiBold.ttf') format('truetype');font-weight:550 649;font-style:normal;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url('/assets/fonts/SchibstedGrotesk-Bold.ttf') format('truetype');font-weight:650 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/assets/fonts/JetBrainsMono-Regular.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
:root{--e:cubic-bezier(.32,.72,0,1);--bg:#EEF2F6;--line:#E3E8EF;--line-2:#D5DDE7;--line-3:#EEF1F5;--muted:#5B6878;--ink:#0A2540;--ink-2:#33475C;--blue-h:#00579F;
 --card:#FFFFFF;--soft:#F3F6FA;--hover:#F6F9FC;--sh-card:0 1px 2px rgba(10,37,64,.04),0 10px 30px rgba(10,37,64,.06);--sh-lift:0 2px 4px rgba(10,37,64,.05),0 18px 40px rgba(10,37,64,.10);
 --sh-pop:0 2px 6px rgba(10,37,64,.06),0 24px 60px rgba(10,37,64,.16);background:var(--bg)}
body{background:var(--bg);font-family:var(--sans);color:var(--ink)}
html{scroll-padding-top:96px}
@media(max-width:760px){html{scroll-padding-top:80px}}
@keyframes fvIn{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
@keyframes fvDdIn{from{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:none}}
@keyframes fvDdOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px) scale(.97)}}
@keyframes fvToast{from{opacity:0;transform:translate(-50%,18px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes fvPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fvGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fvPulse{0%{box-shadow:0 0 0 0 rgba(0,230,184,.55)}100%{box-shadow:0 0 0 10px rgba(0,230,184,0)}}

/* --- Base: botones, entradas, foco --- */
button{border-radius:12px;background:#006BC7;color:#fff;padding:12px 18px;font-size:14.5px;font-weight:600;transition:background-color .35s var(--e),color .25s ease,box-shadow .35s var(--e),transform .35s var(--e),opacity .2s ease}
button:hover{background:#00579F}
button:active:not(:disabled){transform:scale(.97)}
button.small{font-size:13px;padding:8px 13px;border-radius:10px}
button.quiet,.secondary{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
button.quiet:hover,.secondary:hover{background:var(--card);color:#006BC7;box-shadow:inset 0 0 0 1px #006BC7}
button.danger{background:#F9E3E7;color:#9A1F37}button.danger:hover{background:#F3CDD5;color:#7E1A2D}
.button-link{border-radius:12px;background:#006BC7;padding:13px 20px;transition:background-color .35s var(--e),transform .35s var(--e)}
.button-link:hover{background:#00579F;transform:translateY(-1px)}
input,select,textarea{border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;min-height:46px;color:var(--ink);transition:border-color .25s ease,box-shadow .25s ease}
textarea{min-height:110px}
input:focus,select:focus,textarea:focus{border-color:#006BC7;box-shadow:0 0 0 4px rgba(0,107,199,.12)}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:#006BC7}
label{color:var(--ink-2);font-weight:600}
:focus-visible{outline:2px solid #006BC7;outline-offset:2px}
.sidebar :focus-visible,.welcome :focus-visible,.select-bar :focus-visible,#notice :focus-visible{outline-color:#00E6B8}
h1,h2,h3{letter-spacing:-.015em;word-spacing:0}
.eyebrow{color:#006BC7}
.muted,.help{color:var(--muted)}
.mono,code{font-family:var(--mono)}

/* --- Acceso, activar, crear cuenta y contratar (mismo marco) --- */
.auth{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;padding:16px;min-height:100vh;background:var(--bg)}
.welcome{min-height:calc(100vh - 32px);border-radius:24px;padding:40px 48px;box-shadow:0 10px 30px rgba(10,37,64,.18);background:#0A2540}
.welcome::after{background:linear-gradient(90deg,rgba(10,37,64,.95),rgba(10,37,64,.78) 55%,rgba(10,37,64,.4)),linear-gradient(0deg,rgba(10,37,64,.92),rgba(10,37,64,0) 45%)}
.welcome h1{font-size:50px;font-weight:700;letter-spacing:-.025em;line-height:1.04}
.welcome em{font-family:var(--sans);font-style:normal;font-weight:700;color:#7FF0D6;font-size:1em;letter-spacing:-.025em}
.welcome .eyebrow{color:#7FF0D6;text-transform:uppercase;letter-spacing:.06em;font-size:12.5px}
.welcome p{color:#B7C7D7}
.welcome small{color:#9DB2C7}
.welcome>a img,.welcome>div,.welcome>small{animation:fvIn .7s var(--e) backwards}.welcome>div{animation-delay:.08s}.welcome>small{animation-delay:.16s}
.access{background:transparent;padding:28px 6% 24px;align-items:center}
.access>.back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;margin-left:-12px;border-radius:12px;transition:background .25s ease,color .25s ease}
.access>.back:hover{background:var(--card)}
.access>small{align-self:stretch;text-align:center}
.login-box{width:100%;max-width:470px;margin:36px auto;background:var(--card);border-radius:24px;padding:34px 34px 30px;box-shadow:var(--sh-card);animation:fvPop .6s var(--e) both}
.login-box.wide-box{max-width:620px}
.login-box .eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.login-box h2{font-size:32px;font-weight:700;letter-spacing:-.02em;margin:8px 0 8px}
.login-box>p,.login-box>div>p{color:var(--muted)}
.login-box form button{border-radius:12px;padding:14px 19px;font-size:15px}
.login-box form button:hover{transform:translateY(-1px)}
.login-box>.help{text-align:center;margin:18px 0 0}
.plan-summary{border-radius:18px;background:rgba(12,45,77,.72);border-color:rgba(255,255,255,.1)}
@media(max-width:1100px){.welcome{padding:36px 32px}.welcome h1{font-size:40px}.access{padding:24px 4%}}
@media(max-width:760px){.auth{padding:10px;gap:10px;display:flex;flex-direction:column}.welcome{min-height:0;padding:22px 20px 26px;border-radius:20px}.welcome h1{font-size:30px}
 .access{padding:6px 2px 14px}.login-box{margin:14px 0 18px;padding:24px 20px;border-radius:20px}.login-box h2{font-size:26px}}

/* --- Área de trabajo: fondo, menú lateral marino y cuerpo --- */
.workspace{--ws-bg:#EEF2F6;--ws-surface:#FFFFFF;--ws-soft:#F3F6FA;--ws-line:#E3E8EF;--ws-line-2:#D5DDE7;--ws-text:#0A2540;--ws-text-2:#33475C;--ws-muted:#5B6878;background:var(--ws-bg)}
.workspace-body{background:transparent;margin-left:312px;width:calc(100% - 312px);padding:16px 16px 0 0;min-width:0;display:flex;flex-direction:column;min-height:100vh}
.workspace .sidebar{position:fixed;top:16px;bottom:16px;left:16px;width:280px;border-radius:24px;background:#0A2540;color:#9DB2C7;padding:22px 10px 14px;display:flex;flex-direction:column;gap:16px;overflow:hidden;box-shadow:0 10px 30px rgba(10,37,64,.18);z-index:40}
.workspace .brand{padding:0 10px;height:34px;display:flex;align-items:center;flex:none}
.workspace .brand img{width:auto;height:30px}
.workspace nav#nav{position:relative;gap:4px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.workspace nav#nav>button,.workspace nav .nav-items>button{position:relative;z-index:1}
.workspace nav button{background:transparent;color:#9DB2C7;font-size:15px;font-weight:500;padding:0 12px;min-height:44px;border-radius:14px;gap:10px;transition:color .3s ease,background .3s ease,transform .35s var(--e)}
.workspace nav button b{color:inherit;width:20px;display:grid;place-items:center}
.workspace nav button b svg{width:20px;height:20px}
.workspace nav button:hover{background:transparent;color:#fff}
.workspace nav button.active,.workspace nav button[aria-current="page"]{background:transparent;color:#fff;font-weight:500;box-shadow:none}
.workspace nav button.active b,.workspace nav button[aria-current="page"] b{color:inherit}
.nav-pill{position:absolute;left:0;top:0;width:0;height:44px;border-radius:14px;background:rgba(255,255,255,.10);opacity:0;pointer-events:none;z-index:0;transition:transform .55s var(--e),width .55s var(--e),height .55s var(--e),opacity .3s ease}
.nav-pill.is-on{opacity:1}
.nav-pill::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#00E6B8;opacity:0;transition:opacity .3s ease}
.nav-pill.is-top::after{opacity:1}
#nav.pill-follow .nav-pill{transition:opacity .3s ease}
#nav.has-more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 36px),transparent)}
.nav-sec{gap:2px;margin-top:2px}
.nav-sec:first-of-type,.workspace nav>button+.nav-sec{margin-top:8px}
.workspace nav .nav-toggle{color:#E8EFF6;font-weight:600;font-size:14.5px;padding:0 12px;min-height:44px;gap:10px}
.workspace nav .nav-toggle{gap:8px}.workspace nav .nav-toggle .chev{margin-left:0}
.workspace nav .nav-toggle:hover{background:rgba(255,255,255,.05);color:#fff}
.workspace nav .nav-toggle b{color:#E8EFF6}
.nav-toggle .chev{color:#9DB2C7;transition:transform .45s var(--e)}
.nav-toggle .chev svg{width:16px;height:16px}
.nav-toggle[aria-expanded="false"] .chev{transform:rotate(0deg)}.nav-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav-acc{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .5s var(--e),opacity .35s ease}
.nav-acc[inert]{grid-template-rows:0fr;opacity:0}
.nav-acc>.nav-items{min-height:0;overflow:hidden}
.nav-items{gap:2px;padding:0 0 0 12px;margin-left:0;border-left:0}
.nav-items>:first-child{margin-top:2px}.nav-items>:last-child{margin-bottom:6px}
.workspace nav .nav-items>button{font-size:14px;min-height:36px;padding:7px 12px;border-radius:12px;gap:10px}
.workspace nav .nav-items>button:hover{transform:translateX(3px)}
.workspace nav .nav-items>button>b{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#00E6B8;opacity:0;transform:scale(.3);transition:opacity .3s ease,transform .45s var(--e)}
.workspace nav .nav-items>button>b svg{display:none}
.workspace nav .nav-items>button[aria-current="page"]>b,.workspace nav .nav-items>button.active>b{opacity:1;transform:scale(1)}
.nav-soon{display:inline-block;align-self:flex-start;margin-top:3px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.04em;color:#0A2540;background:#00E6B8;border-radius:999px;padding:2px 8px;line-height:1.4}
.workspace nav>button[data-page="asistente"] .nav-text{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
.workspace nav>button[data-page="asistente"] .nav-soon{margin:0}
.nav-divider{margin:12px 4px 2px;padding:12px 10px 6px;border-top:1px solid rgba(255,255,255,.1)}
.nav-divider small{color:#7FF0D6}
.nav-sec.is-client{background:rgba(0,230,184,.06);box-shadow:inset 0 0 0 1px rgba(0,230,184,.18);border-radius:16px}
.workspace .nav-count{box-shadow:0 0 0 2px #0A2540}
.workspace .sidebar-bottom{margin-top:auto;border-top:0;padding:0;flex:none}
.side-plan{background:#0C2D4D;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:9px;animation:fvIn .55s var(--e) backwards}
.sp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;color:#fff;font-weight:600;font-size:15px}
.sp-head strong{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-head span{font-size:12.5px;font-weight:500;color:#B7C7D7;white-space:nowrap}
.sp-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.sp-bar span{display:block;height:100%;border-radius:6px;background:#00E6B8;transform-origin:left;animation:fvGrow 1.1s var(--e) .2s both;max-width:100%}
.side-plan p{margin:0;font-size:13px;line-height:1.45;color:#B7C7D7}
.workspace .side-plan .sp-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13.5px;border-radius:12px;background:#006BC7;color:#fff;font-weight:600}
.workspace .side-plan .sp-btn:hover{background:#00579F;color:#fff;transform:translateY(-1px)}
.side-plan .sp-btn svg{width:16px;height:16px}
.workspace .help-card{background:#0C2D4D;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}
.workspace .help-card strong{color:#fff;font-size:14.5px}.workspace .help-card p{color:#B7C7D7}
.workspace .help-card a{border-radius:12px;border-color:rgba(255,255,255,.22);transition:background .3s ease,border-color .3s ease}

/* --- Barra superior: tarjeta redondeada con menús que caen por encima de todo --- */
.workspace .topbar{position:sticky;top:12px;z-index:60;min-height:64px;margin:0;padding:10px 12px 10px 14px;gap:6px;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;
 background:var(--card);border:0;border-radius:20px;backdrop-filter:none;box-shadow:0 1px 2px rgba(10,37,64,.04),0 10px 30px rgba(10,37,64,.06),0 -12px 0 14px var(--ws-bg)}
#org-label{font-weight:600;font-size:14.5px;color:var(--ws-text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.top-menus{display:flex;align-items:center;gap:2px;flex:none;position:relative;z-index:3}
.tm{position:relative}
.tm.is-open{z-index:5}
.tm-btn{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:12px;background:transparent;color:var(--ws-text-2);font-size:15px;font-weight:500;box-shadow:none}
.tm-btn:hover,.tm.is-open .tm-btn{background:#F1F4F8;color:#006BC7}
.tm-btn::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:#006BC7;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e)}
.tm-btn:hover::after,.tm-btn[aria-expanded="true"]::after{transform:scaleX(1)}
.tm-btn svg{width:16px;height:16px;transition:transform .45s var(--e)}
.tm-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.tm-dd{position:absolute;top:100%;left:-8px;padding-top:10px;z-index:80;transform-origin:24px 0}
.tm-dd.is-in{animation:fvDdIn .42s var(--e) both}
.tm-dd.is-out{animation:fvDdOut .18s ease both;pointer-events:none}
.tm-panel{width:360px;max-width:calc(100vw - 48px);background:var(--card);border-radius:20px;padding:8px;box-shadow:var(--sh-pop);border:1px solid var(--line-3);display:flex;flex-direction:column}
.tm-item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;border:0;background:transparent;border-radius:14px;text-align:left;text-decoration:none;color:var(--ink);font-weight:400;box-shadow:none;transition:background .2s ease,transform .35s var(--e)}
.tm-item:hover,.tm-item:focus-visible{background:#F3F6FA;color:var(--ink);transform:translateX(3px)}
.tm-dd.is-in .tm-item{animation:fvIn .4s var(--e) backwards}
.tm-dd.is-in .tm-item:nth-child(2){animation-delay:.04s}.tm-dd.is-in .tm-item:nth-child(3){animation-delay:.08s}.tm-dd.is-in .tm-item:nth-child(4){animation-delay:.12s}.tm-dd.is-in .tm-item:nth-child(5){animation-delay:.16s}
.tm-ico{flex:0 0 38px;height:38px;border-radius:12px;background:#EEF5FC;color:#006BC7;display:flex;align-items:center;justify-content:center}
.tm-ico svg{width:19px;height:19px}
.tm-txt{display:flex;flex-direction:column;gap:2px;padding-top:1px;min-width:0}
.tm-txt strong{font-size:14.5px;font-weight:600;color:var(--ink)}
.tm-txt small{font-size:13px;line-height:1.4;color:var(--muted)}
.tm-item .lock-ico,.tm-item .gate-lock{margin-left:auto}
.top-gap{flex:1 1 16px;min-width:8px}
.top-search{position:relative;display:flex;align-items:center;flex:0 1 280px;min-width:160px;margin:0}
.top-search svg{position:absolute;left:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.top-search input{width:100%;min-height:0;height:42px;border:1px solid var(--line);border-radius:12px;padding:0 14px 0 40px;font-size:14px;background:#F7F9FB;color:var(--ink)}
.top-search input::placeholder{color:#5F6B7B}
.workspace .identity{display:flex;align-items:center;gap:4px;flex:none;position:relative;z-index:2}
.workspace .topbar .icon-btn{width:44px;height:44px;border-radius:12px;color:var(--ws-text-2)}
.workspace .topbar .icon-btn svg{width:21px;height:21px}
.workspace .icon-btn{border-radius:10px}
.workspace .icon-btn:hover{background:#F1F4F8;color:#006BC7}
.workspace .notices-btn{height:38px;border-radius:12px;box-shadow:none;background:#F8ECD9;color:#7D4800;padding:0 10px 0 10px;font-size:13px}
.workspace .notices-btn:hover{background:#F3DFC0;color:#6A3D00}
.workspace .notices-btn i{background:#7D4800}
.workspace .notices-btn.prev-btn{background:#F9E3E7;color:#9A1F37}.workspace .notices-btn.prev-btn:hover{background:#F3CDD5}.workspace .notices-btn.prev-btn i{background:#9A1F37}
#account-btn{height:46px;padding:0 10px 0 4px;border-radius:14px;box-shadow:none;gap:10px}
#account-btn:hover,#account-btn[aria-expanded="true"]{background:#F1F4F8;box-shadow:none}
#account-btn .avatar,.am-head .avatar{width:38px;height:38px;background:#E1EEF9;color:#00579F;font-size:14px}
#account-btn #profile{font-size:14px;max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#account-btn{min-width:0;flex:0 1 auto}
#account-btn #profile small{font-size:12.5px;color:var(--muted);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.account-menu{top:calc(100% + 10px);z-index:80;width:340px;border-radius:20px;border:1px solid var(--line-3);box-shadow:var(--sh-pop);padding:8px;animation:fvDdIn .42s var(--e) both;transform-origin:calc(100% - 24px) 0}
.account-menu.is-out{animation:fvDdOut .18s ease both;pointer-events:none}
.am-plan{border-radius:14px}
.am-links button{border-radius:12px;padding:10px 12px;transition:background .2s ease,transform .35s var(--e)}
.am-links button:hover{transform:translateX(3px)}
/* Segmentados: la píldora blanca se desliza al botón elegido (2, 3 o 4 opciones). */
.seg{position:relative;isolation:isolate;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;padding:4px;border-radius:12px;background:#EEF2F6}
.seg::before{content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n,3));border-radius:9px;background:var(--card);box-shadow:0 1px 3px rgba(10,37,64,.12);transform:translateX(calc(var(--i,0) * 100%));transition:transform .5s var(--e);opacity:0}
.seg:has(>[aria-pressed="true"])::before{opacity:1}
.seg:has(>:nth-child(2):last-child){--n:2}.seg:has(>:nth-child(4):last-child){--n:4}
.seg:has(>:nth-child(2)[aria-pressed="true"]){--i:1}.seg:has(>:nth-child(3)[aria-pressed="true"]){--i:2}.seg:has(>:nth-child(4)[aria-pressed="true"]){--i:3}
.seg-btn{background:transparent;color:var(--muted);border-radius:9px;min-height:34px;box-shadow:none}
/* Segmentado hecho con botones «small» (Indicadores de cuentas: 7, 30 y 90 días): el elegido es el que no es «quiet». */
.seg>button.small{background:transparent;color:var(--muted);box-shadow:none;border-radius:9px;min-height:32px;padding:6px 14px}
.seg>button.small:hover{background:transparent;color:var(--ink);box-shadow:none}
.seg>button.small:not(.quiet){color:var(--ink)}
.seg:has(>button.small:not(.quiet))::before{opacity:1}
.seg:has(>:nth-child(2).small:not(.quiet)){--i:1}.seg:has(>:nth-child(3).small:not(.quiet)){--i:2}.seg:has(>:nth-child(4).small:not(.quiet)){--i:3}
html[data-theme="dark"] .workspace .seg>button.small{background:transparent;box-shadow:none;color:#93A6BA}
html[data-theme="dark"] .workspace .seg>button.small:not(.quiet){color:#E6EDF5}
.seg-btn:hover{background:transparent;color:var(--ink)}
.seg-btn[aria-pressed="true"]{background:transparent;color:var(--ink);box-shadow:none}

/* --- Contenido --- */
.first-review{border-radius:20px;background:linear-gradient(135deg,#E6F2FC,#E3F7F1);box-shadow:none}
.first-review .fr-icon{background:#0A2540;color:#00E6B8}
#context-banner{margin:12px 0 0;border-radius:16px;padding:12px 16px;background:#DDF3EA;color:#0A5C45;animation:fvIn .5s var(--e) backwards}
#plan-strip{margin:12px 0 0;border-radius:16px;padding:12px 16px;border:0;animation:fvIn .5s var(--e) backwards}
#context-banner{gap:12px}#context-banner>button{flex:none;white-space:nowrap}
#content{padding:28px 6px 32px;min-height:calc(100vh - 160px)}
#content.fade-in{animation:none}
#content.fade-in>*{animation:fvIn .55s var(--e) backwards}
#content.fade-in>:nth-child(2){animation-delay:.04s}#content.fade-in>:nth-child(3){animation-delay:.08s}#content.fade-in>:nth-child(4){animation-delay:.12s}#content.fade-in>:nth-child(5){animation-delay:.16s}#content.fade-in>:nth-child(n+6){animation-delay:.2s}
.workspace footer{margin:0 6px;padding:18px 4px 22px;border-top:1px solid var(--ws-line);color:var(--muted)}
.page-head{margin-bottom:22px;gap:16px}
.workspace .page-head h1{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 6px}
.workspace .page-head .eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-weight:600}
.page-head p{color:var(--muted);font-size:15px}
.section-title{font-size:19px;font-weight:700}
.workspace .card{background:var(--ws-surface);border-radius:22px;box-shadow:var(--sh-card);border:0;margin-bottom:16px}
.workspace .card-title{padding:18px 22px;border-bottom:1px solid var(--line-3)}
.workspace .card-title h3{font-size:17px;font-weight:700}
.workspace .card-body{padding:22px}
.workspace .metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px;background:transparent;box-shadow:none;border-radius:0;overflow:visible;margin-bottom:16px}
.workspace .metrics .metric{background:var(--ws-surface);border:0;border-radius:22px;box-shadow:var(--sh-card);padding:18px;transition:transform .45s var(--e),box-shadow .45s ease}
.workspace .metrics .metric:hover,.workspace .kpi:hover,.lift:hover{transform:translateY(-3px);box-shadow:var(--sh-lift)}
.workspace .metric span{font-size:13.5px;color:var(--ws-text-2);font-weight:500}
.workspace .metric strong{font-size:36px;font-weight:700;letter-spacing:-.02em;margin:8px 0 4px;line-height:1.1}
.workspace .metric small{font-size:13px;color:var(--muted)}
#content .metrics>.metric,#content .kpis>.kpi{animation:fvIn .55s var(--e) backwards}
#content .metrics>.metric:nth-child(2),#content .kpis>.kpi:nth-child(2){animation-delay:.05s}#content .metrics>.metric:nth-child(3),#content .kpis>.kpi:nth-child(3){animation-delay:.1s}#content .metrics>.metric:nth-child(4),#content .kpis>.kpi:nth-child(4){animation-delay:.15s}
/* Tarjetas de resumen de Trámites: blancas, con el color solo en el ícono */
.kpis{gap:12px}
.workspace .kpi{background:var(--ws-surface);border:0;border-radius:22px;box-shadow:var(--sh-card);padding:18px;transition:transform .45s var(--e),box-shadow .45s ease}
.workspace .kpi.tone-blue{--c:#006BC7}.workspace .kpi.tone-green{--c:#0B8C68}.workspace .kpi.tone-amber{--c:#B56A00}.workspace .kpi.tone-rose{--c:#B22A44}
.workspace .kpi.is-on{box-shadow:0 0 0 2px var(--c),var(--sh-card)}
.workspace .kpi-icon{border-radius:12px;width:42px;height:42px}
.workspace .kpi-top strong{font-size:32px}
.workspace .kpi-top small{color:var(--muted)}
.workspace .kpi-plan{color:var(--ws-text-2)}
.workspace .kpi-bar{background:#EEF1F5;height:6px}.workspace .kpi-bar span{transform-origin:left;animation:fvGrow 1.1s var(--e) .2s both}
.workspace .kpi-link{color:var(--c);font-weight:600}
.workspace .kpi.tone-green .kpi-link{color:#0A6B50}.workspace .kpi.tone-amber .kpi-link{color:#7D4800}.workspace .kpi.tone-rose .kpi-link{color:#9A1F37}.workspace .kpi.tone-blue .kpi-link{color:#00579F}
/* Chips */
.chip-filter{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--card);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;font-weight:500;transition:all .35s var(--e)}
.chip-filter:hover{background:var(--card);color:#006BC7;box-shadow:inset 0 0 0 1px #006BC7;transform:translateY(-1px)}
.chip-filter.is-on{background:#0A2540;color:#fff;box-shadow:none}
.chip-filter strong{margin:0;font-size:12.5px;opacity:.85;font-weight:600}
.chip-filter.tone-alert{color:#7D4800}
/* Filtros, barra de resultados y tablas limpias */
.workspace .filter-card{border:0;border-radius:22px;box-shadow:var(--sh-card);margin:4px 0 16px}
.fc-icon{border-radius:12px;background:#EEF5FC}
.fx-input input,.fx-input select{border-radius:12px;min-height:46px}
.fc-apply button{border-radius:12px;min-height:46px}
.view-toggle{border-radius:12px;padding:3px;border-color:var(--line-2)}
.view-toggle .icon-btn{width:34px;height:34px;border-radius:9px}
.view-toggle .icon-btn.is-on{background:#0A2540;color:#fff}
.table-wrap{overflow:auto}
.workspace table{font-size:14px}
.workspace th,.workspace .case-table th{background:transparent;color:var(--muted);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:12px 14px 10px;border-bottom:1px solid var(--line)}
.workspace td{padding:14px;border-bottom:1px solid var(--line-3);color:var(--ink-2);vertical-align:middle}
.workspace tbody tr{transition:background .25s ease}
.workspace tbody tr:hover td,.workspace .case-table tbody tr:hover td{background:var(--hover)}
.workspace .card>.table-wrap,.workspace .card>table{padding:0 8px 4px}
#content tbody tr:nth-child(-n+12){animation:fvIn .5s var(--e) backwards}
#content tbody tr:nth-child(2){animation-delay:.03s}#content tbody tr:nth-child(3){animation-delay:.06s}#content tbody tr:nth-child(4){animation-delay:.09s}#content tbody tr:nth-child(5){animation-delay:.12s}#content tbody tr:nth-child(6){animation-delay:.15s}#content tbody tr:nth-child(7){animation-delay:.18s}#content tbody tr:nth-child(8){animation-delay:.21s}#content tbody tr:nth-child(9){animation-delay:.24s}#content tbody tr:nth-child(10){animation-delay:.27s}#content tbody tr:nth-child(11){animation-delay:.3s}#content tbody tr:nth-child(12){animation-delay:.33s}
#content.is-refreshing tbody tr,#content .live-feed tbody tr{animation:none}
.workspace .case-table-wrap{border:0;border-radius:22px;box-shadow:var(--sh-card);padding:4px 6px}
.workspace .case-table td,.workspace .case-table th{padding-left:10px;padding-right:10px}
.workspace .case-table th:first-child,.workspace .case-table th:last-child{border-radius:0}
.ct-folio span,.mono-folio{font-family:var(--mono);font-weight:500;color:var(--ink-2);font-size:12.5px}
/* Insignias redondas (paleta del prototipo) */
.badge{height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600;gap:6px;white-space:nowrap;background:#EEF1F5;color:#33475C}
.badge::before{width:6px;height:6px}
.badge.activa,.badge.activo,.badge.enviada,.badge.vigente,.badge.entregada,.badge.resolucion_emitida,.badge.registro_otorgado,html:not([data-theme="dark"]) .badge.entregada{background:#DDF3EA;color:#0A6B50}
.badge.en_evaluacion,.badge.ingresado,.badge.en_revision,.badge.en_dictamen{background:#E1EEF9;color:#00579F}
.badge.suspendida,.badge.pausado,.badge.pendiente,.badge.prevencion,.badge.no_localizado{background:#F8ECD9;color:#7D4800}
.badge.fallida,.badge.error,.badge.cancelada,.badge.critica,.badge.desechado{background:#F9E3E7;color:#9A1F37}
.state-chip{border-radius:999px;font-size:12.5px;padding:4px 10px}
.state-chip.tone-ok{background:#DDF3EA;color:#0A6B50}.state-chip.tone-wait{background:#F8ECD9;color:#7D4800}.state-chip.tone-info{background:#F9E3E7;color:#9A1F37}.state-chip.tone-alert{background:#F8ECD9;color:#7D4800}.state-chip.tone-done{background:#EEF1F5;color:#33475C}
.kind-chip{border-radius:999px;padding:4px 10px}
.note{border-radius:16px;background:#E1EEF9;color:#23405E}
.note.warning{background:#F8ECD9;color:#6A3D00}
.empty .symbol{background:#EEF5FC;width:56px;height:56px}
/* Reportes: tarjetas de formato y de diseño como el prototipo */
.rp-format{border-radius:18px;transition:box-shadow .35s var(--e),background-color .25s ease,transform .4s var(--e)}
.rp-format:hover{box-shadow:inset 0 0 0 1.5px #006BC7;transform:translateY(-2px)}
.rp-format.is-on{background:#F2F8FE;box-shadow:inset 0 0 0 2px #006BC7,0 0 0 4px rgba(0,107,199,.12)}
.rp-format.is-locked{background:#F7F9FB}.rp-format.is-locked .rp-f-ico{background:#EEF1F5;color:#5B6878}
.rp-f-ico{border-radius:12px;background:#EEF5FC}
.rp-lock{background:#F8ECD9;color:#7D4800}
.rp-design{border:2px solid var(--line);background:var(--card);border-radius:18px;padding:14px;transition:border-color .3s ease,box-shadow .4s var(--e),transform .4s var(--e)}
.rp-design:hover{background:var(--card);transform:translateY(-3px);box-shadow:var(--sh-lift)}
.rp-design.is-on{border-color:#006BC7;box-shadow:0 0 0 4px rgba(0,107,199,.12)}
.rp-thumb,.rp-design:hover .rp-thumb,.rp-design.is-on .rp-thumb{border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.rp-design .rp-check{top:20px;right:20px}
.rp-go{border-radius:12px}
html[data-theme="dark"] .rp-design,html[data-theme="dark"] .rp-design:hover{background:#111D2C;border-color:#22344A}
html[data-theme="dark"] .rp-design.is-on{border-color:#4FA3EC;box-shadow:0 0 0 4px rgba(79,163,236,.18)}
html[data-theme="dark"] .rp-thumb{box-shadow:0 0 0 1px #2E4460}
@media(max-width:760px){.rp-design{padding:10px;border-width:1.5px}.rp-design .rp-check{top:10px;right:10px}}
dialog .help-tour{margin:0 0 14px}
/* Menús de fila y ventanas */
.row-menu-list{border-radius:16px;border:1px solid var(--line-3);box-shadow:var(--sh-pop);padding:6px;animation:fvDdIn .35s var(--e) both;transform-origin:calc(100% - 16px) 0}
.row-menu-list button{border-radius:10px}
dialog{border-radius:24px;padding:26px 28px;box-shadow:0 40px 100px -20px rgba(10,37,64,.45),0 0 0 1px var(--line-3)}
dialog[open]{animation:fvPop .5s var(--e) both}
dialog::backdrop{background:rgba(10,37,64,.45);backdrop-filter:blur(4px)}
dialog[open]::backdrop{animation:fadeBack .35s ease both}
@keyframes fadeBack{from{opacity:0}to{opacity:1}}
.dialog-head h2{font-size:22px;font-weight:700}
#close-dialog{width:40px;height:40px;padding:0;border-radius:12px;display:grid;place-items:center;font-size:22px;background:var(--card);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
#close-dialog:hover{color:#006BC7;box-shadow:inset 0 0 0 1px #006BC7}
.upgrade-option,.choice{border-radius:16px}
.upgrade-option{transition:transform .45s var(--e),box-shadow .45s ease}.upgrade-option:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--line-2),var(--sh-lift)}
/* Mensajes: abajo al centro, como el prototipo */
#notice{left:50%;right:auto;top:auto;bottom:24px;transform:translateX(-50%);border-radius:16px;background:#0A2540;box-shadow:0 16px 40px rgba(10,37,64,.28);padding:12px 12px 14px 18px;font-size:14.5px;grid-template-columns:auto 1fr auto;max-width:min(560px,calc(100vw - 32px))}
#notice::before{content:"";width:8px;height:8px;border-radius:50%;background:#00E6B8;margin-top:7px}
#notice.error{background:#9A1F37}#notice.error::before{background:#FFC2CD}
#notice.busy::before{width:16px;height:16px;margin-top:2px;background:none}
#notice.is-in{animation:fvToast .5s var(--e) both}
body:has(.select-bar) #notice,body:has(#review-pill:not([hidden])) #notice{bottom:92px}
.select-bar{border-radius:18px;background:#0A2540}
.select-bar button{border-radius:12px}
.tour-hole{border-radius:16px;box-shadow:0 0 0 9999px rgba(10,37,64,.55),0 0 0 3px #00E6B8;transition:all .5s var(--e)}
.tour-tip{border-radius:20px;box-shadow:var(--sh-pop);transition:top .5s var(--e),left .5s var(--e);animation:fvPop .5s var(--e) both}
#busy-bar{height:3px;background:linear-gradient(90deg,transparent,#00E6B8,#006BC7,transparent);background-size:50% 100%;background-repeat:no-repeat}

/* --- Modo oscuro (misma paleta, de noche) --- */
html[data-theme="dark"]{--bg:#0B1522;--line:#22344A;--line-2:#2E4460;--line-3:#1C2D41;--muted:#93A6BA;--ink:#E6EDF5;--ink-2:#C3D0DE;--card:#111D2C;--soft:#16263A;--hover:#14223A;
 --sh-card:0 0 0 1px #1C2D41,0 10px 30px rgba(0,0,0,.25);--sh-lift:0 0 0 1px #2E4460,0 18px 40px rgba(0,0,0,.4);--sh-pop:0 0 0 1px #2E4460,0 24px 60px rgba(0,0,0,.55)}
html[data-theme="dark"] body{background:#0B1522}
html[data-theme="dark"] .workspace{--ws-bg:#0B1522;--ws-surface:#111D2C;--ws-soft:#16263A;--ws-line:#22344A;--ws-line-2:#2E4460;--ws-text:#E6EDF5;--ws-text-2:#C3D0DE;--ws-muted:#93A6BA;--line-3:#1C2D41;--hover:#14223A}
html[data-theme="dark"] .workspace .sidebar{background:#0A2540;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.35)}
html[data-theme="dark"] .workspace .topbar{background:#111D2C;box-shadow:0 0 0 1px #1C2D41,0 10px 30px rgba(0,0,0,.25),0 -12px 0 14px #0B1522;border:0}
html[data-theme="dark"] .tm-btn{background:transparent;color:#C3D0DE}
html[data-theme="dark"] .tm-btn:hover,html[data-theme="dark"] .tm.is-open .tm-btn{background:#16263A;color:#8CC2F2}
html[data-theme="dark"] .tm-btn::after{background:#8CC2F2}
html[data-theme="dark"] .tm-panel,html[data-theme="dark"] .account-menu,html[data-theme="dark"] .workspace .row-menu-list{background:#111D2C;border-color:#2E4460;box-shadow:var(--sh-pop)}
html[data-theme="dark"] .tm-item{background:transparent;color:#E6EDF5}
html[data-theme="dark"] .tm-item:hover,html[data-theme="dark"] .tm-item:focus-visible{background:#16263A}
html[data-theme="dark"] .tm-ico{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .tm-txt strong{color:#E6EDF5}html[data-theme="dark"] .tm-txt small{color:#93A6BA}
html[data-theme="dark"] .top-search input{background:#0E1927;border-color:#2E4460;color:#E6EDF5}
html[data-theme="dark"] .top-search input::placeholder{color:#8496AA}
html[data-theme="dark"] .top-search svg{color:#93A6BA}
html[data-theme="dark"] #account-btn{background:transparent;color:#E6EDF5}
html[data-theme="dark"] #account-btn:hover,html[data-theme="dark"] #account-btn[aria-expanded="true"]{background:#16263A}
html[data-theme="dark"] #account-btn .avatar,html[data-theme="dark"] .am-head .avatar{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .workspace .icon-btn{background:transparent;color:#C3D0DE}
html[data-theme="dark"] .workspace .icon-btn:hover{background:#16263A;color:#fff}
html[data-theme="dark"] .workspace .notices-btn{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .workspace .notices-btn.prev-btn{background:#3A161C;color:#F29AA8}html[data-theme="dark"] .workspace .notices-btn.prev-btn i{background:#F29AA8;color:#3A161C}
html[data-theme="dark"] .workspace .notices-btn i{background:#F3C66B;color:#33250C}
html[data-theme="dark"] .seg{background:#0E1927}
html[data-theme="dark"] .seg::before{background:#1E3550;box-shadow:0 1px 3px rgba(0,0,0,.4)}
html[data-theme="dark"] .workspace .seg-btn,html[data-theme="dark"] .seg-btn{background:transparent;color:#93A6BA}
html[data-theme="dark"] .seg-btn[aria-pressed="true"]{color:#E6EDF5;background:transparent}
html[data-theme="dark"] .workspace .card,html[data-theme="dark"] .workspace .metrics .metric,html[data-theme="dark"] .workspace .kpis .kpi,html[data-theme="dark"] .workspace .filter-card,html[data-theme="dark"] .workspace .case-table-wrap{background:#111D2C;box-shadow:var(--sh-card);border:0}
html[data-theme="dark"] .workspace .metrics{background:transparent;box-shadow:none}
html[data-theme="dark"] .workspace .metrics .metric:hover,html[data-theme="dark"] .workspace .kpi:hover{box-shadow:var(--sh-lift)}
html[data-theme="dark"] .workspace .kpi.is-on{box-shadow:0 0 0 2px var(--c)}
html[data-theme="dark"] .workspace .kpi.tone-blue{--c:#4FA3EC}html[data-theme="dark"] .workspace .kpi.tone-green{--c:#3FC79A}html[data-theme="dark"] .workspace .kpi.tone-amber{--c:#E0A43A}html[data-theme="dark"] .workspace .kpi.tone-rose{--c:#EC6F84}
html[data-theme="dark"] .workspace .kpi .kpi-link{color:var(--c)}
html[data-theme="dark"] .workspace .kpi-icon{color:#0B1522}
html[data-theme="dark"] .workspace .kpi-bar{background:#1E2F44}
html[data-theme="dark"] .workspace .card-title{border-color:#1C2D41}
html[data-theme="dark"] .workspace th,html[data-theme="dark"] .workspace .case-table th{background:transparent;color:#93A6BA;border-color:#22344A}
html[data-theme="dark"] .workspace td{border-color:#1C2D41}
html[data-theme="dark"] .workspace tbody tr:hover td,html[data-theme="dark"] .workspace .case-table tbody tr:hover td{background:#14223A}
html[data-theme="dark"] .chip-filter,html[data-theme="dark"] .workspace .chip-filter{background:#111D2C;color:#C3D0DE;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .chip-filter:hover,html[data-theme="dark"] .workspace .chip-filter:hover{color:#8CC2F2;box-shadow:inset 0 0 0 1px #8CC2F2;background:#111D2C}
html[data-theme="dark"] .chip-filter.is-on,html[data-theme="dark"] .workspace .chip-filter.is-on{background:#E6EDF5;color:#0A2540;box-shadow:none}
html[data-theme="dark"] .workspace button.quiet,html[data-theme="dark"] dialog button.quiet,html[data-theme="dark"] #close-dialog{background:#111D2C;color:#E6EDF5;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .workspace button.quiet:hover,html[data-theme="dark"] dialog button.quiet:hover,html[data-theme="dark"] #close-dialog:hover{background:#16263A;color:#8CC2F2;box-shadow:inset 0 0 0 1px #8CC2F2}
html[data-theme="dark"] .workspace input,html[data-theme="dark"] .workspace select,html[data-theme="dark"] .workspace textarea,html[data-theme="dark"] dialog input,html[data-theme="dark"] dialog select,html[data-theme="dark"] dialog textarea{background:#0E1927;border-color:#2E4460;color:#E6EDF5}
html[data-theme="dark"] dialog{background:#111D2C;box-shadow:0 0 0 1px #2E4460,0 40px 100px -20px rgba(0,0,0,.7)}
html[data-theme="dark"] dialog::backdrop{background:rgba(3,8,15,.6)}
html[data-theme="dark"] .workspace .badge{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] .workspace .note{background:#10283F;color:#BFD9F2}
html[data-theme="dark"] #context-banner{background:#0F2A22;color:#9BE3C8}
html[data-theme="dark"] #notice{background:#16263A;box-shadow:0 0 0 1px #2E4460,0 20px 50px -12px rgba(0,0,0,.7)}
html[data-theme="dark"] #notice.error{background:#5A1623}
html[data-theme="dark"] .workspace footer{border-color:#1C2D41}
html[data-theme="dark"] .empty .symbol{background:#16263A;color:#8CC2F2}
html[data-theme="dark"] .view-toggle{background:#111D2C;border-color:#2E4460}

/* --- Pantallas medianas y móvil --- */
@media(max-width:1480px){.workspace .notices-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.workspace .notices-btn{padding:0 9px}}
@media(max-width:1280px){.top-search{flex-basis:220px;min-width:140px}#account-btn #profile small{max-width:140px}}
@media(max-width:1180px){.top-search{display:none}}
@media(min-width:1001px){.workspace #org-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0}}
@media(max-width:1000px){.top-menus,.top-gap{display:none}.workspace #org-label{flex:1}}
@media(min-width:1001px){.workspace .topbar.is-admin:not(.in-client) #org-label{position:static;width:auto;height:auto;clip:auto;overflow:hidden;flex:0 1 auto;min-width:0;max-width:260px;padding:0 14px 0 6px;margin-right:4px;border-right:1px solid var(--line);font-size:14px}}
@media(max-width:1100px){.workspace .sidebar{width:252px}.workspace-body{margin-left:284px;width:calc(100% - 284px)}}
@media(max-width:760px){
 .workspace-body{margin-left:0;width:100%;padding:8px 8px 0}
 .workspace .sidebar{top:8px;bottom:8px;left:8px;width:min(300px,calc(100vw - 48px));border-radius:22px;transform:translateX(calc(-100% - 24px));transition:transform .5s var(--e),visibility 0s .5s;visibility:hidden;box-shadow:0 30px 80px rgba(10,37,64,.4)}
 .workspace .sidebar.open{transform:none;visibility:visible;transition:transform .5s var(--e),visibility 0s}
 #nav-backdrop{background:rgba(10,37,64,.45);backdrop-filter:blur(3px);animation:fadeBack .3s ease both;z-index:90}
 .workspace .sidebar{z-index:95}
 .workspace .card-title{flex-wrap:wrap}
 .workspace .topbar{top:8px;min-height:56px;padding:6px 8px;border-radius:18px;gap:4px;box-shadow:0 1px 2px rgba(10,37,64,.04),0 10px 30px rgba(10,37,64,.06),0 -8px 0 10px var(--ws-bg)}
 html[data-theme="dark"] .workspace .topbar{box-shadow:0 0 0 1px #1C2D41,0 -8px 0 10px #0B1522}
 #menu{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:12px;background:#F1F4F8;color:var(--ink);box-shadow:none}
 html[data-theme="dark"] #menu{background:#16263A;color:#E6EDF5}
 .workspace #org-label{font-size:14px;padding:0 4px}
 .workspace .topbar .icon-btn{width:40px;height:40px}
 #account-btn{padding:0 2px;height:42px}
 /* Lote 42: el menú cabe entre la barra de arriba y la de abajo y se desplaza por dentro, sin mover la página. */
 .account-menu{position:fixed;left:8px;right:8px;top:72px;width:auto;max-height:calc(100vh - 160px);max-height:calc(100dvh - 156px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;transform-origin:calc(100% - 30px) 0}
 html.am-open,html.am-open body,html.nav-open,html.nav-open body{overflow:hidden}
 .workspace .sidebar,.workspace nav#nav{overscroll-behavior:contain}   /* lote 42b: «Más» */
 #content{padding:20px 4px 24px}
 .workspace .page-head h1{font-size:25px}
 .workspace .card{border-radius:20px}
 .workspace .card-body{padding:18px}
 .workspace .metrics{grid-template-columns:1fr 1fr;gap:10px}
 .workspace .metrics .metric{padding:14px;border-radius:18px}
 .workspace .metric strong{font-size:28px}
 .workspace .kpi{padding:14px;border-radius:18px}
 #notice{bottom:16px;width:calc(100vw - 24px)}
 dialog{padding:20px 18px;border-radius:22px;width:min(600px,calc(100vw - 16px))}
 .workspace footer{margin:0 4px}
}
@media(prefers-reduced-motion:reduce){
 /* Lote 26c · decisión del dueño: con «movimiento reducido» (Windows con «Efectos de animación» apagado, por ejemplo) las
    animaciones se ven, pero suaves: desvanecido con desplazamiento corto (≤ 6 px) o escala ≥ .98, en ≤ .25 s, en menús,
    acordeón del menú lateral, píldora, ventanas, mensajes y entradas de vista. Solo se quita lo grande: crecimientos
    largos, deslizamientos largos, escalonados y animaciones infinitas (pulso, barrido, escáner). */
 @keyframes fvIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 @keyframes fvDdIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
 @keyframes fvDdOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px) scale(.98)}}
 @keyframes fvToast{from{opacity:0;transform:translate(-50%,6px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
 @keyframes fvPop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
 @keyframes fv-in{from{opacity:0;transform:translateY(-6px);background:rgba(0,212,255,.12)}to{opacity:1;transform:none;background:transparent}}
 @keyframes toast-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
 *,*::before,*::after,::backdrop{animation-duration:.2s!important;animation-delay:0s!important;scroll-behavior:auto!important}
 .tm-dd.is-out,.account-menu.is-out{animation-duration:.18s!important}
 .sp-bar span,.workspace .kpi-bar span,#busy-bar.on,.live-dot.on,.scanner span{animation:none!important}
 .card.flash,.case-table tr.flash-row td{animation-duration:1.6s!important}
 .spinner,button.is-loading::before,#notice.busy::before{animation-duration:.75s!important}
 .nav-pill{transition:transform .22s var(--e),width .22s var(--e),height .22s var(--e),opacity .2s ease}
 .nav-acc{transition:grid-template-rows .22s var(--e),opacity .2s ease}
 #nav.pill-follow .nav-pill{transition:opacity .2s ease}
 .nav-pill::after,.nav-toggle .chev,.tm-btn::after,.tm-btn svg,.workspace nav button,.workspace nav .nav-items>button>b,.tm-item,.am-links button,
 .seg::before,.tour-hole,.tour-tip,.workspace .metrics .metric,.workspace .kpi,.chip-filter,.rp-format,.rp-design,.upgrade-option,
 button,.button-link,.access>.back{transition-duration:.2s!important}
 button:active:not(:disabled){transform:scale(.98)}
 @media(max-width:760px){
  .workspace .sidebar{transform:none;opacity:0;transition:opacity .2s ease,visibility 0s .2s}
  .workspace .sidebar.open{opacity:1;transition:opacity .2s ease,visibility 0s}
 }
}
/* ==== fin Lote 26 · portal ==== */
/* ==== Lote 26 · QA ==== */
/* Motor en vivo: la tarjeta «Consultando ahora / Nada en consulta» es marina con texto blanco; la tarjeta blanca del
   rediseño la cubría y el texto quedaba blanco sobre blanco (contraste 1:1). */
.workspace .card.live-now,html[data-theme="dark"] .workspace .card.live-now{background:linear-gradient(135deg,#0a2540,#0c3a63);color:#fff}
/* Barra superior entre 1001 y 1180 px (menús a la vista, sin búsqueda): con un nombre largo la cuenta se salía de la
   tarjeta y la página se desplazaba de lado. La cuenta ahora se encoge y recorta el nombre con «…». */
.workspace .identity{flex:0 1 auto;min-width:0}
.workspace .identity .account{min-width:0;display:flex}
#account-btn #profile{min-width:0}
@media(min-width:761px){#account-btn #profile{display:block}}   /* on the phone it stays hidden (only the avatar) */
#account-btn>.chev,#account-btn>.avatar{flex:none}
@media(max-width:1180px) and (min-width:761px){#account-btn #profile,#account-btn #profile small{max-width:130px}}
/* ==== fin Lote 26 · QA ==== */
/* ==== Lote 26c · portal ==== */
/* Superficies del tema claro: «el blanco es demasiado blanco y cansa». Tarjetas, barra superior, menús, ventanas, tablas
   y campos usan un azul muy clarito de la paleta que se lee como blanco (ninguna superficie queda en #FFFFFF). Las vistas
   previas de papel (logo y miniaturas del reporte) siguen blancas porque el PDF se imprime en blanco. */
:root{--bg:#EAF1F8;--card:#F8FBFE;--soft:#F2F7FC;--hover:#EEF4FA;--field:#F5F9FD;--seg:#E3EBF4}
.workspace{--ws-bg:#EAF1F8;--ws-surface:#F8FBFE;--ws-soft:#F2F7FC}
.top-search input{background:var(--field)}
.top-search input:focus{background:var(--card)}
.seg{background:var(--seg)}
.rp-format.is-locked{background:var(--soft)}
.button-link{color:#fff}
.button-link:hover{color:#fff}
.checkout-done .button-link,.checkout-done .button-link:hover{color:var(--ink)}
html[data-theme="dark"]{--field:#0E1927;--seg:#0E1927}
html[data-theme="dark"] .top-search input{background:#0E1927}

/* Páginas sin sesión en modo oscuro (acceso, cambio de contraseña obligatorio, activar, crear cuenta y contratar, con
   todos sus estados): la tarjeta es marina profunda como el resto del portal oscuro, con textos claros y campos legibles.
   static/tema.js pone data-theme antes de pintar en las cuatro páginas (fv-tema = claro | oscuro | sistema). */
html[data-theme="dark"] .auth{background:var(--bg)}
html[data-theme="dark"] .login-box{background:#111D2C;color:#E6EDF5;box-shadow:0 0 0 1px #1C2D41,0 10px 30px rgba(0,0,0,.3)}
html[data-theme="dark"] .login-box h2{color:#E6EDF5}
html[data-theme="dark"] .login-box .eyebrow{color:#8CC2F2}
html[data-theme="dark"] .login-box>p,html[data-theme="dark"] .login-box>div>p,html[data-theme="dark"] .login-box .muted,html[data-theme="dark"] .login-box .help{color:#93A6BA}
html[data-theme="dark"] .login-box label{color:#C3D0DE}
html[data-theme="dark"] .login-box label.check,html[data-theme="dark"] .login-box label.check span{color:#C3D0DE;font-weight:500}
html[data-theme="dark"] .login-box a:not(.button-link),html[data-theme="dark"] .access>small a{color:#8CC2F2}
html[data-theme="dark"] .login-box a:not(.button-link):hover{color:#B9DBF8}
html[data-theme="dark"] .access>.back{color:#C3D0DE}
html[data-theme="dark"] .access>.back:hover{background:#16263A;color:#fff}
html[data-theme="dark"] .access>small{color:#93A6BA}
html[data-theme="dark"] .auth input,html[data-theme="dark"] .auth select,html[data-theme="dark"] .auth textarea{background:#0E1927;border-color:#2E4460;color:#E6EDF5}
html[data-theme="dark"] .auth input::placeholder{color:#8496AA}
html[data-theme="dark"] .auth input:focus,html[data-theme="dark"] .auth select:focus{border-color:#4FA3EC;box-shadow:0 0 0 4px rgba(79,163,236,.18)}
html[data-theme="dark"] .auth input[type=checkbox]{accent-color:#4FA3EC}
html[data-theme="dark"] .login-box button,html[data-theme="dark"] .login-box .button-link{background:#1B5FA8;color:#fff}
html[data-theme="dark"] .login-box button:hover,html[data-theme="dark"] .login-box .button-link:hover{background:#2A77C7;color:#fff}
html[data-theme="dark"] .login-box button.link-btn{background:transparent;color:#8CC2F2}
html[data-theme="dark"] .login-box button:disabled{background:#1E2F44;color:#93A6BA}
html[data-theme="dark"] .login-box .note{background:#10283F;color:#BFD9F2}
html[data-theme="dark"] .login-box .note.warning{background:#33250C;color:#F3D39A}
html[data-theme="dark"] .pw-rules{color:#93A6BA}
html[data-theme="dark"] .pw-rules li.ok,html[data-theme="dark"] .pw-rules li.ok span[aria-hidden]{color:#5DD3A8}
html[data-theme="dark"] .pw-rules li span[aria-hidden]{color:#E0A43A}
html[data-theme="dark"] .welcome{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.35)}
/* Otros textos rojos sobre fondo oscuro (recorrido de todas las vistas en oscuro): «Cerrar sesión», acciones de borrar y errores. */
html[data-theme="dark"] .am-links button[data-action="logout"],html[data-theme="dark"] .am-links button[data-action="logout"] svg,
html[data-theme="dark"] .row-menu-list .danger-item,html[data-theme="dark"] .row-menu-list .danger-item svg,html[data-theme="dark"] .field-error{color:#F29AA8}
html[data-theme="dark"] dialog .eyebrow{color:#8CC2F2}
/* ==== fin Lote 26c · portal ==== */
/* ==== Lote 27 · app ==== */
/* El portal «como app»: campana con panel de notificaciones y buscador rápido (paleta) en web y celular; en el celular
   (≤ 760 px) barra inferior fija, barra superior compacta que se oculta al bajar, listas en tarjetas, ventanas como hojas
   inferiores con asa y gesto, recorrido inicial y casilla de selección corregidos, y el portal instalable (PWA). Mismos
   colores (marino, azul, menta, superficies azul muy claro) y mismas funciones. El escritorio solo suma la campana y el
   buscador. */
html{-webkit-tap-highlight-color:transparent}
kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:7px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line-2),0 1px 0 var(--line-2);font:600 11px/1 var(--sans);color:var(--ink-2)}
@keyframes fvFade{from{opacity:0}to{opacity:1}}
@keyframes fvFadeOut{from{opacity:1}to{opacity:0}}
@keyframes fvCmdIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fvSheetIn{from{transform:translateY(100%)}to{transform:none}}
@keyframes fvSheetOut{from{transform:none}to{transform:translateY(100%)}}
@keyframes fvDropIn{from{opacity:.4;transform:translateY(-28px)}to{opacity:1;transform:none}}
@keyframes fvPageIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes fvPageBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes fvDotIn{from{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --- Buscador rápido: disparador en la barra superior (sustituye la búsqueda de folio, que vive dentro) --- */
.workspace .top-search{display:none!important}
.cmdk-trigger{display:flex;align-items:center;gap:10px;flex:0 1 300px;min-width:190px;height:42px;padding:0 7px 0 13px;border-radius:12px;background:var(--field);color:#5F6B7B;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:500;text-align:left;cursor:text}
.cmdk-trigger:hover,.cmdk-trigger[aria-expanded="true"]{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px #006BC7}
.cmdk-trigger:active:not(:disabled){transform:scale(.98)}
.cmdk-trigger>svg{width:18px;height:18px;flex:none}
.cmdk-trigger .ct-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdk-trigger .ct-keys{display:flex;gap:3px;flex:none}
@media(max-width:1180px){.cmdk-trigger{flex:none;min-width:0;width:44px;height:44px;padding:0;justify-content:center;background:transparent;box-shadow:none;color:var(--ws-text-2);cursor:pointer}
 .cmdk-trigger:hover{background:#F1F4F8;color:#006BC7;box-shadow:none}.cmdk-trigger>svg{width:21px;height:21px}.cmdk-trigger .ct-text,.cmdk-trigger .ct-keys{display:none}}
html[data-theme="dark"] .cmdk-trigger{background:#0E1927;color:#93A6BA;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .cmdk-trigger:hover,html[data-theme="dark"] .cmdk-trigger[aria-expanded="true"]{background:#16263A;color:#E6EDF5;box-shadow:inset 0 0 0 1px #4FA3EC}
@media(max-width:1180px){html[data-theme="dark"] .cmdk-trigger{background:transparent;box-shadow:none;color:#C3D0DE}html[data-theme="dark"] .cmdk-trigger:hover{background:#16263A;color:#fff;box-shadow:none}}
html[data-theme="dark"] kbd{background:#16263A;color:#C3D0DE;box-shadow:inset 0 0 0 1px #2E4460,0 1px 0 #2E4460}

/* --- Buscador rápido: la ventana --- */
.cmdk-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:start center;padding:12vh 16px 16px}
.cmdk-layer[hidden]{display:none}
.cmdk-back{position:absolute;inset:0;background:rgba(10,37,64,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cmdk-layer.is-in .cmdk-back{animation:fvFade .3s ease both}
.cmdk-layer.is-out .cmdk-back{animation:fvFadeOut .2s ease both}
.cmdk{position:relative;width:min(640px,100%);max-height:min(580px,78vh);display:flex;flex-direction:column;background:var(--card);border-radius:22px;box-shadow:var(--sh-pop),0 0 0 1px var(--line-3);overflow:hidden}
.cmdk-layer.is-in .cmdk{animation:fvCmdIn .42s var(--e) both}
.cmdk-layer.is-out .cmdk{animation:fvDdOut .2s ease both}
.cmdk-input{display:flex;align-items:center;gap:12px;padding:0 14px 0 20px;border-bottom:1px solid var(--line);flex:none}
.cmdk-input>svg{width:21px;height:21px;color:var(--muted);flex:none}
.cmdk-input input{flex:1;min-width:0;height:62px;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;padding:0;font-size:17px;color:var(--ink);outline:none}
.cmdk-input input::placeholder{color:#5F6B7B}
.cmdk-input input::-webkit-search-cancel-button{display:none}
.cmdk-esc{flex:none;background:transparent;box-shadow:none;padding:4px;border-radius:9px;color:var(--muted)}
.cmdk-esc:hover{background:var(--soft);color:var(--ink)}
.cmdk-esc-k{display:inline-grid;place-items:center;height:24px;padding:0 8px;border-radius:7px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:11.5px;font-weight:700;color:var(--ink-2)}
.cmdk-esc-t{display:none}
.cmdk-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 8px 10px;scroll-padding:8px}
.cmdk-group{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 12px 6px}
.cmdk-item{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:8px 12px;border-radius:14px;background:transparent;color:var(--ink);box-shadow:none;text-align:left;font-weight:500;font-size:14.5px;transition:background .18s ease}
.cmdk-item:hover{background:transparent;color:var(--ink)}
.cmdk-item.is-active{background:#E1EEF9}
.cmdk-item:active:not(:disabled){transform:scale(.99)}
.cmdk-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--ink-2);flex:none;transition:background .25s var(--e),color .25s var(--e)}
.cmdk-ico svg{width:18px;height:18px;display:block}
.cmdk-item.is-active .cmdk-ico{background:#006BC7;color:#fff}
.cmdk-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cmdk-txt strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdk-txt strong.mono{font-family:var(--mono);font-weight:600;letter-spacing:.01em}
.cmdk-txt small{color:var(--muted);font-size:12.5px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdk-hint{font-size:12px;color:var(--muted);flex:none;white-space:nowrap}
.cmdk-lock{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#7D4800;background:#F8ECD9;border-radius:999px;padding:4px 9px;flex:none;white-space:nowrap}
.cmdk-lock svg{width:13px;height:13px}
.cmdk-state{flex:0 1 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#EEF1F5;color:#33475C}
.cmdk-state.tone-ok{background:#DDF3EA;color:#0A6B50}.cmdk-state.tone-wait,.cmdk-state.tone-alert{background:#F8ECD9;color:#7D4800}.cmdk-state.tone-info{background:#F9E3E7;color:#9A1F37}.cmdk-state.tone-done{background:#EEF1F5;color:#33475C}
html[data-theme="dark"] .cmdk-state,html[data-theme="dark"] .cmdk-state.tone-done{background:#1E2F44;color:#C3D0DE}html[data-theme="dark"] .cmdk-state.tone-ok{background:#0F2A22;color:#5DD3A8}html[data-theme="dark"] .cmdk-state.tone-info{background:#3A161C;color:#F29AA8}html[data-theme="dark"] .cmdk-state.tone-wait,html[data-theme="dark"] .cmdk-state.tone-alert{background:#33250C;color:#F3C66B}
.cmdk-empty{display:grid;justify-items:center;gap:6px;padding:40px 16px;color:var(--muted);text-align:center;font-size:13.5px}
.cmdk-empty svg{width:26px;height:26px}.cmdk-empty strong{color:var(--ink);font-size:15px}
.cmdk-foot{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:10px 18px;border-top:1px solid var(--line);background:var(--soft);font-size:12px;color:var(--muted);flex:none}
.cmdk-foot span{display:inline-flex;align-items:center;gap:4px}
.cmdk-foot-k{margin-left:auto}
.cmdk-layer.is-in .cmdk-item{animation:fvIn .36s var(--e) backwards}
.cmdk-layer.is-in .cmdk-item:nth-of-type(2){animation-delay:.02s}.cmdk-layer.is-in .cmdk-item:nth-of-type(3){animation-delay:.04s}.cmdk-layer.is-in .cmdk-item:nth-of-type(4){animation-delay:.06s}.cmdk-layer.is-in .cmdk-item:nth-of-type(n+5){animation-delay:.08s}
html[data-theme="dark"] .cmdk-back{background:rgba(3,8,15,.6)}
html[data-theme="dark"] .cmdk-item.is-active{background:#10283F}
html[data-theme="dark"] .cmdk-item.is-active .cmdk-ico{background:#1B5FA8}
html[data-theme="dark"] .cmdk-input input::placeholder{color:#8496AA}
html[data-theme="dark"] .cmdk-lock{background:#33250C;color:#F3C66B}
html[data-theme="dark"] .cmdk-esc-k{box-shadow:inset 0 0 0 1px #2E4460;color:#C3D0DE}
@media(hover:none){.cmdk-foot{display:none}}

/* --- Campana: botón con punto rojo y panel de notificaciones --- */
#bell{position:relative}
#bell .bell-dot{position:absolute;top:9px;right:10px;width:9px;height:9px;border-radius:50%;background:#D93A52;box-shadow:0 0 0 2px var(--card);animation:fvDotIn .45s var(--e) both;pointer-events:none}
.workspace .topbar #bell[aria-expanded="true"]{background:#E1EEF9;color:#006BC7}
html[data-theme="dark"] .workspace .topbar #bell[aria-expanded="true"]{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] #bell .bell-dot{background:#F2667B;box-shadow:0 0 0 2px #111D2C}
.bell-layer{position:fixed;inset:0;z-index:110;pointer-events:none}
.bell-layer[hidden]{display:none}
.bp-back{position:absolute;inset:0;pointer-events:none}
.bp-card{position:fixed;top:84px;right:24px;width:410px;max-width:calc(100vw - 24px);max-height:min(620px,calc(100vh - 110px));display:flex;flex-direction:column;pointer-events:auto;background:var(--card);border-radius:22px;border:1px solid var(--line-3);box-shadow:var(--sh-pop);overflow:hidden;outline:none;transform-origin:calc(100% - 26px) 0}
.bell-layer.is-in .bp-card{animation:fvDdIn .42s var(--e) both}
.bell-layer.is-out .bp-card{animation:fvDdOut .2s ease both}
.bp-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:16px 14px 14px 20px;border-bottom:1px solid var(--line);flex:none}
.bp-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.005em}
.bp-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:#E1EEF9;color:#00579F;font-size:12.5px;font-weight:700;white-space:nowrap}
.bp-chip i{width:6px;height:6px;border-radius:50%;background:#006BC7}
.bp-sub{font-size:12.5px;color:var(--muted);flex-basis:100%;order:3}
.bp-read{margin-left:auto;background:transparent;box-shadow:none;color:#006BC7;padding:7px 10px;font-size:13.5px;font-weight:600;border-radius:10px;white-space:nowrap}
.bp-read:hover{background:#E1EEF9;color:#00579F}
.bp-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.bp-item{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:64px;padding:14px 18px 14px 20px;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;text-align:left;font-weight:400;font-size:14px;border-bottom:1px solid var(--line-3);transition:background .18s ease}
.bp-item:last-child{border-bottom:0}
.bp-item:hover,.bp-item:focus-visible{background:var(--hover);color:var(--ink)}
.bp-item:focus-visible{outline-offset:-2px}
.bp-item:active:not(:disabled){transform:none;background:var(--soft)}
.bp-ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}
.bp-ico svg{width:19px;height:19px;display:block}
.bp-ico.tone-ok{background:#DDF3EA;color:#0A6B50}.bp-ico.tone-info{background:#E1EEF9;color:#00579F}.bp-ico.tone-alert{background:#F8ECD9;color:#7D4800}
.bp-ico.tone-mint{background:#D5F7EE;color:#056152}.bp-ico.tone-crit{background:#F9E3E7;color:#9A1F37}
.bp-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.bp-txt strong{font-size:14px;font-weight:700;line-height:1.35;color:var(--ink)}
.bp-item:not(.is-unread) .bp-txt strong{font-weight:600;color:var(--ink-2)}
.bp-ico{position:relative}
.bp-dot{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#006BC7;box-shadow:0 0 0 2px var(--card)}
.bp-item:hover .bp-dot{box-shadow:0 0 0 2px var(--hover)}
.bp-txt small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-txt .mono{font-family:var(--mono);color:var(--ink-2)}
.bp-time{font-size:12px;color:var(--muted);white-space:nowrap;flex:none;padding-top:2px}
.bp-count{flex:none;min-width:26px;height:24px;padding:0 8px;border-radius:999px;background:#006BC7;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;align-self:center}
.bp-empty{display:grid;justify-items:center;gap:8px;padding:36px 22px;text-align:center;color:var(--muted);font-size:13.5px;line-height:1.5}
.bp-empty strong{color:var(--ink);font-size:15px}
.bp-foot{border-top:1px solid var(--line);background:var(--soft);padding:6px;flex:none;display:flex;gap:4px}
.bp-foot .bp-all{flex:1 1 0;min-width:0}
.bp-config svg{width:17px;height:17px;flex:none}
.bp-all.bp-config:hover svg{transform:none}
.bp-all{width:100%;display:flex;justify-content:center;align-items:center;gap:6px;padding:12px;border-radius:14px;background:transparent;box-shadow:none;color:#006BC7;font-weight:600;font-size:14px}
.bp-all:hover{background:#E1EEF9;color:#00579F}
.bp-all svg{width:16px;height:16px;transition:transform .35s var(--e)}
.bp-all:hover svg{transform:translateX(3px)}
.bell-layer.is-in .bp-item{animation:fvIn .4s var(--e) backwards}
.bell-layer.is-in .bp-card.bp-static .bp-item{animation:none}   /* lote 42: al actualizarse no repite la entrada */
.bell-layer.is-in .bp-item:nth-child(2){animation-delay:.04s}.bell-layer.is-in .bp-item:nth-child(3){animation-delay:.08s}.bell-layer.is-in .bp-item:nth-child(4){animation-delay:.12s}.bell-layer.is-in .bp-item:nth-child(n+5){animation-delay:.16s}
html[data-theme="dark"] .bp-chip{background:#10283F;color:#8CC2F2}html[data-theme="dark"] .bp-chip i{background:#8CC2F2}
html[data-theme="dark"] .bp-read,html[data-theme="dark"] .bp-all{color:#8CC2F2}
html[data-theme="dark"] .bp-read:hover,html[data-theme="dark"] .bp-all:hover{background:#10283F;color:#B9DBF8}
html[data-theme="dark"] .bp-dot{background:#4FA3EC}
html[data-theme="dark"] .bp-ico.tone-ok{background:#0F2A22;color:#5DD3A8}html[data-theme="dark"] .bp-ico.tone-info{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .bp-ico.tone-alert{background:#33250C;color:#F3C66B}html[data-theme="dark"] .bp-ico.tone-mint{background:#0C2B27;color:#7FF0D6}
html[data-theme="dark"] .bp-ico.tone-crit{background:#3A161C;color:#F29AA8}
html[data-theme="dark"] .bp-count{background:#1B5FA8}
/* Alertas: las que la persona aún no ve, marcadas en la lista. */
#content tr.is-unread td:first-child{box-shadow:inset 3px 0 0 #006BC7;font-weight:700;color:var(--ink)}
#content tr.is-unread td:first-child::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;border-radius:50%;background:#006BC7;vertical-align:1px}
html[data-theme="dark"] #content tr.is-unread td:first-child{box-shadow:inset 3px 0 0 #4FA3EC}
html[data-theme="dark"] #content tr.is-unread td:first-child::after{background:#4FA3EC}

/* --- Hojas inferiores (acciones rápidas) --- */
.sheet-layer{position:fixed;inset:0;z-index:115;display:flex;align-items:flex-end;justify-content:center}
.sheet-back{position:absolute;inset:0;background:rgba(10,37,64,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.sheet-layer.is-in .sheet-back{animation:fvFade .3s ease both}.sheet-layer.is-out .sheet-back{animation:fvFadeOut .24s ease both}
.sheet{position:relative;width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;background:var(--card);color:var(--ink);border-radius:26px 26px 0 0;box-shadow:0 -10px 50px rgba(10,37,64,.25);padding:0 0 calc(14px + env(safe-area-inset-bottom));outline:none;touch-action:pan-y}
.sheet-layer.is-in .sheet{animation:fvSheetIn .5s var(--e) both}
.sheet-layer.is-out .sheet{animation:fvSheetOut .26s ease both}
.sheet.is-dragging,.bp-card.is-dragging{animation:none!important;transition:none}
.sheet-grab{display:block;width:40px;height:5px;border-radius:99px;background:var(--line-2);margin:8px auto 2px}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 6px 22px}
.sheet-head h2{margin:0;font-size:18px;font-weight:700}
.sheet-x{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--ink-2);box-shadow:none}
.sheet-x:hover{background:#E1EEF9;color:#006BC7}.sheet-x svg{width:18px;height:18px}
.qa-list{display:flex;flex-direction:column;gap:2px;padding:4px 10px}
.qa-item{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 12px;border-radius:16px;background:transparent;color:var(--ink);box-shadow:none;text-align:left;font-weight:400}
.qa-item:hover{background:var(--hover);color:var(--ink)}
.qa-item:active:not(:disabled){background:var(--soft);transform:scale(.985)}
.qa-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#E1EEF9;color:#006BC7;flex:none}
.qa-ico svg{width:21px;height:21px}
.qa-item:first-child .qa-ico{background:#006BC7;color:#fff}
.qa-txt{flex:1;min-width:0}
.qa-txt strong{display:block;font-size:15.5px;font-weight:600}
.qa-txt small{display:block;color:var(--muted);font-size:13px;margin-top:1px}
.qa-item>svg{width:18px;height:18px;color:var(--muted);flex:none}
.qa-search{margin-top:6px;box-shadow:inset 0 1px 0 var(--line);border-radius:0 0 16px 16px}
.sheet-layer.is-in .qa-item{animation:fvIn .42s var(--e) backwards}
.sheet-layer.is-in .qa-item:nth-child(2){animation-delay:.04s}.sheet-layer.is-in .qa-item:nth-child(3){animation-delay:.08s}.sheet-layer.is-in .qa-item:nth-child(4){animation-delay:.12s}.sheet-layer.is-in .qa-item:nth-child(n+5){animation-delay:.16s}
html[data-theme="dark"] .sheet{box-shadow:0 0 0 1px #22344A,0 -10px 50px rgba(0,0,0,.5)}
html[data-theme="dark"] .qa-ico,html[data-theme="dark"] .sheet-x:hover{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .qa-item:first-child .qa-ico{background:#1B5FA8;color:#fff}
html[data-theme="dark"] .sheet-back{background:rgba(3,8,15,.6)}
.install-steps{margin:0 0 12px;padding-left:20px;display:grid;gap:10px;line-height:1.5}

/* --- Barra inferior y título de la barra superior: solo en el celular --- */
.app-tabs,.top-title{display:none}
.app-proxy{display:none!important}

/* --- Recorrido inicial: los botones del paso nunca quedan en la columna angosta del número --- */
.onboard li>div{min-width:0}
@media(max-width:760px){
 .onboard li>.actions,.onboard li>span.muted{grid-column:2;justify-self:stretch;min-width:0}
 .onboard li>.actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:2px 0 0}
 .onboard li>.actions>button,.onboard li>button{width:100%;justify-self:stretch;min-height:46px;white-space:normal;font-size:15px}
}

/* Listas tipo app (alertas, empresas, registros, destinatarios, usuarios, bitácora…) en tableta y celular: renglones con
   su encabezado en lugar de una tabla que se desplaza de lado dentro de su tarjeta. */
@media(max-width:1024px){
 .workspace .table-wrap:has(>table.app-list){overflow:visible}
 table.app-list,table.app-list tbody{display:block;width:100%}
 table.app-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 table.app-list tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:14px 16px;border-bottom:1px solid var(--line-3)}
 table.app-list tbody tr:last-child{border-bottom:0}
 table.app-list td{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:0;border:0;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:13.5px;background:transparent}
 table.app-list td::before{content:attr(data-label);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
 table.app-list td.al-main{grid-column:1/-1;display:block;font-weight:600;font-size:15px;color:var(--ink)}
 table.app-list td.al-main::before,table.app-list td[data-label=""]::before{display:none}
 table.app-list td:last-child:has(button,.actions,a){grid-column:1/-1}
 table.app-list td .actions{flex-wrap:wrap;gap:8px}
 table.app-list tbody tr:hover td{background:transparent}
 #content table.app-list tr.is-unread{box-shadow:inset 3px 0 0 #006BC7;background:rgba(0,107,199,.04)}
 #content table.app-list tr.is-unread td:first-child{box-shadow:none}
 html[data-theme="dark"] #content table.app-list tr.is-unread{box-shadow:inset 3px 0 0 #4FA3EC;background:rgba(79,163,236,.06)}
}
@media(min-width:761px) and (max-width:1024px){.workspace .page-head{flex-wrap:wrap}.workspace .page-head>div:first-child{flex:1 1 300px;min-width:0}}
/* --- Modo app en el celular --- */
@media(max-width:760px){
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}   /* sin zoom al enfocar */
 .workspace{overflow-x:clip}
 .workspace-body{padding:calc(8px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}
 /* Barra superior compacta: título de la sección (y la organización), buscador, avisos, campana y cuenta. */
 #menu,.workspace #org-label{display:none}
 .workspace .topbar{top:calc(8px + env(safe-area-inset-top));gap:2px;padding:6px 6px 6px 8px;transition:transform .5s var(--e),box-shadow .3s ease}
 .workspace.bar-hidden .topbar{transform:translateY(calc(-100% - 24px - env(safe-area-inset-top)))}
 .top-title{display:flex;flex-direction:column;justify-content:center;flex:1 1 auto;min-width:0;padding:0 4px 0 8px;line-height:1.2}
 .top-title b{font-size:17px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}
 .top-title small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .workspace .topbar .cmdk-trigger,.workspace .topbar #bell{width:42px;height:42px;flex:none}
 .workspace .topbar .identity{gap:2px}
 .workspace .notices-btn{height:36px;padding:0 7px;gap:5px}
 #account-btn{height:42px;padding:0 1px}
 #account-btn .chev{display:none}
 /* Barra inferior fija. */
 .app-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:85;height:calc(64px + env(safe-area-inset-bottom));padding:0 max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));background:rgba(248,251,254,.88);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(10,37,64,.06);transition:transform .45s var(--e)}
 .app-tabs .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:64px;padding:0;border-radius:0;background:transparent;box-shadow:none;color:#5B6878;font-size:11px;font-weight:600;letter-spacing:.01em}
 .app-tabs .tab:hover{background:transparent;color:#33475C}
 .app-tabs .tab:active:not(:disabled){transform:none}
 .app-tabs .tab-ico{position:relative;display:grid;place-items:center;width:54px;height:30px;border-radius:999px;transition:background .35s var(--e),transform .3s var(--e),color .25s ease}
 .app-tabs .tab-ico svg{width:22px;height:22px;display:block}
 .app-tabs .tab:active .tab-ico{transform:scale(.88)}
 .app-tabs .tab.active{color:#006BC7}
 .app-tabs .tab.active .tab-ico{background:#E1EEF9}
 .app-tabs .tab-t{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-tabs .tab-count{position:absolute;top:-4px;left:calc(50% + 5px);min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#C8243F;color:#fff;font:700 10.5px/18px var(--sans);font-style:normal;text-align:center;box-shadow:0 0 0 2px #F8FBFE;animation:fvDotIn .45s var(--e) both}
 .app-tabs .tab-fab{overflow:visible}
 .app-tabs .fab{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#006BC7;color:#fff;box-shadow:0 12px 26px -8px rgba(0,107,199,.65),0 0 0 4px rgba(248,251,254,.9);transform:translateY(-14px);transition:transform .4s var(--e),background .2s ease}
 .app-tabs .fab svg{width:26px;height:26px}
 .app-tabs .tab-fab:hover .fab{background:#00579F}
 .app-tabs .tab-fab:active .fab{transform:translateY(-14px) scale(.9)}
 body.kb-open .app-tabs,body.cmdk-open .app-tabs{transform:translateY(115%)}
 #content{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
 .workspace footer{display:none}
 .select-bar{bottom:calc(76px + env(safe-area-inset-bottom))}
 .review-pill{bottom:calc(78px + env(safe-area-inset-bottom))}
 #notice{bottom:calc(80px + env(safe-area-inset-bottom))}
 body:has(.select-bar) #notice,body:has(#review-pill:not([hidden])) #notice{bottom:calc(150px + env(safe-area-inset-bottom))}
 body:has(#review-pill:not([hidden])) .select-bar{bottom:calc(132px + env(safe-area-inset-bottom))}
 html[data-theme="dark"] .app-tabs{background:rgba(17,29,44,.9);border-top-color:#22344A;box-shadow:0 -8px 30px rgba(0,0,0,.35)}
 html[data-theme="dark"] .app-tabs .tab{color:#93A6BA}
 html[data-theme="dark"] .app-tabs .tab.active{color:#8CC2F2}
 html[data-theme="dark"] .app-tabs .tab.active .tab-ico{background:#10283F}
 html[data-theme="dark"] .app-tabs .fab{background:#1B5FA8;box-shadow:0 12px 26px -8px rgba(0,0,0,.7),0 0 0 4px rgba(17,29,44,.95)}
 html[data-theme="dark"] .app-tabs .tab-count{background:#F2667B;color:#2A0C12;box-shadow:0 0 0 2px #111D2C}
 /* «Más»: el menú completo como hoja inferior (marina, con asa). */
 .workspace .sidebar{top:auto;left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - 40px - env(safe-area-inset-top));border-radius:26px 26px 0 0;padding:6px 10px calc(12px + env(safe-area-inset-bottom));gap:10px;transform:translateY(calc(100% + 40px));transition:transform .5s var(--e),visibility 0s .5s;box-shadow:0 -20px 60px rgba(10,37,64,.35);z-index:95;touch-action:pan-y}
 .workspace .sidebar.open{transform:none;transition:transform .5s var(--e),visibility 0s}
 .workspace .sidebar::before{content:"";display:block;flex:none;width:40px;height:5px;border-radius:99px;background:rgba(255,255,255,.28);margin:4px auto 2px}
 .workspace .sidebar .brand{height:30px}
 .workspace .sidebar .brand img{height:26px}
 .workspace nav#nav button{min-height:44px}
 #nav-backdrop{z-index:90}
 /* Ventanas como hojas inferiores: asa, cierre con gesto, botones a todo el ancho y apilados. */
 dialog#dialog{margin:auto 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top));border-radius:26px 26px 0 0;padding:4px 18px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain}
 dialog#dialog[open]{animation:fvSheetIn .5s var(--e) both}
 dialog#dialog.is-closing{animation:fvSheetOut .22s ease both}
 dialog#dialog.is-dragging{animation:none;transition:none}
 dialog#dialog::before{content:"";display:block;width:40px;height:5px;border-radius:99px;background:var(--line-2);margin:6px auto 4px}
 dialog#dialog .dialog-head{position:sticky;top:-4px;z-index:3;background:var(--card);margin:0 -18px 6px;padding:6px 18px 10px}
 dialog#dialog .dialog-head h2{font-size:19px}
 #close-dialog{border-radius:50%;background:var(--soft);box-shadow:none}
 dialog#dialog .actions{flex-direction:column;align-items:stretch;gap:8px}
 dialog#dialog .actions>button,dialog#dialog .actions>a,dialog#dialog #edit-form>button{width:100%;min-height:48px;justify-content:center;text-align:center}
 html[data-theme="dark"] dialog#dialog .dialog-head{background:#111D2C}
 /* Toques de 44 px y retroalimentación. */
 .workspace button.small{min-height:40px}
 .workspace .row-menu>summary{width:44px;height:44px}
 .tour-tip{left:12px!important;right:12px;width:auto;max-width:none}
 /* Transiciones entre secciones: un deslizamiento corto según la dirección de la pestaña. */
 #content.fade-in{animation:fvPageIn .42s var(--e) both}
 #content.fade-in[data-dir="back"]{animation-name:fvPageBack}
 #content.fade-in>*{animation:none}
 table.app-list tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 /* Trámites: tarjeta compacta (casilla en su propia columna, folio, empresa, tipo, estado, qué sigue y «⋯»). */
 .workspace .case-table tr{grid-template-columns:40px auto minmax(0,1fr) auto;grid-template-areas:"chk folio folio act" "chk co co co" "chk kind kind kind" "chk state state state" "chk next next next" "chk ing upd upd";gap:6px 10px;margin-bottom:10px;box-shadow:var(--sh-card);border:1px solid var(--line-3);padding:12px 10px 14px 4px;border-radius:18px;cursor:pointer;transition:transform .3s var(--e),box-shadow .3s ease}
 .workspace .case-table tbody tr:active{transform:scale(.985)}
 .workspace .case-table-wrap{box-shadow:none;padding:0;background:transparent;border-radius:0}
 .workspace .case-table td{display:block;min-width:0;padding:0;border:0;box-shadow:none;text-align:left}
 .workspace .case-table tbody tr:hover td,.workspace .case-table tbody tr td{background:transparent}
 .workspace .case-table tr.is-selected{box-shadow:0 0 0 2px #006BC7,var(--sh-card)}
 html[data-theme="dark"] .workspace .case-table tr.is-selected{box-shadow:0 0 0 2px #4FA3EC}
 .workspace .case-table td::before{display:none}
 .workspace .case-table td.ct-check{grid-area:chk;display:flex;justify-content:center;align-items:flex-start;width:auto;padding:0}
 .workspace .case-table td.ct-check input{width:22px;height:22px;margin:9px;flex:none}
 .workspace .case-table td.ct-folio{grid-area:folio;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 8px;padding:9px 0 0}
 .workspace .case-table td.ct-folio>span:first-child{font-family:var(--mono);font-weight:600;font-size:15px;color:var(--ink);letter-spacing:.01em}
 .workspace .case-table td.ct-company{grid-area:co;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:13px}
 .workspace .case-table td[data-label="Tipo de trámite"]{grid-area:kind}
 .workspace .case-table td[data-label="Tipo de trámite"] .kind-chip{max-width:100%}
 .workspace .case-table td[data-label="Tipo de trámite"] .kind-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .workspace .case-table td[data-label="Estado actual"]{grid-area:state;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
 .workspace .case-table td[data-label="Próximo paso"]{grid-area:next;font-weight:600;font-size:13.5px;color:var(--ink);min-width:0;max-width:none}
 .workspace .case-table td[data-label="Próximo paso"]::before{display:inline;content:"Qué sigue: ";font:inherit;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
 .workspace .case-table td[data-label="Fecha de ingreso"]{grid-area:ing;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .workspace .case-table td[data-label="Fecha de ingreso"]::before{display:inline;content:"Ingreso ";font:inherit;letter-spacing:0;text-transform:none;color:inherit}
 .workspace .case-table td[data-label="Última actualización"]{grid-area:upd;font-size:12px;color:var(--muted);min-width:0;max-width:none}
 .workspace .case-table td[data-label="Última actualización"] .ct-when{flex-direction:row;gap:4px;flex-wrap:wrap}
 .workspace .case-table td[data-label="Última actualización"] .ct-when::before{content:"Actualizado"}
 .workspace .case-table td[data-label="Última actualización"] .ct-when small{display:none}
 .workspace .case-table td[data-label="Última actualización"] .ct-when{white-space:nowrap;overflow:hidden}
 .workspace .case-table td.ct-actions{grid-area:act;position:static;width:auto;align-self:start}
 .workspace .case-table .row-actions>.icon-btn{display:none}
 .workspace .case-table .row-actions{gap:0}
 .workspace .case-table td[data-label="Estado actual"] .state-chip{white-space:nowrap}
 /* Barra superior: la cuenta nunca se recorta (el título cede su espacio). */
 .workspace .topbar .identity{flex:none}
 .workspace .topbar .avatar{width:38px;height:38px}
 /* Campana: hoja inferior con asa. */
 .bp-back{pointer-events:auto;background:rgba(10,37,64,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
 .bell-layer.is-in .bp-back{animation:fvFade .3s ease both}.bell-layer.is-out .bp-back{animation:fvFadeOut .24s ease both}
 .bp-card{top:auto!important;right:0!important;left:0;bottom:0;width:100%;max-width:none;max-height:calc(100dvh - 48px - env(safe-area-inset-top));border:0;border-radius:26px 26px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 50px rgba(10,37,64,.25);touch-action:pan-y}
 .bp-card::before{content:"";display:block;flex:none;width:40px;height:5px;border-radius:99px;background:var(--line-2);margin:8px auto 0}
 .bell-layer.is-in .bp-card{animation:fvSheetIn .5s var(--e) both}
 .bell-layer.is-out .bp-card{animation:fvSheetOut .24s ease both}
 .bp-head{padding:10px 14px 12px 20px}
 .bp-item{padding:14px 16px 14px 18px}
 html[data-theme="dark"] .bp-back{background:rgba(3,8,15,.6)}
 /* Buscador: pantalla completa desde arriba. */
 .cmdk-layer{padding:0;place-items:stretch}
 .cmdk{width:100%;max-height:none;height:100%;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top)}
 .cmdk-layer.is-in .cmdk{animation:fvDropIn .42s var(--e) both}
 .cmdk-input{padding:6px 6px 6px 16px}
 .cmdk-input input{height:52px}
 .cmdk-esc .cmdk-esc-k{display:none}
 .cmdk-esc-t{display:inline-block;padding:10px 10px;font-size:15px;font-weight:600;color:#006BC7}
 html[data-theme="dark"] .cmdk-esc-t{color:#8CC2F2}
 .cmdk-item{min-height:56px}
 .cmdk-list{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 .cmdk-foot{display:none}
 /* Filtros de Trámites: el rango de fechas no se sale de la tarjeta (Desde y Hasta, uno bajo el otro). */
 .fx-range{grid-template-columns:minmax(0,1fr)}
 .fx-range .fx-arrow{display:none}
 .fx-range .fx-input,.fx-input input{min-width:0;width:100%}
 /* Plantillas de botones de las páginas: a todo el ancho en el celular. */
 .workspace .page-head .actions>button{flex:1 1 auto}
}
@media(max-width:380px){.app-tabs .tab{font-size:10.5px}.app-tabs .tab-ico{width:48px}.workspace .notices-btn{padding:0 5px}}
@media(display-mode:standalone){html,body{overscroll-behavior-y:none}}
/* En pantallas táctiles el «pasar el mouse» no se queda pegado en el renglón que se tocó. */
@media(hover:none){html .workspace tbody tr:hover td,html .workspace .case-table tbody tr:hover td,html[data-theme="dark"] .workspace tbody tr:hover td,html[data-theme="dark"] .workspace .case-table tbody tr:hover td{background:transparent}}
@media(max-width:760px){#content table.app-list tr.is-unread td:first-child::after{display:none}}

/* Movimiento reducido: las mismas animaciones, suaves (desvanecido y ≤ 6 px), como en el lote 26c. */
@media(prefers-reduced-motion:reduce){
 @keyframes fvCmdIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
 @keyframes fvSheetIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 @keyframes fvSheetOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}
 @keyframes fvDropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
 @keyframes fvPageIn{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
 @keyframes fvPageBack{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
 @keyframes fvDotIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
 .workspace .topbar,.app-tabs,.app-tabs .tab-ico,.app-tabs .fab,.workspace .case-table tr,.cmdk-ico,.bp-all svg{transition-duration:.2s!important}
 .cmdk-layer.is-in .cmdk-item,.bell-layer.is-in .bp-item,.sheet-layer.is-in .qa-item{animation:none}
 @media(max-width:760px){.workspace .sidebar{transform:none;opacity:0;transition:opacity .2s ease,visibility 0s .2s}.workspace .sidebar.open{opacity:1;transition:opacity .2s ease,visibility 0s}}
}
/* QA lote 27: la hoja «Más» se cierra con su botón o deslizando hacia abajo (solo en el celular). */
.side-x{display:none}
@media(max-width:760px){
 .workspace .sidebar .side-x{display:grid;place-items:center;position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;padding:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;box-shadow:none}
 .workspace .sidebar .side-x:hover{background:rgba(255,255,255,.18);color:#fff}
 .workspace .sidebar .side-x svg{width:18px;height:18px}
 .workspace .sidebar.is-dragging{transition:none!important}
 /* Barra de selección: toques de 44 px, y el final de la lista nunca queda debajo de ella. */
 .select-bar button{min-height:44px}
 body:has(.select-bar) #content{padding-bottom:calc(290px + env(safe-area-inset-bottom))}
 body:has(.select-bar):has(#review-pill:not([hidden])) #content{padding-bottom:calc(346px + env(safe-area-inset-bottom))}
 /* Buscador: en el celular el nombre de la acción y su descripción se leen completos aunque lleven candado. */
 .cmdk-txt strong:not(.mono),.cmdk-txt small{white-space:normal;overflow-wrap:anywhere}
 .cmdk-lock{white-space:normal;max-width:44%;text-align:center}
}
/* QA lote 27: en escritorio el buscador cede su espacio primero (su texto se oculta si queda muy angosto) y en la barra
   de Administración FlowVex es solo la lupa: la campana y el buscador cortaban el nombre de la cuenta (1280–1600 px). */
@media(min-width:1181px){
 .cmdk-trigger{flex:0 100 336px;min-width:112px;container-type:inline-size}
 .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger{flex:none;min-width:0;width:44px;height:44px;padding:0;justify-content:center;background:transparent;box-shadow:none;color:var(--ws-text-2);cursor:pointer;container-type:normal}
 .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger:hover{background:#F1F4F8;color:#006BC7}
 .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger>svg{width:21px;height:21px}
 .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger .ct-text,.workspace .topbar.is-admin:not(.in-client) .cmdk-trigger .ct-keys{display:none}
 html[data-theme="dark"] .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger{background:transparent;box-shadow:none;color:#C3D0DE}
 html[data-theme="dark"] .workspace .topbar.is-admin:not(.in-client) .cmdk-trigger:hover{background:#16263A;color:#fff}
}
@container (max-width:200px){.cmdk-trigger .ct-text{display:none}.cmdk-trigger .ct-keys{margin-left:auto}}
/* ==== fin Lote 27 · app ==== */
/* ==== Lote 27b · celular ==== */
/* Correcciones del modo app con datos reales (muchos trámites antiguos, empresas con nombres largos, alertas con textos
   largos y sin tiempos medidos). Solo celular (≤ 760 px) salvo donde se indica; el escritorio no cambia. */
@media(max-width:760px){
 /* 1) «Tiempos reales por tipo de trámite»: icono + título (1–2 renglones) + flecha en el primer renglón; la etiqueta
    «Informativo…» debajo del título. El título tiene un ancho base explícito, así la etiqueta nunca le quita su espacio
    (con «flex:1» el título podía quedar en 0 px y partirse en una palabra por renglón). */
 .rt-card>summary{flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 12px 14px 14px}
 .rt-card>summary>.fc-icon{flex:none;order:1}
 .rt-head{order:2;flex:1 1 calc(100% - 92px);min-width:0;gap:2px}
 .rt-head strong{font-size:15px;line-height:1.3}
 .rt-head small{line-height:1.35}
 .rt-chev{order:3;flex:none;width:28px;height:28px;margin-left:0}
 .rt-tag{order:4;flex:0 1 auto;max-width:calc(100% - 52px);margin-left:52px;white-space:normal;line-height:1.3;font-size:11px}
 /* 2) Tarjetas de Trámites: la casilla en su columna fija de 44 px (toda la columna se toca), alineada con el renglón
    del folio y con el «⋮»; el folio con aire respecto a la casilla. Antes heredaba «position:absolute» de la vista de
    tableta y quedaba más abajo que el folio y pegada a él. */
 .workspace .case-table tr{grid-template-columns:44px auto minmax(0,1fr) 44px;gap:4px 8px;padding:10px 6px 14px 4px}
 .workspace .case-table td.ct-check{position:static;top:auto;left:auto;align-self:stretch;display:flex;flex-direction:row;justify-content:center;align-items:flex-start;width:44px;min-height:44px;padding:0;cursor:pointer}
 .workspace .case-table td.ct-check input{width:22px;height:22px;margin:11px 0 0;flex:none}
 .workspace .case-table td.ct-folio{padding:10px 0 0;min-height:44px;align-items:flex-start;align-content:flex-start;gap:4px 8px}
 .workspace .case-table td.ct-folio>*{min-height:24px;display:inline-flex;align-items:center}
 .workspace .case-table td.ct-folio>span:first-child{line-height:24px}
 .workspace .case-table td.ct-actions{align-self:start;width:44px;display:flex;justify-content:center}
 .workspace .case-table td.ct-actions .row-menu>summary{width:44px;height:44px}
 /* 3) Listas convertidas en tarjetas: una columna con textos largos va en su propio renglón a todo el ancho (la fecha
    queda debajo) y las insignias largas pueden partirse en dos renglones sin salirse. */
 table.app-list td.al-wide{grid-column:1/-1}
 table.app-list td>*{max-width:100%}
 table.app-list td .badge{white-space:normal;height:auto;min-height:26px;padding:4px 10px;line-height:1.3;text-align:left;border-radius:13px;overflow-wrap:anywhere}
 table.app-list td .badge::before{flex:none}
 /* 4) Inicio → «Vencimientos de sus registros»: los tres contadores como renglones (número + texto) en lugar de tres
    columnas de ~85 px donde «Vencen en 6 meses o menos» quedaba en tres renglones. */
 .venc-stats{grid-template-columns:1fr;gap:6px}
 .venc-stat{flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:8px 14px 8px 16px}
 .venc-stat strong{min-width:30px;font-size:20px;line-height:1.1}
 .venc-stat span{font-size:13px;line-height:1.3}
 /* 6) Vencimientos: el renglón de cada registro usa mejor el ancho (etiqueta de 76 px y menos margen), así el nombre de
    la empresa y «Ya solicité la prórroga» no se parten de más; las insignias de las listas, un poco más compactas. */
 .venc-table tr{padding:12px 6px}
 .venc-table td{grid-template-columns:76px minmax(0,1fr)}
 .venc-table td .actions,.venc-table td>div{min-width:0}
 table.app-list td .badge{font-size:12px;padding:4px 9px;gap:5px}
 /* 7) Administración → Pagos recibidos: los cuatro importes con margen dentro de su tarjeta (iban pegados al borde). */
 .pay-card .pay-metrics{padding:4px 14px 16px;gap:10px;border-bottom:0}
 /* 8) «¿Qué trámites quiere ver?»: icono y título siempre en el mismo renglón (a 360–390 px el icono quedaba solo
    arriba) y «Restablecer filtros» debajo, alineado con el texto. */
 .filter-card>summary>span:nth-child(2){flex:1 1 calc(100% - 66px);min-width:0}
 /* 9) «Ordenar por» en un solo renglón con su lista a lo ancho (a 360 px se partía en dos). */
 .case-tools{width:100%}
 .case-order{display:flex;flex:1 1 100%;white-space:nowrap;min-width:0}
 .case-order select{flex:1 1 auto;width:auto;min-width:0}
 /* 10) Buscador: en los trámites encontrados, empresa · tipo en máximo dos renglones (con nombres largos ocupaba hasta
     ocho renglones junto a su estado). */
 .cmdk-item:has(.cmdk-state) .cmdk-txt small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal}
 /* 11) Inicio → «Vencimientos próximos»: el número de registro completo en su renglón (se partía «…-303- / Z/23» junto a
     «Prórroga en trámite»), la insignia a la derecha del producto y la fecha a todo el ancho. */
 .venc-next li{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px}
 .venc-next .mono{grid-column:1/-1;grid-row:1;white-space:nowrap}
 .venc-next .vh-name{grid-column:1;grid-row:2}
 .venc-next .badge{grid-column:2;grid-row:2}
 .venc-next .vh-date{grid-column:1/-1;grid-row:3}
 /* 5) Listas en tarjetas: la celda de acciones («Ver detalle», «Editar», «Dar de baja») no repite su encabezado. */
 table.app-list td:last-child:has(>button,>.actions)::before{display:none}
}
@media(min-width:761px) and (max-width:1024px){
 table.app-list td.al-wide{grid-column:1/-1}
 /* Tableta (761–1024 px): la casilla de la tarjeta de Trámites ya no se encima con «FOLIO» (el folio deja su espacio), la
    empresa usa todo el ancho y el tipo de trámite dos columnas (con «…» solo si aún no cabe, como en el celular; el detalle
    lo muestra completo). */
 .workspace .case-table td.ct-folio{padding-left:42px}
 .workspace .case-table td.ct-check{top:12px;left:12px}
 .workspace .case-table td.ct-company{max-width:none}
 .workspace .case-table td[data-label="Tipo de trámite"]{grid-column:span 2}
 .workspace .case-table td[data-label="Tipo de trámite"] .kind-chip{max-width:100%}
 .workspace .case-table td[data-label="Tipo de trámite"] .kind-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* ==== fin Lote 27b · celular ==== */

/* ==== Lote 27c · correcciones del dueño en el celular ==== */
/* 1) Una hoja que ya terminó de entrar queda «asentada»: tocar su ✕ o arrastrarla nunca repite la animación de entrada. */
dialog#dialog.fv-settled:not(.is-closing){animation:none}
.sheet-layer.is-in .sheet.fv-settled,.bell-layer.is-in .bp-card.fv-settled{animation:none}
dialog#dialog:focus{outline:none}
/* 2) El aviso va en la capa superior (popover) para verse encima de la hoja abierta. */
#notice[popover]{margin:0;border:0;color:#fff;overflow:hidden}
@media(max-width:760px){body:has(dialog#dialog[open]:not(.is-closing)) #notice[popover]{top:calc(12px + env(safe-area-inset-top));bottom:auto}}
/* 3) «Su plan». */
.pv-head{display:flex;gap:14px;align-items:center;margin:2px 0 16px}
.pv-head h3{margin:2px 0 6px;font-size:22px}
.pv-head .eyebrow{display:block}
.pv-ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#E1EEF9;color:#006BC7}
.pv-ico svg{width:24px;height:24px}
.pv-chip{display:inline-flex;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;background:#DDF3EA;color:#0B6E52}
.pv-use{display:grid;gap:12px;border-radius:12px;background:var(--soft);padding:14px;margin:0 0 14px}
.pv-use>.eyebrow{display:block;margin-bottom:-4px}
.pv-meter-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--ink-2)}
.pv-meter-top strong{color:var(--ink);white-space:nowrap}
.pv-bar{height:6px;border-radius:6px;background:var(--line);overflow:hidden;margin-top:7px}
.pv-bar span{display:block;height:100%;border-radius:6px;background:#00A884;max-width:100%}
.pv-bar.is-full span{background:#D9822B}
.pv-addons{margin:0 0 12px}.pv-addons .eyebrow{display:block;margin-bottom:4px}.pv-addons p{margin:0;font-size:14px;color:var(--ink-2)}
.pv-more{font-size:14px;color:var(--muted);margin:0 0 14px}
.pv-actions{align-items:center}
.pv-contact{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border-radius:999px;background:#0A2540;color:#fff;font-weight:600;font-size:14.5px;text-decoration:none}
.pv-contact:hover{background:#006BC7;color:#fff}.pv-contact svg{width:17px;height:17px}
html[data-theme="dark"] .pv-ico{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] .pv-chip{background:#0E3A30;color:#7BE0C2}
html[data-theme="dark"] .pv-contact{background:#1B5FA8}
html[data-theme="dark"] .pv-bar span{background:#3CCBA4}
/* 5) Comprobante: «Elegir PDF» y «Tomar foto», con las fotos en miniatura para ordenar o quitar. */
.rc-field{margin-bottom:12px}
.rc-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:7px}
.rc-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
label.rc-btn{position:relative;flex-direction:row;align-items:center;justify-content:center;gap:9px;margin:0;min-height:48px;padding:10px 14px;border-radius:12px;background:var(--field,#F5F9FD);box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);font-size:14.5px;font-weight:600;cursor:pointer;text-align:center}
label.rc-btn:hover{box-shadow:inset 0 0 0 1.5px #006BC7;color:#006BC7}
label.rc-btn svg{width:20px;height:20px;flex:none}
label.rc-btn.rc-cam{background:#0A2540;color:#fff;box-shadow:none}
label.rc-btn.rc-cam:hover{background:#006BC7;color:#fff}
label.rc-btn.is-off{opacity:.5;pointer-events:none}
label.rc-btn:focus-within{outline:2px solid #006BC7;outline-offset:2px}
.rc-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.rc-input::-webkit-file-upload-button{cursor:pointer}
.rc-pdfs{margin:8px 0 0;font-size:13.5px;color:var(--ink-2);overflow-wrap:anywhere}
.rc-count{margin:10px 0 8px;font-size:13px;color:var(--muted);line-height:1.45}
.rc-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rc-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px;border-radius:12px;background:var(--soft)}
.rc-item.is-bad{box-shadow:inset 0 0 0 1.5px #D9475E}
.rc-thumb{width:56px;height:56px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:var(--card);color:var(--muted)}
.rc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rc-thumb svg{width:22px;height:22px}
.rc-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.rc-meta strong{font-size:14px;color:var(--ink)}.rc-meta small{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.rc-item.is-bad .rc-meta small{color:#B22A44}
.rc-tools{display:flex;gap:4px}
button.rc-tool{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--card);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}
button.rc-tool:hover{color:#006BC7;background:var(--card);box-shadow:inset 0 0 0 1px #006BC7}
button.rc-tool svg{width:16px;height:16px;transform:rotate(180deg)}button.rc-tool.rc-down svg{transform:none}button.rc-tool.rc-del svg{transform:none}
button.rc-tool:disabled{opacity:.35}
.cx-cam{align-self:end;margin-top:8px}
html[data-theme="dark"] label.rc-btn.rc-cam{background:#1B5FA8}
html[data-theme="dark"] .rc-item.is-bad .rc-meta small{color:#F2899A}
@media(max-width:760px){.rc-pick{grid-template-columns:1fr}label.rc-btn.rc-cam{order:-1}button.rc-tool{width:44px;height:44px}}
/* 4) «Más» en el celular: panel lateral marino que entra de izquierda a derecha, como la barra lateral de escritorio. */
@media(max-width:760px){
 .workspace .sidebar{top:0;bottom:0;left:0;right:auto;width:min(85vw,360px);max-height:none;height:100%;border-radius:0 24px 24px 0;
  padding:calc(12px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));gap:8px;
  transform:translateX(calc(-100% - 30px));visibility:hidden;transition:transform .42s cubic-bezier(.32,.72,0,1),visibility 0s .42s;
  box-shadow:18px 0 60px rgba(6,24,43,.38);z-index:95;touch-action:pan-y;overflow-y:auto;overscroll-behavior:contain}
 .workspace .sidebar.open{transform:none;visibility:visible;transition:transform .42s cubic-bezier(.32,.72,0,1),visibility 0s}
 .workspace .sidebar::before{display:none}
 .workspace .sidebar .brand{height:44px;display:flex;align-items:center;padding:0 52px 0 10px}
 .workspace .sidebar .brand img{height:28px;width:auto}
 .workspace .sidebar .side-x{top:calc(12px + env(safe-area-inset-top));right:10px}
 #nav-backdrop{background:rgba(6,24,43,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){
 .workspace .sidebar{transform:translateX(-14px);opacity:0;transition:opacity .2s ease,transform .2s ease,visibility 0s .2s}
 .workspace .sidebar.open{transform:none;opacity:1;transition:opacity .2s ease,transform .2s ease,visibility 0s}
}
/* ==== fin Lote 27c ==== */
/* ==== Lote 28 · interruptores ==== */
/* Tarjeta «Interruptores del servicio» (Administración → Organizaciones): texto a la izquierda, selector a la derecha;
   en el celular el selector baja a todo el ancho. */
.sw-rows{display:flex;flex-direction:column}
.sw-row{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 24px;border-top:1px solid var(--line)}
.sw-row:first-child{border-top:0}
.sw-text{min-width:0;flex:1}
.sw-text h4{margin:0 0 6px;font-size:15.5px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sw-text p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.55;max-width:78ch}
.sw-text .sw-meta{margin-top:6px;font-size:12.5px;color:var(--muted)}
.sw-text .sw-note{margin:10px 0 0;padding:10px 14px;font-size:13px}
.sw-seg{flex:0 0 auto;min-width:220px}
.sw-meta .badge{margin-left:4px;padding:2px 9px}
.sw-seg>button.small{min-height:36px}
html[data-theme="dark"] .sw-text p:not(.sw-meta):not(.sw-note){color:#C5D3E0}
@media(max-width:760px){
 .sw-row{flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px}
 .sw-seg{min-width:0;width:100%}
 .sw-seg>button.small{min-height:42px;font-size:14px}
}
/* ==== fin Lote 28 · interruptores ==== */
/* ==== Lote 32 · comprobantes por folio y trámites relacionados ==== */
/* Ventana ancha para revisar un comprobante con muchos folios; en el celular sigue siendo la hoja inferior del lote 27. */
dialog#dialog.is-wide{width:min(980px,96vw)}
.rcf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-6px 0 12px}
.rcf-pending{display:flex;gap:10px;align-items:flex-start}.rcf-pending svg{width:18px;height:18px;flex:none;margin-top:3px}
.rcf-sum{font-size:13.5px;color:var(--muted)}.rcf-sum strong{color:var(--ink);font-weight:700}
.rcf-bulk{position:relative}
.rcf-bulk>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.rcf-bulk>summary::-webkit-details-marker{display:none}
.rcf-bulk>summary::after{content:"";width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .2s}
.rcf-bulk[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.rcf-bulk-body{display:grid;gap:8px;margin-top:8px;padding:12px;border-radius:14px;background:var(--soft,#F3F6FA);box-shadow:inset 0 0 0 1px var(--line)}
.rcf-bulk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.rcf-bulk-row select{padding:9px 11px;font-size:13.5px}
.rcf-list{display:grid;gap:12px;counter-reset:rcf}
.rcf-row{border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line),0 1px 2px rgba(10,37,64,.04);padding:12px 16px 4px;animation:fvIn .35s var(--e,ease) both}
.rcf-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rcf-n{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0A2540;color:#fff;font:700 12.5px var(--sans)}
.rcf-folio-l{flex:1 1 220px;margin:0;min-width:0}
.rcf-folio{font-family:var(--mono);font-size:14.5px;font-weight:600;letter-spacing:.01em;padding:9px 12px;max-width:280px}
.rcf-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}
.rcf-pages{font-size:12px;color:var(--muted);font-weight:600}
.rcf-way{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:#EEF1F5;color:#475467}
.rcf-way.tone-ok{background:#E7F7EE;color:#0B8C68}.rcf-way.tone-info{background:#E1EEF9;color:#00579F}.rcf-way.tone-wait{background:#FFF4DB;color:#8A5A00}
.rcf-x{width:36px;height:36px;font-size:20px;line-height:1;color:var(--muted)}
.rcf-x:hover{background:#FDEFF0;color:#B22A44}
.rcf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px}
.rcf-grid>label,.rcf-grid>.rcf-links{min-width:0;margin-bottom:12px}
.rcf-grid label{font-size:12.5px;gap:5px}
.rcf-grid select,.rcf-grid input{padding:9px 11px;font-size:13.5px}
.rcf-grid .rcf-type{grid-column:span 2}
.rcf-grid .rcf-links{grid-column:span 2}
.rcf-grid .rcf-wide{grid-column:span 2}
.rcf-grid .type-other.rcf-wide{grid-column:span 2}
.rcf-grid small.help,.rcf-grid .type-hint{font-weight:400;font-size:11.5px;color:var(--muted);line-height:1.35}
.rcf-read{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcf-add{margin:12px 0 16px;width:100%;min-height:44px;box-shadow:inset 0 0 0 1.5px var(--line-2)}
.rcf-form>button:not([type="button"]){min-height:46px}
/* Folios relacionados como chips */
.lk-field{display:flex;flex-direction:column;gap:5px;margin-bottom:17px}
.rcf-grid .lk-field{margin-bottom:0}
.lk-label{font-size:13.5px;font-weight:600;color:var(--ink-2)}.rcf-grid .lk-label{font-size:12.5px}
.lk-label small,.rcf-opt{font-weight:400;color:var(--muted)}
.lk-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:42px;padding:5px 7px;border:1px solid var(--line-2);border-radius:10px;background:var(--field,#fff);cursor:text}
.lk-chips:focus-within{border-color:#006BC7;box-shadow:0 0 0 3px rgba(0,107,199,.15)}
.lk-chip{display:inline-flex;align-items:center;gap:2px;padding:3px 3px 3px 10px;border-radius:999px;background:#E1EEF9;color:#00579F;font:600 12.5px var(--mono)}
.lk-chip-x{width:24px;height:24px;padding:0;border-radius:50%;background:transparent;color:inherit;font-size:16px;line-height:1;display:grid;place-items:center}
.lk-chip-x:hover{background:rgba(0,87,159,.14);color:#00579F}
.lk-chip-in{flex:1 1 140px;min-width:120px;border:0!important;box-shadow:none!important;padding:5px 4px!important;background:transparent!important;font-family:var(--mono);font-size:13px;text-transform:uppercase}
.lk-chip-in::placeholder{text-transform:none;font-family:var(--sans)}
.lk-field .help{font-size:11.5px;line-height:1.35}
/* Marca discreta en la lista de trámites */
.lk-tag{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:2px 8px;border-radius:999px;font:600 11px var(--mono);color:#00579F;background:#E1EEF9;white-space:nowrap;width:max-content;max-width:100%}
.lk-tag svg{width:12px;height:12px;flex:none}
.lk-tag.is-in{font-family:var(--sans);color:#5B3FA8;background:#EFEAFB}
.ct-folio .lk-tag,.case-id .lk-tag{display:flex}
/* Bloque del detalle del trámite */
.lk-card{margin:14px 0 4px;padding:14px 16px;border-radius:16px;background:var(--soft,#F3F6FA);box-shadow:inset 0 0 0 1px var(--line)}
.lk-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lk-head h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14.5px}
.lk-head h4 svg{width:17px;height:17px;color:#006BC7}
.lk-card.is-empty .help{margin:6px 0 0}
.lk-sub{margin:12px 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.lk-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lk-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.lk-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#E1EEF9;color:#006BC7;flex:none}.lk-ico svg{width:16px;height:16px}
.lk-item.is-outside .lk-ico{background:#EEF1F5;color:#667085}
.lk-body{display:flex;flex-direction:column;min-width:0;flex:1}
.lk-body small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.lk-folio{font:600 13.5px var(--mono);color:var(--ink);text-align:left;width:max-content;max-width:100%}
button.lk-folio{min-height:28px;text-decoration:none;font-size:13.5px}
button.lk-folio:hover{text-decoration:underline}
.lk-dir{flex:none;font-size:11px;font-weight:700;color:#5B3FA8;background:#EFEAFB;padding:3px 8px;border-radius:999px}
.lk-alert{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#E1EEF9;color:#00579F;font-size:13.5px;line-height:1.5}
.lk-alert svg{width:16px;height:16px;flex:none;margin-top:2px}
/* Después de confirmar: trámites creados, cada uno con su notificación detallada */
.rcf-done{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rcf-done li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.rcf-done-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.rcf-done-folio{font:700 14px var(--mono);color:var(--ink)}
.rcf-done-main small{color:var(--muted);font-size:12.5px}
.rcf-done-link{display:inline-flex;align-items:center;gap:5px;color:#00579F!important}.rcf-done-link svg{width:13px;height:13px}
.rcf-done-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.lock-line{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8A5A00}.lock-line svg{width:14px;height:14px}
.rcf-done-card .card-body{padding:16px 20px}
@media(max-width:900px){.rcf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 dialog#dialog.is-wide{width:100%}
 .rcf-row{padding:12px 12px 2px;border-radius:18px}
 .rcf-head{flex-wrap:wrap;row-gap:8px}
 .rcf-folio-l{flex:1 1 0}
 .rcf-folio{max-width:none;min-height:44px;font-size:16px}
 .rcf-meta{order:3;width:100%;margin-left:38px}
 .rcf-x{width:44px;height:44px}
 .rcf-grid{grid-template-columns:1fr}
 .rcf-grid .rcf-type,.rcf-grid .rcf-links,.rcf-grid .rcf-wide,.rcf-grid .type-other.rcf-wide{grid-column:auto}
 .rcf-grid select,.rcf-grid input,.lk-chips{min-height:44px;font-size:16px}
 .lk-chip-in{font-size:16px}
 .lk-chip-x{width:32px;height:32px}
 .rcf-bar{flex-direction:column;align-items:stretch}
 .rcf-bulk>summary{min-height:44px;justify-content:center;width:100%}
 .rcf-bulk-row{grid-template-columns:1fr}
 .rcf-bulk-row button{min-height:44px}
 .rcf-done li{flex-direction:column;align-items:stretch}
 .rcf-done-act{justify-content:flex-start}
 .rcf-done-act button{min-height:44px;flex:1}
 .lk-item{min-height:52px}
 button.lk-folio{min-height:44px}
}
html[data-theme="dark"] .rcf-row,html[data-theme="dark"] .lk-item,html[data-theme="dark"] .rcf-done li{background:#111D2C;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .rcf-n{background:#1B5FA8}
html[data-theme="dark"] .rcf-bulk-body,html[data-theme="dark"] .lk-card{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
html[data-theme="dark"] .rcf-bulk>summary{color:#E6EDF5;box-shadow:inset 0 0 0 1.5px #2E4460}
html[data-theme="dark"] .rcf-way{background:#1E2F44;color:#C3D0DE}
html[data-theme="dark"] .rcf-way.tone-ok{background:#0F2A22;color:#7FE0C2}html[data-theme="dark"] .rcf-way.tone-info{background:#10283F;color:#8CC2F2}html[data-theme="dark"] .rcf-way.tone-wait{background:#33250C;color:#F3D39A}
html[data-theme="dark"] dialog .rcf-x,html[data-theme="dark"] dialog .lk-chip-x{background:transparent;color:#8FA3B8}
html[data-theme="dark"] dialog .lk-chip-x{color:#8CC2F2}
html[data-theme="dark"] dialog .rcf-x:hover{background:#3A1C22;color:#F5B8C1}
html[data-theme="dark"] .lk-chips{background:#0E1927;border-color:#2E4460}
html[data-theme="dark"] .lk-chip,html[data-theme="dark"] .lk-tag,html[data-theme="dark"] .lk-alert{background:#10283F;color:#8CC2F2}
html[data-theme="dark"] dialog .lk-chip-x:hover{background:rgba(140,194,242,.16);color:#BFD9F2}
html[data-theme="dark"] .lk-tag.is-in,html[data-theme="dark"] .lk-dir{background:#2A1E45;color:#C9B2F5}
html[data-theme="dark"] .lk-ico{background:#10283F;color:#8CC2F2}html[data-theme="dark"] .lk-item.is-outside .lk-ico{background:#1E2F44;color:#8FA3B8}
html[data-theme="dark"] .lk-head h4 svg{color:#8CC2F2}
html[data-theme="dark"] .rcf-done-link{color:#8CC2F2!important}
html[data-theme="dark"] .lock-line{color:#F3D39A}
html[data-theme="dark"] .rcf-add{color:#E6EDF5;box-shadow:inset 0 0 0 1.5px #2E4460}
/* ==== fin Lote 32 · comprobantes por folio y trámites relacionados ==== */

/* ==== Lote 32 · retro ==== */
/* Empresa nueva: «Cargando registros…» mientras el motor lee su catálogo por primera vez. */
.load-note{display:flex;align-items:flex-start;gap:12px}
.load-dot{flex:none;width:16px;height:16px;margin-top:3px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.8;animation:fv-load-spin 1s linear infinite}
@keyframes fv-load-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.load-dot{animation:none;border-right-color:currentColor;opacity:.5}}
.role-tags+.load-badge,.muted+.load-badge{margin-left:6px}
.load-badge{white-space:nowrap}
@media(max-width:760px){.load-note{padding:14px 16px}.load-badge{margin:6px 0 0!important}}
/* ==== fin Lote 32 · retro ==== */
/* ==== Lote 33 · precios ==== */
/* Administración → Precios: tablas de la casa (renglones de app en tableta y celular), comparación antes → nuevo en la
   ventana de confirmación y la fila «Modo de Stripe» con el mismo trazo que los interruptores del lote 28. */
.pr-mode .pr-mode-act{display:flex;justify-content:flex-end}
.pr-mode .pr-mode-act:empty{display:none}
.pr-rule{margin:-6px 0 24px}
.pr-now{margin:0 0 16px;font-size:14.5px}
.pr-compare{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:16px 18px;margin:0 0 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.pr-compare>div{display:flex;flex-direction:column;gap:2px}
.pr-compare small{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pr-compare strong{font-size:28px;letter-spacing:-.01em;line-height:1.1;color:var(--ink)}
.pr-compare>div:nth-of-type(2) strong{color:var(--blue)}
.pr-compare>span{font-size:22px;color:var(--muted)}
.pr-compare em{flex-basis:100%;font-style:normal;font-size:12.5px;color:var(--muted)}
.pr-effect{display:flex;gap:10px;align-items:flex-start;line-height:1.55}
.pr-effect .badge{flex:0 0 auto;margin-top:2px}
html[data-theme="dark"] .pr-compare{background:#0B1522;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
html[data-theme="dark"] .pr-compare strong{color:#EAF1F8}
html[data-theme="dark"] .pr-compare>div:nth-of-type(2) strong{color:#4FA3EC}
@media(max-width:760px){
 .pr-mode .pr-mode-act{justify-content:stretch}
 .pr-mode .pr-mode-act>button{width:100%;min-height:44px;font-size:14px}
 .pr-compare strong{font-size:24px}
 .pr-card td .actions button,.pr-card td>button{min-height:44px}
}
/* ==== fin Lote 33 · precios ==== */

/* Lote 33 · Administración → Organizaciones → «Asignar a la cuenta» */
.assign-h{font-size:.95rem;margin:18px 0 8px}
.assign-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.assign-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.upgrade-options:has(> :only-child){grid-template-columns:1fr}
.assign-list li>div{display:grid;gap:2px;min-width:0}
.assign-list small{overflow-wrap:anywhere}

/* Lote 33 · pendientes menores (QA 27/32) */
/* Administración FlowVex entre 1001 y 1439 px: «Administración de FlowVex» y «Administrador FlowVex» completos (los menús
   se compactan un poco en lugar de cortar con «…»). */
@media(min-width:1001px) and (max-width:1439px){
 .workspace .topbar.is-admin:not(.in-client) #org-label{flex:none;max-width:none;padding:0 10px 0 4px}
 .workspace .topbar.is-admin:not(.in-client) .tm-btn{padding:0 8px;gap:4px}
 .workspace .topbar.is-admin:not(.in-client) #account-btn #profile{flex:none}
 .workspace .topbar.is-admin:not(.in-client) #account-btn #profile small{white-space:nowrap}
}
@media(max-width:760px){
 /* Barra compacta: el título de la sección baja a una segunda línea en lugar de cortarse con «…». */
 .top-title b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15.5px;line-height:1.15}
 /* Toques de 44 px: botones secundarios, la × de los chips (sin agrandar el chip), cierres y menús. */
 .workspace button.small,.workspace .button-link,.workspace .row-menu-list button{min-height:44px}
 .workspace #content button:not(.link-btn):not(.kpi-link):not(.lk-chip-x){min-height:44px}
 .workspace .notices-btn{min-height:44px;min-width:44px;justify-content:center}
 .workspace .topbar .notices-btn{position:relative;width:44px;height:44px;padding:0}
 .workspace .topbar .notices-btn i{position:absolute;top:1px;right:-2px;min-width:18px;height:18px;font-size:10.5px;padding:0 4px}
 .workspace .topbar .icon-btn,.workspace .topbar .cmdk-trigger{min-width:44px;min-height:44px}
 .workspace #account-btn{min-width:44px;min-height:44px;justify-content:center}
 .workspace .view-toggle .icon-btn{width:44px;height:44px}
 .lk-chip-x{width:44px;height:44px;margin:-8px -6px -8px -4px}
 .rcf-x{width:44px;height:44px}
 .rcf-bulk>summary{min-height:44px}
 #close-dialog,.sheet-x,button.rc-tool,.ps-x{min-width:44px;min-height:44px}
}

/* Lote 33: un título largo de ventana (p. ej. «Asignar a <razón social>») no se encima con la ×. */
.dialog-head{gap:12px}.dialog-head h2{min-width:0;overflow-wrap:anywhere}
/* ==== Lote 34 · cobros: plan efectivo con su origen, complementos, reactivar, limpieza de prueba ==== */
.pb{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.pb p{margin:0;line-height:1.55;color:var(--ink-2);font-size:14.5px}
.pb-main strong{color:var(--ink);font-size:16px}
.pb-gift{color:#0b6b52;font-weight:600}
.pb-warn{color:#9a5a00;font-weight:600}
.pb-label{color:var(--muted);font-weight:600;font-size:13px}
.pb-paid{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}
.pb-paid .pb-label{color:var(--ink);font-size:14px}
.pb-sub{font-size:13.5px!important;color:var(--muted)!important}
.pb .actions{margin:0}
.pb.is-compact{gap:6px;margin:0;flex-basis:100%}
.pb.is-compact p{font-size:13px}
.pb.is-compact .pb-main strong{font-size:14px}
.pb.is-compact .pb-paid{padding-top:8px}
.pb.is-compact .pb-paid .pb-label{font-size:13px}
.am-plan .pb.is-compact small{flex-basis:auto}
.pb-buy{border-radius:12px;background:var(--soft);padding:14px 16px;margin:0 0 14px}
.pb-buy .eyebrow{display:block;margin-bottom:4px}
.pb-buy p{margin:0 0 10px;font-size:14px;color:var(--ink-2)}
html[data-theme="dark"] .pb-gift{color:#5DD3A8}
html[data-theme="dark"] .pb-warn{color:#F3C66B}
.sp-origin{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0!important;color:#9fe3cf!important;font-size:12px!important;line-height:1.35}
.sp-origin svg{width:14px;height:14px;flex:none;margin-top:1px}
.pv-origin{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.pv-after{margin:0 0 14px}
.pv-buy{margin-top:10px}
.ad-uso{margin:-4px 0 14px}
.ad-options{margin:8px 0 14px}
.ad-option h3{font-size:17px}
.ad-step{display:inline-flex;align-items:center;gap:8px;margin:4px 0 8px}
.ad-btn{width:44px;height:44px;padding:0;font-size:22px;line-height:1;display:inline-grid;place-items:center;border-radius:12px}
.ad-qty{width:76px;text-align:center;font-size:18px;font-weight:700;padding:9px 6px;-moz-appearance:textfield}
.ad-qty::-webkit-outer-spin-button,.ad-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ad-line{margin:0!important;font-size:13px!important}
.ad-total{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-radius:14px;background:var(--soft);padding:14px 16px;margin:0 0 16px}
.ad-total div{display:flex;flex-direction:column;gap:3px;min-width:0}
.ad-total span{font-size:12.5px;color:var(--muted);font-weight:600}
.ad-total strong{font-size:16px;color:var(--ink)}
.ad-total small{font-size:12px;color:var(--muted)}
.ad-upgrade{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:14px;box-shadow:0 0 0 1px var(--line-2);padding:14px 16px;margin:0 0 16px}
.ad-upgrade div{display:flex;flex-direction:column;gap:2px}
.ad-upgrade span{font-size:13.5px}
button.is-off,button:disabled.is-off{opacity:.45;cursor:not-allowed}
.org-plan-info{border-radius:12px;background:var(--soft);padding:12px 14px;margin:0 0 16px}
.org-plan-info p{margin:0 0 4px;font-size:14px;color:var(--ink-2)}
.org-plan-info p.help{margin:6px 0 0;font-size:13px}
.org-plan-info .pb-label{display:inline-block;min-width:96px}
.pay-mode{max-width:260px}
.pay-mode small{font-weight:500;color:var(--muted)}
.pay-unknown{color:#9a5a00;font-weight:600}
html[data-theme="dark"] .pay-unknown{color:#F3C66B}
.cl-h{font-size:16px;margin:18px 0 8px}
.cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cl-org{display:flex;gap:12px;align-items:flex-start;border-radius:12px;box-shadow:0 0 0 1px var(--line);padding:12px 14px}
.cl-org.is-kept{background:var(--soft)}
.cl-org>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.cl-org small{font-size:12.5px;line-height:1.45}
.cl-keep{margin:2px 0 0;gap:6px;min-width:96px;font-size:12.5px;min-height:28px}
.cl-warn{color:#9a5a00;font-weight:600}
html[data-theme="dark"] .cl-warn{color:#F3C66B}
.cl-recs{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.cl-recs .eyebrow{font-size:12px}
.cl-rec{margin:0;align-items:flex-start;gap:8px;font-weight:500;font-size:13px}
.cl-rec>span{display:flex;flex-direction:column;gap:2px}
.cl-rec input,.cl-keep input{margin-top:3px;width:18px;height:18px}
.cl-other{margin:0 0 6px;padding-left:18px;font-size:13.5px;color:var(--ink-2)}
.cl-msgs{margin:8px 0;border-radius:12px;box-shadow:0 0 0 1px var(--line);padding:10px 14px}
.cl-msgs summary{cursor:pointer;font-weight:600;font-size:13.5px;min-height:28px}
.cl-msg-tools{margin:6px 0 8px;font-size:13px}
.cl-confirm{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:760px){
 .ad-total{grid-template-columns:1fr}
 .ad-upgrade{flex-direction:column;align-items:stretch}
 .cl-org{flex-direction:column;gap:6px}
 .cl-keep{min-height:44px}
 .cl-rec{min-height:44px}
 .pay-mode{max-width:none;width:100%}
 .pb-paid .actions button,.pb .actions button{min-height:44px}
}
.kpi-plan{gap:10px;align-items:flex-end}
.kpi-plan>span:last-child{flex:none}
.cl-rec .cl-line{display:block}
.cl-rec>input{flex:none}

/* Lote 34 · motor: aviso de la revisión inicial en vivo («Revisando… X de N» / «Listo: N revisados»), Turbo y
   «Motor en vivo» con todo lo que hace el motor (ronda programada y revisiones pedidas por clientes). */
.first-review .fr-actions{flex:none;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.first-review .fr-bar{height:6px;margin-top:10px;border-radius:999px;background:rgba(10,37,64,.08);overflow:hidden;max-width:420px}
.first-review .fr-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#006BC7,#00D4FF,#00E6B8);transition:width .5s ease}
.first-review.is-running .fr-icon{animation:fv-ping 1.8s ease-out infinite}
.first-review.is-done .fr-icon{background:#0B8C68;color:#fff}
.turbo-btn{display:inline-flex;align-items:center;gap:6px}
.turbo-btn svg{width:15px;height:15px}
button.turbo-btn:not(.quiet){background:linear-gradient(135deg,#0A2540,#0d3b66);color:#7FF0D6}
button.turbo-btn:not(.quiet):hover{background:#006BC7;color:#fff}
button.turbo-btn.is-locked{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line-2,#d5dde7)}
.turbo-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;background:#EEF1F5;color:#33475C;white-space:nowrap}
.turbo-chip svg{width:14px;height:14px}
.turbo-chip.is-on{background:#0A2540;color:#7FF0D6}
.turbo-chip.is-paused{background:#F8ECD9;color:#7D4800}
.turbo-note{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#EEF1F5;color:#33475C;font-size:13.5px;line-height:1.5}
.turbo-note.is-on{background:#E3F7F1;color:#0A6B50}
.review-pill .pill-turbo{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 8px;border-radius:999px;background:rgba(127,240,214,.16);color:#7FF0D6;font-size:11.5px}
.review-pill .pill-turbo svg{width:12px;height:12px}
.tag.is-turbo{background:#0A2540;color:#7FF0D6}
.live-dot.is-turbo{background:#00C2A0}
.live-acts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.live-acts:empty{display:none}
.live-acts .act{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px 16px;border-radius:12px;background:var(--ws-soft,#F3F6FA);overflow:hidden}
.live-acts .act.is-turbo{box-shadow:inset 0 0 0 1.5px #00C2A0}
.live-acts .act.is-yielding{opacity:.82}
.live-acts .act-main{flex:1;min-width:200px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.live-acts .act-main strong{font-size:14px}
.live-acts .act-main small{flex-basis:100%;font-size:12.5px;color:var(--ws-muted,#5B6878)}
.live-acts .act-count{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.live-acts .act-count b{font-size:15px;letter-spacing:-.01em}
.live-acts .act-count small{font-size:12px;color:var(--ws-muted,#5B6878)}
.live-acts .act-bar{position:absolute;left:14px;right:14px;bottom:7px;height:4px;border-radius:999px;background:rgba(10,37,64,.08);overflow:hidden}
.live-acts .act-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--mint));transition:width .6s ease}
.now-text .eyebrow .tag{margin-left:6px;vertical-align:1px}
html[data-theme="dark"] .first-review .fr-bar{background:rgba(255,255,255,.1)}
html[data-theme="dark"] .turbo-chip{background:#16263A;color:#C9D6E3}
html[data-theme="dark"] .turbo-chip.is-on,html[data-theme="dark"] .tag.is-turbo{background:#0E3B34;color:#7FF0D6}
html[data-theme="dark"] .turbo-chip.is-paused{background:#3A2A10;color:#F4C77A}
html[data-theme="dark"] .turbo-note{background:#16263A;color:#C9D6E3}
html[data-theme="dark"] .turbo-note.is-on{background:#0E3B34;color:#9BEFD8}
html[data-theme="dark"] button.turbo-btn.is-locked{color:#C9D6E3;box-shadow:inset 0 0 0 1.5px #2E4460}
html[data-theme="dark"] .live-acts .act{background:#0E1927}
html[data-theme="dark"] .live-acts .act-bar{background:rgba(255,255,255,.08)}
@media(max-width:760px){
 .first-review .fr-actions{width:100%;justify-content:stretch}
 .first-review .fr-actions>button,.first-review .fr-actions>.turbo-chip{flex:1;justify-content:center;min-height:44px}
 .live-acts .act-count{align-items:flex-start;text-align:left}
}
@media (prefers-reduced-motion:reduce){.first-review.is-running .fr-icon{animation:none}}
.live-head .live-state{flex:1 1 260px;min-width:0}
/* QA lote 34: an organization with real money that the administrator unticked from «Conservar». */
.cl-org.is-real{border-color:#c0392b;box-shadow:inset 3px 0 0 #c0392b}
.cl-org.is-real .cl-warn:first-of-type{color:#b42318}
html[data-theme="dark"] .cl-org.is-real .cl-warn:first-of-type{color:#ff8a80}
/* Lote 35 · capacidad: uso diario del motor contra su capacidad al piso normal (marca del 70 %). */
.engine-use .eu-bar{position:relative;overflow:visible}
.engine-use .eu-bar span{border-radius:999px}
.engine-use .eu-bar i{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;background:#a45f00}
.engine-use.is-over{box-shadow:0 0 0 1px #f0c9d1}
.engine-use .eu-split{font-size:19px!important}
html[data-theme="dark"] .engine-use .eu-bar i{background:#F4C77A}
/* Lote 35 · Turbo visible: botón de marca (marino con rayito y letras menta), contorno animado con Turbo activo (brillo
   que recorre el borde: marino → azul → menta) en el aviso, la tarjeta de la revisión y la píldora flotante; rayito con
   pulso suave. En cola o en pausa el contorno se apaga y queda el chip. Sin Turbo en su plan: rayito con candado. */
@property --fv-turbo-a{syntax:'<angle>';inherits:false;initial-value:0deg}
button.turbo-btn,button.turbo-btn:not(.quiet){display:inline-flex;align-items:center;gap:7px;background:#0A2540;color:#00E6B8;font-weight:700;letter-spacing:.01em;box-shadow:inset 0 0 0 1px rgba(0,230,184,.28),0 6px 16px -10px rgba(0,230,184,.55)}
button.turbo-btn:not(.quiet):hover,button.turbo-btn:hover{background:#0d3b66;color:#7FF0D6;box-shadow:inset 0 0 0 1px rgba(0,230,184,.55),0 8px 22px -10px rgba(0,230,184,.8)}
button.turbo-btn.is-locked,button.turbo-btn.is-locked:not(.quiet){background:#0A2540;color:#9fb6c9;box-shadow:inset 0 0 0 1px rgba(159,182,201,.3)}
button.turbo-btn.is-locked:hover{background:#12304f;color:#c9d6e3}
.turbo-bolt{position:relative;display:inline-grid;place-items:center;flex:none;color:#00E6B8}
.turbo-bolt>svg{width:16px;height:16px;fill:currentColor;stroke:currentColor}
.turbo-btn .turbo-bolt>svg{width:15px;height:15px}
.turbo-bolt.is-locked{color:#6f8aa3}
.turbo-bolt.is-locked i{position:absolute;right:-6px;bottom:-5px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#F5B841;color:#0A2540;box-shadow:0 0 0 2px #0A2540}
.turbo-bolt.is-locked i svg{width:8px;height:8px;stroke-width:3}
.turbo-glow .turbo-bolt>svg,.turbo-chip.is-on .turbo-bolt>svg,.pill-turbo .turbo-bolt>svg,.turbo-note.is-on .turbo-bolt>svg{animation:fv-bolt 1.6s ease-in-out infinite}
@keyframes fv-bolt{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(0,230,184,0))}50%{transform:scale(1.14);filter:drop-shadow(0 0 5px rgba(0,230,184,.85))}}
.turbo-glow{position:relative;isolation:isolate}
.turbo-glow::before{content:"";position:absolute;inset:-2px;z-index:2;border-radius:inherit;padding:2px;pointer-events:none;
 background:conic-gradient(from var(--fv-turbo-a),#0A2540 0deg,#0A2540 150deg,#006BC7 230deg,#00D4FF 285deg,#00E6B8 330deg,#0A2540 360deg);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
 animation:fv-turbo-spin 2.6s linear infinite}
.turbo-glow::after{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px rgba(0,230,184,.18),0 10px 34px -12px rgba(0,230,184,.55)}
@keyframes fv-turbo-spin{to{--fv-turbo-a:360deg}}
.turbo-dim{box-shadow:inset 0 0 0 1.5px #c3cfdb!important}
.first-review.turbo-glow{background:linear-gradient(135deg,#e8f3ff,#e3fbf4)}
.first-review .fr-icon.is-turbo{background:#0A2540;animation:none}
.first-review .fr-icon.is-turbo .turbo-bolt>svg{width:21px;height:21px}
.first-review .turbo-line{color:#0A6B50;font-weight:700}
.review-box.turbo-glow,.review-box.turbo-dim{border-radius:14px;padding:14px}
.turbo-chip .turbo-bolt>svg{width:14px;height:14px}
.turbo-chip.is-on{background:#0A2540;color:#00E6B8}
.turbo-chip.is-wait{background:#EEF1F5;color:#33475C;box-shadow:inset 0 0 0 1px #c3cfdb}
.turbo-note{display:flex;align-items:center;gap:8px}
.turbo-note.is-on{background:#0A2540;color:#7FF0D6}
.review-pill.turbo-glow{position:fixed}   /* the pill floats: the outline never moves it */
.review-pill.turbo-glow::before{inset:0;padding:2.5px;background:conic-gradient(from var(--fv-turbo-a),#1d4f80 0deg,#1d4f80 140deg,#006BC7 220deg,#00D4FF 280deg,#00E6B8 330deg,#1d4f80 360deg)}
.review-pill.turbo-glow{box-shadow:0 0 0 1px rgba(0,230,184,.22),0 0 26px -6px rgba(0,230,184,.6),0 18px 40px -14px rgba(6,24,43,.6)}
.review-pill.turbo-glow .spinner{border-color:rgba(0,230,184,.22);border-top-color:#00E6B8}
.review-pill.turbo-glow::after{inset:0}
.review-pill .pill-turbo{gap:5px;background:rgba(0,230,184,.14);color:#00E6B8}
.review-pill .pill-turbo .turbo-bolt>svg{width:12px;height:12px}
.review-pill .pill-turbo.is-wait{background:rgba(255,255,255,.1);color:#c9d6e3}
html[data-theme="dark"] button.turbo-btn,html[data-theme="dark"] button.turbo-btn:not(.quiet){background:#0A2540;color:#00E6B8;box-shadow:inset 0 0 0 1px rgba(0,230,184,.45)}
html[data-theme="dark"] button.turbo-btn.is-locked{background:#0A2540;color:#9fb6c9;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .first-review.turbo-glow{background:linear-gradient(135deg,#0d2a44,#0b3029)}
html[data-theme="dark"] .first-review .turbo-line{color:#7FF0D6}
html[data-theme="dark"] .turbo-dim{box-shadow:inset 0 0 0 1.5px #2E4460!important}
html[data-theme="dark"] .turbo-chip.is-on,html[data-theme="dark"] .turbo-note.is-on{background:#06182b;color:#00E6B8;box-shadow:inset 0 0 0 1px rgba(0,230,184,.35)}
html[data-theme="dark"] .turbo-chip.is-wait{background:#16263A;color:#C9D6E3;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .turbo-glow::before{background:conic-gradient(from var(--fv-turbo-a),#16304d 0deg,#16304d 150deg,#006BC7 230deg,#00D4FF 285deg,#00E6B8 330deg,#16304d 360deg)}
@media(max-width:760px){
 .first-review .fr-actions>.turbo-btn{min-height:44px;flex:0 0 auto;padding-left:16px;padding-right:16px}
 .review-pill .pill-main,.review-pill .pill-x{min-height:44px}
 .review-box .actions .turbo-btn,.review-box .actions .turbo-chip{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
 html .turbo-glow::before,html[data-theme="dark"] .turbo-glow::before,html .review-pill.turbo-glow::before{animation:none;background:linear-gradient(90deg,#1d4f80,#006BC7 45%,#00E6B8)}
 .turbo-glow .turbo-bolt>svg,.turbo-chip.is-on .turbo-bolt>svg,.pill-turbo .turbo-bolt>svg,.turbo-note.is-on .turbo-bolt>svg{animation:none;filter:drop-shadow(0 0 3px rgba(0,230,184,.7))}
}
.pace-facts .pace-floor strong{font-size:18px;line-height:1.25}
/* ==== Lote 36 · pagos: verificar con Stripe, desglose de precios y totales con IVA ==== */
.pay-totals{margin:12px 16px 16px;padding:12px 14px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;line-height:1.55;color:var(--ink)}
.pay-controls{flex-wrap:wrap}
.pr-dl{margin:0 0 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.pr-dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 14px;border-top:1px solid var(--line);font-size:14px}
.pr-dl>div:first-child{border-top:0}
.pr-dl dt{color:var(--muted)}.pr-dl dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.pr-dl>div.is-total{background:var(--bg);font-weight:700}.pr-dl>div.is-total dt{color:var(--ink)}
.pr-client{margin:-4px 0 12px;font-size:14px;color:var(--ink)}
.pr-client-total{margin:0 0 10px;font-size:15px}
.pr-breakdown td{white-space:nowrap}
.pr-breakdown th{white-space:normal;min-width:84px}
.pr-breakdown td{font-variant-numeric:tabular-nums}
.pr-rate{margin:12px 16px 16px;font-size:13px;line-height:1.55}
.pr-net-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.pr-net-form label{flex:1 1 220px;min-width:0}
.pr-net-form button{min-height:44px}
.pr-net-lead{margin:14px 0 10px;font-size:15px}
.pc-price .pc-total{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.vf{display:flex;flex-direction:column;gap:12px}
.vf .done-icon{align-self:center}
.vf .done-icon.is-warn{background:#fff3e0;color:#9a5b00}
.vf-lines{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5}
.vf-sum{margin:0;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.vf-sum>div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line);font-size:13.5px}
.vf-sum>div:first-child{border-top:0}.vf-sum dt{font-weight:700}.vf-sum dd{margin:0}
.vf-h{margin:4px 0 0;font-size:14px}
.vf-list{margin:0;padding-left:18px;font-size:13px;line-height:1.6;word-break:break-word}
.cl-stripe{margin-top:0}
html[data-theme="dark"] .vf .done-icon.is-warn{background:#3a2a10;color:#ffcf85}
@media(max-width:760px){
 .pay-controls>button,.pay-controls>label{min-height:44px}
 .pr-net-form>label{flex-basis:100%}
 .pr-net-form>button{width:100%}
 .vf-sum>div{grid-template-columns:1fr;gap:2px}
 .pr-dl>div{padding:10px 12px}
}
.plan-total{margin:-4px 0 12px;font-size:14.5px;opacity:.92}
.plan-total strong{font-size:16px}
/* ==== Lote 39 · cuentas: facturas (CFDI) — Administración → Facturas, subir PDF y XML, descarga en Mi cuenta ==== */
.inv-bar{display:grid;gap:12px;margin-bottom:12px}
.inv-tabs{max-width:520px;display:flex;gap:4px;background:var(--ws-soft,#F8FAFC);border:1px solid var(--ws-line,#E5E9F0);border-radius:12px;padding:4px}
.inv-tabs .seg-btn small{font-weight:700;opacity:.75}
.inv-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:18px 20px;margin:0}
.inv-filters label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin:0}
.inv-filters .actions{display:flex;gap:8px}
.inv-card td small{display:block;margin-top:2px;line-height:1.4;font-weight:400}
@media(min-width:1025px){.inv-card td{white-space:normal;vertical-align:top}.inv-card td:first-child{min-width:240px;max-width:340px}.inv-card td:nth-child(3){min-width:200px;max-width:300px}}
.inv-card td .actions{flex-wrap:wrap;justify-content:flex-end}.inv-card td .actions>button{white-space:nowrap}
.inv-card td .badge{margin-bottom:4px}
.inv-card td .badge+small{margin-top:6px}
.inv-uuid{display:block;font-size:12px;letter-spacing:-.01em;word-break:break-all}
.inv-warn{display:flex!important;gap:6px;align-items:flex-start;color:#8a5300;font-weight:600}
.inv-warn svg{width:14px;height:14px;flex:none;margin-top:2px}
.inv-asked{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:6px 0 16px;padding:14px 16px;background:var(--ws-soft,#F8FAFC);border:1px solid var(--ws-line,#E5E9F0);border-radius:14px}
.inv-asked div{min-width:0}.inv-asked dt{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.inv-asked dd{margin:2px 0 0;font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
.inv-files input[type=file]{padding:10px;border:1.5px dashed var(--ws-line-2,#D5DCE6);border-radius:12px;background:var(--card);min-height:44px}
.inv-review ul{margin:6px 0 8px;padding-left:18px;font-size:13.5px;line-height:1.5}
.inv-review .actions{margin-top:8px}
.inv-mail{display:grid;gap:6px;margin-bottom:14px}.inv-mail .actions{margin-top:4px}
.inv-dl{flex-wrap:wrap;gap:6px}.inv-wait{display:block;margin-top:4px}
html[data-theme="dark"] .inv-tabs,html[data-theme="dark"] .inv-asked{background:#0E1926;border-color:#22334A}
html[data-theme="dark"] .inv-asked dd{color:#E6EDF5}
html[data-theme="dark"] .inv-warn{color:#F3C66B}
html[data-theme="dark"] .inv-files input[type=file]{background:#111D2C;border-color:#2C3F57;color:#E6EDF5}
@media(max-width:1100px){.inv-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-filters .inv-q{grid-column:1/-1}}
@media(max-width:760px){
 .inv-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
 .inv-filters .inv-q,.inv-filters .actions{grid-column:1/-1}.inv-filters .actions>button{flex:1}
 .inv-filters input[type=date]{min-width:0}
 .inv-filters .actions>button,.inv-tabs .seg-btn{min-height:44px}
 .inv-tabs{max-width:none}
 .inv-asked{grid-template-columns:1fr}
 .inv-card .actions>button,.inv-dl>button,.inv-mail .actions>button{min-height:44px}
}
/* ==== fin Lote 39 · cuentas ==== */
/* ==== Lote 37 · «Preparar PDF para VUCEM» y plan Solo convertidor ==== */
.vu-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:16px;align-items:start}
.vu-grid>.card{margin-bottom:0}
.vu-drop-card .card-body{padding:22px}
.vu-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;margin:0 0 14px;padding:30px 18px;border-radius:18px;border:2px dashed var(--ws-line-2,#D3DAE4);background:var(--ws-soft,#F7F9FC);color:var(--ws-text,#0a2540);font-weight:400;cursor:pointer;transition:border-color .15s,background-color .15s}
.vu-drop:hover,.vu-drop.is-over,.vu-drop:focus-within{border-color:#006bc7;background:#EEF6FE}
.vu-drop strong{font-size:17px}
.vu-drop span{color:var(--ws-text-2,#344054)}
.vu-drop small{color:var(--ws-muted,#667085);font-size:12.5px;margin-top:4px}
.vu-drop-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#E1EEF9;color:#006bc7;margin-bottom:6px}
.vu-drop-ico svg{width:24px;height:24px}
.vu-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.vu-picked{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}
.vu-picked li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px 10px;padding:8px 8px 8px 12px;border-radius:12px;background:var(--ws-soft,#F7F9FC);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.vu-picked .vu-ico svg{width:18px;height:18px;color:var(--ws-muted,#667085)}
.vu-pick-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vu-picked small{color:var(--ws-muted,#667085)}
.vu-pick-err{grid-column:2/4;color:#a32c3e!important}
.vu-pick-x{width:36px;height:36px;padding:0;border-radius:50%;background:transparent;color:var(--ws-muted,#667085);font-size:20px;box-shadow:none}
.vu-pick-x:hover{background:var(--ws-line,#E4E8EF);color:var(--ws-text,#0a2540)}
.vu-opts{border:0;margin:0 0 10px;padding:0}
.vu-opts legend{font-size:13.5px;font-weight:600;color:var(--ws-text-2,#344054);margin-bottom:8px}
.vu-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vu-opt{position:relative;flex-direction:row;align-items:center;gap:10px;margin:0;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--ws-line-2,#D3DAE4);cursor:pointer;font-weight:400}
.vu-opt:has(input:checked){box-shadow:inset 0 0 0 2px #006bc7;background:#F2F8FE}
.vu-opt input{width:auto;accent-color:#006bc7}
.vu-opt span{display:flex;flex-direction:column}
.vu-opt strong{color:var(--ws-text,#0a2540)}
.vu-opt small{color:var(--ws-muted,#667085);font-size:12.5px}
.vu-blank{margin:6px 0 14px}
.vu-send-row{align-items:center;gap:12px;margin:0}
.vu-send-row button{display:inline-flex;align-items:center;gap:8px}
.vu-send-row button svg{width:18px;height:18px}
.vu-send-row{flex-wrap:wrap}
.vu-upload{font-variant-numeric:tabular-nums;font-weight:600}
.vu-upbar{margin:2px 0 0;max-width:460px}
.vu-upbar[hidden],#vu-cancel[hidden]{display:none}
.vu-trust{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#E9F7F2;color:#0E5C45;font-size:13.5px;line-height:1.5}
.vu-trust svg{flex:none;width:20px;height:20px;margin-top:1px}
.vu-quota .card-body{padding:22px}
.vu-quota h3{font-size:20px;margin:4px 0 10px}
.vu-quota-note{font-size:13px;margin:10px 0 0}
.vu-quota-actions{flex-wrap:wrap;gap:8px;margin-top:14px}
.vu-quota-actions .with-ico{display:inline-flex;align-items:center;gap:6px}
.vu-quota-actions svg{width:16px;height:16px}
.vu-list{margin-top:16px}
.vu-items{list-style:none;margin:0;padding:0 8px 8px}
.vu-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 12px;border-top:1px solid var(--ws-line,#E4E8EF)}
.vu-item:first-child{border-top:0}
.vu-item .vu-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ws-soft,#F7F9FC);color:var(--ws-muted,#667085)}
.vu-item .vu-ico svg{width:20px;height:20px}
.vu-item.is-lista .vu-ico{background:#E3F6EF;color:#00805F}
.vu-item.is-error .vu-ico{background:#FBE7EA;color:#a32c3e}
.vu-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vu-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px}
.vu-line{font-size:13.5px;color:var(--ws-text-2,#344054)}
.vu-aviso{flex-basis:100%;color:var(--ws-muted,#667085)}
.vu-expira{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;color:var(--ws-muted,#667085);font-size:12.5px}
.vu-expira svg{width:15px;height:15px}
.vu-progress{height:6px;border-radius:6px;background:var(--ws-line,#E4E8EF);overflow:hidden;margin-top:8px}
.vu-progress span{display:block;height:100%;border-radius:6px;background:#006bc7;transition:width .4s}
.vu-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.vu-dl{display:inline-flex;align-items:center;gap:6px}
.vu-dl svg{width:16px;height:16px}
.vu-list .card-title .vu-dl{flex:none}
.vu-bell-group{padding:4px 0 8px;border-bottom:1px solid var(--ws-line,#E4E8EF);margin-bottom:6px}
.vu-bell-group .eyebrow{display:block;padding:6px 14px 2px}
.vu-ups{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
.vu-up{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.vu-up small{display:block;color:var(--ws-muted,#667085);font-size:12.5px;margin-top:2px}
.vu-quota-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.vu-metrics{padding:0 20px 18px}
.vu-home .card-body p{margin:0}
html[data-theme="dark"] .vu-drop{background:#16263A;border-color:#2E4460;color:#E6EDF5}
html[data-theme="dark"] .vu-drop:hover,html[data-theme="dark"] .vu-drop.is-over,html[data-theme="dark"] .vu-drop:focus-within{background:#14304D;border-color:#4DA3F0}
html[data-theme="dark"] .vu-drop-ico{background:#14304D;color:#7CC0FF}
html[data-theme="dark"] .vu-opt:has(input:checked){background:#14304D;box-shadow:inset 0 0 0 2px #4DA3F0}
html[data-theme="dark"] .vu-trust{background:#0F3329;color:#9BE6CC}
html[data-theme="dark"] .vu-item.is-lista .vu-ico{background:#0F3329;color:#5EDBB4}
html[data-theme="dark"] .vu-item.is-error .vu-ico{background:#3A1A22;color:#F59AAA}
html[data-theme="dark"] .vu-progress span{background:#4DA3F0}
html[data-theme="dark"] .vu-pick-err{color:#F59AAA!important}
@media(max-width:1100px){.vu-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 .vu-drop{padding:24px 14px}
 .vu-seg{grid-template-columns:1fr}
 .vu-opt{min-height:52px}
 .vu-item{grid-template-columns:auto minmax(0,1fr);padding:14px 6px}
 .vu-actions{grid-column:1/-1;justify-content:stretch}
 .vu-actions .vu-dl{flex:1;justify-content:center;min-height:44px}
 .vu-send-row button{width:100%;justify-content:center;min-height:48px}
 .vu-quota-actions button{flex:1;min-height:44px}
 .vu-list .card-title{flex-wrap:wrap;gap:10px}
 .vu-list .card-title .vu-dl{min-height:44px}
 .vu-up{flex-direction:column;align-items:stretch}
 .vu-up button{min-height:44px}
 .vu-quota-fields{grid-template-columns:1fr}
 .vu-pick-x{width:44px;height:44px}
}
.vu-gone{margin:0 20px 16px;border-radius:12px;background:var(--ws-soft,#F7F9FC);font-size:13px;color:var(--ws-muted,#667085)}
.vu-gone>summary{display:flex;gap:8px;align-items:center;padding:10px 14px;cursor:pointer;border-radius:12px}
.vu-gone>summary:focus-visible{outline:2px solid #006bc7;outline-offset:2px}
.vu-gone svg{flex:none;width:16px;height:16px}
.vu-gone .vu-items{padding:0 6px 6px}
.vu-gone .vu-item{padding:10px 8px}
@media(max-width:760px){.vu-gone{margin:0 8px 12px}}
/* ==== fin Lote 37 ==== */

/* ==== Lote 37b · convertidor: espera que nunca parece detenida, «?» de uso razonable ==== */
.vu-progress.is-indeterminate{position:relative}
.vu-progress.is-indeterminate span{position:absolute;inset:0 auto 0 0;width:38%;transition:none;animation:vu-indet 1.25s cubic-bezier(.45,.05,.55,.95) infinite}
@keyframes vu-indet{0%{transform:translateX(-105%)}100%{transform:translateX(270%)}}
@media (prefers-reduced-motion:reduce){.vu-progress.is-indeterminate span{width:100%;animation:vu-pulse 1.6s ease-in-out infinite;transform:none}}
@keyframes vu-pulse{0%,100%{opacity:.35}50%{opacity:.9}}
.vu-elapsed{color:var(--ws-muted,#667085);font-variant-numeric:tabular-nums}
.vu-calm{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;color:#0E5C45;font-size:13px}
.vu-calm svg{flex:none;width:15px;height:15px}
.vu-help-wrap{position:relative;display:inline-block;vertical-align:middle;margin-left:4px}
/* ==== Lote 38 · ventas: paquetes con su vencimiento y compra prepago ==== */
.pp-bags{margin:12px 0 0}
.pp-bag-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.pp-bag-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:#F3F6FA}
.pp-bag-ico{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#E8F2FC;color:#006bc7;flex:none}
.pp-bag-ico svg{width:17px;height:17px}
.pp-bag-txt{display:grid;gap:1px;min-width:0}
.pp-bag-txt strong{font-size:14px;line-height:1.3}
.pp-bag-txt small{font-size:12.5px;color:var(--muted)}
.pp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}
.pp-account .actions{flex-wrap:wrap;gap:8px}
.pv-use .pp-left{margin:4px 0 0;font-size:16px}
.pv-use .pp-bags{margin-top:10px}
html[data-theme="dark"] .pp-bag-list li{background:#16263A}
html[data-theme="dark"] .pp-bag-ico{background:#14304C;color:#7CC0FF}
@media (max-width:640px){.pp-grid{grid-template-columns:1fr}.pp-bag-list li{padding:10px}}
/* ==== fin Lote 38 · ventas ==== */
/* A 22 px circle that looks like a hint, with a 44 px touch area (::before); global button styles never reshape it. */
.workspace .vu-help-wrap .vu-help{position:relative;display:inline-grid;place-items:center;width:22px!important;height:22px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0;border-radius:50%!important;border:1.5px solid var(--ws-line-2,#C9D2DE);background:var(--ws-surface,#fff)!important;color:var(--ws-text-2,#344054)!important;font:700 12.5px/1 var(--sans);cursor:help;box-shadow:none!important;vertical-align:-5px}
.workspace .vu-help-wrap .vu-help::before{content:"";position:absolute;inset:-11px}
.workspace .vu-help-wrap .vu-help:hover,.workspace .vu-help-wrap .vu-help[aria-expanded="true"]{border-color:#006bc7;color:#006bc7!important;background:#E8F2FC!important}
.vu-help:focus-visible{outline:2px solid #006bc7;outline-offset:2px}
.vu-tip{position:absolute;z-index:30;bottom:calc(100% + 8px);left:50%;transform:translateX(calc(-50% + var(--vu-shift,0px)));width:max-content;max-width:min(280px,78vw);padding:10px 12px;border-radius:10px;background:#0F1B2D;color:#F2F6FA;font-size:12.5px;font-weight:500;line-height:1.45;text-align:left;box-shadow:0 8px 24px rgba(15,27,45,.22);visibility:hidden;opacity:0;transition:opacity .15s}
.vu-tip::after{content:"";position:absolute;top:100%;left:calc(50% - var(--vu-shift,0px));margin-left:-6px;border:6px solid transparent;border-top-color:#0F1B2D}
.vu-help:focus-visible+.vu-tip,.vu-help[aria-expanded="true"]+.vu-tip{visibility:visible;opacity:1}
/* QA lote 37b: hover only with a real pointer (a tap leaves :hover stuck on touch screens and the bubble never closed). */
@media (hover:hover){.vu-help-wrap:hover .vu-tip{visibility:visible;opacity:1}}
.vu-help-wrap.is-dismissed .vu-tip{visibility:hidden!important;opacity:0!important}
html[data-theme="dark"] .vu-calm{color:#9BE6CC}
html[data-theme="dark"] .workspace .vu-help-wrap .vu-help{background:#16263A!important;border-color:#2E4460;color:#C3D0DE!important}
html[data-theme="dark"] .workspace .vu-help-wrap .vu-help:hover,html[data-theme="dark"] .workspace .vu-help-wrap .vu-help[aria-expanded="true"]{border-color:#4DA3F0;color:#7CC0FF!important;background:#14304D!important}
html[data-theme="dark"] .vu-tip{background:#E6EDF5;color:#0B1522;box-shadow:0 8px 24px rgba(0,0,0,.5)}
html[data-theme="dark"] .vu-tip::after{border-top-color:#E6EDF5}

.card.vu-quota{overflow:visible}   /* el «?» de uso razonable: su globo puede salir del borde de la tarjeta */

/* ==== Lote 38 · Inicio: los 5 servicios principales (estilo lote 26: tarjetas 22 px, sombra suave, «lift», marino/menta) ==== */
.svc-home{container-type:inline-size;margin:0 0 26px}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.svc-grid>li{display:flex;min-width:0;animation:fvIn .55s var(--e,cubic-bezier(.32,.72,0,1)) both;animation-delay:calc(var(--i,0)*45ms)}
#content .svc-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;min-height:172px;margin:0;padding:20px 18px 18px;
 border:0;border-radius:22px;background:var(--card,#fff);color:var(--ink);text-align:left;font-weight:400;line-height:1.3;box-shadow:var(--sh-card);
 transition:transform .45s var(--e,cubic-bezier(.32,.72,0,1)),box-shadow .45s var(--e,cubic-bezier(.32,.72,0,1)),background-color .2s ease}
#content .svc-card:hover{background:var(--card,#fff);transform:translateY(-3px);box-shadow:var(--sh-lift)}
#content .svc-card:active:not(:disabled){transform:scale(.98)}
#content .svc-card:focus-visible{outline:2px solid #006BC7;outline-offset:3px}
.svc-ico{position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#0A2540;color:#00E6B8;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 20px -12px rgba(10,37,64,.55)}
.svc-ico svg{width:22px;height:22px}
.svc-lock{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#FFF1D6;color:#7D4800;box-shadow:0 0 0 2px var(--card,#fff)}
.svc-lock svg{width:12px;height:12px}
.svc-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.svc-t{font-size:15.5px;font-weight:700;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.svc-line{font-size:13px;line-height:1.45;color:var(--ink-2)}
.svc-line b{font-weight:600;color:#00579F}
.svc-go{position:absolute;right:16px;top:22px;color:#006BC7;opacity:.55;transition:transform .45s var(--e,cubic-bezier(.32,.72,0,1)),opacity .2s ease}
.svc-go svg{width:18px;height:18px}
#content .svc-card:hover .svc-go,#content .svc-card:focus-visible .svc-go{opacity:1;transform:translateX(3px)}
#content .svc-card.is-locked{background:var(--soft,#F3F6FA);box-shadow:inset 0 0 0 1px var(--line,#E3E8EF)}
#content .svc-card.is-locked:hover{background:var(--soft,#F3F6FA);box-shadow:inset 0 0 0 1px var(--line-2,#D5DDE7),var(--sh-card)}
.svc-card.is-locked .svc-ico{background:#E4EAF1;color:#5B6878;box-shadow:none}
.svc-card.is-locked .svc-t{color:var(--ink-2)}
.svc-card.is-locked .svc-line{color:var(--muted)}
.svc-card.is-locked .svc-go{display:none}
/* Narrower work area: 3 + 2 cards that fill the row (never a lonely card on the right). */
@container (max-width:900px){
 .svc-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .svc-grid>li{grid-column:span 2}
 .svc-grid>li:nth-child(n+4){grid-column:span 3}
 #content .svc-card{min-height:150px}
}
/* Phone (modo app): one readable column, icon on the left, 44 px+ touch targets. */
@container (max-width:560px){
 .svc-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .svc-grid>li,.svc-grid>li:nth-child(n+4){grid-column:auto}
 #content .svc-card{flex-direction:row;align-items:center;gap:14px;min-height:76px;padding:14px 44px 14px 14px;border-radius:18px}
 .svc-ico{width:44px;height:44px}
 .svc-txt{gap:3px;padding-right:0}
 .svc-t{font-size:15px}
 .svc-go{top:50%;right:14px;margin-top:-9px}
}
html[data-theme="dark"] .svc-ico{background:#06182B;box-shadow:inset 0 0 0 1px #2E4460}
html[data-theme="dark"] .svc-line b{color:#7CC0FF}
html[data-theme="dark"] .svc-go{color:#7CC0FF}
html[data-theme="dark"] .svc-card.is-locked .svc-ico{background:#1C2D41;color:#93A6BA}
html[data-theme="dark"] .svc-lock{background:#33250C;color:#F3C66B}
html[data-theme="dark"] #content .svc-card:focus-visible{outline-color:#7CC0FF}
@media (prefers-reduced-motion:reduce){.svc-grid>li{animation:none}#content .svc-card,#content .svc-card:hover{transition:none;transform:none}.svc-go{transition:none}}
@media (hover:none){#content .svc-card:hover{transform:none;box-shadow:var(--sh-card)}#content .svc-card.is-locked:hover{box-shadow:inset 0 0 0 1px var(--line,#E3E8EF)}}
/* ==== fin Lote 38 ==== */
/* ==== Lote 39 · servidor: arranque de un archivo grande y aviso de que la revisión sigue sin la ventana ==== */
.vu-start{flex-basis:100%;display:inline-flex;align-items:flex-start;gap:6px;color:var(--ink-2);font-size:13px;line-height:1.45}
.vu-start svg{flex:none;width:15px;height:15px;margin-top:2px;color:var(--blue)}
html[data-theme="dark"] .vu-start{color:#C7D5E3}
html[data-theme="dark"] .vu-start svg{color:#7CC0FF}
.review-box .rev-close{display:flex;gap:6px;align-items:flex-start}
/* ==== fin Lote 39 · servidor ==== */
/* ==== Lote 39 · ayuda: «Ayuda» dentro del portal (panel junto a la campana; hoja inferior en el celular) ==== */
.workspace .topbar .help-btn{width:auto;min-width:44px;padding:0 12px;gap:6px;display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.workspace .topbar .help-btn[aria-expanded="true"]{background:var(--soft);color:var(--ink)}
.workspace .topbar .help-btn .help-btn-t{display:inline;max-width:none;overflow:visible}   /* .identity span (lote 26) no le aplica */
.hp-card{width:400px;transform-origin:calc(100% - 40px) 0}
.hp-head{flex-wrap:nowrap;align-items:center;gap:10px;padding:14px 10px 12px 16px}
.hp-ico{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:var(--mint)}
.hp-ico svg{width:20px;height:20px}
.hp-ttl{flex:1;min-width:0;display:grid;gap:1px}.hp-ttl h2{font-size:16px;margin:0}.hp-ttl small{font-size:12.5px;color:var(--muted)}
.hp-faq{flex:none;background:transparent;color:var(--blue);box-shadow:none;padding:8px 10px;min-height:40px;font-size:13px;border-radius:10px}
.hp-faq:hover{background:var(--soft);color:var(--blue-h,#00579F)}
.hp-x{flex:none;width:40px;height:40px;padding:0;display:grid;place-items:center;background:transparent;color:var(--muted);border-radius:12px}
.hp-x:hover{background:var(--soft);color:var(--ink)}.hp-x svg{width:20px;height:20px}
.hp-log{flex:1 1 auto;min-height:200px;overflow-y:auto;overscroll-behavior:contain;padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px}
.hp-msg{display:grid;gap:8px;max-width:90%;animation:fvIn .35s var(--e) both}
.hp-msg p{margin:0;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.hp-msg.is-help p{background:var(--soft);color:var(--ink);border-top-left-radius:6px}
.hp-msg.is-me{align-self:flex-end}.hp-msg.is-me p{background:var(--navy);color:#fff;border-top-right-radius:6px}
html[data-theme="dark"] .hp-msg.is-me p{background:#1E4E80}
.hp-links,.hp-quick{display:flex;flex-wrap:wrap;gap:6px}
.hp-link,.hp-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600;border-radius:999px;background:var(--card);color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:left;line-height:1.25}
.hp-chip{color:var(--ink)}
.hp-link:hover,.hp-chip:hover{background:var(--soft);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--blue)}
html[data-theme="dark"] .hp-link{color:#7CC0FF}
.hp-link svg{width:15px;height:15px;flex:none}
.hp-dots{display:inline-flex;gap:4px;padding:4px 0}.hp-dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:hpDot 1s infinite ease-in-out}
.hp-dots i:nth-child(2){animation-delay:.15s}.hp-dots i:nth-child(3){animation-delay:.3s}
@keyframes hpDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.hp-ask{flex:none;display:flex;gap:8px;align-items:center;padding:10px 12px 6px;border-top:1px solid var(--line)}
.hp-ask input{flex:1;min-width:0;min-height:44px;padding:10px 16px;border-radius:999px;font-size:15px}
.hp-send{flex:none;width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--navy)}
.hp-send svg{width:19px;height:19px}.hp-send:hover{background:var(--blue)}
.hp-note{flex:none;display:flex;gap:8px;align-items:flex-start;margin:0;padding:4px 16px 12px;font-size:12px;line-height:1.45;color:var(--muted)}
.hp-note svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--blue)}.hp-note b{font-weight:600;color:var(--ink-2)}
.hp-inline{display:flex;flex-direction:column;max-width:760px;border-radius:22px;box-shadow:var(--sh-card)}
.hp-inline .hp-log{min-height:260px;max-height:min(58vh,560px)}
.hp-faq-ask{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border-radius:14px;background:var(--soft);font-size:14px;color:var(--ink-2)}
.hp-faq-ask svg{width:18px;height:18px;color:var(--blue);flex:none}.hp-faq-ask span{flex:1;min-width:180px}
@media(max-width:1100px){.workspace .topbar .help-btn .help-btn-t{display:none}.workspace .topbar .help-btn{padding:0;width:44px}}
@media(max-width:760px){
 .workspace .topbar .help-btn{width:44px;min-width:44px;height:44px;flex:none}
 .hp-card{width:100%}
 .hp-head{padding:8px 8px 10px 16px}
 .hp-log{min-height:0;max-height:none}
 .hp-link,.hp-chip,.hp-faq{min-height:44px}
 .hp-x{width:44px;height:44px}
 .hp-ask{padding-bottom:4px}
 .hp-note{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .hp-inline .hp-log{max-height:none;min-height:200px}
}
@media (prefers-reduced-motion:reduce){.hp-msg{animation:none}.hp-dots i{animation:none;opacity:.6}}
/* ==== fin Lote 39 · ayuda ==== */
/* Lote 41 · privacidad y avisos: verificación en dos pasos, avisos por persona, destinatarios y verificación de seguridad. */
.captcha-box{margin:2px 0 10px}.captcha-box:empty{display:none}
#two-step button,#two-setup button{width:100%;margin-top:6px}#two-step .tfa-back,#two-setup .tfa-out{margin-top:10px}
.tfa-steps{padding-left:20px;margin:0 0 6px;display:grid;gap:12px;line-height:1.55}.tfa-qr{margin:10px 0 6px}.tfa-qr svg{display:block;width:240px;max-width:72vw;height:auto;aspect-ratio:1/1;border-radius:8px;box-shadow:0 0 0 1px var(--line)}
.tfa-key{margin-top:6px;font-size:15px;letter-spacing:.06em}.tfa-form{margin-top:14px}.tfa-error{margin-top:8px;color:#b22a44}
.tfa-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.tfa-codes code{font-family:var(--mono);font-size:15px;text-align:center;padding:9px;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);user-select:all}
.tfa-rule{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.tfa-rule h4{margin:0 0 4px}
#avisos-personales h4,#mi-informacion h4{margin:24px 0 8px}.pref-table .table-wrap{border-radius:12px;box-shadow:0 0 0 1px var(--line);margin-bottom:16px}.pref-table td{white-space:normal}.pref-table td:not(:first-child),.pref-table th:not(:first-child){text-align:center;width:120px}
label.pref-cell{display:inline-flex;margin:0;justify-content:center}label.pref-cell input{width:20px;height:20px}
.pref-list{display:grid;gap:4px;margin:10px 0 16px}label.pref-item{align-items:flex-start;padding:10px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);margin:0}label.pref-item input{margin-top:3px;width:18px;height:18px}
fieldset.pick{border:0;padding:0;margin:0 0 16px;display:grid;gap:2px}fieldset.pick legend{font-weight:600;font-size:13.5px;color:var(--ink-2);margin-bottom:8px}fieldset.pick label.check{margin-bottom:6px}
details.pick-ext{border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);padding:12px 16px;margin-bottom:16px}details.pick-ext summary{cursor:pointer;font-weight:600;color:var(--blue)}details.pick-ext[open] summary{margin-bottom:10px}
#quien-recibe td{white-space:normal;min-width:120px}
html[data-theme="dark"] .tfa-codes code{background:#0f1f30}
@media(max-width:760px){.tfa-codes{grid-template-columns:1fr 1fr}.pref-table td:not(:first-child),.pref-table th:not(:first-child){width:auto;padding-left:10px;padding-right:10px}.pref-table td:first-child{padding-right:8px}}
/* ==== Lote 44a · FlowVex Corporativo: isotipo en el nombre del plan, créditos y catálogo PLAFEST ==== */
.plan-corp{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.plan-iso{width:20px;height:13px;flex:none;vertical-align:-1px}
.credit-metrics{margin-bottom:12px}
.credit-buy{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:10px 0 16px}
.credit-buy label{max-width:180px}
.credit-buy .credit-price{flex:1 1 220px;margin:0}
.cred-in{color:var(--mint-ink,#0a7d64)}
.cred-out{color:var(--ink)}
.corp-credit-link{margin-top:12px}
.cat-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px 8px;margin:0 0 10px;min-width:0}
.cat-row legend{font-weight:600;font-size:.86rem;padding:0 6px;color:var(--muted)}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 12px}
.cat-grid .cat-wide{grid-column:1/-1}
.cat-row-actions{justify-content:flex-end;margin-top:6px;gap:6px}
.cat-view{padding-left:18px}
.cat-view li{margin:0 0 8px}
@media(max-width:760px){.credit-buy label{max-width:none;flex:1 1 100%}.cat-grid{grid-template-columns:1fr}}
html[data-theme="dark"] .cred-in{color:#3ee0b5}
/* ==== fin Lote 44a ==== */
/* ==== Lote 44b · Expedientes: sección del cliente (/cliente), ficha y vista del consultor ==== */
.cl-lang-row{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.cl-lang{display:inline-flex;gap:4px}
.cl-lang button{padding:6px 11px}
.cl-lang button.on,.cl-lang button[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:none}
.cl-app{min-height:100vh;display:flex;flex-direction:column}
.cl-top{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 32px;background:var(--card);box-shadow:0 1px 0 var(--line)}
.cl-logo{width:34px;height:22px}
.cl-who{display:flex;flex-direction:column;min-width:0;flex:1 1 180px}
.cl-who strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-who small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-tabs{display:flex;gap:4px;flex-direction:row}
.cl-tabs button{background:transparent;color:var(--ink-2);padding:9px 14px;border-radius:999px;font-weight:600}
.cl-tabs button.active{background:var(--soft,#eef3f8);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.cl-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cl-main{flex:1;padding:34px 32px;max-width:1080px;width:100%;margin:0 auto}
.cl-foot{display:flex;justify-content:space-between;gap:12px;padding:18px 32px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line)}
.cl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.cl-card h3{margin:6px 0}
.cl-bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:12px 0 6px}
.cl-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--blue));border-radius:999px}
.cl-progress{font-size:13px;color:var(--muted);margin:0 0 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cl-head{margin-top:14px}
.cl-summary{min-width:200px}
.cl-reqs{list-style:none;padding:0;margin:0}
.cl-req .card-body{padding:18px 22px}
.cl-req-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cl-req-head h3{margin:0;flex:1 1 220px;font-size:17px;min-width:0;overflow-wrap:anywhere}
.cl-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft,#eef3f8);font-weight:700;font-size:13px;flex:none}
.cl-req.aprobado{box-shadow:0 0 0 1px #9fdcc6}
.cl-req.observaciones{box-shadow:0 0 0 1px #f0c987}
.cl-original{font-size:13px;color:#7d4b00;background:#f8ecd9;border-radius:10px;padding:8px 12px;margin:8px 0}
.cl-optional{font-size:13px;color:#24507f;background:#e6eef8;border-radius:10px;padding:8px 12px;margin:8px 0}
.badge.cl-state.cargado{color:#0a5aa6;background:#e1eef9}
.badge.cl-state.aprobado{color:#0b8c68;background:#ddf3ea}
.badge.cl-state.observaciones{color:#a45f00;background:#f8ecd9}
.badge.cl-state.pendiente{color:#5b6b7b;background:#eef1f4}
.cl-files{margin:10px 0}
.cl-files summary{cursor:pointer;font-weight:600;font-size:13.5px;color:var(--blue)}
.cl-files ul{list-style:none;padding:0;margin:8px 0 0}
.cl-files li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;flex-wrap:wrap}
.cl-files li span{min-width:0;overflow-wrap:anywhere}
label.cl-upload{display:inline-flex;flex-direction:row;align-items:center;margin:10px 0 0;cursor:pointer;border-radius:999px;padding:9px 16px;background:var(--navy);color:#fff;font-size:13.5px;font-weight:600;width:auto;position:relative}
label.cl-upload:hover{background:var(--blue)}
label.cl-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;padding:0}
label.cl-upload:focus-within{outline:2px solid var(--mint);outline-offset:3px}
.cl-report{padding:10px 0;border-top:1px solid var(--line)}.cl-report:first-child{border-top:0;padding-top:0}
.cl-report ul{margin:6px 0 0;padding-left:18px}.cl-report li{margin:4px 0}
.cl-tour{position:fixed;inset:0;z-index:200;background:rgba(6,24,43,.55);display:grid;place-items:center;padding:16px}
.cl-tour-card{background:var(--card);border-radius:18px;padding:26px;max-width:440px;width:100%;box-shadow:0 30px 80px -20px rgba(6,24,43,.6)}
.cl-tour-card h3{margin:8px 0}
.cl-tour-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.fx-sec{margin-bottom:22px}.fx-sec h4{margin:0 0 4px;font-size:17px}.fx-sec h5{margin:18px 0 10px;font-size:14px}
.fx-person{border:1px solid var(--line);border-radius:12px;padding:12px 14px 10px;margin:0 0 12px;min-width:0}
.fx-person legend{font-weight:600;font-size:13px;color:var(--muted);padding:0 6px}
.fx-scian{align-items:end;margin-bottom:6px}
.fx-scian button{margin-bottom:17px}
.fx-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 10px}.fx-dl dt{color:var(--muted);font-weight:600;font-size:13px}.fx-dl dd{margin:0;overflow-wrap:anywhere}
.fx-people{padding-left:20px;margin:0}.fx-people li{margin:3px 0;overflow-wrap:anywhere}
.exp-req td{white-space:normal;vertical-align:top}
.exp-req td:first-child{width:36px}
.exp-req .exp-name{min-width:220px}
.exp-req td .actions button.small{white-space:nowrap}
.exp-req td:nth-child(3){white-space:nowrap}.exp-req td:nth-child(4){min-width:170px}.exp-req td:nth-child(4)>span.muted{white-space:nowrap}
.exp-files{list-style:none;margin:6px 0 0;padding:0;font-size:12.5px}.exp-files li{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:3px 0}
.exp-strip{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-bottom:18px}
.exp-check{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px;font-weight:500}
.exp-check input{margin-top:3px;width:18px;height:18px;flex:none}
.exp-events{list-style:none;padding:0;margin:0;font-size:13px}.exp-events li{padding:8px 0;border-top:1px solid var(--line)}.exp-events li:first-child{border-top:0}
@media(max-width:760px){
.cl-top{padding:12px 16px}.cl-tabs{order:3;width:100%}.cl-tabs button{flex:1}.cl-main{padding:22px 16px}.cl-foot{padding:16px;flex-direction:column}
.cl-cards{grid-template-columns:1fr}.cl-req .card-body{padding:16px}.cl-summary{min-width:0;width:100%}
.fx-dl{grid-template-columns:1fr}.exp-req .exp-name{min-width:160px}}
html[data-theme="dark"] .cl-original{background:#3a2a10;color:#f3cf8f}
html[data-theme="dark"] .cl-optional{background:#16283d;color:#b9d3f2}
/* ==== fin Lote 44b ==== */
/* Lote 47 · fase 2: datos del formato FF-COFEPRIS-06 */
.ff-box .ff-sec{border-top:1px solid var(--line);padding-top:16px}.ff-box .ff-sec:first-child{border-top:0;padding-top:0}
.ff-checks{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 16px}.ff-checks legend{font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px;padding:0}
.ff-checks label.check{margin:0;font-weight:500}
.ff-box textarea{min-height:64px}
.ff-manif{flex-direction:column;gap:6px}.ff-manif p{margin:0}.ff-manif-item{align-items:flex-start!important}
/* Lote 48 · tomo: originales de terceros */
.dz-orig{border:1px solid var(--line,#d9dee5);border-radius:10px;padding:10px 12px;margin:10px 0;display:grid;gap:8px}
.dz-orig legend{font-weight:600;padding:0 4px}
.dz-opt{border:1px solid var(--line,#d9dee5);border-radius:10px;padding:10px 12px;margin:10px 0;display:grid;gap:8px}
.dz-opt legend{font-weight:600;padding:0 4px}
.dz-opt-row{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.dz-opt-row>span{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
.cat-signers{border:1px dashed var(--line,#d9dee5);border-radius:8px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:4px 14px}
.cat-signers legend{font-weight:600;padding:0 4px}
.dz-orig .check{align-items:flex-start;line-height:1.35}
.switch-line{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.switch-line input{width:18px;height:18px;accent-color:var(--blue,#1f5fbf)}
.dz-orig .check{display:flex;gap:10px;align-items:flex-start}.dz-orig-txt{flex:1;min-width:0}.dz-orig-txt small{display:block;margin-top:2px}
/* Lote 49 · seguridad del usuario del cliente (/cliente) */
.cl-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}
.cl-inline label{flex:1 1 200px;margin:0}
.cl-qr{width:200px;max-width:100%;background:#FDFEFF;padding:8px;border-radius:12px;margin:8px 0}
.cl-qr svg{width:100%;height:auto;display:block}
.cl-codes{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--surface-2,#f4f6fa);padding:12px;border-radius:10px;columns:2;max-width:360px}
/* ==== Lote 56 · acomodo en computadora ====
   El contenido se salía por la derecha: todas las tablas heredan «table{white-space:nowrap}» y las acciones de cada fila
   «td .actions{flex-wrap:nowrap}», así que una tabla nunca era más angosta que la suma de sus textos y botones en un solo
   renglón (Organizaciones pedía 1814 px aun en una pantalla de 1920 px; Usuarios, 1373 px). La tarjeta la recortaba y
   las acciones quedaban fuera de la vista, detrás del desplazamiento lateral. Ahora, en computadora, el nombre (primera
   columna) y los botones de una fila bajan de renglón dentro de su celda y la tabla toma el ancho real; solo la que de verdad no
   cabe se desplaza dentro de su tarjeta (.table-wrap), nunca la página. En tableta y celular siguen las listas tipo app. */
@media(min-width:1025px){
 #content table.app-list td.al-main{white-space:normal;overflow-wrap:break-word;min-width:180px}
 #content table.app-list td .actions{flex-wrap:wrap}
 #content table.app-list td .actions>button,#content table.app-list td>button{white-space:nowrap}
 #content table.app-list td .badge{white-space:nowrap}
}
/* «Tiempos reales por tipo de trámite»: el nombre del trámite (hasta 440 px) más la barra del promedio (mín. 220 px)
   pasaban del ancho de la tarjeta en pantallas de 1366 px o menos; con anchos de columna fijos el nombre se recorta con
   «…» (como en la tabla de trámites) y la columna «Máximo» siempre se ve. */
@media(min-width:761px){
 .rt-table{table-layout:fixed}
 .rt-table th:nth-child(1){width:42%}
 .rt-table th:nth-child(2),.rt-table th:nth-child(4){width:96px}
}
/* Barra superior de Administración (FlowVex): «Administración de FlowVex» y los menús no se encogían y, entre 1001 y
   1279 px, la barra quedaba más ancha que la pantalla y empujaba la página a la derecha (barra de desplazamiento horizontal
   en laptops de 1280 px y en pantallas con zoom; la regla del lote 33 los dejaba «flex:none»). Mientras caben se ven
   completos como antes; cuando no, se recortan con «…» en lugar de sacar la barra de la pantalla. */
@media(min-width:1001px) and (max-width:1279px){
 .workspace .topbar.is-admin:not(.in-client) #org-label{flex:0 1 auto;min-width:0}
 .workspace .topbar.is-admin:not(.in-client) #account-btn #profile{flex:0 1 auto;min-width:0}
 .workspace .topbar.is-admin:not(.in-client) .top-gap{flex-basis:8px}   /* el espacio se gasta primero: recorta solo si no cabe */
}
/* ==== fin Lote 56 · acomodo en computadora ==== */
/* ==== Lote 57 · respuesta a prevención con el mismo folio ==== */
.prev-attend{margin:4px 0 12px;padding-top:12px;border-top:1px dashed #E7D3A6}
.prev-attend p{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.prev-attend p svg{width:16px;height:16px;flex:none;margin-top:2px;color:#0B8C68}
.prev-receipts{margin:12px 0 4px;padding:12px 14px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--ws-line,#E4E8EF)}
.prev-receipts ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.prev-receipts li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.prev-receipts li>span{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;min-width:0;font-size:13.5px}
.prev-receipts li>span b{overflow-wrap:anywhere}
.prev-receipts li>span svg{width:15px;height:15px;flex:none;align-self:center;color:var(--blue)}
.prev-receipts small{color:var(--muted);font-size:12.5px}
.rcf-existing{margin:2px 0 12px}
.rcf-existing .note{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px;padding:12px 14px}
.rcf-existing .note svg{width:16px;height:16px;flex:none;margin-top:3px}
.rcf-exist-opts{display:grid;gap:6px}
.rcf-exist-opts label.check{align-items:flex-start;margin:0}
.rcf-exist-opts input[type=radio]{width:auto;margin-top:4px;accent-color:var(--navy)}
.rcf-exist-opts small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.rcf-row.is-existing .rcf-exp{display:none}
html[data-theme="dark"] .prev-attend{border-top-color:#4D3E17}
html[data-theme="dark"] .prev-receipts{background:#0E1927;box-shadow:inset 0 0 0 1px #22344A}
/* ==== fin Lote 57 ==== */
/* ==== Lote 59 · celular: tablas y capas ====
   1) Checklist del expediente (table.exp-req): en tableta y celular (≤ 1024 px, el mismo corte de las listas tipo app) cada
      requisito es una tarjeta: número y nombre arriba; Estado, Archivos y los botones debajo, a todo el ancho y bajando de
      renglón. Antes la tabla pedía ~1250 px y los botones quedaban fuera de la pantalla. En computadora sigue la tabla.
      Las demás tablas ya eran listas tipo app (table.app-list, lote 27b), tarjetas de trámites o de vencimientos; cualquier
      otra se desplaza DENTRO de su tarjeta (.table-wrap{overflow:auto}): la página nunca se mueve de lado. */
@media(max-width:1024px){
 .workspace .table-wrap:has(>table.exp-req){overflow:visible}
 table.exp-req,table.exp-req tbody{display:block;width:100%}
 table.exp-req thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 table.exp-req tr{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px 10px;padding:14px 16px;border-bottom:1px solid var(--line-3,#eeeae2)}
 table.exp-req tbody tr:last-child{border-bottom:0}
 table.exp-req td{display:block;padding:0;border:0;min-width:0!important;width:auto!important;white-space:normal!important;overflow-wrap:anywhere;background:transparent}
 table.exp-req td.er-num{grid-column:1;display:inline-grid;place-items:center;width:28px!important;height:28px;border-radius:50%;background:var(--bg);font-size:13px;color:var(--ink)}
 table.exp-req td.exp-name{grid-column:2}
 table.exp-req td.er-state,table.exp-req td.er-files,table.exp-req td.er-acts{grid-column:1/-1}
 table.exp-req td.er-state,table.exp-req td.er-files{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
 table.exp-req td.er-state::before,table.exp-req td.er-files::before{content:attr(data-label);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
 table.exp-req td.er-files>.exp-files{margin:0;width:100%}
 table.exp-req .exp-files li{min-width:0}
 table.exp-req td.er-acts:has(>.actions:empty){display:none}
 table.exp-req td .actions{flex-wrap:wrap;gap:8px}
 table.exp-req td .actions button.small{white-space:normal}
 table.exp-req label.cl-upload{margin:0}
 table.exp-req tbody tr:hover td{background:transparent}
}
/* En computadora el checklist sigue siendo tabla, pero los botones de cada requisito bajan de renglón y los nombres de archivo
   largos (sin espacios, p. ej. con guiones bajos) se parten: antes la tabla pedía ~1300 px y «Subir» quedaba fuera. */
@media(min-width:1025px){
 table.exp-req td.exp-name,table.exp-req td.er-files{overflow-wrap:anywhere}
 table.exp-req td .actions{flex-wrap:wrap;min-width:120px}
}
/* Botones de arriba de una página (p. ej. el detalle del expediente: Volver, Descargar todo, Enviar reporte, + Requisito):
   entre 761 y 1100 px su caja medía lo de todos en un renglón (flex:none) y empujaba la página hacia la derecha; ahora
   toma a lo más el ancho disponible y los botones bajan de renglón. */
@media(max-width:1100px){.workspace .page-head .actions{flex:0 1 auto;min-width:0;max-width:100%}}
/* 2) Capas que se enciman (ventana, hojas, buscador, campana, Ayuda, menús, «Más»): mientras haya una abierta, la página de
      atrás no se mueve (html.fv-capa; en pantallas táctiles el cuerpo además queda fijo en su lugar, así iOS no lo arrastra
      ni lo hace rebotar) y al cerrar la última vuelve exactamente a donde estaba (portal.js · «Lote 59 · capas»). Cada capa
      se desplaza por dentro, con tope de alto y sin pasarle el movimiento a la de atrás. */
html.fv-capa{overflow:hidden;overscroll-behavior:none}
html.fv-capa.fv-capa-barra{scrollbar-gutter:stable}
html.fv-capa body{overflow:visible;overscroll-behavior:none}
html.fv-capa-fija body{position:fixed;left:0;right:0;width:100%}
dialog#dialog{overflow:auto;overscroll-behavior:contain}
.cmdk,.bp-card,.tm-dd,.account-menu,.cl-tour-card{overscroll-behavior:contain}
.sheet-back,.cmdk-back,.bp-back,#nav-backdrop,.cl-tour{touch-action:none}
.cl-tour-card{max-height:calc(100dvh - 32px);overflow:auto;touch-action:pan-y}
/* ==== fin Lote 59 ==== */
/* ==== Lote 60 · botón «Volver» notorio ====
   Antes era un botón quiet (transparente, borde fino) revuelto con las demás acciones: parecía que no existía. Ahora todos
   los «Volver» (páginas y ventanas) usan .btn-back: chevron + texto, fondo azul tenue de la marca y texto azul, alto táctil
   ≥ 44 px. En una página va en su propia fila (.page-back) arriba del título, a la izquierda. Mismos data-action. */
.btn-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px 10px 12px;border-radius:999px;background:rgba(0,107,199,.10);color:#00579f;font-weight:700;box-shadow:none;max-width:100%}
.btn-back:hover,.btn-back:focus-visible{background:rgba(0,107,199,.20);color:#004a87;box-shadow:none}
.btn-back:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.btn-back>svg{width:18px;height:18px;flex:none}
.btn-back>span{white-space:normal;text-align:left;line-height:1.2}
.page-back{display:flex;justify-content:flex-start;margin:0 0 14px;max-width:100%}
.page-head .page-back+.eyebrow{margin-top:0}
dialog .actions .btn-back,.checkout-actions .btn-back{margin-right:auto}
html[data-theme="dark"] .btn-back,html[data-theme="dark"] .workspace .btn-back,html[data-theme="dark"] dialog .btn-back{background:rgba(77,163,255,.16);color:#8CC2F2;box-shadow:none}
html[data-theme="dark"] .btn-back:hover,html[data-theme="dark"] .workspace .btn-back:hover,html[data-theme="dark"] dialog .btn-back:hover,html[data-theme="dark"] .btn-back:focus-visible{background:rgba(77,163,255,.28);color:#BFE0FF;box-shadow:none}
html[data-theme="dark"] .btn-back:focus-visible{outline-color:#8CC2F2}
/* Al quitar «Volver» de la fila de acciones, el spinner de un botón que carga (p. ej. «Enviar reporte al cliente») ya
   ensanchaba la fila hasta bajar un botón de renglón y movía la página detrás de la ventana: en los botones de arriba de
   una página el spinner va dentro del margen izquierdo del botón y no cambia su ancho. */
.page-head .actions button.is-loading{position:relative}
.page-head .actions button.is-loading:not(.icon-btn)::before{position:absolute;left:4px;top:50%;width:11px;height:11px;margin:-5.5px 0 0}
.page-head .actions button.small.is-loading:not(.icon-btn)::before{width:10px;height:10px;left:1px;margin-top:-5px}
/* ==== fin Lote 60 ==== */
/* Lote 61 · «Revisar catálogo ahora»: las acciones de cada empresa se acomodan en dos renglones y el resultado va debajo */
td .actions.company-actions{flex-wrap:wrap;max-width:300px}
.catalog-reviewed{display:block;margin-top:6px;white-space:normal;max-width:300px;font-size:12px;line-height:1.4}
/* Lote 62 · «Revisar catálogo ahora» en vivo: el mismo aviso de la revisión de trámites, uno por empresa */
.cat-review-zone{display:grid;gap:10px;margin:0 0 16px}
/* Lote 65 · «Catálogo COFEPRIS» (solo FlowVex Corporativo): buscador, ficha, empresa, ingrediente y cultivo */
.cfx-source{margin:-12px 0 16px}
.cfx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 16px}
.cfx-match .card-body{padding:14px 20px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.cfx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}
.cfx-kv{display:flex;flex-direction:column;gap:3px}.cfx-kv span{font-size:12.5px;color:var(--muted)}.cfx-kv strong{font-weight:600;white-space:normal}
.cfx-uses{white-space:normal;font-size:14px;line-height:1.6}
.cfx-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px;columns:2;column-gap:28px}.cfx-list li{break-inside:avoid}
.cfx-group{border-top:1px solid var(--line);padding:10px 0}.cfx-group:first-child{border-top:0}.cfx-group summary{cursor:pointer;padding:4px 0}
.cfx-bars{display:grid;gap:6px}.cfx-bar{display:grid;grid-template-columns:48px 1fr 40px;align-items:center;gap:10px;font-size:13px}
.cfx-bar i{display:block;height:12px;border-radius:6px;background:var(--blue);min-width:2px}.cfx-bar b{font-weight:600;text-align:right}
td .link-btn{font-size:13.5px;text-align:left;white-space:normal}
@media(max-width:760px){.cfx-grid{grid-template-columns:1fr}.cfx-list{columns:1}}
/* Lote 66 · Catálogo COFEPRIS: esta semana, vencimientos de terceros, tendencias y «Mis alertas» */
.cfx-exp{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:0 14px;align-items:end}.cfx-exp button{margin-bottom:17px}
.cfx-bar-wide{grid-template-columns:84px 1fr 40px}
.cfx-cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(18px,1fr);gap:4px;align-items:end;height:220px;overflow-x:auto}
.cfx-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.cfx-col small{font-size:10.5px;color:var(--muted);white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg)}
.cfx-stack{flex:1;width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start}.cfx-stack i{display:block;width:100%;min-height:0}
.cfx-stack i.plag,.cfx-key.plag{background:var(--blue)}.cfx-stack i.nutr,.cfx-key.nutr{background:#00a383}.cfx-stack i:last-child{border-radius:4px 4px 0 0}
.cfx-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 8px;vertical-align:middle}
.cfx-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.cfx-pick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.cfx-pick small{opacity:.7;font-weight:400;margin-left:4px}
@media(max-width:760px){.cfx-exp,.cfx-two{grid-template-columns:1fr}}
/* Las tablas del catálogo caben en la pantalla de una computadora: los textos largos bajan de renglón en su celda */
@media(min-width:1025px){
 #content .cfx-wrap table.app-list td{white-space:normal;overflow-wrap:break-word;min-width:80px}
 #content .cfx-wrap table.app-list td .link-btn{white-space:normal;text-align:left}
 #content .cfx-wrap table.app-list td.al-main{min-width:190px;max-width:260px;overflow-wrap:anywhere}
 #content .cfx-wrap table.app-list td>button:not(.link-btn){white-space:nowrap}
 #content .cfx-wrap table.app-list td .badge{white-space:nowrap}
}
/* Lote 67 · todas las listas con el formato de Trámites: tarjetas que se combinan, filtros al momento, ordenar y animación */
.lkx-counters{margin-bottom:6px}
.lkx-counter{position:relative;transition:box-shadow .25s cubic-bezier(.32,.72,0,1),background-color .25s,transform .25s cubic-bezier(.32,.72,0,1)}
.lkx-counter:active{transform:scale(.98)}
.lkx-counter small{font-size:11.5px;color:var(--muted);line-height:1.35;font-weight:400}
.lkx-hint{font-size:12px;margin:0 2px 14px}
.lkx-counters+.filter-card{margin-top:0}
.lkx-bar .case-order select{min-width:190px}
.lkx-dir{width:34px;height:34px;border-radius:9px;display:inline-grid;place-items:center;background:var(--card);box-shadow:inset 0 0 0 1px var(--ws-line-2,var(--line-2));color:var(--ink);padding:0}
.lkx-dir svg{width:16px;height:16px;transform:rotate(-90deg);transition:transform .35s cubic-bezier(.32,.72,0,1)}
.lkx-dir.is-desc svg{transform:rotate(90deg)}
.lkx-table th button.lkx-th{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;border-radius:6px}
.lkx-table th button.lkx-th:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.lkx-table th button.lkx-th i{display:inline-grid;opacity:0;transition:opacity .2s,transform .35s cubic-bezier(.32,.72,0,1)}
.lkx-table th button.lkx-th i svg{width:12px;height:12px;transform:rotate(-90deg)}
.lkx-table th button.lkx-th:hover i{opacity:.45}
.lkx-table th button.lkx-th.is-on{color:var(--ink)}
.lkx-table th button.lkx-th.is-on i{opacity:1}
.lkx-table th button.lkx-th.is-desc i{transform:rotate(180deg)}
.lkx-list{position:relative}
.lkx-list [data-lk-key]{will-change:auto}
.lkx-more{display:flex;justify-content:center;margin:-8px 0 24px}
.lkx-title{margin:8px 2px 12px;font-size:17px}
.lkx-items.prev-list{margin-bottom:24px}
.lkx-empty{margin-bottom:24px}
@media(max-width:760px){.lkx-bar .case-order select{min-width:0;flex:1}.lkx-bar .case-tools{width:100%}.lkx-bar .case-order{flex:1}}
@media(prefers-reduced-motion:reduce){.lkx-counter,.lkx-dir svg,.lkx-table th button.lkx-th i{transition:none}}
/* En computadora las listas caben en su tarjeta: los textos largos bajan de renglón y los botones de cada fila se acomodan */
@media(min-width:1025px){
 #content table.lkx-table.lkx-table td{white-space:normal;overflow-wrap:break-word}
 /* ninguna columna con texto queda tan angosta que se lea una palabra por renglón */
 #content table.lkx-table.lkx-table td:not(:last-child){min-width:130px}
 #content table.lkx-table.lkx-table th{white-space:normal}
 #content table.lkx-table.lkx-table td .actions{flex-wrap:wrap}
 #content table.lkx-table.lkx-table td .actions>button,#content table.lkx-table.lkx-table td>button,#content table.lkx-table.lkx-table td .badge{white-space:nowrap}
 #content table.lkx-table.lkx-table td .mono{white-space:nowrap}
}
@media(min-width:1025px){#content table.lkx-table.lkx-table td.al-main{overflow-wrap:anywhere;min-width:170px}#content table.lkx-table.lkx-table td:last-child{min-width:0}}
@media(min-width:1025px){#content table.lkx-table.lkx-table th,#content table.lkx-table.lkx-table td{padding-left:14px;padding-right:14px}#content table.lkx-table.lkx-table td.lkx-break{overflow-wrap:anywhere;min-width:150px}}
#content .lkx-list.is-live tbody tr,#content .lkx-list.is-live .lkx-item{animation:none}

html[data-theme="dark"] .workspace .lkx-counter.is-on{background:#16263A;box-shadow:0 0 0 2px #8CC2F2}
@media(min-width:1025px){#content table.lkx-table.lkx-table td.lkx-progress{min-width:150px}}
