:root{--bg:#f4f6fb;--card:#fff;--text:#202a44;--muted:#7b859e;--line:#e4e8f1;--primary:#002369;--primary2:#001a4f;--sidebar:#171d2b;--green:#119a78;--orange:#d58a28;--red:#d55361;--purple:#7a5ae4;--shadow:0 16px 38px #212a4414}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{place-items:center;min-height:100vh;font-weight:700;display:grid}.appShell{min-height:100vh}.sidebar{color:#fff;z-index:50;background:#002369;flex-direction:column;width:258px;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;min-height:70px;padding:6px 10px 14px;display:flex}.brandLogo{object-fit:contain;width:auto;max-width:172px;height:auto;max-height:48px}.companySwitcher{background:#ffffff0e;border:1px solid #ffffff14;border-radius:12px;margin:0 4px 14px;padding:12px}.companySwitcher span,.companySwitcher small{display:block}.companySwitcher span{text-transform:uppercase;letter-spacing:.1em;color:#8f9bb4;margin-bottom:7px;font-size:10px}.companySwitcher select{color:#fff;background:#222a3c;border:1px solid #374159;border-radius:8px;width:100%;padding:9px 10px;font-weight:700}.companySwitcher small{color:#8490a9;margin-top:7px;font-size:9.5px;line-height:1.35}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav button{color:#9ca6bc;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:10px 12px;font-size:13px;font-weight:650;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff17}.sidebar nav button.active{box-shadow:inset 3px 0 #002369}.sidebarFooter{border-top:1px solid #ffffff14;margin-top:auto;padding-top:12px}.profileMini{align-items:center;gap:10px;padding:4px;display:flex}.profileMini>div:nth-child(2){flex:1}.profileMini strong,.profileMini span{display:block}.profileMini strong{font-size:12px}.profileMini span{color:#8e9ab4;margin-top:2px;font-size:10px}.miniLogout{color:#9ca6bc;background:0 0;border:0;padding:7px}.avatar{color:#002369;background:linear-gradient(135deg,#e6e9ff,#cfd5ff);border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.main{min-height:100vh;margin-left:258px}.topbar{border-bottom:1px solid var(--line);z-index:30;background:#fff;align-items:center;height:70px;padding:0 28px;display:flex;position:sticky;top:0}.breadcrumbs{color:#8a94a8;align-items:center;gap:8px;font-size:12px;display:flex}.breadcrumbs strong{color:#424d66}.topActions{align-items:center;gap:11px;margin-left:auto;display:flex}.businessPill{color:#002369;background:#eef3ff;border:1px solid #d7e1f4;border-radius:20px;padding:6px 9px;font-size:10px;font-weight:800}.notification,.iconButton,.menuButton,.sidebarClose{color:#68738b;background:0 0;border:0;place-items:center;display:grid}.notification{border:1px solid var(--line);border-radius:9px;width:38px;height:38px;position:relative}.notification i{background:var(--red);color:#fff;border:2px solid #fff;border-radius:20px;place-items:center;min-width:18px;height:18px;font-size:9px;font-style:normal;display:grid;position:absolute;top:-4px;right:-4px}.userTop{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:12px;display:flex}.userTop strong,.userTop span{display:block}.userTop strong{font-size:12px}.userTop span{color:#8a94aa;font-size:10px}.logoutTop{padding:8px}.menuButton,.sidebarClose{display:none}.page{max-width:1680px;margin:0 auto;padding:28px}.pageHeading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.pageHeading h1{letter-spacing:-.025em;margin:4px 0 7px;font-size:27px}.pageHeading>div>p:last-child{color:var(--muted);margin:0;font-size:13px}.eyebrow{letter-spacing:.12em;font-weight:800;color:#002369!important;margin:0!important;font-size:10px!important}.headingActions{flex-wrap:wrap;gap:9px;display:flex}.primary,.secondary,.ghost{border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-size:12px;font-weight:750;display:inline-flex}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;box-shadow:0 7px 16px #0023692e}.primary:hover{background:var(--primary2)}.secondary{border:1px solid var(--line);color:#46516a;background:#fff}.ghost{color:#002369;background:0 0;border:0}.full{width:100%}.metricsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:13px;padding:18px;display:flex;box-shadow:0 7px 22px #232b4208}.metricIcon{color:#002369;background:#eef3ff;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.metricIcon.green{color:var(--green);background:#e7f7f1}.metricIcon.orange{color:var(--orange);background:#fff3e1}.metricIcon.purple{color:var(--purple);background:#f1ebff}.metric span,.metric strong,.metric small{display:block}.metric span{color:var(--muted);font-size:11px}.metric strong{letter-spacing:-.025em;margin-top:4px;font-size:22px}.metric small{color:#99a1b2;margin-top:4px;font-size:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #232b4209}.cardHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.cardHeader h3{margin:0;font-size:15px}.cardHeader p{color:var(--muted);margin:4px 0 0;font-size:11px}.twoCol{grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px;display:grid}.threeCol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.pipeline{gap:15px;padding:17px 20px;display:grid}.pipeline>div{grid-template-columns:120px 36px 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.pipeline strong{text-align:right}.bar{background:#eef0f5;border-radius:8px;height:7px;overflow:hidden}.bar i{background:#002369;border-radius:8px;height:100%;display:block}.alertRow{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:13px 18px;display:flex}.alertRow:last-child{border-bottom:0}.alertRow svg{color:var(--orange)}.alertRow>div{flex:1}.alertRow strong,.alertRow span{display:block}.alertRow strong{font-size:12px}.alertRow span{color:var(--muted);margin-top:3px;font-size:10px}.alertRow b{font-size:11px}.toolbar{justify-content:space-between;margin-bottom:14px;display:flex}.searchBox{border:1px solid var(--line);color:#8993a6;background:#fff;border-radius:10px;align-items:center;gap:9px;width:100%;max-width:520px;height:42px;padding:0 12px;display:flex}.searchBox input{color:var(--text);background:0 0;border:0;outline:0;flex:1}.tableCard{overflow:hidden}.tableWrap{overflow:auto}.tableWrap table{border-collapse:collapse;width:100%;min-width:760px}.tableWrap th{color:#7b859c;text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfe;padding:12px 15px;font-size:9.5px}.tableWrap td{vertical-align:middle;border-bottom:1px solid #edf0f5;padding:13px 15px;font-size:11.5px}.tableWrap tbody tr:hover{background:#fafbff}.tableWrap td strong,.tableWrap td small{display:block}.tableWrap td small{color:#9099aa;margin-top:3px;font-size:9.5px}.status{color:#667087;white-space:nowrap;background:#f2f4f8;border-radius:20px;align-items:center;gap:6px;padding:5px 8px;font-size:9.5px;font-weight:750;display:inline-flex}.status i{background:#8e98aa;border-radius:50%;width:6px;height:6px}.status-activo,.status-activa,.status-vigente,.status-pagado,.status-terminada{color:#128363;background:#eaf8f3}.status-activo i,.status-activa i,.status-vigente i,.status-pagado i,.status-terminada i{background:#159b78}.status-moroso,.status-rechazada,.status-cancelada{color:#bb4150;background:#ffedef}.status-moroso i,.status-rechazada i,.status-cancelada i{background:#d55361}.status-pendiente,.status-seguimiento,.status-en-negociacion,.status-solicitada,.status-cotizando,.status-programada{color:#af731c;background:#fff4e3}.status-pendiente i,.status-seguimiento i,.status-en-negociacion i,.status-solicitada i,.status-cotizando i,.status-programada i{background:#d58a28}.status-en-mantencion,.status-en-ejecucion,.status-enviada{color:#002369;background:#eef3ff}.status-en-mantencion i,.status-en-ejecucion i,.status-enviada i{background:#002369}.rowActions{gap:5px;display:flex}.rowActions button{border:1px solid var(--line);color:#69738b;background:#fff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.dangerText{color:var(--red)!important}.positive{color:var(--green)}.negative{color:var(--red)}.typeBadge,.codeBadge{color:#59647e;background:#f0f2fa;border:1px solid #e2e6f1;border-radius:7px;padding:5px 8px;font-size:9.5px;font-weight:750;display:inline-flex}.rankRow{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 20px;display:flex}.rankRow>b{color:#002369;width:27px}.rankRow>div{flex:1}.rankRow strong,.rankRow span{display:block}.rankRow strong{font-size:12px}.rankRow span{color:var(--muted);font-size:10px}.rankRow em{color:var(--green);font-style:normal;font-weight:800}.roleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.roleCard{padding:22px}.roleCard>svg{color:#002369}.roleCard h3{margin:12px 0 6px}.roleCard p{color:var(--muted);font-size:12px;line-height:1.6}.statLine{border-bottom:1px solid var(--line);justify-content:space-between;padding:13px 18px;font-size:12px;display:flex}.empty{text-align:center;color:#8b94a8;padding:30px}.empty h3{margin:8px 0 4px;font-size:13px}.empty p{margin:0;font-size:10px}.modalBackdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#1c23358f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(680px,96vw);max-height:92vh;overflow:hidden;box-shadow:0 30px 90px #151b2c4d}.modalWide{width:min(1040px,96vw)}.modalHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 26px;display:flex}.modalHeader h2{margin:0;font-size:20px}.modalHeader p{color:var(--muted);margin:6px 0 0;font-size:11px}.modalBody{max-height:calc(92vh - 85px);padding:22px 26px;overflow:auto}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.fieldFull{grid-column:1/-1}.field>span{color:#526078;font-size:10.5px;font-weight:750}.field input,.field select,.field textarea{width:100%;color:var(--text);background:#fff;border:1px solid #dfe4ee;border-radius:9px;outline:0;padding:10px 11px}.field input,.field select{height:41px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#002369;box-shadow:0 0 0 3px #00236917}.field small{color:#9ba3b2;font-size:9px;line-height:1.4}.sectionTitle{border-top:1px solid var(--line);margin:4px 0 14px;padding-top:14px}.sectionTitle:first-child{border-top:0;padding-top:0}.sectionTitle h2{margin:0;font-size:13px}.sectionTitle p{color:var(--muted);margin:4px 0 0;font-size:10px}.formActions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:20px;padding-top:20px;display:flex}.formError{color:#b23d4c;background:#ffeff1;border:1px solid #ffd7dc;border-radius:8px;padding:10px;font-size:11px}.infoStrip{color:#002369;background:#eef3ff;border:1px solid #d7e1f4;border-radius:10px;align-items:center;gap:8px;margin-top:16px;padding:11px 12px;font-size:10px;display:flex}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.detailBlock{border:1px solid var(--line);border-radius:12px;padding:16px}.detailBlock h3{margin:0 0 12px;font-size:13px}.detailRow{border-bottom:1px dashed #e6e9f0;justify-content:space-between;gap:15px;padding:8px 0;font-size:10.5px;display:flex}.detailRow:last-child{border-bottom:0}.detailRow span{color:var(--muted)}.detailRow strong{text-align:right}.noteBox{border:1px solid var(--line);background:#f8f9fc;border-radius:11px;margin-top:15px;padding:15px}.noteBox strong{font-size:11px}.noteBox p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.6}.unitLine{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.unitLine strong,.unitLine span{display:block}.unitLine strong{font-size:11px}.unitLine span{color:var(--muted);margin-top:3px;font-size:9px}.fullBlock{margin-top:15px}.historyLine{border-bottom:1px solid var(--line);grid-template-columns:90px 110px 1fr;gap:10px;padding:10px 0;font-size:10px;display:grid}.historyLine span{color:#002369;font-weight:750}.historyLine p{color:#68738c;margin:0}.inlineForm{gap:10px;margin-top:18px;display:flex}.inlineForm input{border:1px solid var(--line);border-radius:9px;height:40px;padding:0 10px}.dropZone{text-align:center;color:#7d879d;border:2px dashed #d8deeb;border-radius:12px;padding:34px}.dropZone strong,.dropZone p{display:block}.dropZone p{font-size:10px;line-height:1.5}.toast{color:#fff;z-index:130;box-shadow:var(--shadow);background:#192032;border-radius:10px;align-items:center;gap:8px;padding:12px 15px;font-size:11px;display:flex;position:fixed;bottom:24px;right:24px}.loginPage{background:#fff;grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.loginVisual{color:#fff;background:#002369;flex-direction:column;justify-content:space-between;padding:54px 64px;display:flex}.loginBrand img{object-fit:contain;width:auto;height:50px}.loginBrand span{color:#9ba7c0;margin-top:10px;font-size:11px;display:block}.loginVisual h1{letter-spacing:-.035em;max-width:650px;margin:8px 0 18px;font-size:42px;line-height:1.12}.loginVisual>div:nth-child(2)>p:last-child{color:#a9b3c9;max-width:560px;font-size:14px;line-height:1.7}.loginVisual>small{color:#78859f}.eyebrow.light{color:#d7e1f4!important}.loginPanel{place-items:center;padding:40px;display:grid}.loginCard{width:min(420px,100%)}.loginIcon{color:#002369;background:#eef3ff;border-radius:14px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.loginCard h2{margin:0 0 7px;font-size:25px}.loginCard>p{color:var(--muted);margin:0 0 24px;font-size:12px}.loginCard .field{margin-bottom:14px}.demoBox{border:1px solid var(--line);background:#f8f9fc;border-radius:9px;margin-top:15px;padding:12px}.demoBox strong,.demoBox span{font-size:10px;display:block}.demoBox span{color:var(--muted);margin-top:4px}@media (max-width:1100px){.metricsGrid,.propertyGrid,.threeCol{grid-template-columns:repeat(2,1fr)}.twoCol{grid-template-columns:1fr}.loginVisual{padding:42px}.loginVisual h1{font-size:34px}}@media (max-width:820px){.sidebar{transition:all .25s;transform:translate(-100%)}.sidebarOpen{transform:translate(0)}.main{margin-left:0}.menuButton,.sidebarClose{display:grid}.sidebarClose{color:#fff;position:absolute;top:18px;right:12px}.mobileOverlay{z-index:40;background:#14192766;position:fixed;inset:0}.topbar{padding:0 15px}.businessPill,.userTop>div:nth-child(2),.breadcrumbs span{display:none}.page{padding:20px 14px}.loginPage{grid-template-columns:1fr}.loginVisual{display:none}.loginPanel{min-height:100vh}.detailGrid,.formGrid{grid-template-columns:1fr}.fieldFull{grid-column:auto}}@media (max-width:620px){.metricsGrid,.propertyGrid,.threeCol,.roleGrid{grid-template-columns:1fr}.pageHeading{flex-direction:column;align-items:flex-start}.headingActions{width:100%}.headingActions .primary,.headingActions .secondary{flex:1}.topActions{gap:6px}.logoutTop{display:none}.modalBackdrop{padding:8px}.modal{border-radius:14px}.modalHeader,.modalBody{padding-left:17px;padding-right:17px}.historyLine{grid-template-columns:1fr}.inlineForm{flex-direction:column}}
