:root{--g-arrow-color:#1f2937;--g-bar-color:#fff;--g-bar-border:#fff;--g-tick-color-thick:#ededed;--g-tick-color:#f3f3f3;--g-actions-background:#f3f3f3;--g-border-color:#ebeff2;--g-text-muted:#7c7c7c;--g-text-light:#fff;--g-text-dark:#171717;--g-progress-color:#dbdbdb;--g-handle-color:#37352f;--g-weekend-label-color:#dcdce4;--g-expected-progress:#c4c4e9;--g-header-background:#fff;--g-row-color:#fdfdfd;--g-row-border-color:#c7c7c7;--g-today-highlight:#37352f;--g-popup-actions:#ebeff2;--g-weekend-highlight-color:#f7f7f7}html[data-theme=dark]{--g-arrow-color:#e5e5e5;--g-bar-color:#2a2a2a;--g-bar-border:#3a3a3a;--g-tick-color-thick:#1a1a1a;--g-tick-color:#0a0a0a;--g-actions-background:#1a1a1a;--g-border-color:#2a2a2a;--g-text-muted:#999;--g-text-light:#fff;--g-text-dark:#f5f5f5;--g-progress-color:#4a4a4a;--g-handle-color:#d0d0d0;--g-weekend-label-color:#3a3a3a;--g-expected-progress:#5a5a5a;--g-header-background:#0a0a0a;--g-row-color:#141414;--g-row-border-color:#2a2a2a;--g-today-highlight:#999;--g-popup-actions:#1a1a1a;--g-weekend-highlight-color:#0f0f0f}.gantt-container{height:var(--gv-grid-height);isolation:isolate;border-radius:8px;width:100%;font-size:12px;line-height:14.5px;position:relative;overflow:auto}.gantt-container .popup-wrapper{background:var(--g-header-background);z-index:1000;border-radius:5px;width:max-content;padding:10px;position:absolute;top:0;left:0;box-shadow:0 10px 24px -3px #0003}.gantt-container .popup-wrapper .title{color:var(--g-text-dark);margin-bottom:2px;font-size:.85rem;font-weight:650;line-height:15px}.gantt-container .popup-wrapper .subtitle{color:var(--g-text-dark);margin-bottom:5px;font-size:.8rem}.gantt-container .popup-wrapper .details{color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-top:10px;margin-left:3px}.gantt-container .popup-wrapper .action-btn{background-color:var(--g-popup-actions);border:none;border-right:1px solid var(--g-border-color);padding:5px 8px}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-right:none;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt-container .grid-header{height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);background-color:var(--g-header-background);border-bottom:1px solid var(--g-row-border-color);z-index:1000;position:sticky;top:0;left:0}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{width:calc(var(--gv-column-width) * .8);height:calc(var(--gv-lower-header-height) * .8);margin:0 calc(var(--gv-column-width) * .1);text-align:center;color:var(--g-text-muted);align-content:center;font-size:12px;position:absolute}.gantt-container .upper-text{width:-moz-fit-content;width:fit-content;color:var(--g-text-dark);height:calc(var(--gv-lower-header-height) * .66);font-size:14px;font-weight:500;position:absolute}.gantt-container .current-upper{background:var(--g-header-background);padding-left:17px;position:sticky;left:0!important}.gantt-container .side-header{float:right;z-index:1000;background:var(--g-header-background);width:max-content;margin-left:auto;padding-top:10px;padding-right:10px;font-weight:400;line-height:20px;display:flex;position:sticky;top:0;right:0}.gantt-container .side-header *{background-color:var(--g-actions-background);color:var(--g-text-dark);letter-spacing:.02em;box-sizing:content-box;border:none;border-radius:.5rem;margin-right:5px;padding:5px 8px;font-size:14px;font-weight:420;transition-property:background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gantt-container .side-header :last-child{margin-right:0}.gantt-container .side-header :hover{filter:brightness(97.5%)}.gantt-container .side-header select{width:60px;padding-top:2px;padding-bottom:2px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:var(--g-progress-color);height:calc(var(--gv-lower-header-height) - 6px);top:calc(var(--gv-upper-header-height) + 5px);border-radius:12px;position:absolute}.gantt-container .current-highlight{background:var(--g-today-highlight);z-index:999;width:1px;position:absolute}.gantt-container .current-ball-highlight{background:var(--g-today-highlight);z-index:1001;border-radius:50%;position:absolute}.gantt-container .current-date-highlight{background:var(--g-today-highlight);color:var(--g-text-light);border-radius:5px}.gantt-container .holiday-label{opacity:0;z-index:1000;background:var(--g-weekend-label-color);border-radius:5px;padding:2px 5px;position:absolute;top:0;left:0}.gantt-container .holiday-label.show{opacity:100}.gantt-container .extras{position:sticky;left:0}.gantt-container .extras .adjust{left:8px;top:calc(var(--gv-grid-height) - 60px);background-color:var(--g-actions-background);color:var(--g-text-light);border:none;border-radius:3px;padding:8px;position:absolute}.gantt-container .hide{display:none}.gantt{-webkit-user-select:none;user-select:none;position:absolute}.gantt .grid-background{fill:none}.gantt .row-line{stroke:var(--g-border-color)}.gantt .tick{stroke:var(--g-tick-color);stroke-width:.4px}.gantt .tick.thick{stroke:var(--g-tick-color-thick);stroke-width:.7px}.gantt .arrow{fill:none;stroke:var(--g-arrow-color);stroke-width:1.5px}.gantt .bar-wrapper .bar{fill:var(--g-bar-color);stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s}.gantt .bar-progress{fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:#0000;stroke:var(--g-bar-border);stroke-width:1px;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:var(--g-text-light)}.gantt .bar-label{fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:var(--g-handle-color);opacity:0;transition:opacity .3s}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{outline:1px solid var(--g-row-border-color);border-radius:3px}.gantt .bar-wrapper:hover .bar{transition:transform .3s}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:#0000;pointer-events:all}.gantt .grid-column:hover{fill:var(--g-weekend-highlight-color);transition:fill .1s}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#152238;--ink-soft:#516079;--navy:#101b2d;--navy-2:#16243a;--paper:#f4f6f8;--surface:#fff;--line:#dde3ea;--line-strong:#cbd4df;--blue:#2c67d4;--blue-soft:#e8f0ff;--teal:#138a7e;--teal-soft:#e2f5f1;--gold:#d39134;--gold-soft:#fff2dc;--coral:#dc654e;--coral-soft:#ffebe7;--danger:#c4483d;--success:#178160;--radius:16px;--shadow:0 10px 30px #17243812;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #2c67d459}.app-frame{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;background:var(--navy);color:#e8eef8;border-right:1px solid #ffffff0f;flex-direction:column;width:248px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;height:88px;padding:0 24px;display:flex}.brand-mark{background:linear-gradient(145deg,#e8ad53,#bd7627);border-radius:12px 4px;place-items:center;width:40px;height:40px;display:grid;transform:rotate(45deg);box-shadow:inset 0 1px #ffffff59,0 8px 20px #0003}.brand-mark span{color:#fff;font:750 18px/1 Georgia,serif;transform:rotate(-45deg)}.brand-block strong{letter-spacing:.02em;font-family:Georgia,serif;font-size:19px;display:block}.brand-block small{color:#93a3bb;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.primary-nav{padding:22px 13px;overflow-y:auto}.nav-label{color:#708099;letter-spacing:.16em;text-transform:uppercase;margin:0 12px 10px;font-size:10px;font-weight:700}.primary-nav a{color:#aebbd0;border-radius:10px;align-items:center;gap:13px;min-height:44px;margin:3px 0;padding:0 13px;font-size:13px;font-weight:560;transition:all .18s;display:flex;position:relative}.primary-nav a svg{opacity:.8}.primary-nav a:hover{color:#fff;background:#ffffff0e}.primary-nav a.current{color:#fff;background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff08}.primary-nav a.current:before{content:"";background:var(--gold);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-13px}.primary-nav a.current svg{color:#efb65d;opacity:1}.sidebar-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:16px 14px 19px}.user-chip{align-items:center;gap:11px;min-width:0;padding:7px;display:flex}.user-chip>span:last-child{min-width:0}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.user-chip small{color:#8392aa;text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.avatar,.top-avatar{color:#f6ce8c;background:#2b3b54;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:750;display:grid}.sidebar-action{color:#7f90aa;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 11px;font-size:11px;display:flex}.sidebar-action:hover{color:#fff;background:#ffffff0d}.main-area{grid-column:2;min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(22px,3vw,46px);display:flex;position:sticky;top:0}.topbar h1{margin:3px 0 0;font-family:Georgia,serif;font-size:21px;font-weight:650}.eyebrow{color:#7e8ba0;letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:9px;font-weight:750}.topbar-actions{align-items:center;gap:9px;display:flex}.icon-button{border:1px solid var(--line);color:#607089;cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:inline-grid}.icon-button:hover{color:var(--blue);background:#f8fbff;border-color:#b9c9e4}.icon-button.danger:hover{color:var(--danger);background:#fff8f7;border-color:#e4bbb7}.icon-button.stop-button,.stop-button{color:var(--danger)}.top-avatar{background:var(--navy-2);color:#f3c47c;width:38px;height:38px;margin-left:5px}.mobile-menu{display:none}.running-timer{height:42px;color:var(--success);cursor:pointer;background:#f4fcf9;border:1px solid #c7e3da;border-radius:11px;align-items:center;gap:9px;padding:0 13px;display:flex}.running-timer small,.running-timer strong{text-align:left;display:block}.running-timer small{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:9px;overflow:hidden}.running-timer strong{font-variant-numeric:tabular-nums;letter-spacing:.07em;margin-top:1px;font-size:13px}.pulse-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0 #17816080}@keyframes pulse{70%{box-shadow:0 0 0 8px #17816000}}.page-stage{max-width:1600px;margin:0 auto;padding:32px clamp(22px,3vw,46px) 60px}.page-flow{gap:22px;display:grid}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:12px;font-weight:680;transition:all .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:wait;transform:none}.button-primary{background:var(--blue);color:#fff;box-shadow:0 7px 16px #2c67d42e}.button-primary:hover{background:#245abb}.button-accent{background:var(--gold);color:#fff;box-shadow:0 7px 16px #d3913433}.button-light{color:var(--navy);background:#fff}.button-light-outline{color:#fff;background:0 0;border-color:#ffffff47}.button-ghost{border-color:var(--line);color:#516078;background:#fff}.button-danger{background:var(--danger);color:#fff}.button-small{min-height:34px;padding:0 12px;font-size:11px}.button-large{border-radius:11px;min-height:49px;padding:0 21px}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px 0;font-size:11px;font-weight:650;display:flex}.page-toolbar{justify-content:space-between;align-items:end;gap:30px;display:flex}.page-toolbar h2{margin:5px 0 6px;font:650 clamp(25px,3vw,34px)/1.1 Georgia,serif}.page-toolbar>div>p:last-child{color:var(--ink-soft);margin:0;font-size:13px}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:17px;min-height:62px;padding:10px 14px;display:flex;box-shadow:0 5px 20px #14223609}.filter-bar>span:last-child{color:#8490a1;margin-left:auto;padding-right:6px;font-size:11px}.search-box{color:#8693a6;align-items:center;gap:9px;min-width:min(460px,55vw);padding:0 10px;display:flex}.search-box input{width:100%;height:38px;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.toggle-label{color:#69778b;cursor:pointer;align-items:center;gap:7px;font-size:11px;display:flex}.toggle-label input{opacity:0;position:absolute}.toggle-label span{background:#d7dde5;border-radius:10px;width:32px;height:18px;transition:all .2s;position:relative}.toggle-label span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000026}.toggle-label input:checked+span{background:var(--blue)}.toggle-label input:checked+span:after{transform:translate(14px)}.panel,.table-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.panel-head{border-bottom:1px solid #e8ecf1;justify-content:space-between;align-items:center;gap:15px;min-height:74px;padding:18px 22px;display:flex}.panel-head h3{margin:3px 0 0;font:650 17px/1.2 Georgia,serif}.panel-head>a,.panel-head>.muted{color:var(--blue);font-size:10px;font-weight:650}.dashboard-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.record-list{display:grid}.record-row{border-bottom:1px solid #edf0f4;grid-template-columns:38px minmax(0,1fr) auto 90px;align-items:center;gap:12px;min-height:69px;padding:10px 21px;transition:all .15s;display:grid}.record-row:last-child{border-bottom:0}.record-row:hover{background:#f8faff}.record-monogram{background:var(--blue-soft);width:34px;height:34px;color:var(--blue);border-radius:9px;place-items:center;font-size:10px;font-weight:760;display:grid}.estimate-mono{background:var(--gold-soft);color:#a76713}.record-main{min-width:0}.record-main strong,.record-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.record-main strong{font-size:12px}.record-main small{color:#8a95a5;margin-top:4px;font-size:9px}.row-date{color:#8b96a6;text-align:right;font-size:9px}.inline-empty{color:#8b96a7;text-align:center;margin:0;padding:24px;font-size:11px}.inline-empty.spacious{padding:50px 24px}.hero-strip{color:#fff;background:linear-gradient(120deg,#132137,#1b3150);border-radius:19px;justify-content:space-between;align-items:center;gap:30px;min-height:170px;padding:31px 35px;display:flex;position:relative;overflow:hidden;box-shadow:0 13px 30px #101b2d26}.hero-strip:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:360px;height:360px;position:absolute;top:-210px;right:-100px;box-shadow:0 0 0 50px #ffffff06,0 0 0 100px #ffffff05}.hero-strip>*{z-index:1;position:relative}.hero-strip .eyebrow{color:#8fa9ce}.hero-strip h2{margin:8px 0 7px;font:650 29px/1.1 Georgia,serif}.hero-strip p:last-child{color:#aebcd0;margin:0;font-size:12px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-rows:auto auto auto;grid-template-columns:40px 1fr;column-gap:13px;min-height:116px;padding:19px;transition:all .17s;display:grid;position:relative;box-shadow:0 7px 22px #1724380b}.metric-card:hover{box-shadow:var(--shadow);border-color:#c5d0dd;transform:translateY(-2px)}.metric-icon{border-radius:11px;grid-row:1/4;place-items:center;width:40px;height:40px;display:grid}.accent-blue{color:var(--blue);background:var(--blue-soft)}.accent-gold{color:#ad6d18;background:var(--gold-soft)}.accent-teal{color:var(--teal);background:var(--teal-soft)}.accent-coral{color:var(--coral);background:var(--coral-soft)}.metric-card>span{color:#6f7c8f;font-size:10px;font-weight:650}.metric-card>strong{margin-top:4px;font:650 25px/1 Georgia,serif}.metric-card>small{color:#99a2b0;margin-top:5px;font-size:9px}.status-pill{color:#647187;text-transform:capitalize;white-space:nowrap;background:#f0f2f5;border-radius:20px;align-items:center;gap:6px;width:max-content;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.status-pill i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-active,.status-accepted,.status-completed,.status-sent_dummy,.status-received{color:#14795c;background:#e4f5ef}.status-draft,.status-setup,.status-planned,.status-pending{color:#6f7785;background:#eff1f4}.status-ready,.status-sent,.status-in_progress,.status-processing{color:#2b64c6;background:#e7efff}.status-ordered,.status-on_hold,.status-unpaid,.status-part_paid{color:#9a661d;background:#fff2db}.status-rejected,.status-cancelled,.status-failed,.status-inactive,.status-overdue{color:#b04b41;background:#fee9e6}.status-archived,.status-void{color:#6a607c;background:#eeeaf4}.status-paid{color:#14795c;background:#e4f5ef}.customer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.customer-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:220px;padding:21px;transition:all .17s;display:grid;box-shadow:0 6px 20px #1724380a}.customer-card:hover{box-shadow:var(--shadow);border-color:#bcc9d8;transform:translateY(-2px)}.customer-card header{justify-content:space-between;align-items:start;display:flex}.customer-avatar{color:#f2c379;background:linear-gradient(145deg,#263b5c,#15243b);border-radius:12px;place-items:center;width:42px;height:42px;font-size:12px;font-weight:750;display:grid}.customer-card h3{margin:17px 0 4px;font:650 18px/1.2 Georgia,serif}.customer-card>p{color:#8792a3;margin:0;font-size:10px}.customer-card-meta{align-items:end;gap:23px;margin:18px 0;display:flex}.customer-card-meta span{color:#8b96a5;font-size:9px}.customer-card-meta strong{color:var(--ink);margin-right:3px;font-size:14px}.customer-card footer{color:#8b96a5;border-top:1px solid #edf0f3;justify-content:space-between;align-items:end;gap:8px;padding-top:14px;font-size:9px;display:flex}.customer-card footer span:last-child{color:var(--blue);font-weight:650}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.project-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:215px;padding:21px;transition:all .17s;box-shadow:0 6px 20px #1724380a}.project-card:hover{box-shadow:var(--shadow);border-color:#bcc9d8;transform:translateY(-2px)}.project-card header,.project-card footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.project-number{color:#8290a2;letter-spacing:.08em;font-size:9px;font-weight:700}.project-card h3{margin:22px 0 5px;font:650 18px/1.2 Georgia,serif}.project-card>p{color:#7f8b9d;margin:0;font-size:10px}.project-card-progress{align-items:center;gap:12px;margin:25px 0 19px;display:flex}.project-card-progress>span{background:#edf0f4;border-radius:4px;flex:1;height:5px;overflow:hidden}.project-card-progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}.project-card-progress small,.project-card footer{color:#8793a5;font-size:9px}.project-card footer strong{color:var(--blue);font-size:9px}.project-card-billing{border-top:1px solid #edf0f3;border-bottom:1px solid #edf0f3;gap:11px;margin:20px 0 17px;padding:13px 0;display:grid}.project-card-billing>div{grid-template-columns:1fr auto;align-items:end;gap:5px 10px;display:grid}.project-card-billing>div>span:first-child{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.project-card-billing small{color:#8591a2;letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:700}.project-card-billing strong{color:var(--ink);font-size:10px}.project-card-billing>div>span:nth-child(2){color:#718096;font-size:8px;font-weight:700}.project-card-billing i{background:#e9edf2;border-radius:4px;grid-column:1/-1;height:5px;overflow:hidden}.project-card-billing b{border-radius:inherit;background:var(--blue);height:100%;display:block}.project-card-billing i.paid b{background:var(--teal)}.data-table{border-collapse:collapse;width:100%}.data-table th{border-bottom:1px solid var(--line);color:#7d899b;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#f8f9fb;padding:13px 18px;font-size:9px;font-weight:750}.data-table td{color:#4f5d72;border-bottom:1px solid #edf0f3;padding:15px 18px;font-size:11px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:all .13s}.data-table tbody tr:hover{cursor:pointer;background:#f8faff}.data-table td strong,.data-table td small{display:block}.data-table td strong{color:var(--ink);font-size:11px}.data-table td small{color:#8e99a8;margin-top:4px;font-size:9px}.row-arrow{text-align:right;color:var(--blue)!important;font-size:16px!important}.table-scroll{overflow-x:auto}.table-scroll .data-table{min-width:1000px}.back-link{color:#708097;align-items:center;gap:6px;width:max-content;font-size:10px;font-weight:650;display:inline-flex}.back-link:hover{color:var(--blue)}.detail-hero{color:#fff;background:linear-gradient(118deg,#142239,#1d3454);border-radius:18px;justify-content:space-between;align-items:center;gap:30px;min-height:170px;padding:31px 35px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 31px #101b2d24}.detail-hero:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-120px;right:-50px;box-shadow:0 0 0 38px #ffffff05,0 0 0 78px #ffffff04}.detail-hero>*{z-index:1;position:relative}.detail-hero h2{margin:10px 0 7px;font:650 clamp(25px,3vw,34px)/1.1 Georgia,serif}.detail-hero>div>p:last-child{color:#aebcd0;max-width:700px;margin:0;font-size:11px}.hero-status-line{color:#93a5c0;letter-spacing:.05em;align-items:center;gap:11px;font-size:9px;font-weight:650;display:flex}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.detail-title{align-items:center;gap:20px;display:flex}.large-monogram{color:#f3c77e;background:#ffffff1a;border:1px solid #ffffff21;border-radius:17px;place-items:center;width:70px;height:70px;font:650 20px Georgia,serif;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:108px;padding:19px;box-shadow:0 5px 17px #17243809}.summary-card span,.summary-card strong,.summary-card small{display:block}.summary-card span{color:#7d899a;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:650}.summary-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:13px;font:650 16px Georgia,serif;overflow:hidden}.summary-card small{color:#98a2b0;margin-top:6px;font-size:9px}.financial-ribbon{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.financial-ribbon>div{border-right:1px solid #e7ebf0;min-height:105px;padding:20px 22px}.financial-ribbon>div:last-child{border-right:0}.financial-ribbon span,.financial-ribbon strong,.financial-ribbon small{display:block}.financial-ribbon span{color:#7c899b;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:680}.financial-ribbon strong{margin-top:13px;font:650 19px Georgia,serif}.financial-ribbon small{color:#8693a4;margin-top:5px;font-size:9px}.financial-ribbon .ribbon-total{color:#fff;background:#142239}.financial-ribbon .ribbon-total span,.financial-ribbon .ribbon-total small{color:#9fb0c8}.financial-ribbon .ribbon-total strong{color:#f5c779;font-size:22px}.tab-bar{border:1px solid var(--line);background:#fff;border-radius:12px;gap:3px;padding:5px;display:flex;overflow-x:auto}.tab-bar button{color:#718096;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;min-height:38px;padding:0 16px;font-size:10px;font-weight:680}.tab-bar button:hover{color:var(--ink);background:#f4f6f9}.tab-bar button.active{background:var(--navy-2);color:#fff;box-shadow:0 5px 12px #16243a26}.element-table{overflow-x:auto}.element-table-head,.element-row{grid-template-columns:minmax(280px,2fr) 105px 170px 120px 180px;align-items:center;min-width:900px;display:grid}.element-table-head{border-bottom:1px solid var(--line);color:#7b8798;letter-spacing:.07em;text-transform:uppercase;background:#f8f9fb;min-height:42px;padding:0 19px;font-size:8px;font-weight:750}.element-row{color:#536176;border-bottom:1px solid #edf0f3;min-height:66px;padding:8px 14px 8px 19px;font-size:10px;transition:all .13s}.element-row:last-child{border-bottom:0}.element-row:hover{background:#f9faff}.element-row.disabled{opacity:.48;background:#fafafa}.element-row.parent{background:#fcfdfd}.element-name{min-width:0;padding-left:calc(var(--depth) * 22px);align-items:center;gap:10px;display:flex}.element-name>span:last-child{min-width:0}.element-name strong,.element-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.element-name strong{color:var(--ink);font-size:11px}.element-name small{color:#909baa;margin-top:4px;font-size:8px}.element-collapse-button,.element-collapse-spacer{flex:none;width:24px;height:24px}.element-collapse-button{color:#718097;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:all .15s;display:grid}.element-collapse-button:hover{color:var(--blue);background:#eaf0f7}.element-collapse-button svg{transition:transform .15s;transform:rotate(0)}.element-collapse-button.expanded svg{transform:rotate(90deg)}.element-panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.element-panel .panel-head{flex-wrap:wrap}.type-glyph{border-radius:8px;flex:none;place-items:center;width:29px;height:29px;font-size:10px;font-weight:750;display:grid}.type-labour{color:var(--blue);background:var(--blue-soft)}.type-purchase{color:#9a6419;background:var(--gold-soft)}.type-group{color:var(--teal);background:var(--teal-soft)}.type-milestone{color:#a95547;background:var(--coral-soft)}.basis-chip{color:#65748a;background:#edf1f6;border-radius:6px;padding:4px 7px;font-size:8px;font-weight:700;display:inline-block}.public-label{color:var(--teal);margin-top:4px;font-size:8px;display:block}.dual-price{gap:4px;display:flex}.dual-price span{color:#546277;background:#f4f6f8;border-radius:6px;min-width:74px;padding:5px 7px;font-size:9px}.dual-price span+span{color:#45658f;background:#eef3fb}.row-actions{justify-content:flex-end;gap:5px;display:flex}.row-actions .icon-button{background:0 0;border-color:#0000;width:30px;height:30px}.row-actions .icon-button:hover{border-color:var(--line);background:#fff}.project-elements .element-table-head,.project-elements .element-row{grid-template-columns:minmax(300px,2fr) 145px 220px 130px 180px;min-width:1020px}.project-price-mode{justify-items:start;gap:5px;display:grid}.project-price-mode>small{color:#8491a2;font-size:8px}.project-price-mode .status-pill{padding:3px 7px;font-size:8px}.project-price-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.project-price-comparison>span,.project-price-comparison>strong{color:#546277;background:#f4f6f8;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:500}.project-price-comparison>strong{color:#315e9c;background:#eaf1fb;font-weight:750}.project-price-comparison small{color:#8a95a5;text-transform:uppercase;margin-bottom:2px;font-size:7px;font-weight:650;display:block}.project-price-comparison .price-breakdown{text-transform:none;grid-column:1/-1;margin:1px 0 0}.project-actual{gap:4px;display:grid}.project-actual strong{color:#536176;font-size:10px}.project-actual small{color:#8a95a5;font-size:8px}.timer-play{color:var(--success)!important}.variance-negative{color:var(--danger)!important}.billing-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.billing-overview-metrics article{border-right:1px solid #edf0f3;min-height:123px;padding:21px 23px}.billing-overview-metrics article:last-child{border-right:0}.billing-overview-metrics span,.billing-overview-metrics strong,.billing-overview-metrics small{display:block}.billing-overview-metrics span,.billing-kpi>span{color:#7b8798;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.billing-overview-metrics strong{margin-top:11px;font:650 19px Georgia,serif}.billing-overview-metrics small{color:#8a96a6;margin-top:7px;font-size:9px}.billing-progress{background:#e9edf2;border-radius:5px;width:100%;height:6px;margin-top:13px;overflow:hidden}.billing-progress i{border-radius:inherit;background:var(--blue);height:100%;transition:width .25s;display:block}.billing-progress.paid i{background:var(--teal)}.billing-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.billing-kpi{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:135px;padding:20px;box-shadow:0 5px 17px #17243809}.billing-kpi>strong,.billing-kpi>small{display:block}.billing-kpi>strong{margin-top:14px;font:650 20px Georgia,serif}.billing-kpi>small{color:#8a96a6;margin-top:8px;font-size:9px}.invoice-list{background:#f7f9fb;gap:14px;padding:20px;display:grid}.invoice-card{background:#fff;border:1px solid #d9e0e8;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #17243809}.invoice-card.void{opacity:.68}.invoice-card-head{background:#fbfcfd;border-bottom:1px solid #e8ecf1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:17px;padding:17px 19px;display:grid}.invoice-card-head h4{margin:4px 0 0;font:650 14px Georgia,serif}.invoice-card-head h4 small{color:#8994a4;font:500 9px Inter,ui-sans-serif,sans-serif}.invoice-card-head>strong{text-align:right;min-width:110px;font:650 17px Georgia,serif}.invoice-number{color:var(--blue);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:750}.invoice-note{color:#6d7a8e;border-bottom:1px solid #edf0f3;margin:0;padding:12px 19px;font-size:10px}.invoice-lines{display:grid}.invoice-lines>div{color:#536176;border-bottom:1px solid #edf0f3;grid-template-columns:minmax(240px,1fr) 140px 120px;align-items:center;gap:15px;min-height:58px;padding:10px 19px;font-size:10px;display:grid}.invoice-lines>div>span:first-child strong,.invoice-lines>div>span:first-child small,.invoice-lines>div>span:nth-child(2) small{display:block}.invoice-lines>div>span:first-child strong{color:var(--ink);font-size:10px}.invoice-lines>div small{color:#8d98a7;margin-top:4px;font-size:8px}.invoice-lines>div>strong{text-align:right}.invoice-totals{color:#6e7b8e;background:#fafbfc;border-bottom:1px solid #edf0f3;justify-content:flex-end;gap:22px;padding:14px 19px;font-size:9px;display:flex}.invoice-totals strong{color:var(--ink)}.invoice-payment-summary{color:#6d7a8d;grid-template-columns:1fr auto;gap:7px 15px;padding:14px 19px;font-size:9px;display:grid}.invoice-payment-summary>span:first-child strong{color:var(--ink)}.invoice-payment-summary .billing-progress{grid-column:1/-1;margin-top:0}.payment-list{background:#f9fbfa;border:1px solid #dfe5eb;border-radius:8px;margin:0 19px}.payment-list>div{border-bottom:1px solid #e5eae8;grid-template-columns:1fr auto 30px;align-items:center;gap:12px;min-height:51px;padding:8px 10px 8px 13px;font-size:9px;display:grid}.payment-list>div:last-child{border-bottom:0}.payment-list span strong,.payment-list span small{display:block}.payment-list span small{color:#8995a4;margin-top:3px;font-size:8px}.payment-list .icon-button{background:0 0;border-color:#0000;width:28px;height:28px}.invoice-actions{justify-content:flex-end;align-items:center;gap:14px;padding:14px 19px;display:flex}.danger-text{color:var(--danger)}.void-reason{color:#765d7f;margin:0;padding:13px 19px;font-size:9px}.invoice-selector{border:1px solid var(--line);border-radius:10px;max-height:390px;overflow:auto}.invoice-selector-head,.invoice-select-row{grid-template-columns:minmax(260px,1fr) 115px 105px 110px;align-items:center;min-width:680px;display:grid}.invoice-selector-head{border-bottom:1px solid var(--line);color:#7d8999;letter-spacing:.06em;text-transform:uppercase;background:#f6f8fa;min-height:40px;padding:0 13px;font-size:8px;font-weight:750}.invoice-select-row{color:#536176;cursor:pointer;border-bottom:1px solid #edf0f3;min-height:63px;padding:8px 13px;font-size:9px}.invoice-select-row:last-child{border-bottom:0}.invoice-select-row:hover,.invoice-select-row.selected{background:#f5f8fe}.invoice-select-row.disabled{opacity:.45;cursor:not-allowed}.invoice-select-row>strong{text-align:right}.invoice-select-row>span:nth-child(2) strong,.invoice-select-row>span:nth-child(2) small{display:block}.invoice-select-row>span:nth-child(2) small{color:#8c97a6;margin-top:4px;font-size:8px}.invoice-select-name{min-width:0;padding-left:calc(var(--depth) * 18px);align-items:center;gap:9px;display:flex}.invoice-select-name input{accent-color:var(--blue);flex:none}.invoice-select-name>span{min-width:0}.invoice-select-name strong,.invoice-select-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.invoice-select-name strong{color:var(--ink);font-size:10px}.invoice-select-name small{color:#8c97a7;margin-top:4px;font-size:8px}.percent-input{align-items:center;gap:5px;display:flex}.percent-input input{border:1px solid #d4dbe4;border-radius:7px;width:72px;min-height:34px;padding:6px 7px;font-size:10px}.percent-input i{color:#7f8b9c;font-size:9px;font-style:normal}.invoice-preview{border:1px solid var(--line);background:#f8fafc;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.invoice-preview>span{border-right:1px solid var(--line);padding:14px 16px}.invoice-preview>span:last-child{color:#fff;background:#172842;border-right:0}.invoice-preview small,.invoice-preview strong{display:block}.invoice-preview small{color:#8491a2;text-transform:uppercase;font-size:8px}.invoice-preview>span:last-child small{color:#9babc1}.invoice-preview strong{margin-top:6px;font:650 15px Georgia,serif}.billing-help{color:#8390a1;margin:0;font-size:9px;line-height:1.55}.gantt-widget{min-width:0}.gantt-toolbar{background:#fbfcfd;border-bottom:1px solid #edf0f3;justify-content:flex-end;align-items:center;gap:12px;min-height:55px;padding:9px 20px;display:flex}.gantt-toolbar>span{color:#7d899a;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.gantt-zoom{border:1px solid var(--line-strong);background:#fff;border-radius:9px;grid-template-columns:34px minmax(78px,auto) 34px;align-items:center;display:grid;overflow:hidden;box-shadow:0 2px 7px #1724380a}.gantt-zoom button{color:#40516a;cursor:pointer;background:#fff;border:0;place-items:center;width:34px;height:32px;padding:0;font-size:20px;line-height:1;transition:all .15s;display:grid}.gantt-zoom button:first-child{border-right:1px solid var(--line)}.gantt-zoom button:last-child{border-left:1px solid var(--line)}.gantt-zoom button:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.gantt-zoom button:disabled{color:#b6bec9;cursor:not-allowed;background:#f6f7f9}.gantt-zoom span{color:#58677b;text-align:center;white-space:nowrap;padding:0 10px;font-size:9px;font-weight:700}.gantt-shell{min-height:180px;padding:20px}.gantt-host{min-width:0}.gantt-shell svg{min-width:100%}.gantt .bar-progress{fill:var(--teal)}.gantt .bar{fill:#dfe7f1}.gantt .bar-label{fill:var(--ink);font-size:11px}.gantt .grid-header{fill:#f8f9fb;stroke:var(--line)}.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:#fafbfc}.gantt .today-highlight{fill:#fff2da;opacity:.55}.gantt-container{border-radius:10px;overflow:auto}.popup-wrapper{font-family:inherit!important}.warning-list{gap:8px;padding:15px 20px 0;display:grid}.alert{border-radius:9px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:10px;line-height:1.45;display:flex}.alert svg{flex:none}.alert-danger{color:#9d3b34;background:#ffebe8;border:1px solid #f3c8c2}.alert-warning{color:#875916;background:#fff4df;border:1px solid #eed5aa}.alert-info{color:#315e9c;background:#eaf2ff;border:1px solid #c7d8f2}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.definition-panel,.notes-panel{padding:25px}.definition-panel h3{margin:0 0 18px;font:650 18px Georgia,serif}.definition-panel dl{margin:0}.definition-panel dl div{border-top:1px solid #edf0f3;justify-content:space-between;gap:20px;padding:12px 0;font-size:10px;display:flex}.definition-panel dt{color:#7d899b}.definition-panel dd{text-align:right;margin:0;font-weight:650}.notes-panel>p:not(.eyebrow){color:#5e6b7e;white-space:pre-wrap;font-size:11px;line-height:1.7}.top-gap{margin-top:27px}.offer-sheet{background:#fff;border:1px solid #d9dee5;width:100%;max-width:920px;margin:0 auto;padding:45px 50px;box-shadow:0 15px 40px #17243814}.offer-sheet>header{border-bottom:2px solid var(--navy);justify-content:space-between;align-items:start;padding-bottom:30px;display:flex}.offer-sheet>header>div:last-child{text-align:right;display:grid}.offer-sheet>header span{color:#7a8798;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.offer-sheet>header strong{margin:5px 0}.offer-sheet>header small{color:#8792a2;font-size:9px}.offer-brand{align-items:center;gap:9px;font:650 20px Georgia,serif;display:flex}.offer-brand span{background:var(--navy);border-radius:9px;place-items:center;width:34px;height:34px;display:grid;color:#efb85f!important;font-size:15px!important}.offer-title{padding:40px 0 30px}.offer-title>p:first-child{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:750}.offer-title h2{margin:8px 0;font:650 30px Georgia,serif}.offer-title>p:last-child{color:#6d798b;max-width:680px;font-size:11px;line-height:1.6}.offer-sheet table{border-collapse:collapse;width:100%}.offer-sheet th{border-bottom:1px solid var(--navy);color:#6f7b8d;text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:11px 14px;font-size:8px}.offer-sheet th:last-child,.offer-sheet td:last-child{text-align:right}.offer-sheet td{color:#4e5c70;border-bottom:1px solid #e5e9ee;padding:14px;font-size:10px}.offer-sheet td strong,.offer-sheet td small{display:block}.offer-sheet td small{color:#8d97a5;margin-top:4px}.offer-sheet tfoot td{font-weight:650}.offer-sheet .offer-grand-total td{border-top:2px solid var(--navy);color:var(--navy);border-bottom:0;padding-top:18px;font-size:14px}.offer-note{color:#5e6c7f;padding:22px 0;font-size:10px;line-height:1.7}.offer-sheet>footer{border-top:1px solid var(--line);color:#8b95a4;justify-content:space-between;align-items:center;padding-top:20px;font-size:9px;display:flex}.task-cards{background:#edf0f3;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.task-card{background:#fff;gap:7px;padding:18px;display:grid}.task-card strong{font-size:11px}.task-date{color:var(--blue);letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:750}.task-card small{color:#8a95a4;font-size:8px}.mini-progress{background:#edf0f3;border-radius:3px;height:4px;overflow:hidden}.mini-progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}.purchase-list{gap:14px;padding:20px;display:grid}.purchase-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.purchase-card>header{border-bottom:1px solid var(--line);background:#f8f9fb;justify-content:space-between;align-items:start;padding:17px 19px;display:flex}.purchase-card h4{margin:4px 0 0;font:650 15px Georgia,serif}.purchase-code{color:#8c97a7;letter-spacing:.1em;font-size:8px;font-weight:750}.purchase-metrics{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.purchase-metrics span{border-right:1px solid #edf0f3;padding:15px 18px}.purchase-metrics span:last-child{border-right:0}.purchase-metrics small,.purchase-metrics strong{display:block}.purchase-metrics small{color:#8b96a6;font-size:8px}.purchase-metrics strong{margin-top:7px;font-size:10px}.cost-lines{border-top:1px solid #edf0f3;padding:0 18px 13px}.cost-lines>div{border-bottom:1px solid #edf0f3;grid-template-columns:1fr auto 30px;align-items:center;gap:10px;padding:9px 0;font-size:10px;display:grid}.cost-lines small{color:#8d97a6;margin-left:5px;font-size:8px}.cost-lines .icon-button{border-color:#0000;width:27px;height:27px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-stack{gap:15px;display:grid}.form-span{grid-column:1/-1}.field{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.field>span,.field legend{color:#5d6b7e;letter-spacing:.035em;font-size:9px;font-weight:720}.field input,.field textarea,.field select{width:100%;min-height:41px;color:var(--ink);background:#fff;border:1px solid #d4dbe4;border-radius:8px;outline:0;padding:9px 11px;font-size:11px;transition:all .15s}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:#759ddd;box-shadow:0 0 0 3px #2c67d41a}.field small{color:#8995a5;font-size:8px;line-height:1.45}.check-row{flex-wrap:wrap;gap:20px;padding:4px 0;display:flex}.check-row label,.check-field{color:#58677b;align-items:center;gap:7px;font-size:10px;display:flex}.check-field{grid-template-columns:auto 1fr;align-content:center}.check-row input,.check-field input{accent-color:var(--blue)}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.choice-grid label{border:1px solid var(--line);color:#536176;text-transform:capitalize;border-radius:8px;align-items:center;gap:8px;min-height:37px;padding:7px 10px;font-size:10px;display:flex}.choice-grid label.disabled{opacity:.45}.choice-grid input{width:auto;min-height:auto;accent-color:var(--blue);padding:0}.customer-choices{max-height:180px;overflow:auto}.scope-selector{background:#f8fafc;border:1px solid var(--line)!important;border-radius:10px!important;padding:14px!important}.scope-selector legend{padding:0 5px}.scope-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scope-choice-grid label{cursor:pointer;background:#fff;border:1px solid #d7dee7;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.scope-choice-grid label.active{background:#eef4fd;border-color:#7297d1;box-shadow:0 0 0 2px #2c67d414}.scope-choice-grid input{width:auto;min-height:auto;accent-color:var(--blue);flex:none;margin-top:2px;padding:0}.scope-choice-grid strong,.scope-choice-grid small{display:block}.scope-choice-grid strong{color:#3f4f65;font-size:10px}.scope-choice-grid small{color:#7d899a;margin-top:4px;font-size:8px;line-height:1.4}.formula-note{background:#f5f7fa;border-radius:9px;gap:7px;margin-top:20px;padding:15px;display:grid}.formula-note strong{text-transform:uppercase;letter-spacing:.08em;font-size:9px}.formula-note code{color:#5f6c7e;font-size:10px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080f1a9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 70px #00000042}.modal-wide{width:min(760px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.modal-head h2{margin:4px 0 0;font:650 20px Georgia,serif}.modal-body{padding:23px 24px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:#f9fafb;justify-content:flex-end;gap:9px;padding:15px 24px;display:flex}.modal-intro{color:#687589;margin:0 0 14px;font-size:10px}.modal-enter-active,.modal-leave-active,.modal-enter-active .modal-card,.modal-leave-active .modal-card{transition:all .18s}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-card,.modal-leave-to .modal-card{transform:translateY(12px)scale(.98)}.checkbox-list{border:1px solid var(--line);border-radius:10px;max-height:370px;display:grid;overflow:auto}.checkbox-list label{cursor:pointer;border-bottom:1px solid #edf0f3;align-items:center;gap:10px;padding:11px 13px;display:flex}.checkbox-list label:last-child{border-bottom:0}.checkbox-list input{accent-color:var(--blue)}.checkbox-list strong,.checkbox-list small{display:block}.checkbox-list strong{font-size:10px}.checkbox-list small{color:#8b96a5;text-transform:capitalize;margin-top:3px;font-size:8px}.calendar-form{gap:7px;display:grid}.calendar-form label{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 90px 35px;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:grid}.calendar-form input{border:1px solid var(--line);border-radius:6px;width:100%;padding:7px}.calendar-form small{color:#8b96a5}.empty-state{text-align:center;background:#ffffff8c;border:1px dashed #cbd4df;border-radius:15px;justify-items:center;padding:70px 24px;display:grid}.empty-icon{color:#657d9f;background:#eaf0f8;border-radius:15px;place-items:center;width:54px;height:54px;display:grid}.empty-state h3{margin:16px 0 6px;font:650 18px Georgia,serif}.empty-state p{color:#8290a2;max-width:420px;margin:0 0 17px;font-size:10px;line-height:1.5}.loading-block{gap:13px;display:grid}.loading-block span{background:linear-gradient(90deg,#e9edf2 25%,#f5f7f9 45%,#e9edf2 65%) 0 0/300% 100%;border-radius:15px;height:110px;animation:1.3s infinite shimmer}.loading-block span:first-child{height:170px}.loading-block span:last-child{height:260px}@keyframes shimmer{to{background-position:-100% 0}}.muted{color:#8a95a5!important}.center{text-align:center}.user-list{gap:8px;display:grid}.user-row{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:44px minmax(180px,1.2fr) minmax(180px,1fr) 160px 38px;align-items:center;gap:14px;min-height:72px;padding:12px 16px;display:grid}.avatar-large{color:#3b587d;background:#e8eef7;width:42px;height:42px}.user-identity strong,.user-identity small{display:block}.user-identity strong{font-size:11px}.user-identity small{color:#8c97a6;margin-top:4px;font-size:9px}.role-list{flex-wrap:wrap;gap:5px;display:flex}.role-list i{color:#5d6f87;text-transform:capitalize;background:#eef2f7;border-radius:6px;padding:4px 7px;font-size:8px;font-style:normal}.last-login{color:#929cab;margin-top:5px;font-size:8px;display:block}.audit-timeline{padding-left:16px;display:grid;position:relative}.audit-timeline:before{content:"";background:#d6dde6;width:1px;position:absolute;top:18px;bottom:18px;left:21px}.audit-timeline article{cursor:pointer;border-bottom:1px solid #e1e6ec;grid-template-columns:20px minmax(220px,1fr) minmax(220px,1fr) 25px;align-items:center;gap:12px;min-height:70px;padding:11px 15px 11px 0;display:grid;position:relative}.audit-dot{z-index:1;border:3px solid var(--paper);background:var(--blue);border-radius:50%;width:11px;height:11px;position:relative;box-shadow:0 0 0 1px #b5c2d2}.audit-meta strong,.audit-meta small,.audit-entity span,.audit-entity code{display:block}.audit-meta strong{text-transform:capitalize;font-size:10px}.audit-meta small{color:#8894a5;margin-top:5px;font-size:8px}.audit-entity span{color:#526176;text-transform:capitalize;font-size:9px}.audit-entity code{color:#909aa8;margin-top:4px;font-size:8px}.audit-timeline .rotate{transform:rotate(90deg)}.audit-detail{grid-column:2/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0 5px;display:grid}.audit-detail span{color:#6f7d90;text-transform:uppercase;font-size:8px;font-weight:750}.audit-detail pre{color:#dce6f4;white-space:pre-wrap;background:#101b2d;border-radius:8px;max-height:260px;margin:6px 0 0;padding:12px;font:9px/1.5 ui-monospace,monospace;overflow:auto}.audit-detail footer{color:#919ba9;grid-column:1/-1;font-size:8px}.settings-layout{gap:18px;display:grid}.settings-section{padding:25px}.settings-section>header{align-items:center;gap:13px;margin-bottom:22px;display:flex}.settings-section h3{margin:0;font:650 18px Georgia,serif}.settings-section header p{color:#8591a2;margin:5px 0 0;font-size:9px}.settings-icon{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:11px;place-items:center;display:grid}.settings-icon.gold{background:var(--gold-soft);color:#a86c18}.settings-save{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.settings-save p{color:#8491a2;margin:0;font-size:9px}.channel-chip{color:#506783;text-transform:uppercase;background:#edf2f8;border-radius:6px;padding:4px 7px;font-size:8px;font-weight:750;display:inline-block}.toast-stack{z-index:200;gap:8px;width:min(360px,100vw - 44px);display:grid;position:fixed;bottom:22px;right:22px}.toast{color:#286b56;cursor:pointer;text-align:left;background:#f5fcf8;border:1px solid #bcdacc;border-radius:10px;align-items:center;gap:9px;width:100%;padding:13px 14px;font-size:10px;display:flex;box-shadow:0 12px 28px #14233726}.toast-danger{color:#a5433a;background:#fff5f4;border-color:#e8c1bc}.toast-enter-active,.toast-leave-active{transition:all .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(20px)}.auth-page{background:#fff;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.auth-story{color:#fff;background:linear-gradient(140deg,#0e192b,#193151);min-height:100vh;position:relative;overflow:hidden}.story-grid{opacity:.13;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 75%);mask-image:linear-gradient(to bottom right,#000,#0000 75%)}.auth-story:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-130px;right:-130px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.story-content{z-index:1;flex-direction:column;min-height:100%;padding:0 clamp(40px,7vw,100px) 55px;display:flex;position:relative}.brand-light{border-bottom:0;margin-left:-24px}.story-copy{margin:auto 0}.story-copy .eyebrow{color:#ddb16d}.story-copy h1{letter-spacing:-.035em;margin:15px 0 20px;font:650 clamp(42px,5vw,68px)/1.03 Georgia,serif}.story-copy>p:last-child{color:#aebed4;max-width:560px;margin:0;font-size:14px;line-height:1.7}.story-metrics{border-top:1px solid #ffffff1a;gap:42px;padding-top:22px;display:flex}.story-metrics strong,.story-metrics small{display:block}.story-metrics strong{color:#f1c57e;font:650 17px Georgia,serif}.story-metrics small{color:#8194af;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:8px}.auth-panel{background:#fbfcfd;place-items:center;padding:50px;display:grid}.auth-form{width:min(390px,100%)}.auth-kicker{color:#78869a;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:7px;font-size:9px;font-weight:750;display:flex}.auth-kicker span{background:var(--gold);width:20px;height:2px}.auth-form h2{margin:15px 0 8px;font:650 33px Georgia,serif}.auth-intro{color:#7a8798;margin:0 0 30px;font-size:11px}.auth-form .field{margin-bottom:16px}.auth-form .button{justify-content:space-between;width:100%;margin-top:7px}.auth-note{color:#9aa3b0;text-align:center;margin:20px 0 0;font-size:8px}.password-page{background:radial-gradient(circle at top,#263d5f,#101b2d 52%);place-items:center;min-height:100vh;padding:30px;display:grid}.password-card{background:#fff;border-radius:19px;width:min(510px,100%);padding:40px;box-shadow:0 30px 80px #0000004d}.security-emblem{background:var(--gold-soft);color:#9f6515;border-radius:15px;place-items:center;width:55px;height:55px;margin-bottom:20px;display:grid}.password-card h1{margin:8px 0;font:650 30px Georgia,serif}.password-card>p:not(.eyebrow){color:#748195;margin:0 0 23px;font-size:11px;line-height:1.6}.password-card form{gap:15px;display:grid}.password-card .button{margin-top:5px}@media (max-width:1100px){.metric-grid,.summary-grid,.billing-kpis,.customer-grid,.project-grid,.task-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr 1fr}.story-copy h1{font-size:45px}.user-row{grid-template-columns:44px minmax(180px,1fr) 1fr 38px}.user-row>span:nth-child(4){display:none}}@media (max-width:820px){.app-frame{display:block}.sidebar{transition:all .2s;transform:translate(-100%);box-shadow:20px 0 50px #00000038}.sidebar.open{transform:translate(0)}.nav-scrim{z-index:29;background:#040a1280;position:fixed;inset:0}.main-area{min-width:0}.mobile-menu{display:inline-grid}.topbar{height:75px;padding:0 18px}.topbar>div:first-of-type{margin-left:11px;margin-right:auto}.topbar h1{font-size:18px}.topbar .eyebrow{display:none}.page-stage{padding:23px 16px 45px}.running-timer span:nth-child(2) small{display:none}.running-timer{padding:0 9px}.dashboard-columns,.detail-grid{grid-template-columns:1fr}.financial-ribbon{grid-template-columns:repeat(2,1fr)}.financial-ribbon>div:nth-child(2){border-right:0}.financial-ribbon>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.purchase-metrics{grid-template-columns:repeat(2,1fr)}.purchase-metrics span:nth-child(2){border-right:0}.purchase-metrics span:nth-child(-n+2){border-bottom:1px solid #edf0f3}.billing-overview-metrics{grid-template-columns:1fr}.billing-overview-metrics article{border-bottom:1px solid #edf0f3;border-right:0}.billing-overview-metrics article:last-child{border-bottom:0}.detail-hero{flex-direction:column;align-items:flex-start}.hero-actions{justify-content:flex-start}.auth-page{display:block}.auth-story{display:none}.auth-panel{min-height:100vh}.audit-timeline article{grid-template-columns:20px 1fr 25px}.audit-entity{display:none}.audit-detail{grid-template-columns:1fr}.audit-detail footer{grid-column:1}.offer-sheet{padding:30px 23px}.form-grid{grid-template-columns:1fr}.form-span{grid-column:1}.scope-choice-grid{grid-template-columns:1fr}.page-toolbar{flex-direction:column;align-items:flex-start;gap:17px}.record-row{grid-template-columns:38px minmax(0,1fr) auto}.row-date{display:none}}@media (max-width:560px){.topbar-actions>a.icon-button,.top-avatar{display:none}.metric-grid,.summary-grid,.customer-grid,.project-grid,.billing-kpis{grid-template-columns:1fr}.hero-strip{flex-direction:column;align-items:flex-start;padding:27px}.hero-strip h2{font-size:25px}.filter-bar{flex-direction:column;align-items:stretch}.search-box{width:100%;min-width:0}.filter-bar>span:last-child{margin-left:0}.financial-ribbon{grid-template-columns:1fr}.financial-ribbon>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.financial-ribbon>div:last-child{border-bottom:0!important}.task-cards{grid-template-columns:1fr}.detail-hero{padding:26px 22px}.detail-title{align-items:flex-start}.large-monogram{width:52px;height:52px}.hero-actions .button{width:100%}.invoice-card-head{grid-template-columns:1fr auto}.invoice-card-head>strong{text-align:left;grid-column:1/-1}.invoice-totals{flex-direction:column;align-items:flex-end;gap:6px}.invoice-preview{grid-template-columns:1fr}.invoice-preview>span{border-right:0;border-bottom:1px solid var(--line)}.invoice-preview>span:last-child{border-bottom:0}.offer-sheet>header{flex-direction:column;gap:20px}.offer-sheet>header>div:last-child{text-align:left}.offer-sheet table th:nth-child(2),.offer-sheet table td:nth-child(2){display:none}.choice-grid{grid-template-columns:1fr}.user-row{grid-template-columns:42px 1fr 36px}.user-row .role-list{display:none}.story-metrics{gap:15px}.settings-save{flex-direction:column;align-items:stretch;gap:13px}.settings-save .button{width:100%}}@media print{body{background:#fff}.sidebar,.topbar,.back-link,.tab-bar,.financial-ribbon,.detail-hero,.no-print,.toast-stack{display:none!important}.app-frame,.main-area{display:block}.page-stage{max-width:none;padding:0}.page-flow>:not(.offer-sheet){display:none!important}.offer-sheet{max-width:none;box-shadow:none;border:0;padding:0;display:block!important}.offer-sheet table{break-inside:auto}.offer-sheet tr{break-inside:avoid}.offer-sheet>footer .button{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
