:root{--clr-bg-primary: #0d0f14;--clr-bg-secondary: #13161e;--clr-bg-tertiary: #1a1d28;--clr-bg-card: #1e2130;--clr-bg-card-hover: #242840;--clr-header-bg: rgba(13, 15, 20, .85);--clr-brand-50: #eef2ff;--clr-brand-100: #e0e7ff;--clr-brand-200: #c7d2fe;--clr-brand-400: #818cf8;--clr-brand-500: #6366f1;--clr-brand-600: #4f46e5;--clr-brand-700: #4338ca;--clr-accent: #22d3ee;--clr-accent-soft: rgba(34, 211, 238, .12);--clr-success: #10b981;--clr-success-soft: rgba(16, 185, 129, .12);--clr-warning: #f59e0b;--clr-warning-soft: rgba(245, 158, 11, .12);--clr-danger: #f43f5e;--clr-danger-soft: rgba(244, 63, 94, .12);--clr-info: #3b82f6;--clr-info-soft: rgba(59, 130, 246, .12);--clr-text-primary: #f0f4ff;--clr-text-secondary: #94a3b8;--clr-text-muted: #475569;--clr-text-on-brand: #ffffff;--clr-border: rgba(255, 255, 255, .07);--clr-border-focus: rgba(99, 102, 241, .6);--clr-divider: rgba(255, 255, 255, .04);--font-display: "Outfit", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "Fira Code", "Cascadia Code", monospace;--text-2xs: .625rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5), 0 4px 12px rgba(0, 0, 0, .3);--shadow-brand: 0 0 24px rgba(99, 102, 241, .3), 0 4px 16px rgba(99, 102, 241, .15);--shadow-accent: 0 0 24px rgba(34, 211, 238, .2);--sidebar-width: 260px;--sidebar-collapsed-width: 68px;--header-height: 64px;--content-max-width: 1440px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .12s;--transition-base: .22s;--transition-slow: .38s;--z-dropdown: 200;--z-sticky: 300;--z-overlay: 400;--z-modal: 500;--z-toast: 600}[data-theme=light]{--clr-bg-primary: #f6f7fb;--clr-bg-secondary: #ffffff;--clr-bg-tertiary: #f1f3f9;--clr-bg-card: #ffffff;--clr-bg-card-hover: #eef1f8;--clr-header-bg: rgba(255, 255, 255, .9);--clr-text-primary: #0f172a;--clr-text-secondary: #475569;--clr-text-muted: #94a3b8;--clr-border: rgba(15, 23, 42, .08);--clr-border-focus: rgba(99, 102, 241, .45);--clr-divider: rgba(15, 23, 42, .05);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 32px rgba(15, 23, 42, .12), 0 4px 12px rgba(15, 23, 42, .06);--shadow-brand: 0 4px 16px rgba(99, 102, 241, .25), 0 2px 6px rgba(99, 102, 241, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--clr-text-primary);background-color:var(--clr-bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:1.25;color:var(--clr-text-primary)}a{color:var(--clr-brand-400);text-decoration:none;transition:color var(--transition-fast) var(--ease-out)}a:hover{color:var(--clr-accent)}img,video{max-width:100%;display:block}input,select,textarea,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--clr-bg-primary)}::-webkit-scrollbar-thumb{background:var(--clr-bg-card-hover);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--clr-text-muted)}::selection{background:#6366f14d;color:var(--clr-text-primary)}:focus-visible{outline:2px solid var(--clr-brand-500);outline-offset:3px;border-radius:var(--radius-sm)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--header-height) 1fr;min-height:100vh;transition:grid-template-columns var(--transition-base) var(--ease-out)}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.page-content{grid-column:2;grid-row:2;padding:var(--space-6);overflow-y:auto;height:calc(100vh - var(--header-height))}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.inline-flex{display:inline-flex}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.bento-col-3{grid-column:span 3}.bento-col-4{grid-column:span 4}.bento-col-6{grid-column:span 6}.bento-col-8{grid-column:span 8}.bento-col-12{grid-column:span 12}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.py-2{padding-block:var(--space-2)}.py-4{padding-block:var(--space-4)}.mt-1{margin-top:var(--space-1)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.w-full{width:100%}.h-full{height:100%}.min-h-0{min-height:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.clr-primary{color:var(--clr-text-primary)}.clr-secondary{color:var(--clr-text-secondary)}.clr-muted{color:var(--clr-text-muted)}.clr-brand{color:var(--clr-brand-400)}.clr-success{color:var(--clr-success)}.clr-danger{color:var(--clr-danger)}.clr-warning{color:var(--clr-warning)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-pill{border-radius:var(--radius-pill)}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.hidden{display:none}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-header-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);background:linear-gradient(135deg,var(--clr-text-primary) 0%,var(--clr-brand-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header-sub{font-size:var(--text-sm);color:var(--clr-text-secondary);margin-top:2px}@media (max-width: 1200px){.bento-col-3,.bento-col-4{grid-column:span 6}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px) and (max-width: 1024.98px){.app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.app-shell .sidebar{width:var(--sidebar-collapsed-width)}.app-shell .sidebar .nav-label,.app-shell .sidebar .sidebar-section-label,.app-shell .sidebar .sidebar-logo-text,.app-shell .sidebar .sidebar-upgrade-card{display:none}.app-shell .sidebar .nav-item{justify-content:center}}@media (max-width: 767.98px){html,body{overflow-x:hidden;max-width:100vw}[style*="grid-template-columns: 1fr 1fr"],[style*="gridTemplateColumns: '1fr 1fr'"],[style*="grid-template-columns: repeat(2"],[style*="grid-template-columns: 1fr 80px"],[style*="grid-template-columns: 1fr 360px"],[style*="grid-template-columns: repeat(3"],[style*="grid-template-columns: repeat(4"],[style*="grid-template-columns: repeat(5"]{grid-template-columns:1fr!important}.grid-2>*,.grid-3>*,.grid-4>*,.bento-grid>*{min-width:0}.recharts-wrapper,.recharts-responsive-container{max-width:100%!important;width:100%!important}.recharts-wrapper svg,.recharts-responsive-container svg{max-width:100%}.app-shell{grid-template-columns:minmax(0,1fr);max-width:100vw;overflow-x:hidden}.app-shell.mobile-sidebar-active{grid-template-columns:minmax(0,1fr)}.app-shell>nav.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:100;transform:translate(-100%);transition:transform var(--transition-base) var(--ease-out);width:280px;max-width:85vw}.app-shell.mobile-sidebar-active>nav.sidebar{transform:translate(0)}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;opacity:0;transition:opacity var(--transition-base)}.app-shell.mobile-sidebar-active .mobile-overlay{display:block;opacity:1}.page-content{grid-column:1;padding:var(--space-4);min-width:0;max-width:100%;overflow-x:hidden}.bento-col-3,.bento-col-4,.bento-col-6,.bento-col-8{grid-column:span 12}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr!important;gap:var(--space-3)}.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px}.page-header{flex-direction:column;align-items:flex-start!important;gap:var(--space-3)}.page-header .flex{flex-wrap:wrap}.page-header-title{font-size:var(--text-xl)}.modal{max-width:calc(100vw - var(--space-4))!important;margin:var(--space-2);max-height:92vh;overflow-y:auto}.modal-overlay{padding:var(--space-2)}.tabs-nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap;flex-shrink:0}.stat-card{padding:var(--space-4)}.stat-value{font-size:var(--text-lg)}.card-header,.card-body,.card-footer{padding:var(--space-3)}.offline-banner{grid-column:1}}@media (max-width: 1024.98px){.invoice-form-layout{flex-direction:column!important;gap:var(--space-4)!important}.invoice-form-layout>*{width:100%;max-width:100%}.invoice-form-layout .invoice-summary-panel{position:static;top:auto}}@media (max-width: 767.98px){.workspace-badge{max-width:150px;flex-shrink:1;padding:4px 8px 4px 4px!important}.workspace-badge-name{max-width:90px!important;min-width:0;font-size:12px}}@media (max-width: 480px){.grid-4{grid-template-columns:1fr!important}.header{padding:0 var(--space-3)!important}.header .search-wrapper,.search-wrapper{display:none}.workspace-badge{max-width:none;padding:4px!important}.workspace-badge-name{display:none!important}.page-content{padding:var(--space-3)}.modal{margin:var(--space-1)}.modal-overlay{padding:var(--space-1)}}.offline-banner{grid-column:2;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-medium);animation:slideIn .25s var(--ease-out);z-index:var(--z-sticky)}.offline-banner--offline{background:var(--clr-warning-soft);color:var(--clr-warning)}.offline-banner--syncing{background:#3b82f614;color:var(--clr-info)}.offline-banner--pending{background:#6366f10f;color:var(--clr-brand-400)}.offline-banner--failed{background:var(--clr-danger-soft);color:var(--clr-danger)}select option{background:#1e1e2e;color:#e2e8f0}[data-theme=light] select option{background:#fff;color:#0f172a}@keyframes slideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.5625rem var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out),transform var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;line-height:1}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--clr-brand-600),var(--clr-brand-500));color:#fff;border-color:var(--clr-brand-500)}.btn-primary:hover{box-shadow:var(--shadow-brand);transform:translateY(-1px)}.btn-secondary{background:var(--clr-bg-card);color:var(--clr-text-secondary);border-color:var(--clr-border)}.btn-secondary:hover{background:var(--clr-bg-card-hover);color:var(--clr-text-primary);border-color:#ffffff1f}.btn-ghost{background:transparent;color:var(--clr-text-secondary);border-color:transparent}.btn-ghost:hover{background:#ffffff0f;color:var(--clr-text-primary)}.btn-danger{background:var(--clr-danger-soft);color:var(--clr-danger);border-color:#f43f5e4d}.btn-danger:hover{background:#f43f5e33;border-color:var(--clr-danger)}.btn-success{background:var(--clr-success-soft);color:var(--clr-success);border-color:#10b9814d}.btn-success:hover{background:#10b98133}.btn-accent{background:linear-gradient(135deg,#0891b2,#22d3ee);color:#011827;font-weight:var(--weight-semibold)}.btn-accent:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-sm{padding:.375rem var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:.75rem var(--space-6);font-size:var(--text-base)}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}.btn-icon-lg{width:42px;height:42px}.card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-base) var(--ease-out),border-color var(--transition-base) var(--ease-out),transform var(--transition-base) var(--ease-out)}.card:hover{border-color:#ffffff1a;box-shadow:var(--shadow-md)}.card-glass{background:#1e213099;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--clr-border);border-radius:var(--radius-lg)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--clr-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.06em}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--clr-divider)}.stat-card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);position:relative;overflow:hidden;transition:transform var(--transition-base) var(--ease-out),box-shadow var(--transition-base) var(--ease-out)}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 60%,rgba(99,102,241,.04) 100%);pointer-events:none}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#6366f133}.stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.stat-card .stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--clr-text-primary);line-height:1}.stat-card .stat-label{font-size:var(--text-xs);color:var(--clr-text-secondary);margin-top:var(--space-1);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em}.stat-card .stat-delta{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-pill);font-weight:var(--weight-medium)}.stat-delta.positive{background:var(--clr-success-soft);color:var(--clr-success)}.stat-delta.negative{background:var(--clr-danger-soft);color:var(--clr-danger)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.05em}.input{background:var(--clr-bg-tertiary);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.625rem var(--space-4);color:var(--clr-text-primary);font-size:var(--text-sm);width:100%;transition:border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out),background var(--transition-fast) var(--ease-out)}.input::placeholder{color:var(--clr-text-muted)}.input:focus{outline:none;border-color:var(--clr-brand-500);background:#1e1b4b4d;box-shadow:0 0 0 3px #6366f126}.input:hover:not(:focus){border-color:#ffffff1f}.input-sm{padding:.4rem var(--space-3);font-size:var(--text-xs)}.select{background:var(--clr-bg-tertiary);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.625rem var(--space-4);color:var(--clr-text-primary);font-size:var(--text-sm);width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;transition:border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.select:focus{outline:none;border-color:var(--clr-brand-500);box-shadow:0 0 0 3px #6366f126}.select option{background:var(--clr-bg-secondary)}.textarea{background:var(--clr-bg-tertiary);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.625rem var(--space-4);color:var(--clr-text-primary);font-size:var(--text-sm);width:100%;resize:vertical;min-height:100px;transition:border-color var(--transition-fast) var(--ease-out)}.textarea:focus{outline:none;border-color:var(--clr-brand-500);box-shadow:0 0 0 3px #6366f126}.form-hint{font-size:var(--text-xs);color:var(--clr-text-muted);margin-top:2px}.form-error{font-size:var(--text-xs);color:var(--clr-danger);margin-top:2px}.input-wrapper{position:relative}.input-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--clr-text-muted);font-size:var(--text-sm);pointer-events:none}.input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--clr-text-muted);font-size:var(--text-sm)}.input-wrapper .input{padding-left:2.5rem}.input-wrapper.has-suffix .input{padding-right:2.5rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-success{background:var(--clr-success-soft);color:var(--clr-success)}.badge-danger{background:var(--clr-danger-soft);color:var(--clr-danger)}.badge-warning{background:var(--clr-warning-soft);color:var(--clr-warning)}.badge-info{background:var(--clr-info-soft);color:var(--clr-info)}.badge-brand{background:#6366f126;color:var(--clr-brand-400)}.badge-neutral{background:#94a3b81f;color:var(--clr-text-secondary)}.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.data-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--clr-border);-webkit-overflow-scrolling:touch}.data-table{width:100%;font-size:var(--text-sm)}.data-table thead tr{background:#ffffff06;border-bottom:1px solid var(--clr-border)}.data-table thead th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table thead th.sortable{cursor:pointer}.data-table thead th.sortable:hover{color:var(--clr-text-primary)}.data-table tbody tr{border-bottom:1px solid var(--clr-divider);transition:background var(--transition-fast) var(--ease-out)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:#ffffff06}.data-table tbody td{padding:var(--space-3) var(--space-4);color:var(--clr-text-primary);vertical-align:middle}.data-table.compact thead th,.data-table.compact tbody td{padding:var(--space-2) var(--space-3)}.tabs-nav{display:flex;border-bottom:1px solid var(--clr-border);gap:var(--space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs-nav::-webkit-scrollbar{display:none}.tab-btn{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--clr-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);margin-bottom:-1px;white-space:nowrap}.tab-btn:hover{color:var(--clr-text-primary)}.tab-btn.active{color:var(--clr-brand-400);border-bottom-color:var(--clr-brand-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-base) var(--ease-out)}.modal{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-xl);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-base) var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--clr-divider)}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--clr-divider);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.template-editor-modal{width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column}.template-editor-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;flex:1;min-height:0;overflow:hidden}.template-editor-form{padding:var(--space-5) var(--space-6);overflow-y:auto;display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--clr-divider)}.template-editor-preview{padding:var(--space-5);overflow-y:auto;background:var(--clr-bg-secondary);display:flex;flex-direction:column}.template-preview-shell{flex:1;display:flex;align-items:center;justify-content:center}.template-preview-page{width:100%;max-width:380px;padding:14px 16px;border-radius:4px;box-shadow:0 6px 20px #00000040;display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif}@media (max-width: 900px){.template-editor-body{grid-template-columns:1fr}.template-editor-form{border-right:none;border-bottom:1px solid var(--clr-divider)}.template-preview-page{max-width:320px}}.style-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.style-picker-card{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--clr-border);border-radius:8px;background:var(--clr-bg-card);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);text-align:left}.style-picker-card:hover{background:var(--clr-bg-card-hover);border-color:var(--clr-text-muted)}.style-picker-card.selected{background:var(--clr-bg-card-hover)}.style-picker-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--clr-text-primary)}.style-picker-tag{font-size:10px;color:var(--clr-text-muted);line-height:1.3}@media (max-width: 600px){.style-picker-grid{grid-template-columns:repeat(2,1fr)}}.divider{width:100%;height:1px;background:var(--clr-divider);margin-block:var(--space-6)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:380px}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid;background:var(--clr-bg-card);box-shadow:var(--shadow-lg);animation:slideInRight .2s var(--ease-out)}.toast-success{border-color:#10b9814d}.toast-danger{border-color:#f43f5e4d}.toast-info{border-color:#3b82f64d}.skeleton{background:linear-gradient(90deg,var(--clr-bg-card) 25%,var(--clr-bg-card-hover) 50%,var(--clr-bg-card) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounceIn{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-fade-in{animation:fadeIn var(--transition-base) var(--ease-out)}.animate-slide-up{animation:slideUp var(--transition-base) var(--ease-out)}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.breadcrumb-item{color:var(--clr-text-muted)}.breadcrumb-item a{color:var(--clr-text-secondary)}.breadcrumb-item a:hover{color:var(--clr-text-primary)}.breadcrumb-item.active{color:var(--clr-text-primary);font-weight:var(--weight-medium)}.breadcrumb-separator{color:var(--clr-text-muted)}.billing-grid{border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden}.billing-grid-header{display:grid;grid-template-columns:2fr 80px 120px 80px 100px 110px 80px;min-width:800px;gap:0;background:#ffffff06;border-bottom:1px solid var(--clr-border)}.billing-grid-header span{padding:var(--space-3) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--clr-text-secondary);text-transform:uppercase;letter-spacing:.06em}.billing-grid-row{display:grid;grid-template-columns:2fr 80px 120px 80px 100px 110px 80px;min-width:800px;gap:0;border-bottom:1px solid var(--clr-divider);transition:background var(--transition-fast)}.billing-grid-row:last-child{border-bottom:none}.billing-grid-row:hover{background:#ffffff05}.billing-cell{padding:var(--space-2) var(--space-3);display:flex;align-items:center;border-right:1px solid var(--clr-divider)}.billing-cell:last-child{border-right:none}.billing-cell .input{border:none;background:transparent;border-radius:0;padding:4px 0}.billing-cell .input:focus{box-shadow:none;background:#6366f10f;border-radius:var(--radius-sm)}.invoice-summary-panel{background:var(--clr-bg-secondary);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-6);position:sticky;top:var(--space-4)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--clr-text-secondary);border-bottom:1px solid var(--clr-divider)}.summary-row:last-child{border-bottom:none}.summary-row.total{padding-top:var(--space-4);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--clr-text-primary)}.summary-row.total .amount{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--clr-brand-400)}.dropdown{position:relative;display:inline-flex}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:var(--z-dropdown);animation:slideUp .15s var(--ease-out)}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--clr-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.dropdown-item:hover{background:#ffffff0f;color:var(--clr-text-primary)}.dropdown-item.danger:hover{background:var(--clr-danger-soft);color:var(--clr-danger)}.dropdown-divider{height:1px;background:var(--clr-divider);margin:var(--space-2) 0}.search-wrapper{position:relative;width:300px}.search-wrapper .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--clr-text-muted)}.search-input{background:var(--clr-bg-tertiary);border:1px solid var(--clr-border);border-radius:var(--radius-pill);padding:.5rem var(--space-4) .5rem 38px;color:var(--clr-text-primary);font-size:var(--text-sm);width:100%;transition:border-color var(--transition-fast),width var(--transition-base) var(--ease-out)}.search-input::placeholder{color:var(--clr-text-muted)}.search-input:focus{outline:none;border-color:var(--clr-brand-500);box-shadow:0 0 0 3px #6366f126}.gst-summary{background:var(--clr-bg-secondary);border:1px solid var(--clr-border);border-radius:var(--radius-md);overflow:hidden}.gst-summary-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:1px solid var(--clr-divider)}.gst-summary-row:last-child{border-bottom:none}.gst-summary-cell{padding:var(--space-3);font-size:var(--text-sm);text-align:right;border-right:1px solid var(--clr-divider)}.gst-summary-cell:last-child{border-right:none}.gst-summary-row.header .gst-summary-cell{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--clr-text-secondary);background:#ffffff06}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center;gap:var(--space-4)}.empty-state-icon{width:80px;height:80px;border-radius:var(--radius-xl);background:#6366f11a;display:flex;align-items:center;justify-content:center;color:var(--clr-brand-400)}.empty-state-title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}.empty-state-desc{font-size:var(--text-sm);color:var(--clr-text-secondary);max-width:380px}.steps{display:flex;align-items:center;gap:0}.step{display:flex;align-items:center;gap:var(--space-2);flex:1}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-bold);border:2px solid var(--clr-border);color:var(--clr-text-muted);flex-shrink:0;transition:all var(--transition-fast)}.step.active .step-number{border-color:var(--clr-brand-500);color:var(--clr-brand-400);background:#6366f11a}.step.completed .step-number{border-color:var(--clr-success);background:var(--clr-success);color:#fff}.step-line{flex:1;height:2px;background:var(--clr-border);margin-inline:var(--space-2)}.step.completed+.step .step-line{background:var(--clr-success)}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--clr-brand-600),var(--clr-accent));display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-bold);color:#fff;flex-shrink:0}.avatar-lg{width:48px;height:48px;font-size:var(--text-base)}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.progress-bar{width:100%;height:6px;background:var(--clr-bg-card-hover);border-radius:var(--radius-pill);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--clr-brand-600),var(--clr-accent));transition:width .6s var(--ease-out)}[data-tooltip]{position:relative}[data-tooltip]:hover:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--clr-bg-secondary);border:1px solid var(--clr-border);color:var(--clr-text-primary);font-size:var(--text-xs);white-space:nowrap;border-radius:var(--radius-sm);padding:4px 10px;z-index:var(--z-dropdown);pointer-events:none;box-shadow:var(--shadow-sm)}.app-header [data-tooltip]:hover:before{bottom:auto;top:calc(100% + 6px)}.app-header .header-right>*:nth-last-child(-n+2) [data-tooltip]:hover:before,.app-header .header-right>[data-tooltip]:nth-last-child(-n+2):hover:before{left:auto;right:0;transform:none}.sidebar[data-collapsed=true] [data-tooltip]:hover:before,.sidebar[data-collapsed=true] [data-tooltip]:hover:after{display:none}.help-doc{color:var(--clr-text-primary);font-size:14px;line-height:1.65}.help-doc h1{font-family:var(--font-display);font-size:28px;font-weight:800;margin:0 0 18px;letter-spacing:-.01em}.help-doc h2{font-family:var(--font-display);font-size:20px;font-weight:700;margin:32px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--clr-divider)}.help-doc h3{font-size:16px;font-weight:700;margin:24px 0 10px;color:var(--clr-text-primary)}.help-doc h4{font-size:14px;font-weight:600;margin:18px 0 8px;color:var(--clr-text-secondary)}.help-doc p{margin:8px 0 14px}.help-doc strong{color:var(--clr-text-primary);font-weight:600}.help-doc em{color:var(--clr-text-secondary)}.help-doc a{color:var(--clr-brand-400);text-decoration:none;border-bottom:1px dotted rgba(99,102,241,.4)}.help-doc a:hover{border-bottom-color:var(--clr-brand-400)}.help-doc ul,.help-doc ol{padding-left:22px;margin:8px 0 14px}.help-doc li{margin:4px 0}.help-doc li>p{margin:0}.help-doc blockquote{margin:14px 0;padding:10px 16px;border-left:3px solid var(--clr-brand-400);background:#6366f10d;border-radius:0 6px 6px 0;color:var(--clr-text-secondary)}.help-doc hr{border:none;border-top:1px solid var(--clr-divider);margin:28px 0}.help-doc code{font-family:var(--font-mono);font-size:12.5px;padding:1px 6px;background:#ffffff0d;border:1px solid var(--clr-border);border-radius:4px;color:var(--clr-brand-400)}.help-doc pre{background:#ffffff08;border:1px solid var(--clr-border);border-radius:8px;padding:12px 14px;overflow-x:auto;font-size:12px;margin:12px 0 18px}.help-doc pre code{background:transparent;border:none;padding:0;color:var(--clr-text-primary)}.help-doc table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:13px}.help-doc th{text-align:left;padding:8px 10px;background:#ffffff08;border:1px solid var(--clr-border);font-weight:600;color:var(--clr-text-primary)}.help-doc td{padding:7px 10px;border:1px solid var(--clr-border);color:var(--clr-text-secondary);vertical-align:top}.help-doc tr:nth-child(2n) td{background:#ffffff04}.help-doc h1[id],.help-doc h2[id],.help-doc h3[id]{scroll-margin-top:70px}.sidebar{grid-row:1 / -1;width:var(--sidebar-width);background:var(--clr-bg-secondary);border-right:1px solid var(--clr-border);display:flex;flex-direction:column;padding:0;position:sticky;top:0;height:100vh;overflow:hidden;transition:width var(--transition-base) var(--ease-out);z-index:var(--z-sticky)}.sidebar[data-collapsed=true]{width:var(--sidebar-collapsed-width)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--clr-border);min-height:var(--header-height);flex-shrink:0;min-width:0;overflow:hidden}.sidebar-logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--clr-brand-600),var(--clr-accent));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:var(--shadow-brand)}.sidebar-logo-text{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-extrabold);background:linear-gradient(135deg,var(--clr-text-primary),var(--clr-brand-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden}.sidebar-section-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--clr-text-muted);padding:var(--space-3) var(--space-3) var(--space-2);display:block}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--clr-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out);cursor:pointer;white-space:nowrap;position:relative}.nav-item:hover{background:var(--clr-bg-card-hover);color:var(--clr-text-primary)}.nav-item.active{background:#6366f126;color:var(--clr-brand-400);box-shadow:inset 0 0 0 1px #6366f133}.nav-item.active .nav-icon{color:var(--clr-brand-400)}.nav-icon{flex-shrink:0}.sidebar-bottom{padding:var(--space-3);border-top:1px solid var(--clr-border);flex-shrink:0}.sidebar-upgrade-card{display:flex;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,#4f46e526,#22d3ee12);border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--clr-text-primary);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar-upgrade-card:hover{background:linear-gradient(135deg,#4f46e540,#22d3ee1f);border-color:#6366f173}.app-header{grid-column:2;grid-row:1;height:var(--header-height);background:var(--clr-header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--clr-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);position:sticky;top:0;z-index:var(--z-sticky);min-width:0}.header-left{display:flex;align-items:center;gap:var(--space-4);flex-shrink:1;min-width:0}.header-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--clr-text-primary);line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.header-center{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.header-center>div{max-width:320px;width:100%;min-width:0}.header-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:0}.header-page-action{white-space:nowrap;flex-shrink:0}.notification-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:var(--clr-danger);border:2px solid var(--clr-bg-primary)}.header-user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.header-user:hover{background:var(--clr-bg-card-hover)}.header-user-info{display:flex;flex-direction:column}.header-user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--clr-text-primary);line-height:1.2}.header-user-role{font-size:var(--text-2xs);color:var(--clr-text-muted)}@media (max-width: 1500.98px){.app-header{gap:var(--space-3);padding:0 var(--space-4)}.header-right{gap:var(--space-2)}.header-center>div{max-width:260px}.workspace-badge-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-page-action-label{display:none}.header-page-action{gap:0;padding-inline:8px}.header-right .install-pwa-btn{padding:6px;min-width:32px;width:32px;height:32px;justify-content:center}.header-right .install-pwa-btn .install-pwa-label,.header-user-info{display:none}}@media (max-width: 1024.98px){.header-center{display:none}.header-page-action{display:none!important}}@media (max-width: 767.98px){.app-header{grid-column:1;padding:0 var(--space-3);gap:var(--space-2)}.header-left{gap:var(--space-2);flex-shrink:1;min-width:0}.header-title{font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.header-center{display:none}.header-right{gap:var(--space-1);flex-shrink:0}.header-user-info{display:none}.header-user{padding:var(--space-1)}.header-right [title="Switch to light mode"],.header-right [title="Switch to dark mode"]{display:none!important}.sidebar{position:fixed;z-index:var(--z-overlay);box-shadow:var(--shadow-lg)}}@media (max-width: 380px){.app-header .header-title{display:none}}@media (max-width: 767.98px){.header-dropdown{position:fixed!important;top:calc(var(--header-height) + 4px)!important;left:8px!important;right:8px!important;min-width:0!important;max-width:none!important;width:auto!important;max-height:calc(100vh - var(--header-height) - 16px);overflow-y:auto}.header-dropdown-notif>div:last-child{max-height:calc(100vh - var(--header-height) - 160px)!important}}
