
:root{
  --bg:#f4f8f8;
  --bg-2:#edf4f3;
  --surface:#ffffff;
  --surface-soft:#f7fbfa;
  --surface-tint:#eef6f4;
  --ink:#0b2238;
  --text:#183246;
  --muted:#64748b;
  --line:#d7e4e2;
  --line-strong:#c7d9d6;
  --primary:#10b981;
  --primary-dark:#0f766e;
  --accent:#0b3e56;
  --teal-wash:rgba(16,185,129,.08);
  --ok:#06795c;
  --warn:#b76e00;
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:18px;
  --shadow-lg:0 22px 60px rgba(11,34,56,.10);
  --shadow-md:0 12px 30px rgba(11,34,56,.08);
  --shadow-sm:0 6px 18px rgba(11,34,56,.06);
  --sidebar:264px;
  --container: calc(100% - 28px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.01em;
  color:var(--text);
  background:linear-gradient(180deg,#f8fbfb 0%, #f0f6f5 100%);
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.hidden{display:none !important}
.small{font-size:14px}
.muted{color:var(--muted)}
.text-right{text-align:right}
.mb-0{margin-bottom:0}
.mt-0{margin-top:0}
.mt-16{margin-top:16px}
.mt-24{margin-top:24px}
.mt-32{margin-top:32px}

.portal-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}
.sidebar{
  position:sticky; top:0; height:100vh; overflow:auto;
  background:
    radial-gradient(circle at top left, rgba(16,185,129,.25), transparent 28%),
    linear-gradient(180deg,#072c3d 0%, #0b3e56 58%, #0f766e 100%);
  color:#fff; padding:20px 18px 24px;
}
.brand{
  display:flex; align-items:center; gap:14px; padding:10px 10px 18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.brand img{width:74px; flex:0 0 auto}
.brand-copy{display:grid; gap:4px}
.brand-copy .kicker{
  font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7)
}
.brand-copy .name{font-size:20px; font-weight:800; line-height:1.02}
.brand-copy .sub{font-size:13px; color:rgba(255,255,255,.75)}

.nav-group{margin-top:18px}
.nav-title{
  padding:10px 12px; font-size:12px; text-transform:uppercase; letter-spacing:.18em;
  color:rgba(255,255,255,.58)
}
.nav{display:grid; gap:4px}
.nav a{
  display:flex; align-items:center; gap:12px;
  padding:13px 14px; border-radius:16px;
  color:rgba(255,255,255,.94);
  transition:.2s background,.2s transform,.2s color;
}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.12); transform:translateX(2px)}
.nav .icon{
  width:20px;height:20px;border-radius:8px;display:grid;place-items:center;
  background:rgba(255,255,255,.15);font-size:11px;font-weight:800;letter-spacing:.04em
}
.sidebar-footer{
  margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:12px
}
.support-box{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08);
  padding:16px; border-radius:18px; box-shadow:0 10px 22px rgba(0,0,0,.08)
}
.support-box strong{display:block;margin-bottom:8px}
.status-list{display:grid;gap:8px;font-size:14px;color:rgba(255,255,255,.86)}
.status-list span{display:flex;justify-content:space-between;gap:10px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#86efac;margin-right:8px}

.main{min-width:0}
.topbar{
  position:sticky; top:0; z-index:35;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 18px; background:rgba(248,251,251,.94); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)
}
.topbar .left{display:flex; align-items:center; gap:12px; min-width:0}
.menu-toggle{
  display:none; width:44px; height:44px; border:none; border-radius:14px;
  background:#fff; box-shadow:var(--shadow-sm); cursor:pointer
}
.search{
  display:flex; align-items:center; gap:10px; min-width:min(460px,42vw);
  background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow-sm); padding:12px 14px;
}
.search input{width:100%; border:none; outline:none; background:transparent; color:var(--ink)}
.top-actions{display:flex; align-items:center; gap:12px}
.pill{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px;
  background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm);
  font-weight:700; color:var(--ink)
}
.user-chip{
  display:flex; align-items:center; gap:12px; padding:8px 10px 8px 8px;
  border-radius:999px; background:#fff; border:1px solid var(--line);
  box-shadow:var(--shadow-sm)
}
.user-chip img,.avatar-lg img{object-fit:cover}
.user-chip img{width:42px;height:42px;border-radius:50%}
.user-chip strong{display:block}
.user-chip small{color:var(--muted)}

.container{width:var(--container); margin:0 auto; padding:28px 0 36px}
.page-header{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;
  margin-bottom:22px
}
.page-header h1{margin:0;font-size:42px;line-height:1.04;color:var(--ink)}
.page-header p{margin:10px 0 0;max-width:72ch;color:var(--muted);line-height:1.7}
.page-header.dashboard-header{display:grid;grid-template-columns:1fr;align-items:start;gap:16px;margin-bottom:18px}
.page-header.dashboard-header .summary{max-width:none}
.header-quickboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
.hq-card{background:linear-gradient(180deg,#ffffff,#f6fbfa);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);padding:18px 18px 16px;display:grid;gap:8px;align-content:start;min-height:126px}
.hq-card span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-dark);font-weight:800}
.hq-card strong{font-size:34px;line-height:1;color:var(--ink)}
.hq-card small{font-size:13px;color:var(--muted);line-height:1.5}
.header-actions,.filters{display:flex;gap:10px;flex-wrap:wrap}

.panel{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-xl);
  box-shadow:var(--shadow-sm)
}
.panel.soft{background:linear-gradient(180deg,#fff,#f8fbfa)}
.panel.tint{background:linear-gradient(180deg,#ffffff,#f4faf8)}
.panel-dark{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    linear-gradient(135deg,#082739,#0f766e);
  color:#fff; border-radius:var(--radius-xl); box-shadow:var(--shadow-lg);
}
.panel-dark .muted{color:rgba(255,255,255,.82)}
.panel-dark .eyebrow{color:#a7f3d0}
.panel-dark .eyebrow:before{background:#a7f3d0}
.panel-dark h1,.panel-dark h2,.panel-dark h3{color:#fff}
.panel-dark .chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff}
.hero{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); gap:20px; margin-bottom:24px
}
.hero-card{padding:30px; min-height:300px; display:flex; flex-direction:column; justify-content:space-between}
.hero-card h1{margin:14px 0 12px; font-size:clamp(32px,4vw,54px); line-height:1.02; max-width:10ch}
.hero-card p{margin:0; font-size:18px; line-height:1.66; max-width:62ch; color:rgba(255,255,255,.94)}
.eyebrow{
  display:flex; align-items:center; gap:12px; font-size:13px; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase
}
.eyebrow:before{content:"";display:block;width:40px;height:2px;border-radius:999px;background:currentColor}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px}
.hero-side{padding:24px; display:grid; gap:16px; min-height:300px}
.hero-dashboard{align-items:stretch}
.hero-side-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:8px;border-top:1px solid var(--line)}
.hero-side-note{display:grid;gap:4px}
.hero-side-note strong{color:var(--ink);font-size:15px}
.hero-side-note span{font-size:13px;color:var(--muted);line-height:1.5}
.kpi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
.kpi{
  padding:18px; border-radius:20px;
  background:linear-gradient(180deg,#fff,#f6fbfa); border:1px solid var(--line)
}
.kpi .label{font-size:14px; color:var(--muted); margin-bottom:8px}
.kpi .value{font-size:34px; font-weight:800; color:var(--ink)}
.kpi .delta{font-size:13px; font-weight:700; color:var(--primary-dark); margin-top:6px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 20px; border-radius:999px; font-weight:800;
  border:1px solid transparent; transition:.2s transform,.2s box-shadow,.2s background; cursor:pointer
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary-dark),var(--primary)); color:#fff; box-shadow:0 12px 28px rgba(16,185,129,.24)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}
.btn-soft{background:var(--surface-tint); color:var(--primary-dark); border-color:#dcece7}

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}
.stat-card{padding:18px 20px}
.stat-card .title{font-size:14px;color:var(--muted);margin-bottom:10px}
.stat-card .num{font-size:34px;font-weight:800;color:var(--ink)}
.stat-card .mini{margin-top:8px;font-size:13px;color:var(--primary-dark);font-weight:700}

.grid-2-1{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin:22px 0}
.grid-1-1{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card-pad{padding:22px}
.section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px
}
.section-head h2{margin:0;font-size:28px;color:var(--ink)}
.section-head p{margin:4px 0 0;color:var(--muted)}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);
  color:var(--ink);font-weight:700;font-size:13px
}
.input,.select,.textarea{
  width:100%; padding:12px 14px; border-radius:14px; border:1px solid var(--line);
  background:#fff; color:var(--ink); outline:none
}
.textarea{min-height:120px; resize:vertical}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.employee{
  display:flex;align-items:center;gap:12px
}
.avatar{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-size:13px;font-weight:800
}
.employee img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;
  font-size:13px;font-weight:800
}
.badge.ok{background:#e8fbf3;color:var(--ok)}
.badge.warn{background:#fff6e7;color:var(--warn)}
.badge.soft{background:#eef5f4;color:#385266}
.badge.blue{background:#ebf3ff;color:#285a9a}

.list{display:grid;gap:12px}
.list-item{
  display:flex;gap:12px;align-items:flex-start;padding:14px;
  border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)
}
.list-item .dot{
  width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--primary-dark),var(--primary));margin-top:6px;flex:0 0 auto
}
.metric-card{padding:20px}
.metric-card h3{margin:0 0 8px;font-size:24px;color:var(--ink)}
.metric-card p{margin:0;color:var(--muted);line-height:1.65}

.chart-box{padding:22px}
.chart{
  height:270px; position:relative; border-radius:22px; overflow:hidden;
  background:linear-gradient(180deg,#fff,#f8fbfa); border:1px solid var(--line); padding:22px
}
.chart .grid{
  position:absolute; inset:18px; display:grid; grid-template-rows:repeat(5,1fr)
}
.chart .grid span{border-top:1px dashed #d9e6e3}
.chart svg{position:absolute; inset:32px 18px 40px 18px; width:calc(100% - 36px); height:calc(100% - 72px)}
.bar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end;height:220px;margin-top:8px}
.bar{position:relative;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,var(--primary),var(--primary-dark))}
.bar:after{content:attr(data-label);position:absolute;left:50%;transform:translateX(-50%);bottom:-28px;font-size:12px;color:var(--muted)}

.doc-grid,.ticket-grid,.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.doc-card,.ticket-card,.module-card{
  padding:20px; border-radius:22px; background:linear-gradient(180deg,#fff,#f8fbfa);
  border:1px solid var(--line); box-shadow:var(--shadow-sm)
}
.doc-card h3,.ticket-card h3,.module-card h3{margin:0 0 8px;font-size:22px;color:var(--ink)}
.doc-card p,.ticket-card p,.module-card p{margin:0;color:var(--muted);line-height:1.7}
.doc-card ul,.ticket-card ul,.module-card ul{margin:12px 0 0;padding-left:18px;color:var(--muted);line-height:1.7}

.timeline{display:grid;gap:14px}
.step{
  display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:start;
  padding:14px; border-radius:18px; background:var(--surface-soft); border:1px solid var(--line)
}
.step-num{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-weight:800
}
.step h4{margin:0 0 6px;font-size:19px;color:var(--ink)}
.step p{margin:0;color:var(--muted);line-height:1.6}

.profile-layout{display:grid;grid-template-columns:360px 1fr;gap:20px}
.profile-side{padding:24px;text-align:center}
.avatar-lg img{width:180px;height:180px;border-radius:30px;margin:0 auto 16px}
.data-list{display:grid;gap:12px;margin-top:18px;text-align:left}
.data-list div{padding:12px 14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}
.profile-main{padding:22px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.tab{padding:10px 14px;border-radius:999px;background:#edf5f4;border:1px solid var(--line);font-weight:700}

.login-shell{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr;background:linear-gradient(180deg,#f8fbfb,#eef5f4)}
.login-brand{
  background:
    radial-gradient(circle at top right, rgba(16,185,129,.22), transparent 34%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg,#072c3d,#0f766e);
  color:#fff;
  padding:42px clamp(30px,4vw,56px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
  position:relative;
  overflow:hidden;
}
.login-brand::after{content:'';position:absolute;inset:auto -90px -110px auto;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.14), transparent 60%);pointer-events:none}
.login-brand > div:last-child{max-width:680px}
.login-brand .mark img{width:180px}
.login-brand h1{font-size:clamp(40px,5vw,68px);line-height:1.02;margin:8px 0 8px;max-width:10ch}
.login-brand p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.92);max-width:60ch}
.feature-list{display:grid;gap:14px;margin-top:26px}
.feature-list .f{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.10);backdrop-filter:blur(6px)}
.login-panel{display:grid;place-items:center;padding:28px}
.login-card{
  width:min(540px,100%);padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg)
}
.login-card h2{font-size:34px;margin:0 0 10px;color:var(--ink)}
.login-card p{color:var(--muted);line-height:1.6;margin:0 0 24px}
.field{display:grid;gap:8px;margin-bottom:14px}
.field label{font-weight:700;color:var(--ink)}
.field input{padding:15px 16px;border-radius:16px;border:1px solid var(--line);background:#fff}
.form-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 22px;color:var(--muted);font-size:14px}
.checkbox{display:flex;align-items:center;gap:8px}
.callout{
  margin-top:18px;padding:16px;border-radius:18px;background:#f7fbfa;border:1px solid var(--line)
}
.module-icon{
  width:46px;height:46px;border-radius:16px;display:grid;place-items:center;
  background:var(--surface-tint); color:var(--primary-dark); font-weight:900; margin-bottom:14px
}
.mobile-overlay{display:none}
.footer-note{margin-top:18px;color:var(--muted);font-size:13px}

@media (max-width:1320px){
  .page-header.dashboard-header{display:grid;grid-template-columns:1fr;align-items:start;gap:16px;margin-bottom:18px}
}
@media (max-width:1280px){
  .hero{grid-template-columns:1fr}
  .grid-2-1,.profile-layout{grid-template-columns:1fr}
  .stats-row,.grid-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  .page-header.dashboard-header{display:grid;grid-template-columns:1fr;align-items:start;gap:16px;margin-bottom:18px}
  .header-quickboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
  .portal-shell{grid-template-columns:1fr}
  .sidebar{
    position:fixed; left:0; top:0; bottom:0; width:min(88vw,340px);
    transform:translateX(-102%); transition:.28s transform; z-index:60
  }
  body.menu-open .sidebar{transform:translateX(0)}
  .mobile-overlay{
    display:block; position:fixed; inset:0; z-index:55;
    background:rgba(6,18,28,.38); opacity:0; pointer-events:none; transition:.25s opacity
  }
  body.menu-open .mobile-overlay{opacity:1;pointer-events:auto}
  .menu-toggle{display:inline-grid;place-items:center}
  .topbar{padding:16px 18px}
  .search{min-width:0;flex:1}
  .container{width:calc(100% - 16px);padding:20px 0 28px}
  .stats-row,.grid-3,.doc-grid,.ticket-grid,.module-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .login-shell{grid-template-columns:1fr}
  .login-brand{padding:28px;min-height:auto;gap:22px}
  .login-panel{padding:18px}
  .page-header h1{font-size:34px}
  .hero-card{padding:24px;min-height:auto}
  .hero-card h1{font-size:42px}
  .topbar .pill{display:none}
  .user-chip span,.user-chip small{display:none}
  .stats-row,.grid-4,.grid-3,.grid-1-1,.doc-grid,.ticket-grid,.module-grid,.kpi-grid,.header-quickboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%}
  .header-actions,.filters{width:100%}
  .header-actions > *, .filters > *{flex:1 1 100%}
  .search{display:none}
  .container{width:calc(100% - 16px);padding:18px 0 28px}
  .panel,.panel-dark,.doc-card,.ticket-card,.module-card,.login-card{border-radius:22px}
  .table-wrap{border:1px solid var(--line);border-radius:18px}
  .profile-layout{gap:16px}
}


/* V3 refinements */
.hero-v3 .hero-card h1{max-width:12ch}
.meta-row,.stream-meta,.card-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.chip-active,.tab.is-active{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;border-color:transparent}
.emphasis-card{background:linear-gradient(180deg,#ffffff,#f2fbf7)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quick-tile{display:grid;gap:6px;padding:16px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfa);box-shadow:var(--shadow-sm)}
.quick-tile span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary-dark);font-weight:900}
.quick-tile strong{color:var(--ink)}
.quick-tile small{color:var(--muted);line-height:1.5}
.activity-stream{display:grid;gap:12px}
.stream-item{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfa);border-radius:20px}
.stream-item.urgent{border-color:#f1c27d;background:linear-gradient(180deg,#fffdfa,#fff7eb)}
.stream-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-weight:900}
.stream-item strong{display:block;color:var(--ink);margin-bottom:4px}
.stream-item p{margin:0;color:var(--muted);line-height:1.6}
.notice{padding:16px 18px;border-radius:20px;background:#f6fbfb;border:1px solid var(--line)}
.notice strong{display:block;color:var(--ink);margin-bottom:8px}
.notice p{margin:0;color:var(--muted);line-height:1.65}
.sticky-card{align-self:start;position:sticky;top:104px}
.approval-stack{display:grid;gap:14px}
.approval-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfa)}
.approval-card.active-card{border-color:#9fd7c7;box-shadow:0 12px 28px rgba(15,118,110,.10)}
.approval-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.approval-card h3{margin:0 0 8px;color:var(--ink);font-size:24px}
.approval-card p{margin:0;color:var(--muted);line-height:1.65}
.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.detail-grid.mini-grid{grid-template-columns:repeat(2,1fr)}
.detail-grid div,.summary-item{padding:12px 14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}
.detail-grid span,.summary-item span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.detail-grid strong,.summary-item strong{color:var(--ink)}
.summary-stack{display:grid;gap:10px}
.row-actions{display:flex;gap:10px;flex-wrap:wrap}
.timeline-compact{display:grid;gap:10px}
.mini-step{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}
.mini-step span:first-child{display:grid;place-items:center;font-weight:800;color:var(--primary-dark);background:var(--surface-tint);border-radius:12px;min-height:42px;padding:0 8px}
.mini-step strong{display:block;color:var(--ink)}
.mini-step small{color:var(--muted)}
.calendar-mini{display:grid;gap:14px}
.calendar-head,.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.calendar-head span{font-size:12px;text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.day{display:grid;place-items:center;min-height:52px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line);font-weight:700;color:var(--ink)}
.day.muted-day{color:#9aa9b5;background:#f8fafb}
.day.has-event{background:#e8fbf3;color:var(--ok);border-color:#c5efdc}
.day.has-warning{background:#fff6e7;color:var(--warn);border-color:#f1dbad}
.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}
.ok-dot{background:#22c55e}.warn-dot{background:#f59e0b}
.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kanban-col{display:grid;gap:12px;align-content:start}
.kanban-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-weight:800;color:var(--ink)}
.compact-card h3{font-size:19px;margin-bottom:8px}
.compact-card p{font-size:14px;line-height:1.6}
.ticket-thread{display:grid;gap:12px}
.message{padding:14px 16px;border-radius:18px;max-width:90%;box-shadow:var(--shadow-sm)}
.message.incoming{background:#f7fbfa;border:1px solid var(--line)}
.message.outgoing{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;margin-left:auto}
.message p{margin:6px 0 8px;line-height:1.6}
.message span{font-size:12px;opacity:.8}
.message strong{display:block}
.composer{display:grid;gap:12px}
.compact-thread .message{max-width:100%}
.profile-summary .employee.large{display:flex;align-items:center;gap:14px}
.profile-summary .employee.large img{width:64px;height:64px;border-radius:20px;object-fit:cover}
.detail-card{padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfa)}
.detail-card h3{margin:0 0 14px;color:var(--ink);font-size:22px}
.tab{cursor:pointer;border:none}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.tight-list .list-item{padding:12px}
@media (max-width:1280px){
  .kanban-board{grid-template-columns:repeat(2,1fr)}
  .sticky-card{position:static}
}
@media (max-width:1024px){
  .stream-item{grid-template-columns:46px 1fr}
  .stream-item .btn{grid-column:2}
  .detail-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .quick-grid,.kanban-board,.detail-grid,.detail-grid.mini-grid{grid-template-columns:1fr}
  .stream-item{grid-template-columns:1fr}
  .stream-icon{display:none}
  .stream-item .btn{grid-column:auto}
  .mini-step{grid-template-columns:58px 1fr}
  .calendar-head,.month-grid{gap:6px}
  .day{min-height:42px;font-size:13px}
  .message{max-width:100%}
}


/* V4 premium refinements */
:root{
  --surface-glass: rgba(255,255,255,.82);
  --info:#2563eb;
  --danger:#b42318;
}
body{
  background:
    radial-gradient(circle at 0% 0%, rgba(16,185,129,.06), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(11,62,86,.08), transparent 20%),
    linear-gradient(180deg,#f8fbfb 0%, #edf5f4 100%);
}
.sidebar{
  box-shadow: 20px 0 40px rgba(7,44,61,.18);
}
.brand img{width:82px}
.brand-copy .name{font-size:21px}
.nav a{
  min-height:48px;
}
.topbar{
  padding:16px 24px;
}
.search{
  min-height:52px;
  background:var(--surface-glass);
}
.top-actions .pill{background:var(--surface-glass)}
.page-header h1{font-size:clamp(34px,4vw,48px)}
.page-header .summary{max-width:78ch}
.hero-card{
  border-radius:30px;
}
.panel,.panel-dark,.doc-card,.ticket-card,.module-card,.detail-card,.approval-card,.quick-tile{
  backdrop-filter: blur(6px);
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--primary-dark);
}
.section-kicker:before{
  content:"";
  width:28px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.section-note{
  margin-top:14px;
  padding:14px 16px;
  border:1px dashed #cfe0dc;
  border-radius:18px;
  background:#fbfefd;
  color:var(--muted);
  line-height:1.6;
}
.two-col-feature{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:20px;
  margin:22px 0;
}
.executive-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:20px 0 0;
}
.exec-item{
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.10);
}
.exec-item strong{display:block;font-size:28px;margin-top:6px}
.exec-item span{color:rgba(255,255,255,.76);font-size:13px}
.table-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.table-toolbar .filters > *{flex:0 0 auto}
.inline-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.metric-tile{
  padding:14px 16px;
  border-radius:18px;
  background:var(--surface-soft);
  border:1px solid var(--line);
}
.metric-tile .muted{font-size:13px}
.metric-tile strong{display:block;margin-top:6px;color:var(--ink);font-size:24px}
.subtle-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.mini-chart{
  height:180px;
  border-radius:20px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#f6fbfa);
  padding:18px;
  position:relative;
  overflow:hidden;
}
.mini-chart .bars{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;height:100%}
.mini-chart .bars span{
  display:block;
  border-radius:14px 14px 6px 6px;
  background:linear-gradient(180deg,var(--primary),var(--primary-dark));
}
.call-panel{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(135deg,#082739,#0f766e);
  color:#fff;
  box-shadow:var(--shadow-lg);
}
.call-panel h3{margin:0 0 10px;font-size:28px}
.call-panel p{margin:0;color:rgba(255,255,255,.88);line-height:1.72}
.call-panel .btn{margin-top:18px}
.status-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.status-card{
  padding:18px;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f7fbfa);
  border:1px solid var(--line);
}
.status-card h3{margin:0 0 6px;font-size:20px;color:var(--ink)}
.status-card p{margin:0;color:var(--muted);line-height:1.6}
.status-bar{
  margin-top:14px;
  height:10px;
  border-radius:999px;
  background:#e8f0ef;
  overflow:hidden;
}
.status-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
}
.floating-help{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:40;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary));
  color:#fff;
  font-weight:800;
  box-shadow:0 18px 34px rgba(15,118,110,.24);
}
.compact-table td,.compact-table th{padding:12px 10px}
.timeline-board{
  display:grid;
  gap:14px;
}
.timeline-row{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
}
.timeline-row .when{
  font-weight:800;
  color:var(--primary-dark);
}
.timeline-row .what strong{display:block;color:var(--ink);margin-bottom:4px}
.timeline-row .what small{color:var(--muted)}
.kbd{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  padding:4px 8px;
  border-radius:10px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  font-size:12px;
  font-weight:800;
  color:var(--muted);
}
.feed-stack{
  display:grid;
  gap:16px;
}
.feed-card{
  padding:20px;
  border-radius:22px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.feed-card h3{margin:0 0 10px;font-size:24px;color:var(--ink)}
.feed-card p{margin:0;color:var(--muted);line-height:1.7}
.feature-banner{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:20px;
  padding:26px;
  border-radius:28px;
  background:linear-gradient(135deg,#082739,#0f766e);
  color:#fff;
  box-shadow:var(--shadow-lg);
}
.feature-banner h2{margin:0 0 10px;font-size:34px}
.feature-banner p{margin:0;color:rgba(255,255,255,.9);line-height:1.7}
.feature-banner .aside{
  padding:20px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.feature-banner .aside strong{display:block;margin-bottom:10px}
.empty-state{
  padding:26px;
  border-radius:22px;
  border:1px dashed #cfdedb;
  background:#fbfefd;
  text-align:center;
}
.empty-state h3{margin:0 0 10px;color:var(--ink)}
.empty-state p{margin:0;color:var(--muted);line-height:1.7}
@media (max-width:1280px){
  .two-col-feature,.feature-banner,.executive-strip,.status-grid,.inline-metrics,.subtle-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .floating-help{left:12px;right:12px;bottom:12px;justify-content:center}
  .timeline-row{grid-template-columns:1fr}
  .feature-banner{padding:22px}
  .feature-banner h2{font-size:28px}
}


/* V22 ajustes documentos + navegación lateral */
.sidebar{scroll-behavior:auto;}
.page-documents .page-header{display:block;}
.page-documents .page-header .summary{max-width:none;}
.page-documents .documents-topstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px;}
.page-documents .documents-main{display:grid;gap:22px;}
.page-documents .documents-lower{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.page-documents .table-wrap{overflow:auto;}
.page-documents .section-head .header-actions{display:flex;gap:10px;flex-wrap:wrap;}
.page-documents .quick-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.page-documents .quick-doc-grid .panel{height:100%;}
@media(max-width:1100px){
  .page-documents .documents-topstats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-documents .documents-lower{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .page-documents .documents-topstats,
  .page-documents .quick-doc-grid{grid-template-columns:1fr;}
}


/* V23 premium polish */
.sidebar{scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.22) transparent}
.sidebar::-webkit-scrollbar{width:10px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.nav-section{margin-top:18px}
.nav-section:first-of-type{margin-top:12px}
.nav-section .nav{display:grid;gap:6px}
.nav-section .nav-title{padding:10px 12px 8px}
.nav a{box-shadow:inset 0 0 0 1px transparent}
.nav a:hover,.nav a.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.topbar{gap:18px}
.topbar .left{flex:1 1 auto}
.top-actions{margin-left:auto}
.page-header.dashboard-header{padding-top:6px}
.page-header.dashboard-header .summary h1{letter-spacing:-.03em}
.table-wrap{background:#fff;border-radius:20px}
.table-wrap thead th{position:sticky;top:0;background:#fbfefd;z-index:2;box-shadow:0 1px 0 var(--line)}
.panel,.hq-card,.stat-card,.list-item,.alert-item,.ticket-item,.approval-item,.notification-item,.signature-card,.security-chip,.support-box{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.panel:hover,.hq-card:hover,.stat-card:hover,.list-item:hover,.alert-item:hover,.ticket-item:hover,.notification-item:hover,.signature-card:hover{box-shadow:var(--shadow-md)}
.quicklink-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}
.quicklink-card{display:grid;gap:12px;padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f7fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.quicklink-card:hover{transform:translateY(-2px);border-color:#c7ddd9}
.quicklink-card .icon-badge{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--surface-tint);color:var(--primary-dark);font-weight:900}
.quicklink-card strong{font-size:18px;color:var(--ink);line-height:1.2}
.quicklink-card p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}
.quicklink-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}
.quicklink-meta span:last-child{color:var(--primary-dark);font-weight:800}
.radar-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin:0 0 22px}
.radar-card{padding:22px;border-radius:24px;background:linear-gradient(180deg,#ffffff,#f8fbfb);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.radar-card h3{margin:0 0 10px;font-size:24px;color:var(--ink)}
.radar-card p{margin:0;color:var(--muted);line-height:1.65}
.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.signal{padding:14px 14px 12px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}
.signal strong{display:block;font-size:24px;color:var(--ink);margin-bottom:4px}
.signal span{display:block;font-size:13px;color:var(--muted);line-height:1.5}
.priority-stack{display:grid;gap:12px;margin-top:4px}
.priority-chip{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.priority-chip strong{display:block;color:var(--ink);margin-bottom:4px}
.priority-chip small{display:block;color:var(--muted);line-height:1.45}
.priority-chip .badge{flex:0 0 auto}
@media (max-width:1280px){.quicklink-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-grid{grid-template-columns:1fr}.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.quicklink-grid,.signal-grid{grid-template-columns:1fr}.priority-chip{flex-direction:column;align-items:flex-start}.page-header.dashboard-header{padding-top:0}}


/* V24 premium operational polish */
:root{--sidebar:260px;--container:calc(100% - 18px)}
body{color:var(--text)}
.topbar{padding:14px 20px;background:rgba(248,251,251,.94)}
.search{min-width:min(420px,34vw);padding:11px 14px;border-radius:18px}
.company-switch,.notif-bell,.pill,.user-chip{min-height:52px}
.user-chip{padding-right:14px}
.container{padding:24px 0 34px}
.page-header{margin-bottom:18px}
.page-header.dashboard-header .summary h1{font-size:clamp(42px,4.6vw,64px);line-height:.98}
.page-header.dashboard-header .summary p{font-size:16px;max-width:74ch}
.page-header.dashboard-header .summary{padding-right:12px}
.header-quickboard{margin-top:2px}
.hq-card{position:relative;overflow:hidden}
.hq-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary-dark),var(--primary))}
.hq-card strong{font-size:38px}
.quicklink-card,.radar-card,.ops-card,.stat-card,.panel,.ticket-item,.approval-item,.notification-item,.signature-card,.detail-card{border-color:#dbe7e5}
.quicklink-card,.radar-card,.ops-card{background:linear-gradient(180deg,#ffffff 0%,#f7fbfa 100%)}
.quicklink-grid{margin-bottom:18px}
.ops-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}
.ops-card{padding:18px 18px 16px;border-radius:22px;box-shadow:var(--shadow-sm)}
.ops-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ops-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-dark);font-weight:800}
.ops-card strong{display:block;font-size:24px;line-height:1.15;color:var(--ink);margin-bottom:8px}
.ops-card p{margin:0;color:var(--muted);line-height:1.6;min-height:72px}
.ops-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}
.ops-meta span{color:var(--muted);font-weight:700}
.ops-meta a{color:var(--primary-dark);font-weight:800}
.stats-row{margin:18px 0}
.stat-card{position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary-dark),var(--primary))}
.stat-card .num{font-size:36px}
.table-wrap{border:1px solid var(--line);border-radius:20px;overflow:auto;background:#fff;box-shadow:0 10px 24px rgba(11,34,56,.04)}
.table-wrap table{min-width:860px}
.table-wrap thead th{position:sticky;top:0;background:#fbfefd;z-index:2;box-shadow:0 1px 0 var(--line)}
.table-wrap tbody tr:nth-child(even){background:rgba(11,34,56,.018)}
.table-wrap tbody tr:hover{background:#f3faf8}
th{font-size:12px;letter-spacing:.1em}
td{line-height:1.55}
.badge{white-space:nowrap}
.filter-form{padding:16px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fbfefd,#f7fbfa)}
.filter-grid{align-items:end}
.input,.select,.textarea{transition:border-color .18s ease, box-shadow .18s ease}
.input:focus,.select:focus,.textarea:focus{border-color:#98d3c9;box-shadow:0 0 0 4px rgba(16,185,129,.10)}
.documents-topstats .stat-card .title{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-dark);font-weight:800}
.documents-lower{align-items:start}
.quick-doc-grid .panel{background:linear-gradient(180deg,#ffffff,#f7fbfa)}
.section-head h2{font-size:30px;letter-spacing:-.02em}
.section-head p{max-width:70ch}
.notice,.callout,.demo-box{box-shadow:0 8px 20px rgba(11,34,56,.04)}
.empty-state{box-shadow:0 10px 24px rgba(11,34,56,.04)}
@media (max-width:1360px){
  .ops-ribbon{grid-template-columns:1fr}
}
@media (max-width:1100px){
  :root{--sidebar:250px}
  .page-header.dashboard-header .summary h1{font-size:clamp(34px,5vw,48px)}
}
@media (max-width:1024px){
  .topbar{padding:14px 16px}
  .search{min-width:0;flex:1}
  .ops-card p{min-height:0}
}
@media (max-width:760px){
  :root{--container:calc(100% - 14px)}
  .topbar{padding:12px 14px}
  .company-switch,.notif-bell,.pill,.user-chip{min-height:48px}
  .header-quickboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hq-card strong{font-size:30px}
  .table-wrap table{min-width:720px}
  .ops-ribbon{gap:12px}
}


/* V25 enterprise refinement */
:root{
  --sidebar:248px;
  --container:min(100%, calc(100% - 24px));
  --line:#dbe7e5;
  --line-strong:#cfdedb;
  --shadow-lg:0 26px 70px rgba(11,34,56,.10);
  --shadow-md:0 16px 36px rgba(11,34,56,.08);
  --shadow-sm:0 8px 22px rgba(11,34,56,.05);
}
html,body{overflow-x:hidden}
body{
  font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  color:var(--text);
}
.main,.container,.page-header,.grid-2-1,.grid-1-1,.grid-3,.grid-4,.stats-row,.hero,.doc-grid,.ticket-grid,.module-grid,.radar-grid,.quicklink-grid,.ops-ribbon,.header-quickboard,.documents-lower,.documents-main,.table-wrap{min-width:0}
.grid-2-1>* ,.grid-1-1>* ,.grid-3>* ,.grid-4>* ,.stats-row>* ,.hero>* ,.documents-lower>* ,.radar-grid>* ,.quicklink-grid>* ,.ops-ribbon>* {min-width:0}
.topbar{padding:14px 18px 16px;border-bottom:1px solid var(--line-strong);box-shadow:0 10px 28px rgba(11,34,56,.035)}
.sidebar{padding:18px 16px 22px}
.brand{padding:10px 8px 16px}
.brand img{width:68px}
.nav a{padding:12px 13px;border-radius:15px}
.page-header .summary h1,.page-header.dashboard-header .summary h1,.hero-card h1,.section-head h2,.call-panel h3,.feed-card h3,.feature-banner h2{
  letter-spacing:-.045em;
  font-weight:800;
}
.page-header.dashboard-header .summary h1{font-size:clamp(40px,4.2vw,60px)}
.page-header p,.section-head p,.metric-card p,.ticket-card p,.doc-card p,.module-card p{color:#5d7285}
.section-kicker,.eyebrow,.hq-card span,.ops-kicker,.documents-topstats .stat-card .title,.nav-title{letter-spacing:.17em}
.panel,.hq-card,.stat-card,.doc-card,.ticket-card,.module-card,.radar-card,.quicklink-card,.ops-card,.table-wrap,.list-item,.support-box,.user-chip,.pill,.company-switch,.notif-bell{border-color:var(--line-strong)}
.panel,.hq-card,.stat-card,.doc-card,.ticket-card,.module-card,.radar-card,.quicklink-card,.ops-card,.table-wrap{background:linear-gradient(180deg,#ffffff 0%,#f8fcfb 100%)}
.table-wrap{overflow:auto hidden}
.table-wrap table{width:100%;min-width:780px}
td,th{border-bottom:1px solid #e3ecea}
th{font-size:11.5px;letter-spacing:.12em;color:#6b7f90}
td{padding:15px 12px}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:#f4faf8}
.badge,.chip{font-weight:800}
.btn{border-radius:999px}
.btn-primary{background:linear-gradient(135deg,#0b6c64,#18b88d)}
.search,.pill,.company-switch,.notif-bell,.user-chip{border-radius:18px}
.search{min-width:min(430px,32vw)}
.hero-card{min-height:280px}
.hero-side,.hero-card,.card-pad,.hq-card,.quicklink-card,.radar-card,.ops-card,.stat-card,.doc-card,.ticket-card,.module-card{border-radius:24px}
.info-row,.comment-item,.perm-chip,.signal,.priority-chip,.metric-tile,.list-item{border-radius:18px}
.input,.select,.textarea{border-radius:16px}
.input::placeholder,.textarea::placeholder{color:#8ca0b2}
.form-grid-2,.filter-grid{align-items:end}
.page-vacaciones .grid-2-1,
.page-liquidaciones .grid-2-1,
.page-colaboradores .grid-2-1,
.page-tickets .grid-2-1,
.page-comunicados .grid-2-1,
.page-usuarios .grid-2-1,
.page-configuracion .grid-2-1,
.page-desempeno .grid-2-1,
.page-capacitacion .grid-2-1,
.page-reportes .grid-1-1,
.page-perfil .grid-2-1{
  align-items:start;
}
.page-vacaciones .grid-2-1,
.page-liquidaciones .grid-2-1,
.page-colaboradores .grid-2-1,
.page-tickets .grid-2-1,
.page-comunicados .grid-2-1,
.page-usuarios .grid-2-1,
.page-configuracion .grid-2-1,
.page-desempeno .grid-2-1,
.page-capacitacion .grid-2-1,
.page-perfil .grid-2-1{grid-template-columns:minmax(0,1.42fr) minmax(320px,.82fr)}
.page-reportes .grid-1-1{grid-template-columns:minmax(0,1fr) minmax(300px,.92fr)}
.page-vacaciones .grid-2-1 > section:last-child,
.page-liquidaciones .grid-2-1 > section:last-child,
.page-tickets .grid-2-1 > section:last-child,
.page-colaboradores .grid-2-1 > section:last-child,
.page-desempeno .grid-2-1 > section:last-child,
.page-capacitacion .grid-2-1 > section:last-child,
.page-usuarios .grid-2-1 > section:last-child,
.page-configuracion .grid-2-1 > section:last-child,
.page-perfil .grid-2-1 > section:last-child{
  position:sticky;
  top:96px;
  align-self:start;
}
.page-vacaciones .table-wrap table,
.page-liquidaciones .table-wrap table,
.page-tickets .table-wrap table,
.page-colaboradores .table-wrap table{min-width:0}
.page-vacaciones .table-wrap,
.page-liquidaciones .table-wrap,
.page-colaboradores .table-wrap,
.page-tickets .table-wrap{overflow:auto}
.page-vacaciones .table-wrap th:first-child,
.page-vacaciones .table-wrap td:first-child,
.page-liquidaciones .table-wrap th:first-child,
.page-liquidaciones .table-wrap td:first-child{padding-left:16px}
.page-documentos .documents-topstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 22px}
.page-documentos .documents-main{display:grid;gap:22px}
.page-documentos .documents-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:20px}
.page-documentos .quick-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.page-reportes .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-dashboard .quick-company{margin-top:10px}
.notice,.callout,.demo-box{border-radius:18px}
.sidebar-footer{gap:10px}
@media (max-width:1360px){
  .page-vacaciones .grid-2-1,
  .page-liquidaciones .grid-2-1,
  .page-colaboradores .grid-2-1,
  .page-tickets .grid-2-1,
  .page-comunicados .grid-2-1,
  .page-usuarios .grid-2-1,
  .page-configuracion .grid-2-1,
  .page-desempeno .grid-2-1,
  .page-capacitacion .grid-2-1,
  .page-perfil .grid-2-1,
  .page-reportes .grid-1-1,
  .page-documentos .documents-lower{grid-template-columns:1fr}
  .page-vacaciones .grid-2-1 > section:last-child,
  .page-liquidaciones .grid-2-1 > section:last-child,
  .page-colaboradores .grid-2-1 > section:last-child,
  .page-tickets .grid-2-1 > section:last-child,
  .page-comunicados .grid-2-1 > section:last-child,
  .page-usuarios .grid-2-1 > section:last-child,
  .page-configuracion .grid-2-1 > section:last-child,
  .page-desempeno .grid-2-1 > section:last-child,
  .page-capacitacion .grid-2-1 > section:last-child,
  .page-perfil .grid-2-1 > section:last-child{position:static}
}
@media (max-width:1100px){
  :root{--sidebar:236px;--container:min(100%, calc(100% - 16px))}
  .search{min-width:0;flex:1}
  .header-quickboard,.quicklink-grid,.documents-topstats,.stats-row,.grid-4,.grid-3,.doc-grid,.ticket-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-documentos .quick-doc-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  :root{--container:min(100%, calc(100% - 12px))}
  .topbar{padding:12px 12px 14px}
  .header-quickboard,.quicklink-grid,.documents-topstats,.stats-row,.grid-4,.grid-3,.doc-grid,.ticket-grid,.module-grid,.page-reportes .mini-grid,.page-documentos .documents-lower{grid-template-columns:1fr}
  .page-header.dashboard-header .summary h1{font-size:clamp(34px,11vw,44px)}
  .table-wrap table{min-width:640px}
}


/* V26 premium refinement */
body.sidebar-condensed{--sidebar:248px}
.sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;box-shadow:inset -1px 0 0 rgba(255,255,255,.05)}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.brand{padding-bottom:22px}.brand-copy .name{font-size:18px;letter-spacing:-.02em}.brand-copy .sub{line-height:1.45}
.nav a{position:relative;font-weight:650}.nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:#9df2d0;box-shadow:0 0 0 2px rgba(157,242,208,.15)}
.nav .icon{border:1px solid rgba(255,255,255,.08)}
.topbar{padding:14px 18px;background:rgba(248,251,251,.88)}
.search{cursor:pointer;position:relative;min-width:min(520px,46vw);transition:.2s border-color,.2s box-shadow,.2s transform}
.search:hover{border-color:#b8d8d2;box-shadow:0 14px 30px rgba(11,34,56,.08)}
.search:after{content:'Ctrl + K';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--muted);padding:6px 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line)}
.search input{pointer-events:none}
.container{padding-top:24px;padding-bottom:42px}
.context-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.context-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}.context-path strong{color:var(--ink)}
.context-tags{display:flex;gap:10px;flex-wrap:wrap}.context-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px;font-weight:750;color:var(--ink)}
.page-header h1{letter-spacing:-.045em;font-size:clamp(38px,3.4vw,56px)}
.page-header p{font-size:18px;line-height:1.75;max-width:78ch}
.section-kicker,.eyebrow,.nav-title{font-variant:all-small-caps;letter-spacing:.18em}
.panel,.hq-card,.stat-card,.kpi,.quicklink-card,.ops-card,.radar-card,.signature-card,.alert-item,.notification-item,.ticket-item,.approval-item{backdrop-filter:blur(6px)}
.panel{border-color:var(--line-strong)}
.card-pad{padding:24px}
.table-wrap{border:1px solid var(--line);border-radius:20px;overflow:auto;background:#fff}
table{font-size:15px} th{position:sticky;top:0;background:#fbfdfd;z-index:2;border-bottom:1px solid var(--line-strong);font-size:11px;letter-spacing:.14em;padding:16px 14px} td{padding:16px 14px} tbody tr:hover td{background:#f8fcfb} tbody tr:nth-child(even) td{background:rgba(248,251,250,.55)}
.input,.select,.textarea{border-color:var(--line-strong);min-height:48px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.textarea{min-height:118px}.input:focus,.select:focus,.textarea:focus{border-color:#89cabd;box-shadow:0 0 0 4px rgba(16,185,129,.10)}
.btn{letter-spacing:-.01em}.btn-primary{box-shadow:0 14px 30px rgba(16,185,129,.22)}
.hero{gap:18px}.hero-card{padding:32px}.hero-card h1{letter-spacing:-.05em}.hero-card p{max-width:58ch}
.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.exec-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09)}.exec-item span{display:block;color:rgba(255,255,255,.72);font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:8px}.exec-item strong{font-size:24px;line-height:1}
.quicklink-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:10px 0 22px}.quicklink-card{padding:20px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fbfa);box-shadow:var(--shadow-sm);display:grid;gap:10px;transition:.2s transform,.2s box-shadow,.2s border-color}.quicklink-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#b6d8d1}.icon-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em}.quicklink-card strong{font-size:19px;color:var(--ink);letter-spacing:-.02em}.quicklink-card p{margin:0;color:var(--muted);line-height:1.6}.quicklink-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--primary-dark);font-weight:800;padding-top:8px;border-top:1px solid var(--line)}
.ops-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 22px}.ops-card{padding:20px}.ops-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ops-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary-dark);font-weight:800}.ops-card strong{font-size:22px;color:var(--ink);letter-spacing:-.03em;display:block;margin-bottom:8px}.ops-card p{margin:0;color:var(--muted);line-height:1.65}.ops-meta{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:700}.ops-meta a{color:var(--primary-dark)}
.radar-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin:0 0 22px}.radar-card{padding:22px;border-radius:24px;background:linear-gradient(180deg,#fff,#f7fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.signal{padding:18px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.signal strong{font-size:32px;display:block;color:var(--ink);margin-bottom:8px}.signal span{font-size:13px;color:var(--muted);line-height:1.55}.priority-stack{display:grid;gap:12px}.priority-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.priority-chip strong{display:block;color:var(--ink);margin-bottom:6px}.priority-chip small{display:block;color:var(--muted);line-height:1.5}
.floating-rail{position:fixed;right:22px;bottom:22px;z-index:38;display:grid;gap:10px}.floating-main{width:58px;height:58px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--primary-dark),var(--primary));box-shadow:0 18px 34px rgba(16,185,129,.30);color:#fff;font-size:26px;cursor:pointer}.floating-menu{display:none;gap:10px}.floating-menu.open{display:grid}.floating-link{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);color:var(--ink);font-weight:700;white-space:nowrap}.floating-link span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--surface-tint);color:var(--primary-dark);font-size:12px;font-weight:800}
.command-backdrop{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:9vh 20px 20px;background:rgba(4,19,29,.42);backdrop-filter:blur(10px);z-index:60}.command-backdrop.open{display:flex}.command-palette{width:min(860px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 40px 120px rgba(11,34,56,.24);overflow:hidden}.command-head{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.command-head input{border:none;outline:none;width:100%;font-size:18px;color:var(--ink);background:transparent}.command-head .kbd{padding:6px 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--muted)}.command-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:360px}.command-results,.command-side{padding:18px}.command-results{border-right:1px solid var(--line);display:grid;gap:10px;align-content:start}.command-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid transparent;background:transparent;cursor:pointer;transition:.15s background,.15s border-color}.command-item:hover,.command-item.active{background:var(--surface-soft);border-color:var(--line)}.command-item strong{display:block;color:var(--ink);margin-bottom:4px}.command-item small{display:block;color:var(--muted);line-height:1.45}.command-item em{font-style:normal;color:var(--primary-dark);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.command-side h4{margin:0 0 14px;font-size:15px;text-transform:uppercase;letter-spacing:.14em;color:var(--primary-dark)}.shortcut-list{display:grid;gap:10px}.shortcut-list div{padding:12px 14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}.shortcut-list strong{display:block;margin-bottom:4px;color:var(--ink)}.shortcut-list span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.dense-page .section-head h2{font-size:24px}.dense-page .card-pad{padding:20px}.dense-page .table-wrap th,.dense-page .table-wrap td{padding:14px 12px}
.documents-main{display:grid;gap:18px}.documents-lower{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}.documents-side .panel{height:100%}
.page-vacaciones .grid-2-1,.page-liquidaciones .grid-2-1,.page-usuarios .grid-2-1,.page-configuracion .grid-2-1,.page-documentos .documents-lower{align-items:start}.page-vacaciones .grid-2-1>section:last-child,.page-liquidaciones .grid-2-1>section:last-child,.page-usuarios .grid-2-1>section:last-child,.page-configuracion .grid-2-1>section:last-child{position:sticky;top:104px}
.page-documentos .documents-side{position:sticky;top:104px}
.notice{padding:16px 18px;border-radius:18px;background:#f8fbfa;border:1px solid var(--line)}
@media (max-width: 1320px){.header-quickboard,.quicklink-grid,.ops-ribbon,.signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-grid,.documents-lower{grid-template-columns:1fr}.page-documentos .documents-side,.page-vacaciones .grid-2-1>section:last-child,.page-liquidaciones .grid-2-1>section:last-child,.page-usuarios .grid-2-1>section:last-child,.page-configuracion .grid-2-1>section:last-child{position:static}}
@media (max-width: 1100px){body.sidebar-condensed{--sidebar:272px}.hero,.grid-2-1,.grid-1-1{grid-template-columns:1fr}.header-quickboard,.quicklink-grid,.ops-ribbon,.signal-grid,.stats-row,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.page-header h1{font-size:42px}.search{min-width:0;width:100%}.context-bar{align-items:flex-start}.floating-rail{right:16px;bottom:16px}}
@media (max-width: 760px){.context-bar,.topbar,.hero-card,.hero-side,.card-pad{padding-left:16px;padding-right:16px}.header-quickboard,.quicklink-grid,.ops-ribbon,.signal-grid,.stats-row,.grid-3,.grid-4,.documents-lower,.form-grid-2,.filter-grid{grid-template-columns:1fr}.page-header h1{font-size:38px}.search:after{display:none}.command-grid{grid-template-columns:1fr}.command-results{border-right:none;border-bottom:1px solid var(--line)}.floating-link{padding:11px 12px}.executive-strip{grid-template-columns:1fr 1fr}}


/* V27 Product Experience */
body{font-size:15px;line-height:1.6}
.sidebar{padding:18px 14px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.brand{padding:12px 12px 20px}.brand img{width:64px}.brand-copy .name{font-size:18px}.brand-copy .sub{font-size:12px}
.nav-section{margin-top:10px}
.nav-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.62)}
.nav-toggle i{font-style:normal;font-size:12px;transition:transform .2s ease}
.nav-section .nav{max-height:900px;overflow:hidden;transition:max-height .22s ease, opacity .2s ease;opacity:1}
.nav-section:not(.is-open) .nav{max-height:0;opacity:.2}
.nav-section:not(.is-open) .nav-toggle i{transform:rotate(-90deg)}
.nav a{padding:12px 14px;border-radius:15px;font-size:14px}
.nav a.active{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nav .icon{width:22px;height:22px;border-radius:9px;font-size:10px}
.sidebar-footer{margin-top:18px;padding-top:14px}.support-box{padding:14px 14px 15px;border-radius:16px}
.search{min-width:min(520px,44vw);padding:13px 16px;border-radius:18px}
.top-actions{gap:10px}.top-quick-action{padding:10px 14px;border-radius:14px;font-size:13px}
.user-chip{padding:7px 12px 7px 7px}.user-chip img{width:40px;height:40px}
.container{padding:22px 0 34px}.page-header{margin-bottom:18px}.page-header h1{font-size:clamp(34px,3.3vw,52px);letter-spacing:-.03em}
.section-kicker{padding:8px 14px;border-radius:999px;background:linear-gradient(180deg,#f4fbf9,#eef7f5)}
.workspace-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.workspace-chip{display:grid;gap:3px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.workspace-chip span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}
.workspace-chip strong{font-size:15px;color:var(--ink);font-weight:800}
.workspace-shortcut{background:linear-gradient(180deg,#f3fbf8,#ebf7f4)}
.header-quickboard{gap:12px}.hq-card{padding:16px 16px 15px;min-height:118px;border-radius:20px}.hq-card strong{font-size:32px}
.hero{gap:18px}.hero-card{padding:28px;min-height:292px}.hero-side{padding:22px;min-height:292px}.hero-card h1{font-size:clamp(34px,4.2vw,60px)}
.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.exec-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}.exec-item span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72);font-weight:800;margin-bottom:6px}.exec-item strong{font-size:28px;line-height:1;color:#fff}
.quicklink-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 22px}.quicklink-card{display:grid;gap:12px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.quicklink-card strong{font-size:18px;color:var(--ink)}.quicklink-card p{margin:0;color:var(--muted);line-height:1.6}.quicklink-meta{display:flex;justify-content:space-between;gap:10px;color:var(--primary-dark);font-size:13px;font-weight:700}.icon-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-size:13px;font-weight:800}
.enterprise-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}.enterprise-card{padding:20px;border-radius:24px}.enterprise-card strong{display:block;font-size:24px;color:var(--ink);line-height:1.2;margin-bottom:8px}.enterprise-card p{margin:0;color:var(--muted)}
.ops-ribbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}.ops-card{padding:20px}.ops-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.ops-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--primary-dark);font-weight:800}.ops-card strong{display:block;font-size:22px;color:var(--ink);line-height:1.25;margin-bottom:8px}.ops-card p{margin:0;color:var(--muted);line-height:1.55}.ops-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--primary-dark);font-weight:700}
.radar-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin:0 0 22px}.radar-card{padding:22px;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.radar-card h3{margin:0;font-size:26px;color:var(--ink)}.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.signal{padding:16px;border-radius:18px;background:#f4fbf9;border:1px solid #dcedea}.signal strong{display:block;font-size:30px;color:var(--ink);margin-bottom:8px}.signal span{font-size:13px;color:var(--muted);line-height:1.55}.priority-stack{display:grid;gap:12px;margin-top:14px}.priority-chip{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;background:#f8fbfa;border:1px solid var(--line)}.priority-chip small{display:block;margin-top:4px;color:var(--muted);line-height:1.55}
.dense-page .grid-2-1{grid-template-columns:1.45fr .95fr}.dense-page .panel{border-radius:24px}.dense-page .card-pad{padding:20px}.dense-page .section-head h2{font-size:24px}.dense-page table th,.dense-page table td{padding:12px 12px}.dense-page .input,.dense-page .select,.dense-page .textarea{padding:11px 13px;border-radius:13px}.dense-page .textarea{min-height:104px}
.documents-main,.documents-lower,.quick-doc-grid{display:grid;gap:18px}.documents-lower{grid-template-columns:1.2fr .8fr}.quick-doc-grid{grid-template-columns:1fr 1fr}.documents-topstats{margin-top:4px}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:#fff}.table-wrap table{min-width:760px}.table-wrap thead th{position:sticky;top:0;background:#f8fbfb;z-index:2;box-shadow:inset 0 -1px 0 var(--line)}.table-wrap tbody tr:nth-child(even){background:#fbfdfd}.table-wrap tbody tr:hover{background:#f1faf7}
.filters,.header-actions{align-items:center}
.grid-2-1 > .panel:last-child{position:sticky;top:108px;align-self:start}
.documents-lower > .panel{position:static}
.floating-rail{position:fixed;right:18px;bottom:18px;z-index:46}.floating-main{width:58px;height:58px;border-radius:20px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;font-size:28px;font-weight:700;box-shadow:0 16px 36px rgba(16,185,129,.28)}.floating-menu{position:absolute;right:0;bottom:70px;display:grid;gap:10px;min-width:240px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s ease}.floating-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.floating-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);font-weight:700;color:var(--ink)}.floating-link span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#eef7f4;color:var(--primary-dark);font-size:11px;font-weight:800}
.command-backdrop{position:fixed;inset:0;background:rgba(9,30,41,.48);backdrop-filter:blur(8px);display:none;align-items:flex-start;justify-content:center;padding:7vh 16px;z-index:60}.command-backdrop.open{display:flex}.command-palette{width:min(980px,100%);border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 28px 70px rgba(11,34,56,.20);overflow:hidden}.command-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.command-head input{flex:1;border:none;outline:none;font-size:16px}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:#f8fbfb;color:var(--muted);font-weight:700}.command-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:420px}.command-results{padding:10px;display:grid;gap:8px;align-content:start;max-height:72vh;overflow:auto}.command-item{display:flex;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;border:1px solid transparent;transition:.15s ease}.command-item:hover,.command-item.active{background:#f4fbf9;border-color:#d6ece5}.command-item strong{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}.command-item small{color:var(--muted);line-height:1.55}.command-item em{font-style:normal;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-dark)}.command-side{padding:22px;border-left:1px solid var(--line);background:linear-gradient(180deg,#fbfefe,#f4fbf9)}.command-side h4{margin:0 0 14px;font-size:18px;color:var(--ink)}.shortcut-list{display:grid;gap:12px}.shortcut-list div{padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line)}.shortcut-list strong{display:block;margin-bottom:6px;color:var(--ink)}.shortcut-list span{font-size:13px;color:var(--muted);line-height:1.55}
@media (max-width: 1360px){.workspace-bar,.header-quickboard,.quicklink-grid,.enterprise-strip,.ops-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-grid{grid-template-columns:1fr}.radar-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.grid-2-1{grid-template-columns:1fr}.grid-2-1 > .panel:last-child{position:static}.documents-lower{grid-template-columns:1fr}.documents-lower > .panel{position:static}.search{min-width:min(360px,40vw)}}
@media (max-width: 1024px){:root{--sidebar:288px;--container:calc(100% - 20px)}.portal-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);height:auto;transform:translateX(-102%);transition:.24s ease;z-index:50}.menu-open .sidebar{transform:translateX(0)}.mobile-overlay{position:fixed;inset:0;background:rgba(8,26,36,.42);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:.2s ease;z-index:40}.menu-open .mobile-overlay{opacity:1;pointer-events:auto}.menu-toggle{display:inline-grid;place-items:center}.topbar{padding:14px 14px}.top-actions{justify-content:flex-start}.workspace-bar,.header-quickboard,.quicklink-grid,.enterprise-strip,.ops-ribbon,.login-ops-grid{grid-template-columns:1fr}.command-grid{grid-template-columns:1fr}.command-side{border-left:none;border-top:1px solid var(--line)}.search{min-width:0;width:100%}}
@media (max-width: 760px){body{font-size:14px}.container{padding:16px 0 28px}.page-header h1{font-size:40px}.section-head h2{font-size:24px}.hero-card,.hero-side,.radar-card,.panel.card-pad{padding:18px}.executive-strip,.kpi-grid,.demo-grid,.account-grid,.login-feature-grid,.security-grid,.mini-grid,.permissions-grid,.filter-grid,.form-grid-2,.quick-doc-grid{grid-template-columns:1fr}.table-wrap table{min-width:680px}.top-actions{gap:8px}.top-quick-action{display:none}.workspace-bar{grid-template-columns:1fr 1fr}.workspace-shortcut{grid-column:1/-1}.brand{gap:10px}.brand img{width:56px}.brand-copy .name{font-size:17px}}


/* V28 brutal sidebar + enterprise polish */
:root{--sidebar:272px;--container:calc(100% - 18px);}
.portal-shell{grid-template-columns:var(--sidebar) 1fr;align-items:start}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:18px 14px 18px;background:
  radial-gradient(circle at top left, rgba(16,185,129,.22), transparent 26%),
  radial-gradient(circle at bottom left, rgba(125,211,252,.10), transparent 24%),
  linear-gradient(180deg,#06293a 0%, #0a3c53 48%, #0d6b69 100%);}
.brand{padding:10px 10px 16px;margin-bottom:8px;flex:0 0 auto}
.sidebar-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding-right:4px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.sidebar-footer{margin-top:14px;flex:0 0 auto;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:14px;backdrop-filter:blur(6px)}
.support-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:14px 14px 15px;border-radius:16px;box-shadow:none}
.status-list{gap:10px}.status-list span{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.05)}
.nav-section{margin-top:8px}
.nav-title{display:flex;align-items:center;justify-content:space-between;padding:12px 12px;font-size:11px;color:rgba(255,255,255,.56);letter-spacing:.18em}
.nav-toggle{width:100%;border:none;background:transparent;cursor:pointer}
.nav-toggle i{font-style:normal;transition:transform .18s ease;color:rgba(255,255,255,.6)}
.nav-section.is-open .nav-toggle i{transform:rotate(180deg)}
.nav{gap:6px;padding-bottom:6px}.nav a{padding:13px 14px;border-radius:18px}.nav a:hover,.nav a.active{background:rgba(255,255,255,.14);transform:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.nav .icon{width:22px;height:22px;border-radius:9px;background:rgba(255,255,255,.12)}
.container{width:var(--container);max-width:none;padding:24px 0 34px}
.topbar{padding:14px 18px;gap:16px}.search{min-width:min(520px,44vw)}
.page-header{margin-bottom:18px}.page-header h1{letter-spacing:-.03em;font-size:40px}
.section-kicker{padding:8px 14px;border-radius:999px;background:#eff7f5;color:var(--primary-dark);border-color:#d6ebe6;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.workspace-bar{margin-bottom:16px}.workspace-card{border-radius:20px;padding:16px 18px}.workspace-card strong{font-size:28px}
.panel,.card,.hero-card,.hero-side,.radar-card,.ops-card,.enterprise-card,.metric,.stat-card,.ticket-item,.approval-item,.notification-item,.signature-card{border-radius:24px}
.table-wrap{border-radius:22px}.table-wrap thead th{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#5d7287}.table-wrap tbody td{vertical-align:top}
.grid-2-1{grid-template-columns:1.32fr .92fr;gap:18px}.dense-page .grid-2-1{grid-template-columns:1.35fr .88fr}
.grid-2-1 > .panel:last-child{top:102px}
.input,.select,.textarea,input[type="text"],input[type="email"],input[type="date"],input[type="password"],select,textarea{border-radius:16px}
.filters .input,.filters .select,.filters select{min-height:46px}
.page-vacaciones .grid-2-1,.page-liquidaciones .grid-2-1,.page-tickets .grid-2-1{grid-template-columns:1.38fr .82fr}
.page-documentos .documents-main{grid-template-columns:1fr}.page-documentos .documents-lower{grid-template-columns:1fr 1fr}
.page-documentos .documents-lower > .panel{min-height:100%}
.top-actions .pill,.notif-bell,.company-switch,.user-chip{box-shadow:none}
.context-bar,.enterprise-strip,.ops-ribbon,.header-quickboard{margin-bottom:18px}
.hero-card{box-shadow:0 18px 42px rgba(7,44,61,.16)}
@media (max-width: 1360px){.search{min-width:min(340px,34vw)}.grid-2-1,.dense-page .grid-2-1,.page-vacaciones .grid-2-1,.page-liquidaciones .grid-2-1,.page-tickets .grid-2-1,.page-documentos .documents-lower{grid-template-columns:1fr}.grid-2-1 > .panel:last-child{position:static}}
@media (max-width: 1024px){:root{--sidebar:300px;--container:calc(100% - 18px)}.sidebar{position:fixed;top:0;bottom:0;left:0;height:auto;padding:16px 14px}.sidebar-scroll{padding-right:2px}.sidebar-footer{margin-top:12px}.search{width:100%;min-width:0}.topbar{padding:12px 14px}.page-header h1{font-size:36px}}
@media (max-width: 760px){:root{--container:calc(100% - 14px)}.page-header h1{font-size:32px}.container{padding:14px 0 26px}.sidebar{padding:14px 12px}.sidebar-footer{display:none}.workspace-bar,.header-quickboard,.enterprise-strip,.ops-ribbon{grid-template-columns:1fr}.page-documentos .documents-lower{grid-template-columns:1fr}.table-wrap{border-radius:18px}}


/* V32 premium release overrides */
:root{
  --bg:#eef5f6;
  --bg-2:#e7f0f1;
  --surface-soft:#f8fbfb;
  --surface-tint:#eef8f6;
  --line:#d8e5e5;
  --line-strong:#c9dadb;
  --primary:#12b6a1;
  --primary-dark:#0a6d74;
  --accent:#0d3650;
  --shadow-lg:0 26px 72px rgba(8,29,44,.12);
  --shadow-md:0 18px 42px rgba(8,29,44,.09);
  --shadow-sm:0 10px 24px rgba(8,29,44,.06);
}
body{background:radial-gradient(circle at top left, rgba(18,182,161,.08), transparent 24%),linear-gradient(180deg,#f8fbfb 0%, #edf4f5 100%)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#c4d6d6;border-radius:999px}
.sidebar{box-shadow:inset -1px 0 0 rgba(255,255,255,.06), 14px 0 38px rgba(7,22,37,.18)}
.sidebar-scroll{scrollbar-width:none}.sidebar-scroll::-webkit-scrollbar{display:none}
.nav a{position:relative}.nav a.active{background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.10));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.nav .icon{width:24px;height:24px;border-radius:10px;background:rgba(255,255,255,.14);font-size:10px}
.topbar{padding:16px 18px;background:rgba(248,251,251,.9);backdrop-filter:blur(18px)}
.search{min-width:min(520px,46vw);padding:12px 14px 12px 16px;gap:12px;border-radius:18px}
.search input{cursor:pointer;font-weight:600}
.search-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:6px 10px;border-radius:999px;background:#f4f7f8;border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted)}
.company-switch,.pill,.user-chip,.notif-bell{border-color:#dbe7e7}
.panel{overflow:hidden}
.card-pad{padding:24px}
.page-header h1{font-size:clamp(34px,4vw,48px)}
.section-kicker{background:#f5fbfa;border-color:#dbe8e6}
.workspace-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px}
.workspace-chip{padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#fff,#f7fbfb);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;gap:6px}
.workspace-chip strong{color:var(--ink);font-size:20px;line-height:1.1}
.workspace-shortcut{background:linear-gradient(135deg,#082739,#0f766e);color:#fff;border-color:transparent}.workspace-shortcut strong,.workspace-shortcut span{color:#fff}
.context-bar{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid var(--line);backdrop-filter:blur(8px);margin-bottom:22px}
.hero-card{border:1px solid rgba(255,255,255,.1)}
.hero-card h1{max-width:13ch}
.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.exec-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);display:grid;gap:8px}.exec-item span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:800}.exec-item strong{font-size:28px;line-height:1}
.quicklink-card{position:relative;display:grid;gap:10px;padding:20px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbfb);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:.2s transform,.2s box-shadow,.2s border-color}.quicklink-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#bfd6d4}
.icon-badge{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#e7fbf7,#d8f5ee);border:1px solid #cde8e2;color:var(--primary-dark);font-size:12px;font-weight:900}
.quicklink-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.portal-score-shell{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center}
.portal-score-ring{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#fff 0 48px,transparent 49px),conic-gradient(var(--primary) 0 280deg,#dfeceb 280deg 360deg);border:10px solid #e9f5f3;box-shadow:inset 0 0 0 1px #d0e6e1, var(--shadow-sm)}
.portal-score-ring strong{display:block;font-size:42px;color:var(--ink);line-height:1}.portal-score-ring span{display:block;text-align:center;font-size:13px;color:var(--muted);font-weight:700}
.portal-score-label{display:inline-flex;margin-bottom:12px}.score-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.score-metrics span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#f8fbfb;border:1px solid var(--line);font-size:13px}.score-metrics strong{color:var(--ink)}
.portal-score-card.ok{background:linear-gradient(180deg,#ffffff,#f5fbfa)}.portal-score-card.warn{background:linear-gradient(180deg,#fffdf8,#fff8ef)}.portal-score-card.danger{background:linear-gradient(180deg,#fffaf9,#fff2ef)}
table{font-size:14px} thead th{position:sticky;top:0;background:#fbfdfd;z-index:1}
tbody tr:hover{background:#fbfefe}
.table-wrap{border:1px solid var(--line);border-radius:20px;overflow:auto;background:#fff}
.input,.select,.textarea{border-radius:16px;padding:13px 14px;transition:.18s border-color,.18s box-shadow}.input:focus,.select:focus,.textarea:focus{border-color:#8fcac1;box-shadow:0 0 0 4px rgba(18,182,161,.12)}
.notice{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#fff,#f7fbfb);border:1px solid var(--line)}
.badge.danger{background:#fff2ef;color:#b42318}
.documents-topstats .stat-card,.hq-card,.workspace-chip,.kpi,.security-chip,.trust-item,.list-item,.notification-item,.signature-card,.ticket-item,.approval-item{box-shadow:var(--shadow-sm)}
.list-item,.notification-item,.signature-card,.ticket-item,.approval-item{border-radius:20px}
.search input[readonly]{pointer-events:none}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:linear-gradient(135deg,#082739 0%, #0d435b 48%, #0d7d75 100%)}
.login-brand{padding:42px 42px 36px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}
.login-panel{display:grid;place-items:center;padding:34px;background:radial-gradient(circle at top right, rgba(18,182,161,.18), transparent 26%), linear-gradient(180deg,#f8fbfb 0%, #eff6f6 100%)}
.login-card{width:min(560px,100%);padding:34px;border-radius:30px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(12px);box-shadow:0 26px 70px rgba(8,29,44,.18)}
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(5,15,25,.52);backdrop-filter:blur(2px);z-index:25}
@media(max-width:1320px){.workspace-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.search{min-width:0;width:100%}}
@media(max-width:1160px){.portal-score-shell,.hero,.grid-2-1,.grid-1-1,.login-shell{grid-template-columns:1fr}.login-brand{min-height:auto}.executive-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.header-quickboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.portal-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:40;width:min(86vw,320px);transform:translateX(-104%);transition:.22s transform}.menu-toggle{display:grid;place-items:center}.mobile-overlay{display:block;opacity:0;pointer-events:none;transition:.2s opacity}.menu-open .mobile-overlay{opacity:1;pointer-events:auto}.menu-open .sidebar{transform:translateX(0)}.container{width:calc(100% - 24px)}.workspace-bar,.header-quickboard,.kpi-grid,.stats-row,.grid-4,.login-feature-grid{grid-template-columns:1fr}.executive-strip{grid-template-columns:1fr}.portal-score-shell{grid-template-columns:1fr}.portal-score-gauge{display:grid;justify-content:center}.topbar .top-actions{gap:8px}.user-chip strong{font-size:14px}.login-brand,.login-panel{padding:24px}.login-card{padding:24px}}


/* V33 premium hardening extras */
.security-mini-grid,.profile-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.profile-security-grid .security-chip strong,.security-mini-grid .security-chip strong{font-size:18px}
.notice strong strong{font-weight:900}
.list-item strong strong{font-weight:900}
@media(max-width:900px){.security-mini-grid,.profile-security-grid{grid-template-columns:1fr}}


/* V34 final brutal polish */
:root{--container:min(100%, calc(100% - 22px));}
.main{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));}
.topbar{gap:16px;align-items:center}
.topbar .left{flex:1 1 420px}
.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.top-action-cluster{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.search{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:min(560px,44vw);max-width:760px;white-space:nowrap;overflow:hidden}
.search > span:first-child{flex:0 0 auto;font-size:18px;color:var(--primary-dark)}
.search input{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-kbd{flex:0 0 auto}
.user-chip{display:flex;align-items:center;gap:12px;padding:7px 12px 7px 7px;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f7fbfb);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.user-chip img{width:40px;height:40px;border-radius:16px;border:1px solid #dce8e8;box-shadow:0 6px 16px rgba(8,29,44,.08)}
.user-chip strong{font-size:14px;line-height:1.2}
.user-chip small{font-size:12px;line-height:1.3}
.company-switch,.notif-bell,.top-quick-action{flex:0 0 auto}
.company-switch{max-width:310px}
.company-switch select{min-width:0;max-width:190px;text-overflow:ellipsis}
.page-header:not(.dashboard-header) .summary h1{font-size:clamp(30px,3.2vw,42px)}
.workspace-bar{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.workspace-chip{padding:14px 16px;border-radius:18px}
.context-bar{padding:11px 14px;margin-bottom:18px}
.grid-2-1{gap:16px}
.page-colaboradores .grid-2-1,.page-vacaciones .grid-2-1,.page-aprobaciones .grid-2-1{grid-template-columns:minmax(0,1.45fr) minmax(320px,.88fr)}
.page-aprobaciones .grid-2-1{grid-template-columns:minmax(0,1.24fr) minmax(320px,.76fr)}
.page-colaboradores .section-head,.page-vacaciones .section-head,.page-aprobaciones .section-head{margin-bottom:14px}
.entity-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.entity-card{position:relative;overflow:hidden}
.entity-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary-dark),var(--primary))}
.entity-card strong{font-size:32px;letter-spacing:-.04em}
.table-wrap.clean-x{overflow:auto hidden}
.table-wrap.clean-x table{width:100%;table-layout:fixed;min-width:0}
.table-wrap.clean-x colgroup col{width:auto}
.table-wrap.clean-x td,.table-wrap.clean-x th{padding:14px 12px;vertical-align:top}
.table-wrap.clean-x td{word-break:break-word}
.table-people th:nth-child(1){width:31%}
.table-people th:nth-child(2){width:17%}
.table-people th:nth-child(3){width:15%}
.table-people th:nth-child(4){width:16%}
.table-people th:nth-child(5){width:10%}
.table-people th:nth-child(6){width:11%}
.table-people td:last-child{text-align:right}
.row-action-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.row-action-stack .btn{min-width:102px}
.table-requests th:nth-child(1){width:18%}
.table-requests th:nth-child(2){width:15%}
.table-requests th:nth-child(3){width:22%}
.table-requests th:nth-child(4){width:8%}
.table-requests th:nth-child(5){width:13%}
.table-requests th:nth-child(6){width:24%}
.table-requests td:nth-child(6){line-height:1.55}
.approvals-layout .approval-card{padding:20px;border-radius:24px}
.approval-card h3{font-size:22px;letter-spacing:-.03em}
.approval-form-card .textarea{min-height:94px}
.compact-decision .detail-grid{margin-top:10px}
.empty-state{padding:28px;border-radius:24px}
.page-colaboradores .panel,.page-vacaciones .panel,.page-aprobaciones .panel{overflow:visible}
.floating-main{width:60px;height:60px;border-radius:22px}
@media (max-width:1360px){
  .search{min-width:min(420px,36vw)}
  .workspace-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-colaboradores .grid-2-1,.page-vacaciones .grid-2-1,.page-aprobaciones .grid-2-1{grid-template-columns:1fr}
}
@media (max-width:1100px){
  .topbar{align-items:flex-start;flex-direction:column}
  .topbar .left,.top-actions,.top-action-cluster{width:100%}
  .top-actions{justify-content:flex-start}
  .top-action-cluster{justify-content:flex-start}
  .search{width:100%;max-width:none;min-width:0}
  .workspace-bar,.entity-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row-action-stack{flex-direction:row;justify-content:flex-end;flex-wrap:wrap}
}
@media (max-width:760px){
  .workspace-bar,.entity-overview{grid-template-columns:1fr}
  .company-switch,.notif-bell,.top-quick-action,.user-chip{width:100%}
  .row-action-stack{justify-content:flex-start}
  .table-wrap.clean-x table{table-layout:auto}
  .table-people td:last-child{text-align:left}
}

/* V36 premium navigation + stable visible menu */
:root{--sidebar:278px;--container:calc(100% - 26px);--sidebar-compact:92px}
body{background:
  radial-gradient(circle at top right, rgba(16,185,129,.07), transparent 22%),
  linear-gradient(180deg,#f7fbfb 0%, #eef5f4 100%)}
.portal-shell{grid-template-columns:var(--sidebar) minmax(0,1fr);gap:18px;transition:grid-template-columns .24s ease;padding-right:12px}
.sidebar{padding:16px 14px 16px;border-radius:0 24px 24px 0;background:
  radial-gradient(circle at 14% 8%, rgba(110,231,183,.18), transparent 20%),
  radial-gradient(circle at bottom right, rgba(16,185,129,.12), transparent 28%),
  linear-gradient(180deg,#06293a 0%, #0a4159 54%, #0e6e6a 100%)}
.brand{align-items:flex-start;gap:12px;padding:10px 10px 14px;border-bottom:1px solid rgba(255,255,255,.10)}
.main{min-width:0;padding-left:2px}
.brand img{width:60px;filter:drop-shadow(0 10px 24px rgba(6,41,58,.24))}
.brand-copy{gap:3px;min-width:0}
.brand-copy .kicker{font-size:10px;letter-spacing:.22em}
.brand-copy .name{font-size:18px;letter-spacing:-.03em}
.brand-copy .sub{font-size:12px;line-height:1.35}
.brand-live{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.08);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#dffcf0;white-space:nowrap}
.brand-live:before{content:"";width:7px;height:7px;border-radius:999px;background:#86efac;box-shadow:0 0 0 6px rgba(134,239,172,.14)}
.sidebar-toggle-desktop{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:none;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:.2s ease}
.sidebar-toggle-desktop:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.sidebar-toggle-desktop i{font-style:normal;font-size:14px;transition:transform .24s ease}
.sidebar-meta{margin:12px 4px 10px;padding:13px 14px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.sidebar-meta-label{display:block;margin-bottom:6px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.58);font-weight:800}
.sidebar-meta strong{display:block;color:#fff;font-size:15px;line-height:1.25}
.sidebar-meta small{display:block;margin-top:6px;font-size:12px;color:rgba(255,255,255,.76);line-height:1.45}
.sidebar-scroll{padding-right:2px}
.nav-title{padding:10px 10px 8px;font-size:10px;color:rgba(255,255,255,.54)}
.nav a{padding:11px 12px;gap:10px;border-radius:16px;min-height:48px}
.nav a span:last-child{font-size:14px;line-height:1.3}
.nav a:hover{background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 22px rgba(4,18,29,.10)}
.nav a.active{background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.09));box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 14px 28px rgba(4,18,29,.16)}
.nav a.active:before{top:9px;bottom:9px;width:4px;background:#7cf3cb;box-shadow:0 0 0 3px rgba(124,243,203,.12)}
.nav .icon{width:26px;height:26px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px rgba(3,15,24,.12)}
.nav-section .nav{gap:5px}
.sidebar-footer{gap:10px;padding:12px 12px 14px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08)}
.support-box{padding:14px 14px 15px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.06));box-shadow:none}
.support-box strong{font-size:15px}
.status-list{gap:10px}
.status-list span{align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06)}
.status-list span div{display:flex;align-items:center;gap:8px}
.status-list strong{font-size:15px;max-width:none}
.status-dot{margin-right:0}
.topbar{padding:12px 16px;gap:12px;background:rgba(247,251,251,.88);backdrop-filter:blur(18px);box-shadow:0 10px 24px rgba(11,34,56,.04)}
.topbar .left{gap:10px}
.search{min-width:min(390px,34vw);padding:11px 12px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbfa);border:1px solid #dbe9e6;box-shadow:0 10px 26px rgba(11,34,56,.06)}
.search span:first-child{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef7f4;color:var(--primary-dark);font-size:14px}
.search input{font-weight:650}
.search-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:34px;padding:0 12px;border-radius:12px;background:#f4f8f7;border:1px solid var(--line);font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}
.top-actions{gap:10px}
.top-action-cluster{gap:8px;padding:6px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(215,228,226,.95);box-shadow:0 12px 28px rgba(11,34,56,.06)}
.company-switch,.notif-bell,.top-quick-action{height:48px}
.company-switch{padding:6px 12px;gap:10px;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfa);box-shadow:none}
.company-switch span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800}
.company-switch select{min-width:170px}
.notif-bell{padding:0 14px;border-radius:16px;box-shadow:none}
.top-quick-action{padding:0 16px;border-radius:16px;font-size:13px}
.user-chip{min-width:236px;padding:6px 12px 6px 6px;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbfa);box-shadow:0 12px 26px rgba(11,34,56,.06)}
.user-chip img{width:46px;height:46px;box-shadow:0 0 0 3px rgba(16,185,129,.12)}
.user-chip strong{font-size:15px}
.user-chip small{font-size:13px}
.container{padding:20px 0 34px}
.page-header.dashboard-header{margin-bottom:20px;padding:20px 20px 0;border-radius:30px;border:1px solid var(--line);background:
  radial-gradient(circle at top right, rgba(16,185,129,.08), transparent 24%),
  linear-gradient(180deg,#fbfdfd,#f1f7f6);box-shadow:0 18px 36px rgba(11,34,56,.05)}
.page-header h1{font-size:clamp(44px,4.2vw,66px);letter-spacing:-.04em}
.page-header p{font-size:17px;max-width:68ch}
.quick-company{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.page-header .role-intro{margin-top:14px;padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#fff,#f6fbfa);box-shadow:var(--shadow-sm)}
.header-quickboard{padding-bottom:18px;grid-template-columns:repeat(4,minmax(180px,1fr))}
.hq-card{min-height:118px;border-radius:20px;transition:.2s ease}
.hq-card:hover,.workspace-chip:hover,.entity-card:hover,.approval-item:hover,.ticket-item:hover,.table-wrap:hover{transform:translateY(-1px)}
.workspace-bar{gap:12px;margin-bottom:14px}
.workspace-chip{background:linear-gradient(180deg,#fff,#f8fbfa);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.workspace-chip strong{font-size:17px}
.context-bar{padding:8px 2px 0}
.context-tag{background:#fff;box-shadow:var(--shadow-sm)}
.entity-card{border-radius:22px}
.table-wrap{border-radius:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.table-wrap table th{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#547284}
.table-wrap table td{vertical-align:top}
.page-colaboradores .table-wrap.clean-x{overflow-x:hidden}
.page-colaboradores .table-wrap.clean-x table{table-layout:auto}
.page-colaboradores .table-wrap.clean-x th:nth-child(1),.page-colaboradores .table-wrap.clean-x td:nth-child(1){width:23%}
.page-colaboradores .table-wrap.clean-x th:last-child,.page-colaboradores .table-wrap.clean-x td:last-child{width:150px;white-space:nowrap}
.page-vacaciones .table-requests td:nth-child(1){font-weight:800;color:var(--ink)}
.page-vacaciones .table-requests td:nth-child(3){white-space:nowrap}
.page-aprobaciones .approval-item{grid-template-columns:minmax(0,1fr) 320px;gap:18px;border-radius:24px;padding:20px;background:linear-gradient(180deg,#fff,#f7fbfa)}
.page-aprobaciones .approval-form,.page-aprobaciones .compact-decision{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f4faf8);border:1px solid var(--line)}
.page-aprobaciones .approval-form-card{margin-top:0;padding-top:0;border-top:none}
.page-aprobaciones .approval-item .badge{font-size:12px}
.page-tickets .ticket-item{border-radius:24px;padding:20px}
.floating-main{border-radius:22px}
body.sidebar-compact{--sidebar:var(--sidebar-compact)}
body.sidebar-compact .brand{justify-content:center;padding:8px 0 12px}
body.sidebar-compact .brand img{width:46px}
body.sidebar-compact .brand-copy,
body.sidebar-compact .sidebar-meta,
body.sidebar-compact .sidebar-footer,
body.sidebar-compact .nav-title span{display:none}
body.sidebar-compact .sidebar-toggle-desktop{margin-left:0;background:rgba(255,255,255,.12)}
body.sidebar-compact .sidebar-toggle-desktop i{transform:rotate(180deg)}
body.sidebar-compact .nav-toggle{justify-content:center;padding:8px}
body.sidebar-compact .nav-toggle i{display:block}
body.sidebar-compact .nav{gap:8px}
body.sidebar-compact .nav a{justify-content:center;padding:11px 0;border-radius:16px}
body.sidebar-compact .nav a span:last-child{display:none}
body.sidebar-compact .nav a.active:before{left:50%;top:auto;bottom:4px;transform:translateX(-50%);width:20px;height:3px}
body.sidebar-compact .sidebar-scroll{padding-right:0}
body.sidebar-compact .nav-section{margin-top:4px}
body.sidebar-compact .nav a[data-nav-link]{position:relative}
body.sidebar-compact .nav a[data-nav-link]::after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);opacity:0;pointer-events:none;white-space:nowrap;padding:8px 10px;border-radius:12px;background:#082c3d;color:#fff;font-size:12px;font-weight:700;box-shadow:0 10px 20px rgba(7,22,37,.22);transition:.18s ease}
body.sidebar-compact .nav a[data-nav-link]:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
@media (max-width: 1180px){:root{--sidebar:248px}.search{min-width:min(300px,28vw)}.header-quickboard{grid-template-columns:repeat(2,minmax(0,1fr))}.page-aprobaciones .approval-item{grid-template-columns:1fr}.portal-shell{gap:14px;padding-right:8px}}
@media (max-width: 1024px){:root{--sidebar:300px;--container:calc(100% - 18px)}body.sidebar-compact{--sidebar:300px}.portal-shell{gap:0;padding-right:0}.sidebar-toggle-desktop{display:none}.brand-live{display:none}.sidebar-meta{margin-top:10px}.top-action-cluster{width:100%;justify-content:flex-start}.user-chip{min-width:0;width:100%}.page-header.dashboard-header{padding:16px 16px 0}.search{width:100%;min-width:0}.page-colaboradores .table-wrap.clean-x{overflow-x:auto}}
@media (max-width: 820px){.topbar{padding:12px 12px}.top-action-cluster{padding:4px;background:transparent;border:none;box-shadow:none}.company-switch,.notif-bell,.top-quick-action{width:100%;justify-content:flex-start}.user-chip{width:100%}.page-header h1{font-size:40px}.header-quickboard{grid-template-columns:1fr}.page-aprobaciones .approval-item{grid-template-columns:1fr}.page-colaboradores .table-wrap.clean-x{overflow-x:auto}}


/* V36 menu stability + premium visibility */
.sidebar-scroll{display:flex;flex-direction:column;gap:10px}
.nav-section{display:grid;gap:6px}
.nav-section .nav{padding-inline:2px}
.nav a{font-weight:760;letter-spacing:-.01em}
.nav a span:last-child{color:rgba(255,255,255,.96)}
.nav-title{display:flex;align-items:center;justify-content:space-between;min-height:26px;color:rgba(255,255,255,.68)}
.nav-title span{font-weight:800}
@media (min-width: 821px){
  .nav-toggle{pointer-events:none}
  .nav-toggle i{display:none}
  .nav-section .nav{max-height:none !important;opacity:1 !important}
}
body.sidebar-compact .nav-title{padding:6px 0 2px;min-height:14px;justify-content:center;color:transparent}
body.sidebar-compact .nav-title::before{content:"";display:block;width:24px;height:1px;border-radius:999px;background:rgba(255,255,255,.24)}
body.sidebar-compact .nav-toggle i{display:none}
body.sidebar-compact .nav-section .nav{max-height:none !important;opacity:1 !important}
body.sidebar-compact .nav a{min-height:44px}
body.sidebar-compact .nav .icon{width:28px;height:28px;border-radius:11px}
body.sidebar-compact .sidebar-scroll{gap:8px}

/* V37 rebuilt sidebar rail: reliable, premium, always visible */
.rail-shell{display:grid;gap:14px;padding:2px 2px 6px}
.rail-section{display:grid;gap:8px}
.rail-label{padding:2px 10px 0;font-size:10px;font-weight:800;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.56)}
.rail-links{display:grid;gap:7px}
.rail-link{display:flex;align-items:center;gap:11px;padding:12px 12px;border-radius:18px;min-height:50px;text-decoration:none;color:#fff;background:transparent;border:1px solid transparent;box-shadow:none;transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease}
.rail-link:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.08);box-shadow:0 12px 24px rgba(4,18,29,.14)}
.rail-link.active{background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.10));border-color:rgba(255,255,255,.10);box-shadow:0 14px 28px rgba(4,18,29,.16), inset 0 0 0 1px rgba(255,255,255,.08);position:relative}
.rail-link.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#7cf3cb;box-shadow:0 0 0 3px rgba(124,243,203,.12)}
.rail-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:11px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px rgba(3,15,24,.12);font-size:10px;font-weight:800;letter-spacing:.08em}
.rail-text{font-size:14px;font-weight:760;line-height:1.3;color:rgba(255,255,255,.96)}
.rail-link-subtle{background:rgba(255,255,255,.05)}
.rail-link-subtle:hover{background:rgba(255,255,255,.10)}
.sidebar-scroll{display:block !important;overflow:auto;overscroll-behavior:contain}
.sidebar-scroll > *{min-height:fit-content}
body.sidebar-compact .rail-label{padding:4px 0 0;color:transparent}
body.sidebar-compact .rail-label::before{content:"";display:block;width:24px;height:1px;margin:0 auto;border-radius:999px;background:rgba(255,255,255,.24)}
body.sidebar-compact .rail-link{justify-content:center;padding:12px 0}
body.sidebar-compact .rail-text{display:none}
body.sidebar-compact .rail-link{position:relative}
body.sidebar-compact .rail-link::after{content:attr(title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);opacity:0;pointer-events:none;white-space:nowrap;padding:8px 10px;border-radius:12px;background:#082c3d;color:#fff;font-size:12px;font-weight:700;box-shadow:0 10px 20px rgba(7,22,37,.22);transition:.18s ease}
body.sidebar-compact .rail-link:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
body.sidebar-compact .rail-link.active::before{left:50%;top:auto;bottom:5px;transform:translateX(-50%);width:20px;height:3px}
@media (min-width: 821px){
  .sidebar-scroll{padding-right:2px}
}
@media (max-width: 820px){
  .rail-link{min-height:48px}
}


/* V43 release: full-height sidebar + brutal login balance */
@media (min-width:1025px){
  .portal-shell{align-items:stretch}
  .sidebar{align-self:stretch;min-height:100vh;height:100vh}
  .sidebar-scroll{flex:1 1 auto;min-height:0;overflow:auto}
  .sidebar-nav-group-utility{margin-top:8px}
  .sidebar-nav-group-account{margin-top:auto}
}
.login-showcase{display:grid;grid-template-columns:minmax(0,1.25fr) 220px;gap:14px;margin-top:18px}.login-surface{padding:18px;border-radius:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);box-shadow:0 26px 60px rgba(4,18,29,.18)}.login-surface-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.login-surface-head span{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d7fff2}.login-surface-head strong{font-size:15px;color:#fff}.login-surface-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.login-surface-card{padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}.login-surface-card small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d9fff1;margin-bottom:7px}.login-surface-card strong{display:block;font-size:17px;color:#fff;margin-bottom:5px}.login-surface-card span{display:block;font-size:13px;line-height:1.55;color:rgba(255,255,255,.82)}.login-side-stack{display:grid;gap:12px}.login-side-card{padding:16px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}.login-side-card strong{display:block;font-size:14px;color:#fff;margin-bottom:6px}.login-side-card span{display:block;font-size:13px;line-height:1.55;color:rgba(255,255,255,.82)}
@media (max-width:1100px){.login-showcase{grid-template-columns:1fr}.login-surface-grid{grid-template-columns:1fr}}
