:root{--navy:#041426;--blue:#0872d8;--yellow:#ffd400;--ink:#142b43;--muted:#657d94;--line:#d8e3ed;--paper:#fff;--bg:#edf3f9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;background:linear-gradient(135deg,var(--navy),#0a5fae)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,480px);padding:38px;border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.25)}.auth-card.install-card{width:min(100%,760px)}.auth-card>img{display:block;width:230px;height:82px;margin:auto;object-fit:contain}.eyebrow,.topbar p,.panel-heading p{margin:22px 0 6px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em}.auth-card h1,.topbar h1,.welcome h2,.panel-heading h2{margin:0;color:var(--navy);font-family:Georgia,serif}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.stack-form{display:grid;gap:16px;margin-top:24px}.stack-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px}.stack-form legend{padding:0 8px;color:var(--blue);font-weight:900}.stack-form label,.portal-form label,.payment-panel label{display:grid;gap:7px;color:#39536b;font-size:12px;font-weight:900}.stack-form input,.portal-form input,.portal-form select,.portal-form textarea,.payment-panel input,.payment-panel select,.inline-form input,.inline-form select{width:100%;min-height:44px;padding:10px 12px;color:var(--ink);border:1px solid #cbd9e5;border-radius:9px;background:#fff;outline:none}.stack-form input:focus,.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,114,216,.1)}.stack-form small{color:var(--muted);font-weight:400}.stack-form button,.portal-form>button,.payment-panel button{min-height:46px;padding:11px 18px;border:0;border-radius:9px;color:var(--navy);background:var(--yellow);font-weight:900}.privacy-note{display:block;margin-top:18px;color:#7c8fa1;text-align:center}.notice{max-width:1180px;margin:18px auto;padding:13px 16px;border-radius:9px;font-weight:800}.notice-success{color:#14623e;background:#e4f7ec}.notice-error{color:#984037;background:#fdebea}.portal-shell{min-height:100vh;display:grid;grid-template-columns:285px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:26px 20px 22px;display:flex;flex-direction:column;color:#fff;background:var(--navy);border-right:1px solid #163654}.brand{display:block;padding:9px 10px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand img{display:block;width:210px;height:76px;object-fit:contain;border-radius:10px;background:#fff}.profile{display:flex;align-items:center;gap:12px;margin:24px 5px 14px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#09233e}.profile>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--navy);background:var(--yellow);font-weight:900}.profile div{min-width:0;display:grid;gap:4px}.profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.profile small{color:#94b2ce;text-transform:capitalize;font-size:11px}.sidebar nav{display:grid;gap:7px;margin-top:18px}.sidebar nav a,.logout-form button{width:100%;padding:13px 14px;border:0;border-radius:9px;color:#c8daeb;background:transparent;text-align:left;font-weight:800}.sidebar nav a:hover{color:#fff;background:#0d3152}.logout-form{margin-top:auto}.logout-form button{color:var(--yellow);border:1px solid rgba(255,212,0,.24)}.workspace{min-width:0}.topbar{min-height:94px;padding:20px clamp(24px,4vw,60px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-bottom:1px solid var(--line)}.topbar p{margin-top:0}.topbar h1{font-size:29px}.topbar>span{padding:10px 13px;color:#12613c;background:#e7f7ee;border-radius:999px;font-size:12px;font-weight:900}.section{padding:34px clamp(24px,4vw,60px);scroll-margin-top:18px}.welcome{display:flex;align-items:end;justify-content:space-between;gap:30px}.welcome p{margin:0 0 6px;color:var(--blue);font-weight:900}.welcome h2{font-size:clamp(27px,3vw,39px)}.welcome>span{color:var(--muted);font-size:13px;text-transform:capitalize}.metrics{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article{min-height:120px;padding:23px;display:grid;align-content:center;gap:5px;border:1px solid #d9e5ef;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(18,53,87,.06)}.metrics strong{color:var(--navy);font:700 31px Georgia,serif}.metrics span{color:#6d8297;font-size:13px}.panel{margin:0 clamp(24px,4vw,60px) 28px;padding:30px;border:1px solid #d7e3ee;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(18,53,87,.07)}.panel-heading{padding-bottom:22px;border-bottom:1px solid #e2e9f0}.panel-heading p{margin-top:0}.panel-heading h2{font-size:27px}.portal-form{margin:24px 0;display:grid;gap:15px;align-items:end}.client-form{grid-template-columns:1.3fr 1fr 1.2fr 1.4fr auto}.agent-form{grid-template-columns:1fr 1.2fr .8fr 1fr auto}.main-fields{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:15px}.line-builder{overflow-x:auto;padding:14px;border:1px solid #d8e4ee;border-radius:12px;background:#f6f9fc}.line-head,.line-row{min-width:820px;display:grid;grid-template-columns:.8fr 2fr .55fr .8fr .65fr 42px;gap:8px;align-items:center}.line-head{padding:0 2px 8px;color:#5b738a;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.line-row{margin-top:8px}.line-row button{width:42px;min-height:42px;border:0;border-radius:8px;color:#9b382e;background:#fdebe9;font-size:20px}.secondary-button{width:max-content;margin-top:12px;padding:10px 14px;border:0;border-radius:8px;color:#fff;background:var(--blue);font-weight:900}.table-wrap{overflow-x:auto;border:1px solid #dfe8f0;border-radius:11px}.table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.table-wrap th{padding:12px 14px;color:#61788e;background:#f3f7fb;text-align:left;text-transform:uppercase;letter-spacing:.07em;font-size:10px}.table-wrap td{padding:14px;border-top:1px solid #e3ebf2}.table-wrap td>a{color:var(--blue);font-weight:900}.empty{text-align:center;color:#7d91a4}.inline-form{display:flex;gap:6px;align-items:center}.inline-form input,.inline-form select{min-height:34px;padding:7px 9px}.inline-form button,.table-button{min-height:34px;padding:7px 10px;border:0;border-radius:7px;color:#fff;background:var(--blue);font-weight:800}.reset-form input{min-width:185px}.state{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.state.on{color:#14623e;background:#e4f7ec}.state.off{color:#984037;background:#fdebea}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.client-grid article{padding:18px;display:grid;gap:7px;border:1px solid #dce6ee;border-radius:11px}.client-grid strong{color:var(--navy)}.client-grid span,.client-grid small{color:var(--muted)}.password-required{width:min(100% - 40px,620px);margin:40px auto;padding:30px;border-radius:16px;background:#fff}.password-required h2{font-family:Georgia,serif}.invoice-screen{min-height:100vh;padding:28px;background:#dfe8f0}.invoice-toolbar,.payment-panel,.invoice-document{width:min(100%,210mm);margin-left:auto;margin-right:auto}.invoice-toolbar{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.invoice-toolbar a,.invoice-toolbar button{padding:11px 14px;border:0;border-radius:8px;color:#fff;background:var(--blue);font-weight:900}.payment-panel{margin-bottom:18px;padding:16px 18px;border:1px solid #cfdce7;border-radius:12px;background:#fff}.payment-panel form{margin-top:12px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.invoice-document{min-height:297mm;padding:4mm 4mm 0;color:#111;background:#fff;font-family:Arial,sans-serif;box-shadow:0 20px 60px rgba(18,53,87,.18)}.invoice-title{height:10mm;display:flex;align-items:center;justify-content:space-between;padding:0 1mm 1.5mm;border-bottom:1px solid #aaa;color:#25236e;font-size:16px}.invoice-brand{min-height:63mm;display:grid;grid-template-columns:.47fr .53fr;gap:12mm;padding:5mm 0 2mm}.invoice-logo{display:flex;align-items:flex-start;justify-content:center}.invoice-logo img{width:100%;max-width:82mm;height:37mm;object-fit:contain}.invoice-client table{width:100%;border-collapse:collapse;text-align:center}.invoice-client th,.invoice-client td{height:8mm;padding:2px 5px;border:1px solid #777}.invoice-client thead tr:first-child th{font-size:17px}.invoice-client thead tr:last-child th{background:#bbb;font-size:14px}.invoice-client address{margin-top:6mm;display:grid;gap:2mm;font-style:normal;font-size:13px}.invoice-client address strong{font-size:18px}.barcode{width:78mm;height:18mm;margin:0 0 1mm;padding:2mm 3mm;display:flex;align-items:flex-end;position:relative;overflow:hidden;border:1px solid #888;border-radius:4mm;background:#fff}.barcode i{position:absolute;left:4mm;top:2mm;bottom:2mm;width:54mm;background:repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 3px,#000 3px 5px,transparent 5px 7px,#000 7px 8px,transparent 8px 11px)}.barcode span{margin-left:auto;color:#555;font-size:8px;transform:rotate(-90deg)}.warranty{margin:0 0 3mm;padding:1.5mm 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;text-align:center;font-size:12px}.invoice-lines{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.invoice-lines th,.invoice-lines td{height:6.1mm;padding:1mm;border:1px solid #777}.invoice-lines th{background:#bbb;text-align:center}.invoice-lines th:nth-child(1){width:12%}.invoice-lines th:nth-child(2){width:53%}.invoice-lines th:nth-child(3){width:7%}.invoice-lines th:nth-child(4){width:10%}.invoice-lines th:nth-child(5){width:7%}.invoice-lines th:nth-child(6){width:11%}.invoice-lines td:nth-child(n+3){text-align:right}.invoice-lines .empty-line td{height:5mm}.currency-note{margin:2mm 0;text-align:right;font-size:10px}.payment-mode{border:1px solid #888}.payment-mode>strong{display:block;padding:1.5mm;background:#bbb;font-size:11px}.payment-mode p{margin:0;padding:1.5mm;color:#139ada;font:12px/1.35 Georgia,serif}.payment-mode em{color:#ed3b2f}.payment-mode b{color:#2b3e9a}.cdf-account{display:block;padding-left:27mm}.settlement{min-height:57mm;display:grid;grid-template-columns:1.2fr .8fr;gap:8mm;padding:3mm 0}.thanks{align-self:end;padding-bottom:8mm;text-align:center;font-size:11px}.thanks strong{text-transform:uppercase;font-size:12px}.financials{display:grid;align-content:start;gap:3mm}.summary,.payments{width:100%;border-collapse:collapse;font-size:10px}.summary th,.summary td,.payments th,.payments td{padding:1.5mm;border:1px solid #888}.summary th,.payments th{background:#bbb}.summary th:last-child,.summary td:last-child{font-size:15px}.remaining{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid #888;font-size:13px}.remaining strong{padding:2mm;text-align:center;background:#bbb}.remaining b{padding:2mm;text-align:right;font-size:15px}.invoice-notes{margin:0 0 3mm;padding:2mm;border-left:3px solid var(--yellow);background:#f5f5f5;font-size:10px}.signature{width:62mm;min-height:28mm;margin-left:auto;display:grid;justify-items:center;align-content:start;gap:2mm;font-size:11px}.signature i{width:45mm;height:12mm;border-bottom:1px solid #777}.signature strong{font-size:10px}.office-footer{min-height:19mm;margin:1mm -4mm 0;padding:2.5mm 5mm;display:grid;grid-template-columns:1fr 1fr;gap:5mm;color:#fff;background:linear-gradient(135deg,#001a68 0 48%,#063b92 48% 100%);border-top:2px solid var(--yellow);font-size:7.5px}.office-footer div{display:grid;gap:1mm;padding-left:3mm;border-left:2px solid var(--yellow)}.office-footer strong{color:var(--yellow);font-size:8px}.office-footer span{display:block}
@media(max-width:1050px){.portal-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.logout-form{margin-top:16px}.metrics{grid-template-columns:1fr 1fr}.client-form,.agent-form,.main-fields{grid-template-columns:1fr 1fr}.client-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.stack-form fieldset,.sidebar nav,.metrics,.client-form,.agent-form,.main-fields,.client-grid,.payment-panel form{grid-template-columns:1fr}.topbar,.welcome,.invoice-toolbar{align-items:flex-start;flex-direction:column}.topbar>span{display:none}.section{padding:25px 16px}.panel{margin:0 12px 22px;padding:20px 15px}.invoice-screen{padding:15px}.invoice-brand,.settlement{grid-template-columns:1fr;gap:3mm}.invoice-client address{margin-top:3mm}.invoice-title{font-size:12px}}
@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.invoice-screen{padding:0;background:#fff}.invoice-toolbar,.payment-panel,.notice{display:none!important}.invoice-document{width:210mm;min-height:297mm;padding:4mm 4mm 0;box-shadow:none;page-break-after:always}.invoice-brand{grid-template-columns:.47fr .53fr;gap:12mm}.settlement{grid-template-columns:1.2fr .8fr}}
