:root,[data-theme=dark]{--brand: #e2c48a;--brand-600: #c6a56a;--brand-050: #3a3226;--brand-ink: #f4e6c4;--on-brand: #1c160c;--bg: #14110e;--bg-deep: #0c0b09;--panel: #1c1916;--panel2: #24201b;--line: #3a342c;--line-strong: #4a4338;--ink: #f6f1e8;--ink-2: #e4d9c8;--sub: #b3a794;--muted: #8a7e6e;--green: #3dab7a;--green-050: #3dab7a22;--amber: #e2c48a;--amber-050: #e2c48a22;--red: #e07a72;--red-050: #e07a7222;--violet: #b7a3d6;--shadow: 0 12px 40px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--table-head-bg: rgba(0, 0, 0, .2);--nav-hover: rgba(226, 196, 138, .1);--scroll-thumb: #4a4338;--font: "Segoe UI", system-ui, sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--auth-panel-hero: linear-gradient(155deg, #14110c 0%, #3a3226 48%, #8c7350 100%);color-scheme:dark}[data-theme=light]{color-scheme:light;--brand: #1e3a5f;--brand-600: #152c4a;--brand-050: #e6edf5;--brand-ink: #10243f;--on-brand: #ffffff;--bg: #f7f4ee;--bg-deep: #efeae2;--panel: #fffcf8;--panel2: #f8f4ed;--line: #e6dfd4;--line-strong: #d5ccbe;--ink: #1c1915;--ink-2: #3d4450;--sub: #6f675c;--muted: #9a9082;--green: #2c7a56;--green-050: #e5f3ec;--amber: #9a7040;--amber-050: #f6efe4;--red: #a33b3b;--red-050: #f8e8e6;--violet: #5c4d78;--shadow: 0 1px 2px rgba(28, 25, 21, .04), 0 8px 24px rgba(28, 25, 21, .06);--shadow-sm: 0 1px 2px rgba(28, 25, 21, .05);--table-head-bg: #f3eee6;--nav-hover: rgba(30, 58, 95, .08);--scroll-thumb: #d5ccbe;--auth-panel-hero: linear-gradient(155deg, #121c2c 0%, #1e3a5f 52%, #8c7350 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body,app-root{height:100%}body{font-family:var(--font);background:var(--bg-deep);color:var(--ink);overflow:hidden}button,input,select,textarea{font-family:inherit}button{cursor:pointer}a{color:var(--brand)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app{width:100vw;height:100vh;overflow:hidden;background:var(--bg);display:flex}.shell{display:flex;flex:1;min-height:0;width:100%}.side{width:252px;flex:0 0 252px;background:radial-gradient(420px 220px at 0% 0%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 62%),var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,flex-basis .2s ease}.side.collapsed{width:76px;flex-basis:76px}.side-brand{padding:18px 16px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.crest{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:grid;place-items:center;color:var(--on-brand);font-weight:800;letter-spacing:-.4px;background:linear-gradient(145deg,var(--brand),var(--brand-600));box-shadow:0 8px 18px color-mix(in srgb,var(--brand) 28%,transparent)}.side-name{font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:.04em;line-height:1.1}.side-tag{font-size:10.5px;color:var(--muted);letter-spacing:.4px;margin-top:2px;text-transform:uppercase}.side.collapsed .side-copy{display:none}.side.collapsed .side-brand{justify-content:center;padding-left:0;padding-right:0}.nav-scroll{flex:1;overflow-y:auto;padding:8px 12px 12px}.side-section{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.9px;padding:16px 8px 6px;text-transform:uppercase}.side.collapsed .side-section{display:none}.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:2px 0;border-radius:11px;border:1px solid transparent;background:transparent;color:var(--ink-2);font-weight:550;font-size:13px;text-align:left;width:100%;position:relative;text-decoration:none}.nav-ico{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;color:var(--sub);background:color-mix(in srgb,var(--ink) 5%,var(--panel2));border:1px solid var(--line)}.nav-ico svg{width:15px;height:15px;display:block}.nav:hover{background:var(--panel2);color:var(--ink)}.nav.active{background:var(--brand-050);color:var(--brand-ink);font-weight:650;border-color:color-mix(in srgb,var(--brand) 28%,transparent)}[data-theme=dark] .nav.active{color:#fff}.nav.active .nav-ico{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.nav-label{flex:1;min-width:0;line-height:1.25}.side.collapsed .nav{justify-content:center;padding:8px}.side.collapsed .nav-label{display:none}.side-foot{padding:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.vault-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub);flex:1}.vault-status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-050)}.side.collapsed .vault-status{display:none}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.top{min-height:58px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:12px;background:var(--panel);flex-shrink:0}.crumb{font-size:13.5px;color:var(--sub)}.crumb b{color:var(--ink);font-weight:650}.crumb .sep{color:var(--muted);margin:0 4px}.empresa-chip{font-size:11.5px;color:var(--sub);border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:4px 10px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--ink-2);display:grid;place-items:center}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}.usermenu{position:relative}.userbtn{display:flex;align-items:center;gap:9px;background:none;border:none;padding:4px 8px;border-radius:22px;color:var(--ink)}.userbtn:hover{background:var(--panel2)}.uname{font-size:13px;color:var(--ink-2);font-weight:650;text-align:left}.urole{font-size:10.5px;color:var(--sub);text-align:left}.uchev{color:var(--muted);font-size:11px}.avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--violet),var(--brand));display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--on-brand)}.usermenu-pop{position:absolute;right:0;top:46px;width:220px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:30}.usermenu-pop button{width:100%;text-align:left;border:0;background:transparent;color:var(--ink-2);padding:10px 12px;border-radius:9px;font-size:13px}.usermenu-pop button:hover{background:var(--nav-hover);color:var(--ink)}.content{flex:1;overflow:auto;padding:22px 24px 32px}.page{max-width:1180px;display:flex;flex-direction:column;gap:16px;animation:rise .28s ease}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pagehead{display:flex;gap:14px;align-items:flex-start}.pagehead-mark{width:4px;align-self:stretch;min-height:48px;border-radius:4px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 35%,var(--violet)))}.pagetitle{font-family:var(--serif);font-size:26px;font-weight:700;letter-spacing:.1px;line-height:1.12}.greet{margin-top:6px;font-size:13.5px;color:var(--sub)}.greet b{color:var(--brand)}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm)}.kpi-ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.kpi-ico span{width:10px;height:10px;border-radius:50%;background:currentColor}.tone-brand{color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent)}.tone-green{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}.tone-amber{color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent)}.tone-violet{color:var(--violet);background:color-mix(in srgb,var(--violet) 14%,transparent)}.kpi-val{font-size:26px;font-weight:800;margin-top:12px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.kpi-label{font-size:12.5px;color:var(--ink-2);margin-top:4px;font-weight:650}.kpi-sub{font-size:11.5px;color:var(--muted);margin-top:3px}.card h2{font-family:var(--serif);font-size:18px;font-weight:700}.card .sub{color:var(--sub);font-size:12.5px;margin-top:3px}.pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--brand-050);color:var(--brand-ink);white-space:nowrap}[data-theme=dark] .pill{color:#fff}.pill.ok{background:var(--green-050);color:var(--green)}.pill.warn{background:var(--amber-050);color:var(--amber)}.pill.bad{background:var(--red-050);color:var(--red)}table{width:100%;border-collapse:collapse;font-size:12.5px}th{color:var(--sub);font-weight:650;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--table-head-bg)}td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.on{background:var(--panel2)}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px}.muted{color:var(--sub)}.right{text-align:right}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field span{font-size:12px;color:var(--sub);font-weight:650}.input,.select,textarea.input{min-height:40px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel2);color:var(--ink);padding:8px 12px;font-size:13.5px;width:100%}textarea.input{min-height:96px;resize:vertical}.input:focus,.select:focus{outline:none;border-color:var(--brand)}.btn{border:0;border-radius:10px;background:var(--brand);color:var(--on-brand);font-weight:700;padding:10px 14px;font-size:13.5px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{background:var(--brand-600)}.btn:disabled{opacity:.6;cursor:default}.btn.sec{background:transparent;color:var(--ink-2);border:1px solid var(--line-strong)}.btn.sec:hover{border-color:var(--brand);color:var(--brand);background:transparent}.btn.tiny{padding:7px 10px;font-size:12px}.error{color:var(--red);font-size:13px}.okmsg{color:var(--green);font-size:13px}.note{font-size:12.5px;color:var(--sub);background:color-mix(in srgb,var(--brand) 6%,var(--panel));border:1px solid var(--line);border-radius:12px;padding:10px 14px;line-height:1.45}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal-head span{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.4px;text-align:center}.day{min-height:78px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);padding:8px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:4px}.day.empty{background:transparent;border-color:transparent;cursor:default}.day.futuro{opacity:.45}.day .n{font-weight:750;font-size:13px}.day .c{font-size:11px;color:var(--sub)}.day.facturo{background:var(--green-050);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.day.recibio{background:var(--brand-050);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.day.cancelado{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--red) 70%,transparent)}.day.on{outline:2px solid var(--brand);outline-offset:1px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--sub)}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:-1px}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-nav h2{font-family:var(--serif);font-size:22px;text-transform:capitalize}.sheet-wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.page.wide{max-width:none}.head-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.head-copy{display:flex;gap:14px;align-items:flex-start}.head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ic-btn{display:inline-flex;align-items:center;gap:6px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);font-weight:700;font-size:13px;padding:8px 12px;text-decoration:none}.ic-btn:hover{border-color:var(--brand);color:var(--brand)}.ic-btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.ic-btn-primary:hover{background:var(--brand-600);color:var(--on-brand)}.ic-btn:disabled{opacity:.55;cursor:default}.table-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 16px 0;font-weight:750}.table-meta,.hint{color:var(--sub);font-size:12.5px;font-weight:500}.hint{padding:6px 16px 10px;line-height:1.45}.table-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:0 16px 8px}.table-tools .input{max-width:240px;min-height:34px}table.plain tbody tr{cursor:default}table.plain td,table.plain th{white-space:nowrap}.estado-ok{color:var(--green);font-size:12.5px;line-height:1.35}.estado-bad{color:var(--amber);font-size:12.5px}.linkish{border:0;background:none;color:var(--brand);font-weight:700;font-size:12.5px;padding:0 6px}.overlay{position:fixed;inset:0;z-index:50;background:#060a148c;display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow:auto}.visor{width:min(980px,100%);background:var(--panel);border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.visor-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;align-items:flex-start;flex-wrap:wrap}.visor-actions{display:flex;gap:8px;flex-wrap:wrap}.visor-chrome{background:#2b2f36;color:#e8e8e8;display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:12px}.visor-chrome .spacer{flex:1}.visor-body{background:#525659;padding:18px;max-height:72vh;overflow:auto}.sq{width:28px;height:26px;border-radius:5px;border:0;font-size:11px;font-weight:800;color:#fff;display:inline-grid;place-items:center;padding:0;text-decoration:none}.sq.on{background:var(--brand);color:var(--on-brand)}.sq.soft{background:var(--brand-050);color:var(--brand)}.sq.bad{background:#d4534e;box-shadow:inset 0 0 0 2px #7a1d1d}.sq.off{background:#e7edf3;color:transparent;cursor:default}[data-theme=dark] .sq.soft{background:var(--brand-050);color:var(--brand)}[data-theme=dark] .sq.off{background:#1a2740}.legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:12px;color:var(--sub)}.legend span{display:inline-flex;align-items:center;gap:6px}.card.grid-card{padding:16px 18px 10px}.card.grid-card .grid-wrap{margin:12px -18px 0;max-height:220px}.grid-wrap{overflow:auto}table.cov{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}table.cov th,table.cov td{padding:0;border-bottom:1px solid var(--line);background:var(--panel)}table.cov thead th{position:sticky;top:0;z-index:2;background:var(--panel2);font-size:11px;font-weight:700;color:var(--sub);padding:6px 2px;white-space:nowrap;text-align:center}table.cov .st{position:sticky;left:0;z-index:1;text-align:left;min-width:230px;max-width:250px;padding:8px 14px!important;background:var(--panel);border-right:1px solid var(--line);white-space:normal;line-height:1.25}table.cov thead th.st{z-index:3;text-align:left}table.cov .cuenta{font-size:12px;font-weight:700;color:var(--ink-2)}table.cov th.d{min-width:28px}table.cov th.d .dl{display:block;font-size:9px;font-weight:650;color:var(--muted);line-height:1.1}table.cov th.dh-off{color:var(--muted)}table.cov td.cell{text-align:center;padding:3px 2px!important}table.cov .c,.legend .c{width:24px;height:20px;border-radius:4px;border:1px solid transparent;display:block;margin:0 auto;font-size:9.5px;font-weight:700;line-height:18px;padding:0;text-align:center;text-decoration:none;color:#fff;background:color-mix(in srgb,var(--muted) 14%,transparent);cursor:pointer}.legend .c{width:14px;height:14px;display:inline-block;cursor:default}table.cov .c.on,.legend .c.on{background:var(--brand);color:var(--on-brand)}table.cov .c.bad,.legend .c.bad{background:var(--red)}table.cov .c.soft,.legend .c.soft{background:color-mix(in srgb,var(--brand) 22%,transparent);border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:transparent}table.cov .c.off,.legend .c.off{background:color-mix(in srgb,var(--muted) 12%,transparent);color:transparent}table.cov .tot{text-align:right;white-space:nowrap;padding:4px 12px!important}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.step{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px}.step em{display:block;font-style:normal;font-size:11px;font-weight:800;color:var(--brand);letter-spacing:.4px}.step strong{display:block;margin:6px 0 4px;font-size:13.5px}.step p{font-size:12px;color:var(--sub);line-height:1.4}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}.tabs button.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.suggest{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:8px}.suggest button{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 12px;display:flex;gap:10px;align-items:baseline}.suggest button:last-child{border-bottom:0}.suggest button:hover{background:var(--nav-hover)}.totals{display:flex;flex-direction:column;gap:6px;min-width:220px;margin-left:auto;font-size:13.5px}.totals div{display:flex;justify-content:space-between;gap:18px}.totals b{font-variant-numeric:tabular-nums}.bars{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:88px 1fr auto;gap:10px;align-items:center;font-size:12.5px}.bar-track{height:10px;border-radius:99px;background:var(--panel2);overflow:hidden}.bar{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 55%,var(--violet)))}.mail{border:1px dashed var(--line-strong);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:13px}.mail b{font-size:12px;color:var(--sub);font-weight:650}.menu-btn,.nav-backdrop{display:none}@media(max-width:1100px){.grid4,.steps{grid-template-columns:1fr 1fr}.split,.sheet-wrap{grid-template-columns:1fr}.empresa-chip{display:none}}@media(max-width:760px){.menu-btn{display:grid}.side{display:flex;position:fixed;z-index:40;top:0;bottom:0;left:0;transform:translate(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}.shell.nav-open .side{transform:none}.shell.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:#00000073;z-index:35}.grid4,.steps,.cal-grid{grid-template-columns:1fr 1fr}.content{padding:16px}.pagetitle{font-size:22px}}
