.feedback-stack{position:fixed;z-index:10000;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;gap:10px;width:min(420px,calc(100vw - 28px));pointer-events:none}@media(min-width:761px){.feedback-stack{left:auto;right:22px;bottom:22px;transform:none}}.feedback-toast{--toast-accent:var(--success);--toast-soft:var(--success-soft);display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--toast-accent) 24%,var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--toast-soft) 70%,var(--surface));box-shadow:var(--shadow-overlay);animation:toast-in .22s cubic-bezier(.22,1,.36,1)}.feedback-toast[data-tone=error]{--toast-accent:var(--danger);--toast-soft:var(--danger-soft)}.feedback-toast[data-tone=warning]{--toast-accent:var(--warning);--toast-soft:var(--warning-soft)}.feedback-toast-icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--toast-accent);color:#fff}.feedback-toast p{margin:0;min-width:0;color:var(--text);font-size:13.5px;font-weight:500;overflow-wrap:anywhere}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.feedback-toast{animation:none}}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEY2tbYf-Vlh3uA.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/s/dmmono/v16/aFTR7PB1QTsUX8KYvumzEYOtbYf-Vlg.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJuktqUYLkn8BJ.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:optional;src:url(/fonts/s/outfit/v15/QGYvz_MVcBeNP4NJtEtqUYLknw.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.workspace-footer{margin-top:24px}.control-shell .workspace-footer{margin-top:32px;padding-bottom:max(12px,env(safe-area-inset-bottom))}:is(.login-card,.registration-card) .workspace-footer{margin-top:24px;padding:20px 0 0}@media(max-width:760px){.control-shell .workspace-footer{margin-top:24px;padding-bottom:max(16px,env(safe-area-inset-bottom))}}:root{--gold:#C05FD8;--anthracite:#251C29;--brand-700:#4D065B;--brand-600:#8F1184;--canvas:#F7F6F8;--surface:#FFFFFF;--surface-subtle:#FBFAFC;--text:#251C29;--text-muted:#6E6672;--line:#E8E3EA;--line-strong:#D9D0DD;--success:#1D7A62;--success-soft:#E2F4ED;--info:#365DB2;--info-soft:#E5ECFC;--warning:#8A6207;--warning-soft:#FFF3CF;--danger:#B43B4C;--danger-soft:#FBE8EB;--teal:#168C84;--violet-soft:#F2EAF4;--shadow-sm:0 1px 2px rgb(37 28 41/6%);--shadow-md:0 14px 40px rgb(37 28 41/9%);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--ease:180ms ease;--auth-field:#f1f1f4}*{box-sizing:border-box}body,html{background:var(--canvas)}body{margin:0;min-width:320px;color:var(--text);font:14px/1.45 Outfit,Arial,sans-serif}button,input,textarea{font:inherit}button{border:0;cursor:pointer;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;outline:0;background:var(--surface);color:var(--text);transition:border-color var(--ease),box-shadow var(--ease)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;flex:none;margin:0;padding:0;accent-color:var(--brand-700)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus{border-color:var(--brand-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-600) 14%,transparent)}textarea{resize:vertical;min-height:96px}.loading-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 82% 12%,color-mix(in srgb,var(--brand-600) 17%,transparent),transparent 27%),radial-gradient(circle at 14% 88%,color-mix(in srgb,var(--brand-600) 10%,transparent),transparent 28%),var(--canvas)}.workspace-brand{display:inline-flex;align-items:center;gap:9px;flex:none;white-space:nowrap}.workspace-brand img{display:block;width:34px;height:34px;-o-object-fit:contain;object-fit:contain;border-radius:10px;background:var(--brand-700)}.workspace-wordmark{font-size:22px;line-height:1;font-weight:700;letter-spacing:-.05em;color:var(--text)}.workspace-wordmark>span{color:var(--brand-600)}.demo-start-page,.login-page,.registration-page{block-size:100vh;block-size:100dvh;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 18% 18%,color-mix(in srgb,#c05fd8 22%,transparent),transparent 30%),radial-gradient(circle at 84% 82%,color-mix(in srgb,var(--brand-600) 16%,transparent),transparent 34%),var(--canvas)}.login-card{width:min(440px,100%);max-block-size:calc(100vh - 48px);max-block-size:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scroll-padding:24px;padding:30px 30px 24px;background:color-mix(in srgb,var(--surface) 93%,transparent);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:28px;box-shadow:0 26px 70px rgb(37 28 41/13%);backdrop-filter:blur(18px)}.demo-start-status{display:grid;justify-items:center;gap:13px;color:var(--text-muted);text-align:center}.demo-start-status>p{margin:0}.demo-start-status .primary{margin-top:4px}.login-brand{margin:0}.login-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:52px}.login-badge{flex:none;border:0;background:var(--violet-soft);color:var(--brand-600);border-radius:999px;padding:7px 11px;font:800 10.5px Outfit,Arial,sans-serif;letter-spacing:.08em;white-space:nowrap}.login-intro{margin:22px 0 18px;text-align:center}.login-card .eyebrow{margin:0 0 6px;color:var(--brand-600);font:700 10px/1.3 DM Mono,monospace;letter-spacing:.13em;text-transform:uppercase}.login-card form{display:grid;gap:12px}.login-card label{display:grid;gap:7px;color:var(--text-muted);font-size:11px;font-weight:600}.login-card h1{margin:0 0 9px;font-size:clamp(27px,7vw,31px);line-height:1.08;letter-spacing:-1.3px;font-weight:800}.login-copy{margin:0 auto;max-width:340px;color:var(--text-muted);font-size:13px;line-height:1.55}.auth-notice{margin:0 0 18px;padding:14px;border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--text)}.auth-notice b{font-size:13px}.auth-notice p{margin:4px 0 0;color:var(--text-muted);font-size:12px}.login-button{width:100%;margin-top:2px}.login-card .primary{width:100%;min-height:50px;border:0;border-radius:999px;background:var(--brand-700);color:rgb(var(--c-onbrand));font:800 14px Outfit,Arial,sans-serif;box-shadow:0 10px 22px color-mix(in srgb,var(--brand-700) 26%,transparent);transition:background .16s,transform .12s cubic-bezier(.23,1,.32,1),box-shadow .16s}.login-card .primary:hover:not(:disabled){background:var(--brand-600);transform:none}.login-card .primary:active:not(:disabled){transform:scale(.97)}.login-card .primary:disabled{cursor:wait;opacity:.65}.login-signup{margin:16px 0 0;text-align:center;color:var(--text-muted);font-size:11px;line-height:1.55}.login-signup a{color:var(--brand-700);font-weight:700;text-decoration:underline;text-underline-offset:3px}.error{margin:6px 0 0;color:var(--danger);font-size:12px}.login-divider{display:flex;align-items:center;gap:13px;margin:17px 0 3px;color:var(--text-muted);font-size:11px}.login-divider:after,.login-divider:before{content:"";height:1px;flex:1;background:var(--line)}.google-login-button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:11px;padding:0 16px;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:999px;font:750 14px Outfit,Arial,sans-serif;cursor:pointer;transition:background .16s,border-color .16s,transform .12s cubic-bezier(.23,1,.32,1)}.google-login-button:hover:not(:disabled){border-color:var(--brand-600);background:var(--surface-subtle)}.google-login-button:active:not(:disabled){transform:scale(.97)}.google-login-button:disabled{cursor:not-allowed;opacity:.55}.google-g{width:19px;height:19px;flex:none}.login-card :is(input:not([type=checkbox]):not([type=radio]),select){display:block;width:100%;height:48px;border:1px solid transparent;border-radius:15px;background:var(--auth-field);color:var(--text);padding:0 14px;font:550 14px/1.4 Outfit,Arial,sans-serif;outline:none;transition:background .16s,border-color .16s,box-shadow .16s}.login-card :is(input:not([type=checkbox]):not([type=radio]),select)::-moz-placeholder{color:var(--text-subtle);opacity:1}.login-card :is(input:not([type=checkbox]):not([type=radio]),select)::placeholder{color:var(--text-subtle);opacity:1}.login-card :is(input:not([type=checkbox]):not([type=radio]),select):focus{background:var(--surface);border-color:var(--brand-600);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-600) 14%,transparent)}.login-card .text-button{display:inline-flex;align-items:center;gap:6px;margin:-10px 0 -2px;justify-self:start}.password-field-control{position:relative;display:block}.password-field-control input{padding-right:50px}.password-field-control .password-visibility{position:absolute;top:50%;right:6px;width:44px;height:44px;min-height:0;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:10px;background:transparent;box-shadow:none;color:var(--text-muted)}.password-field-control .password-visibility:hover{background:var(--violet-soft);color:var(--brand-700)}@media(prefers-reduced-motion:reduce){.google-login-button,.login-card .primary{transition:none}.google-login-button:active,.login-card .primary:active{transform:none}}@media(prefers-reduced-transparency:reduce){.login-card{background:var(--surface);backdrop-filter:none}}.shell{display:flex;min-height:100vh}.brand{display:flex;align-items:center;gap:11px;margin:0 12px 30px;font-size:21px;font-weight:700;line-height:1;letter-spacing:-.05em}.brand>div>span{color:var(--brand-600)}.brand small{display:block;margin-top:4px;color:var(--text-muted);font:500 9px DM Mono,monospace;letter-spacing:.13em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--brand-700);color:var(--surface);font-size:15px;box-shadow:0 5px 13px color-mix(in srgb,var(--brand-700) 24%,transparent)}.workspace{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 4px 22px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text-muted);font-size:12px;font-weight:600}nav{display:grid;gap:3px}.sidebar-bottom>button,nav button{width:100%;min-height:42px;display:flex;align-items:center;gap:11px;padding:10px 12px;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);text-align:left;transition:background var(--ease),color var(--ease)}.sidebar-bottom>button:hover,nav button:hover{background:var(--surface-subtle);color:var(--text)}nav button.active{background:var(--violet-soft);color:var(--brand-700);font-weight:600}nav button.active svg{color:var(--brand-600)}.sidebar-bottom{display:grid;gap:3px;margin-top:auto}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{min-width:0;padding:19px;display:flex;flex-direction:column;gap:8px;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--brand-600);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.metric.violet{border-top-color:var(--brand-600)}.metric.blue{border-top-color:var(--info)}.metric.green{border-top-color:var(--success)}.metric small,.metric span{color:var(--text-muted);font-size:12px}.metric strong{min-width:0;font-size:clamp(20px,2.4vw,28px);line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums;white-space:nowrap}.metric small{font-size:11px}.panel{min-width:0;padding:clamp(18px,2.2vw,26px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading>span{padding-top:2px;color:var(--text-muted);font:500 10px DM Mono,monospace}.text-button{padding:3px 0;background:transparent;color:var(--brand-600);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.text-button:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}.text-button svg{flex:none;align-self:center}.text-button.positive:hover{color:var(--success)}.text-button.danger:hover{color:var(--danger)}.text-button.warn:hover{color:var(--warning)}.kanban{display:grid;grid-template-columns:repeat(6,minmax(204px,1fr));gap:12px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 12px}.column{display:flex;flex-direction:column;gap:8px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);transition:border-color var(--ease),background var(--ease)}.column.drop-over{border-color:var(--brand-600);background:var(--violet-soft)}.column-title{display:flex;align-items:center;gap:7px;min-height:22px;font-size:12px;font-weight:600}.column-title em{margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--line);color:var(--text-muted);font-size:10px;font-style:normal;font-weight:500}.dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--danger)}.dot.yellow{background:var(--warning)}.dot.teal{background:var(--teal)}.dot.purple{background:var(--brand-600)}.dot.blue{background:var(--info)}.dot.green{background:var(--success)}.work-card{padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);cursor:grab;touch-action:none;transition:border-color var(--ease),box-shadow var(--ease),transform var(--ease)}.work-card:hover{border-color:var(--line-strong);box-shadow:0 5px 14px rgb(37 28 41/8%);transform:translateY(-1px)}.work-card.dragging{cursor:grabbing;opacity:.6;transform:rotate(1deg)}.card-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}.card-top span{color:var(--text-muted);font-weight:400}.work-card p{margin:8px 0 12px;color:var(--text-muted);font-size:12px;line-height:1.4}.card-meta{justify-content:space-between;gap:7px;color:var(--text-muted);font:500 10px DM Mono,monospace}.card-meta,.card-meta a{display:flex;align-items:center}.card-meta a{gap:4px;color:var(--brand-600);text-decoration:none}.card-meta a:hover{text-decoration:underline;text-underline-offset:3px}.board-note,.form-note{margin:14px 0 0;color:var(--text-muted);font-size:11px}.work-card.is-overlay{width:280px}.directory{max-width:none}.client-list{display:grid;gap:2px}.client-row,.payment-row{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line)}.client-row:last-child,.payment-row:last-child{border-bottom:0}.client-row>div:nth-child(2),.payment-row>div{min-width:0;flex:1}.client-row b,.client-row small,.payment-row b,.payment-row small{display:block}.client-row b,.payment-row b{display:block;font-size:13px}.client-row b{white-space:normal;overflow-wrap:anywhere}.payment-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row small,.payment-row small{margin-top:2px;color:var(--text-muted);font-size:11px}.client-row>span{color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.payment-row>strong{flex:none;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.client-avatar{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:9px;font-size:12px;font-weight:600}.client-avatar.green{background:var(--success-soft);color:var(--success)}.client-avatar.yellow{background:var(--warning-soft);color:var(--warning)}.client-avatar.purple{background:var(--violet-soft);color:var(--brand-600)}.client-avatar.blue{background:var(--info-soft);color:var(--info)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.project-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-subtle);transition:border-color var(--ease),transform var(--ease)}.project-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.project-card h3{margin-bottom:8px}.project-card>p:not(.eyebrow){color:var(--text-muted);font-size:12px}.project-card a,.project-card span{display:flex;align-items:center;gap:6px;color:var(--brand-600);font-size:12px;text-decoration:none}.project-card span{color:var(--text-muted)}.project-card a:hover{text-decoration:underline;text-underline-offset:3px}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:none}.inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.empty-copy{padding:18px 0;color:var(--text-muted);font-size:13px}.empty-state{padding:72px 20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:center}.empty-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:var(--violet-soft);color:var(--brand-600)}.empty-state h2{font-size:24px}.empty-state p{max-width:420px;margin:10px auto 22px;color:var(--text-muted)}.modal-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:rgb(37 28 41/52%);backdrop-filter:blur(3px)}.modal{width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 30px 90px rgb(37 28 41/28%)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px;color:var(--text-muted);font-size:12px;font-weight:500}.form-stack fieldset{margin:0;padding:0;border:0}.form-stack legend{margin-bottom:7px;color:var(--text-muted);font-size:12px;font-weight:500}.choice-list{display:flex;flex-wrap:wrap;gap:7px}.choice{padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:12px;transition:border-color var(--ease),background var(--ease)}.choice:hover{background:var(--surface-subtle)}.choice.active{border-color:var(--brand-600);background:var(--violet-soft);color:var(--brand-700);font-weight:600}.compact .choice{padding:7px 9px}@media(max-width:1120px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.desktop-sidebar,.shell>aside{display:none}header{align-items:flex-start;margin-bottom:24px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:23px}.finance-grid,.two-fields{grid-template-columns:1fr}.panel{padding:18px}.modal{padding:22px}.client-row{flex-wrap:wrap}.client-row>span{width:100%;padding-left:43px}}@media(max-width:460px){.login-card{padding:24px 20px;border-radius:24px}.metrics{grid-template-columns:1fr}.panel-heading{display:grid}.inline-actions{justify-content:flex-start}.work-card{padding:11px}}@media(max-width:760px){.login-card .text-button{min-height:44px}.login-signup a{display:inline-flex;min-height:44px;align-items:center}}.invite-card{width:min(480px,100%)}.invite-eyebrow{margin:0 0 10px;color:var(--brand-600);font:600 11px DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.invite-summary{display:grid;gap:8px;margin:22px 0;padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.invite-summary strong{font-size:20px}.invite-summary span{color:var(--text-muted);font-size:13px}.invite-summary b{color:var(--text)}.invite-footer{margin:22px 0 0;text-align:center;color:var(--text-muted);font-size:13px}.invite-password-form{display:grid;gap:12px;margin-top:16px}.invite-password-form label{display:grid;gap:7px;font-size:13px;font-weight:600}.invite-password-form input{min-height:44px;font-size:16px}.invite-password-form .password-hint{margin:0}:root{--canvas-elevated:#fcfbfd;--surface-raised:#ffffff;--surface-sunken:#f3f0f4;--text-strong:#1d1520;--text-subtle:#625a66;--border-subtle:#ece7ee;--border-interactive:#9b84a4;--focus-ring:#4d065b;--focus-halo:color-mix(in srgb,var(--brand-700) 20%,transparent);--interactive:#4d065b;--interactive-hover:#6d0c77;--interactive-pressed:#380243;--shadow-xs:0 1px 2px rgb(37 28 41/5%);--shadow-card:0 8px 24px rgb(37 28 41/7%);--shadow-overlay:0 28px 80px rgb(37 28 41/24%)}html{color-scheme:light;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:linear-gradient(180deg,var(--canvas-elevated),var(--canvas) 320px);color:var(--text-strong)}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}input,textarea{border-color:var(--border-interactive)}input:focus,textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-halo)}.primary{background:var(--interactive);box-shadow:0 3px 10px color-mix(in srgb,var(--interactive) 18%,transparent)}.primary:hover:not(:disabled){background:var(--interactive-hover);box-shadow:0 7px 16px color-mix(in srgb,var(--interactive) 22%,transparent)}.icon-button{border-color:var(--border-interactive);box-shadow:var(--shadow-xs)}.icon-button:hover{border-color:var(--brand-600);background:var(--violet-soft)}.metric,.panel{border-color:var(--border-subtle);box-shadow:var(--shadow-xs)}.metric{background:linear-gradient(180deg,var(--surface-raised),var(--surface) 80%)}.panel{background:var(--surface-raised)}.project-card,.work-card{border-color:var(--border-subtle)}.project-card{background:var(--surface-raised);box-shadow:var(--shadow-xs)}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.error-boundary-card{width:min(520px,100%);text-align:left}.error-boundary-card h1{margin:0 0 10px;font-size:26px;letter-spacing:-.04em}.error-boundary-card p{margin:0 0 18px;color:var(--text-muted)}.error-boundary-card .primary{margin-top:6px}html[data-theme=dark]{color-scheme:dark;--canvas:#121216;--canvas-elevated:#17171c;--surface:#1b1b21;--surface-subtle:#212128;--surface-raised:#272730;--surface-sunken:#0e0e12;--text:#f5eff7;--text-muted:#a7a2ad;--text-strong:#fdf8fe;--text-subtle:#b1aab6;--line:#3e3e4c;--line-strong:#5a5a6c;--border-subtle:#343440;--border-interactive:#5d4b66;--violet-soft:#2c2133;--info-soft:#1d2b45;--success-soft:#1b3a30;--warning-soft:#3a2f16;--danger-soft:#40202a;--brand-700:#c06bd0;--brand-600:#a04faf;--gold:#c06bd0;--anthracite:#0f0b12;--auth-field:#272730;--success:#4fb596;--info:#8fa8e8;--warning:#e0a53a;--danger:#e06a80;--teal:#43b3aa;--focus-ring:#c06bd0;--focus-halo:color-mix(in srgb,var(--brand-700) 22%,transparent);--interactive:#c06bd0;--interactive-hover:#d18ad9;--interactive-pressed:#a04faf;--shadow-sm:0 1px 2px rgb(0 0 0/30%);--shadow-md:0 14px 40px rgb(0 0 0/45%);--shadow-xs:0 1px 2px rgb(0 0 0/30%);--shadow-card:0 10px 30px rgb(0 0 0/40%);--shadow-overlay:0 28px 80px rgb(0 0 0/55%)}html[data-theme=dark] .workspace-brand img{background:var(--anthracite)}html[data-theme=dark] .brand-mark{background:var(--anthracite);color:var(--text)}html[data-theme=dark] .comment-composer textarea,html[data-theme=dark] .my-profile-name input{box-shadow:inset 0 1px 0 rgb(255 255 255/6%)}html[data-theme=dark] .assignee-picker .assignee-selected li{box-shadow:inset 0 1px 0 rgb(255 255 255/4%)}html[data-theme=dark] .forecast-balance-fill.income{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 45%,var(--canvas)))}html[data-theme=dark] .forecast-balance-fill.expense{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 45%,var(--canvas)))}html[data-theme=dark] .forecast-balance-fill.negative{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 55%,#000))}.forecast-personnel-card .actor-identity-avatar{width:32px;height:32px;flex-basis:32px;font-size:11px}@media(max-width:540px){.forecast-personnel-card .actor-identity-avatar{width:34px;height:34px;flex-basis:34px;font-size:12px}}.client-price-missing{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border-radius:999px;background:var(--warning-soft,var(--surface-subtle));color:var(--warning,#b45309);vertical-align:middle}.client-price-missing svg{width:13px;height:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.choice{font-weight:600}.client-list{grid-template-columns:minmax(0,1fr)}.payment-row{min-width:0;max-width:100%}.payment-row small{overflow-wrap:anywhere}.kanban{grid-template-columns:repeat(7,minmax(220px,1fr))}.work-card{touch-action:pan-y}.work-card .icon-button{touch-action:none}.production-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:0 0 20px}.production-filters .ops-select{flex:0 1 320px;min-width:0;max-width:100%}.production-filters .ops-select-trigger span{overflow-wrap:anywhere;min-width:0}.production-filter-summary{margin:0;padding:12px 0;color:var(--text-muted);font-size:13px}.record-remove{color:var(--danger)}.record-remove:focus-visible,.record-remove:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.record-remove:active:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff;transform:translateY(1px)}.team-access{padding:12px 0;border-block:1px solid var(--line);display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap}.team-access p{flex-basis:100%;margin:0;font-size:13px}.ops-person-card h3{overflow-wrap:anywhere}.photo-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,var(--anthracite) 82%,transparent)}.photo-dialog{width:min(640px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.photo-dialog h2{font-size:20px;margin:0;overflow-wrap:anywhere;min-width:0}.photo-dialog .panel-heading{gap:16px;margin-bottom:18px}.photo-viewport{width:100%;height:min(50dvh,480px);overflow:auto;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-md);overscroll-behavior:contain}.photo-canvas{min-width:100%;min-height:100%}.photo-canvas img{display:block;width:100%;height:100%;max-width:none;-o-object-fit:contain;object-fit:contain}.photo-zoom-controls{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.photo-zoom-controls label{flex:1;min-width:100px;font-size:13px}.photo-zoom-controls output{float:right}.photo-zoom-controls input{display:block;padding:0;accent-color:var(--brand-700);width:100%}.photo-zoom-controls button{min-width:40px;min-height:40px;display:grid;place-items:center}@media(max-width:460px){.photo-overlay{padding:12px}.photo-dialog{padding:18px;max-height:calc(100dvh - 24px)}}.work-card .card-meta{align-items:flex-start;flex-wrap:wrap;line-height:1.5}.work-card .card-meta>span{flex:1 1 100%;font-family:inherit;font-size:12px;overflow-wrap:anywhere}.secondary{padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:500 12px Outfit,Arial,sans-serif}.secondary:hover:not(:disabled){background:var(--violet-soft);border-color:var(--brand-600)}@media(max-width:460px){.ops-card h3,.panel h2{overflow-wrap:anywhere}.finance-grid>.panel{min-width:0}.payment-row{gap:8px}.payment-row>strong{font-size:12px}.header-actions{gap:8px}}.secondary{min-height:40px;border-color:var(--border-interactive,var(--line-strong));transition:background var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.secondary,.secondary:hover:not(:disabled){box-shadow:var(--shadow-xs)}.secondary:active:not(:disabled){transform:translateY(1px)}.secondary:focus-visible{outline:3px solid var(--focus-halo);outline-offset:2px}.photo-zoom-controls button{min-width:44px;min-height:44px;border-radius:var(--radius-sm)}.photo-dialog{border:1px solid var(--border-subtle,var(--line));box-shadow:var(--shadow-overlay)}@media(max-width:460px){.secondary{min-height:44px}.photo-zoom-controls{gap:8px}}html[data-theme=dark] .record-remove:active:not(:disabled){color:var(--anthracite)}.login-page{grid-template-columns:minmax(0,1fr)}.login-page .login-card{overflow-wrap:anywhere}.dialog-body .form-stack,.dialog-body fieldset,.dialog-body form,.login-page .login-card{min-width:0;max-width:100%}.dialog-body .form-stack>label{min-width:0}.dialog-body .ops-select-trigger>span{min-width:0;overflow-wrap:anywhere}.dialog-body .ops-select-trigger>svg{flex:none}@media(max-width:760px){.login-page{padding:16px}.login-page .login-card{max-block-size:calc(100vh - 32px);max-block-size:calc(100dvh - 32px);padding:24px 20px}.dialog-body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]),.dialog-body select,.dialog-body textarea,.login-card input{min-width:0;max-width:100%;font-size:16px;min-height:44px}.dialog-heading .icon-button{width:44px;min-height:44px}.dialog-footer .dialog-actions>button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding-block:8px}.dialog-body .ops-select-trigger{min-height:44px}.login-card .google-login-button,.login-card .primary,.login-card .secondary{min-height:44px;max-width:100%;white-space:normal}}@media(max-width:760px){.dialog-body :is(button.icon-button,.text-button,.secondary){min-width:44px;min-height:44px}.dialog-body .form-stack>label{gap:8px}.dialog-body input::-moz-placeholder,.dialog-body textarea::-moz-placeholder{color:var(--text-subtle,var(--text-muted));opacity:.82}.dialog-body input::placeholder,.dialog-body textarea::placeholder{color:var(--text-subtle,var(--text-muted));opacity:.82}.login-page .login-card{border:1px solid var(--border-subtle,var(--line));box-shadow:var(--shadow-card)}}