/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.w-fit{width:fit-content}.w-full{width:100%}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.border{border-style:var(--tw-border-style);border-width:1px}.text-right{text-align:right}:root{--bg:#f5f7fa;--app-bg:#f5f7fa;--surface:#fff;--surface-soft:#eef1f5;--ink:#0e1116;--ink-2:#4d5663;--ink-3:#8993a3;--line:#e3e8ef;--line-soft:#eef2f7;--accent:#6886a8;--accent-strong:#486688;--accent-soft:#ecf1f7;--accent-tint:#6886a80f;--positive:#5b8c8a;--warning:#b8923a;--danger:#b06a72;--hero-grad:linear-gradient(180deg, #f5f7fa 0%, #fff 100%);--radius:14px;--radius-sm:8px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--background:220 33% 97%;--foreground:222 47% 11%;--card:0 0% 100%;--border:220 13% 91%;--primary:222 47% 11%;--muted:220 14% 46%;--text-primary:var(--ink);--text-secondary:var(--ink-2);--text-muted:var(--ink-3);--navy:var(--ink);--blue:var(--accent);--cyan:var(--accent-strong);--accent-soft-legacy:var(--accent-soft);--brand-gradient:linear-gradient(135deg, var(--ink) 0%, var(--accent) 100%)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--app-bg:#0f1117;--surface:#1a1e28;--surface-soft:#22272f;--ink:#e4e8ef;--ink-2:#97a1b0;--ink-3:#6a7585;--line:#2a3040;--line-soft:#1f2530;--accent:#7fa0c4;--accent-strong:#a3c0dd;--accent-soft:#7fa0c41f;--accent-tint:#7fa0c414;--positive:#6eb5b2;--warning:#d4a94a;--danger:#d48088;--hero-grad:linear-gradient(180deg, #13161e 0%, #1a1e28 100%)}*{box-sizing:border-box}html{background:var(--app-bg)}body{background:var(--app-bg);min-width:320px;color:var(--ink);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.num{font-variant-numeric:tabular-nums;letter-spacing:-.005em}.display{letter-spacing:-.022em;font-family:Inter Tight,Inter,sans-serif;font-weight:600}.page-shell{flex-direction:column;gap:24px;width:100%;max-width:1480px;margin:0 auto;padding:28px 32px 56px;display:flex}.app-root{background:var(--app-bg);color:var(--ink);min-height:100vh}.app-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(140%)blur(14px);backdrop-filter:saturate(140%)blur(14px);background:#ffffffd9;position:sticky;top:0}.header-inner{align-items:center;gap:16px;max-width:1480px;height:60px;margin:0 auto;padding:12px 32px;display:flex}.brand-lockup{letter-spacing:-.018em;color:var(--ink);align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:600;display:inline-flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.brand-lockup-custom{gap:0}.brand-logo-frame{align-items:center;min-width:0;max-width:180px;height:38px;display:inline-flex}.brand-logo-image{-o-object-fit:contain;object-fit:contain;width:auto;max-width:180px;max-height:38px;display:block}.brand-title{font-weight:700}.brand-subtitle{color:var(--ink-3);margin-left:4px;font-weight:500}.nav-row{align-items:center;gap:2px;margin-left:12px;display:flex}.nav-tab{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:7px 11px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.nav-tab:hover{color:var(--ink)}.nav-tab-active{background:var(--surface-soft);color:var(--ink);font-weight:600}.header-spacer{flex:1}.search-shell{background:var(--surface-soft);width:260px;height:36px;color:var(--ink-3);border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;transition:border-color .12s,background .12s;display:flex}.search-shell:focus-within{border-color:var(--line);background:#fff}.search-shell svg{flex:none}.search-shell input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:auto;font-size:13px}.search-shell input::placeholder{color:var(--ink-3)}.header-icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.header-icon-btn:hover{color:var(--ink);border-color:#cfd6e0}.mobile-menu-button,.mobile-search-button,.mobile-search-shell,.mobile-drawer-shell,.bottom-nav-bar,.fab-primary{display:none}.profile-button{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 4px;font-size:12.5px;font-weight:500;display:inline-flex}.profile-button .avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-size:10.5px;font-weight:700;display:inline-flex}.avatar-menu-wrap{position:relative}.avatar-menu{z-index:120;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:4px;min-width:210px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.avatar-menu button{border-radius:var(--radius-sm);color:var(--ink-2);text-align:left;background:0 0;border:0;min-height:34px;padding:0 10px;font-size:13px;font-weight:500}.avatar-menu button:hover{background:var(--surface-soft);color:var(--ink)}.mobile-drawer-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.mobile-drawer-nav,.mobile-drawer-section{gap:6px;padding:10px;display:grid}.mobile-drawer-section{border-top:1px solid var(--line-soft);margin-top:4px}.mobile-drawer-item{border-radius:var(--radius-sm);color:var(--ink-2);text-align:left;background:0 0;border:0;align-items:center;gap:11px;width:100%;min-height:42px;padding:0 12px;transition:background .14s,color .14s;display:flex}.mobile-drawer-item svg{color:var(--ink-3);flex:none}.mobile-drawer-item span{font-size:13px;font-weight:600}.mobile-drawer-item:hover,.mobile-drawer-item-active{background:var(--surface-soft);color:var(--ink)}.mobile-drawer-item-active svg{color:var(--accent-strong)}.settings-placeholder{gap:16px;padding:22px 24px 24px;display:grid}.settings-placeholder p{color:var(--ink-2);margin:0;font-size:13px;font-weight:500;line-height:1.6}.settings-panel{gap:16px;padding:22px 24px 24px;display:grid}.modal-body>.settings-panel{padding:0}.settings-copy{color:var(--ink-2);margin:0;font-size:13px;font-weight:500;line-height:1.6}.settings-panel-intro{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.settings-panel-intro p{color:var(--ink-2);margin:0;font-size:13px;font-weight:500;line-height:1.6}.settings-panel-icon,.auth-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);justify-content:center;align-items:center;display:inline-flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.settings-save-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.settings-save-note{color:var(--warning);font-size:12px;font-weight:700}.settings-save-note-success{color:var(--positive);align-items:center;gap:5px;display:inline-flex}.btn-saved{background:var(--positive);border-color:var(--positive)}.role-list,.plan-grid,.usage-grid{gap:8px;display:grid}.role-row,.usage-card,.plan-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:11px 12px}.role-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.role-row span,.usage-card span,.plan-card span{color:var(--ink-2);font-size:12px;font-weight:500}.role-row>span,.plan-card strong{color:var(--ink);font-size:13px;font-weight:600}.usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-card strong{color:var(--ink);margin-top:6px;font-family:Inter Tight,sans-serif;font-size:18px;font-weight:600;display:block}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card{gap:10px;display:grid}.btn-primary,.btn-ghost,.icon-btn,.table-action{white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:34px;font-size:13px;font-weight:600;transition:background .14s,border-color .14s,color .14s;display:inline-flex}.btn-primary{background:var(--ink);border:1px solid var(--ink);color:#fff;padding:0 14px}.btn-primary:hover{background:#1a2330}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled,.btn-ghost:disabled{cursor:not-allowed;opacity:.55}.btn-ghost{border:1px solid var(--line);color:var(--ink-2);background:#fff;padding:0 11px}.btn-ghost:hover{color:var(--ink);border-color:#cfd6e0}.btn-ghost:active{transform:scale(.97)}.icon-btn{border:1px solid var(--line);color:var(--ink-2);background:#fff;width:32px;min-height:32px}.icon-btn:hover{color:var(--ink)}.table-action{border:1px solid var(--line);color:var(--ink-2);background:#fff;min-height:28px;padding:0 9px;font-size:12px}.table-action:hover{color:var(--ink)}.page-title{justify-content:space-between;align-items:end;gap:14px;display:flex}.page-title p{color:var(--ink-3);letter-spacing:.02em;text-transform:none;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:500;display:inline-flex}.page-title h1{letter-spacing:-.025em;color:var(--ink);margin:0;font-family:Inter Tight,sans-serif;font-size:28px;font-weight:600}.page-title span{color:var(--ink-2);margin-top:4px;font-size:13px;font-weight:500;display:block}.period{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px;display:inline-flex}.period button{color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500}.period button.active{background:var(--ink);color:#fff}.section-card,.table-card,.filter-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.section-card{padding:20px 22px}.section-card>h3{color:var(--ink);letter-spacing:-.01em;margin:0 0 14px;font-family:Inter Tight,sans-serif;font-size:14px;font-weight:600}.filter-card{gap:12px;padding:16px;display:grid}.filter-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-toolbar h3{color:var(--ink);margin:0;font-size:13px;font-weight:600}.filter-toolbar p{color:var(--ink-3);margin:2px 0 0;font-size:12px}.filter-actions{flex-wrap:wrap;gap:8px;display:flex}.filter-grid{gap:10px;display:grid}.filter-grid-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-grid-secondary{border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));padding-top:12px}.filter-chips{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;padding-top:10px;display:flex}.filter-chip{background:var(--surface-soft);color:var(--ink-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.filter-chip strong{color:var(--ink);font-weight:600}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:120px;padding:18px 20px 16px;transition:border-color .14s,transform .2s,box-shadow .2s;position:relative}.summary-card:hover{border-color:#cfd6e0;transform:translateY(-2px);box-shadow:0 8px 24px #0e11160f}.summary-card-featured{background:var(--hero-grad);border-color:var(--accent-soft)}.summary-card p{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:600;display:inline-flex}.summary-card p:before{content:"";background:var(--ink-3);border-radius:50%;width:6px;height:6px;display:inline-block}.summary-card-featured p:before{background:var(--accent)}.summary-card strong{letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:12px;font-family:Inter Tight,sans-serif;font-size:26px;font-weight:600;line-height:1.05;display:block}.summary-card span{color:var(--ink-3);margin-top:8px;font-size:12px;font-weight:500;display:block}.kpi-hero{flex-direction:column;gap:10px;display:flex}.kpi-hero-spark{width:100%;height:32px;display:block}.kpi-meta-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.delta-up{background:var(--accent-soft);color:var(--accent-strong)}.delta-down{color:var(--danger);background:#b06a7224}.kpi-meta-text{color:var(--ink-3);font-size:12px;font-weight:500}.quick-action{border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:#fff;justify-items:start;gap:4px;min-height:80px;padding:14px 16px;transition:border-color .14s,transform .2s,box-shadow .2s;display:grid}.quick-action:hover{border-color:#cfd6e0;transform:translateY(-1px);box-shadow:0 4px 16px #0e11160d}.quick-action svg{color:var(--accent)}.quick-action span{color:var(--ink);font-size:13.5px;font-weight:600}.quick-action small{color:var(--ink-3);font-size:12px;font-weight:500}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.report-card-body{gap:12px;display:grid}.report-card-body p{color:var(--ink-2);margin:0;font-size:13px;font-weight:500;line-height:1.55}.report-card-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);justify-content:center;align-items:center;display:inline-flex}.report-actions{flex-wrap:wrap;gap:8px;display:flex}.report-subtext{color:var(--ink-3);margin-top:3px;font-size:11.5px;font-weight:500;display:block}.report-grid-line{stroke:var(--line-soft);stroke-width:1px}.report-line-primary,.report-line-secondary{fill:none;stroke-linecap:round;stroke-linejoin:round}.report-line-primary{stroke:var(--accent);stroke-width:1.75px}.report-line-secondary{stroke:var(--ink-2);stroke-width:1.5px;stroke-dasharray:3 4}.report-axis-label{fill:var(--ink-3);font-size:10px;font-weight:500}.table-title{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.table-title h3{color:var(--ink);letter-spacing:-.01em;margin:0;font-family:Inter Tight,sans-serif;font-size:14px;font-weight:600}.table-title p{color:var(--ink-3);margin:2px 0 0;font-size:12px}.table-scroll{max-width:100%;overflow:auto}.table-scroll:focus-within{outline:2px solid var(--accent-tint);outline-offset:-2px}table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px}th{z-index:1;text-align:left;background:var(--surface-soft);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:10px 18px;font-size:11px;font-weight:600;position:sticky;top:0}td{color:var(--ink);border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap;padding:12px 18px;font-size:13px;font-weight:500}td.num{text-align:right;font-variant-numeric:tabular-nums}.invoice-cell{color:var(--ink);font-weight:600}.customer-cell{color:var(--ink);font-weight:500}.profit-cell{color:var(--positive);font-weight:600}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-soft);cursor:pointer}tbody tr:last-child td{border-bottom:0}.status{background:var(--surface-soft);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.status-paid{background:var(--accent-soft);color:var(--accent-strong)}.status-pending,.status-draft{color:var(--warning);background:#b8923a24}.status-partially-paid,.status-advance-paid,.status-sent{background:var(--accent-soft);color:var(--accent-strong)}.status-overdue{color:var(--danger);background:#b06a7224}.field{gap:6px;display:grid}.field span{color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:600}.field input,.field select,.field textarea,.upload-box input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:0;min-height:36px;padding:7px 10px;transition:border-color .14s,box-shadow .14s}.field textarea{resize:vertical;min-height:88px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.form-layout{gap:16px;display:grid}.form-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:18px;display:grid}.form-section-header{gap:4px;display:grid}.form-section h3,.form-section-header h3{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:Inter Tight,Inter,sans-serif;font-size:15px;font-weight:600;line-height:1.2}.form-section-header p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-wide,.form-grid-full{grid-column:1/-1}.field{gap:7px;min-width:0}.field span{letter-spacing:.04em;line-height:1.2}.field input,.field select,.field textarea,.upload-box input{appearance:none;background:var(--surface);border-radius:var(--radius-sm);width:100%;min-height:38px;padding:8px 11px;font-size:14px;transition:border-color .14s,background .14s,box-shadow .14s}.field select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 10px) 16px;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.field textarea{min-height:96px;line-height:1.5}.field input::-moz-placeholder{color:var(--ink-3)}.field textarea::-moz-placeholder{color:var(--ink-3)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}.field input:disabled,.field input[readonly],.field select:disabled,.field textarea:disabled,.field textarea[readonly]{background:var(--surface-soft);color:var(--ink-2);cursor:not-allowed}.field-help{color:var(--ink-3);margin:-2px 0 0;font-size:12px;font-weight:500;line-height:1.45}.logo-upload-row{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.logo-preview-box{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--ink-3);justify-content:center;align-items:center;width:116px;height:74px;display:flex;overflow:hidden}.logo-preview-box img{-o-object-fit:contain;object-fit:contain;width:auto;max-width:96px;max-height:56px;display:block}.logo-upload-controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.logo-upload-controls .field-help,.logo-upload-controls .field-error{flex-basis:100%}.logo-upload-button{cursor:pointer;position:relative}.logo-upload-button input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.field-error{color:var(--danger);margin:-2px 0 0;font-size:12px;font-weight:600;line-height:1.45}.checkbox-row,.radio-row{color:var(--ink-2);align-items:center;gap:9px;font-size:13px;font-weight:500;line-height:1.35;display:inline-flex}.checkbox-row input,.radio-row input{accent-color:var(--accent);width:16px;height:16px;margin:0}.checkbox-group,.radio-group{flex-wrap:wrap;gap:10px 16px;display:flex}.form-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.select-new-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.info-list{gap:0;margin:0;display:grid}.info-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:14px;padding:9px 0;display:flex}.info-row:first-child{padding-top:0}.info-row:last-child{border-bottom:0;padding-bottom:0}.info-row dt{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.35}.info-row dd{color:var(--ink);text-align:right;margin:0;font-size:13px;font-weight:600;line-height:1.35}.field-with-icon{position:relative}.field-with-icon svg{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.field-with-icon input{width:100%;padding-left:32px}.form-error{border-radius:var(--radius-sm);color:var(--danger);background:#b06a7214;border:1px solid #b06a7238;grid-column:1/-1;margin:0;padding:10px 12px;font-size:13px;font-weight:500}.auth-shell{background:var(--app-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,420px);padding:24px}.auth-loading-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);padding:18px 22px;font-size:13px;font-weight:700}.auth-card-center{text-align:center;justify-items:center;gap:12px;display:grid}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.auth-brand p,.auth-eyebrow{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.auth-brand h1,.auth-card h1{color:var(--ink);letter-spacing:-.025em;margin:2px 0 0;font-family:Inter Tight,sans-serif;font-size:26px;font-weight:600;line-height:1.1}.auth-note{color:var(--ink-2);margin:0 0 20px;font-size:13px;font-weight:500;line-height:1.6}.auth-card-center .auth-note{margin:0}.auth-form{gap:14px;display:grid}.auth-submit{justify-content:center;width:100%;min-height:38px}.charts-row{grid-template-columns:1.55fr 1fr;gap:14px;display:grid}.area-chart{width:100%;height:240px;margin-top:10px;display:block;overflow:visible}.trend-chart-shell{position:relative}.chart-axis-label{fill:var(--ink-3);font-size:10px;font-weight:600}.trend-tooltip{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-2);pointer-events:none;z-index:3;background:#fffffff5;gap:6px;min-width:190px;padding:10px 12px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 16px 38px #0e11161f}.trend-tooltip strong{color:var(--ink);font-size:12px;font-weight:700}.trend-tooltip span{align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.tooltip-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.tooltip-dot-revenue{background:var(--accent)}.tooltip-dot-profit{background:var(--ink-2)}.legend{color:var(--ink-2);gap:12px;font-size:11px;font-weight:500;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend .swatch{border-radius:2px;width:8px;height:8px}.pipeline{flex-direction:column;gap:16px;margin-top:16px;display:flex}.pipe-row{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.pipe-row .label{color:var(--ink-2);font-size:12.5px;font-weight:500}.pipe-row .count{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Inter Tight,sans-serif;font-size:13px;font-weight:600}.pipe-row .count .pct{color:var(--ink-3);margin-left:4px;font-size:11.5px;font-weight:500}.pipe-bar{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.pipe-bar .fill{background:var(--accent);border-radius:999px;height:100%;transition:width .5s}.pipe-bar .fill.pos{background:var(--positive)}.pipe-bar .fill.warn{background:var(--warning)}.pipe-bar .fill.danger{background:var(--danger)}.av-name{align-items:center;gap:8px;display:inline-flex}.av{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.route-cell{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.route-cell svg{color:var(--ink-3)}.drawer-backdrop,.modal-backdrop{z-index:1000;background:#0e111652;justify-content:flex-end;display:flex;position:fixed;inset:0}.modal-backdrop{justify-content:center;align-items:center;padding:24px;overflow-y:auto}.drawer-panel{border-left:1px solid var(--line);background:#fff;width:min(92vw,720px);height:100%;overflow-y:auto}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(100%,640px);max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0e111624}.modal-small{width:min(100%,420px)}.modal-medium{width:min(100%,640px)}.modal-large{width:min(100%,820px)}.modal-wide{width:min(100%,1040px)}.drawer-header,.modal-header{border-bottom:1px solid var(--line-soft);flex:none;justify-content:space-between;align-items:start;padding:20px 24px;display:flex}.drawer-header h2,.modal-header h2{letter-spacing:-.018em;color:var(--ink);margin:0;font-family:Inter Tight,sans-serif;font-size:18px;font-weight:600}.drawer-body{gap:18px;padding:24px;display:grid}.modal-body{overscroll-behavior:contain;gap:16px;padding:20px 24px 24px;display:grid;overflow-y:auto}.modal-footer{background:var(--surface);border-top:1px solid var(--line-soft);justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.modal-footer-inline{margin:2px -24px -24px}.invoice-preview{gap:16px;display:grid}.invoice-document{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:18px;padding:22px;display:grid}.invoice-hero{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.invoice-brand{align-items:center;gap:14px;min-width:0;display:flex}.invoice-logo,.invoice-attachment-icon{background:var(--ink);color:var(--surface);border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.invoice-logo img{border-radius:inherit;-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.invoice-brand p,.invoice-meta span,.invoice-section-title span,.invoice-remarks span,.invoice-footer-note span{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600;line-height:1.2}.invoice-brand h3{color:var(--ink);letter-spacing:-.024em;margin:4px 0;font-family:Inter Tight,Inter,sans-serif;font-size:24px;font-weight:600;line-height:1.1}.invoice-brand span,.invoice-attachment-card small,.invoice-remarks p,.invoice-footer-note p{color:var(--ink-2);font-size:13px;font-weight:500}.invoice-contact-lines{flex-wrap:wrap;gap:5px 12px;max-width:620px;margin-top:8px;display:flex}.invoice-contact-lines small{color:var(--ink-3);font-size:12px;font-weight:500;line-height:1.4}.invoice-meta{text-align:right;place-items:flex-end end;gap:7px;display:grid}.invoice-meta strong{color:var(--ink);letter-spacing:-.02em;font-family:Inter Tight,Inter,sans-serif;font-size:22px;font-weight:600;line-height:1}.invoice-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.invoice-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:14px;padding:16px;display:grid}.invoice-section-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.invoice-section-title h4{color:var(--ink);letter-spacing:-.015em;margin:0;font-family:Inter Tight,Inter,sans-serif;font-size:15px;font-weight:600;line-height:1.2}.invoice-detail-list,.invoice-breakdown{gap:0;display:grid}.invoice-detail-list div,.breakdown-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;min-height:42px;padding:10px 0;display:flex}.invoice-detail-list div:first-child,.breakdown-row:first-child{border-top:0}.invoice-detail-list dt,.breakdown-row span{color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.invoice-detail-list dd,.breakdown-row strong{color:var(--ink);text-align:right;margin:0;font-size:14px;font-weight:600}.breakdown-total{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:8px;padding:13px 14px}.breakdown-total span,.breakdown-total strong{color:var(--ink);font-size:15px}.invoice-attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.invoice-attachment-card{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.invoice-attachment-icon{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-strong);width:36px;height:36px}.invoice-attachment-card div{gap:2px;min-width:0;display:grid}.invoice-attachment-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.invoice-remarks,.invoice-footer-note{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);gap:7px;padding:14px 16px;display:grid}.invoice-remarks p,.invoice-footer-note p{margin:0;line-height:1.55}.attachment-preview{gap:14px;display:grid}.attachment-viewer,.attachment-image-preview{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);width:100%}.attachment-viewer{height:min(70vh,720px)}.attachment-image-preview{-o-object-fit:contain;object-fit:contain;max-height:min(70vh,720px)}.attachment-note{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--accent-strong);margin:0;padding:11px 12px;font-size:13px;font-weight:500;line-height:1.5}.attachment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.attachment-meta,.muted-note{color:var(--ink-3);font-size:12px;font-weight:500}.muted-note{text-transform:uppercase;font-weight:700}.attachment-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.inline-alert,.upload-message{border-radius:var(--radius-sm);margin:12px 0 0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.inline-alert{color:var(--warning);background:#b8923a1f;border:1px solid #b8923a2e}.upload-message{background:var(--accent-soft);border:1px solid var(--line);color:var(--accent-strong)}.empty-state{text-align:center;color:var(--ink-3);flex-direction:column;align-items:center;gap:10px;padding:42px 24px;font-size:13px;font-weight:500;display:flex}.empty-state svg{color:var(--ink-3);opacity:.5;margin-bottom:4px}.empty-state-action{margin-top:6px}.summary-pills{flex-wrap:wrap;gap:8px;display:flex}.summary-pills span{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.summary-pills strong{color:var(--ink);font-weight:600}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-soft) 25%, var(--line-soft) 37%, var(--surface-soft) 63%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-text{border-radius:6px;height:14px}.skeleton-heading{border-radius:6px;width:55%;height:22px}.skeleton-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:120px;padding:18px 20px 16px}.skeleton-card .skeleton{margin-bottom:12px}.skeleton-card .skeleton:last-child{margin-bottom:0}.skeleton-table-row{border-bottom:1px solid var(--line-soft);grid-template-columns:.6fr 1fr 1fr .8fr .6fr .5fr;gap:18px;padding:14px 18px;display:grid}.skeleton-table-row .skeleton{height:14px}.toast{z-index:1060;background:var(--ink);color:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 18px;font-size:13px;font-weight:600;animation:.28s toast-in;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 40px #0e11162e}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.theme-toggle{border:1px solid var(--line);width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:#cfd6e0}[data-theme=dark] .theme-toggle{background:var(--surface);border-color:var(--line)}[data-theme=dark] .app-header{border-color:var(--line);background:#1a1e28e0}[data-theme=dark] .header-icon-btn,[data-theme=dark] .profile-button{background:var(--surface);border-color:var(--line)}[data-theme=dark] .btn-primary{background:var(--accent);border-color:var(--accent);color:#0f1117}[data-theme=dark] .btn-primary:hover{background:var(--accent-strong)}[data-theme=dark] .btn-ghost,[data-theme=dark] .icon-btn,[data-theme=dark] .table-action{background:var(--surface);border-color:var(--line);color:var(--ink-2)}[data-theme=dark] .search-shell{background:var(--surface-soft)}[data-theme=dark] .search-shell:focus-within{background:var(--surface);border-color:var(--line)}[data-theme=dark] .drawer-panel{background:var(--surface)}[data-theme=dark] .modal-panel{box-shadow:0 24px 70px #00000059}[data-theme=dark] .trend-tooltip{background:#1a1e28f5;box-shadow:0 16px 38px #0000004d}[data-theme=dark] .quick-action{background:var(--surface);border-color:var(--line)}[data-theme=dark] .quick-action:hover,[data-theme=dark] .summary-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #0003}[data-theme=dark] .period{background:var(--surface-soft);border-color:var(--line)}[data-theme=dark] .period button.active{background:var(--accent);color:#0f1117}[data-theme=dark] select option{background:var(--surface-soft);color:var(--ink)}[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea{background:var(--surface-soft);border-color:var(--line)}[data-theme=dark] .field input:focus,[data-theme=dark] .field select:focus,[data-theme=dark] .field textarea:focus{border-color:var(--accent)}[data-theme=dark] .summary-pills span{background:var(--surface);border-color:var(--line)}[data-theme=dark] .toast{background:var(--accent);color:#0f1117;border-color:#0000}[data-theme=dark] .nav-tab-active{background:var(--surface-soft)}@media (width<=1100px){.header-inner{flex-wrap:wrap;height:auto}.nav-row{order:2;width:100%;max-width:100%;margin-left:0;padding-bottom:2px;overflow-x:auto}.search-shell{flex:240px}.filter-grid-primary,.filter-grid-secondary,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-row{grid-template-columns:1fr}.report-grid,.attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.header-inner{flex-wrap:nowrap;gap:8px;max-width:none;height:56px;padding:10px 12px;position:relative}.app-header>.header-inner>.brand-lockup{min-width:0;max-width:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-header>.header-inner>.brand-lockup>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-header>.header-inner>.brand-lockup-custom{justify-content:center;width:150px}.app-header>.header-inner .brand-logo-frame,.app-header>.header-inner .brand-logo-image{max-width:142px;max-height:34px}.mobile-drawer-header .brand-logo-frame,.mobile-drawer-header .brand-logo-image{max-width:180px;max-height:36px}.brand-subtitle,.header-spacer,.nav-row,.search-shell{display:none}.mobile-menu-button,.mobile-search-button{flex:none;display:inline-flex}.mobile-search-button{margin-left:auto}.notification-button,.app-header>.header-inner>.btn-primary{display:none}.profile-button{justify-content:center;width:34px;height:34px;padding:3px}.profile-button-label,.profile-button-chevron{display:none}.avatar-menu-wrap{flex:none}.avatar-menu{min-width:210px;max-width:calc(100vw - 24px);right:0}.mobile-search-shell{background:var(--surface);border-top:1px solid var(--line-soft);color:var(--ink-3);opacity:0;align-items:center;gap:8px;max-height:0;padding:0 12px;transition:max-height .18s,opacity .16s,padding .18s;display:flex;overflow:hidden}.mobile-search-shell-open{opacity:1;max-height:54px;padding:8px 12px 10px}.mobile-search-shell input{background:var(--surface-soft);color:var(--ink);border:1px solid #0000;border-radius:8px;outline:0;width:100%;min-width:0;height:36px;padding:0 10px;font-size:13px}.mobile-search-shell input:focus{border-color:var(--line);background:#fff}.mobile-drawer-shell{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;visibility:hidden;z-index:1200;background:#0e11166b;justify-content:flex-start;align-items:stretch;transition:opacity .18s,visibility .18s;display:flex;position:fixed;inset:0}.mobile-drawer-shell-open{opacity:1;pointer-events:auto;visibility:visible}.mobile-nav-drawer{background:var(--surface);border-right:1px solid var(--line);width:min(86vw,320px);height:100dvh;transition:transform .22s;overflow-y:auto;transform:translate(-100%);box-shadow:22px 0 60px #0e11162e}.mobile-drawer-shell-open .mobile-nav-drawer{transform:translate(0)}.btn-primary{padding:0 11px}.page-title{flex-direction:column;align-items:flex-start}.page-title>div:last-child{flex-wrap:wrap;align-items:flex-start;width:100%}.period{max-width:100%;overflow-x:auto}.table-title,.filter-toolbar{flex-direction:column;align-items:flex-start}.page-shell{padding:20px 16px 40px}.modal-backdrop{align-items:flex-start;padding:12px}.modal-panel{border-radius:14px;max-height:calc(100dvh - 24px)}.modal-header{padding:16px 18px}.modal-body{padding:16px 18px 18px}.modal-footer{flex-direction:column-reverse;align-items:stretch;padding:12px 18px 16px}.modal-footer>button,.form-actions>button{justify-content:center;width:100%}.invoice-document{padding:16px}.invoice-hero{flex-direction:column;align-items:stretch}.invoice-meta{text-align:left;place-items:start}.invoice-detail-grid,.invoice-attachment-grid,.attachment-grid{grid-template-columns:1fr}.invoice-section-title{display:grid}.invoice-detail-list div,.breakdown-row{flex-direction:column;align-items:flex-start;gap:5px}.invoice-detail-list dd,.breakdown-row strong{text-align:left}.form-grid{grid-template-columns:1fr}.form-section{padding:14px}.form-actions{flex-direction:column-reverse;align-items:stretch}.select-new-row,.kpi-grid,.report-grid,.settings-grid,.usage-grid,.plan-grid{grid-template-columns:1fr}.logo-upload-row{grid-template-columns:1fr;align-items:stretch}.logo-preview-box{width:100%}.settings-actions,.settings-save-group{flex-direction:column;align-items:stretch;width:100%}.settings-save-group>button{justify-content:center;width:100%}.mobile-menu-button,.mobile-drawer-shell{display:none!important}.page-shell{padding-bottom:calc(80px + var(--safe-bottom))!important}.bottom-nav-bar{background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);z-index:1000;height:calc(56px + var(--safe-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{height:100%;color:var(--ink-3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:500;transition:color .12s;display:flex}.bottom-nav-item svg{width:20px;height:20px}.bottom-nav-item-active{color:var(--accent)}.fab-primary{bottom:calc(72px + var(--safe-bottom));background:var(--accent);color:#fff;z-index:990;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;right:16px;box-shadow:0 12px 28px #6886a859}[data-theme=dark] .fab-primary{color:#0f1117}.fab-primary:active{transform:scale(.92)}.fab-primary svg{width:24px;height:24px}.table-scroll table th:nth-child(n+4):not(:last-child),.table-scroll table td:nth-child(n+4):not(:last-child){display:none!important}.field input,.field select,.icon-btn{min-height:44px!important}.icon-btn{width:44px;height:44px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
