*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh}:root{--navy:#0f1f38;--navy-2:#16294a;--navy-active:#1f3a63;--accent:#2f6fed;--accent-2:#0ea5a3;--bg:#f3f5f9;--card:#fff;--border:#e4e8f0;--text:#1c2534;--muted:#6b7688;--danger:#dc2626;--danger-bg:#fdecec;--success:#178a4c;--success-bg:#e9f8ef;--warn:#b5790a;--warn-bg:#fdf3df}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.screen-login{min-height:100vh;display:flex}.login-brand{background:linear-gradient(160deg,var(--navy),var(--navy-2) 60%,var(--accent));color:#fff;flex-direction:column;flex:1;justify-content:center;padding:64px;display:flex}.login-brand .logo{letter-spacing:-.5px;font-size:34px;font-weight:800}.login-brand .logo span{color:var(--accent-2)}.login-brand p{color:#c9d3e6;max-width:360px;margin-top:14px;font-size:15px;line-height:1.5}.login-brand ul{color:#c9d3e6;margin-top:36px;font-size:13.5px;line-height:2;list-style:none}.login-brand ul li:before{content:"— ";color:var(--accent-2)}.login-form-wrap{background:var(--card);flex:1;justify-content:center;align-items:center;display:flex}.login-form{width:100%;max-width:340px;padding:24px}.login-form h2{margin-bottom:6px;font-size:22px}.login-form .sub{color:var(--muted);margin-bottom:28px;font-size:13.5px}.field{margin-bottom:16px}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,select{border:1px solid var(--border);background:#fbfcfe;border-radius:8px;width:100%;padding:11px 12px;font-size:14.5px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:14.5px;font-weight:600;transition:all .15s}.btn:hover{background:#255ed1}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--accent);border:1px solid var(--border);background:0 0;width:auto;padding:8px 16px}.btn-ghost:hover{background:#f0f4ff}.login-foot{color:var(--muted);text-align:center;margin-top:18px;font-size:12px}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.topbar-simple{background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 40px;display:flex}.brand-mini{color:var(--navy);font-size:18px;font-weight:800}.brand-mini span{color:var(--accent-2)}.company-wrap{max-width:920px;margin:48px auto;padding:0 24px}.company-wrap h1{margin-bottom:4px;font-size:24px}.company-wrap p{color:var(--muted);margin-bottom:28px;font-size:14px}.company-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.company-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:20px;transition:all .15s}.company-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 18px #0f1f3814}.company-card .avatar{background:var(--navy);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:14px;font-weight:700;display:flex}.company-card h3{margin-bottom:4px;font-size:15.5px}.company-card .nit{color:var(--muted);font-size:12.5px}.company-card .badge{background:var(--success-bg);color:var(--success);border-radius:20px;margin-top:10px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.screen-dashboard{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#cfd8ea;flex-direction:column;flex-shrink:0;width:240px;min-height:100vh;transition:width .15s;display:flex}.sidebar.collapsed{width:68px}.sidebar.collapsed .navlabel,.sidebar.collapsed .navgroup-title,.sidebar.collapsed .side-foot-text{display:none}.side-logo{color:#fff;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:20px;font-size:18px;font-weight:800;display:flex}.side-logo span{color:var(--accent-2)}.navgroup-title{text-transform:uppercase;letter-spacing:.6px;color:#7d89a3;padding:16px 20px 6px;font-size:10.5px}.navitem{cursor:pointer;color:#cfd8ea;border-left:3px solid #0000;align-items:center;gap:12px;padding:10px 20px;font-size:13.8px;display:flex}.navitem:hover{background:#ffffff0d}.navitem.active{background:var(--navy-active);color:#fff;border-left-color:var(--accent-2)}.side-foot{color:#8592ab;border-top:1px solid #ffffff14;margin-top:auto;padding:16px 20px;font-size:12px}.main{flex:1;min-width:0}.topbar{background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.topbar-left{align-items:center;gap:14px;display:flex}.icon-btn{border:1px solid var(--border);cursor:pointer;width:34px;height:34px;color:var(--muted);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:#f4f6fb}.company-name{font-size:15px;font-weight:700}.company-name small{color:var(--muted);font-size:11.5px;font-weight:400;display:block}.company-name small a{color:inherit;cursor:pointer}.topbar-right{align-items:center;gap:14px;display:flex}.user-chip{align-items:center;gap:8px;font-size:13px;display:flex}.user-chip .av{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12.5px;font-weight:700;display:flex}.role-badge{background:var(--warn-bg);color:var(--warn);border-radius:20px;padding:2px 7px;font-size:10.5px;font-weight:700}.content{padding:26px 28px 60px}.demo-note{color:#8a5a00;background:#fff7e6;border:1px solid #f2d79b;border-radius:8px;margin-bottom:20px;padding:10px 14px;font-size:12.5px}.callout{background:#eef3ff;border:1px solid #d7e2fb;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:16px 20px;display:flex}.callout .l small{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11.5px;display:block}.callout .l strong{font-size:16px}.callout .r{color:var(--accent);font-size:12.5px;font-weight:700}.cards-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.stat-card small{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.stat-card .val{margin-top:6px;font-size:24px;font-weight:800}.stat-card.pos .val{color:var(--success)}.stat-card.neg .val{color:var(--danger)}.grid-2{grid-template-columns:1.3fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=980px){.grid-2{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.panel-head h3{font-size:14.5px}.panel-head .tag{color:var(--muted);font-size:11px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;background:#fafbfd;padding:10px 20px;font-size:11.5px;font-weight:600}td{border-top:1px solid var(--border);padding:11px 20px}.pill{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600}.pill.venta{background:var(--success-bg);color:var(--success)}.pill.compra{color:var(--accent);background:#eaf0ff}.matrix-row{border-top:1px solid var(--border);justify-content:space-between;padding:9px 20px;font-size:13px;display:flex}.matrix-row.total{background:#fbfbfd;font-weight:700}.matrix-row .k{color:var(--muted)}.matrix-row.due .v{color:var(--danger);font-weight:700}.period-box{justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.period-box .lock{align-items:center;gap:8px;font-size:13px;display:flex}.period-box .lock .dot{background:var(--danger);border-radius:50%;width:8px;height:8px}.period-box .lock .dot.open{background:var(--success)}.period-box button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:7px;padding:7px 12px;font-size:12px}.period-box button:hover{background:#f4f6fb}.period-box button:disabled{opacity:.45;cursor:not-allowed}.footnote{color:var(--muted);padding:14px 20px;font-size:11.5px}.empty-state{color:var(--muted);padding:24px 20px;font-size:13px}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.sidebar-backdrop{display:none}@media (width<=760px){.screen-login{flex-direction:column;min-height:auto}.login-brand{flex:none;padding:28px 24px}.login-brand ul{display:none}.login-form-wrap{flex:none;padding:28px 0 48px}.topbar-simple{padding:14px 16px}.company-wrap{margin:24px auto;padding:0 16px}.sidebar{z-index:50;width:250px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar:not(.collapsed){transform:translate(0);box-shadow:12px 0 28px #00000047}.sidebar.collapsed{width:250px}.sidebar.collapsed .navlabel,.sidebar.collapsed .navgroup-title,.sidebar.collapsed .side-foot-text{display:block}.sidebar-backdrop.show{z-index:40;background:#0f172a73;display:block;position:fixed;inset:0}.topbar{padding:12px 14px}.content{padding:16px 14px 40px}.callout{flex-direction:column;align-items:flex-start;gap:6px}.cards-row{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px}.stat-card .val{font-size:19px}.panel{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:520px}.form-row-2,.form-row-3{grid-template-columns:1fr}}@media (width<=420px){.cards-row{grid-template-columns:1fr}}
