:root{--primary:#0000CD;--secondary:#191970;--accent:#E0663D;--radius:14px;--font:"Inter",system-ui,sans-serif;--bg:var(--brand-bg,#F4F5FB);--sidebar:var(--brand-sidebar,#FFFFFF);--card:#FFFFFF;--surface:#FFFFFF;--text:#14162B;--text-2:#464A66;--muted:#7C80A0;--line:#E6E8F2;--hover:#F0F1F8;--primary-soft:color-mix(in srgb,var(--primary) 9%,white);--primary-strong:color-mix(in srgb,var(--primary) 78%,black);--primary-ink:var(--primary);--accent-soft:color-mix(in srgb,var(--accent) 12%,white);--gradient:linear-gradient(135deg,var(--primary),var(--secondary));--chart-in:var(--primary);--glow:0 4px 12px color-mix(in srgb,var(--primary) 14%,transparent);--glow-strong:0 4px 14px color-mix(in srgb,var(--primary) 22%,transparent);--page-glow:none;--good:#1E8E4E;--good-soft:#E6F4EC;--warning:#B26A00;--warning-soft:#FFF3DD;--critical:#C8372D;--critical-soft:#FCE9E7;--info:#2563B8;--info-soft:#E7EFFA;--shadow:0 1px 2px rgba(20,22,43,0.04),0 4px 16px rgba(20,22,43,0.05);--sidebar-w:264px;color-scheme:light}:root[data-theme=dark]{--bg:#07081A;--sidebar:#0C0E26;--card:#10122E;--surface:#14173A;--text:#ECEEFF;--text-2:#B7BAD9;--muted:#8285AC;--line:rgba(160,168,255,0.12);--hover:rgba(160,168,255,0.08);--primary-soft:color-mix(in srgb,var(--primary) 26%,#0C0E26);--primary-strong:color-mix(in srgb,var(--primary) 30%,white);--primary-ink:color-mix(in srgb,var(--primary) 45%,white);--accent-soft:color-mix(in srgb,var(--accent) 22%,#10122E);--chart-in:color-mix(in srgb,var(--primary) 50%,white);--glow:0 0 10px color-mix(in srgb,var(--primary) 22%,transparent);--glow-strong:0 0 14px color-mix(in srgb,var(--primary) 32%,transparent);--page-glow:radial-gradient(900px 520px at 85% -8%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 65%),radial-gradient(700px 480px at -5% 110%,color-mix(in srgb,var(--secondary) 35%,transparent),transparent 70%);--good:#4ADE80;--good-soft:rgba(74,222,128,0.12);--warning:#FBBF24;--warning-soft:rgba(251,191,36,0.12);--critical:#F87171;--critical-soft:rgba(248,113,113,0.13);--info:#7AA7FF;--info-soft:rgba(122,167,255,0.13);--shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 10px 30px rgba(0,0,0,0.35);color-scheme:dark}*{box-sizing:border-box}#root,body,html{height:100%}body{margin:0;font-family:var(--font);font-size:14.5px;line-height:1.5;color:var(--text);background:var(--page-glow),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}a{color:var(--primary-ink);text-decoration:none}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:26px}h3{font-size:16px}p{margin:0}img{max-width:100%}.muted{color:var(--muted)}.small{font-size:12.5px}.w-full{width:100%}.nowrap{white-space:nowrap}.center{text-align:center}.truncate{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-text{color:var(--critical);font-size:13px}.money{display:inline-flex;align-items:baseline;gap:.28em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rf-sign{display:inline-block;width:1.05em;height:.67em;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;align-self:center;flex-shrink:0}.rf-xl{font-size:44px;color:var(--primary-ink)}.cur-code{font-size:.78em;font-weight:600;color:var(--muted);letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:calc(var(--radius) - 4px);border:1px solid transparent;font:inherit;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .05s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-strong)}.btn-ghost{background:var(--card);border-color:var(--line);color:var(--text)}.btn-ghost:hover{background:var(--hover)}.btn-danger{background:var(--critical-soft);color:var(--critical)}.btn-danger:hover{background:#F8D7D3}.btn-sm{height:34px;padding:0 12px;font-size:13.5px}.btn-lg{height:50px;padding:0 24px;font-size:16px}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:var(--text-2);border-radius:10px;cursor:pointer}.icon-btn:hover{background:var(--hover);color:var(--text)}.link-btn{border:0;background:none;color:var(--primary-ink);font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0}.link-btn.danger{color:var(--critical);font-size:13px}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--sidebar);border-right:1px solid var(--line);z-index:40;transition:transform .2s ease}.sidebar,.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand{padding:22px 22px 14px;gap:8px}.portal-tag{align-self:flex-start;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:99px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:4px 14px 14px}.nav-group{margin-top:14px}.nav-section{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 12px 6px}.nav-link{display:flex;align-items:center;gap:14px;padding:10px 12px;margin:2px 0;border-radius:calc(var(--radius) - 2px);color:var(--text-2);font-weight:450;font-size:14.5px;transition:background .15s,color .15s}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.nav-link.active svg{color:var(--primary-ink)}.sidebar-foot{padding:12px 14px 18px;border-top:1px solid var(--line)}.nav-portal{color:var(--accent)}.sidebar-scrim{display:none}.main{flex:1 1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:68px;gap:14px;padding:0 32px;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar,.topbar-title{display:flex;align-items:center}.topbar-title{flex:1 1;gap:8px;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:10px}.menu-btn{display:none}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:99px;background:var(--card);border:1px solid var(--line)}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-meta strong{font-size:13px;font-weight:600}.user-meta small{font-size:11.5px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary-strong);display:grid;place-items:center;font-size:12.5px;font-weight:600;flex-shrink:0}.avatar.sm{width:32px;height:32px;font-size:12px}.content{flex:1 1;padding:28px 32px 40px;max-width:1440px;width:100%}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--text)}.logo-mark{width:36px;height:36px;border-radius:11px;background:var(--primary);display:grid;place-items:center}.logo-mark svg{width:22px;height:22px}.logo-text{font-weight:700;font-size:18px;letter-spacing:-.02em}.logo-img{height:38px;width:auto;max-width:180px;object-fit:contain}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head h1{display:flex;align-items:center;gap:12px}.page-head p{margin-top:4px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.back-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;margin-bottom:6px}.list-summary{margin:-12px 0 16px;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;margin-bottom:20px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px 0}.card-head p{margin-top:2px}.card-actions{display:flex;gap:8px;align-items:center;color:var(--muted);white-space:nowrap;flex-shrink:0}.card-body{padding:16px 22px 22px;display:flex;flex-direction:column;gap:14px}.card>div:not(.card-body){padding-top:12px}.sub-head{font-size:13px;font-weight:600;margin-top:6px}.segmented{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:3px}.segmented button{border:0;background:none;font:inherit;font-weight:500;padding:6px 12px;border-radius:7px;color:var(--muted);cursor:pointer}.segmented button.active{background:var(--primary-soft);color:var(--primary-strong)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;gap:10px;color:var(--text-2);font-weight:500}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.tone-primary{background:var(--primary-soft);color:var(--primary-ink)}.tone-info{background:var(--info-soft);color:var(--info)}.tone-critical{background:var(--critical-soft);color:var(--critical)}.tone-accent{background:var(--accent-soft);color:var(--accent)}.stat-value{font-size:26px;font-weight:650;letter-spacing:-.02em;margin-top:6px}.count-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.count-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:2px;color:var(--text);transition:border-color .15s,transform .15s}.count-card svg{color:var(--primary-ink);margin-bottom:6px}.count-card strong{font-size:22px;font-weight:650}.count-card span{font-size:12.5px;color:var(--muted);line-height:1.3}.count-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));transform:translateY(-1px)}.count-card.tone-critical{background:var(--card)}.count-card.tone-critical strong,.count-card.tone-critical svg{color:var(--critical)}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0 20px;gap:0 20px}.span-2{grid-column:span 2}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--text-2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i,.chart-tip i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-box{margin:0 -8px}.chart-tip{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 6px 24px rgba(0,0,0,.08);font-size:13px;display:flex;flex-direction:column;gap:4px;min-width:190px}.chart-tip div{display:flex;align-items:center;gap:6px}.chart-tip .money{margin-left:auto;font-weight:600}.tip-net{border-top:1px solid var(--line);padding-top:4px;color:var(--muted)}.status-meter{display:flex;gap:2px;height:12px;border-radius:6px;overflow:hidden;background:var(--hover)}.seg{display:block;min-width:4px}.seg-paid{background:var(--good)}.seg-partial{background:#E3A008}.seg-unpaid{background:#9AA5A2}.seg-overdue{background:var(--critical)}.status-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 16px;gap:8px 16px}.status-list li{display:flex;align-items:center;gap:8px}.status-list strong{margin-left:auto}.payment-list,.related-list,.reminder-list,.top-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.top-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:13.5px}.top-list li:last-child{border:0}.reminder-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.reminder-list li:last-child{border:0}.reminder-list li>div:first-child{display:flex;flex-direction:column}.reminder-right{display:flex;align-items:center;gap:10px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;font-size:12.5px;color:var(--muted);padding:12px 16px;white-space:nowrap;background:color-mix(in srgb,var(--bg) 50%,white)}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:13px 16px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .num{text-align:right}.row-link{cursor:pointer}.row-link:hover td{background:var(--hover)}.row-actions{text-align:right;white-space:nowrap}.cell-person{gap:10px}.cell-person,.list-toolbar{display:flex;align-items:center}.list-toolbar{gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 12px;height:38px;min-width:260px;flex:0 1 340px;color:var(--muted);background:var(--card)}.search input{border:0;outline:0;font:inherit;flex:1 1;background:transparent;color:var(--text)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--card);padding:6px 12px;border-radius:99px;font:inherit;font-size:13px;text-transform:capitalize;color:var(--text-2);cursor:pointer}.chip:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.chip.active{background:var(--primary-soft);border-color:transparent;color:var(--primary-strong);font-weight:500}.chip-sm{padding:3px 9px;font-size:12px;text-transform:none}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:99px;font-size:12px;font-weight:500;text-transform:capitalize;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-critical{background:var(--critical-soft);color:var(--critical)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--hover);color:var(--text-2)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:500;color:var(--text-2)}.field-hint{font-size:12px;color:var(--muted);display:block}.input{width:100%;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s}textarea.input{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}select.input{padding-right:8px}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input:disabled{background:var(--hover);color:var(--muted)}.input-wrap{position:relative;display:block}.input.has-action{padding-right:44px}.input-action{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:32px;display:grid;place-items:center;border:0;background:none;color:var(--muted);border-radius:8px;cursor:pointer}.input-action:hover{color:var(--text);background:var(--hover)}.phone-input{display:flex;align-items:stretch}.phone-prefix{display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:var(--hover);color:var(--text-2);font-weight:600}.phone-input .input,.phone-prefix{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.phone-input .input{border-radius:0 10px 10px 0;letter-spacing:.04em}.field-error .input{border-color:var(--critical)}.field-error .field-hint{color:var(--critical)}.test-sms{align-items:flex-end}.test-sms .field{flex:1 1}.auth-logo{display:flex;justify-content:center;margin-bottom:4px}.auth-logo img{max-height:84px;max-width:220px;object-fit:contain}.auto-white{filter:brightness(0) invert(1)}.item-picker{position:relative}.ip-menu{position:absolute;left:-6px;top:calc(100% + 6px);z-index:60;width:min(380px,80vw);max-height:300px;overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 38px rgba(20,22,43,.16);animation:pop .14s ease-out}:root[data-theme=dark] .ip-menu{box-shadow:0 16px 40px rgba(0,0,0,.55)}.ip-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.ip-option.active{background:var(--primary-soft)}.ip-option.active strong{color:var(--primary-ink)}.ip-text{display:flex;flex-direction:column;min-width:0}.ip-text strong{font-weight:600;font-size:13.5px}.ip-price small,.ip-text small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ip-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ip-empty{padding:10px;color:var(--muted);font-size:12.5px}.c-section,.items-row,.items-table{overflow:visible}.public-doc{max-width:880px;margin:0 auto;padding:24px 16px 48px}.public-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.public-bar h1{font-size:22px}.public-bar p{gap:6px;flex-wrap:wrap;margin-top:4px}.public-actions,.public-bar p{display:flex;align-items:center}.public-actions{gap:8px}.public-empty{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--muted)}.public-empty h1{color:var(--text);font-size:22px}@media screen and (max-width:560px){.public-bar{flex-direction:column;align-items:stretch}.public-actions .btn-primary{flex:1 1}}@media print{.public-doc{max-width:none;padding:0;margin:0}}.count-card,.dashboard .card,.feature,.stat,.tile{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard .card:hover,.stat:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 8px 24px rgba(20,22,43,.08)}.count-card:hover,.tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 10px 26px rgba(20,22,43,.1)}.count-card:hover svg,.stat:hover .stat-icon,.tile:hover svg{transform:scale(1.08)}.count-card svg,.stat-icon,.tile svg{transition:transform .18s ease}:root[data-theme=dark] .count-card:hover,:root[data-theme=dark] .dashboard .card:hover,:root[data-theme=dark] .stat:hover,:root[data-theme=dark] .tile:hover{box-shadow:0 10px 28px rgba(0,0,0,.45),0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.btn{transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s,filter .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 40%,var(--line));color:var(--primary-ink)}.nav-link{transition:background .15s,color .15s,transform .15s}.nav-link:hover:not(.active){transform:translateX(2px)}.chip{transition:border-color .15s,background .15s,color .15s}.chip:hover:not(.active){color:var(--primary-ink)}@media (prefers-reduced-motion:reduce){.btn,.count-card,.count-card svg,.dashboard .card,.nav-link,.stat,.stat-icon,.tile,.tile svg{transition:none}.btn:hover,.count-card:hover,.dashboard .card:hover,.nav-link:hover,.stat:hover,.tile:hover{transform:none}}.new-customer-btn{align-self:flex-start}.auth-logo .logo-mark{width:64px;height:64px;border-radius:18px}.auth-logo .logo-mark svg{width:36px;height:36px}.auth-card h1{margin-top:4px}.auth-card h1,.auth-card>p.muted{text-align:center}.auth-link{align-self:flex-end;border:0;background:none;color:var(--primary-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:0;margin-top:-8px}.auth-link.center{align-self:center;margin-top:0}.notice{font-size:13px;padding:10px 12px;border-radius:10px;background:var(--info-soft);color:var(--info)}.input-sm{height:34px;font-size:13.5px;padding:0 10px}.input.num{text-align:right}.input.strong{font-weight:600}.muted-input{color:var(--text-2)}.narrow{max-width:80px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}input[type=range]{accent-color:var(--primary);width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.toggle-row.is-disabled{opacity:.6;cursor:not-allowed}.toggle-label{font-weight:500;display:block}.switch{width:44px;height:26px;border-radius:99px;border:0;background:#D4D9D7;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}.switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}.switch.on{background:var(--primary)}.switch.on span{transform:translateX(18px)}.switch:disabled{cursor:not-allowed}.radio-card{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.radio-card input{margin-top:3px}.radio-card span{display:flex;flex-direction:column;gap:2px}.radio-card small{color:var(--muted);font-size:12.5px}.radio-card.active{border-color:var(--primary);background:var(--primary-soft)}.gst-modes{display:flex;flex-direction:column;gap:8px}.upload{display:flex;align-items:center;gap:14px;border:1px dashed var(--line);border-radius:12px;padding:12px}.upload img{max-height:64px;max-width:180px;object-fit:contain}.upload-square img{max-height:48px}.upload-actions{margin-left:auto}.color-input,.upload-actions{display:flex;gap:8px}.color-input input[type=color]{width:44px;height:40px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}.banner{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:12px;margin-bottom:18px;font-size:13.5px}.banner-info{background:var(--info-soft);color:var(--info)}.banner-warn{background:var(--warning-soft);color:var(--warning);margin:12px 32px 0}.banner-error{background:var(--critical-soft);color:var(--critical)}.banner-good{background:var(--good-soft);color:var(--good)}.boot-splash{min-height:100vh;background:var(--page-glow),var(--bg)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:8px;border:0;background:none;font:inherit;font-weight:500;padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--primary-strong);border-bottom-color:var(--primary)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 20px;gap:0 20px;align-items:start}.option-list,.option-row{display:flex;flex-direction:column;gap:12px}.option-row{border:1px solid var(--line);border-radius:12px;padding:14px}.link-row{display:flex;gap:8px;align-items:center}.link-row.indent{padding-left:14px}.gst-example{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:8px;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.gst-example span{display:flex;flex-direction:column;color:var(--muted)}.gst-example .money{color:var(--text);font-weight:500}.currency-hero{display:flex;align-items:center;gap:16px;padding:14px;border-radius:12px;background:var(--primary-soft)}.currency-hero div{display:flex;flex-direction:column}.sig-pad{position:relative;border:1px dashed var(--line);border-radius:12px;background:repeating-linear-gradient(0deg,transparent 0 34px,var(--hover) 34px 35px)}.sig-pad canvas{width:100%;height:140px;display:block;touch-action:none;cursor:crosshair}.sig-hint{position:absolute;left:14px;top:10px;pointer-events:none}.sig-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px;border-top:1px dashed var(--line)}.editor-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:0 20px;gap:0 20px;align-items:start}.lines-table td{vertical-align:top}.lines-table td:first-child{display:flex;flex-direction:column;gap:6px;min-width:240px}.lines-table .num{min-width:90px}.lines-foot{padding:12px 16px;border-top:1px solid var(--line)}.totals{margin:0;display:flex;flex-direction:column}.totals div{display:flex;justify-content:space-between;gap:12px;padding:7px 0}.totals dt{color:var(--text-2)}.totals dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals .grand{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;font-weight:650;font-size:16px}.totals .grand dt{color:var(--text)}.totals .grand small{font-weight:400;color:var(--muted);font-size:12px}.totals.compact div{padding:4px 0}.doc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px;align-items:start}.doc-side .card{margin-bottom:16px}.action-list{display:flex;flex-direction:column;gap:8px}.action-list .btn{justify-content:flex-start}.payment-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line)}.payment-list li>div{display:flex;flex-direction:column}.related-list li{padding:4px 0}.paper{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 38px;color:#1b2421;font-size:12.5px;line-height:1.4}.paper h6{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-weight:600}.paper-head{display:flex;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--primary)}.paper-company{display:flex;flex-direction:column;gap:6px}.paper-logo{max-height:56px;max-width:200px;object-fit:contain;align-self:flex-start}.paper-name{font-size:20px;font-weight:700;color:var(--primary-ink)}.paper-addr{color:var(--text-2);font-size:12.5px}.paper-addr,.paper-title{display:flex;flex-direction:column}.paper-title{text-align:right;align-items:flex-end;gap:4px}.paper-title h2{font-size:28px;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-ink);font-weight:700}.paper-number{font-weight:600}.paper-gst-tag{font-size:11.5px;padding:3px 8px;border-radius:99px;background:var(--primary-soft);color:var(--primary-strong)}.paper-meta{display:flex;justify-content:space-between;gap:24px;padding:14px 0}.paper-meta>div{display:flex;flex-direction:column}.paper-meta dl{margin:0;display:grid;grid-template-columns:auto auto;grid-gap:4px 18px;gap:4px 18px;align-content:start}.paper-meta dl div{display:contents}.paper-meta dt{color:var(--muted)}.paper-meta dd{margin:0;font-weight:500;text-align:right}.paper-lines{width:100%;border-collapse:collapse}.paper-lines th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:8px;background:var(--primary-soft)}.paper-lines th:first-child{border-radius:8px 0 0 8px;width:32px}.paper-lines th:last-child{border-radius:0 8px 8px 0}.paper-lines td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.paper-lines td small{display:block;color:var(--muted);font-size:11.5px;line-height:1.3}.paper-lines .num{text-align:right;white-space:nowrap}.paper-totals{display:flex;justify-content:flex-end;padding-top:8px}.paper .totals div{padding:4px 0}.paper .totals .grand{padding-top:7px;font-size:14px}.paper-totals .totals{width:320px}.paper-pay{margin-top:14px;padding:12px 14px;border-radius:12px;background:#F8FAF9}.pay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.pay-grid div{display:flex;flex-direction:column;font-size:12.5px}.paper-pay p,.pay-grid span{color:var(--text-2)}.paper-pay p{font-size:12.5px}.paper-notes{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:14px}.paper-notes p{white-space:pre-line;color:var(--text-2);font-size:12.5px}.paper-end{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:10px;align-items:end}.paper-sign{display:flex;justify-content:flex-end;gap:24px}.paper-sign>div{display:flex;flex-direction:column;min-width:200px}.paper-sign img{max-height:56px;max-width:200px;object-fit:contain;margin-bottom:-6px}.sign-line{border-top:1px solid #9aa5a2;display:block;height:0;margin:auto 0 6px;padding-top:0}.paper-sign>div:not(:has(img)) .sign-line{margin-top:40px}.paper-sign span:last-child{color:var(--muted);font-size:12px}.composer{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow)}.composer-head{justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--line)}.composer-head,.composer-title{display:flex;align-items:center}.composer-title{gap:10px}.composer-title h1{font-size:18px}.composer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-dark{background:#17201E;color:#fff}.btn-dark:hover{background:#000}.icon-btn.bordered{width:40px;height:40px;border:1px solid var(--line);background:var(--card)}.split-btn{position:relative;display:inline-flex}.split-btn>.btn:first-child{border-radius:calc(var(--radius) - 4px) 0 0 calc(var(--radius) - 4px)}.split-caret{border-radius:0 calc(var(--radius) - 4px) calc(var(--radius) - 4px) 0!important;padding:0 12px;border-left:1px solid rgba(255,255,255,.18)}.menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.12);padding:6px;min-width:240px;z-index:50;animation:pop .15s}.menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--text)}.menu button:hover{background:var(--hover)}.composer-body{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.composer-form{border-right:1px solid var(--line);min-width:0;container-type:inline-size}.compose-banner{margin:16px 22px 0}.compose-banner .icon-btn{margin-left:auto;width:28px;height:28px;color:inherit}.c-section{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.c-section:last-child{border-bottom:0}.c-section h4{font-size:13.5px;font-weight:500;color:var(--text-2)}.c-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.c-grid .span-2{grid-column:span 2}.fbox{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:text;transition:border-color .15s,box-shadow .15s;min-width:0}.fbox:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.fbox-main{display:flex;flex-direction:column;flex:1 1;min-width:0;gap:1px}.fbox-label{font-size:11.5px;color:var(--muted)}.fbox-value{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fbox-input{border:0;outline:0;padding:0;background:transparent;font:inherit;font-weight:500;color:var(--text);width:100%;min-width:0}textarea.fbox-input{resize:vertical;font-weight:400;line-height:1.5}.fbox-icon{color:var(--text-2);display:grid;pointer-events:none}.fbox input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;bottom:0;width:48px;height:auto;opacity:0;cursor:pointer}.fbox-select{cursor:pointer;padding-right:36px}.fbox-select:after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:1.6px solid var(--text-2);border-bottom:1.6px solid var(--text-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}.fbox-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit}.customer-box{min-height:60px}.cust-avatar{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}.gen-btn{flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:5px 10px;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.gen-btn:hover{background:color-mix(in srgb,var(--accent) 20%,white)}.seg-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;background:var(--hover);border-radius:12px}.seg-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;font:inherit;font-size:13.5px;color:var(--muted);padding:9px 8px;border-radius:9px;cursor:pointer;white-space:nowrap}.seg-tabs button.active{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}.inline-note{display:flex;align-items:center;gap:8px;font-size:13px}.inline-note.warn svg{color:var(--accent);flex-shrink:0}.items-table{display:flex;flex-direction:column}.items-head,.items-row{display:grid;grid-template-columns:16px minmax(0,1fr) 56px 92px 60px 96px 34px;grid-gap:8px;gap:8px;align-items:center}.items-table.no-price .items-head,.items-table.no-price .items-row{grid-template-columns:16px minmax(0,1fr) 72px 34px}.items-head{background:var(--hover);border-radius:10px;padding:9px 8px;font-size:12.5px;color:var(--text-2)}.items-row{padding:8px;border-radius:10px}.items-row:hover{background:color-mix(in srgb,var(--hover) 60%,transparent)}.items-head .num,.items-row .num{text-align:right}.drag{color:#B5BDBA;cursor:-webkit-grab;cursor:grab;display:grid;place-items:center}.drag:active{cursor:-webkit-grabbing;cursor:grabbing}.item-cell{display:flex;align-items:center;gap:10px;min-width:0}.item-tile{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.tile-violet{background:#EFEBFD;color:#6D4FD8}.tile-green{background:#E5F5EC;color:#1E8E4E}.tile-orange{background:#FDEEE6;color:#D0602F}.tile-blue{background:#E7EFFA;color:#2563B8}.tile-pink{background:#FCE8F1;color:#C23A78}.tile-teal{background:var(--primary-soft);color:var(--primary-ink)}.item-inputs{display:flex;flex-direction:column;min-width:0;flex:1 1}.bare{border:0;outline:0;background:transparent;font:inherit;color:var(--text);padding:2px 4px;margin-left:-4px;border-radius:6px;width:100%;min-width:0}.bare.strong{font-weight:600}.bare:focus{background:var(--hover)}.pill{height:34px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--card);font:inherit;font-size:13.5px;text-align:center;padding:0 6px;color:var(--text);-moz-appearance:textfield}.pill::-webkit-inner-spin-button,.pill::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pill:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.item-amount{font-weight:500;font-size:13.5px}.add-item{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;width:100%;border:1px solid var(--line);background:var(--card);border-radius:12px;font:inherit;font-weight:500;cursor:pointer;color:var(--text)}.add-item:hover{background:var(--hover)}.totals-row{margin-top:4px;align-items:center}.mini-total{display:flex;flex-direction:column;align-items:flex-end}.mini-total-value{font-size:22px;font-weight:650;letter-spacing:-.02em}.c-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.composer-preview{background:color-mix(in srgb,var(--bg) 70%,white);border-radius:0 0 calc(var(--radius) + 4px) 0;padding:28px;min-width:0}.preview-scale{position:-webkit-sticky;position:sticky;top:92px}.composer-preview .paper,.preview-modal .paper{font-size:12.5px;padding:30px 28px}.composer-preview .paper-title h2{font-size:20px}.preview-modal{background:var(--bg);padding:16px;border-radius:12px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.template-card{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px;font:inherit;cursor:pointer}.template-card.active{border-color:var(--primary);background:var(--primary-soft)}.tpl-thumb{height:96px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.tpl-thumb i{display:block;height:6px;border-radius:3px;background:#E3E7E5}.tpl-thumb i:first-child{width:45%;height:8px}.tpl-thumb i:nth-child(2){height:12px}.tpl-thumb i:last-child{width:40%;align-self:flex-end;height:10px}.tpl-modern i:first-child,.tpl-modern i:nth-child(2){background:#17201E}.tpl-modern i:last-child{background:var(--accent-soft)}.tpl-classic i:first-child,.tpl-classic i:nth-child(2){background:var(--primary);opacity:.8}.tpl-classic i:last-child{background:var(--primary-soft)}.tpl-minimal i{background:#D6D6D6}.tpl-minimal i:nth-child(2){background:none;border-bottom:1.5px solid #111;border-radius:0}.design-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:13.5px}.paper-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.paper-mark{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:600;font-size:16px;flex-shrink:0}.paper-modern .paper-head{border-bottom:1px solid var(--line)}.paper-modern .paper-name{color:var(--text);font-weight:600;font-size:19px}.paper-modern .paper-title h2{color:var(--text);font-weight:500;font-size:22px;letter-spacing:.02em}.paper-modern .paper-number{color:var(--accent);font-size:12px}.paper-modern .paper-number:before{content:"#"}.paper-modern .paper-lines th{background:#17201E;color:#fff}.paper-modern .grand-total{background:var(--accent-soft);border-top:0!important;border-radius:8px;padding:10px 12px!important;margin:8px -12px 0}.paper-classic .paper-mark{border-radius:12px}.paper-minimal .paper-head{border-bottom:1.5px solid #111}.paper-minimal .paper-name,.paper-minimal .paper-title h2{color:#111}.paper-minimal .paper-mark{background:#111}.paper-minimal .paper-lines th{background:none;color:#111;border-bottom:1.5px solid #111;border-radius:0!important}.paper-minimal .paper-gst-tag{background:none;border:1px solid #999;color:#333}.paper-minimal .paper-pay{background:none;border:1px solid var(--line)}.msg-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:0 20px;gap:0 20px;align-items:start}.recipient-head{display:flex;gap:16px}.recipient-list{list-style:none;margin:0;padding:0;max-height:380px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}.recipient-list li label{display:flex;gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer}.recipient-list li:last-child label{border:0}.recipient-list li span{display:flex;flex-direction:column}.var-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.msg-preview{background:var(--bg);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.msg-preview p{white-space:pre-line;font-size:13.5px}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:6px;color:var(--text);box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.tile svg{color:var(--primary-ink);margin-bottom:8px}.tile:hover{border-color:var(--primary);transform:translateY(-2px)}.presets{display:flex;flex-wrap:wrap;gap:8px}.preset{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:5px 12px 5px 6px;font:inherit;font-size:13px;cursor:pointer}.preset span{width:16px;height:16px;border-radius:50%;display:inline-block}.preset span+span{margin-left:-8px;margin-right:4px;border:2px solid var(--card)}.preset.active{border-color:var(--primary)}.brand-preview{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-height:220px;background:var(--bg)}.bp-side{background:var(--sidebar);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.bp-side .logo{margin:0 8px 14px}.bp-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:calc(var(--radius) - 2px);color:var(--text-2)}.bp-link.active{background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.bp-main{padding:20px;display:flex;flex-direction:column;gap:16px}.bp-main .stat{max-width:280px}.bp-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.perm-table td,.perm-table th{text-align:center}.perm-table td:first-child,.perm-table th:first-child{text-align:left}.perm-table .input{min-width:110px}.footer-preview{border-top:1px solid var(--line);overflow:hidden}.modal-backdrop{position:fixed;inset:0;background:rgba(15,22,20,.35);display:grid;place-items:center;z-index:100;padding:16px;animation:fade .15s}.modal{background:var(--card);border-radius:calc(var(--radius) + 4px);width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.18);animation:pop .18s}.modal-wide{width:min(820px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--line)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.empty{text-align:center;padding:48px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon{width:72px;height:72px;border-radius:20px;background:var(--primary-soft);color:var(--primary-ink);display:grid;place-items:center;margin-bottom:6px}.toaster{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:200}.toast{background:#17201E;color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:pop .2s}.footer-compact{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:18px 32px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.footer-compact nav{display:flex;gap:16px;flex-wrap:wrap;flex:1 1}.footer-compact a{color:var(--text-2)}.footer-compact a:hover{color:var(--primary-ink)}.auth{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 500px at 50% -10%,var(--primary-soft),transparent 70%),var(--bg)}.auth-card{width:min(420px,100%);background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:36px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 60px rgba(0,0,0,.06)}.auth-card h1{margin-top:10px;font-size:24px}.demo-accounts{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line)}.demo-accounts .chip{text-align:left;text-transform:none;border-radius:10px}.m-only{display:none}.pill-wrap{display:block;min-width:0}.main{overflow-x:clip}.table.stack td.m-right,.table.stack td.m-sub,.table.stack td.m-title,.table.stack td.num{white-space:nowrap}@media screen and (max-width:1360px){.table td,.table th{padding-left:12px;padding-right:12px}}.reminder-list li{flex-wrap:wrap;row-gap:6px}.reminder-list strong,.reminder-right{white-space:nowrap}.reminder-right{margin-left:auto}.paper-gst-tag,.paper-number{white-space:nowrap}.composer-preview{container-type:inline-size}@container (max-width: 560px){.paper-head{flex-direction:column;gap:16px}.paper-title{align-items:flex-start;text-align:left}.paper-meta{flex-direction:column;gap:14px}.paper-meta dd{text-align:left}}@media screen and (max-width:1360px){.count-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-value{font-size:23px}}@media (min-width:861px){.shell.collapsed{--sidebar-w:88px}.shell.collapsed .sidebar-brand{align-items:center;padding:20px 10px 8px}.shell.collapsed .logo-text,.shell.collapsed .nav-link span,.shell.collapsed .nav-section,.shell.collapsed .portal-tag{display:none}.shell.collapsed .sidebar-nav{padding:4px 14px}.shell.collapsed .nav-group{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}.shell.collapsed .nav-group:first-child{border-top:0}.shell.collapsed .nav-link{justify-content:center;padding:12px 0}.shell.collapsed .sidebar-foot{padding:10px 14px 16px}}@media screen and (max-width:1180px) and (min-width:861px){.content,.topbar{padding-left:24px;padding-right:24px}}@media screen and (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.editor-grid,.msg-grid,.settings-grid{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}.doc-layout{grid-template-columns:minmax(0,1fr)}.doc-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 16px;gap:0 16px;align-items:start}.composer-body{grid-template-columns:minmax(0,1fr)}.composer-form{border-right:0}.composer-preview{display:none}}@media screen and (max-width:860px){.sidebar{transform:translateX(-100%);box-shadow:0 0 40px rgba(0,0,0,.15);width:min(300px,86vw)}.nav-open .sidebar{transform:none}.nav-open .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:35}.main{margin-left:0}.menu-btn{display:inline-grid}.topbar{padding:0 16px;height:60px;gap:8px}.topbar-title{min-width:0}.topbar-title>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:20px 16px 32px}.footer-compact{padding:16px;flex-direction:column;align-items:flex-start;gap:8px}.banner-warn{margin:12px 16px 0}.hide-sm{display:none!important}.paper{padding:24px 18px}.paper-head,.paper-meta{flex-direction:column}.paper-title{align-items:flex-start}.paper-meta dd,.paper-title{text-align:left}.paper-notes{grid-template-columns:1fr}.paper-sign{flex-direction:column;gap:24px}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-preview{grid-template-columns:1fr}.bp-side{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.preview-scale{position:static}.composer{border-radius:var(--radius)}.composer-head{padding:14px 16px}.c-section{padding:16px}.table.stack thead{display:none}.table.stack,.table.stack tbody{display:block}.table.stack tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:row dense;grid-column-gap:12px;column-gap:12px;grid-row-gap:3px;row-gap:3px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center}.table.stack tr:last-child{border-bottom:0}.table.stack td{display:block;padding:0;border:0;text-align:left;min-width:0}.table.stack td.m-full,.table.stack td.m-left,.table.stack td.m-title{white-space:normal}.table.stack td.m-left{grid-column:1;overflow:hidden;text-overflow:ellipsis}.table.stack td.m-right{grid-column:2;text-align:right;justify-self:end}.table.stack td.m-full{grid-column:1/-1;max-width:none;color:var(--text-2);font-size:13px}.table.stack td.m-title{font-weight:600}.table.stack td.m-sub{font-size:12.5px;color:var(--muted)}.table.stack td.m-sub .money{color:var(--text-2)}.table.stack td.m-strong{font-weight:650;font-size:15px}.table.stack td.m-hide{display:none}.table.stack td.m-actions{grid-column:2;display:flex;justify-content:flex-end;gap:2px;margin-right:-8px}.table.stack td[data-m]:before{content:attr(data-m);color:var(--muted)}.table.stack .row-link:hover td{background:none}.table.stack .row-link:active{background:var(--hover)}.page-head{align-items:stretch;flex-direction:column;margin-bottom:18px}.page-actions{width:100%}.page-actions>.btn,.page-actions>a.btn{flex:1 1 auto}.list-summary{margin-top:-8px}.list-toolbar{padding:12px}.search{min-width:0;flex:1 1 100%}.list-toolbar .chips,.msg-grid .chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px;padding:0 12px 2px;scrollbar-width:none}}@media screen and (max-width:860px){.list-toolbar .chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0}.doc-side{grid-template-columns:minmax(0,1fr)}.doc-view .page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.composer-head{flex-direction:column;align-items:stretch}.composer-actions{display:grid;grid-template-columns:auto minmax(0,1fr)}.split-btn{min-width:0}.split-btn>.btn:first-child{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.menu{left:0;right:0;min-width:0}.modal-backdrop{place-items:end center;padding:0}.modal{max-height:92vh;border-radius:20px 20px 0 0;animation:sheet .22s ease-out}.modal,.modal-wide{width:100%}.modal-foot .btn{flex:1 1}.toaster{bottom:16px;width:calc(100% - 32px)}.toast{text-align:center}}@keyframes sheet{0%{transform:translateY(40px);opacity:0}}@media (min-width:561px){@container (max-width: 660px){.items-head{display:none}.items-table:not(.no-price) .items-row{grid-template-columns:16px repeat(4,minmax(0,1fr)) 34px;row-gap:6px;padding:10px 8px;border-bottom:1px solid var(--line);border-radius:0}.items-table:not(.no-price) .items-row .drag{grid-row:1/3;grid-column:1}.items-table:not(.no-price) .items-row .item-cell{grid-column:2/6;grid-row:1}.items-table:not(.no-price) .items-row .item-del{grid-column:6;grid-row:1}.items-table:not(.no-price) .items-row .pill-wrap{grid-row:2}.items-table:not(.no-price) .items-row .item-amount{grid-row:2;grid-column:5;align-self:end;padding-bottom:8px}.items-table:not(.no-price) .m-only{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px;text-align:left}}}@media screen and (max-width:560px){h1{font-size:22px}.page-head h1{flex-wrap:wrap}.card-head{padding:16px 16px 0}.card-body{padding:14px 16px 18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.stat{padding:14px}.stat-top{font-size:12.5px;gap:8px}.stat-icon{width:34px;height:34px;border-radius:10px}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:18px;margin-top:2px}.count-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.count-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:10px;column-gap:10px;align-items:center;padding:12px}.count-card svg{grid-row:1/3;margin:0}.count-card strong{font-size:18px;line-height:1.1}.count-card span{font-size:12px}.dashboard .page-actions{flex-wrap:nowrap}.segmented,.segmented button{flex:1 1}.chart-legend{gap:6px 14px;font-size:12.5px}.status-list{grid-template-columns:1fr}.reminder-list li{flex-wrap:wrap}.form-grid,.form-grid.three{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.tabs{margin:0 -16px 18px;padding:0 12px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.upload{flex-wrap:wrap}.upload-actions{margin-left:0}.gst-example{grid-template-columns:1fr 1fr}.link-row{flex-wrap:wrap}.link-row .input{flex:1 1 140px}.link-row.indent{padding-left:0}.tile-grid{gap:10px}.tile{padding:16px}.auth-card{padding:24px 20px}.paper{padding:20px 14px;font-size:12.5px}.paper-name{font-size:16px!important}.paper-mark{width:40px;height:40px;font-size:14px}.paper-title h2{font-size:20px!important}.paper-lines td:first-child,.paper-lines th:first-child{display:none}.paper-lines th{padding:8px 6px;font-size:10px}.paper-lines th:nth-child(2){border-radius:8px 0 0 8px}.paper-lines td{padding:10px 6px}.paper-totals .totals{width:100%}.paper-modern .grand-total{margin:8px 0 0}.pay-grid{grid-template-columns:1fr 1fr}.composer-actions{grid-template-columns:minmax(0,1fr)}.composer-actions .split-btn{order:-1}.c-grid{grid-template-columns:minmax(0,1fr)}.c-grid .span-2{grid-column:auto}.seg-tabs{grid-template-columns:minmax(0,1fr)}.seg-tabs button{justify-content:flex-start;padding:10px 12px}.items-head{display:none}.items-row,.items-table.no-price .items-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.items-table.no-price .items-row{grid-template-columns:minmax(0,1fr)}.items-row .drag{display:none}.items-row .item-cell{grid-column:1/-1;padding-right:34px}.items-row .item-del{position:absolute;top:10px;right:6px}.items-row .item-amount{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding-top:8px}.m-only{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px;text-align:left}.item-amount .m-only{margin:0;font-size:13px}.totals-row{grid-template-columns:minmax(0,1fr)!important}.mini-total{flex-direction:row;justify-content:space-between;align-items:center}.c-foot{flex-direction:column;align-items:stretch}.template-grid{grid-template-columns:1fr}}@media screen and (max-width:380px){.count-grid,.stat-grid{grid-template-columns:minmax(0,1fr)}.pay-grid{grid-template-columns:1fr}.user-chip{padding:0;border:0;background:none}}.sidebar{transition:transform .2s ease,width .2s ease}.main{transition:margin-left .2s ease}.collapse-btn{position:absolute;top:26px;right:-15px;z-index:5;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);cursor:pointer;box-shadow:var(--shadow);transition:color .15s,box-shadow .15s,border-color .15s}.collapse-btn:hover{color:var(--primary-ink);border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:var(--glow)}@media screen and (max-width:860px){.collapse-btn{display:none}}.btn-primary{background:var(--gradient);color:#fff;box-shadow:none}.btn-primary:hover{filter:brightness(1.1);box-shadow:var(--glow)}.btn-primary:hover,.cust-avatar,.logo-mark,.paper-mark{background:var(--gradient)}.logo-mark{box-shadow:none}.nav-link.active{box-shadow:inset 3px 0 0 var(--primary)}.switch.on{background:var(--gradient)}.chip.active{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent)}.stat-icon.tone-primary{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.tone-good{background:var(--good-soft);color:var(--good)}.theme-btn{border:1px solid var(--line);background:var(--surface)}.theme-btn:hover{box-shadow:var(--glow);color:var(--primary-ink)}.auth-theme{position:fixed;top:16px;right:16px}.num-preview{font-size:12.5px;font-weight:600;color:var(--primary-ink);background:var(--primary-soft);padding:4px 10px;border-radius:99px}.pre-line{white-space:pre-line;color:var(--text-2)}.add-item,.btn-ghost,.chart-tip,.chip,.fbox,.icon-btn.bordered,.input,.menu,.modal,.pill,.preset,.search,.segmented,.template-card,.upload,.user-chip{background-color:var(--surface)}:root[data-theme=dark] .card,:root[data-theme=dark] .composer,:root[data-theme=dark] .count-card,:root[data-theme=dark] .feature,:root[data-theme=dark] .stat,:root[data-theme=dark] .tile{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 60%),var(--card);border-color:var(--line)}:root[data-theme=dark] .nav-link.active{background:color-mix(in srgb,var(--primary) 22%,transparent);color:#fff;box-shadow:inset 3px 0 0 var(--primary-ink)}:root[data-theme=dark] .nav-link.active svg{color:#fff}:root[data-theme=dark] .count-card:hover,:root[data-theme=dark] .tile:hover{box-shadow:var(--glow);border-color:color-mix(in srgb,var(--primary) 55%,transparent)}:root[data-theme=dark] .stat-icon{box-shadow:none}:root[data-theme=dark] .stat-icon.tone-primary{color:var(--primary-ink)}:root[data-theme=dark] .btn-primary{box-shadow:none}:root[data-theme=dark] .btn-dark{background:var(--gradient);box-shadow:none}:root[data-theme=dark] .btn-dark:hover{filter:brightness(1.15)}:root[data-theme=dark] .topbar{background:color-mix(in srgb,var(--bg) 70%,transparent)}:root[data-theme=dark] .table th{background:rgba(255,255,255,.02)}:root[data-theme=dark] .composer-preview{background:rgba(0,0,0,.18)}:root[data-theme=dark] .preview-modal{background:rgba(0,0,0,.25)}:root[data-theme=dark] .btn-danger:hover{background:rgba(248,113,113,.22)}:root[data-theme=dark] .toast{background:var(--surface);border:1px solid var(--line)}:root[data-theme=dark] .item-tile{filter:saturate(1.2) brightness(.9)}:root[data-theme=dark] .tile-blue,:root[data-theme=dark] .tile-green,:root[data-theme=dark] .tile-orange,:root[data-theme=dark] .tile-pink,:root[data-theme=dark] .tile-violet{background-color:rgba(255,255,255,.07)}:root[data-theme=dark] .auth{background:transparent}:root[data-theme=dark] .switch{background:rgba(255,255,255,.16)}:root[data-theme=dark] .sig-pad canvas{background:#fff;border-radius:12px 12px 0 0}:root[data-theme=dark] .upload img{background:#fff;border-radius:6px;padding:4px}.paper{display:flex;flex-direction:column;width:100%;max-width:210mm;margin:0 auto;aspect-ratio:210/297;--text:#14162B;--text-2:#464A66;--muted:#7C80A0;--line:#E6E8F2;--hover:#F0F1F8;--primary-soft:color-mix(in srgb,var(--primary) 9%,white);--primary-strong:color-mix(in srgb,var(--primary) 78%,black);--primary-ink:var(--primary);--accent-soft:color-mix(in srgb,var(--accent) 12%,white);color:var(--text);background:#fff}.paper-modern .paper-lines th{background:var(--secondary)}.sign-block{position:relative}.paper-stamp-row{align-self:start}.paper-stamp-row img{display:block;width:88px;height:88px;object-fit:contain;opacity:.92;mix-blend-mode:multiply}.print-btn .btn-ghost:first-child{gap:8px}.print-btn .split-caret{border-left:1px solid var(--line)}.menu-check{margin-left:auto;color:var(--primary-ink)}.pagination{justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}.pager,.pagination{display:flex;align-items:center}.pager{gap:4px}.pg-btn{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:box-shadow .15s,border-color .15s,color .15s}.pg-btn:hover:not(:disabled){color:var(--primary-ink);border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.pg-btn.active{background:var(--gradient);color:#fff;border-color:transparent}.pg-btn:disabled{opacity:.4;cursor:not-allowed}.pg-gap{padding:0 4px;color:var(--muted)}.bulk-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.bulk-grid>div{display:flex;flex-direction:column;gap:10px;min-width:0}.bulk-grid .search{min-width:0;flex:none}.bulk-side .form-grid{margin-top:6px}.bulk-total{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--primary-soft)}.bulk-total .strong{font-weight:700;font-size:16px}.design-toggles{display:flex;flex-direction:column;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.count-grid{grid-template-columns:repeat(9,minmax(0,1fr))}@media screen and (max-width:1360px){.count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media screen and (max-width:860px){.bulk-grid{grid-template-columns:minmax(0,1fr)}}@media screen and (max-width:560px){.count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.count-card:last-child:nth-child(odd){grid-column:span 2}.pagination{justify-content:center}}@media print{@page{size:A4 portrait;margin:0}body,html{background:#fff!important;color-scheme:light}.banner,.footer-compact,.modal-backdrop,.no-print,.sidebar,.sidebar-scrim,.toaster,.topbar{display:none!important}.content,.doc-layout,.doc-view,.main,.shell{display:block!important;margin:0!important;padding:0!important;max-width:none!important;width:auto!important;overflow:visible!important;background:none!important}.paper{width:210mm;min-height:296mm;max-width:none;aspect-ratio:auto;margin:0;padding:14mm 14mm 12mm;border:0;border-radius:0;box-shadow:none;font-size:12.5px}html[data-paper=a5] .paper{zoom:.7047}.paper{padding:10mm 12mm 9mm;font-size:11.5px}.paper-mark{width:40px;height:40px;font-size:14px}.paper-logo{max-height:46px}.paper-head{padding-bottom:14px;gap:16px}.paper-company{gap:6px}.paper-meta{padding:14px 0}.paper-lines th{padding:6px 8px}.paper-lines td{padding:5px 8px}.paper-totals{padding-top:8px}.paper .totals div{padding:4px 0}.paper .totals .grand{padding-top:7px;margin-top:2px;font-size:14px}.paper-modern .grand-total{padding:7px 12px!important;margin-top:6px}.paper-pay{margin-top:14px;padding:12px 14px}.pay-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.paper-notes{margin-top:14px;gap:18px}.paper-end{padding-top:8px}.paper-stamp-row img{width:80px;height:80px}.paper-sign img{max-height:56px}.paper-sign>div:not(:has(img)) .sign-line{margin-top:36px}.paper-lines tr,.paper-notes,.paper-pay,.paper-sign,.paper-totals{page-break-inside:avoid;break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}