:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none;--ink:#172033;--muted:#6d7788;--line:#e5eaf2;--panel:#fff;--blue:#2161ff;--blue2:#184bd0;--nav:#0b1220;--green:#11875d;--red:#c53b4b;--amber:#b56b00}*{box-sizing:border-box}body{margin:0;background:#f5f7fb}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.fineprint{font-size:12px;line-height:1.5;color:#8791a2;margin-bottom:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dce7ff 0,#f6f8fd 45%,#eef4ff 100%)}.auth-card{width:min(440px,100%);padding:30px;background:#fff;border:1px solid #e1e7f0;border-radius:24px;box-shadow:0 26px 80px rgba(31,48,83,.14)}h1,h2,h3,h4,p{margin-top:0}.logo-box{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#2869ff,#173fb8);color:#fff;font-weight:900;letter-spacing:-.03em;box-shadow:0 9px 25px rgba(33,97,255,.25);margin-bottom:18px}.logo-box.small{width:38px;height:38px;border-radius:11px;margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0 14px;padding:4px;background:#f1f4f9;border-radius:12px}.auth-tab{border:0;background:transparent;padding:10px;border-radius:9px;color:#657083}.auth-tab.active{background:white;color:#174dcc;font-weight:800;box-shadow:0 2px 7px rgba(30,50,80,.08)}.stack{display:grid;gap:13px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#445066}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d7deea;border-radius:10px;background:#fff;color:#172033;outline:none}input:focus,select:focus,textarea:focus{border-color:#7ea3ff;box-shadow:0 0 0 3px rgba(33,97,255,.08)}textarea{min-height:82px;resize:vertical}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:750}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.ghost{background:#eef2f7;color:#354157}.danger{background:#ffe9ec;color:#a72c3d}.dark-outline{background:#111c30;border:1px solid #304058;color:#dbe5f3}.mini-btn{border:0;background:transparent;color:#88a8ff;text-align:left;padding:6px 2px;font-size:12px;font-weight:800}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--nav);color:#dce4f0;padding:18px 15px;display:flex;flex-direction:column;gap:18px;max-height:100vh;position:sticky;top:0;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:2px 5px}.brand strong{display:block;color:#fff}.brand span{font-size:11px;color:#8090aa;display:block}.company-switcher{display:grid;gap:5px;padding:0 5px}.company-switcher label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#6f809b}.company-switcher select{background:#111c30;color:#edf3ff;border-color:#28364d;padding:9px}.sidebar nav{display:grid;gap:3px}.nav-group{margin-top:9px;padding:0 10px 5px;color:#65758e;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.nav-btn{border:0;background:transparent;color:#b7c3d5;border-radius:9px;padding:9px 10px;text-align:left;display:flex;align-items:center;gap:9px}.nav-btn:hover,.nav-btn.active{background:#18243a;color:#fff}.nav-icon{width:19px;text-align:center;opacity:.92}.sidebar-bottom{margin-top:auto;display:grid;gap:8px}.user-email{font-size:11px;overflow:hidden;text-overflow:ellipsis;color:#8493ab}.main{min-width:0;padding:22px 24px 50px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.topbar h2{margin-bottom:3px}.top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef1f6;padding:6px 9px;font-size:11px;font-weight:800;color:#516078}.badge.blue{background:#e9f0ff;color:#2158d6}.badge.green{background:#e5f8f0;color:#11734f}.badge.red{background:#ffe8eb;color:#a93140}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:13px;margin-bottom:16px}.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 14px rgba(31,47,77,.04)}.metric{padding:17px}.metric .label{font-size:12px;color:#718096}.metric strong{font-size:24px;display:block;margin-top:5px;letter-spacing:-.02em}.metric small{color:#8a94a4}.panel{padding:17px;margin-bottom:15px}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.panel-head h3{margin:0}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid #eef1f5;border-radius:12px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px 10px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap;font-size:13px}th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#667386;background:#fafbfc;position:sticky;top:0}tbody tr:hover{background:#fbfcff}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tfoot th,tfoot td{font-weight:900;background:#f8faff}.empty{padding:25px!important;color:#8b95a5;text-align:center}.status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.status.posted,.status.active,.status.received,.status.issued{background:#e4f7ef;color:#10714d}.status.draft,.status.trial{background:#fff4db;color:#8a5a00}.status.reversed,.status.void,.status.expired,.status.suspended{background:#ffe6e9;color:#a02d3d}.link-btn{border:0;background:none;color:#235bd4;font-weight:800;padding:2px 4px}.link-btn.red{color:#b62d40}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .wide{grid-column:1/-1}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar select,.toolbar input{width:auto;min-width:130px}.segmented{display:flex;background:#eef2f7;padding:3px;border-radius:10px;gap:3px}.segmented button{border:0;background:transparent;padding:7px 10px;border-radius:8px;font-size:12px}.segmented button.active{background:#fff;color:#1c54d4;box-shadow:0 1px 4px rgba(0,0,0,.06);font-weight:800}.notice{border-radius:12px;padding:12px 14px;background:#fff7df;border:1px solid #f2dd9d;color:#795600;font-size:12px;line-height:1.5}.notice.blue{background:#edf4ff;border-color:#cfddff;color:#2d4f9e}.notice.red{background:#fff0f2;border-color:#f4cbd1;color:#903243}.kpi-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed #e4e8ef;padding:9px 0}.kpi-line:last-child{border-bottom:0}.kpi-line strong{font-variant-numeric:tabular-nums}.report-section{padding:8px 0}.report-section h4{margin:10px 0 7px}.report-row{display:grid;grid-template-columns:1fr 150px;gap:12px;padding:7px 0;border-bottom:1px solid #eef1f4}.report-row .num{text-align:right}.report-row.total{font-weight:900;border-top:1px solid #cfd6e1;border-bottom:0}.aging-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.aging-card{padding:13px;background:#fff;border:1px solid #e5eaf2;border-radius:12px}.aging-card span{font-size:11px;color:#788394}.aging-card strong{display:block;margin-top:3px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.plan-card{border:1px solid #e2e8f0;border-radius:16px;padding:17px;background:#fff}.plan-card.current{border-color:#7ea4ff;box-shadow:0 0 0 2px rgba(33,97,255,.08)}.plan-card h3{margin-bottom:5px}.feature-list{padding-left:18px;color:#596579;font-size:12px;line-height:1.8}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f5f8;border-radius:6px;padding:2px 5px;font-size:11px}.loading{position:fixed;inset:0;background:rgba(246,248,252,.72);z-index:2000;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;color:#46536a;backdrop-filter:blur(2px)}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid #cad7f5;border-top-color:#2161ff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;right:18px;top:18px;z-index:4000;background:#111827;color:#fff;border-radius:10px;padding:11px 14px;max-width:360px;transform:translateY(-10px);opacity:0;pointer-events:none;transition:.2s;box-shadow:0 10px 40px rgba(0,0,0,.2)}#toast.show{transform:translateY(0);opacity:1}dialog{border:0;padding:0;border-radius:17px;width:min(620px,calc(100% - 28px));box-shadow:0 28px 90px rgba(15,24,40,.28);max-height:88vh}dialog::backdrop{background:rgba(8,15,28,.5);backdrop-filter:blur(2px)}#modalForm{padding:20px}.modal-head{display:flex;justify-content:space-between;gap:15px}.modal-head h3{margin-bottom:3px}.icon-btn{border:0;background:none;font-size:28px;line-height:1;color:#667085}.modal-fields{display:grid;gap:12px;max-height:60vh;overflow:auto;padding:4px 2px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-line{display:flex;gap:8px;align-items:center;font-weight:600}.checkbox-line input{width:auto}.small-text{font-size:11px;color:#748096}.right{text-align:right}.negative{color:#b43145}.positive{color:#10714d}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.plan-grid,.grid-3{grid-template-columns:1fr}.aging-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;max-height:none}.sidebar nav{grid-template-columns:repeat(2,1fr);display:grid}.nav-group{grid-column:1/-1}.main{padding:16px}.grid-2,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}@media(max-width:520px){.cards,.aging-cards{grid-template-columns:1fr}.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:8px}.sidebar nav{grid-template-columns:1fr 1fr}.panel{padding:13px}.report-row{grid-template-columns:1fr 110px}}
