:root{--bg: #0d0f10;--bg-elevated: #111315;--panel: #151719;--panel-2: #1a1d20;--border: #2b2e31;--border-soft: #232629;--text: #f4f2ed;--text-dim: #c5c3bd;--text-faint: #7f8387;--gold: #c5a065;--gold-2: #d6b57d;--gold-soft: rgba(197,160,101,.11);--gold-line: rgba(197,160,101,.42);--critico: #e47c69;--critico-soft: rgba(228,124,105,.11);--atencion: #e0b66f;--atencion-soft: rgba(224,182,111,.11);--green: #77b98a;--green-soft: rgba(119,185,138,.11);--radius: 9px;--sidebar-w: 224px;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit;cursor:pointer}input,select,textarea{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:7px;font-size:13px;padding:9px 11px;font-family:inherit;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--gold-line);box-shadow:0 0 0 3px var(--gold-soft)}table{width:100%;border-collapse:collapse;font-size:12.5px}thead th{text-align:left;color:var(--text-faint);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;padding:9px 12px;border-bottom:1px solid var(--border)}tbody td{padding:10px 12px;border-bottom:1px solid var(--border-soft);color:var(--text-dim)}tbody tr{transition:.12s}tbody tr:hover td{background:#ffffff06;color:var(--text)}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:#101214;border-right:1px solid var(--border-soft);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20}.sidebar-brand{height:68px;padding:0 16px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:11px}.brand-mark{width:32px;height:32px;border:1px solid var(--gold-line);display:grid;place-items:center;color:var(--gold);font-family:var(--font-display);font-size:13px;letter-spacing:.04em}.sidebar-brand strong{display:block;font-family:var(--font-display);font-size:15px;letter-spacing:.08em;font-weight:500}.sidebar-brand span{display:block;color:var(--text-faint);font-size:8px;letter-spacing:.12em;margin-top:2px}.nav{flex:1;padding:12px 9px;overflow-y:auto}.nav-group{margin-bottom:11px}.nav-group-label{font-size:8.5px;letter-spacing:.15em;font-weight:700;color:#62676b;padding:7px 9px 5px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:7px;color:#9ea1a3;font-size:12.5px;text-decoration:none;margin:1px 0;border:1px solid transparent}.nav-icon{width:23px;height:23px;border:1px solid #2b2f32;border-radius:5px;display:grid;place-items:center;font-size:8px;letter-spacing:.04em;color:#71767a;transition:.15s}.nav-item:hover{background:#171a1c;color:var(--text)}.nav-item.active{background:var(--gold-soft);color:#f4ead9;border-color:#c5a0652e}.nav-item.active .nav-icon{color:var(--gold);border-color:var(--gold-line);background:#c5a0650f}.sidebar-foot{padding:12px 17px;border-top:1px solid var(--border-soft);color:#6f7477;font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 8px #77b98a59}.main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:68px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;background:#0d0f10f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.global-search{position:relative;width:min(440px,48vw)}.global-search>input{width:100%;height:36px;padding-left:34px;background:#121416;border-color:#24272a}.search-symbol{position:absolute;left:12px;top:7px;color:#6f7477;font-size:18px;z-index:1}.search-results{position:absolute;top:42px;left:0;right:0;max-height:380px;overflow:auto;background:#151719;border:1px solid var(--border);border-radius:9px;box-shadow:0 18px 50px #00000073;padding:5px}.search-results button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--text);padding:9px 10px;border-radius:6px}.search-results button:hover{background:#1d2022}.search-results strong,.search-results span{display:block}.search-results strong{font-size:12px}.search-results span,.search-empty{font-size:10.5px;color:var(--text-faint);margin-top:2px}.search-empty{padding:12px}.topbar-user{display:flex;align-items:center;gap:9px}.user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold);font-size:10px;font-weight:700}.user-copy strong,.user-copy span{display:block}.user-copy strong{font-size:11.5px;font-weight:600}.user-copy span{font-size:9.5px;color:var(--text-faint)}.logout-btn{border:0;background:none;color:#74797c;font-size:10.5px;padding:6px 8px;margin-left:5px}.logout-btn:hover{color:var(--text)}.view{padding:24px 28px 60px;max-width:1600px;width:100%;margin:0 auto}.breadcrumb{font-size:11px;color:var(--text-faint);margin-bottom:12px}.breadcrumb a{color:var(--gold);text-decoration:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:14px;flex-wrap:wrap}.page-head h1{font-family:var(--font-display);font-size:24px;font-weight:500;letter-spacing:-.02em;margin:0 0 2px}.page-head .sub{color:var(--text-faint);font-size:11.5px}.panel{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:15px 17px;margin-bottom:12px;box-shadow:0 1px #ffffff04}.panel h2{font-size:12px;letter-spacing:.02em;font-weight:600;margin:0 0 12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:14px}.kpi{background:#121416;border:1px solid var(--border-soft);border-radius:8px;padding:11px 12px;min-height:72px}.kpi .label{font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin-bottom:7px}.kpi .value{font-family:var(--font-body);font-size:20px;font-weight:600;letter-spacing:-.03em}.kpi .value.gold{color:var(--gold)}.kpi .value.critico{color:var(--critico)}.kpi .value.atencion{color:var(--atencion)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:3px 7px;border-radius:999px;border:1px solid var(--border);background:#181b1d;color:var(--text-dim);white-space:nowrap}.badge.gold{background:var(--gold-soft);color:var(--gold);border-color:var(--gold-line)}.badge.green{background:var(--green-soft);color:var(--green);border-color:#77b98a38}.badge.atencion{background:var(--atencion-soft);color:var(--atencion);border-color:#e0b66f38}.badge.critico{background:var(--critico-soft);color:var(--critico);border-color:#e47c6938}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.tab-btn{padding:9px 13px;font-size:11.5px;color:var(--text-faint);border:none;background:none;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}.tab-btn.active{color:var(--text);border-bottom-color:var(--gold)}.action-btn{background:#191c1e;border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:7px 11px;border-radius:7px}.action-btn:hover{color:var(--text);border-color:#45494c}.action-btn.primary{background:var(--gold);border-color:var(--gold);color:#111;font-weight:650}.action-btn.primary:hover{background:var(--gold-2);color:#111}.link-btn{background:none;border:none;color:var(--gold);font-size:10.5px;padding:0;cursor:pointer;text-decoration:none}.ampliar-btn{background:#181a1c;border:1px solid var(--border);color:var(--text-faint);font-size:10px;padding:4px 8px;border-radius:6px;cursor:pointer}.ampliar-btn:hover{color:var(--gold);border-color:var(--gold-line)}.empty-note{color:var(--text-faint);font-size:11.5px;padding:13px 3px}.search-bar{display:flex;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:0;min-width:260px;max-width:420px}.search-bar input{background:transparent;border:none;padding:9px 11px;width:100%;box-shadow:none}.drawer{position:fixed;top:0;right:0;bottom:0;width:400px;background:var(--panel);border-left:1px solid var(--border);box-shadow:-8px 0 28px #00000080;z-index:80;padding:20px;overflow-y:auto}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:70}.attention-item{display:flex;align-items:center;gap:10px;padding:9px 3px;border-bottom:1px solid var(--border-soft);font-size:11.5px}.attention-sev{width:6px;height:6px;border-radius:50%;flex-shrink:0}.attention-sev.critico{background:var(--critico)}.attention-sev.atencion{background:var(--atencion)}.money{font-family:var(--font-mono)}.progress-track{flex:1;height:4px;background:#292c2f;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--gold)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,42%) 1fr;background:#0d0f10}.login-brand{padding:56px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border-soft);background:radial-gradient(circle at 20% 15%,rgba(197,160,101,.1),transparent 32%),#101214}.login-brand-mark{width:46px;height:46px;border:1px solid var(--gold-line);display:grid;place-items:center;color:var(--gold);font-family:var(--font-display);font-size:18px}.login-brand h1{font-family:var(--font-display);font-weight:500;font-size:36px;line-height:1.05;margin:24px 0 12px;max-width:420px}.login-brand p{color:var(--text-faint);max-width:390px;font-size:12px}.login-brand small{color:#565b5e;font-size:9px;letter-spacing:.12em}.login-form-wrap{display:grid;place-items:center;padding:36px}.login-card{width:min(380px,100%)}.login-card h2{font-family:var(--font-display);font-size:24px;font-weight:500;margin:0 0 5px}.login-card .login-sub{color:var(--text-faint);font-size:11.5px;margin-bottom:26px}.login-card label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;color:var(--text-faint)}.login-card input{width:100%;height:40px;margin-bottom:15px}.login-card .action-btn{width:100%;height:40px;margin-top:4px}.login-error{color:var(--critico);font-size:11px;margin-bottom:12px}.login-note{margin-top:18px;font-size:9.5px;color:#565b5e;text-align:center}@media (max-width:900px){:root{--sidebar-w:190px}.view{padding:20px}.user-copy{display:none}.login-shell{grid-template-columns:1fr}.login-brand{display:none}}@media (max-width:680px){.sidebar{display:none}.main{margin-left:0}.topbar{padding:0 14px}.global-search{width:65vw}.view{padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}.data-source-live{display:inline-flex;align-items:center;gap:6px;margin:-8px 0 14px;padding:5px 9px;border:1px solid rgba(16,185,129,.22);border-radius:999px;background:#10b98112;color:#047857;font-size:11px;font-weight:700;letter-spacing:.02em}.entity-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.entity-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.entity-form input,.entity-form select,.entity-form textarea{width:100%;text-transform:none;letter-spacing:normal}.entity-form .span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px}.form-error{color:var(--critico);font-size:11px;text-transform:none;letter-spacing:normal}.data-source-live{display:inline-flex;align-items:center;margin:-8px 0 16px;color:#79b68b;font-size:10px;letter-spacing:.03em}@media (max-width:760px){.entity-form{grid-template-columns:1fr}.entity-form .span-2{grid-column:auto}}.fatal-error,.empty-state-page{min-height:70vh;display:grid;place-items:center;padding:32px;text-align:center}.fatal-error{min-height:100vh;background:#111315}.fatal-error__card{width:min(560px,100%);background:#1a1d20;border:1px solid #34383d;border-radius:16px;padding:36px;color:#f5f5f5;box-shadow:0 18px 60px #00000047}.fatal-error__brand{color:#c5a065;font-weight:800;letter-spacing:.18em;margin-bottom:18px}.fatal-error__card h1,.empty-state-page h1{margin:0 0 10px}.fatal-error__card p,.empty-state-page p{opacity:.72}.fatal-error__card code{display:block;text-align:left;white-space:pre-wrap;margin:20px 0;padding:12px;border-radius:8px;background:#0d0f10;color:#ddd}.fatal-error__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.empty-state-page__code{font-size:64px;font-weight:800;color:#c5a065;line-height:1}
