/* v80: shared application design. Invoice documents keep their own print styles. */
:root{--ink:#142d35;--muted:#62767b;--brand:#087f78;--brand-dark:#06625d;--line:#dce7e8;--canvas:#f3f7f7;--radius:18px}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--canvas);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button{font-weight:650;background:var(--brand);border-radius:10px;padding:11px 16px;min-height:40px;transition:background .15s,border-color .15s}button:hover{background:var(--brand-dark)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #28b6a4;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #087f7855;outline-offset:1px;border-color:var(--brand)}input,select,textarea{background:#fff;color:var(--ink);border-color:#cbdadb;min-height:44px;border-radius:10px}input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--brand)}input[type=color]{padding:4px}input[type=file]{height:auto}button.secondary,.secondary{background:#edf3f3;color:#28434b;border:1px solid #d7e3e4}button.secondary:hover{background:#ddeaea}button.danger,.danger{background:#c2374d}button.danger:hover{background:#a52c40}button.success,.success{background:#15803d}.linkbtn{background:transparent;color:var(--brand);min-height:0;padding:0}.linkbtn:hover{background:transparent;text-decoration:underline}button:disabled{cursor:not-allowed}
aside{width:250px;padding:26px 18px 18px;background:#102f37;color:#dceced;border-right:1px solid #173f46;z-index:40}aside h1{font-size:23px;letter-spacing:-.7px;padding:0 10px}aside h1 span{color:#57d6b7}aside>small{font-size:11px;letter-spacing:.5px;padding:7px 10px;opacity:.75}aside nav{margin-top:25px;scrollbar-width:thin;scrollbar-color:#31515a transparent}aside nav :is(button,a.sidebar-link){font-size:13px;font-weight:500;color:#c5dadd;margin:4px 0;padding:12px 14px;border:1px solid transparent;min-height:44px}aside nav :is(button,a.sidebar-link):hover:not(.active){background:#ffffff0b;color:#fff}aside nav :is(button,a.sidebar-link).active{background:#17625f;border-color:#248278;color:white;box-shadow:inset 3px 0 #69e0bd}.rolebox{border-color:#ffffff12;background:#ffffff07;font-size:12px;border-radius:14px}.logout-btn{background:#ffffff09;border-color:#ffffff20}.logout-btn:hover{background:#ffffff15}
main{margin-left:250px;width:calc(100% - 250px);padding:28px 32px;min-width:0}main>header{padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:22px;gap:20px}header h2,.management-head h2{font-size:27px;letter-spacing:-.8px;font-weight:750}header p,.management-head p{color:var(--muted);line-height:1.65;font-size:13px}.headtools{max-width:550px;gap:12px}.headtools input{background:white}.card,article,.summary-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 12px #163f4804;padding:22px;min-width:0}article h3{font-size:17px;letter-spacing:-.25px;margin-bottom:18px}article article{box-shadow:none}.grid{gap:20px;margin-bottom:20px}.stats{gap:16px;margin:22px 0}.stats .card{border-top:3px solid #30aa95;padding:20px}.card b,.summary-card b{font-size:29px;letter-spacing:-.8px;line-height:1.3;font-variant-numeric:tabular-nums}.card small{font-size:12px;color:var(--muted)}.management-head{margin-bottom:24px;gap:20px}.profile-actions,.supplier-actions,.token-transfer-actions{gap:12px}.page-tabs{gap:10px}.page-tabs button.active,.payment-filters button.active,.bill-history-tabs button[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}.service-switch{border-radius:16px;padding:18px 22px;margin-bottom:26px;background:#fff;border-color:var(--line);box-shadow:0 2px 10px #163f4804}.service-switch strong{font-size:16px}.service-switch small{color:var(--muted)}
table{font-size:13px}th{background:#f3f7f7;color:#63767c;font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:700;white-space:nowrap}th,td{padding:15px 13px;border-bottom-color:#e5eeee;line-height:1.5}td{font-variant-numeric:tabular-nums}tbody tr:hover{background:#f7fbfa}tbody tr:last-child td{border-bottom:0}.tablewrap{border-radius:12px}td button{font-size:12px;margin:3px 4px 3px 0;min-height:35px;padding:8px 12px}td small,.row small{color:var(--muted)}.badge,.finance-status{border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.5}.connection-status{font-size:15px!important}.Active{background:#e1f5eb;color:#147448}.Locked{background:#fce9ec;color:#b12a45}.Overdue{background:#fff0d6;color:#94610c}.notice{padding:16px;border-color:#ead7a1;background:#fff9e9;line-height:1.7}.row,.supportitem,.audit{padding:15px 0}.profile-grid>div,.device-control-card,.emi-plan{border-color:var(--line);border-radius:12px;padding:16px}.profile-grid{gap:16px}.customer-control-toolbar{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.actions{gap:12px}.plan{border-color:var(--line);padding:18px}.plan span{color:var(--brand)}
.gst-dashboard{padding:26px;border-color:var(--line);border-radius:20px;background:linear-gradient(135deg,#fff,#fbfdfc)}.gst-dashboard-heading{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.gst-dashboard-heading h3{font-size:26px;letter-spacing:-.7px}.gst-dashboard-cards{gap:18px}.gst-stat-card{border:1px solid #dce8e7;border-radius:15px;border-top:3px solid #169587;min-height:157px;padding:22px;background:#fff;box-shadow:0 4px 14px #0e403604;gap:11px}.gst-stat-card:hover{background:#f0faf7;border-color:#48b39c}.gst-stat-card strong{font-size:30px;color:var(--ink);letter-spacing:-.8px}.gst-stat-card span{font-size:13px;color:#567079}.gst-stat-1{border-top-color:#20a56c}.gst-stat-2{border-top-color:#dc9a38}.gst-stat-4{border-top-color:#7484c9}.gst-stat-5{border-top-color:#d76d7c}.gst-quick-actions{gap:14px}.gst-quick-actions button{border:1px solid #d8e7e4;background:#edf7f4;color:#176157;border-radius:12px;padding:18px}.gst-quick-actions button:hover{background:#d9efe8}.gst-quick-actions button:first-child{background:var(--brand);color:#fff}.gst-empty{border:1px dashed #cbdcdb;background:#f6faf9}.bill-item-card{border-radius:16px;border-color:var(--line);padding:22px}.bill-item-source{border-bottom-color:var(--line)}.bill-payment-summary{background:#f0f8f5;border-color:#cee4db;border-radius:16px}.billing-preview{background:#edf4f4;border:1px solid #d5e4e4;padding:22px}.bill-history-tabs button{border-radius:10px}.billing-summary{gap:18px}.subscription-plan{border-color:var(--line);padding:28px;border-radius:20px}.subscription-plan.current{border-color:var(--brand);background:#effaf5}.subscription-badge{background:#d8f1e7;color:#17624c}.subscription-price{font-size:38px;color:var(--ink)}.subscription-current{background:#eef8f2;border-color:#c7e5d3}.bill-design-cards button[aria-pressed=true]{background:#eff9f5;border-color:var(--brand)}.finance-export{background:#15803d;border-color:#15803d;color:#fff}.finance-export:hover{background:#166534}.excel-export-icon{width:25px;height:25px}
dialog{border-radius:20px;box-shadow:0 26px 90px #0e303438;max-height:90dvh}.catalog-dialog{border:1px solid #d9e7e7}.catalog-dialog form{padding:26px}.catalog-heading{margin:-26px -26px 22px;padding:20px 26px;border-bottom-color:var(--line)}.catalog-heading h3{font-size:20px}.catalog-heading [data-close]{color:#46616a;background:#eff4f4}.catalog-dialog section{padding:22px 0}dialog::backdrop{background:#0b242a9e;backdrop-filter:blur(3px)}.billing-form label{font-size:13px;color:#425d64;font-weight:600}.billing-form input,.billing-form select,.billing-form textarea{font-weight:400}.catalog-dialog fieldset{border-color:var(--line)}
.login-gate{background:#eaf2ef;background-image:radial-gradient(ellipse at 15% 10%,#c6e5d8,transparent 65%);overflow:auto}.login-gate:has(.login-card:not(.hidden))::before{content:'';width:min(45vw,600px);height:520px;background:url('/assets/shop-hero.webp') center/contain no-repeat;margin-right:45px}.auth-loader{color:var(--ink)}.auth-spinner{border-color:#bfd8d2;border-top-color:var(--brand)}.login-card{width:min(430px,100%);border:1px solid #dde8e3;border-radius:24px;box-shadow:0 20px 70px #1b463214;padding:48px 34px 30px}.login-card h1{font-size:27px;letter-spacing:-.8px}.login-card>p{color:var(--muted);margin-bottom:24px}.login-card button{background:var(--brand)}.login-card button:hover{background:var(--brand-dark)}.login-card input{margin:8px 0 15px}.login-card .login-register{margin:22px 0 0}.login-register a{color:var(--brand)}
.mobile-menu-toggle{display:none}.mobile-menu-scrim{display:none}
@media(min-width:901px){aside{display:flex;flex-direction:column}.stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}}
@media(max-width:1100px){main{padding:24px}.headtools{max-width:360px}.gst-dashboard-cards{gap:12px}.gst-stat-card{padding:18px}.gst-stat-card strong{font-size:25px}}
@media(max-width:900px){body:not(.mobile-app) .mobile-menu-toggle{display:flex;align-items:center;gap:8px;position:sticky;top:0;width:100%;border-radius:0;padding:13px 18px;text-align:left;z-index:35;background:#102f37;color:white}body{display:block}aside{display:none;position:fixed;inset:0 auto 0 0;width:270px;height:100dvh}body.menu-open aside{display:flex;flex-direction:column}aside nav{flex:1;overflow:auto;min-height:0}.rolebox{position:static;flex-shrink:0;margin-top:12px}.mobile-menu-scrim{position:fixed;inset:0;background:#0b242a88;border-radius:0;z-index:39;width:100%;height:100dvh}body.menu-open .mobile-menu-scrim{display:block}main{margin:0;width:100%;padding:22px}main>header{display:flex;align-items:flex-start;flex-direction:column}.headtools{max-width:none;width:100%;display:flex}.headtools input,.headtools select{margin:0}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.login-gate:has(.login-card:not(.hidden))::before{display:none}.service-switch{padding:18px}.mobile-app .mobile-menu-toggle,.mobile-app .mobile-menu-scrim{display:none!important}}
@media(max-width:600px){main{padding:16px}header h2,.management-head h2{font-size:24px}.headtools{flex-direction:column;align-items:stretch}.headtools select{width:100%}.card,article,.gst-dashboard{padding:18px;border-radius:15px}.card b{font-size:25px}.grid{gap:16px}.stats{gap:12px}.management-head{gap:14px;margin-bottom:20px}.gst-dashboard-heading h3{font-size:23px}.gst-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.gst-stat-card{padding:15px;min-height:145px;gap:10px}.gst-stat-card strong{font-size:23px}.gst-stat-card span{font-size:12px}.gst-quick-actions{gap:10px}.gst-quick-actions button{padding:14px 10px}.billing-form-grid{grid-template-columns:1fr}.catalog-dialog form{padding:18px}.catalog-heading{margin:-18px -18px 18px;padding:16px 18px}.bill-item-card{padding:16px}.billing-preview{padding:12px}.bill-payment-summary{padding:18px}.login-card{padding:48px 26px 28px}.profile-actions button{max-width:100%}.tablewrap{max-width:100%}.subscription-plan{padding:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.mobile-menu-toggle,.mobile-menu-scrim,aside,.service-switch,.portal-back{display:none!important}main{margin:0;width:100%;padding:0}body{background:white}article,.card{box-shadow:none}}

.design-thumbnail.cashmemo{border-color:#829ea6}.design-thumbnail.cashmemo i{background:#087f78;height:12px}.design-thumbnail.cashmemo em{border-bottom:1px solid #b7c7ca;background:#f3f7f7;height:9px}.design-thumbnail.cashmemo strong{background:#087f78}
.service-switch .page-tabs button.selected{background:#102f37;color:white;border:1px solid #102f37}.service-switch .page-tabs button:not(.selected):not(.secondary){background:#eef5f2;color:#256859;border:1px solid #d5e5de}
