*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg:#0a0a0c;--surface:#131316;--surface-raised:#1a1a1f;--surface-hover:#212127;--border:#26262e;--border-strong:#33333d;--accent:#e8703a;--accent-soft:#c88664;--accent-deep:#b4552a;--accent-glow:rgba(232,112,58,.14);--accent-line:rgba(232,112,58,.28);--success:#6fae8c;--warning:#c99a5c;--danger:#c56175;--info:#8b9fb0;--text:#f4f4f6;--text-muted:#8b8b99;--text-faint:#5a5a66;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 16px 48px rgba(0,0,0,.55);--ease:cubic-bezier(0.22,1,0.36,1);--fast:140ms var(--ease);--med:260ms var(--ease);--sidebar-w:250px;--sidebar-w-collapsed:72px;--topbar-h:64px;--font-heading:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-body:"Raleway",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"DM Mono",ui-monospace,"SF Mono",Menlo,monospace;--r:cubic-bezier(0.22,1,0.36,1);--surface2:#1a1a1f}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}.brand-wordmark,.font-heading,.gradient-text,.page-title,.sidebar-brand,.stat-number,h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em}body{background-image:radial-gradient(900px 600px at 8% -8%,rgba(232,112,58,.045),transparent 62%),radial-gradient(760px 520px at 102% 8%,rgba(232,112,58,.028),transparent 60%);background-attachment:fixed;min-height:100vh}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}::-moz-selection{background:rgba(244,244,246,.22);color:var(--text)}::selection{background:rgba(244,244,246,.22);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#45454f}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;position:relative}.card-raised{background:var(--surface-raised)}.card-hover{transition:border-color var(--fast),transform var(--fast)}.card-hover:hover{border-color:var(--border-strong);transform:translateY(-2px)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.15rem 1.25rem;position:relative;overflow:hidden;transition:border-color var(--fast),transform var(--fast)}.stat-card:before{inset:0 0 auto 0;height:2px;opacity:.9}.stat-card:after,.stat-card:before{content:"";position:absolute;background:var(--tile-accent,var(--accent-gradient,var(--accent)))}.stat-card:after{top:-60%;right:-30%;width:220px;height:220px;filter:blur(64px);opacity:.09;pointer-events:none}.stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.stat-number{font-size:1.7rem;font-weight:500;line-height:1.1}.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .95rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--fast),border-color var(--fast),transform var(--fast),opacity var(--fast)}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:#40404b}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:transparent;color:#180800;box-shadow:0 2px 14px rgba(232,112,58,.22)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-soft),var(--accent));border-color:transparent;box-shadow:0 4px 20px rgba(232,112,58,.32)}.btn-success{background:rgba(111,174,140,.1);border-color:rgba(111,174,140,.28);color:var(--success)}.btn-success:hover:not(:disabled){background:rgba(111,174,140,.18);border-color:rgba(111,174,140,.44)}.btn-danger{background:rgba(197,97,117,.09);border-color:rgba(197,97,117,.26);color:var(--danger)}.btn-danger:hover:not(:disabled){background:rgba(197,97,117,.18);border-color:rgba(197,97,117,.42)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:transparent}.btn-sm{padding:.35rem .6rem;font-size:.76rem}.btn-icon{padding:.5rem}input,select,textarea{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.86rem;padding:.55rem .7rem;width:100%;transition:border-color var(--fast),box-shadow var(--fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-faint)}input::placeholder,textarea::placeholder{color:var(--text-faint)}input[type=date]{color-scheme:dark}input[type=checkbox]{width:auto;accent-color:var(--accent);cursor:pointer}select{color-scheme:dark;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238B8B99' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;padding-right:1.9rem;cursor:pointer}textarea{resize:vertical;min-height:68px}label{font-size:.78rem;color:var(--text-muted);font-weight:600}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border-radius:99px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.badge-paid,.status-paid{background:rgba(111,174,140,.1);color:var(--success);border-color:rgba(111,174,140,.26)}.badge-in_progress,.badge-partial,.status-inprogress{background:rgba(201,154,92,.1);color:var(--warning);border-color:rgba(201,154,92,.26)}.badge-pending,.badge-unpaid,.status-unpaid{background:rgba(197,97,117,.09);color:var(--danger);border-color:rgba(197,97,117,.24)}.badge-frontend{background:rgba(232,112,58,.1);color:var(--accent);border-color:rgba(232,112,58,.26)}.badge-backend{background:rgba(139,159,176,.1);color:var(--info);border-color:rgba(139,159,176,.26)}.badge-ui_ux{background:hsla(21,23%,55%,.12);color:#a78573;border-color:hsla(21,23%,55%,.28)}.badge-fullstack{background:rgba(111,174,140,.1);color:var(--success);border-color:rgba(111,174,140,.26)}.badge-other{background:hsla(240,6%,57%,.1);color:var(--text-muted);border-color:var(--border-strong)}select.status-select-paid{background:rgba(111,174,140,.09);color:var(--success);border-color:rgba(111,174,140,.3)}select.status-select-inprogress{background:rgba(201,154,92,.09);color:var(--warning);border-color:rgba(201,154,92,.3)}select.status-select-unpaid{background:rgba(197,97,117,.08);color:var(--danger);border-color:rgba(197,97,117,.28)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns var(--med)}.app-shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);overflow:hidden;z-index:40}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:0 1.15rem;min-height:var(--topbar-h)}.brand-mark{width:34px;height:34px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:grid;place-items:center;font-weight:800;font-size:.82rem;color:#180800;box-shadow:0 2px 12px rgba(232,112,58,.28)}.sidebar-group-label{padding:0 1.15rem;margin:1.1rem 0 .4rem;font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.nav-item{display:flex;align-items:center;gap:.75rem;width:calc(100% - 1rem);margin:.1rem .5rem;padding:.6rem .65rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap;position:relative;transition:background var(--fast),color var(--fast)}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-glow);color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-item svg{flex-shrink:0}.sidebar-label{transition:opacity var(--fast)}.app-shell.collapsed .sidebar-label{opacity:0;pointer-events:none;display:none}.app-shell.collapsed .nav-item{justify-content:center}.app-shell.collapsed .sidebar-group-label{color:transparent}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:flex;align-items:center;gap:1rem;padding:0 1.5rem;background:rgba(10,10,12,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.page-title{font-size:1.06rem;font-weight:700;letter-spacing:-.01em}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:grid;place-items:center;font-size:.74rem;font-weight:800;color:#180800;flex-shrink:0;border:none;cursor:pointer}.content-area{padding:1.5rem;width:100%}.live-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem;border-radius:99px;background:var(--surface-raised);border:1px solid var(--border);font-size:.75rem;color:var(--text-muted);white-space:nowrap}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(111,174,140,.42)}70%{box-shadow:0 0 0 7px rgba(111,174,140,0)}to{box-shadow:0 0 0 0 rgba(111,174,140,0)}}.segment{display:inline-flex;gap:2px;padding:3px;background:var(--surface-raised);border:1px solid var(--border);border-radius:10px}.segment-btn{padding:.4rem .8rem;border:none;border-radius:7px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.79rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--fast),color var(--fast)}.segment-btn:hover{color:var(--text)}.segment-btn.active{background:var(--accent);color:#180800}.chip{padding:.35rem .75rem;border-radius:99px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all var(--fast)}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--accent-glow);border-color:var(--accent-line);color:var(--accent)}.tab-btn{padding:.55rem .9rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--fast)}.tab-btn:hover{color:var(--text);background:var(--surface-hover)}.tab-btn.active{background:var(--accent-glow);color:var(--accent)}.data-table{width:100%;border-collapse:collapse;font-size:.84rem}.data-table thead th{text-align:left;padding:.6rem .75rem;font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap}.data-table tbody td{padding:.7rem .75rem;border-bottom:1px solid var(--border)}.data-table tbody tr{transition:background var(--fast)}.data-table tbody tr:hover{background:var(--surface-raised)}.data-table tbody tr:last-child td{border-bottom:none}.milestone-row,.table-row{transition:background var(--fast)}.milestone-row:hover,.table-row:hover{background:var(--surface-raised)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.pbar,.progress-track{height:6px;border-radius:99px;background:var(--surface-hover);overflow:hidden}.pbar>div,.progress-bar-fill,.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent-deep),var(--accent-soft));transition:width .7s var(--ease)}.meter{display:flex;gap:3px;height:8px}.meter>span{border-radius:3px;display:block}.inv-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.inv-preview table{min-width:520px}.inv-preview table,.inv-preview>div:has(>table){max-width:100%}.inv-preview{overflow-x:auto}.inv-tile,.invoice-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.95rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);font-family:inherit;font-size:.82rem;font-weight:600;text-align:left;cursor:pointer;transition:all var(--fast)}.inv-tile:hover,.invoice-tile:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-2px)}.inv-tile.active,.invoice-tile.active{background:var(--accent-glow);border-color:var(--accent-line);color:var(--accent)}.sum-item,.summary-bar-item{padding:.75rem 1rem;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--border)}.toast{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;display:flex;align-items:center;gap:.6rem;padding:.8rem 1.1rem;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:.85rem;font-weight:600;animation:toastIn .3s var(--ease)}.toast-success{border-color:rgba(111,174,140,.38);color:var(--success)}.toast-error{border-color:rgba(197,97,117,.38);color:var(--danger)}.toast-exit{animation:toastOut .24s var(--ease) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(14px) scale(.97)}}.modal-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1.5rem;animation:fadeIn .18s var(--ease)}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.5rem;width:100%;max-width:460px;animation:modalIn .24s var(--ease)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.gradient-text{background:linear-gradient(100deg,var(--accent-soft),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.divider{height:1px;background:var(--border);border:none}.only-drawer{display:none}.empty-state{padding:2.5rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.88rem}.skeleton{background:linear-gradient(100deg,var(--surface-raised) 30%,var(--surface-hover) 45%,var(--surface-raised) 60%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.spinner{width:15px;height:15px;border:2px solid hsla(0,0%,100%,.22);border-top-color:currentcolor;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes spinRing{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.anim-header{animation:fadeDown .4s var(--ease) both}.anim-tabs{animation:fadeDown .4s var(--ease) 60ms both}.anim-balance,.anim-content,.anim-stat,.anim-tile{animation:fadeUp .42s var(--ease) both}.anim-chart{animation:scaleUp .46s var(--ease) .12s both}.anim-row{animation:fadeUp .32s var(--ease) both}.anim-number,.anim-partner1,.anim-partner2{animation:fadeUp .42s var(--ease) both}.s1{animation-delay:40ms}.s3{animation-delay:.12s}.s5{animation-delay:.2s}.s7{animation-delay:.28s}.n1{animation-delay:40ms}.n2{animation-delay:80ms}.n3{animation-delay:.12s}.od1,.od2,.od3{display:none}.form-slide{animation:fadeUp .3s var(--ease) both}.expand-content{animation:fadeUp .26s var(--ease) both}.tab-content{animation:fadeUp .38s var(--ease) both}.chart-wrap{width:100%}.completed-project-card{opacity:.72}.glow-val{text-shadow:0 0 22px var(--accent-glow)}.pulse-positive{color:var(--success)}.app-header,.landing-bg,.logo-btn,.logo-float,.nav-bar,.nebula,.orbit-dot,.orbit-wrap,.upload-zone{display:none}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:1024px){.app-shell,.app-shell.collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-w);transform:translateX(-100%);transition:transform var(--med);box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.app-shell.collapsed .sidebar-label{opacity:1;pointer-events:auto;display:initial}.app-shell.collapsed .nav-item{justify-content:flex-start}.app-shell.collapsed .sidebar-group-label{color:var(--text-faint)}.scrim{position:fixed;inset:0;z-index:35;background:rgba(0,0,0,.6);backdrop-filter:blur(2px);border:none;animation:fadeIn .18s var(--ease)}.only-drawer{display:inline-flex}.no-drawer{display:none!important}}@media (max-width:720px){body,html{font-size:14px}.content-area{padding:1rem}.topbar{padding:0 1rem;gap:.6rem}.card,.stat-card{padding:1rem;border-radius:var(--radius)}.inv-preview{padding:1.1rem}.hide-sm{display:none!important}.chip,.segment-btn{padding:.55rem .85rem;font-size:.82rem;min-height:36px}.segment{padding:4px}.card p,.stat-card p{overflow-wrap:anywhere;word-break:normal}}@media (max-width:400px){.content-area{padding:.75rem}.topbar{padding:0 .75rem;gap:.4rem}.card,.stat-card{padding:.85rem}.stat-number{font-size:1.45rem}}