@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142b4b;--muted:#687b94;--line:#e2eaf5;--green:#1769d2;--bg:#f3f7fc;--side:#102b50}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-decoration:none}aside{position:fixed;inset:0 auto 0 0;width:238px;background:var(--side);color:#d4e3fa;padding:34px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:17px;font-weight:800;letter-spacing:1px;padding:0 7px 42px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:#91b7ed;margin-top:5px}.brandmark{font-size:31px;width:44px;height:44px;border-radius:12px;background:#45a7ff;color:#ffffff;display:grid;place-content:center;position:relative}.brandmark span{font-size:16px;position:absolute;right:3px;top:2px}.nav-label{font-size:10px;color:#88a9d7;letter-spacing:1.8px;padding:0 16px;margin-bottom:14px}nav a{display:flex;gap:13px;align-items:center;padding:13px 16px;margin:4px 0;color:#bdcfee;border-radius:8px;font-size:13px}nav a.active{color:#ffffff;background:#1769d2}nav a:hover{background:#183e6b}nav .navicon{font-size:18px;width:20px;text-align:center}nav .navcount{margin-left:auto;font-size:10px;background:#2567ae;padding:2px 6px;border-radius:4px}.side-footer{margin-top:auto;display:flex;gap:10px;padding-top:24px;border-top:1px solid #294d7e;font-size:12px}.side-footer small{display:block;color:#91add5;font-size:10px;margin-top:5px}.avatar{width:34px;height:34px;display:inline-grid;place-items:center;background:#2266b7;border-radius:50%;color:white;font-size:11px;font-weight:700}.avatar.light{background:#e7f0ff;color:#225b9f}.shell{margin-left:238px}header{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;justify-content:space-between}.breadcrumb{font-size:12px;color:#89948e}.breadcrumb span{margin:0 14px;color:#cad2cc}.breadcrumb b{font-weight:500;color:#3d5249}.header-right{display:flex;align-items:center;gap:20px}.live-pill{font-size:10px;letter-spacing:1px;color:#846830;background:#faf3e4;padding:7px 10px;border-radius:5px}.icon{border:0;background:transparent;color:#73877a;font-size:20px;padding:6px}#menu{display:none}main{max-width:1550px;margin:0 auto;padding:38px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:#859788}h1{font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.1px;margin:10px 0}p{color:var(--muted);line-height:1.6;margin:0}h2{font-family:Manrope,Arial,sans-serif;font-size:16px;margin:0;letter-spacing:-.3px}h3{font-size:14px;margin:0}.primary,.secondary{border:1px solid var(--green);background:var(--green);color:white;border-radius:7px;padding:11px 16px;font-size:12px;font-weight:600}.secondary{background:white;border-color:#dce5dd;color:#3a5146}.primary:hover{background:#10543e}.secondary:hover{background:#eff4ed}#top-actions{display:flex;gap:8px;flex-shrink:0}.notice{display:flex;align-items:center;gap:12px;background:#edf1e6;border:1px solid #e0e7d5;border-radius:7px;padding:12px 15px;font-size:11px;color:#708061;margin-bottom:25px}.notice b{color:#536542;margin-right:6px}.notice>a{margin-left:auto;white-space:nowrap;font-size:11px}.notice>span{font-size:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);padding:21px;border-radius:10px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#839085}.stat-icon{color:#6d927e;background:#f1f5ee;border-radius:7px;padding:6px 9px;font-size:16px}.stat strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:29px;letter-spacing:-1px;margin:12px 0 8px}.stat small{font-size:10px;color:#93a094}.stat small b{color:var(--green);font-weight:500}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px;gap:10px}.panel-head p{font-size:11px;margin-top:5px}.panel-head>a{font-size:11px}.panel-body{padding:0 23px 23px}.tag{font-size:10px;padding:5px 8px;border-radius:5px;background:#edf4ec;color:#52754e;display:inline-block;white-space:nowrap}.tag.red{background:#faeeee;color:#ae5c51}.tag.amber{background:#fbf3e3;color:#a07a39}.tag.gray{background:#edf0ef;color:#7b8580}.tag.blue{background:#eaf1f7;color:#547d99}.health{display:flex;gap:25px;align-items:center;padding:12px 0}.donut{width:148px;height:148px;border-radius:50%;background:conic-gradient(#3a8c6b 0 var(--online),#d9e5d9 var(--online) 100%);display:grid;place-items:center;flex-shrink:0}.donut div{width:112px;height:112px;background:white;border-radius:50%;display:grid;place-content:center;text-align:center}.donut b{font-size:26px;font-family:Manrope}.donut small{font-size:10px;color:#8b998e;margin-top:4px}.legend{flex:1}.legend>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.dot{display:inline-block;width:7px;height:7px;background:#3a8c6b;border-radius:50%;margin-right:8px}.dot.off{background:#d9e5d9}.dot.unknown{background:#9baba1}.micro{font-size:10px;color:#87968b;line-height:1.6}.metric-row{display:flex;justify-content:space-between;margin-bottom:18px;gap:16px}.metric-row strong{font-size:27px;letter-spacing:-1px;display:block;margin:4px 0}.bars{height:145px;display:flex;gap:14px;align-items:end;border-bottom:1px solid var(--line);margin:12px 0 10px}.barcol{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.bar{width:100%;max-width:34px;background:#cfe0cd;border-radius:4px 4px 0 0;min-height:2px}.barcol:last-child .bar{background:#3f8060}.barcol small{font-size:9px;color:#8c998f;height:20px;padding-top:6px}.toolbar{display:flex;gap:9px;align-items:center;padding:0 23px 18px;flex-wrap:wrap}.search{flex:1;min-width:160px}.toolbar input,.toolbar select{border:1px solid var(--line);background:#fbfcfa;border-radius:6px;padding:10px 12px;color:#53695a;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbf8;color:#91a093;font-size:9px;letter-spacing:.7px;text-transform:uppercase;padding:12px 22px;border-block:1px solid var(--line);font-weight:600}td{padding:16px 22px;border-bottom:1px solid #eff2ed;font-size:12px}tbody tr:last-child td{border-bottom:0}td small{display:block;color:#91a092;font-size:10px;margin-top:5px}.namecell{display:flex;align-items:center;gap:10px}.initials{width:33px;height:33px;border-radius:7px;background:#edf2e8;display:inline-grid;place-content:center;color:#6a8465;font-size:10px}.linkbtn{border:0;background:transparent;padding:0;color:var(--green);font-size:11px;font-weight:600}.row-actions{display:flex;gap:12px}.bottom-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.repair-row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.repair-row:last-child{border:0}.repair-symbol{width:34px;height:34px;background:#f8f1e4;color:#a0834d;border-radius:8px;display:grid;place-content:center}.repair-info{flex:1}.repair-info small{display:block;color:#96a092;margin-top:5px;font-size:10px}.expense-line{display:flex;justify-content:space-between;margin:16px 0;font-size:12px}.expense-line span{color:#7e8e80}.empty{padding:36px;text-align:center;color:#87988a}.setupgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.setupcard{padding:25px}.setupcard h2{margin:15px 0 8px}.setupcard ul{padding-left:18px;color:#728477;font-size:12px;line-height:1.9}.setupcard code{font-size:11px;background:#f1f4ef;padding:3px 5px;border-radius:4px}.step{display:flex;gap:13px;margin:17px 0;font-size:12px;line-height:1.7}.step>b{width:25px;height:25px;border-radius:50%;background:#edf3e7;text-align:center;color:#60834c;flex-shrink:0}.step strong{display:block}.muted{color:var(--muted)}footer{display:flex;justify-content:space-between;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);color:#93a093;font-size:10px}dialog{border:0;padding:27px;border-radius:14px;width:560px;max-width:95vw;box-shadow:0 25px 80px #163d2933}dialog::backdrop{background:#102b5080;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;margin-bottom:25px}.modal-head h2{font-size:23px;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;color:#607669}label input,label select,label textarea{display:block;width:100%;padding:11px;margin-top:7px;border:1px solid #dce5dc;border-radius:6px;color:var(--ink);background:#fbfcf9}label.full{grid-column:1/-1}.modal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:15px}.modal-foot span{font-size:10px;color:#899988}#toast{position:fixed;bottom:25px;right:25px;padding:14px 20px;border-radius:8px;background:#173f30;color:white;font-size:12px;box-shadow:0 10px 30px #14332322;display:none;z-index:20}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-grid span{display:block;color:#8a988d;font-size:11px;margin-bottom:5px}.detail-actions{display:flex;gap:10px;margin-top:20px}#fields>.micro{margin-top:20px}@media(min-width:1450px){main{padding:42px 48px}.stats{gap:20px}}@media(max-width:1100px){aside{width:205px}.shell{margin-left:205px}main{padding:26px}header{padding:0 26px}.stats{gap:10px}.stat{padding:17px}.grid{grid-template-columns:1fr 1fr}.health{gap:14px}.donut{width:115px;height:115px}.donut div{width:85px;height:85px}.intro{align-items:flex-start}h1{font-size:26px}}@media(max-width:850px){aside{transform:translateX(-100%);transition:transform .2s;width:238px}aside.open{transform:translateX(0);box-shadow:15px 0 60px #132d2740}.shell{margin-left:0}#menu{display:block}.breadcrumb{margin-right:auto;margin-left:12px}.stats{grid-template-columns:repeat(2,1fr)}.grid,.bottom-grid{grid-template-columns:1fr}.setupgrid{grid-template-columns:1fr}.intro{flex-direction:column}.notice{align-items:flex-start}.notice>a{display:none}.header-right{gap:10px}.live-pill{font-size:8px}main{padding:23px 16px}header{padding:0 14px;height:62px}h1{font-size:25px}footer span{display:none}.form-grid{grid-template-columns:1fr}label.full{grid-column:auto}.modal-foot{align-items:flex-end}.health{justify-content:space-around}.donut{width:148px;height:148px}.donut div{width:112px;height:112px}}

body.signed-out{background:#f4f5f0}body.signed-out>#sidebar,body.signed-out>.shell{display:none}#firebase-login{width:min(480px,calc(100vw - 32px));border:0;border-radius:20px;padding:32px;box-shadow:0 24px 80px #16352b30}#firebase-login::backdrop{background:#eef2ed}#firebase-login .modal-head{margin-bottom:20px}#firebase-login .form-grid{grid-template-columns:1fr}#firebase-login .modal-foot{flex-wrap:wrap;gap:16px}#firebase-login .primary{width:100%}

.mt-panel{background:linear-gradient(135deg,#f4faf6,#fff 60%);overflow:hidden}.mt-heading{display:flex;gap:16px;align-items:center;margin-bottom:24px}.mt-heading strong{font-size:20px;overflow-wrap:anywhere}.mt-heading small{display:block;margin-top:8px;font-size:11px;letter-spacing:1.5px;color:#4b7865}.mt-orbit{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border-radius:18px;background:#e0f0e7;color:#276a4c;font-size:30px;border:1px solid #bad7c8}.mt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#819088;margin-right:6px}.mt-fresh .mt-dot{background:#32a36c;animation:mtPulse 2s infinite}.mt-fresh .mt-orbit{animation:mtGlow 3s ease-in-out infinite}.mt-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.mt-card{padding:20px;border-radius:16px;background:#fff;border:1px solid #dce9e0;box-shadow:0 6px 20px #214c3610}.mt-card>span{display:block;color:#5a6d61;font-size:12px}.mt-card>b{display:block;font-size:36px;font-variant-numeric:tabular-nums;line-height:1.3;color:#245a40;margin:8px 0}.mt-card>small{font-size:10px;color:#718376}.mt-paused .mt-card>b{color:#7b827c}.mt-details{border-top:1px solid #deeadf;padding-top:18px;margin-bottom:18px}.mt-changed{animation:mtHighlight 1.3s ease-out}.mt-skeleton{background:linear-gradient(90deg,#edf1ed,#fafcf9,#edf1ed);background-size:200% 100%;border-radius:8px;animation:mtShimmer 1.8s linear infinite}.mt-paused .mt-dot{animation:none}.mt-panel>.secondary{margin-top:14px}@keyframes mtPulse{0%,100%{box-shadow:0 0 0 0 #32a36c50}60%{box-shadow:0 0 0 7px #32a36c00}}@keyframes mtGlow{50%{box-shadow:0 0 18px #32a36c25}}@keyframes mtHighlight{0%{color:#13a15a;background:#e4f6e8}100%{background:transparent}}@keyframes mtShimmer{to{background-position:-200% 0}}@media(max-width:700px){.mt-metrics{grid-template-columns:1fr}.mt-card{padding:16px}.mt-card>b{font-size:30px}}@media(prefers-reduced-motion:reduce){.mt-panel *{animation:none!important;transition:none!important}}

.mt-meter{height:9px;border-radius:8px;background:#e8eee9;overflow:hidden;margin-top:14px}.mt-meter i{display:block;height:100%;background:linear-gradient(90deg,#318561,#74bc90);transition:width .8s ease-out}.mt-interface{border-top:1px solid #d6e4d9;padding-top:22px;margin-top:22px}.mt-interface h3{margin-bottom:18px}.mt-interface h3 small{font-size:12px;color:#65806e;margin-left:8px}.mt-chart svg{width:100%;height:auto;max-height:280px}.mt-chart text{font:10px sans-serif;fill:#64766b}.mt-chart{background:#fff;border-radius:14px;padding:12px}.mt-card b small{font-size:12px}

.billing-dialog{width:min(1100px,95vw);max-height:90vh;padding:0;border:0;border-radius:16px}.billing-body{padding:24px;overflow:auto}.billing-body h3{margin:22px 0 12px}.billing-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.billing-edit{padding:20px;background:#f7f8fa;border-radius:12px}.billing-edit textarea{width:100%;min-height:80px}.billing-edit [data-result]{margin:12px 0}

/* JSVARTECH blue branding */
.primary{background:#1769d2;color:#fff;border-color:#1769d2}.primary:hover{background:#1156b2}.secondary{border-color:#c9daf2;color:#174e91}.linkbtn{color:#1769d2}.brandmark{background:linear-gradient(135deg,#35b8ff,#1769d2);color:#fff}.eyebrow{color:#2463a5}.billing-edit{background:#edf4ff}input:focus,select:focus,textarea:focus{outline:2px solid #1769d2;outline-offset:2px}.live-pill{background:#e8f1ff;color:#175fb2}

/* Accounting workspace */
:root{--ink:#213047;--muted:#738299;--line:#e1e8f2;--bg:#f4f6fa;--side:#102a4e}
body{font-family:'DM Sans',Arial,sans-serif}main{padding:28px 32px}.intro{margin-bottom:20px}h1{font-size:27px;letter-spacing:-.7px}.eyebrow{color:#477197;font-size:10px}.notice{background:#edf4ff;border-color:#d9e7fb;color:#507098}.notice b{color:#24558c}.stat-icon{color:#2867af;background:#edf4ff}.stat-top,.stat small{color:#738299}.stat strong{font-variant-numeric:tabular-nums}.stat,.panel{box-shadow:0 2px 7px #17345604}.secondary:hover{background:#edf4ff}.icon{color:#6481a3}.breadcrumb b{color:#324b6c}
.billing-dialog{width:min(1260px,96vw);max-height:94vh;border:1px solid #d7e3f3;box-shadow:0 25px 80px #10284b35;border-radius:12px}.billing-dialog::backdrop{background:#102a4e80;backdrop-filter:blur(3px)}.billing-dialog .modal-head{background:#fff;border-bottom:1px solid #e1e8f2;padding:20px 24px}.billing-dialog .modal-head h2{font-size:20px}.billing-body{background:#f7f9fc;padding:24px}.account-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.account-heading p{color:#4a5e78;margin-top:6px}.account-heading small{display:block;color:#738299;font-size:11px;margin-top:6px}.account-heading>div:last-child{text-align:right}.account-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.account-metric{background:#fff;border:1px solid #e1e8f2;border-radius:9px;padding:16px 18px;min-width:0}.account-metric span{font-size:11px;color:#64768d;font-weight:600}.account-metric strong{display:block;font-size:24px;font-weight:700;margin:9px 0;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.account-metric small{font-size:10px;color:#7f8ea2}.account-outstanding{background:#1769d2;border-color:#1769d2;color:white}.account-outstanding span,.account-outstanding small{color:#d6e7ff}.account-review-note{display:flex;gap:7px;align-items:center;font-size:11px;color:#715922;background:#fff9eb;border:1px solid #f2e4bd;padding:10px 14px;margin-top:12px;border-radius:6px}.account-review-note span{margin-left:auto;color:#8b7954}.billing-actions{margin:20px 0}.account-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid #d9e3f1;margin:22px 0 0}.account-tabs button{white-space:nowrap;background:transparent;border:0;border-bottom:3px solid transparent;padding:13px 17px;font-size:12px;font-weight:600;color:#74839a}.account-tabs button[aria-selected=true]{color:#1769d2;border-bottom-color:#1769d2;background:#eaf2ff}.billing-body section[role=tabpanel]{background:#fff;border:1px solid #e1e8f2;border-top:0;border-radius:0 0 8px 8px;overflow:hidden}.billing-body section[hidden]{display:none}.account-section-head{padding:18px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center}.account-section-head h3{margin:0}.account-section-head p{font-size:11px}.account-footnote{font-size:11px;padding:15px 20px;background:#f9fbfe;border-top:1px solid #e1e8f2}.detail-grid{padding:20px}.money{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.balance{font-weight:700;color:#194c89}.total-row td{background:#eaf2ff!important;font-weight:700;border-top:2px solid #c9daf4}.grid-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#fafcff;border-top:1px solid #e1e8f2;border-bottom:1px solid #e1e8f2}.grid-tools label{display:flex;gap:12px;align-items:center;font-size:11px;white-space:nowrap;color:#738299}.grid-tools input{width:240px;padding:8px 11px;border:1px solid #d7e1ef;border-radius:5px;background:#fff;font-size:12px}.grid-count{font-size:11px;color:#738299;font-variant-numeric:tabular-nums}.excel-grid{overflow:auto;max-height:490px;position:relative}.excel-grid table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:12px}.excel-grid th{position:sticky;top:0;z-index:2;background:#123d7a!important;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:12px 15px;border-bottom:1px solid #ccd9eb;border-right:1px solid #dce5f3;white-space:nowrap}.excel-grid td{padding:12px 15px;border-bottom:1px solid #e6ecf5;border-right:1px solid #eef2f8;background:#fff;vertical-align:middle}.excel-grid tbody tr:nth-child(even) td{background:#f9fbfe}.excel-grid th:first-child{left:0;z-index:3}.excel-grid td:first-child{position:sticky;left:0;z-index:1;box-shadow:2px 0 3px #1b467308;min-width:150px}.excel-grid tr:hover td{background:#f0f6ff}.excel-grid tr.selected-row td{background:#eaf3ff}.excel-grid td.active-cell{outline:2px solid #1769d2;outline-offset:-2px;background:#dcecff!important}.excel-grid td:focus-visible{outline:2px solid #1769d2;outline-offset:-2px}.excel-grid th.sortable{cursor:pointer}.excel-grid th.sortable:hover{background:#194f96!important}.sort-arrow{margin-left:10px;color:#7b99c1}.excel-grid th[aria-sort=ascending],.excel-grid th[aria-sort=descending]{color:#1769d2}.excel-grid tbody tr{animation:gridRow .25s ease both;animation-delay:calc(var(--row-order,0)*12ms)}@keyframes gridRow{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}button{transition:background .16s,color .16s,border-color .16s}.billing-edit{border:1px solid #cbdcf3;margin-bottom:15px}
@media(max-width:800px){.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-review-note{flex-wrap:wrap}.account-review-note span{margin-left:0;flex-basis:100%}.account-section-head{display:block}.account-section-head p{margin-top:6px}.grid-tools input{width:150px}.account-heading{flex-direction:column}.account-heading>div:last-child{text-align:left}.billing-body{padding:14px}main{padding:20px}.account-metric strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.excel-grid tbody tr{animation:none}button{transition:none}}
@media print{body.print-account{background:white}body.print-account>aside,body.print-account>.shell,body.print-account>#dialog,body.print-account>#toast{display:none!important}body.print-account>.billing-dialog{position:static;display:block;width:100%;max-height:none;border:0;box-shadow:none;overflow:visible}body.print-account .billing-body{padding:0;background:white}body.print-account .billing-actions,body.print-account .account-tabs,body.print-account .grid-tools,body.print-account [data-close],body.print-account [data-editor]{display:none!important}body.print-account [data-section]{display:none!important}body.print-account [data-section=ledger],body.print-account [data-section=receipts]{display:block!important}body.print-account .excel-grid{overflow:visible;max-height:none}body.print-account .excel-grid th,body.print-account .excel-grid td:first-child{position:static}body.print-account .excel-grid tr{animation:none}body.print-account .active-cell{outline:none}body.print-account .selected-row td{background:white}body.print-account .account-metrics{grid-template-columns:repeat(4,1fr)}body.print-account .account-metric strong{font-size:18px}body.print-account .account-outstanding{background:white;color:#142b4b}body.print-account .account-outstanding span,body.print-account .account-outstanding small{color:#687b94}body.print-account .sort-arrow{display:none}body.print-account table{font-size:10px}body.print-account th,body.print-account td{padding:8px}body.print-account .account-heading{margin-top:15px}}

@media print{body.print-account .excel-grid tbody tr[hidden]{display:table-row!important}}

.billing-actions .is-active{background:#1769d2;color:white;border-color:#1769d2}.billing-actions button:focus-visible{outline:2px solid #1769d2;outline-offset:3px}.add-client-dialog{width:min(800px,95vw)}.add-client-dialog [data-result]{color:#a74735;margin:12px 0}

.router-choice{display:flex;align-items:center;gap:10px}.router-choice input[type=checkbox]{width:auto;margin:0}

/* v1.6: accessible connection/service colors and JSVARTECH blue headers */
.tag.status-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:750;line-height:1.25;letter-spacing:.015em;box-shadow:0 1px 2px #0f172a0a}
.tag.status-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.tag.status-positive{background:#dcfce7;color:#166534;border-color:#86efac}
.tag.status-warning{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.tag.status-negative{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.tag.status-info{background:#dbeafe;color:#1e40af;border-color:#93c5fd}
.tag.status-neutral{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.account-statuses{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
table thead th{background:#123d7a!important;color:#fff;font-weight:700;border-bottom:2px solid #2563eb;border-right:1px solid #ffffff24;padding-top:13px;padding-bottom:13px}
table thead th:first-child{background:#123d7a!important}
table thead th button,table thead th [role=button]{color:inherit}
table thead th:hover,table.excel-grid thead th.sortable:hover{background:#194f96!important}
table.excel-grid thead th[aria-sort]{color:#fff}
table thead th:focus-visible{outline:2px solid #fbbf24;outline-offset:-3px}
@media print{table thead th,table thead th:first-child{background:#e2e8f0!important;color:#0f172a!important;border-color:#94a3b8!important}.tag.status-chip{box-shadow:none}}

table:has([data-live-action="detail"]) th:nth-child(2),table:has([data-live-action="detail"]) td:nth-child(2){width:175px;max-width:175px;padding-left:10px;padding-right:10px}table:has([data-live-action="detail"]) td:nth-child(2) b{display:block;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}

/* Billing status: consistent across account tables and summaries. */
.tag.billing-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;border:1px solid;padding:6px 11px;font-size:11px;font-weight:750;letter-spacing:.035em;line-height:1.3;white-space:nowrap;box-shadow:0 2px 4px #123d7a0c}
.tag.billing-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.tag.billing-paid{background:#dcfce7;color:#166534;border-color:#86efac}
.tag.billing-unpaid{background:#fee2e2;color:#991b1b;border-color:#fca5a5}
.tag.billing-partial{background:#fef3c7;color:#92400e;border-color:#fcd34d}
.tag.billing-overdue{background:#ffe4e6;color:#9f1239;border-color:#fda4af}
@media print{.tag.billing-status{box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Superadmin account actions */
td:has(>button[data-live-action="detail"]){min-width:150px}
td>button.linkbtn[data-live-action="detail"],td>button.linkbtn[data-live-action="missing-payment"]{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:8px 12px;margin:3px 0;border:1px solid transparent;border-radius:6px;font-size:11px;font-weight:700;line-height:1.3;text-decoration:none;box-shadow:0 2px 4px #123d7a12;transition:background .15s ease,box-shadow .15s ease}
td>button.linkbtn[data-live-action="detail"]{background:#1769d2;color:#fff;border-color:#1769d2}
td>button.linkbtn[data-live-action="detail"]:hover{background:#1255ae;border-color:#1255ae}
td>button.linkbtn[data-live-action="missing-payment"]{background:#15803d;color:#fff;border-color:#15803d}
td>button.linkbtn[data-live-action="missing-payment"]:hover{background:#166534;border-color:#166534}
td>button.linkbtn[data-live-action]:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
@media(prefers-reduced-motion:reduce){td>button.linkbtn[data-live-action]{transition:none}}

button.reconnect-button,td>button.linkbtn.reconnect-button{background:#1769d2;color:#fff;border:1px solid #1769d2;border-radius:6px;padding:8px 12px;margin:3px 0;font-size:11px;font-weight:700;min-width:132px;text-decoration:none}
button.reconnect-button:hover,td>button.linkbtn.reconnect-button:hover{background:#1255ae;border-color:#1255ae}
button.reconnect-button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}

.billing-actions button.reconnect-button:not(.is-active),td>button.linkbtn.reconnect-button{background:#fff;color:#1769d2;border-color:#cbd5e1;box-shadow:none}.billing-actions button.reconnect-button:hover,td>button.linkbtn.reconnect-button:hover{background:#eff6ff;color:#1255ae;border-color:#93c5fd}.billing-actions button.reconnect-button.is-active{background:#1769d2;color:#fff;border-color:#1769d2}

.receipt-pending{display:block;color:#a16207;font-weight:600;margin-top:4px}

/* Compact customer account heading and accessible SVG actions. */
.billing-dialog>.modal-head[hidden]{display:none}
.account-client-title{font-size:18px;line-height:1.35;margin:7px 0 6px;overflow-wrap:anywhere}
.account-due-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.compact-account-close{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;min-height:36px}
.compact-account-close svg{width:16px;height:16px}
.account-sync-status{margin:0 0 12px;font-size:10px}
.billing-actions{gap:7px}
.billing-actions .account-icon-button{display:inline-flex;align-items:center;justify-content:center;width:42px;min-width:42px;height:42px;padding:9px;border-radius:8px;color:#1769d2;background:#f8fbff;border:1px solid #cbdcf2}
.billing-actions .account-icon-button:hover{background:#e8f1ff;border-color:#93b8eb}
.billing-actions .account-icon-button[data-edit=archive]{color:#b91c1c;border-color:#fecaca;background:#fff7f7}
.billing-actions .account-icon-button[data-edit=reconnect]{color:#15803d}
.billing-actions .account-icon-button.is-active{color:#fff;background:#1769d2;border-color:#1769d2}
.billing-actions .account-icon-button:disabled{opacity:.45;cursor:not-allowed}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.account-heading{align-items:flex-start;gap:12px}.account-client-title{font-size:16px}.account-due-controls{max-width:145px}.account-due-controls .tag{white-space:normal;text-align:right}.billing-actions .account-icon-button{width:44px;min-width:44px;height:44px}}

/* SVG monitoring activity follows actual feed freshness, not invented values. */
.monitor-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#edf4ff;color:#1769d2;border:1px solid #d4e4fb;vertical-align:middle}
.monitor-icon svg{width:25px;height:25px;overflow:visible}
.mt-panel-title{display:flex;align-items:center;gap:10px}
.mt-panel-title .monitor-icon{width:34px;height:34px;flex-basis:34px}
.mt-heading>.monitor-icon{width:64px;height:64px;flex-basis:64px;border-radius:17px;background:linear-gradient(145deg,#edf5ff,#dbeaff)}
.mt-heading>.monitor-icon svg{width:42px;height:42px}
.mt-card>.mt-metric-label{display:flex;align-items:center;gap:9px;min-height:36px;color:#536985}
.mt-interface-title{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.mt-interface-title>span:not(.monitor-icon):not(.mt-interface-feed){font-size:17px;color:#173b67}
.mt-interface-title small{display:block!important;margin-left:0!important;font-weight:500;margin-top:3px}
.mt-interface-feed{margin-left:auto;font-size:10px;font-weight:600;color:#687b94;padding:5px 9px;background:#edf2f8;border-radius:20px}
.interface-live .mt-interface-feed{color:#166534;background:#dcfce7}
.mi-rx{color:#16805a;background:#eefbf5;border-color:#c9eddd}.mi-tx{color:#1769d2}.mi-cpu{color:#5b52b6;background:#f3f0ff;border-color:#e1dafa}
.monitor-icon .mi-led{fill:currentColor;opacity:.7}
.monitor-icon.is-live .mi-led{animation:miBlink 2.6s ease-in-out infinite}
.monitor-icon.is-live .mi-scan,.monitor-icon.is-live .mi-flow{stroke-dasharray:22;animation:miTrace 3s linear infinite}
.monitor-icon.is-live .mi-packet{animation:miPacket 2.8s ease-in-out infinite}
.monitor-icon.is-live.mi-rx .mi-arrow{animation:miDown 2.4s ease-in-out infinite}
.monitor-icon.is-live.mi-tx .mi-arrow{animation:miUp 2.4s ease-in-out infinite}
.monitor-icon.is-live .mi-delay{animation-delay:.8s}
.monitor-icon:not(.is-live){opacity:.65}
.mt-panel{background:linear-gradient(135deg,#f3f7ff,#fff 65%)}
.mt-card{border-color:#dfe8f5;box-shadow:0 5px 18px #173b6710}
.mt-card>b{color:#173b67}
@keyframes miBlink{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes miTrace{0%{stroke-dashoffset:44;opacity:.5}50%{opacity:1}100%{stroke-dashoffset:0;opacity:.5}}
@keyframes miPacket{0%,100%{opacity:.3;transform:translateX(-1px)}50%{opacity:1;transform:translateX(1px)}}
@keyframes miDown{0%,100%{transform:translateY(-1px);opacity:.65}50%{transform:translateY(2px);opacity:1}}
@keyframes miUp{0%,100%{transform:translateY(1px);opacity:.65}50%{transform:translateY(-2px);opacity:1}}
@media(prefers-reduced-motion:reduce){.monitor-icon *{animation:none!important;transition:none!important}}
.account-heading .account-client-title{font-size:26px;font-weight:800;line-height:1.35}
@media(max-width:600px){.account-heading .account-client-title{font-size:22px}.mt-interface-feed{margin-left:47px}.mt-heading>.monitor-icon{width:54px;height:54px;flex-basis:54px}}
.nap-map{height:390px;min-height:260px;margin:20px 0;border:1px solid #d4e4fb;border-radius:14px;background:#edf4ff;z-index:0}.billing-dialog .nap-map{height:320px}.leaflet-popup-content{font-size:13px;line-height:1.6}.leaflet-container{font-family:inherit}@media(max-width:600px){.nap-map{height:300px}}

.repair-saved-banner{padding:14px 16px;background:#dcf4e7;color:#166534;border:1px solid #b6dec9;border-radius:9px}.repair-customer-message{width:100%;margin:16px 0;padding:18px;background:#111827;color:#fff;border:1px solid #24334a;border-radius:10px;font:13px/1.8 inherit;resize:vertical}.repair-copy-button{width:100%;background:#168353!important;color:#fff!important}

.repair-row-actions{display:grid;gap:5px;min-width:135px}.repair-row-actions button{padding:7px 10px}.repair-tech-button{background:#fbbf24!important;color:#422006!important}.repair-delete-button{background:#dc3545!important;color:white!important}

.expense-delete{background:#fee2e2!important;color:#b91c1c!important;border-color:#fecaca!important}#expenses-module [data-stats]{margin-top:20px}#expenses-module h4{color:#1555a0;margin:22px 0 10px}

.collectpro-brand-icon{width:52px;height:52px;object-fit:contain;flex-shrink:0;border-radius:12px}.login-brand-icon{width:64px;height:64px;object-fit:contain;border-radius:14px;margin-bottom:12px}

input[name="name"],input[name="address"],input[name="landmark"],input[name="modem_sn"],input[name="router_model"],input[name="remarks"],input[name="reason"],input[name="reference_no"],input[name="receipt_ref"],textarea[name="remarks"],textarea[name="reason"],textarea[name="description"],textarea[name="trouble"],textarea[name="root_cause"],textarea[name="resolution"]{text-transform:uppercase}
select{text-transform:uppercase}

/* Scroll menu independently so every navigation item stays reachable. */
#sidebar{height:100vh;height:100dvh;overflow:hidden}
#sidebar .brand,#sidebar .nav-label,#sidebar .side-footer{flex-shrink:0}
#sidebar #nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7192b6 transparent;padding-bottom:8px}
#sidebar .side-footer{margin-top:12px}
.nap-delete-button{color:#b42318;border-color:#f3b5b0}
