:root{--bg:#f4f6fa;--ink:#1e2b42;--muted:#748096;--line:#e6ebf2;--blue:#306fea;--nav:#111e34;--white:#fff;--radius:13px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #81aefb;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.25;margin-bottom:10px}h2{font-size:17px;letter-spacing:-.3px;margin-bottom:7px}h3{font-size:15px;margin-bottom:7px}p{line-height:1.65}small{font-size:12px}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--nav);color:#aab7cc;display:flex;flex-direction:column;padding:30px 18px 20px;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:23px;font-weight:700;padding:0 10px 32px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;font-weight:500;color:#8d9eb9;margin-top:5px}.nav-label{font-size:10px;letter-spacing:1.4px;color:#6f819e;padding:18px 14px 12px}.sidebar nav>a{display:flex;align-items:center;gap:11px;padding:13px 14px;margin:4px 0;border-radius:9px;font-weight:500;font-size:13px}.sidebar nav>a:hover{background:#1b2c46;color:white}.sidebar nav>a.active{background:#263e64;color:#fff;box-shadow:inset 3px 0 #5794ff}.nav-icon{font-size:21px;line-height:20px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;padding:20px 9px 0}.source-note{font-size:11px;border-bottom:1px solid #29364b;padding-bottom:22px;margin-bottom:20px}.source-note small{display:block;color:#6f819e;font-size:10px;margin:8px 0 0 15px}.status-dot{display:inline-block;width:6px;height:6px;background:#40b891;border-radius:50%;margin-right:6px;vertical-align:middle}.profile{display:flex;gap:10px;align-items:center;font-size:12px;color:#e0e7f2}.profile small{display:block;color:#8d9eb9;font-size:10px;margin-top:5px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#334660;color:#bfd4f6;border-radius:10px;font-weight:700}.logout{border:0;background:none;color:#8395af;margin-top:16px;font-size:11px;padding:0}.logout:hover{color:#fff}.workspace{margin-left:246px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:#fff}.breadcrumb{font-size:12px;color:#67758c}.breadcrumb span{padding:0 12px;color:#ccd3de}.today{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.today .status-dot{margin-left:15px}.menu-toggle{display:none}.main{padding:34px 36px 20px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading p:last-child{color:var(--muted);font-size:13px;margin-bottom:0}.eyebrow{font-size:10px;font-weight:650;color:var(--blue);letter-spacing:1.7px;margin-bottom:11px}.button{display:inline-flex;gap:7px;align-items:center;justify-content:center;border-radius:8px;min-height:40px;padding:10px 17px;border:1px solid transparent;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 7px #306fea15}.primary:hover{background:#215fd4}.secondary{background:#fff;border-color:#dce3ef;color:#536179}.secondary:hover{background:#f0f4fa}.danger{background:#fff1f0;color:#ba4243;border-color:#f0d9d8}.danger:hover{background:#ffe1df}.actions{display:flex;gap:12px;align-items:center}.full{width:100%}.text-link{color:var(--blue);font-weight:600;font-size:12px;white-space:nowrap}.text-link:hover{text-decoration:underline}.period-banner{display:flex;align-items:center;gap:13px;font-size:12px;color:#63718b;background:#eaf0fc;border:1px solid #dce6fb;border-radius:9px;padding:13px 16px;margin-bottom:23px}.period-banner strong{font-weight:600;color:#3d5377}.period-banner a{margin-left:auto;color:#4071ca;font-size:11px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;font-size:10px;font-weight:600;white-space:nowrap}.blue{background:#e9f0fe;color:#4074d8}.amber{background:#fff2dc;color:#a77820}.green{background:#e6f6ed;color:#3b9269}.neutral,.gray{background:#f0f2f6;color:#7a8699}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:23px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 3px 6px #14263f02;transition:transform .15s}.metric:hover{transform:translateY(-2px);border-color:#c5d6f2}.metric>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#66758a}.metric-symbol{display:grid;place-items:center;border-radius:8px;width:30px;height:30px;font-size:18px}.metric strong{font-size:31px;display:block;letter-spacing:-.7px;margin:8px 0}.metric small{font-size:10px;color:#8791a2}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 6px #14263f02;margin-bottom:23px}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:23px}.dashboard-grid .card{margin-bottom:23px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 24px 17px}.card-heading p{font-size:11px;color:var(--muted);margin-bottom:0}.bars{padding:5px 24px 24px}.bar-row{display:grid;grid-template-columns:125px 1fr 36px;gap:13px;align-items:center;padding:9px 0;font-size:11px}.bar-row:hover{color:var(--blue)}.bar-row strong{text-align:right;font-size:12px}.bar-row progress{width:100%;height:7px;border:0;border-radius:5px;background:#eff3f9;overflow:hidden}.bar-row progress::-webkit-progress-bar{background:#eff3f9;border-radius:5px}.bar-row progress::-webkit-progress-value{background:#558af0;border-radius:5px}.bar-row progress::-moz-progress-bar{background:#558af0;border-radius:5px}.jurisdictions{padding:0 24px 20px}.jurisdictions a{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f0f3f7;font-size:12px}.jurisdictions a:last-child{border-bottom:0}.jurisdictions a:hover{color:var(--blue)}.rank{display:grid;place-items:center;width:29px;height:29px;background:#f1f5fb;border-radius:8px;color:#7c8eaa;font-size:11px}.jurisdictions small{display:block;font-size:10px;color:#95a0b2;margin-top:5px}.jurisdictions strong{margin-left:auto;font-size:13px}.month-chart{display:flex;gap:16px;padding:12px 28px 25px;align-items:end;min-height:150px;overflow-x:auto}.month{flex:1;min-width:36px;text-align:center;display:flex;flex-direction:column;gap:7px;align-items:center;font-size:11px}.month svg{width:100%;height:100px;max-width:60px}.month rect{fill:#81a7ef}.month:nth-last-child(1) rect{fill:#3474eb}.month strong{font-size:10px;font-weight:500;color:#7c8ca3}.month small{font-size:10px;color:#8793a8}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{padding:13px 20px;font-size:10px;letter-spacing:.3px;font-weight:600;color:#8b96a8;background:#fafbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #eef1f6;vertical-align:middle;color:#56647c;line-height:1.6}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcff}td.subscriber{font-weight:600;color:#3f4e67;min-width:230px;max-width:330px}.subscriber small{display:block;font-weight:400;font-size:10px;color:#97a0af;margin-top:4px}.table-card{overflow:hidden}.footer{color:#9aa5b6;font-size:10px;display:flex;justify-content:space-between;padding:4px 0 10px}.filters{padding:23px}.filter-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:17px;margin-bottom:17px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}label{display:block;font-size:12px;color:#56647c;font-weight:500}input,select,textarea{width:100%;border:1px solid #dfe5ee;background:#fff;border-radius:7px;padding:10px 12px;margin-top:7px;color:#33425c;min-height:40px;transition:border-color .15s}input:hover,textarea:hover,select:hover{border-color:#b9c9e1}input:focus,textarea:focus,select:focus{border-color:#5a8ff3}input::placeholder,textarea::placeholder{color:#a0aaba;font-size:12px}label small{display:block;font-size:10px;color:#8994a5;font-weight:400;margin-top:7px;line-height:1.6}.checkbox{display:flex;align-items:center;gap:8px;font-weight:400;font-size:11px}.checkbox input{width:15px;min-height:15px;height:15px;margin:0;accent-color:var(--blue)}.pagination{border-top:1px solid var(--line);padding:17px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.pagination .button{font-size:11px;min-height:34px;padding:7px 12px}.empty{text-align:center;padding:45px 24px;color:var(--muted)}.empty h3{color:#556580}.empty p{font-size:12px}.form-card{padding:26px;max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin-top:23px}.span-two{grid-column:span 2}.form-section{padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid var(--line)}.form-section>p{color:var(--muted);font-size:12px}.form-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:18px;margin-top:25px}.narrow{max-width:600px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;margin:10px 24px 27px;padding-top:23px;border-top:1px solid var(--line)}dt{font-size:10px;color:#92a0b3;margin-bottom:7px}dd{font-size:13px;margin:0;color:#43516a}.observations{border-top:1px solid var(--line);padding:24px}.observations p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#63718a;margin-bottom:0;line-height:1.9}.record-meta{padding:15px 24px;font-size:10px;background:#fafbfd;border-top:1px solid var(--line);color:#94a0b1}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px}.danger-zone p{font-size:12px;color:var(--muted);margin-bottom:0}.notice{padding:16px 20px;background:#edf3ff;border:1px solid #cbdcfc;border-radius:9px;margin-bottom:24px;color:#4a689a;font-size:13px;line-height:1.7}.notice.success{background:#edf9f1;border-color:#d2eeda;color:#3d855a}.notice.error{background:#fff1f0;border-color:#f4d8d5;color:#a1443f}.notice ul{margin:8px 0 0;padding-left:20px}.auth-body{min-height:100vh;background:#f5f7fb}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;max-width:1100px;margin:auto;padding:65px 40px}.auth-intro h1{font-size:38px;letter-spacing:-1.5px;line-height:1.25;color:#233957;margin-bottom:22px}.auth-intro>img{width:108px;height:108px;margin-bottom:35px}.auth-intro>p:not(.eyebrow){font-size:15px;color:#8290a6;max-width:385px}.intro-detail{color:#7588a7;font-size:11px;margin-top:32px;letter-spacing:.3px}.auth-card{background:#fff;padding:37px;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 70px #1c35510a}.auth-card h2{font-size:25px;letter-spacing:-.8px;margin-top:20px;margin-bottom:12px}.auth-card>p{font-size:12px;color:#8b97a9}.auth-foot{display:block;text-align:center;font-size:10px;color:#95a0b0;margin-top:25px;line-height:1.6}.auth-body>.notice{max-width:600px;margin:25px auto -40px;position:relative;z-index:1}
@media(min-width:1600px){.main{padding-top:40px}.metrics{gap:24px}.metric{padding:25px}.bar-row{padding:11px 0}}
@media(max-width:1200px){.sidebar{width:220px;padding-left:12px;padding-right:12px}.workspace{margin-left:220px}.main{padding:28px 24px}.topbar{padding:0 24px}.metrics{gap:12px}.metric{padding:16px}.metric>span{font-size:11px}.metric small{line-height:1.7;display:block}.bar-row{grid-template-columns:105px 1fr 30px;gap:9px}.auth-wrap{gap:50px}}
@media(max-width:950px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px}.card-heading{padding:20px}.bars,.jurisdictions{padding-left:20px;padding-right:20px}.bar-row{grid-template-columns:95px 1fr 25px;font-size:10px}.today{display:none}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-banner{flex-wrap:wrap}.period-banner a{margin-left:0}.auth-wrap{gap:35px}.auth-intro h1{font-size:30px}.auth-card{padding:27px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px}.menu-open .sidebar{transform:translateX(0);box-shadow:10px 0 100px #111e3444}.workspace{margin-left:0}.menu-toggle{display:block;background:none;border:0;padding:6px;font-size:22px;color:#50617d}.topbar{height:60px;justify-content:flex-start;gap:15px;padding:0 17px}.main{padding:26px 17px 16px}.page-heading{align-items:flex-start;gap:15px}.page-heading h1{font-size:26px}.page-heading p:last-child{font-size:12px}.page-heading>.button{padding:10px 12px}.dashboard-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:125px 1fr 35px;font-size:12px}.metrics{gap:12px}.metric strong{font-size:28px}.card-heading{flex-wrap:wrap}.filter-top{grid-template-columns:1fr 1fr}.search{grid-column:span 2}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-wrap{grid-template-columns:1fr;gap:25px;padding:30px 20px;max-width:480px}.auth-intro>img{margin-bottom:12px;width:84px;height:84px}.auth-intro h1{font-size:28px}.auth-intro>p:not(.eyebrow),.intro-detail{display:none}.auth-intro h1{margin-bottom:0}.auth-intro .eyebrow{margin-bottom:9px}.auth-body>.notice{margin:15px 20px 0}.danger-zone{align-items:flex-start}.month-chart{gap:13px}}
@media(max-width:450px){.page-heading{flex-direction:column}.metrics{gap:10px}.metric{padding:14px}.metric-symbol{width:25px;height:25px}.metric>span{font-size:10px}.metric small{font-size:9px}.period-banner{font-size:10px;gap:9px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.form-card,.filters{padding:20px}.filter-bottom{align-items:flex-start;flex-direction:column}.filter-bottom>.actions{width:100%;justify-content:flex-end}.detail-grid{gap:20px}.danger-zone{flex-direction:column}.footer span{display:none}.auth-card{padding:25px}.pagination{gap:8px}.pagination .actions{gap:6px}}
/* Desplegables que se ajustan al texto y al espacio disponible. */
.option-control{position:relative;min-width:0;margin-top:7px}
.option-control>input{margin-top:0;padding-right:42px}
.option-control>[hidden]{display:none}
.option-toggle{position:absolute;right:1px;top:1px;bottom:1px;width:36px;border:0;border-left:1px solid #e6ebf2;border-radius:0 6px 6px 0;background:#f8faff;color:#6881a8;font-size:19px}
.option-toggle:hover{background:#eaf1ff}
.option-menu{position:fixed;z-index:100;overflow-y:auto;overflow-x:hidden;border:1px solid #cbd8ed;border-radius:9px;background:#fff;box-shadow:0 12px 32px #1e2b4229;padding:5px;font-size:13px;font-weight:400;color:#33425c}
.option-menu[hidden]{display:none}
.option-item{padding:10px 12px;border-radius:5px;cursor:pointer;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.option-item:hover,.option-item.highlighted{background:#eaf1ff;color:#245cb4}
.option-item[aria-selected="true"]{font-weight:600}
.option-empty{padding:12px;color:#8994a5;font-size:12px;line-height:1.5}
/* Panel lateral desplegable en escritorio y móvil. */
.sidebar{transition:transform .2s ease,visibility .2s;overflow-y:auto}
.workspace{transition:margin-left .2s ease}
.menu-toggle{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid #e1e7f1;border-radius:8px;background:#fff;color:#50617d;font-size:21px}
.menu-toggle:hover{background:#edf3ff;color:#306fea}
.topbar{gap:16px}
.breadcrumb{margin-right:auto}
.sidebar-close{position:absolute;top:9px;right:9px;width:27px;height:27px;padding:0;border:0;border-radius:6px;background:transparent;color:#aab7cc;font-size:23px;line-height:1}
.sidebar-close:hover{background:#263e64;color:#fff}
.sidebar-backdrop{position:fixed;inset:0;z-index:15;border:0;background:#111e3459;padding:0}
.sidebar-backdrop[hidden]{display:none}
@media(min-width:761px){
 .sidebar-collapsed .sidebar{transform:translateX(-100%);visibility:hidden}
 .sidebar-collapsed .workspace{margin-left:0}
}
@media(max-width:760px){
 .sidebar{visibility:hidden}
 .menu-open .sidebar{visibility:visible}
 .workspace{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.sidebar,.workspace{transition:none}}



/* Tres indicadores alineados y con dimensiones uniformes. */
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.metrics>.metric{display:flex;flex-direction:column;min-width:0;min-height:155px;padding:24px}
.metrics>.metric>span{min-height:32px;font-size:13px}
.metrics>.metric>strong{margin:12px 0;font-size:34px;font-variant-numeric:tabular-nums;line-height:1.2}
.metrics>.metric>small{margin-top:auto;font-size:11px;line-height:1.6}
@media(max-width:1100px){.metrics{gap:16px}.metrics>.metric{padding:20px}}
@media(max-width:760px){.metrics{grid-template-columns:1fr;gap:14px}.metrics>.metric{min-height:140px;padding:20px}.metrics>.metric>strong{font-size:30px}}.filter-bottom.filter-actions{justify-content:flex-end}

/* Encabezados de las tablas del historial */
.table-card th{background:#eaf1fc;color:#405779;font-weight:700;letter-spacing:.55px;border-top:1px solid #d9e4f6;border-bottom:2px solid #c7d8f4;padding-top:15px;padding-bottom:15px}.table-card th a{color:inherit}.table-card th a:hover{color:#245fc8}
