:root{--blue:#367df0;--blue2:#285fb8;--bg:#f5f7fb;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--card:#fff;--danger:#b42318;--warn:#b54708;--ok:#027a48;--shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#0f3e7a;color:#fff;padding:20px 14px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:24px;margin-bottom:4px}.tag{font-size:12px;opacity:.78;margin-bottom:24px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#e7eef8;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer}.nav button:hover,.nav button.active{background:rgba(255,255,255,.12);color:white}.sidefoot{position:absolute;bottom:18px;left:14px;right:14px;font-size:12px;opacity:.8}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:20}.grow{flex:1}.search{max-width:520px;flex:1}.search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fafafa}.btn{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:9px;cursor:pointer}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.danger{color:var(--danger)}.content{padding:22px;max-width:1500px;margin:0 auto}.pagehead{display:flex;align-items:end;gap:12px;margin-bottom:18px}.pagehead h1{margin:0;font-size:26px}.pagehead p{margin:4px 0 0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:15px}.metric .label{font-size:12px;color:var(--muted);text-transform:uppercase}.metric .value{font-size:28px;font-weight:800;margin-top:4px}.section{margin-top:16px}.section h2{font-size:16px;margin:0 0 9px}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table th{font-size:12px;color:var(--muted);font-weight:700;background:#fafafa}.table tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f7;font-size:12px}.badge.red{background:#fef3f2;color:var(--danger)}.badge.orange{background:#fff6ed;color:var(--warn)}.badge.green{background:#ecfdf3;color:var(--ok)}.empty{padding:28px;text-align:center;color:var(--muted);background:white;border:1px dashed var(--line);border-radius:12px}.error{padding:12px;border:1px solid #fecdca;background:#fef3f2;color:#912018;border-radius:10px;margin-bottom:12px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginbox{width:min(430px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:26px}.loginbox h1{margin:0 0 4px}.loginbox p{color:var(--muted);line-height:1.5}.loginbox .btn{width:100%;margin-top:12px;padding:12px}.subtle{font-size:12px;color:var(--muted);margin-top:12px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:15px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filter input,.filter select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px}.kpi-danger{color:var(--danger)}
@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:10px 12px}.brand,.tag,.sidefoot{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.topbar{top:0}.content{padding:14px}}
@media(max-width:560px){.cards{grid-template-columns:1fr 1fr}.topbar{padding:0 10px}.content{padding:10px}.pagehead h1{font-size:22px}.btn.newlabel span{display:none}.table th,.table td{padding:10px 9px}.card{padding:12px}}

.btn.small{padding:5px 8px;font-size:12px}.modalback{position:fixed;inset:0;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:18px;z-index:100}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.modalhead{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modalhead h2{margin:0;flex:1;font-size:20px}.modalbody{padding:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field span{font-size:12px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea,.formgrid select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.full{grid-column:1/-1}.check{display:flex;gap:8px;align-items:center}.formerror{grid-column:1/-1;padding:10px;border-radius:8px;background:#fef3f2;color:var(--danger)}.newgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{padding:24px;border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;font-weight:800;cursor:pointer}.choice:hover{border-color:var(--blue);background:#f7faff}@media(max-width:620px){.formgrid,.newgrid{grid-template-columns:1fr}}

/* v5: keep HOY readable without forcing horizontal scroll for long subjects */
.table td.wrap{white-space:normal;min-width:280px;max-width:680px;line-height:1.35;overflow-wrap:anywhere}
.table td.actions-cell{white-space:nowrap;width:1%}
@media(max-width:760px){.table td.wrap{min-width:220px;max-width:420px}}

.linkbtn{background:none;border:0;padding:0;color:#245fbd;font:inherit;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}
.linkbtn:hover{color:#174785}
.backrow{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.detailgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.detailcard h3{margin-top:0}
.detailcard dl{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:8px 14px;margin:0 0 14px}
.detailcard dt{color:#6b7280;font-weight:700}
.detailcard dd{margin:0;overflow-wrap:anywhere}
.timeline{margin-top:16px;display:grid;gap:10px}
.historyitem{border-left:3px solid #d1d5db;padding:8px 12px;background:#fff}
@media(max-width:800px){.detailgrid{grid-template-columns:1fr}.detailcard dl{grid-template-columns:1fr}.detailcard dt{margin-top:6px}}

.today-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin-bottom:14px}
.today-summary .metric{min-height:94px}
.danger-card{border-left:5px solid #b42318}.warning-card{border-left:5px solid #b7791f}.priority-card{border-left:5px solid #7c3aed}
.operational-callout{background:#fff4f2;border:1px solid #f2b8b5;border-left:5px solid #b42318;border-radius:10px;padding:12px 14px;margin:0 0 18px}
.section-title-row{display:flex;align-items:center;gap:9px;margin-bottom:8px}.section-title-row h2{margin:0}
.count-pill{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#e8eef8;font-size:13px;font-weight:700}
.critical-section{border-top:3px solid #b42318;padding-top:12px}.overdue-row td{background:#fffafa}.date-danger{font-weight:800;color:#b42318}
.hoy-table td{vertical-align:top}.hoy-section{margin-top:22px}
@media(max-width:1000px){.today-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.today-summary{grid-template-columns:1fr 1fr}.hoy-table{min-width:940px}}

.hoy-contextline{font-size:13px;color:#5f6670;margin:-2px 0 14px;padding:0 2px}

.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}
.dashboard-panel h2{margin-top:0}
.statrow{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eceff3}
.statrow:last-child{border-bottom:0}
@media(max-width:1000px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:1fr 1fr}}

.case-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #e6e9ee}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label{display:grid;gap:5px;font-weight:700}
.formgrid input,.formgrid select{width:100%;padding:9px;border:1px solid #cfd5dd;border-radius:7px}
@media(max-width:650px){.formgrid{grid-template-columns:1fr}}

.checkline{display:flex!important;align-items:center;gap:8px;font-weight:700}.checkline input{width:auto!important}

.case-readiness{margin:18px 0}.case-readiness h2{margin-top:0}
.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.readiness-grid>div{padding:10px;border:1px solid #e5e8ed;border-radius:8px;display:grid;gap:4px}
.readiness-grid span{font-size:12px;color:#69717c}.readiness-grid strong{font-size:14px}
@media(max-width:850px){.readiness-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.readiness-grid{grid-template-columns:1fr}}

/* v20/v21 reconstructed responsive application shell */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html,body{min-height:100%;overflow-x:hidden}
button,.btn,.linkbtn{-webkit-tap-highlight-color:transparent}
button:focus-visible,.btn:focus-visible,.linkbtn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(54,125,240,.35);outline-offset:2px}
.readiness-danger{border-color:#f2b8b5!important;background:#fff7f6}.readiness-danger strong{color:var(--danger)}
.readiness-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(pointer:coarse){input,select,textarea{font-size:16px!important}.btn,.nav button{min-height:44px}.linkbtn{min-height:36px}}
@media(max-width:980px){
  body{padding-bottom:calc(68px + var(--safe-bottom))}
  .shell{display:block;min-height:100dvh}
  .sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:70;padding:6px max(8px,var(--safe-right)) calc(6px + var(--safe-bottom)) max(8px,var(--safe-left));background:#0f3e7a;border-top:1px solid rgba(255,255,255,.16)}
  .sidebar .nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .sidebar .nav::-webkit-scrollbar{display:none}.sidebar .nav button{flex:0 0 auto;min-width:72px;padding:8px 10px;text-align:center;border-radius:10px;font-size:11px;letter-spacing:.01em;scroll-snap-align:start}
  .sidebar .nav button.active{background:rgba(255,255,255,.18)}
  .topbar{height:auto;min-height:60px;padding:calc(8px + var(--safe-top)) max(10px,var(--safe-right)) 8px max(10px,var(--safe-left));gap:8px}
  .content{padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}
  .readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tablewrap{border-radius:14px}.modalback{align-items:end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding-bottom:var(--safe-bottom)}
}
@media(max-width:700px){
  .pagehead{margin-bottom:12px}.pagehead h1{font-size:22px}.pagehead p{font-size:13px;line-height:1.35}
  .dashboard-metrics,.today-summary,.cards{grid-template-columns:1fr 1fr}.metric .value{font-size:24px}.detailgrid{gap:12px}
  .detailcard dl{grid-template-columns:1fr;gap:4px}.detailcard dd{margin-bottom:8px}.case-controls{display:grid;grid-template-columns:1fr 1fr}.case-controls .btn{width:100%}
  .section-title-row{align-items:center;justify-content:space-between}.section-title-row .subtle{display:none}.table{font-size:13px}.table th,.table td{padding:10px 9px}.hoy-table{min-width:760px}
}
@media(max-width:520px){
  .topbar{flex-wrap:wrap}.search{order:2;max-width:none;flex-basis:100%}.search input{min-height:44px}.topbar .grow{display:none}
  .dashboard-metrics,.today-summary,.cards{grid-template-columns:1fr 1fr;gap:9px}.card{border-radius:14px}.metric{min-height:82px}.metric .label{font-size:10px}.metric .value{font-size:23px}
  .readiness-grid{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.modalbody{padding:14px}.btn.newlabel{margin-left:auto}.sidebar .nav button{min-width:66px;font-size:10px;padding:7px 8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v22: collapsible desktop rail + native-style mobile navigation */
.sidehead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sidebar-toggle{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:24px;line-height:1}.brand-mini{display:none}.nav button{display:flex;align-items:center;gap:10px}.nav-dot{display:none;width:34px;height:34px;align-items:center;justify-content:center;border-radius:9px;background:rgba(255,255,255,.08);font-weight:800}.mobile-bottom{display:none}
@media(min-width:981px){
  .shell{transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}
  .shell.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}.shell.sidebar-collapsed .brand-full,.shell.sidebar-collapsed .tag,.shell.sidebar-collapsed .nav-label,.shell.sidebar-collapsed .sidefoot{display:none}
  .shell.sidebar-collapsed .brand-mini{display:inline}.shell.sidebar-collapsed .sidehead{justify-content:center;flex-direction:column;align-items:center}.shell.sidebar-collapsed .sidebar-toggle{font-size:22px}
  .shell.sidebar-collapsed .nav button{justify-content:center;padding:8px}.shell.sidebar-collapsed .nav-dot{display:inline-flex}.shell.sidebar-collapsed .nav{margin-top:16px}
}
@media(max-width:980px){
  body{padding-bottom:calc(74px + var(--safe-bottom))}.sidebar{display:none!important}.mobile-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;background:#0f3e7a;padding:6px max(7px,var(--safe-right)) calc(6px + var(--safe-bottom)) max(7px,var(--safe-left));border-top:1px solid rgba(255,255,255,.16);box-shadow:0 -6px 18px rgba(15,62,122,.14)}
  .mobile-bottom button{border:0;background:transparent;color:#e7eef8;min-width:0;min-height:52px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:700;cursor:pointer}.mobile-bottom button.active{background:rgba(255,255,255,.16);color:#fff}.mobile-bottom .mobile-icon{font-size:19px;line-height:1}.mobile-bottom .mobile-new{width:52px;height:52px;min-height:52px;justify-self:center;border-radius:50%;background:#fff;color:#0f3e7a;font-size:31px;line-height:1;box-shadow:0 3px 12px rgba(0,0,0,.18)}
  .desktop-new,.desktop-signout{display:none}.topbar{min-height:58px}.search{max-width:none;flex:1}.search input{min-height:44px}.content{padding-top:12px}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-more-item{min-height:70px;padding:16px}.mobile-more-item.danger{color:var(--danger)}
}
@media(max-width:520px){
  .topbar{display:block;padding:calc(8px + var(--safe-top)) max(10px,var(--safe-right)) 8px max(10px,var(--safe-left))}.search{width:100%}.search input{width:100%}.mobile-bottom button{font-size:9px}.mobile-bottom .mobile-new{font-size:29px}
  .today-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-summary .metric{min-height:74px;padding:10px}.today-summary .metric .label{font-size:10px}.today-summary .metric .value{font-size:22px}
}

/* v23: institutional blue + light-gray workspace and independently collapsible desktop topbar */
:root{--bg:#eef1f5;--workspace:#eef1f5;--surface:#ffffff;--surface-soft:#f7f8fa;--sidebar:#0f3e7a}
body{background:var(--workspace)}
.sidebar,.mobile-bottom{background:var(--sidebar)}
.main{background:var(--workspace);min-height:100vh}
.card,.panel,.tablewrap,.detailcard,.readiness-item{background:var(--surface)}
.table th{background:var(--surface-soft)}
.topbar{transition:min-height .18s ease,height .18s ease,padding .18s ease;background:#fff}
.topbar-toggle{display:none}
@media(min-width:981px){
  .topbar-toggle{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;color:#0f3e7a;font-size:18px;font-weight:800}
  .shell.topbar-collapsed .topbar{height:44px;min-height:44px;padding-top:4px;padding-bottom:4px;background:var(--workspace);border-bottom-color:#dde2e8}
  .shell.topbar-collapsed .topbar .search,.shell.topbar-collapsed .topbar .desktop-new,.shell.topbar-collapsed .topbar .desktop-signout,.shell.topbar-collapsed .topbar .grow{display:none}
  .shell.topbar-collapsed .topbar-toggle{margin-left:auto}
  .content{padding-top:20px}
}
@media(max-width:980px){.topbar-toggle{display:none!important}}

/* v24: mobile app polish, card-based HOY queue, PWA shell */
.mobile-brandline{display:none}
@media(max-width:980px){
  .mobile-brandline{display:flex;flex-direction:column;justify-content:center;min-width:132px;line-height:1.05}
  .mobile-brandline strong{font-size:18px;color:#0f3e7a;letter-spacing:-.02em}
  .mobile-brandline span{margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.08em;color:#6b7280}
  .topbar{background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);position:sticky;top:0;z-index:55}
}
@media(max-width:700px){
  .hoy-section .tablewrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .hoy-table{min-width:0!important;width:100%;border-collapse:separate;border-spacing:0;background:transparent}
  .hoy-table thead{display:none}
  .hoy-table tbody{display:grid;gap:11px}
  .hoy-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;background:#fff;border:1px solid #dfe4ea;border-radius:15px;box-shadow:0 2px 8px rgba(15,62,122,.05)}
  .hoy-table tr.overdue-row{border-color:#efb4ad;background:#fffafa}
  .hoy-table td{display:block!important;padding:0!important;border:0!important;min-width:0}
  .hoy-table td::before{display:block;margin-bottom:3px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7a838e}
  .hoy-table td:nth-child(4){order:1;grid-column:1/-1;font-size:15px;line-height:1.35}
  .hoy-table td:nth-child(4)::before{content:'Pendiente'}
  .hoy-table td:nth-child(1){order:2;grid-column:1/-1}
  .hoy-table td:nth-child(1)::before{content:'Cliente'}
  .hoy-table td:nth-child(2){order:3;grid-column:1/-1}
  .hoy-table td:nth-child(2)::before{content:'Expediente'}
  .hoy-table td:nth-child(3){order:4;grid-column:1/2}
  .hoy-table td:nth-child(3)::before{content:'Tipo'}
  .hoy-table td:nth-child(6){order:5;grid-column:2/3;text-align:right}
  .hoy-table td:nth-child(6)::before{content:'Prioridad';text-align:right}
  .hoy-table td:nth-child(5){order:6;grid-column:1/2}
  .hoy-table td:nth-child(5)::before{content:'Fecha'}
  .hoy-table td:nth-child(7){order:7;grid-column:2/3;align-self:end;text-align:right}
  .hoy-table td:nth-child(7)::before{content:'Acción';text-align:right}
  .hoy-table .actions-cell .btn{min-width:92px}
  .hoy-section{margin-top:18px}.hoy-section .section-title-row{padding-inline:2px}
}
@media(max-width:520px){
  .topbar{display:grid;grid-template-columns:1fr;gap:8px;padding-top:calc(9px + var(--safe-top))}
  .mobile-brandline{display:flex}
  .search{order:2}
  .pagehead h1{font-size:21px}
  .hoy-contextline,.operational-callout{font-size:12px;line-height:1.4;border-radius:12px}
  .mobile-bottom{padding-top:5px}
  .mobile-bottom button{min-height:50px}
}

/* v25: native mobile cards for core operational lists */
@media(max-width:700px){
  .mobile-card-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  .mobile-card-table{min-width:0!important;width:100%;border-collapse:separate;border-spacing:0;background:transparent}
  .mobile-card-table thead{display:none}
  .mobile-card-table tbody{display:grid;gap:11px}
  .mobile-card-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;background:#fff;border:1px solid #dfe4ea;border-radius:15px;box-shadow:0 2px 8px rgba(15,62,122,.05)}
  .mobile-card-table td{display:block!important;padding:0!important;border:0!important;min-width:0}
  .mobile-card-table td::before{display:block;margin-bottom:3px;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7a838e}
  .mobile-card-table .linkbtn{font-size:14px;text-align:left}
  .clients-table td:nth-child(1){grid-column:1/-1;font-size:15px}.clients-table td:nth-child(1)::before{content:'Cliente'}
  .clients-table td:nth-child(2)::before{content:'MS ID'}.clients-table td:nth-child(3)::before{content:'Teléfono'}
  .clients-table td:nth-child(4)::before{content:'Email'}.clients-table td:nth-child(5)::before{content:'Estado'}.clients-table td:nth-child(6)::before{content:'Desde'}
  .cases-table td:nth-child(1){grid-column:1/-1;font-size:15px}.cases-table td:nth-child(1)::before{content:'Caso'}
  .cases-table td:nth-child(2){grid-column:1/-1}.cases-table td:nth-child(2)::before{content:'Cliente'}
  .cases-table td:nth-child(3){grid-column:1/-1}.cases-table td:nth-child(3)::before{content:'Área / Servicio'}
  .cases-table td:nth-child(4)::before{content:'Estado'}.cases-table td:nth-child(5)::before{content:'Deadline'}.cases-table td:nth-child(6)::before{content:'Prioridad'}
  .calendar-table td:nth-child(2){order:1;grid-column:1/-1;font-size:15px;font-weight:700}.calendar-table td:nth-child(2)::before{content:'Evento'}
  .calendar-table td:nth-child(1){order:2}.calendar-table td:nth-child(1)::before{content:'Fecha'}
  .calendar-table td:nth-child(3){order:3;grid-column:1/-1}.calendar-table td:nth-child(3)::before{content:'Cliente'}
  .calendar-table td:nth-child(4){order:4}.calendar-table td:nth-child(4)::before{content:'Caso'}
  .calendar-table td:nth-child(5){order:5}.calendar-table td:nth-child(5)::before{content:'Tipo'}
  .calendar-table td:nth-child(6){order:6}.calendar-table td:nth-child(6)::before{content:'Estado'}
  .calendar-table td:nth-child(7){order:7}.calendar-table td:nth-child(7)::before{content:'Oficial'}
  .calendar-table td:nth-child(8){order:8;grid-column:1/-1}.calendar-table td:nth-child(8)::before{content:'Lugar'}
  .alerts-table td:nth-child(3){order:1;grid-column:1/-1;font-size:14px;line-height:1.4}.alerts-table td:nth-child(3)::before{content:'Alerta'}
  .alerts-table td:nth-child(2){order:2;grid-column:1/-1}.alerts-table td:nth-child(2)::before{content:'Cliente / Caso'}
  .alerts-table td:nth-child(1){order:3}.alerts-table td:nth-child(1)::before{content:'Severidad'}
  .alerts-table td:nth-child(4){order:4}.alerts-table td:nth-child(4)::before{content:'Estado'}
  .alerts-table td:nth-child(5){order:5}.alerts-table td:nth-child(5)::before{content:'Fecha'}
  .alerts-table td:nth-child(6){order:6;text-align:right}.alerts-table td:nth-child(6)::before{content:'Acción';text-align:right}
  .search-table td:nth-child(2){grid-column:1/-1;font-size:15px}.search-table td:nth-child(2)::before{content:'Resultado'}
  .search-table td:nth-child(1)::before{content:'Tipo'}.search-table td:nth-child(3)::before{content:'Detalle'}
}


/* v26: universal case workspace + mobile-native operational cards */
.readiness-score{margin-left:auto;font-size:12px;font-weight:800;color:var(--blue);background:#eef5ff;border:1px solid #cfe0f7;border-radius:999px;padding:5px 9px}
.progress-track{height:8px;background:#e7ebf0;border-radius:999px;overflow:hidden;margin:9px 0 14px}.progress-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .2s ease}
@media(max-width:700px){
  .case-actions-table td:nth-child(1){grid-column:1/-1;font-size:15px}.case-actions-table td:nth-child(1)::before{content:'Acción'}
  .case-actions-table td:nth-child(2)::before{content:'Tipo'}.case-actions-table td:nth-child(3)::before{content:'Fecha'}
  .case-actions-table td:nth-child(4)::before{content:'Estado'}.case-actions-table td:nth-child(5)::before{content:'Prioridad'}
  .case-actions-table td:nth-child(6){text-align:right}.case-actions-table td:nth-child(6)::before{content:'Control';text-align:right}
  .case-docs-table td:nth-child(1){grid-column:1/-1;font-size:15px}.case-docs-table td:nth-child(1)::before{content:'Documento'}
  .case-docs-table td:nth-child(2)::before{content:'Tipo'}.case-docs-table td:nth-child(3)::before{content:'Estado'}
  .case-docs-table td:nth-child(4)::before{content:'Recibido'}.case-docs-table td:nth-child(5)::before{content:'Drive'}
  .case-docs-table td:nth-child(6){text-align:right}.case-docs-table td:nth-child(6)::before{content:'Revisión';text-align:right}
  .checklist-table td:nth-child(1){grid-column:1/-1;font-size:15px}.checklist-table td:nth-child(1)::before{content:'Requisito'}
  .checklist-table td:nth-child(2)::before{content:'Obligatorio'}.checklist-table td:nth-child(3)::before{content:'Documento'}
  .checklist-table td:nth-child(4)::before{content:'Estado'}.checklist-table td:nth-child(5){grid-column:1/-1}.checklist-table td:nth-child(5)::before{content:'Nota'}
  .checklist-table td:nth-child(6){text-align:right}.checklist-table td:nth-child(6)::before{content:'Control';text-align:right}
  .forms-table td:nth-child(1){grid-column:1/-1;font-size:15px}.forms-table td:nth-child(1)::before{content:'Formulario'}
  .forms-table td:nth-child(2)::before{content:'Edición'}.forms-table td:nth-child(3)::before{content:'Estado'}
  .forms-table td:nth-child(4)::before{content:'Presentado'}.forms-table td:nth-child(5){grid-column:1/-1}.forms-table td:nth-child(5)::before{content:'Recibo / Confirmación'}
  .forms-table td:nth-child(6){text-align:right}.forms-table td:nth-child(6)::before{content:'Control';text-align:right}
  .signatures-table td:nth-child(1){grid-column:1/-1}.signatures-table td:nth-child(1)::before{content:'Estado'}
  .signatures-table td:nth-child(2)::before{content:'Enviado'}.signatures-table td:nth-child(3)::before{content:'Vía'}
  .signatures-table td:nth-child(4)::before{content:'Seguimiento'}.signatures-table td:nth-child(5)::before{content:'Completado'}
  .signatures-table td:nth-child(6){text-align:right}.signatures-table td:nth-child(6)::before{content:'Control';text-align:right}
  .case-events-table td:nth-child(2){order:1;grid-column:1/-1;font-size:15px}.case-events-table td:nth-child(2)::before{content:'Evento'}
  .case-events-table td:nth-child(1){order:2}.case-events-table td:nth-child(1)::before{content:'Fecha'}
  .case-events-table td:nth-child(3){order:3}.case-events-table td:nth-child(3)::before{content:'Tipo'}
  .case-events-table td:nth-child(4){order:4}.case-events-table td:nth-child(4)::before{content:'Estado'}
  .case-events-table td:nth-child(5){order:5;grid-column:1/-1}.case-events-table td:nth-child(5)::before{content:'Lugar'}
  .comms-table td:nth-child(4){order:1;grid-column:1/-1;font-size:14px;line-height:1.4}.comms-table td:nth-child(4)::before{content:'Resumen'}
  .comms-table td:nth-child(1){order:2}.comms-table td:nth-child(1)::before{content:'Fecha'}
  .comms-table td:nth-child(2){order:3}.comms-table td:nth-child(2)::before{content:'Canal'}
  .comms-table td:nth-child(3){order:4}.comms-table td:nth-child(3)::before{content:'Dirección'}
  .comms-table td:nth-child(5){order:5}.comms-table td:nth-child(5)::before{content:'Seguimiento'}
  .comms-table td:nth-child(6){order:6}.comms-table td:nth-child(6)::before{content:'Control'}
  .case-readiness .readiness-grid{grid-template-columns:1fr 1fr}
  .case-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.case-controls .btn{width:100%}
}
@media(max-width:460px){.case-readiness .readiness-grid{grid-template-columns:1fr}.case-controls{grid-template-columns:1fr}}

/* v28 - client editing and contact shortcuts */
.quick-contact{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.backrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width:640px){.quick-contact .btn,.backrow .btn{min-height:44px}}

/* v31 secure client portal and communication center */
.communication-center{margin-bottom:18px}
.communication-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.secure-link-result textarea,.client-report textarea{width:100%;margin:10px 0;min-height:84px}
.safe-report-notice,.portal-warning,.portal-success,.portal-instructions{padding:12px;border-radius:10px;margin:10px 0;background:#f3f4f6}
.portal-success{font-weight:600}
.portal-shell{min-height:100vh;padding:24px 14px;display:flex;justify-content:center;align-items:flex-start;background:#eef1f5}
.portal-card{width:min(760px,100%);background:white;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.portal-brand{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#0f3e7a;color:white;font-weight:700;font-size:20px}
.portal-client{font-weight:600}
.portal-items{display:grid;gap:12px;margin:18px 0}
.portal-item{border:1px solid #e5e7eb;border-radius:12px;padding:14px;display:grid;gap:10px}
.portal-item.received{background:#f8fafc}
.portal-upload{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.portal-upload input[type=file]{max-width:100%}
.upload-msg{font-size:13px;color:#6b7280;flex-basis:100%}
.portal-footer{font-size:12px;color:#6b7280;margin-top:18px}
.install-help p{line-height:1.45}
@media (max-width:640px){.portal-shell{padding:10px}.portal-card{border-radius:12px;padding:16px}.communication-actions .btn{flex:1 1 auto}}

/* UX: search stays compact until requested */
.search.search-collapsed{flex:0 0 auto;max-width:none}.search-trigger{white-space:nowrap}.search input.hidden{display:none!important}
.contact-compact a{font-weight:700;text-decoration:none}.contact-compact a:hover{text-decoration:underline}
@media(max-width:700px){.search-trigger span{display:none}.search-trigger{padding:9px 11px}.search:not(.search-collapsed){flex:1}.search:not(.search-collapsed) input{display:block;width:100%}}

/* HOY metrics are navigation/filter controls */
.hoy-metric{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.hoy-metric:hover{box-shadow:0 3px 10px rgba(16,24,40,.12);transform:translateY(-1px)}.hoy-metric:active{transform:translateY(0)}
.case-contact{margin:0 0 14px}.case-contact .subtle{margin-top:0}
