:root { --ink:#10243d; --muted:#62738b; --line:#dbe4ee; --bg:#f4f7fb; --surface:#fff; --nav:#0e233e; --nav2:#152f50; --teal:#13b8a4; --blue:#2b78e4; --orange:#f59e0b; --red:#e85b62; --radius:12px; font-family:Inter,Segoe UI,Arial,sans-serif; color:var(--ink); }
* { box-sizing:border-box; } [hidden] { display:none !important; } body { margin:0; background:var(--bg); } button,input,select,textarea { font:inherit; }
.side-footer a{display:inline-flex;margin-top:8px;color:#c7f7ef;font-weight:800;text-decoration:none}.toolbar{display:flex;justify-content:flex-end;margin-top:16px}.panel.compact{margin-top:16px}.muted{margin:0;color:var(--muted)}.report-list{display:grid;gap:9px;margin:0;padding-left:19px;color:var(--muted)}.table td small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.ui-icon{width:1.25em;height:1.25em;display:block;flex:0 0 auto;overflow:visible}
.shell { min-height:100vh; display:grid; grid-template-columns:260px 1fr; } .sidebar { background:linear-gradient(180deg,var(--nav),var(--nav2)); color:#d5e4f6; padding:18px 13px; display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; height:100vh; }
.brand { display:flex; align-items:center; gap:11px; padding:9px 10px 22px; color:#fff; } .brand-mark { width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#20c7b3,#1775df);font-weight:800;letter-spacing:.5px; } .brand strong,.brand small{display:block}.brand small{font-size:11px;color:#9fb6ce;margin-top:2px}
.nav { overflow:auto; padding-right:3px; } .nav-label { margin:18px 10px 7px;font-size:10px;letter-spacing:1px;font-weight:800;color:#83a1c0;text-transform:uppercase; }.nav-item { color:#d7e8f8;background:transparent;border:1px solid transparent;border-radius:11px;width:100%;text-align:left;padding:9px 10px;display:flex;align-items:center;gap:11px;cursor:pointer;font-weight:650;transition:background .2s,border-color .2s,transform .2s,color .2s}.nav-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#72e4d6;background:#ffffff0a;border:1px solid #ffffff0d;transition:all .2s}.nav-icon .ui-icon{width:19px;height:19px}.nav-item:hover{background:#ffffff0b;border-color:#ffffff0d;transform:translateX(2px);color:#fff}.nav-item.active{background:linear-gradient(90deg,#1e5472,#234568);border-color:#53e6d329;color:white;box-shadow:0 8px 22px #071b3045,inset 3px 0 0 var(--teal)}.nav-item.active .nav-icon{color:#fff;background:linear-gradient(135deg,#26cdb8,#247ce3);border-color:#7cefe1;box-shadow:0 6px 16px #0acdb94d}.side-footer{margin-top:auto;border-top:1px solid #315372;padding:14px 10px 2px;font-size:12px;color:#aac2d9}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#30d7a1;margin-right:5px;box-shadow:0 0 0 4px #30d7a11a}
.main{min-width:0}.topbar{height:86px;background:#fffffff2;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}.breadcrumb span{font-size:12px;color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.8px}.breadcrumb h1{margin:3px 0 0;font-size:21px;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{border:1px solid transparent;background:transparent;color:#254969;cursor:pointer;width:40px;height:40px;border-radius:11px;display:inline-grid;place-items:center;transition:all .2s}.icon-button .ui-icon{width:20px;height:20px}.icon-button:hover{background:#eef6ff;border-color:#dbeaff;transform:translateY(-1px)}.notification-button{position:relative}.notification-button i{position:absolute;width:7px;height:7px;border-radius:50%;background:#f45668;border:2px solid #fff;right:8px;top:8px}.menu-toggle{display:none}.user-chip{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:20px;padding:5px 12px 5px 5px}.user-chip b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e0f8f5;color:#08796d;font-size:11px}
.content{padding:28px;max-width:1600px;margin:auto}.view-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:20px}.view-head h2{font-size:24px;margin:0}.view-head p{margin:6px 0 0;color:var(--muted)}.button{border:0;border-radius:9px;padding:10px 15px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .2s,box-shadow .2s}.button .ui-icon{width:17px;height:17px}.button:hover{transform:translateY(-1px)}.primary{background:linear-gradient(90deg,#0ea996,#1879de);color:#fff;box-shadow:0 8px 18px #1688d62e}.secondary{background:#e7f5ff;color:#1260ad}.warning{background:#fff3d5;color:#a55c00}.danger{background:#ffeaed;color:#b5243c}.ghost{background:#edf2f7;color:#39516e}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px #183b6210}.metric{padding:18px;min-height:116px}.metric .metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:700}.metric .metric-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#f6fbff,#e8f4ff);color:#1674d1;box-shadow:inset 0 0 0 1px #dcecff,0 5px 12px #2479c51a}.metric-icon .ui-icon{width:21px;height:21px}.metric strong{font-size:25px;margin-top:12px;display:block}.metric.teal .metric-icon{background:linear-gradient(145deg,#effffc,#d8f9f3);color:#089a88;box-shadow:inset 0 0 0 1px #c9f3eb,0 5px 12px #0fae941c}.metric.orange .metric-icon{background:linear-gradient(145deg,#fff9ed,#ffeed2);color:#d77d00;box-shadow:inset 0 0 0 1px #ffe2b3,0 5px 12px #e68a121a}.metric.red .metric-icon{background:linear-gradient(145deg,#fff4f5,#ffe1e5);color:#c9384d;box-shadow:inset 0 0 0 1px #ffd2d9,0 5px 12px #d941571a}.dashboard-layout{grid-template-columns:1.25fr .75fr}.panel{padding:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h3{font-size:15px;margin:0}.panel-title span{font-size:12px;color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{background:linear-gradient(145deg,#fbfdff,#f3f8ff);border:1px solid #dceaff;border-radius:11px;padding:13px;cursor:pointer;text-align:left;font-weight:700;color:#1a416b;transition:all .2s}.quick-action:hover{border-color:#a9d2ff;box-shadow:0 8px 20px #1d74c914;transform:translateY(-2px)}.quick-action span{width:38px;height:38px;display:grid;place-items:center;margin-bottom:9px;border-radius:11px;background:#e5f2ff;color:#147cdd}.quick-action span .ui-icon{width:20px;height:20px}.cash-state{padding:18px;border-radius:12px;background:linear-gradient(135deg,#0f2d52,#1d5285);color:white;box-shadow:0 12px 26px #123b6640}.cash-state small{color:#bed8f5}.cash-state strong{display:block;font-size:25px;margin:7px 0}.cash-state button{margin-top:10px;width:100%;border:0;border-radius:9px;padding:10px;background:#36d3bf;color:#073a35;font-weight:800;cursor:pointer}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{font-size:11px;letter-spacing:.5px;color:#637991;text-transform:uppercase;background:#f7f9fc}.table th,.table td{padding:12px 13px;border-bottom:1px solid #e9eef5;text-align:left;white-space:nowrap}.table tr:last-child td{border-bottom:0}.status{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:800}.status.active{background:#e4fbf4;color:#07866f}.status.paid{background:#e7f1ff;color:#1965c2}.status.closed{background:#eef1f5;color:#506276}.empty{padding:36px;text-align:center;color:var(--muted)}.empty .empty-icon{width:70px;height:70px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#f5faff,#e7f2ff);color:#5c92c6;box-shadow:inset 0 0 0 1px #dbeaff}.empty-icon .ui-icon{width:34px;height:34px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750;color:#3b5068}.field input,.field select,.field textarea{border:1px solid #ccd9e6;border-radius:8px;padding:10px;background:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1aa49d;box-shadow:0 0 0 3px #13b8a41b}.modal{border:0;padding:0;border-radius:14px;width:min(660px,calc(100vw - 30px));box-shadow:0 20px 60px #10243d42}.modal::backdrop{background:#10243d82}.modal form{margin:0}.modal-header{color:white;background:linear-gradient(90deg,#12345a,#245f9f);padding:15px 18px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:17px}.modal-header .icon-button{color:white}.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:0 20px 20px}.toast{position:fixed;right:18px;bottom:18px;background:#11345b;color:#fff;padding:13px 16px;border-radius:9px;box-shadow:0 10px 30px #10243d44;transform:translateY(120px);transition:.25s;max-width:360px;z-index:20}.toast.show{transform:translateY(0)}.toast.error{background:#b72b43}
@media (max-width:1000px){.shell{grid-template-columns:78px 1fr}.brand span:not(.brand-mark),.nav-item{font-size:0}.nav-icon{margin:auto}.nav-label,.side-footer{display:none}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-layout{grid-template-columns:1fr}.sidebar{padding:18px 10px}.brand{padding-left:10px}.topbar{padding:0 18px}}@media(max-width:680px){.shell{display:block}.sidebar{position:fixed;left:0;transform:translateX(-100%);width:260px;z-index:12;transition:.2s}.sidebar.open{transform:translateX(0)}.brand span:not(.brand-mark),.nav-item{font-size:14px}.nav-icon{margin:0}.nav-label,.side-footer{display:block}.menu-toggle{display:grid}.content{padding:18px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:20px}.top-actions .icon-button{display:none}.user-chip{font-size:0;padding:4px}.split,.form-grid{grid-template-columns:1fr}.view-head{align-items:start;flex-direction:column}.quick-actions{grid-template-columns:1fr}.topbar{height:74px}.breadcrumb h1{font-size:17px}}

.system-login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:72px;padding:clamp(32px,7vw,120px);background:linear-gradient(135deg,#071d38 0%,#103d68 52%,#1198a7 100%);color:#f8fbff}.system-login-copy{max-width:640px}.system-login-copy>.brand-mark,.system-login-card>.brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,#27d3b5,#238ee9);color:#fff;font-weight:900;font-size:22px;box-shadow:0 16px 30px rgba(7,20,50,.28)}.system-login h1{font-size:clamp(38px,5vw,72px);line-height:1.03;margin:22px 0}.system-login-copy>p:last-child{font-size:20px;line-height:1.6;color:#cbdcf0}.system-login-card{background:#fff;color:#102b4d;border-radius:18px;padding:46px;box-shadow:0 32px 70px rgba(0,0,0,.25);display:grid;gap:14px;max-width:460px;width:100%;justify-self:end}.system-login-card h2{margin:8px 0 0;font-size:31px}.system-login-card>p{margin:0 0 12px;color:#60718b}.system-login-card label{font-weight:700;display:grid;gap:8px}.system-login-card input{width:100%;border:1px solid #d9e2ee;border-radius:10px;padding:14px;font:inherit;color:#102b4d}.system-login-card .button{justify-content:center;padding:15px;margin-top:8px}.login-error{min-height:18px;color:#c4294a;font-weight:700}@media(max-width:800px){.system-login{grid-template-columns:1fr;padding:28px}.system-login-copy{display:none}.system-login-card{justify-self:stretch;max-width:none;padding:32px}}

.permission-checks{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:4px}.permission-checks label{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600}.permission-checks input{width:auto}
.table-actions,.view-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.view-actions{justify-content:flex-end;margin:-8px 0 14px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-box{border:1px solid #dbe7f2;border-radius:10px;background:#f8fbfe;padding:12px;display:grid;gap:4px}.detail-box small{color:var(--muted);font-size:11px}.detail-box b{color:var(--ink);font-size:13px}.detail-box .status{width:max-content}@media(max-width:680px){.view-actions{justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.table-actions,.toolbar{justify-content:flex-start}}

/* Identidad visual de Capital Pro: el logotipo conserva su proporción en cada superficie. */
.brand-logo{width:42px;height:42px;object-fit:contain;border-radius:12px;box-shadow:0 6px 16px #041a343d}.system-logo{display:block;object-fit:contain}.system-logo-light{width:min(360px,100%);height:auto;background:#fff;border-radius:18px;padding:10px;box-shadow:0 18px 36px #03162d35}.system-logo-card{width:176px;height:auto;margin:0 auto 4px}@media(max-width:800px){.system-logo-card{width:160px}}
/* Domain module filters */
.module-filters { display:grid; grid-template-columns:minmax(220px,1fr) minmax(160px,240px) auto; gap:12px; align-items:end; margin:0 0 16px; }
.module-filters label { display:grid; gap:6px; color:var(--muted); font-size:.82rem; font-weight:700; }
.module-filters input,.module-filters select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:8px; background:#fff; padding:0 12px; color:var(--ink); }
@media (max-width:760px){.module-filters{grid-template-columns:1fr}.module-filters .button{width:100%}}
