/* Despacho Total Premium UI 2026
   Shared best-of-breed visual layer for the real V4 product.
   Designed to enhance existing PHP screens without changing business logic. */
:root{
  --dt-navy:#0b2d5b;
  --dt-navy-2:#123f7a;
  --dt-blue:#2563eb;
  --dt-blue-soft:#eaf2ff;
  --dt-gold:#c69a3b;
  --dt-gold-soft:#fff7e6;
  --dt-bg:#f4f7fb;
  --dt-surface:#ffffff;
  --dt-surface-2:#f8fafc;
  --dt-text:#172033;
  --dt-muted:#667085;
  --dt-line:#e3e8ef;
  --dt-success:#15803d;
  --dt-warning:#b45309;
  --dt-danger:#b42318;
  --dt-info:#175cd3;
  --dt-shadow-sm:0 1px 2px rgba(16,24,40,.04);
  --dt-shadow-md:0 10px 32px rgba(15,35,64,.08);
  --dt-shadow-lg:0 22px 60px rgba(15,35,64,.14);
  --dt-radius-sm:10px;
  --dt-radius:16px;
  --dt-radius-lg:22px;
  --dt-sidebar:286px;
  --dt-focus:#e2b451;
}
html{background:var(--dt-bg)}
body{
  background:
    radial-gradient(circle at 100% 0,rgba(37,99,235,.045),transparent 28rem),
    linear-gradient(180deg,#f8fbff 0,var(--dt-bg) 22rem);
  color:var(--dt-text);
  letter-spacing:-.006em;
}
body,.input,select,textarea,button{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
::selection{background:#dbeafe;color:#102a56}
:focus-visible{outline:3px solid var(--dt-focus)!important;outline-offset:3px!important}
a{transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.layout{min-height:100vh;background:transparent}
.sidebar{
  width:var(--dt-sidebar);
  background:
    radial-gradient(circle at 20% 0,rgba(69,126,205,.25),transparent 15rem),
    linear-gradient(180deg,#0b2a50 0%,#09213e 58%,#071a31 100%);
  border-right:1px solid rgba(255,255,255,.06);
  padding:20px 16px 26px;
  box-shadow:12px 0 42px rgba(10,33,61,.08);
}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.dt-sidebar-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  padding:10px 12px 18px;
  margin:-4px -2px 4px;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.sidebar img{max-width:168px;max-height:74px;object-fit:contain;margin:0 auto}
.side-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:22px 10px 7px;
  color:#8fa8c6;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em
}
.side-title:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.08)}
.nav a,.nav-link-button{
  position:relative;
  display:flex!important;
  align-items:center;
  min-height:42px;
  padding:10px 12px!important;
  margin:3px 0!important;
  border:1px solid transparent;
  border-radius:12px!important;
  color:#dce7f5!important;
  font-size:13.5px;
  font-weight:650;
  line-height:1.25;
  background:transparent;
}
.nav a:before,.nav-link-button:before{
  content:"";
  width:7px;height:7px;border-radius:999px;
  margin-right:10px;
  background:#6f8bab;
  box-shadow:0 0 0 3px rgba(255,255,255,.03);
  flex:0 0 auto
}
.nav a:hover,.nav a.active,.nav-link-button:hover{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08);
  transform:translateX(2px)
}
.nav a.active:before{background:#f0c66f;box-shadow:0 0 0 3px rgba(240,198,111,.15)}
.nav-logout{margin:0}.nav-link-button{width:100%;border:1px solid transparent;cursor:pointer}
.main{
  margin-left:var(--dt-sidebar);
  width:calc(100% - var(--dt-sidebar));
  padding:26px 30px 96px;
}
.topbar{
  position:sticky;
  top:0;
  z-index:80;
  margin:-26px -30px 24px;
  padding:18px 30px;
  min-height:88px;
  background:rgba(248,251,255,.91);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(227,232,239,.9);
  box-shadow:0 8px 26px rgba(16,24,40,.035)
}
.topbar h1{
  margin:0 0 5px;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.1;
  letter-spacing:-.025em;
  color:#102a56
}
.topbar .muted{font-size:12.5px}
.topbar-actions{gap:9px}
.topbar-actions form{position:relative}
.topbar-actions .input{
  min-height:44px;
  width:300px!important;
  padding-left:14px;
  border-radius:12px;
  background:#fff;
  box-shadow:var(--dt-shadow-sm)
}
.card,.section{
  border:1px solid var(--dt-line);
  background:rgba(255,255,255,.97);
  border-radius:var(--dt-radius);
  box-shadow:var(--dt-shadow-sm);
}
.card{transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.card:hover{border-color:#d2dce8;box-shadow:var(--dt-shadow-md)}
.section{padding:22px 24px;margin-bottom:20px}
.section>h2:first-child,.card>h2:first-child{
  margin-top:0;
  color:#102a56;
  letter-spacing:-.018em
}
.section>h2:first-child{font-size:20px}
.metric,.grid3>.card{
  position:relative;
  min-height:118px;
  overflow:hidden;
  padding:20px;
  border-radius:18px;
  background:linear-gradient(155deg,#fff 0%,#fbfdff 70%);
}
.metric:after,.grid3>.card:after{
  content:"";
  position:absolute;
  right:-26px;top:-26px;
  width:86px;height:86px;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,235,.10),rgba(37,99,235,0) 68%);
  pointer-events:none
}
.metric b,.kpi{
  display:block;
  margin-top:8px;
  font-size:clamp(26px,3vw,36px)!important;
  line-height:1;
  font-weight:900;
  letter-spacing:-.035em;
  color:#0e3a70!important
}
.grid{gap:18px}.grid.two{gap:18px}.grid3{gap:16px}
.btn{
  min-height:42px;
  border-radius:11px;
  padding:10px 15px;
  font-weight:800;
  letter-spacing:-.01em;
  box-shadow:0 1px 2px rgba(16,24,40,.05)
}
.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(16,24,40,.10)}
.btn:active{transform:translateY(0)}
.btn.gold{background:linear-gradient(180deg,#d7ac52,#be9137);color:#15233a}
.btn.secondary{background:#fff;color:#24364f;border:1px solid #d7e0ea}
.btn.danger{background:#9f1d1d}
.input,select,textarea{
  min-height:44px;
  border:1px solid #d6dee8;
  border-radius:11px;
  padding:10px 12px;
  color:#172033;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
  transition:border-color .15s ease,box-shadow .15s ease
}
.input:hover,select:hover,textarea:hover{border-color:#b8c6d8}
.input:focus,select:focus,textarea:focus{
  border-color:#6e9bd4;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
  outline:none
}
label{font-weight:700;color:#344054}
.table{
  border-collapse:separate!important;
  border-spacing:0;
  width:100%;
  background:#fff;
  border:1px solid var(--dt-line);
  border-radius:14px;
  overflow:hidden;
}
.table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7f9fc;
  color:#475467;
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-weight:850;
}
.table th,.table td{padding:13px 14px!important;border-bottom:1px solid #edf1f5!important}
.table tr:last-child td{border-bottom:0!important}
.table tr:hover td{background:#fbfdff}
.badge{
  border:1px solid transparent;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  line-height:1;
}
.badge.ok{background:#ecfdf3;color:#067647;border-color:#abefc6}
.badge.warn{background:#fffaeb;color:#b54708;border-color:#fedf89}
.badge.bad{background:#fef3f2;color:#b42318;border-color:#fecdca}
.badge.info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}
.notice{
  border:1px solid #f3d69b;
  border-left:4px solid #d39a2f;
  background:#fffaf0;
  box-shadow:var(--dt-shadow-sm)
}
.notice.ok{background:#f0fdf4;border-color:#bbf7d0;border-left-color:#16a34a}
.notice.bad{background:#fef2f2;border-color:#fecaca;border-left-color:#dc2626}
.notice.warn{background:#fff7ed;border-color:#fed7aa;border-left-color:#ea580c}
.dt-module-card{
  min-height:180px;
  border-radius:18px!important;
  background:
    linear-gradient(160deg,rgba(255,255,255,1),rgba(248,251,255,.98))!important;
  box-shadow:var(--dt-shadow-sm)
}
.dt-module-card h3{margin-top:0;font-size:18px;color:#102a56}
.dt-module-card strong{color:#184b83}
.dt-module-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:var(--dt-shadow-md)!important;
  border-color:#bfcfe1!important
}
.calendar-grid{gap:8px}
.cal-cell{
  min-height:116px;
  border-radius:14px;
  border-color:#dfe6ee;
  box-shadow:0 1px 2px rgba(16,24,40,.025)
}
.cal-cell:hover{border-color:#a8bfd9;box-shadow:0 7px 18px rgba(15,35,64,.06)}
.cal-event{
  padding:6px 8px;
  border-radius:8px;
  background:#eaf2ff;
  border-left:3px solid #2f6fc0;
  color:#123f7a;
  font-weight:750
}
.crm-row,.thread-row,.portal-client-row,.portal-case,.doc-tile{
  border-radius:14px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.03)
}
.crm-row:hover,.thread-row:hover,.portal-client-row:hover,.portal-case:hover,.doc-tile:hover{
  border-color:#a9bfd7!important;
  box-shadow:0 8px 22px rgba(15,35,64,.08)!important;
  transform:translateY(-1px)
}
.activity-timeline{position:relative}
.activity-timeline article{
  position:relative;
  border-left:0!important;
  padding:13px 14px 13px 36px!important;
  background:#fbfdff!important;
}
.activity-timeline article:before{
  content:"";
  position:absolute;left:14px;top:18px;
  width:9px;height:9px;border-radius:50%;
  background:#2f6fc0;
  box-shadow:0 0 0 4px #e7f0fb
}
.portal-hero{
  border:0!important;
  background:
    radial-gradient(circle at 90% 10%,rgba(217,170,70,.22),transparent 16rem),
    linear-gradient(135deg,#0a315f,#123f7a)!important;
  box-shadow:var(--dt-shadow-md)
}
.dt-platform-note{
  margin:34px 0 0;
  padding:15px 4px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  color:#7a8797;
  font-size:12px
}
/* Generic empty state elevation */
.table td[colspan]{padding:34px 20px!important;text-align:center;color:#667085!important;background:#fbfcfe}
/* Global command palette */
.dt-command-backdrop{
  position:fixed;inset:0;z-index:20000;
  display:none;align-items:flex-start;justify-content:center;
  padding:10vh 18px;
  background:rgba(8,25,45,.42);
  backdrop-filter:blur(6px)
}
.dt-command-backdrop.open{display:flex}
.dt-command{
  width:min(720px,100%);
  border:1px solid rgba(255,255,255,.35);
  border-radius:20px;
  background:#fff;
  box-shadow:0 28px 90px rgba(7,26,49,.28);
  overflow:hidden
}
.dt-command-head{padding:14px;border-bottom:1px solid var(--dt-line)}
.dt-command-input{width:100%;min-height:50px;border:0!important;box-shadow:none!important;font-size:17px}
.dt-command-list{max-height:52vh;overflow:auto;padding:8px}
.dt-command-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border-radius:12px;color:#172033!important
}
.dt-command-item:hover,.dt-command-item.active{background:#f0f5fb;color:#0b2d5b!important}
.dt-command-item small{color:#8290a3}
.dt-command-empty{padding:28px;text-align:center;color:#667085}
.dt-kbd{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 7px;border:1px solid #dce3eb;border-bottom-width:2px;
  border-radius:7px;background:#fff;color:#667085;font-size:11px;font-weight:800
}
@media(max-width:1100px){
  .main{padding:22px 22px 90px}
  .topbar{margin:-22px -22px 22px;padding:16px 22px}
  .topbar-actions .input{width:240px!important}
}
@media(max-width:780px){
  :root{--dt-sidebar:100%}
  body{background:#f5f8fc}
  .dt-sidebar-toggle{
    position:sticky!important;top:0!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(16px);
    color:#123f7a!important;
    border-bottom:1px solid #e2e8f0!important;
    box-shadow:0 6px 20px rgba(16,24,40,.05)
  }
  .sidebar{top:49px!important;width:100%!important;border-right:0}
  .main{padding:16px 14px 88px!important}
  .topbar{
    position:relative;
    margin:-16px -14px 18px;
    padding:16px 14px;
    align-items:flex-start;
    background:#f7faff
  }
  .topbar-actions{width:100%}
  .topbar-actions .btn{flex:1}
  .topbar-actions form{width:100%}
  .topbar-actions .input{width:100%!important}
  .section{padding:18px 16px}
  .grid,.grid.two,.grid3,.crm-metrics,.portal-metrics{gap:12px}
  .table{border-radius:12px}
}
@media(max-width:520px){
  .metric,.grid3>.card{min-height:100px;padding:16px}
  .topbar h1{font-size:22px}
  .btn{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* Dashboard premium + legal workspace phase 2 */
.dt-dashboard-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-bottom:18px;padding:28px 30px;border-radius:22px;color:#fff;
  background:
    radial-gradient(circle at 88% 20%,rgba(230,190,96,.22),transparent 14rem),
    linear-gradient(135deg,#0a315f,#123f7a 72%);
  box-shadow:var(--dt-shadow-md)
}
.dt-dashboard-kicker,.dt-section-kicker{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.dt-dashboard-kicker{color:#bfd7f4}.dt-section-kicker{color:#6c8db4}
.dt-dashboard-hero h2{margin:5px 0 6px;font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}
.dt-dashboard-hero p{margin:0;color:#dce9f7}
.dt-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dt-dashboard-hero .btn.secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.dt-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dt-kpi-card{position:relative;display:block;min-height:128px;padding:18px;border:1px solid var(--dt-line);border-radius:18px;background:#fff;color:var(--dt-text);box-shadow:var(--dt-shadow-sm);overflow:hidden}
.dt-kpi-card:after{content:"";position:absolute;right:-28px;top:-30px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.11),transparent 70%)}
.dt-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--dt-shadow-md);border-color:#bfd0e2}
.dt-kpi-card span,.dt-kpi-card small{display:block}.dt-kpi-card span{font-size:12px;font-weight:800;color:#526173}.dt-kpi-card strong{display:block;margin:10px 0 7px;font-size:34px;line-height:1;font-weight:950;color:#103b72}.dt-kpi-card small{color:#7c8898}
.dt-kpi-card.is-alert{border-color:#f2c9a5;background:linear-gradient(145deg,#fff,#fff9f3)}.dt-kpi-card.is-alert strong{color:#b45309}
.dt-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;align-items:start}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:15px}.section-head h2{margin:3px 0 0;color:#102a56}
.dt-agenda-stream,.dt-task-list,.dt-recent-cases{display:grid;gap:9px}
.dt-agenda-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e7edf4;border-radius:13px;background:#fbfdff}
.dt-time-badge{display:grid;place-items:center;min-height:46px;border-radius:11px;background:#eaf2ff;color:#15497f;font-weight:900}
.dt-agenda-row strong{display:block}.dt-agenda-row p{margin:4px 0 0;color:#6f7d8f;font-size:12px}
.dt-task-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf1f5;color:#172033}
.dt-task-row:last-child{border-bottom:0}.dt-task-row:hover{background:#f8fbff;border-radius:10px}.dt-task-dot{width:9px;height:9px;border-radius:50%;background:#4f7fb7;box-shadow:0 0 0 4px #edf4fb}
.dt-task-row span strong,.dt-task-row span small{display:block}.dt-task-row span small{margin-top:3px;color:#7a8797}.dt-task-date{font-size:11px;color:#68778a;white-space:nowrap}.dt-task-row.is-overdue .dt-task-dot{background:#d14343;box-shadow:0 0 0 4px #fdecec}.dt-task-row.is-overdue .dt-task-date{color:#b42318;font-weight:800}
.dt-recent-case{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid #e6ecf2;border-radius:14px;color:#172033;background:#fff}
.dt-recent-case:hover{border-color:#b9cade;box-shadow:0 8px 22px rgba(15,35,64,.07);transform:translateY(-1px)}
.dt-case-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4fb;color:#123f7a;font-size:20px;font-weight:900}.dt-case-main strong,.dt-case-main span,.dt-case-main small{display:block}.dt-case-main span{margin-top:3px;color:#56677c;font-size:12px}.dt-case-main small{margin-top:3px;color:#8a96a6}.dt-case-side{text-align:right}.dt-case-side small{display:block;margin-top:7px;color:#7a8797}
.dt-empty-state{display:grid;place-items:center;text-align:center;gap:7px;padding:38px 22px;border:1px dashed #cfd9e5;border-radius:15px;background:#fbfcfe;color:#667085}.dt-empty-state strong{color:#2c3d55}.dt-empty-state a{font-weight:800}

/* Case list view switch generated client-side */
.dt-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #dbe3ec;border-radius:11px;background:#fff}
.dt-view-switch button{min-height:34px;border:0;border-radius:8px;padding:7px 11px;background:transparent;color:#58687b;font-weight:800;cursor:pointer}.dt-view-switch button.active{background:#eaf2ff;color:#123f7a}
.dt-case-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dt-case-list-card{display:flex;flex-direction:column;min-height:215px;padding:18px;border:1px solid #e0e7ef;border-radius:17px;background:#fff;box-shadow:var(--dt-shadow-sm);color:#172033}
.dt-case-list-card:hover{transform:translateY(-2px);box-shadow:var(--dt-shadow-md);border-color:#b8cbe0}
.dt-case-list-card h3{margin:10px 0 4px;font-size:17px;color:#102a56}.dt-case-list-card p{margin:0;color:#697789;font-size:12px}.dt-case-list-card .dt-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.dt-case-list-card .dt-card-meta span{display:block;padding:9px;border-radius:10px;background:#f8fafc;font-size:11px;color:#526173}.dt-case-list-card .dt-card-meta strong{display:block;margin-top:3px;color:#253850;font-size:12px}.dt-case-list-card .dt-card-footer{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center}
.dt-case-card-grid[hidden],.table-responsive[hidden]{display:none!important}

/* Expediente 360 premium */
.case360-hero{
  border:0!important;border-radius:22px!important;padding:28px!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(215,172,82,.20),transparent 17rem),
    linear-gradient(135deg,#0a315f,#123f7a 72%)!important;
  color:#fff!important;box-shadow:var(--dt-shadow-md)!important
}
.case360-hero h2{font-size:clamp(26px,3vw,38px)!important;letter-spacing:-.03em!important;color:#fff!important}.case360-hero p,.case360-kicker{color:#d6e5f5!important}.case360-hero .btn.secondary{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
.case360-badges{margin-top:18px!important}.case360-progress{margin-top:18px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.13)!important}.case360-progress .progress-track{background:rgba(255,255,255,.14)!important}.case360-progress .progress-track span{background:linear-gradient(90deg,#d7ac52,#f0cf7c)!important}
.case360-tabs{position:sticky!important;top:88px!important;z-index:60!important;display:flex!important;gap:6px!important;overflow-x:auto!important;padding:9px!important;margin:15px 0 18px!important;border:1px solid #dfe6ef!important;border-radius:14px!important;background:rgba(255,255,255,.95)!important;backdrop-filter:blur(14px)!important;box-shadow:0 8px 24px rgba(16,24,40,.06)!important}
.case360-tabs a{white-space:nowrap!important;padding:8px 11px!important;border-radius:9px!important;color:#526173!important;font-size:12px!important;font-weight:800!important}.case360-tabs a:hover{background:#edf4fb!important;color:#123f7a!important}
.case360-stats{gap:14px!important}.case360-stat{min-height:115px!important;border-radius:16px!important;border:1px solid #e0e7ef!important;background:linear-gradient(145deg,#fff,#fbfdff)!important;box-shadow:var(--dt-shadow-sm)!important}.case360-stat strong{font-size:30px!important;color:#123f7a!important}
.case360-facts dl>div{padding:10px 0!important;border-bottom:1px solid #edf1f5!important}.case360-description{margin-top:15px!important;padding:15px!important;border-radius:13px!important;background:#f7f9fc!important}
.document360-card{border-radius:14px!important;border-color:#e1e8f0!important;box-shadow:var(--dt-shadow-sm)!important}.document360-card:hover{box-shadow:var(--dt-shadow-md)!important;border-color:#b8cce0!important}
.case360-form-panel{border:1px solid #e0e7ef!important;border-radius:14px!important;background:#fbfdff!important}.case360-form-panel summary{font-weight:850!important;color:#123f7a!important}

@media(max-width:1200px){.dt-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dt-case-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dt-dashboard-grid{grid-template-columns:1fr}.dt-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-dashboard-hero{align-items:flex-start}.dt-quick-actions{justify-content:flex-start}}
@media(max-width:680px){.dt-dashboard-hero{display:block;padding:22px 18px}.dt-quick-actions{margin-top:18px}.dt-quick-actions .btn{width:100%}.dt-kpi-grid{grid-template-columns:1fr 1fr}.dt-case-card-grid{grid-template-columns:1fr}.dt-agenda-row{grid-template-columns:58px minmax(0,1fr)}.dt-agenda-row>.badge{grid-column:2}.dt-recent-case{grid-template-columns:42px minmax(0,1fr)}.dt-case-side{grid-column:2;text-align:left}.case360-tabs{top:0!important}}
@media(max-width:430px){.dt-kpi-grid{grid-template-columns:1fr}.dt-kpi-card{min-height:105px}}

/* Phase 3 · Agenda, Clientes/CRM and Document Management */
.dt-workspace-hero{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 18px;padding:23px 26px;border-radius:20px;color:#fff;
  background:radial-gradient(circle at 90% 15%,rgba(219,177,80,.20),transparent 14rem),linear-gradient(135deg,#0a315f,#154b82);
  box-shadow:var(--dt-shadow-md)
}
.dt-workspace-hero h2{margin:4px 0 5px;color:#fff;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.03em}
.dt-workspace-hero p{margin:0;color:#d9e7f6}.dt-workspace-hero .dt-section-kicker{color:#bfd5ed}
.dt-workspace-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dt-workspace-hero .btn.secondary{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);color:#fff}
.dt-inline-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.dt-inline-kpi{padding:15px 17px;border:1px solid #e0e7ef;border-radius:15px;background:#fff;box-shadow:var(--dt-shadow-sm)}
.dt-inline-kpi span,.dt-inline-kpi small{display:block}.dt-inline-kpi span{color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.dt-inline-kpi strong{display:block;margin:6px 0 3px;color:#123f7a;font-size:28px;line-height:1;font-weight:950}
.dt-inline-kpi small{color:#8995a4}

/* Agenda workspace */
.dt-agenda-compose{position:sticky;top:106px;align-self:start}
.dt-agenda-compose>h2:before{content:"+";display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:9px;background:#eaf2ff;color:#154b82}
.dt-agenda-calendar{overflow:hidden}.dt-agenda-calendar>h2{margin-bottom:10px!important}
.dt-agenda-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.dt-agenda-legend span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e0e7ef;border-radius:999px;background:#fff;color:#5f6f82;font-size:11px;font-weight:750}.dt-agenda-legend i{width:8px;height:8px;border-radius:50%;background:#3275a1}.dt-agenda-legend .urgent i{background:#b04e41}.dt-agenda-legend .done i{background:#488775}
.agenda-table td:first-child{font-weight:800;color:#173b66}.agenda-table tr:hover td{background:#f8fbff}

/* Clients */
.dt-client-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 14px;flex-wrap:wrap}
.dt-client-search{width:min(420px,100%)}
.dt-client-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dt-client-card{display:flex;flex-direction:column;min-height:238px;padding:18px;border:1px solid #e0e7ef;border-radius:17px;background:#fff;box-shadow:var(--dt-shadow-sm)}
.dt-client-card:hover{border-color:#b7cade;box-shadow:var(--dt-shadow-md);transform:translateY(-1px)}
.dt-client-card-head{display:flex;gap:12px;align-items:center}
.dt-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#eaf2ff,#f7fbff);color:#123f7a;font-size:16px;font-weight:950;border:1px solid #d8e4f1}
.dt-client-card h3{margin:0;color:#102a56;font-size:17px}.dt-client-card p{margin:3px 0 0;color:#728094;font-size:12px}
.dt-client-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.dt-client-card-meta>div{padding:9px 10px;border-radius:10px;background:#f8fafc;color:#667085;font-size:11px}.dt-client-card-meta strong{display:block;margin-top:3px;color:#283b55;font-size:12px}
.dt-client-card-actions{margin-top:auto;padding-top:12px;border-top:1px solid #edf1f5}.dt-client-card-actions .btn,.dt-client-card-actions button{margin:2px 3px 2px 0}
.dt-client-card-grid[hidden]{display:none!important}

/* CRM */
.crm-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.crm-metrics .metric{position:relative;min-height:112px!important;border-radius:16px!important;overflow:hidden}
.crm-metrics .metric:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#8bb1d8}
.crm-metrics .metric:last-child:before{background:#d59655}
.crm-main-grid{gap:18px!important}.crm-list{padding:4px!important}
.crm-row{padding:14px!important;border-radius:14px!important}.crm-row.active{background:linear-gradient(145deg,#f1f6fc,#fff)!important;border-color:#86a9cf!important}
.crm-detail{border-top:4px solid #2f6fa8!important}.crm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;background:#f7faff!important}
.crm-summary>div{padding:10px 11px;border-radius:10px;background:#fff;border:1px solid #e7edf4}.crm-summary b,.crm-summary span{display:block}.crm-summary b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#718197}.crm-summary span{margin-top:4px;color:#243a56;font-weight:700}
.conversion-card{background:linear-gradient(145deg,#fffdf8,#fff)!important;border-color:#ead8aa!important}

/* Documents */
.dt-document-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dt-document-card{display:flex;flex-direction:column;min-height:255px;padding:17px;border:1px solid #e0e7ef;border-radius:17px;background:#fff;box-shadow:var(--dt-shadow-sm)}
.dt-document-card:hover{border-color:#b7cade;box-shadow:var(--dt-shadow-md);transform:translateY(-1px)}
.dt-document-card-head{display:flex;gap:12px;align-items:flex-start}.dt-file-icon{width:48px;height:52px;border-radius:12px;display:grid;place-items:center;background:#edf4fb;color:#123f7a;border:1px solid #d8e4f0;font-size:11px;font-weight:950}
.dt-document-card h3{margin:2px 0 4px;font-size:16px;color:#102a56}.dt-document-card p{margin:0;color:#768397;font-size:12px}
.dt-doc-badges{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}
.dt-document-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dt-document-meta>span{padding:9px;border-radius:10px;background:#f8fafc;color:#69788b;font-size:11px}.dt-document-meta strong{display:block;margin-top:3px;color:#2a3d56;font-size:12px}
.dt-document-actions{margin-top:auto;padding-top:13px;border-top:1px solid #edf1f5}.dt-document-actions .btn,.dt-document-actions button{margin:2px 3px 2px 0}
.dt-document-card-grid[hidden]{display:none!important}
.dt-upload-zone{display:block!important;padding:18px!important;border:1.5px dashed #9db6d0!important;border-radius:14px!important;background:#f8fbff!important;color:#344c68!important}.dt-upload-zone:before{content:"Subir archivo";display:block;margin-bottom:7px;color:#123f7a;font-weight:900}.dt-upload-zone .input{background:#fff}
.dt-doc-repo-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.dt-doc-repo-head h2{margin:0}

@media(max-width:1250px){.crm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.dt-client-card-grid,.dt-document-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.dt-inline-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-agenda-compose{position:static}.dt-workspace-hero{align-items:flex-start}.dt-workspace-actions{justify-content:flex-start}}
@media(max-width:680px){.dt-workspace-hero{display:block;padding:20px 18px}.dt-workspace-actions{margin-top:15px}.dt-workspace-actions .btn{width:100%}.dt-client-card-grid,.dt-document-card-grid{grid-template-columns:1fr}.crm-summary{grid-template-columns:1fr}.crm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){.dt-inline-kpis,.crm-metrics{grid-template-columns:1fr!important}}

/* Phase 4 · Tasks, Notifications, Client Portal + accessibility contrast */
:root{--dt-text:#17263a;--dt-muted:#526173;--dt-muted-strong:#44566b;--dt-link:#0f4f8a}
body,.main{color:var(--dt-text)}
.muted{color:var(--dt-muted)!important}
.card p,.card li,.card dd,.card td{color:#28384c}
.card small,.card .small{color:var(--dt-muted)}
a{color:var(--dt-link)}
.input,select,textarea{color:#17263a!important}
.input::placeholder,textarea::placeholder,input::placeholder{color:#667085!important;opacity:1}
.table th{color:#3e5065!important}.table td{color:#24364b!important}
.dt-inline-kpi small{color:#56677c!important}
.dt-client-card p,.dt-document-card p{color:#526173!important}
.dt-document-meta>span{color:#526173!important}
.dt-case-main small,.dt-case-side small,.dt-task-row span small{color:#526173!important}
.dt-kpi-sub,.dt-kpi-label{color:#526173!important}
.badge{font-weight:850!important}
.btn.gold{color:#172033!important;background:#d2a84f!important}
.btn.gold:hover{background:#c2963e!important;color:#111827!important}
.btn.secondary{color:#1f3044!important;background:#eef2f6!important;border-color:#d4dde7!important}

/* Tasks */
.dt-task-workspace .case360-stats{margin-bottom:18px}
.dt-task-workspace .case360-stat{position:relative;overflow:hidden}
.dt-task-workspace .case360-stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#83a9d1}
.dt-task-workspace .case360-stat:nth-child(2):after{background:#b84b42}.dt-task-workspace .case360-stat:nth-child(3):after{background:#d0a348}.dt-task-workspace .case360-stat:nth-child(4):after{background:#438467}
.dt-task-create{border-top:4px solid #d0a348!important}
.dt-task-list-card{border-top:4px solid #1f5f96!important}
.task360-list{display:grid;gap:10px}
.task360-item{display:grid!important;grid-template-columns:42px minmax(0,1fr) minmax(250px,.75fr)!important;gap:14px!important;align-items:center!important;padding:16px!important;border:1px solid #dce4ed!important;border-radius:15px!important;background:#fff!important;box-shadow:0 3px 12px rgba(15,35,64,.04)}
.task360-item:hover{border-color:#afc4d9!important;box-shadow:0 9px 24px rgba(15,35,64,.075)!important}
.task360-item.overdue{border-left:5px solid #b42318!important;background:#fffafa!important}
.task360-item.done{opacity:1!important;background:#f7fbf8!important;border-left:5px solid #438467!important}
.task360-check{width:34px!important;height:34px!important;border-radius:11px!important;display:grid!important;place-items:center!important;background:#edf3f9!important;color:#174d7d!important;font-size:18px!important;font-weight:950!important}
.task360-item.done .task360-check{background:#e3f3e9!important;color:#286645!important}
.task360-main h3{color:#102a56!important;margin:0 0 5px!important;font-size:16px!important}.task360-main .muted{font-size:12px!important;line-height:1.55!important}.task360-main p{color:#34465b!important;line-height:1.55!important}
.task360-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}.task360-actions select{width:auto!important;min-width:120px!important;color:#24364b!important;background:#fff!important}
.case-filter-bar{padding:12px!important;border:1px solid #e0e7ef!important;border-radius:14px!important;background:#f8fafc!important}

/* Notifications */
.dtx-bell{position:relative!important;border:1px solid #cbd7e3!important;background:#fff!important;color:#173b66!important;font-weight:850!important}
.dtx-notification-panel{max-width:920px!important;border-radius:20px!important;border:1px solid #d9e3ed!important;box-shadow:0 18px 55px rgba(15,35,64,.14)!important}
.dtx-notification-panel h2{color:#102a56!important;font-size:22px!important}.dtx-status,.dtx-device-status{color:#45586d!important}
.dtx-notification{padding:16px!important;margin:8px 0!important;border:1px solid #e0e7ef!important;border-radius:13px!important;background:#fbfdff!important}
.dtx-notification strong{color:#102a56!important;font-size:14px!important}.dtx-notification p{color:#2e4157!important;line-height:1.55!important}.dtx-notification small{color:#526173!important}
.dtx-link{color:#0f568f!important;font-weight:800!important}.dtx-close{color:#233a52!important}

/* Client portal */
.portal-hero{border:0!important;border-radius:21px!important;padding:25px 27px!important;background:radial-gradient(circle at 88% 10%,rgba(210,168,79,.22),transparent 14rem),linear-gradient(135deg,#09284e,#154b82)!important;box-shadow:0 12px 32px rgba(15,35,64,.13)!important}
.portal-hero h2{color:#fff!important;font-size:clamp(25px,3vw,36px)!important}.portal-hero p,.portal-hero-contact,.portal-hero-contact span{color:#eef5fc!important}.portal-hero .eyebrow{color:#d9e7f6!important}
.portal-metrics{gap:12px!important;margin:16px 0 18px}.portal-metrics .metric{border-radius:15px!important;border:1px solid #dfe7ef!important;box-shadow:0 3px 12px rgba(15,35,64,.04)!important}.portal-metrics .metric .muted{color:#526173!important;font-weight:750!important}.portal-metrics .metric b{color:#123f7a!important;font-size:30px!important}
.portal-case-grid{gap:14px!important}.portal-case{border-color:#dce5ee!important;border-radius:16px!important;box-shadow:0 3px 13px rgba(15,35,64,.045)!important}.portal-case h3{color:#102a56!important;font-size:17px!important}.portal-case p{color:#40546a!important}.portal-case dt{color:#526173!important;font-size:11px!important;text-transform:uppercase!important;font-weight:800!important}.portal-case dd{color:#22364c!important;font-weight:700!important}
.portal-columns{gap:18px!important}.portal-columns>.card,.portal-columns>div>.card{border-radius:17px!important}
.thread-row{border-color:#dce5ee!important;border-radius:13px!important}.thread-row strong{color:#173b66!important}.thread-row span{color:#526173!important}.thread-row.active{border-color:#6792bc!important;background:#edf5fd!important;box-shadow:inset 4px 0 #1d6099}
.message-panel{padding-top:12px}.message-panel h3{color:#102a56!important}.portal-message{color:#20344a!important;border:1px solid #dbe3ec!important}.portal-message.client{background:#e8f2fd!important}.portal-message.staff{background:#f3f6f9!important}.message-meta{color:#526173!important}.message-meta strong{color:#2b4057!important}
.portal-request{border-color:#dce5ee!important;box-shadow:0 2px 9px rgba(15,35,64,.035)!important}.portal-request p{color:#34475d!important}.portal-request small{color:#526173!important}
.portal-agenda-item{border-color:#e0e7ef!important;border-radius:12px!important;margin:6px 0!important;background:#fbfdff!important}.portal-agenda-item p,.portal-agenda-item small{color:#465a70!important}.agenda-date{background:#e8f1fb!important;color:#123f7a!important}
.doc-tile{border-color:#dce5ee!important}.doc-title{color:#173b66!important}.doc-cat{color:#526173!important}
.portal-admin-grid{gap:18px!important}.portal-client-row{border-color:#dce5ee!important}.portal-client-row strong{color:#173b66!important}.portal-client-row span{color:#526173!important}.portal-client-row.active{border-color:#6792bc!important;background:#edf5fd!important;box-shadow:inset 4px 0 #1d6099}
.workflow-alert p,.workflow-alert small{color:#34475d!important}

/* Readability focus */
.card h1,.card h2,.card h3,.section h2,.section h3{color:#102a56}
:focus-visible{outline:3px solid #176aa6!important;outline-offset:2px!important}
@media(max-width:900px){.task360-item{grid-template-columns:38px minmax(0,1fr)!important}.task360-actions{grid-column:2;justify-content:flex-start!important}}
@media(max-width:680px){.portal-hero{padding:21px 18px!important}.task360-actions select{width:100%!important}.task360-actions form{width:100%}.task360-actions form select{width:100%!important}.dtx-notification-panel{max-width:none!important}}

/* Hotfix 2026-09-25: mobile navigation contrast and selector isolation */
html:not(.dt-dark) #dtSidebar.sidebar{background:#fff!important;color:#17263a!important}
html:not(.dt-dark) #dtSidebar.sidebar .side-title{color:#42566e!important;font-weight:900!important}
html:not(.dt-dark) #dtSidebar.sidebar .nav a,
html:not(.dt-dark) #dtSidebar.sidebar .nav .nav-link-button{
  color:#123f7a!important;background:transparent!important;opacity:1!important;
  -webkit-text-fill-color:#123f7a!important;text-shadow:none!important
}
html:not(.dt-dark) #dtSidebar.sidebar .nav a:hover,
html:not(.dt-dark) #dtSidebar.sidebar .nav a.active,
html:not(.dt-dark) #dtSidebar.sidebar .nav .nav-link-button:hover{
  color:#082f63!important;background:#e8f1fb!important;-webkit-text-fill-color:#082f63!important
}
html:not(.dt-dark) #dtSidebar.sidebar .nav a.active{box-shadow:inset 4px 0 #b98b35!important;font-weight:900!important}
html:not(.dt-dark) #dtSidebar.sidebar .dt-platform-note{color:#42566e!important}
@media(max-width:780px){
  #dtSidebar.sidebar{background:#fff!important}
  #dtSidebar.sidebar .nav a,#dtSidebar.sidebar .nav .nav-link-button{
    color:#123f7a!important;-webkit-text-fill-color:#123f7a!important;
    font-size:16px!important;font-weight:800!important;border-bottom:1px solid #e7edf4!important;
    padding:14px 16px!important;min-height:50px!important
  }
  #dtSidebar.sidebar .side-title{color:#42566e!important;font-size:12px!important;letter-spacing:.12em!important}
  .dt-sidebar-toggle{background:#fff!important;color:#0b376b!important;-webkit-text-fill-color:#0b376b!important}
}

/* Navigation visibility hardening 2026-09-25c */
html:not(.dt-dark) #dtSidebar .nav>a,
html:not(.dt-dark) #dtSidebar .nav a,
html:not(.dt-dark) #dtSidebar .nav button,
html:not(.dt-dark) #dtSidebar .nav .nav-link-button{
 color:#0b376b!important;-webkit-text-fill-color:#0b376b!important;opacity:1!important;
 font-weight:800!important;text-shadow:none!important
}
html:not(.dt-dark) #dtSidebar .nav>a:hover,
html:not(.dt-dark) #dtSidebar .nav a:hover,
html:not(.dt-dark) #dtSidebar .nav>a.active,
html:not(.dt-dark) #dtSidebar .nav a.active{
 color:#062b58!important;-webkit-text-fill-color:#062b58!important;background:#e7f0fa!important
}
html:not(.dt-dark) #dtSidebar .side-title{color:#334a64!important;-webkit-text-fill-color:#334a64!important}
@media(max-width:780px){
 html:not(.dt-dark) #dtSidebar{background:#fff!important}
 html:not(.dt-dark) #dtSidebar .nav>a,
 html:not(.dt-dark) #dtSidebar .nav a,
 html:not(.dt-dark) #dtSidebar .nav button,
 html:not(.dt-dark) #dtSidebar .nav .nav-link-button{
  color:#082f63!important;-webkit-text-fill-color:#082f63!important;background:#fff!important;
  font-size:16px!important;font-weight:850!important
 }
 html:not(.dt-dark) #dtSidebar .nav>a.active,
 html:not(.dt-dark) #dtSidebar .nav a.active{background:#e7f0fa!important;color:#062b58!important;-webkit-text-fill-color:#062b58!important}
}
/* Luno - asistente interno */
.luno-page-hero{display:flex;align-items:center;gap:24px;padding:24px 28px;margin-bottom:18px;border-radius:22px;background:radial-gradient(circle at 90% 20%,rgba(215,172,82,.18),transparent 16rem),linear-gradient(135deg,#0a315f,#154b82);color:#fff;box-shadow:var(--dt-shadow-md)}
.luno-page-hero img{width:118px;height:142px;object-fit:cover;object-position:center top;border-radius:18px;background:#fff}.luno-page-hero h2{margin:2px 0 6px;color:#fff;font-size:36px}.luno-page-hero p{margin:0;color:#e2edf8}.luno-query-row{display:flex;gap:9px}.luno-query-row .input{flex:1}.luno-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.luno-suggestions a{padding:7px 10px;border:1px solid #cbd9e7;border-radius:999px;background:#f7fbff;color:#173f69;font-weight:800}.luno-answer-text{line-height:1.65;color:#243a50}.luno-result-list{display:grid;gap:9px;margin:16px 0}.luno-result-list article{padding:12px 14px;border:1px solid #dfe7ef;border-radius:13px;background:#fbfdff}.luno-result-list article strong{color:#103a69}.luno-result-list article p{margin:4px 0;color:#4a5f75}.luno-sources{display:grid;gap:6px;margin:16px 0}.luno-sources a{font-weight:800}
@media(max-width:780px){.luno-page-hero{padding:20px 17px;align-items:flex-start}.luno-page-hero img{width:86px;height:110px}.luno-query-row{display:grid}}
.luno-nav-link{font-weight:900!important}.luno-dashboard-card{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#f7fbff,#eef6ff);border-color:#c9dcef}.luno-dashboard-avatar img{width:92px;height:108px;object-fit:cover;object-position:center top;border-radius:18px;background:#fff}.luno-dashboard-copy{flex:1}.luno-dashboard-copy h2{margin:4px 0 5px;color:#0b315d}.luno-dashboard-copy p{margin:0 0 12px;color:#425b73}.luno-case-assistant{background:linear-gradient(135deg,#f8fbff,#f1f7fc)}.luno-case-avatar{width:72px;height:82px;object-fit:cover;object-position:center top;border-radius:14px;background:#fff;border:1px solid #d9e5ef}
@media(max-width:680px){.luno-dashboard-card{align-items:flex-start}.luno-dashboard-avatar img{width:68px;height:82px}.luno-dashboard-card .actions,.luno-case-assistant .actions{display:grid}.luno-dashboard-card .btn,.luno-case-assistant .btn{width:100%;text-align:center}}
/* Luno siempre visible en la pantalla activa */
.luno-active-fab{
 position:fixed;right:18px;bottom:88px;z-index:9400;
 display:flex;align-items:center;gap:10px;min-width:208px;
 padding:9px 13px 9px 8px;border:1px solid #c8d8e8;border-radius:18px;
 background:#fff;color:#123f7a!important;text-decoration:none!important;
 box-shadow:0 14px 36px rgba(12,45,82,.18);transition:transform .16s ease,box-shadow .16s ease
}
.luno-active-fab:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(12,45,82,.24)}
.luno-active-avatar{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;overflow:hidden;background:#eef6ff;flex:0 0 auto}
.luno-active-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}
.luno-active-copy{display:grid;line-height:1.18}
.luno-active-copy strong{font-size:14px;color:#0b376b!important;-webkit-text-fill-color:#0b376b!important}
.luno-active-copy small{margin-top:3px;font-size:11px;color:#526173!important;-webkit-text-fill-color:#526173!important}
.dt-dark .luno-active-fab{background:#102a43;border-color:#2d4b67;color:#fff!important}
.dt-dark .luno-active-copy strong{color:#fff!important;-webkit-text-fill-color:#fff!important}
.dt-dark .luno-active-copy small{color:#d8e6f3!important;-webkit-text-fill-color:#d8e6f3!important}
@media(max-width:780px){
 .luno-active-fab{right:10px;bottom:72px;min-width:0;padding:7px 10px 7px 7px;border-radius:16px}
 .luno-active-avatar{width:48px;height:48px;border-radius:13px}
 .luno-active-copy strong{font-size:13px}
 .luno-active-copy small{display:none}
}
@media(max-width:430px){
 .luno-active-fab{max-width:184px}
 .luno-active-copy strong{font-size:12px}
}

/* 2026-10-02: logo universal y portal cliente seguro */
.dt-sidebar-brand{
  min-height:118px!important;
  overflow:visible!important;
  padding:12px!important;
}
.dt-sidebar-brand img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:108px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
}
.portal-case .portal-case-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.portal-case-detail{scroll-margin-top:110px}
.portal-case-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-case-detail-item{padding:14px;border:1px solid var(--dt-line);border-radius:13px;background:#fbfdff}
.portal-case-detail-item span{display:block;color:var(--dt-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.portal-case-detail-item strong{color:#102a56;overflow-wrap:anywhere}
.portal-case-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.portal-case-resource{padding:16px;border:1px solid var(--dt-line);border-radius:14px;background:#fff}
.portal-case-resource h3{margin:0 0 10px;color:#102a56}
.portal-case-resource ul{margin:0;padding-left:18px}
.portal-case-resource li{margin:7px 0}
@media(max-width:780px){
  .dt-sidebar-brand{min-height:104px!important}
  .dt-sidebar-brand img{max-height:92px!important}
  .portal-case-detail-grid,.portal-case-resources{grid-template-columns:1fr}
}
/* Portal cliente: visualización documental protegida */
.client-protected-viewer{position:relative;overflow:hidden;background:#eef2f7}
.client-protected-viewer iframe{display:block;width:100%;min-height:78vh;border:0;background:#fff}
.client-viewer-watermark{
  position:absolute;inset:0;pointer-events:none;z-index:3;
  display:grid;place-items:center;text-align:center;
  font-size:clamp(16px,2.2vw,26px);font-weight:850;letter-spacing:.08em;
  color:rgba(15,35,64,.14);transform:rotate(-24deg);
  text-transform:uppercase;user-select:none;
}
.client-protected-viewer,.client-protected-viewer *{-webkit-user-select:none;user-select:none}
