*{box-sizing:border-box}:root{--ink:#171717;--muted:#666;--line:#d8d8d2;--bg:#f5f5f2;--card:#fff;--brand:#9b0058;--brand2:#0f6b54;--blue:#185fa5;--red:#a32d2d;--amber:#965f10;--green:#0f6b54}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Segoe UI,Arial,sans-serif}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:22px;background:#fff;border-bottom:1px solid var(--line);padding:10px 22px;box-shadow:0 1px 8px #00000012}.brand{display:flex;align-items:center;gap:10px;min-width:250px}.brand-mark{width:36px;height:36px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;overflow:hidden}.brand-mark img{display:none;width:100%;height:100%;object-fit:contain;background:#fff}.brand-mark.has-logo img{display:block}.brand-mark.has-logo #brandFallback{display:none}.brand strong{display:block;font-size:17px;color:var(--brand);letter-spacing:.02em}.brand span{display:block;font-size:12px;color:var(--muted)}.tabs{display:flex;gap:4px;flex-wrap:wrap}.tabs button,.filters button,button{border:1px solid transparent;background:transparent;border-radius:6px;padding:8px 11px;font:600 13px Segoe UI,Arial,sans-serif;cursor:pointer;color:#3b3b38}.tabs button:hover,.filters button:hover{background:#f0f0eb}.tabs button.active,.filters button.active{background:var(--brand2);color:#fff}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:8px 11px;font:600 13px Segoe UI,Arial,sans-serif;cursor:pointer;color:#272722;background:#fff}.button-link.primary{background:var(--brand2);border-color:var(--brand2);color:#fff}.button-link.small{padding:6px 10px;font-size:12px}.user-menu{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.user-menu span{border:1px solid var(--line);border-radius:999px;padding:3px 8px;background:#f7f7f3;color:var(--green);font-weight:800}.user-menu strong{font-size:12px;color:#333}main{max-width:1240px;margin:0 auto;padding:24px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#f7f7f3,#e8eee7 52%,#f5f0f2)}.login-stage{width:min(100%,980px);display:grid;grid-template-columns:1.1fr 430px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 18px 60px #0002}.login-hero{min-height:560px;padding:42px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,#8b004f,#0f6b54);color:#fff}.login-logo{width:116px;height:116px;border-radius:8px;background:#ffffff18;border:1px solid #ffffff55;display:grid;place-items:center;font-size:34px;font-weight:900;overflow:hidden}.login-logo img{display:none;width:100%;height:100%;object-fit:contain;background:#fff;padding:10px}.login-logo.has-logo img{display:block}.login-logo.has-logo span{display:none}.login-hero h1{font-size:34px;line-height:1.1;margin:6px 0 12px;color:#fff}.login-hero p{max-width:520px;margin:0;color:#f4f4f0;font-size:15px}.eyebrow{font-size:11px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#fffb!important}.login-contact{display:flex;gap:10px;flex-wrap:wrap}.login-contact span{border:1px solid #ffffff44;border-radius:999px;padding:7px 10px;color:#fff;font-size:12px}.login-card{background:#fff;padding:36px;display:flex;flex-direction:column;justify-content:center;gap:18px}.login-card-head{display:flex;flex-direction:column;gap:24px;margin-bottom:4px}.login-brand{min-width:0}.login-card h2{font-size:24px;margin:0 0 4px;color:#171717}.login-card p{margin:0;color:var(--muted)}.login-card button{min-height:42px}.login-submit{width:100%;font-size:14px}.password-field{display:grid;grid-template-columns:1fr auto;gap:8px}.password-field button{min-height:auto}.view{display:none}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:0 0 18px}h1{font-size:24px;margin:0 0 4px}h2{font-size:15px;margin:0 0 14px;color:#20201d}.section-head p{margin:0;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d}.stack{display:flex;flex-direction:column;gap:14px}.grid{display:grid;gap:14px}.split{display:grid;grid-template-columns:1fr 390px;gap:22px}label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750;color:#666;text-transform:uppercase;letter-spacing:.03em}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:#171717;font:14px Segoe UI,Arial,sans-serif;padding:9px 10px;text-transform:none;letter-spacing:0}textarea{min-height:72px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #0f6b5422;border-color:var(--brand2)}input[readonly]{background:#f1f1ec;color:#0f6b54;font-weight:800}.secondary{background:#fff;border-color:var(--line);color:#272722}.danger{background:#fff;border-color:#e4b3b3;color:var(--red)}.small{padding:6px 10px;font-size:12px}.actions,.form-actions,.filters{display:flex;gap:8px;flex-wrap:wrap}.search{max-width:390px}.hint{font-size:12px;color:#666;margin:10px 0 0}.notice{background:#fff6df;border:1px solid #e8ca77;color:#745000;border-radius:8px;padding:11px 14px;margin-bottom:16px;font-weight:650}.hidden{display:none!important}.err-text{color:var(--red)!important}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand2);border-radius:8px;padding:14px}.metric span{display:block;color:#666;font-size:11px;font-weight:800;text-transform:uppercase}.metric strong{display:block;font-size:21px;margin-top:4px}.compact-list,.record-list{display:flex;flex-direction:column;gap:10px}.record{background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:8px;padding:13px;display:grid;grid-template-columns:1.2fr 2fr 1fr auto;gap:12px;align-items:center}.record.final{border-left-color:var(--green)}.record.draft{border-left-color:var(--amber)}.record.cancelled{border-left-color:var(--red)}.record-title{font-weight:800}.record small{display:block;color:#666;margin-top:2px}.record-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;background:#eee}.badge.imported{background:#e8edf8;color:#185fa5;margin-left:6px}.paid,.status-paid,.status-accepted,.status-gst-paid{background:#e4f4ee;color:#0f6b54}.unpaid,.status-unpaid,.status-cancelled,.status-gst-pending{background:#f8e6e6;color:#a32d2d}.partial,.status-partially-paid,.status-draft,.status-sent,.status-expired,.status-rejected{background:#fff1d6;color:#83520c}.cancel{background:#f8e6e6;color:#a32d2d}.draft-b{background:#fff1d6;color:#83520c}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.data-table th{font-size:11px;color:#666;text-transform:uppercase;background:#f1f1ec}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums}.item-table{border:1px solid var(--line);border-radius:8px;overflow:visible}.item-head{background:#f1f1ec;padding:8px 10px;font-size:11px;font-weight:800;color:#666;text-transform:uppercase}.item-row{padding:9px 10px;border-top:1px solid var(--line)}.item-row .taxable{text-align:right;font-weight:800}.totals{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:#fafaf8}.totals div{display:flex;justify-content:space-between;border-bottom:1px dashed #ddd;padding:6px 0}.totals .grand{border-bottom:0;font-size:17px;color:var(--green)}.totals p{margin:8px 0 0;color:#555;font-size:12px}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.file-action{display:inline-flex;align-items:center;justify-content:center;text-transform:none;letter-spacing:0;cursor:pointer}.file-action input{display:none}.import-panel{min-width:min(860px,88vw)}.import-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-button{text-align:left;cursor:pointer;width:100%}.metric-button:hover{border-color:var(--brand2);box-shadow:0 2px 8px #00000018}.contact-list{display:flex;flex-direction:column;gap:10px}.checkline{display:flex;flex-direction:row;align-items:center;gap:6px;text-transform:none;letter-spacing:0}.checkline input{width:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;z-index:30;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:28px}.modal-card{position:relative;background:#fff;border-radius:8px;max-width:min(96vw,980px);padding:22px;box-shadow:0 12px 60px #0007;overflow-x:auto}.close{position:absolute;right:10px;top:8px;font-size:24px;border:0;background:transparent}.toast{position:fixed;right:22px;bottom:22px;background:#123c31;color:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 4px 20px #0004;transform:translateY(80px);opacity:0;transition:.2s;z-index:50}.toast.show{transform:translateY(0);opacity:1}.toast.err{background:var(--red)}#printRoot{display:none}.invoice-doc{position:relative;width:190mm;margin:0 auto;background:#fff;color:#000;font-family:Times New Roman,Times,serif;font-size:10pt;line-height:1.24;padding:4mm;border:1.25px solid #000;break-inside:auto}.invoice-wrap{position:relative}.preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px}.tax-invoice{width:100%;border-collapse:collapse}.tax-invoice td,.tax-invoice th{border:1px solid #000;padding:3px 5px;vertical-align:top;break-inside:avoid}.tax-invoice th{font-size:9.5pt;font-weight:800;text-align:center;background:#fafafa}.right{text-align:right}.center{text-align:center}.bold{font-weight:800}.small-text{font-size:8.5pt}.pre-line{white-space:pre-line}.header-left{padding:6px 8px;vertical-align:top}.header-left .logo{height:16mm;max-width:55mm;object-fit:contain;display:block;margin-bottom:2mm}.header-left .company{font-size:16pt;font-weight:800;margin:0 0 1.5mm}.header-left .company-meta{font-size:10pt;line-height:1.35}.header-left .gstin-block{font-size:10pt;line-height:1.35;margin-top:2mm}.header-right{text-align:right;vertical-align:top;padding:6px 8px}.header-right .title{font-size:16pt;font-weight:800;letter-spacing:.03em;margin-bottom:2mm}.header-right .invno{font-size:11pt;font-weight:800}.to-cell{min-height:24mm;font-size:10pt;line-height:1.35;padding:6px 8px}.date-cell{font-size:10pt;font-weight:700;padding:6px 8px;vertical-align:top}.col-head th{padding:5px 6px}.tax-invoice tr{break-inside:avoid;page-break-inside:avoid}.totals-row td{padding:5px 6px}.words-row td{padding:6px 8px}.words-label{font-size:9.5pt;font-weight:700;margin-bottom:2px}.no-pad{padding:0!important;border:0!important}.hsn-summary{width:100%;border-collapse:collapse;border-top:1px solid #000}.hsn-summary th,.hsn-summary td{border:1px solid #000;padding:4px 6px;font-size:9.5pt;text-align:center}.hsn-summary td.right{text-align:right}.tax-words-row td{padding:6px 8px;font-size:9.5pt}.terms-cell{min-height:40mm;padding:6px 8px;font-size:9.5pt;line-height:1.35}.terms-heading{margin-bottom:2mm}.bank-table{width:100%;border-collapse:collapse}.bank-table td{border:1px solid #000;padding:3px 6px;font-size:9.5pt}.bank-header{background:#fafafa}.bank-label{width:34%;font-weight:700}.bank-for{padding-top:6px}.stamp-cell{width:40%;height:24mm;vertical-align:middle}.sign-cell{height:24mm;vertical-align:bottom;padding-bottom:6px}.stamp-img{max-height:22mm;max-width:34mm;object-fit:contain}.sign-img{max-height:14mm;max-width:38mm;object-fit:contain;display:block;margin:0 auto 2px}.cancel-watermark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;color:#b00000;font:800 66pt Arial;opacity:.13;transform:rotate(-24deg);z-index:5}@media (max-width:900px){main{padding:16px}.topbar{align-items:flex-start;flex-direction:column;padding:10px 14px}.brand{min-width:0}.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.tabs button{flex:0 0 auto}.user-menu{margin-left:0;width:100%;justify-content:flex-start;flex-wrap:wrap}.login-stage{grid-template-columns:1fr}.login-hero{min-height:auto;padding:28px;gap:28px}.login-hero h1{font-size:28px}.login-card{padding:28px}.grid.two,.grid.four,.split,.asset-grid{grid-template-columns:1fr}.metric-grid,.import-metrics{grid-template-columns:repeat(2,1fr)}.record,.contact-row{grid-template-columns:1fr}.item-head{display:none}.item-row{grid-template-columns:1fr 1fr;gap:10px}.item-row:before{content:"Line item";font-weight:800;color:#666;grid-column:1/-1}.item-row .desc{grid-column:1/-1}.item-row .taxable{align-self:center}.item-row .remove{justify-self:end}.panel{padding:14px}.section-head{flex-direction:column}.search{max-width:none}}@media (max-width:520px){main{padding:10px}.metric-grid,.item-row{grid-template-columns:1fr}.item-row:before,.item-row .desc{grid-column:auto}.form-actions,.actions{display:grid;grid-template-columns:1fr}.form-actions button,.actions button{width:100%;min-height:44px}.modal{padding:10px}.modal-card{width:100%;padding:18px 12px}.data-table{min-width:720px}input,select,textarea{font-size:16px}}@media print{html,body{width:210mm;margin:0!important;padding:0!important;background:#fff!important}body>*:not(#printRoot){display:none!important}#printRoot{display:block!important}@page{size:A4 portrait;margin:8mm}.invoice-doc{width:194mm;margin:0 auto!important;padding:3mm!important;border:1px solid #000!important;box-shadow:none!important;font-size:9.5pt;page-break-after:auto}.invoice-wrap{margin:0!important;padding:0!important}.tax-invoice{page-break-after:auto}}@media (max-width:900px){.item-table{overflow:hidden}#itemsBody:empty:before{display:block;padding:16px;color:var(--muted);content:"Click Add Line to add invoice details."}}:root{--ink:#081f45;--muted:#7a879b;--line:#dbe3ee;--bg:#f5f7fb;--card:#fff;--brand:#10244a;--brand2:#ff7a1a;--blue:#4f6bff;--red:#ef4444;--amber:#f59e0b;--green:#10b981;--soft-shadow:0 2px 8px #0f27470f,0 1px 2px #0f274714}body{background:var(--bg);color:var(--ink);font:14px/1.5 Inter,Segoe UI,Arial,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr);background:var(--bg)}.sidebar{position:sticky;top:0;height:100vh;background:#10244a;color:#fff;display:flex;flex-direction:column;border-right:1px solid #0b1c3a}.sidebar-brand{min-width:0;padding:18px 16px;border-bottom:1px solid #20375f}.sidebar-brand .brand-mark{width:40px;height:40px;border-radius:12px;background:#fff;color:#10244a}.sidebar-brand .brand strong{color:#fff}.sidebar-brand strong{color:#fff;font-size:18px}.sidebar-brand span{color:#93b7ff}.content-shell{min-width:0}.content-shell .topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;box-shadow:none}.content-shell .topbar h1{font-size:24px;margin:0;color:var(--ink)}.content-shell .topbar p{margin:2px 0 0;color:var(--muted);font-size:13px}.tabs{display:flex;flex-direction:column;gap:6px;padding:14px 12px;flex:1}.tabs button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:11px 12px;color:#9dc7ff;background:transparent;font-weight:750;text-align:left}.tabs button:hover{background:#19335f;color:#fff}.tabs button.active{background:var(--brand2);color:#fff;box-shadow:0 8px 18px #ff7a1a30}.tabs button svg{flex:0 0 auto}.user-menu{margin:0;padding:14px;border-top:1px solid #20375f;color:#dbeafe;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.user-menu .user-avatar{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#20375f;color:#93c5fd;border:0;padding:0}.user-menu strong{display:block;color:#fff;font-size:12px;max-width:135px;overflow:hidden;text-overflow:ellipsis}.user-menu span{display:block;background:transparent;border:0;padding:0;color:#8ab6ff;font-size:12px;font-weight:700}.logout-button{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#60a5fa;background:#172f58;border:1px solid #28446f;padding:0}main{max-width:none;margin:0;padding:24px}.view.active{display:block}.section-head{margin-bottom:18px}.section-head h1{font-size:22px;color:var(--ink)}.section-head p{color:var(--muted)}.panel,.record,.metric,.login-stage,.modal-card{border:1px solid var(--line);border-radius:16px;box-shadow:var(--soft-shadow);background:#fff}.panel{padding:20px;margin-bottom:18px}.metric{border-left:0;padding:20px;min-height:96px}.metric span{color:#52627a;letter-spacing:.05em}.metric strong{color:#071f46;font-size:25px}.metric-button:hover{transform:translateY(-1px);box-shadow:0 6px 18px #10244a18;border-color:#c9d5e5}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}button,.button-link{border-radius:12px;font-weight:750;transition:.15s ease;border:1px solid transparent}.primary{background:var(--brand2);border-color:var(--brand2);color:#fff}.primary:hover{background:#f06f0f}.secondary,.button-link.secondary{background:#fff;border-color:var(--line);color:#23324a}.secondary:hover,.button-link.secondary:hover{background:#f8fafc;border-color:#cbd7e6}.danger{background:#fff;border-color:#f5c6c6;color:#dc2626}.danger:hover{background:#fff5f5}.filters{align-items:center;margin-bottom:16px}.filters button{border:1px solid var(--line);background:#fff;color:#52627a;border-radius:999px;padding:8px 13px}.filters button:hover{background:#f8fafc}.filters button.active{background:#10244a;color:#fff;border-color:#10244a}input,select,textarea{border-color:#d8e1ee;border-radius:12px;background:#fff;padding:10px 12px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid #ff7a1a1f;border-color:#ffad75}label{color:#64748b}.search{max-width:420px;border-radius:999px}.data-table{border:0;border-collapse:separate;border-spacing:0;background:#fff}.data-table th{background:#f8fafc;color:#52627a;border-bottom:1px solid var(--line);padding:12px 14px}.data-table td{border-bottom:1px solid #edf2f7;padding:13px 14px}.data-table tr:last-child td{border-bottom:0}.data-table small{display:block;color:var(--muted);margin-top:2px}.badge{border-radius:999px;padding:4px 10px;font-weight:800}.status-paid,.paid,.status-accepted,.status-gst-paid{background:#dff8ed;color:#047857}.status-unpaid,.unpaid,.status-cancelled,.cancel,.status-gst-pending{background:#fee7e7;color:#dc2626}.status-partially-paid,.partial,.status-draft,.status-sent,.status-expired,.status-rejected{background:#fff3d7;color:#a35a00}.badge.imported{background:#e8efff;color:#315cff}.record-actions{gap:7px}.small{border-radius:10px}.notice{border-radius:14px}.modal{background:#10244a66}.modal-card{border-radius:18px}.close{color:#64748b}.item-table,.totals{border-radius:14px;border-color:var(--line)}.item-head{background:#f8fafc}.item-row{border-top:1px solid #edf2f7}.auth-shell{background:#f5f7fb}.login-stage{border-radius:20px}.login-hero{background:#10244a}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.tabs{flex-direction:row;overflow-x:auto}.tabs button{flex:0 0 auto;width:auto}.user-menu{grid-template-columns:auto 1fr auto}.content-shell .topbar{position:relative}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){main{padding:14px}.content-shell .topbar{padding:12px 14px}.metric-grid{grid-template-columns:1fr}.tabs{padding:10px}.sidebar-brand,.panel{padding:14px}}:root{--ink:#172b4d;--muted:#626f86;--line:#dfe1e6;--bg:#f7f8f9;--brand2:#111827;--soft-shadow:0 1px 2px #091e4224,0 0 1px #091e424f}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.428;color:var(--ink);letter-spacing:0}.content-shell .topbar h1,.section-head h1,h1{font-size:24px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}h2{font-size:16px;font-weight:700;color:var(--ink)}.section-head p,.content-shell .topbar p,.hint{color:var(--muted);font-size:13px}button,.button-link,.tabs button,.filters button{border-radius:3px;font-weight:600;font-size:14px;min-height:32px;box-shadow:none}.primary,.button-link.primary{background:#111827;border-color:#111827;color:#fff}.primary:hover,.button-link.primary:hover{background:#000;border-color:#000}.secondary,.button-link.secondary,.filters button{background:#f1f2f4;border-color:#f1f2f4;color:#44546f}.secondary:hover,.button-link.secondary:hover,.filters button:hover{background:#dcdfe4;border-color:#dcdfe4;color:#172b4d}.danger{background:#fff;border-color:#ffd5d2;color:#ae2e24}.danger:hover{background:#ffedeb;border-color:#ffbdad}.small{border-radius:3px;min-height:28px;padding:4px 9px;font-size:12px}.tabs button{border-radius:3px;font-size:14px}.tabs button.active{background:#111827;box-shadow:none}.filters button{border-radius:3px;padding:6px 10px}.filters button.active{background:#111827;border-color:#111827;color:#fff}input,select,textarea{border-color:#dfe1e6;border-radius:3px;color:#172b4d;font-size:14px;min-height:34px}input:focus,select:focus,textarea:focus{outline:2px solid #388bff;border-color:#388bff}.search{border-radius:3px}.panel,.record,.metric,.modal-card,.login-stage{border-radius:3px;box-shadow:var(--soft-shadow)}.metric{min-height:88px}.metric span{color:#626f86;font-size:12px;font-weight:600}.metric strong{font-size:24px;font-weight:700;color:#172b4d}.data-table th{font-size:12px;font-weight:600;color:#44546f;background:#f7f8f9}.data-table td{color:#172b4d}.badge{border-radius:3px;font-weight:600}.record-actions{gap:4px}:root{--ink:#071326;--muted:#5d718f;--line:#e5e7eb;--bg:#fff;--card:#fff;--sidebar:#070d18;--sidebar-line:#111a2b;--topbar:#2e333f;--active:#062638;--accent:#0ea5e9;--brand2:#050505;--green:#00b981;--red:#ff3b5c;--amber:#ff8a00;--blue:#2f80ed;--purple:#8b5cf6;--soft-shadow:none}html,body,#root{min-height:100%}body{background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.45}.app-shell{min-height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr);background:#fff}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);border-right:1px solid var(--sidebar-line);color:#e6f4ff;display:flex;flex-direction:column}.sidebar-brand{height:68px;padding:16px 14px;border-bottom:1px solid var(--sidebar-line);gap:10px}.sidebar-brand .brand-mark{width:32px;height:32px;border-radius:10px;background:#4f7cff;color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em}.sidebar-brand .brand-mark.has-logo{background:#fff}.sidebar-brand strong{color:#fff;font-size:13px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.sidebar-brand span:not(.brand-mark){color:#566f99;font-size:9px;font-weight:500;letter-spacing:.18em;line-height:1;text-transform:uppercase}.tabs{flex:1;display:flex;flex-direction:column;gap:6px;padding:22px 8px}.tabs button{width:100%;min-height:40px;display:flex;align-items:center;gap:11px;border:0;border-radius:10px;background:transparent;color:#607aa5;font-size:14px;font-weight:500;line-height:1;padding:0 12px;text-align:left;box-shadow:none}.tabs button:hover{background:#0b1727;color:#d8efff}.tabs button.active{background:var(--active);color:#09a8ff;box-shadow:none}.tabs button svg{width:16px;height:16px;stroke-width:1.8}.user-menu{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0;padding:14px 12px;border-top:1px solid var(--sidebar-line);color:#dbeafe}.user-menu .user-avatar{width:29px;height:29px;border-radius:999px;display:grid;place-items:center;background:#4f7cff;color:#fff;border:0;padding:0}.user-menu strong{display:block;overflow:hidden;max-width:118px;color:#fff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-menu span{display:block;border:0;background:transparent;color:#56739d;font-size:10px;font-weight:500;line-height:1.3;padding:0}.logout-button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#5b78a1;padding:0}.logout-button:hover{background:#101b2b;color:#fff}.content-shell{min-width:0;background:#fff}.content-shell .topbar{position:sticky;top:0;z-index:10;height:50px;display:flex;align-items:center;justify-content:space-between;background:var(--topbar);border:0;box-shadow:none;padding:0 24px}.content-shell .topbar h1{margin:0;color:#e8edf5;font-size:16px;font-weight:800;letter-spacing:-.03em}.content-shell .topbar p{display:none}.topbar-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.gstin-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:#173f43;color:#18d39a;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 12px;text-transform:uppercase}.icon-button{position:relative;width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#6d7b94;padding:0}.icon-button:hover{color:#c9d4e4;background:#373d4b}.icon-button span{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:999px;background:#ff425c}main{max-width:none;margin:0;padding:24px 24px 48px;background:#fff}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 18px}.section-head h1,h1{margin:0 0 3px;color:#020817;font-size:22px;font-weight:800;letter-spacing:-.04em}.section-head p,.hint{margin:0;color:var(--muted);font-size:12px;font-weight:400}h2{margin:0 0 15px;color:#020817;font-size:16px;font-weight:800;letter-spacing:-.035em}.actions,.form-actions,.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-actions{justify-content:flex-end}button,.button-link,.file-action{min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9e2f2;border-radius:11px;background:#fff;color:#3b4f6d;font:600 14px/1 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;text-decoration:none;cursor:pointer;padding:8px 14px;box-shadow:none;transition:background .15s,border-color .15s,color .15s,transform .15s}button:hover,.button-link:hover,.file-action:hover{background:#f8fafc;border-color:#cbd5e1;color:#101827}.primary,.button-link.primary{background:#050505;border-color:#050505;color:#fff}.primary:hover,.button-link.primary:hover{background:#1b1b1b;border-color:#1b1b1b;color:#fff}.secondary,.button-link.secondary,.file-action.secondary{background:#fff;border-color:#d9e2f2;color:#42526e}.secondary:hover,.button-link.secondary:hover,.file-action.secondary:hover{background:#f8fafc;border-color:#c9d6e8;color:#0f172a}.danger{background:#fff;border-color:#ffd4dc;color:#ff3153}.danger:hover{background:#fff3f5;border-color:#ffb3c0;color:#d7193a}.small{min-height:28px;border-radius:8px;font-size:12px;font-weight:600;padding:5px 9px}.filters{margin:0 0 14px}.filters button{min-height:34px;border:0;border-radius:0;background:transparent;color:#455a7a;font-size:12px;font-weight:600;padding:8px 11px}.filters button:hover{background:#f5f8fc;color:#071326}.filters button.active{background:transparent;border-bottom:2px solid #0798f2;color:#0798f2}.panel,.record,.metric,.modal-card,.login-stage{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:none}.panel{padding:20px;margin-bottom:16px}.table-wrap.panel{padding:0;overflow:auto}.data-table{width:100%;border:0;border-collapse:separate;border-spacing:0;background:#fff}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{height:42px;background:#fff;color:#405574;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px}.data-table td{height:50px;color:#071326;font-size:14px;font-weight:400;padding:11px 16px}.data-table tbody tr:last-child td{border-bottom:0}.data-table strong{font-weight:700;color:#008af5}.data-table small{display:block;margin-top:3px;color:#6b7f9c;font-size:11px}.data-table td.num{text-align:left;color:#071326;font-weight:700;font-variant-numeric:tabular-nums}.record-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.badge{display:inline-flex;align-items:center;gap:5px;min-height:20px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:3px 10px}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.badge.imported:before{display:none}.status-paid,.paid,.status-accepted,.status-gst-paid{background:#cff8e6;color:#00a873}.status-sent{background:#dbeafe;color:#3b82f6}.status-draft,.draft-b{background:#eceff3;color:#8b99aa}.status-partially-paid,.partial{background:#ffedd5;color:#ff8a00}.status-unpaid,.unpaid,.status-overdue,.status-cancelled,.cancel,.status-rejected,.status-gst-pending{background:#ffe0e6;color:#ff3153}.status-expired{background:#f3e8ff;color:#8b5cf6}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric{display:block;min-height:90px;padding:18px;text-align:left}.metric span{display:block;color:#5f718f;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.metric strong{display:block;margin-top:8px;color:#071326;font-size:24px;font-weight:800;line-height:1}.metric-button{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.metric-button:hover{transform:translateY(-1px);border-color:#cad7ea;background:#fbfdff}label{display:flex;flex-direction:column;gap:7px;color:#405574;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;min-height:38px;border:1px solid #d9e2f2;border-radius:11px;background:#fff;color:#071326;font:400 14px/1.35 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;padding:9px 12px;letter-spacing:0;text-transform:none}textarea{min-height:78px;resize:vertical}input::placeholder,textarea::placeholder{color:#8a9ab2}input:focus,select:focus,textarea:focus{outline:3px solid #0ea5e91a;border-color:#81cfff}input[readonly]{background:#f8fafc;color:#405574;font-weight:700}.search{max-width:300px;min-height:34px;border-radius:12px;font-size:13px;padding-left:14px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1fr) 414px;gap:20px}.inline-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.item-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.item-head,.item-row{display:grid;grid-template-columns:48px 2.1fr 130px 90px 90px 120px 130px 42px;gap:8px;align-items:center}.item-head{min-height:36px;background:#fff;border-bottom:1px solid var(--line);color:#405574;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px}.item-row{padding:10px 12px;border-top:1px solid #edf0f4}.item-row:first-of-type{border-top:0}.item-row .taxable{text-align:right;color:#071326;font-weight:800}.totals{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px 18px}.totals div{display:flex;justify-content:space-between;gap:18px;border-bottom:0;padding:5px 0;color:#405574}.totals strong{color:#071326}.totals .grand{margin-top:8px;border-top:1px solid var(--line);padding-top:12px;color:#071326;font-weight:800}.totals .grand strong{color:#00a873;font-size:18px}.totals p{margin:8px 0 0;color:#5d718f;font-size:12px}.notice{border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:#9a3412;font-weight:600;padding:11px 14px}.err-text{color:#d7193a!important}.modal{background:#07132680;padding:28px}.modal-card{position:relative;max-width:min(96vw,980px);padding:22px;overflow:auto}.close{position:absolute;right:12px;top:10px;width:30px;height:30px;min-height:30px;border:0;background:transparent;color:#60728d;font-size:20px;padding:0}.toast{background:#071326;border-radius:12px;color:#fff}.toast.err{background:#d7193a}.auth-shell{background:linear-gradient(135deg,#f8fbff,#f2f7ff 45%,#fff)}.login-stage{overflow:hidden;border-radius:18px;border-color:#e1e8f3}.login-hero{background:linear-gradient(160deg,#070d18,#081b2e 54%,#08324a)}.login-logo,.login-brand .brand-mark{background:#4f7cff;color:#fff}.login-logo{border-color:#74a7ff}.login-logo.has-logo,.login-brand .brand-mark.has-logo{background:#fff}.login-card{border-left:1px solid var(--line)}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-page-head{border:1px solid var(--line);border-radius:14px;background:#fbfdff;padding:18px 20px}.form-page-head h2{margin-bottom:4px}.sticky-actions{position:sticky;bottom:0;z-index:8;margin:4px -24px -48px;padding:14px 24px;background:#ffffffeb;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.customer-profile .panel p{margin:0 0 12px;color:#405574;line-height:1.55}.customer-profile .panel p:last-child{margin-bottom:0}.crm-form>.panel{margin-bottom:0}.dashboard-panel{padding:16px 18px}.dashboard-panel .inline-title{margin-bottom:14px}.dashboard-summary .metric,.dashboard-queues .metric{min-height:82px}.dashboard-summary .metric small{display:block;margin-top:8px;color:#6b7f9c;font-size:11px}.dashboard-summary .metric strong{font-size:21px;white-space:nowrap}.dashboard-queues{margin-bottom:0}.crm-form,.master-form{max-width:1180px}.crm-form .panel,.master-form .panel{padding:0;margin-bottom:0;overflow:hidden}.crm-form .panel>h2,.master-form .panel>h2,.crm-form .inline-title,.master-form .inline-title{min-height:42px;display:flex;align-items:center;justify-content:space-between;background:#f3f4f6;border-bottom:1px solid var(--line);margin:0;padding:10px 16px;color:#17324d;font-size:18px;font-weight:500;letter-spacing:0}.crm-form .grid,.master-form .grid{gap:0}.crm-form label,.master-form label{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:14px;min-height:48px;border-bottom:1px solid #eef1f5;color:#5f6b7a;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;padding:7px 16px}.crm-form .grid label:nth-last-child(-n+4),.master-form .grid.two label:nth-last-child(-n+2),.master-form .grid.four label:nth-last-child(-n+4){border-bottom:0}.crm-form input,.crm-form select,.crm-form textarea,.master-form input,.master-form select,.master-form textarea{min-height:30px;border:0;border-bottom:1px solid #c9d3e1;border-radius:0;background:transparent;padding:5px 4px;color:#071326;font-size:13px}.crm-form textarea,.master-form textarea{min-height:58px}.crm-form input:focus,.crm-form select:focus,.crm-form textarea:focus,.master-form input:focus,.master-form select:focus,.master-form textarea:focus{outline:0;border-color:#0176d3;box-shadow:0 1px #0176d3}.form-page-head{border-radius:6px;background:#f8fafc;padding:14px 16px}.form-page-head h2{font-size:18px;font-weight:600;letter-spacing:0}.contact-list{padding:12px 16px}.contact-row input{border:1px solid #d9e2f2;border-radius:6px;background:#fff;padding:7px 9px}.checkline{min-height:34px!important;border:0!important;padding:0!important;display:flex!important;grid-template-columns:none!important}.contact-row{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr auto auto;gap:8px;align-items:center}.checkline{display:flex;flex-direction:row;align-items:center;gap:7px;text-transform:none;letter-spacing:0}.checkline input{width:auto;min-height:auto}@media (max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar-brand{height:auto}.tabs{flex-direction:row;overflow-x:auto;padding:10px}.tabs button{flex:0 0 auto;width:auto}.user-menu{display:none}.content-shell .topbar{position:relative}.metric-grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (max-width:680px){main{padding:16px}.content-shell .topbar{padding:0 16px}.section-head{flex-direction:column}.actions,.form-actions{width:100%;justify-content:flex-start}.actions .search{max-width:none}.metric-grid,.grid.two,.grid.four,.asset-grid{grid-template-columns:1fr}.panel{padding:16px}.data-table{min-width:820px}.sticky-actions{margin:4px -16px -16px;padding:12px 16px}.item-head{display:none}.item-row{grid-template-columns:1fr;gap:10px}.item-row:before{content:"Line item";color:#405574;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.item-row .taxable{text-align:left}.contact-row{grid-template-columns:1fr}}.customer-list-table .data-table td{height:58px}.customer-list-table .record-actions{min-width:178px}.account-cell{display:flex;min-width:190px;flex-direction:column;gap:3px}.account-cell strong{color:#071326;font-size:14px;font-weight:700;line-height:1.25}.account-cell small{margin:0;color:#6b778c;font-size:12px;line-height:1.25}.account-cell.compact{min-width:150px}.account-record{gap:14px}.account-record-header{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:18px;align-items:start;margin-bottom:0;padding:18px}.account-record-title{display:flex;align-items:center;gap:14px;min-width:0}.account-avatar{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;background:#eef6ff;color:#0176d3;font-size:15px;font-weight:800;letter-spacing:.03em}.account-record-title h2{margin:1px 0 2px;color:#0f172a;font-size:24px;font-weight:650;letter-spacing:-.02em}.account-record-title p{margin:0;color:#5f6b7a;font-size:13px}.eyebrow{display:block;color:#667085;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.account-record-badges{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.account-key-fields{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #eef1f5;margin-top:2px;padding-top:14px;gap:0}.account-info-tile{min-width:0;border-right:1px solid #eef1f5;padding:0 16px}.account-info-tile:first-child{padding-left:0}.account-info-tile:last-child{border-right:0;padding-right:0}.account-info-tile span{display:block;margin-bottom:5px;color:#667085;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.account-info-tile strong{display:block;overflow:hidden;color:#172b4d;font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.account-tabs{display:flex;align-items:flex-end;gap:24px;border-bottom:1px solid var(--line);margin:2px 0 14px;padding:0 4px}.account-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#44546f;font-size:14px;font-weight:650;padding:8px 2px}.account-tabs button:hover{background:transparent;border-bottom-color:#c7d2e1;color:#0f172a}.account-tabs button.active{border-bottom-color:#050505;color:#050505}.account-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:16px}.account-section{overflow:hidden;margin-bottom:0;padding:0}.account-section.wide{grid-column:1 / -1}.account-section>h2,.related-head{min-height:44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f8fa;margin:0;padding:11px 16px;color:#17324d;font-size:17px;font-weight:550;letter-spacing:0}.related-head span{color:#667085;font-size:12px;font-weight:600}.account-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.account-field-grid.single{grid-template-columns:1fr}.account-field{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;min-height:44px;border-bottom:1px solid #eef1f5;padding:7px 16px}.account-field:nth-last-child(-n+2){border-bottom:0}.account-field-grid.single .account-field:last-child{border-bottom:0}.account-field span{color:#667085;font-size:12px;font-weight:400}.account-field strong{overflow:hidden;color:#172b4d;font-size:13px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.account-field.multiline{align-items:start;min-height:66px}.account-field.multiline strong{white-space:pre-line}.related-panel{overflow:hidden;padding:0}.account-contact-table th,.account-contact-table td{height:46px}.account-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.account-metrics .metric{min-height:78px}.business-summary{display:block}@media (max-width:1100px){.account-key-fields,.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-info-tile{border-right:0;border-bottom:1px solid #eef1f5;padding:10px 0}.account-detail-grid{grid-template-columns:1fr}}@media (max-width:680px){.account-record-header{grid-template-columns:1fr}.account-record-badges{justify-content:flex-start}.account-key-fields,.account-field-grid,.account-metrics{grid-template-columns:1fr}.account-field{grid-template-columns:1fr;gap:3px;align-items:start}.account-tabs{gap:14px;overflow-x:auto}}.invoice-page-head{margin-bottom:18px}.invoice-ledger{overflow:visible!important;border-radius:14px}.invoice-ledger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:0 18px}.invoice-tabs{flex:1;margin:0;gap:20px;overflow-x:auto}.invoice-tabs button{min-height:56px;padding:0 0 10px;color:#405574;font-size:14px;font-weight:700}.invoice-tabs button.active{border-bottom-width:3px;color:#0c66e4}.invoice-search{flex:0 0 360px;max-width:360px;margin:14px 0;border-radius:12px;padding-left:16px}.invoice-table{min-width:1320px}.invoice-table th{height:54px;background:#f8fafc;font-size:12px;letter-spacing:.04em}.invoice-table th:after{content:"  ↕";color:#405574;font-weight:700}.invoice-table th:last-child:after{content:""}.invoice-table td{height:66px;font-size:15px}.invoice-table .invoice-customer{display:block;color:#172b4d;font-weight:600}.invoice-table .num{font-size:15px}.invoice-table .tax-cell{color:#f59e0b}.invoice-table .badge{min-height:28px;font-size:12px;padding:5px 14px}.status-not-applicable{background:#eef1f5;color:#6b778c}.invoice-row-actions{position:relative;display:flex;align-items:center;gap:7px;min-width:244px}.icon-action{width:32px;min-width:32px;min-height:30px;border:0;border-radius:8px;background:transparent;color:#405574;font-size:12px;font-weight:700;padding:5px}.icon-action svg{display:block;stroke-width:2}.icon-action:hover{background:#f1f5f9;color:#0f172a}.action-menu{position:relative}.action-trigger{border:1px solid #d9e2f2;background:#fff}.action-dropdown{position:absolute;right:0;top:38px;z-index:30;width:230px;border:1px solid #d9e2f2;border-radius:12px;background:#fff;box-shadow:0 16px 38px #091e4233;padding:8px}.action-dropdown p{margin:8px 8px 5px;color:#667085;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.action-dropdown button,.action-dropdown a,.action-dropdown label{width:100%;min-height:32px;display:flex;align-items:center;justify-content:flex-start;gap:8px;border:0;border-radius:8px;background:#fff;color:#172b4d;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;text-decoration:none;padding:7px 8px}.action-dropdown button:hover,.action-dropdown a:hover,.action-dropdown label:hover{background:#f5f8fc;color:#050505}.action-dropdown button:disabled{cursor:not-allowed;color:#98a2b3;background:#fff}.action-dropdown input[type=file]{display:none}.action-dropdown .danger-row{color:#dc2626}.check{width:14px;height:14px;display:inline-grid;place-items:center;border:1px solid #cbd5e1;border-radius:4px;background:#fff}.check.on{border-color:#050505;background:#050505}.check.on:after{content:"";width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}.invoice-ledger-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 18px;color:#405574;font-size:14px}@media (max-width:900px){.invoice-ledger-toolbar{align-items:stretch;flex-direction:column;padding:0 14px 14px}.invoice-tabs{width:100%}.invoice-search{flex:auto;width:100%;max-width:none;margin:0}}html,body,#root,button,input,select,textarea,.button-link,.file-action{font-family:Inter,sans-serif}
