@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:"Inter Tight", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-auto{margin-right:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.max-w-sm{max-width:var(--container-sm)}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-wrap{flex-wrap:wrap}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-x-auto{overflow-x:auto}.pt-2{padding-top:calc(var(--spacing) * 2)}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.lowercase{text-transform:lowercase}.opacity-70{opacity:.7}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/inter-tight-400-BBdFBZlZ.ttf)format("truetype")}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/inter-tight-500-SB3qK8yR.ttf)format("truetype")}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/build/assets/inter-tight-600-BEW8SBpr.ttf)format("truetype")}:root{color-scheme:light;--ink:#0c0c0c;--muted:#747576;--line:#c3c4c8;--paper:#eff0f1;--surface:#eff0f1;--task-surface:#fff;--hover:#e0e1e3;--accent:#f5821f;--radius-card:0px;--space-page:32px;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter Tight,Helvetica Neue,Arial,sans-serif}:root[data-theme=dark]{color-scheme:dark;--ink:#eff0f1;--muted:#a3a3a4;--line:#2f3032;--paper:#18191b;--surface:#18191b;--task-surface:#242527;--hover:#2f3032}*{box-sizing:border-box}body{background:var(--paper);min-width:0;color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}:focus-visible{outline-offset:3px;outline:3px solid #6aa2c5}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;position:sticky;top:0}.header-inner{max-width:1800px;min-height:72px;padding:12px var(--space-page);align-items:center;gap:16px;margin:0 auto;display:flex}.brand-mark{color:#e7741e;letter-spacing:-.09em;background:#fff8f1;border-radius:9px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid;position:relative;overflow:hidden}.brand-mark:before{content:"";clip-path:polygon(42% 0,100% 0,100% 35%,31% 100%,0 100%,0 65%);background:repeating-linear-gradient(135deg,#e7741e 0 3px,#0000 3px 7px);position:absolute;inset:0}.brand-copy{gap:2px;display:grid}.app-name{color:var(--muted);letter-spacing:.025em;font-size:11px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.user-chip{max-width:230px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:9px;display:flex}.user-chip-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.avatar{color:#33424b;background:#eef2f3;border:1px solid #dce3e5;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;font-size:10px;font-weight:700;display:inline-grid}.page-shell{max-width:1800px;padding:34px var(--space-page) 64px;margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:700}.page-title{letter-spacing:-.055em;margin:0;font-size:clamp(26px,3vw,38px);line-height:1.12}.page-subtitle{color:var(--muted);margin:9px 0 0;font-size:13px}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 13px;font-size:12px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.button-secondary:hover{background:#f9fbfb;border-color:#bdc8cd}.button-quiet{color:#52616a;background:0 0;border-color:#0000;min-height:32px;padding:6px 8px}.button-quiet:hover{background:#f0f3f4}.toolbar{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:18px;padding:12px;display:flex}.field,.select-field,.textarea-field{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe5e7;border-radius:9px;padding:10px 11px;font-size:12px}.field:focus,.select-field:focus,.textarea-field:focus{border-color:#7c9cad;outline:3px solid #6aa2c52b}.toolbar .field{width:min(270px,100%)}.toolbar .select-field{width:auto;min-width:142px}.check-label{color:#56636a;align-items:center;gap:7px;font-size:11px;display:inline-flex}.check-label input{accent-color:#314957;width:15px;height:15px}.board-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:15px;display:grid}@media(min-width:680px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.board-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}}.list-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);min-width:0;overflow:hidden;box-shadow:0 2px 10px #19272f08}.list-accent{background:var(--list-color,var(--accent));height:5px}.list-content{padding:15px 15px 17px}.list-head{align-items:flex-start;gap:8px;display:flex}.list-title{overflow-wrap:anywhere;letter-spacing:-.025em;min-width:0;margin:0;font-size:15px;font-weight:750;line-height:1.35}.list-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.list-actions{align-items:center;gap:1px;margin-left:auto;display:flex}.badge{color:#65727a;background:#f1f4f5;border-radius:999px;align-items:center;padding:4px 7px;font-size:9px;font-weight:700;display:inline-flex}.list-count{color:var(--muted);margin:14px 0 9px;font-size:10px}.group-heading{border-top:1px solid #edf0f1;justify-content:space-between;align-items:center;gap:8px;padding:12px 0 7px;display:flex}.group-label{color:#59666d;letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:750}.group-counter{color:#98a2a7;font-size:10px}.task-list{gap:3px;display:grid}.task-row{border-radius:9px;align-items:flex-start;gap:8px;padding:7px 5px;display:flex}.task-check{color:#fff;background:#fff;border:1.5px solid #c5cfd3;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;display:grid}.task-check[aria-checked=true]{background:#638475;border-color:#638475}.task-check svg{width:12px;height:12px}.task-main{flex:1;min-width:0}.task-title{color:#303c43;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;width:100%;padding:0;font-size:11px;font-weight:560;line-height:1.5;display:block}.task-title.completed{color:#98a1a5;text-decoration:none}.task-subline{color:#98a2a7;flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;font-size:9px;display:flex}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack .avatar{border:2px solid #fff;width:20px;height:20px;margin-left:-4px;font-size:8px}.avatar-stack .avatar:first-child{margin-left:0}.task-menu{opacity:.4;flex:none;gap:1px;display:flex}.task-row:hover .task-menu,.task-menu:focus-within{opacity:1}.task-menu button{color:#69777e;background:0 0;border:0;border-radius:5px;padding:3px 5px;font-size:10px}.task-menu button:hover{background:#e9eef0}.inline-add{color:#75838a;text-align:left;background:0 0;border:1px dashed #dce3e5;border-radius:8px;width:100%;margin:5px 0 6px;padding:7px;font-size:10px}.inline-add:hover{color:#344751;background:#fafbfb;border-color:#aebbc0}.project-details{border-top:1px solid #edf0f1}.project-summary{color:#40515a;cursor:pointer;align-items:center;gap:8px;padding:11px 1px 6px;list-style:none;display:flex}.project-summary::-webkit-details-marker{display:none}.project-summary:before{content:"›";color:#829098;font-size:18px;transform:rotate(0)}.project-details[open] .project-summary:before{transform:rotate(90deg)}.project-name{flex:1;min-width:0;font-size:11px;font-weight:700}.project-count{color:#89959a;font-size:9px}.empty-note{color:#9aa4a8;margin:4px 0 9px;font-size:10px;line-height:1.55}.empty-board{color:var(--muted);text-align:center;background:#fff;border:1px dashed #d4dddf;border-radius:16px;grid-column:1/-1;padding:50px 24px;font-size:13px}.flash{color:#3f6f52;background:#eff8f2;border:1px solid #d5e6dc;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:12px}.error-box{color:#9c3730;background:#fff5f4;border:1px solid #f2d7d5;border-radius:9px;margin:9px 0;padding:9px 10px;font-size:11px;line-height:1.5}.modal-backdrop{z-index:50;background:#131c2173;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,520px);max-height:min(92vh,860px);overflow-y:auto;box-shadow:0 22px 70px #0000002e}.modal-head{border-bottom:1px solid #edf0f1;justify-content:space-between;align-items:flex-start;gap:18px;padding:19px 21px 14px;display:flex}.modal-title{letter-spacing:-.04em;margin:0;font-size:18px}.modal-context{color:var(--muted);margin:5px 0 0;font-size:10px}.modal-body{gap:14px;padding:18px 21px 21px;display:grid}.form-label{color:#48565d;gap:6px;font-size:11px;font-weight:650;display:grid}.form-hint{color:#89959a;font-size:10px;font-weight:400}.textarea-field{resize:vertical;min-height:105px;line-height:1.5}.form-footer{justify-content:flex-end;gap:8px;padding-top:5px;display:flex}.swatch-list{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 0 0 1px #d9e0e2}.confirm-copy{color:#59666d;font-size:12px;line-height:1.7}.auth-shell{background:radial-gradient(ellipse at 15% 0,#e9efef 0,transparent 48%),var(--paper);place-items:center;min-height:100vh;padding:22px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,420px);padding:30px;box-shadow:0 18px 60px #1b2a3112}.auth-brand{align-items:center;gap:12px;margin-bottom:27px;display:flex}.auth-title{letter-spacing:-.05em;margin:0;font-size:24px}.auth-intro{color:var(--muted);margin:8px 0 21px;font-size:12px;line-height:1.6}.auth-form{gap:13px;display:grid}.text-link{color:#496f83;text-underline-offset:2px;text-decoration:underline}.security-panel,.admin-panel{border:1px solid var(--line);background:#fff;border-radius:16px;max-width:760px;padding:22px}.security-panel h2,.admin-panel h2{margin:0 0 7px;font-size:17px}.security-panel p,.admin-panel p{color:var(--muted);font-size:12px;line-height:1.65}.qr-code{max-width:220px;margin:12px 0}.user-table{border-collapse:collapse;width:100%;font-size:12px}.user-table th,.user-table td{border-bottom:1px solid var(--line);text-align:left;padding:11px 8px}.user-table th{color:var(--muted);text-transform:uppercase;font-size:10px}.status-dot{background:#5b9873;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.status-dot.off{background:#b86661}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media(max-width:540px){.header-inner{gap:10px;min-height:64px}.brand-mark{width:34px;height:34px}.brand-name{font-size:11px}.app-name{font-size:9px}.user-chip-name{display:none}.header-actions{gap:4px}.header-actions .button{min-height:34px;padding:7px 8px;font-size:10px}.page-shell{padding-top:24px}.page-heading{align-items:flex-start}.page-heading .button{white-space:nowrap}.toolbar{align-items:stretch}.toolbar .field,.toolbar .select-field{width:100%}.user-table th:nth-child(3),.user-table td:nth-child(3){display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-frame{border-inline:0;width:100%;max-width:none;min-height:100dvh;margin:0 auto}.brand-home{color:var(--ink);flex-shrink:0;align-items:center;gap:18px;text-decoration:none;display:inline-flex}.brand-title{letter-spacing:-.045em;font-size:32px;font-weight:500;line-height:1.1}.site-header{background:var(--surface);height:70px}.header-inner{width:100%;max-width:none;height:100%;min-height:0;padding:0 var(--space-page);flex-wrap:nowrap}.brand-mark{background:0 0;border-radius:0;width:32px;height:32px}.brand-mark:before{content:none}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-name{letter-spacing:-.025em;text-transform:none;font-size:17px;font-weight:600}.app-name{font-size:11px}.header-actions{flex-wrap:nowrap;align-items:stretch;gap:0;height:100%}.nav-item{border-left:1px solid var(--line);height:100%;margin:0;display:flex}.nav-item:last-child{border-right:1px solid var(--line)}.nav-trigger{height:100%;min-height:0;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:10px;margin:0;padding:0 22px;font-size:13px;text-decoration:none;display:inline-flex}.nav-trigger svg{flex-shrink:0;width:19px;height:19px}.nav-trigger:hover{background:var(--hover)}.header-actions>.nav-item{border-left:1px solid var(--line)}.nav-trigger.user-chip{max-width:270px}.header-actions .user-chip-name{max-width:180px;display:block}.settings-menu{position:relative}[x-cloak]{display:none!important}.account-popover{border:1px solid var(--line);background:var(--surface);min-width:220px;padding:12px;position:absolute;top:100%;right:0;box-shadow:0 12px 30px #00000026}.account-menu-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;padding:14px 16px;font-size:13px;text-decoration:none;display:block}.account-menu-item:hover{background:var(--hover)}.account-popover form{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.avatar{border-color:var(--line);background:var(--hover);color:var(--ink)}.page-shell{width:100%;max-width:none;margin-inline:auto;padding-top:16px;padding-bottom:32px}.app-frame .page-shell{padding-inline:var(--space-page)}.board-shell{height:calc(100dvh - var(--header-height,70px));flex-direction:column;min-height:0;display:flex}.page-heading{flex-shrink:0;align-items:center;margin-bottom:28px}.board-controls{border:0;flex-wrap:nowrap;gap:24px;margin-bottom:24px;padding-bottom:12px;position:relative}.board-controls:after{content:"";left:calc(-1 * var(--space-page));right:calc(-1 * var(--space-page));border:0;border-bottom:1px solid var(--line);background:0 0;height:0;position:absolute;bottom:0}.board-controls .page-title{flex-shrink:0}.page-title{letter-spacing:-.045em;font-size:28px;font-weight:500}.board-shell .page-title:before{content:"";background:var(--accent);vertical-align:-2px;width:4px;height:24px;margin-right:12px;display:inline-block}.button{border-radius:0;font-weight:500}.button-primary{background:var(--accent);color:#0c0c0c}.button-primary:hover{background:#d06e1a}.button-secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button-secondary:hover,.button-quiet:hover{background:var(--hover);border-color:var(--line)}.button-quiet{color:var(--muted)}.button-danger{color:#f43f5e;background:0 0;border-color:#f43f5e}.theme-toggle{align-items:center;gap:12px;display:flex}.theme-toggle svg{width:20px;height:20px}.toolbar{background:0 0;border:0;border-radius:0;flex-wrap:nowrap;flex:1;justify-content:space-between;gap:24px;min-width:0;margin-bottom:0;padding:0;display:flex}.toolbar-filters{align-items:center;gap:0;display:flex}.toolbar-actions{align-items:center;gap:16px;margin-left:auto;display:flex}.toolbar-filters>*,.toolbar>*{flex-shrink:0}.toolbar .select-field{width:auto;min-width:0;max-width:165px;min-height:32px;color:var(--muted);background:0 0;border:0;padding:6px 12px;font-size:11px}.toolbar-icon{width:40px;height:40px;min-height:40px;padding:9px}.toolbar-icon svg{width:20px;height:20px}.toolbar-filters .toolbar-icon,.toolbar-actions>.layout-settings>.toolbar-icon{width:28px;height:32px;min-height:32px;color:var(--muted);background:0 0;border:0;margin:0;padding:0}.toolbar-filters .toolbar-icon svg,.toolbar-actions>.layout-settings>.toolbar-icon svg{width:14px;height:14px}.toolbar-filters .toolbar-icon:hover,.toolbar-actions>.layout-settings>.toolbar-icon:hover{color:var(--ink);background:0 0}.toolbar-filters .toolbar-icon.is-active{color:var(--accent);background:0 0}.toolbar-icon.is-active{color:var(--ink);border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon.is-active{background:color-mix(in srgb,var(--accent) 15%,var(--surface))}}.new-list-button{min-height:32px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:6px 12px;font-size:11px;font-weight:400}.new-list-button:hover{color:var(--ink)}.search-popover{z-index:35;top:var(--controls-bottom,190px);right:var(--space-page);width:min(400px,calc(100vw - 2 * var(--space-page)));border:1px solid var(--line);background:var(--surface);gap:8px;padding:16px;display:flex;position:fixed;box-shadow:0 12px 30px #00000026}.toolbar .search-popover .field{flex:1;width:100%;min-width:0}.field,.select-field,.textarea-field{border-color:var(--line);background:var(--surface);color:var(--ink);border-radius:0}.field:focus,.select-field:focus,.textarea-field:focus{border-color:var(--accent);outline-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.field:focus,.select-field:focus,.textarea-field:focus{outline-color:color-mix(in srgb,var(--accent) 25%,transparent)}}:focus-visible{outline-color:var(--accent)}.check-label,.form-label,.confirm-copy{color:var(--ink)}.check-label input{accent-color:var(--accent)}.layout-settings{margin-left:0;position:static}.layout-settings summary{list-style:none}.layout-settings summary::-webkit-details-marker{display:none}.layout-popover{z-index:35;right:var(--space-page);top:var(--controls-bottom,190px);width:260px;max-width:calc(100vw - 2 * var(--space-page));border:1px solid var(--line);background:var(--surface);gap:18px;padding:24px;display:grid;position:fixed;box-shadow:0 12px 30px #00000026}.layout-popover .select-field{width:100%}.board-grid{--board-height: calc(100dvh - 190px) ;--grid-gap:24px;--row-height:calc((var(--board-height) - (var(--grid-rows,1) - 1) * var(--grid-gap)) / var(--grid-rows,1));grid-template-columns:repeat(var(--grid-columns,4),minmax(0,1fr));grid-template-rows:repeat(var(--grid-rows,1),var(--row-height));grid-auto-rows:var(--row-height);align-items:stretch;gap:var(--grid-gap);scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;flex:1;height:auto;min-height:0;padding:0 0 1px;overflow-y:auto}.board-grid[data-overflow=false]{overflow-y:hidden}.list-card{min-height:0;box-shadow:none;border:1px solid var(--line);flex-direction:column;display:flex}.list-accent{flex-shrink:0;height:4px}.list-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.list-head{border-bottom:1px solid var(--line);background:var(--list-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:14px 24px}@supports (color:color-mix(in lab,red,red)){.list-head{background:color-mix(in srgb,var(--list-color) 9%,var(--surface))}}.list-heading{flex-wrap:wrap;flex:auto;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.list-title{font-size:18px;font-weight:600}.list-sharing{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:400}.list-actions .button{min-height:24px}.list-head .button{padding:5px;font-size:11px}.list-meta{margin-top:12px}.badge{color:var(--muted);background:0 0;border-radius:0;padding:0;font-size:10px;font-weight:400}.badge-shared{color:var(--muted);background:0 0}.list-count{white-space:nowrap;margin:0;font-size:10px}.list-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:24px;overflow-y:auto}.task-list{gap:10px}.task-row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:8px;padding:12px 8px;position:relative}.task-row:hover{background:var(--hover)}.task-check{border-color:var(--muted);background:0 0;border-radius:0;width:18px;height:18px;margin-left:4px}.task-check[aria-checked=true]{border-color:var(--accent);background:var(--accent);color:#0c0c0c}.task-title{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.task-title{color:color-mix(in srgb,var(--ink) 85%,var(--muted))}}.task-title{font-size:13px;font-weight:400;line-height:1.45}.task-title.completed,.project-name.completed{color:var(--muted);text-decoration:none}.task-subline,.project-count,.form-hint{color:var(--muted)}.avatar-stack .avatar{border-color:var(--surface)}.task-menu{opacity:.65}.icon-button,.task-menu button{width:25px;height:25px;color:var(--muted);background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-button svg,.task-menu svg{width:17px;height:17px}.icon-button:hover,.task-menu button:hover{background:var(--hover);color:var(--ink)}.inline-add{width:32px;height:32px;color:var(--muted);border:0;border-radius:0;justify-content:center;align-items:center;margin-block:8px;padding:0;font-size:20px;display:flex}.inline-add.load-more{justify-content:flex-start;width:100%;height:auto;padding:8px 0;font-size:12px}.inline-add:hover{background:var(--hover);color:var(--ink)}.project-details{border:0;margin-top:24px}.project-summary{color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--list-color);background:var(--list-color);gap:8px;padding:16px 12px}@supports (color:color-mix(in lab,red,red)){.project-summary{background:color-mix(in srgb,var(--list-color) 12%,var(--surface))}}.project-summary:before{content:"›";color:var(--muted)}.project-name{overflow-wrap:anywhere;font-size:15px;font-weight:600}.project-check{margin-top:0}.project-children{margin:16px 0 0 12px;padding-left:24px;position:relative}.project-children.has-tasks:before{content:"";border-left:1px dashed var(--muted);opacity:.65;height:16px;position:absolute;top:-16px;left:2px}.project-children.has-tasks:after{content:"";border-left:3.5px solid #0000;border-right:3.5px solid #0000;border-top:5px solid var(--muted);opacity:.65;position:absolute;top:-3px;left:-1px}.task-branch{pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:-22px}.task-branch:before{content:"";border-left:1px dashed var(--muted);opacity:.65;position:absolute;top:0;bottom:-10px}.task-row:last-child .task-branch:before{height:22px;bottom:auto}.project-task-list .task-row:before{content:"";border-top:1px dashed var(--muted);opacity:.65;width:18px;position:absolute;top:22px;left:-22px}.project-task-list .task-row:after{content:"";border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:5px solid var(--muted);opacity:.65;position:absolute;top:19px;left:-5px}.empty-board{background:var(--surface);border-color:var(--line);border-radius:0}.modal,.auth-card,.security-panel,.admin-panel{background:var(--surface);border-radius:0}.modal-head{border-color:var(--line);padding:28px 32px 24px}.modal-body{gap:20px;padding:28px 32px 32px}.security-panel,.admin-panel{padding:32px}.modal-title{font-weight:500}.auth-shell{background:var(--paper)}.text-link{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.swatch{border-color:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.custom-color{grid-template-columns:1fr repeat(3,50px) 95px;gap:8px;margin-top:15px;display:grid}.custom-color .field{padding:9px 5px}.color-picker{border:1px solid var(--line);cursor:pointer;background:0 0;width:100%;height:38px;padding:2px}.flash{z-index:60;bottom:max(24px,env(safe-area-inset-bottom));background:var(--task-surface);width:max-content;max-width:calc(100vw - 48px);color:var(--ink);border-color:#22c55e;border-radius:0;align-items:center;gap:12px;margin:0;padding:16px 20px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0000002e}.flash>svg{color:#22c55e;flex-shrink:0;width:22px;height:22px}.error-box{background:#f43f5e;border-radius:0}@supports (color:color-mix(in lab,red,red)){.error-box{background:color-mix(in srgb,#f43f5e 10%,var(--surface))}}.error-box{color:var(--ink);border-color:#f43f5e}@media(max-width:1100px){.board-grid{grid-template-columns:repeat(min(var(--grid-columns),3),minmax(0,1fr))}.nav-trigger{padding-inline:16px}.toolbar .select-field{max-width:145px}.list-head{padding:12px 20px}.list-body{padding:20px}}@media(max-width:800px){.header-inner{gap:12px}.nav-trigger{padding-inline:12px}.board-shell{height:calc(100dvh - var(--header-height,70px));min-height:0}.board-grid{grid-template-columns:repeat(min(var(--grid-columns),2),minmax(0,1fr))}.board-controls .page-title{display:none}.toolbar{scrollbar-width:thin;justify-content:flex-start;padding-bottom:8px;overflow-x:auto}}@media(max-width:540px){:root{--space-page:20px}.app-frame .page-shell{padding-inline:var(--space-page)}.header-actions{gap:0;width:auto}.header-actions .user-chip-name{max-width:80px;font-size:11px}.site-header{height:56px}.header-inner{height:100%;min-height:0;padding:0 var(--space-page);gap:8px}.brand-home{gap:8px}.brand-title{font-size:24px}.brand-mark{width:26px;height:26px}.nav-trigger{gap:6px;padding:0 8px;font-size:11px}.nav-trigger svg{width:16px;height:16px}.nav-label{display:none}.board-grid{--grid-gap:20px;grid-template-columns:1fr}.page-shell{padding-top:12px;padding-bottom:20px}.board-controls{margin-bottom:20px;padding-bottom:8px}.toolbar .select-field{flex:none;width:auto}.layout-settings{margin-left:0}.custom-color{grid-template-columns:1fr repeat(3,1fr)}.custom-color>label:last-child{grid-column:1/-1}.modal-head,.modal-body{padding:24px}}.module-shell{min-width:0;min-height:calc(100dvh - 70px)}.module-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.module-heading h2{margin:0;font-size:18px;font-weight:500}.module-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.module-toolbar .field{width:min(280px,100%)}.module-toolbar .select-field{width:auto;max-width:250px}.view-switch{display:flex}.view-switch .button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.project-table-wrap{border:1px solid var(--line);overflow-x:auto}.project-table{border-collapse:collapse;width:100%;font-size:13px}.project-table th{color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:16px;font-size:11px;font-weight:500}.project-table td{border-bottom:1px solid var(--line);padding:18px 16px}.project-table tbody tr:hover{background:var(--hover)}.project-table a{text-decoration:none}.table-actions{white-space:nowrap}.project-status{background:var(--hover);color:var(--ink);padding:4px 7px;font-size:10px;display:inline-block}.project-status[data-status=in_progress]{border-left:2px solid var(--accent)}.project-status[data-status=closed_won]{border-left:2px solid #14b8a6}.project-status[data-status=closed_lost]{border-left:2px solid #f43f5e}.project-code{color:var(--muted);letter-spacing:.04em;font-size:10px}.module-empty{color:var(--muted);text-align:center;padding:36px 20px}.kanban-board{align-items:stretch;gap:16px;width:100%;min-height:420px;padding-bottom:20px;display:flex;overflow-x:auto}.kanban-column{border:1px solid var(--line);background:var(--hover);flex:0 0 260px;min-width:260px}@supports (color:color-mix(in lab,red,red)){.kanban-column{background:color-mix(in srgb,var(--hover) 30%,var(--surface))}}.kanban-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 16px;display:flex}.kanban-heading h2{margin:0;font-size:13px;font-weight:500}.kanban-heading span{color:var(--muted);font-size:11px}.kanban-cards{min-height:350px;padding:12px}.kanban-project{background:var(--task-surface);border:1px solid var(--line);cursor:grab;margin-bottom:12px;padding:16px}.kanban-card-link{text-decoration:none;display:block}.kanban-project h3{overflow-wrap:anywhere;margin:9px 0;font-size:15px;font-weight:500}.kanban-project p{color:var(--muted);margin:8px 0 12px;font-size:11px}.kanban-project progress{width:100%;height:3px;accent-color:var(--accent);margin:12px 0;display:block}.card-status-select{padding:8px;font-size:11px}.kanban-saving{opacity:.7;cursor:progress}.project-detail-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:32px;display:grid}.project-properties{border:1px solid var(--line);align-self:start;padding:24px}.project-properties h2{margin:0 0 20px;font-size:17px}.project-form{gap:18px;display:grid}.project-tasks-panel{min-width:0}.business-task{border:1px solid var(--line);justify-content:space-between;gap:16px;margin-bottom:12px;padding:20px 16px;display:flex}.business-task>div{flex:1;min-width:0}.task-metadata{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.6;display:block}.task-metadata a{text-decoration:underline}.overdue{background:#f43f5e}@supports (color:color-mix(in lab,red,red)){.overdue{background:color-mix(in srgb,#f43f5e 5%,var(--surface))}}.schedule-warning{color:#d06e1a;margin:6px 0;font-size:11px;display:inline-block}.task-editor-modal{width:min(100%,680px)}.member-options{flex-wrap:wrap;gap:12px 20px;padding-top:10px;display:flex}.schedule-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.general-explanation{color:var(--muted);margin:0 0 20px;font-size:10px;line-height:1.6}.general-project{border-top:1px solid var(--line);margin-bottom:20px;padding-top:14px}.general-project summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.general-project summary strong{font-size:13px;font-weight:500}.general-open{margin:12px 0;font-size:10px;display:inline-block}.general-task{border-bottom:1px solid var(--line);gap:9px;padding:12px 0;font-size:12px;display:flex}.readonly-check{color:var(--muted)}.completed{color:var(--muted);text-decoration:none}.gantt-range{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.gantt-range .field{width:150px}.gantt-project-selector{border:1px solid var(--line);margin-bottom:24px;padding:16px 20px;font-size:12px}.gantt-project-selector summary{cursor:pointer}.selector-actions{margin:10px 0;display:flex}.project-selector-options{flex-wrap:wrap;gap:12px 24px;display:flex}.gantt-scroll{--label-width:280px;border:1px solid var(--line);width:100%;max-height:65dvh;margin-bottom:20px;overflow:auto}.gantt-row{grid-template-columns:var(--label-width) var(--timeline-width);border-bottom:1px solid var(--line);min-height:64px;display:grid}.gantt-label{z-index:4;background:var(--surface);border-right:1px solid var(--line);min-width:0;padding:12px 16px;position:sticky;left:0}.gantt-header{z-index:8;min-height:42px;font-size:11px;position:sticky;top:0}.gantt-header .gantt-label{z-index:9;padding-block:14px}.gantt-track{background:repeating-linear-gradient(to right,transparent 0 calc(var(--day-width) - 1px),var(--line) calc(var(--day-width) - 1px) var(--day-width));min-height:64px;position:relative;overflow:hidden}.gantt-header .gantt-track{background:var(--surface);min-height:42px}.gantt-tick{border-right:1px solid var(--line);white-space:nowrap;height:100%;color:var(--muted);padding:14px 5px;font-size:10px;position:absolute;top:0;overflow:hidden}.gantt-weekend{background:var(--muted);position:absolute;inset-block:0}@supports (color:color-mix(in lab,red,red)){.gantt-weekend{background:color-mix(in srgb,var(--muted) 9%,transparent)}}.gantt-weekend{pointer-events:none}.gantt-today{background:var(--accent);z-index:3;pointer-events:none;width:2px;position:absolute;inset-block:0}.gantt-project-row .gantt-label{background:var(--hover)}.gantt-collapse{text-align:left;color:var(--ink);background:0 0;border:0;padding:0;font-size:12px;font-weight:500}.gantt-summary-bar{opacity:.7;border-radius:0;height:10px;position:absolute;top:22px}.gantt-task-bar{z-index:2;border:0;min-width:2px;height:18px;padding:0;position:absolute;top:23px}.gantt-row.is-completed .gantt-task-bar{opacity:.35;border:1px dashed var(--ink)}.gantt-row.is-completed .task-title{color:var(--muted);text-decoration:none}.gantt-row.is-overdue .gantt-label{background:#f43f5e}@supports (color:color-mix(in lab,red,red)){.gantt-row.is-overdue .gantt-label{background:color-mix(in srgb,#f43f5e 5%,var(--surface))}}.gantt-deadline{z-index:5;color:var(--ink);background:0 0;border:0;padding:0;font-size:19px;position:absolute;top:19px;transform:translate(-50%)}.gantt-deadline.deadline-alert{color:#f43f5e}@media(max-width:1000px){.nav-trigger{padding-inline:12px}.nav-label{display:none}}@media(max-width:700px){.header-inner{flex-wrap:wrap;height:auto;min-height:112px;padding-block:12px}.site-header{height:auto}.header-actions{justify-content:flex-end;width:100%;height:48px;margin-left:0}.nav-trigger{padding-inline:8px;font-size:11px}.module-heading{flex-wrap:wrap}.project-detail-grid{grid-template-columns:1fr;gap:24px}.schedule-fields{grid-template-columns:1fr}.gantt-scroll{--label-width:180px}.gantt-label{padding-inline:10px}.module-toolbar .field,.module-toolbar .select-field{max-width:100%}.gantt-range .field{width:130px}}.board-grid{grid-template-columns:repeat(var(--effective-columns,var(--grid-columns,3)),minmax(0,1fr))}.project-summary{grid-template-columns:10px minmax(0,1fr) 18px;gap:6px 8px;padding:12px;display:grid}.project-summary:before{grid-area:1/1/3}.project-name{grid-area:1/2}.project-tools{grid-area:2/2;align-items:center;gap:4px;display:flex}.project-tools .project-count{margin-right:auto}.project-tools .icon-button{width:22px;height:22px;padding:3px}.project-summary>.project-check{grid-area:1/3/3;align-self:center;margin-top:0}.info-tip{flex:none;display:inline-flex}.info-button{width:25px;height:25px;color:var(--muted);cursor:help;background:0 0;border:0;place-items:center;padding:0;font-size:12px;font-weight:600;display:grid}.info-button:hover,.info-button:focus-visible{color:var(--ink);background:var(--hover)}.info-tooltip{z-index:90;border:1px solid var(--line);background:var(--task-surface);color:var(--ink);pointer-events:none;padding:14px 16px;font-size:11px;line-height:1.7;position:fixed;box-shadow:0 8px 24px #00000029}.list-actions{margin-left:auto}.list-actions .button{padding:2px 5px;font-size:10px}.task-check{border-radius:0;flex:0 0 18px;align-self:center;width:18px;height:18px;margin-top:0}.project-check{margin-left:auto}.general-project{border:0;margin:0 0 24px;padding:0}.general-project:last-of-type{margin-bottom:0}.general-project .general-summary{grid-template-columns:10px minmax(0,1fr) 25px;align-items:center;gap:8px;padding:12px;display:grid}.general-summary:before{grid-area:1/1/3}.general-project-heading{grid-column:2;gap:4px;min-width:0;display:grid}.general-project .general-project-heading strong{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.35}.general-project-progress{grid-area:2/2;align-items:center;gap:12px;margin-top:4px;display:flex}.general-project .general-open{grid-area:1/3/3;align-self:start;margin:0;font-size:18px}.general-task{align-items:center;gap:12px;padding:12px 8px;font-size:12px}.general-task-content{overflow-wrap:anywhere;flex:1;gap:6px;min-width:0;line-height:1.45;text-decoration:none;display:grid}.general-task-content:hover>span:first-child{text-underline-offset:3px;text-decoration:underline}.general-task .completed{color:var(--muted);text-decoration:none}.readonly-check{border:1.5px solid var(--muted);color:var(--ink);background:0 0;place-items:center;margin-top:1px;margin-left:auto;display:grid}.readonly-check[data-completed=true]{background:var(--accent);border-color:var(--accent);color:#0c0c0c}.readonly-check svg{width:12px;height:12px}.projects-workspace{height:calc(100dvh - var(--header-height,70px));flex-direction:column;gap:24px;min-height:0;padding-bottom:32px;display:flex}.projects-controls{flex:none;align-items:center;gap:16px;min-width:0;min-height:40px;padding-bottom:8px;display:flex;position:relative}.projects-controls:after{content:"";left:calc(-1 * var(--space-page));right:calc(-1 * var(--space-page));border-bottom:1px solid var(--line);position:absolute;bottom:-1px}.projects-controls .page-title{margin:0;font-size:18px}.projects-controls .view-switch{flex-shrink:0;gap:0}.projects-controls .view-switch .button{min-height:30px;color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:11px}.projects-controls .view-switch .button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}.projects-filters{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.projects-filters .field,.projects-filters .select-field{background:0 0;border-color:#0000;width:auto;min-width:0;max-width:180px;padding:6px 4px;font-size:11px}.projects-filters .field{border-bottom-color:var(--line);flex:1;width:180px}.projects-filters .field:focus,.projects-filters .select-field:focus{border-color:var(--accent);outline:none}.projects-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.projects-actions .new-list-button{padding-right:0}.projects-workspace .project-table-wrap{flex:1;min-height:0;margin:0;overflow:auto}.projects-workspace .project-table thead{z-index:1;background:var(--surface);position:sticky;top:0}.projects-workspace>nav{flex:none}.projects-workspace .kanban-board{scrollbar-color:var(--muted) var(--surface);scrollbar-width:auto;overscroll-behavior-x:contain;flex:1;gap:20px;min-width:0;min-height:0;padding:0 0 12px;position:relative;overflow:auto hidden}.kanban-board::-webkit-scrollbar{height:10px}.kanban-board::-webkit-scrollbar-track{background:var(--surface);border-top:1px solid var(--line)}.kanban-board::-webkit-scrollbar-thumb{background:var(--muted);border:2px solid var(--surface)}.kanban-column{border:1px dashed var(--line);background:0 0;flex-direction:column;flex:0 0 270px;min-width:270px;min-height:0;display:flex}.kanban-heading{border-bottom:1px dashed var(--line);border-top:3px solid var(--column-color);background:var(--column-color);flex:none;gap:8px;min-height:50px;padding:12px}@supports (color:color-mix(in lab,red,red)){.kanban-heading{background:color-mix(in srgb,var(--column-color) 13%,var(--surface))}}.kanban-heading h2{flex:1;font-size:12px;font-weight:600}.kanban-heading .kanban-count{text-align:right;min-width:18px;color:var(--ink);font-size:11px}.column-color-control{cursor:pointer;flex:0 0 14px;width:14px;height:18px;display:flex}.column-color-control input{appearance:none;cursor:pointer;background:0 0;border:0;width:14px;height:18px;padding:0}.column-color-control input::-webkit-color-swatch-wrapper{padding:3px 0}.column-color-control input::-webkit-color-swatch{border:0;border-radius:0}.column-color-control input::-moz-color-swatch{border:0;border-radius:0}.kanban-cards{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:12px;overflow-y:auto}.kanban-project{border-color:var(--line);padding:14px;position:relative;box-shadow:0 2px 4px #00000008}.kanban-project:hover{border-color:var(--column-color)}@supports (color:color-mix(in lab,red,red)){.kanban-project:hover{border-color:color-mix(in srgb,var(--column-color) 70%,var(--line))}}.kanban-project:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kanban-card-tools{align-items:center;gap:2px;min-width:0;display:flex}.kanban-card-tools .project-code{flex:1}.kanban-card-tools .icon-button{opacity:.55;width:22px;height:22px;padding:3px}.kanban-project:hover .icon-button,.kanban-project:focus-within .icon-button{opacity:1}.kanban-drag-handle{touch-action:none;cursor:grab;font-size:18px}.kanban-card-link h3{margin:10px 0;font-size:14px;font-weight:600;line-height:1.45}.kanban-card-progress{color:var(--muted);justify-content:space-between;gap:8px;margin-top:18px;font-size:10px;display:flex}.kanban-project progress{accent-color:var(--column-color);margin:8px 0 0}.kanban-project progress::-webkit-progress-bar{background:var(--hover)}.kanban-project progress::-webkit-progress-value{background:var(--column-color)}.kanban-project progress::-moz-progress-bar{background:var(--column-color)}.kanban-drop-target{border-color:var(--column-color);background:var(--column-color)}@supports (color:color-mix(in lab,red,red)){.kanban-drop-target{background:color-mix(in srgb,var(--column-color) 8%,var(--surface))}}.kanban-dragging{opacity:.5}.kanban-touch-ghost{z-index:80;border:1px solid var(--accent);background:var(--task-surface);color:var(--ink);pointer-events:none;max-width:230px;padding:10px 14px;font-size:12px;position:fixed;box-shadow:0 6px 20px #0003}@media(max-width:1100px){.projects-controls{flex-wrap:wrap;gap:10px}.projects-filters{flex-basis:100%;order:3}.projects-filters .field{max-width:none}}@media(max-width:700px){.projects-workspace{gap:20px;padding-bottom:20px}.projects-controls{gap:8px}.projects-controls .page-title{font-size:16px}.projects-actions{gap:0}.projects-actions .new-list-button{padding:4px}.projects-filters{overflow-x:auto}.projects-filters .field{min-width:110px}.projects-filters .select-field{flex-shrink:0;max-width:130px}.kanban-column{flex-basis:min(270px,82vw);min-width:min(270px,82vw)}.projects-workspace .kanban-board{gap:16px}}.general-project .general-summary{grid-template-columns:10px minmax(0,1fr) auto 25px;gap:6px 8px;min-height:44px;padding:10px 12px}.general-summary:before{grid-row:1}.general-project-heading{overflow-wrap:anywhere;font-size:13px;line-height:1.45;display:block}.general-project .general-project-heading strong{font-size:13px;line-height:1.45}.general-project .general-summary>.project-count{white-space:nowrap;grid-area:1/3;font-size:10px}.general-project .general-open{grid-area:1/4;align-self:center}.project-name-divider{color:var(--muted)}.quick-task-form{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;margin-block:12px;padding:4px 0;display:flex}.quick-task-plus{color:var(--muted);text-align:center;width:18px;font-size:18px}.quick-task-input{width:0;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:4px 0;font-size:12px}.quick-task-input::placeholder{color:var(--muted)}.quick-task-form:focus-within{border-bottom-color:var(--accent)}.quick-task-submit{width:22px;height:26px;color:var(--muted);background:0 0;border:0;padding:0;font-size:14px}.quick-task-submit:hover{color:var(--ink)}.quick-task-error{color:#e5484d;flex-basis:100%;font-size:11px}.task-row.overdue:hover{background:#f43f5e}@supports (color:color-mix(in lab,red,red)){.task-row.overdue:hover{background:color-mix(in srgb,#f43f5e 7%,var(--surface))}}.gantt-shell{min-height:0;height:calc(100dvh - var(--header-height,70px));flex-direction:column;gap:20px;display:flex}.gantt-controls{flex-wrap:wrap;gap:8px 14px}.gantt-controls .button{min-height:28px;color:var(--muted);background:0 0;border:0;padding:4px 7px;font-size:11px}.gantt-controls .button:hover{color:var(--ink)}.gantt-period-controls{align-items:center;gap:0;display:flex}.gantt-controls .gantt-range{flex-wrap:nowrap;align-items:center;gap:6px}.gantt-range .form-label{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:10px;font-weight:400;display:flex}.gantt-controls .gantt-range .field{border:0;border-bottom:1px solid var(--line);background:0 0;width:125px;min-width:0;height:28px;padding:3px;font-size:11px}.gantt-controls .gantt-project-selector{color:var(--muted);border:0;margin:0;padding:0;font-size:11px;position:relative}.gantt-controls .gantt-project-selector>summary{cursor:pointer;padding:6px;list-style:none}.gantt-controls .gantt-project-selector>summary:after{content:"⌄";margin-left:6px}.gantt-controls .gantt-project-selector>summary::-webkit-details-marker{display:none}.gantt-selector-popover{z-index:15;border:1px solid var(--line);background:var(--surface);width:min(400px,100vw - 40px);max-height:min(350px,55dvh);color:var(--ink);padding:16px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.gantt-selector-popover .selector-actions{gap:8px;margin:0 0 12px}.gantt-selector-popover .project-selector-options{gap:12px;display:grid}.gantt-selector-popover .check-label{font-size:12px}.gantt-shell .gantt-scroll{flex:1;min-height:0;max-height:none;margin-bottom:0;position:relative}.gantt-shell>.form-hint{flex:none;margin:0}@media(max-width:700px){.gantt-controls{gap:6px 8px}.gantt-controls .gantt-range{order:4;width:100%}.gantt-controls .gantt-range .form-label{flex:1;min-width:0}.gantt-controls .gantt-range .field{width:100%}.gantt-period-controls{order:3}.gantt-controls .gantt-project-selector{order:3;margin-left:auto}.gantt-selector-popover{right:-4px}.gantt-shell{gap:16px}}.site-header{border-inline:0;width:100%;max-width:none;margin-inline:0}.security-panel,.admin-panel{width:100%;max-width:none;margin-inline:auto}.auth-shell{width:100%;padding:var(--space-page)}.task-row,.business-task{align-items:center}.task-row.overdue{padding:12px 8px}.task-check:disabled{opacity:.4;cursor:not-allowed}.projects-workspace{align-items:stretch}.projects-workspace>.project-table-wrap,.projects-workspace>.kanban-board{width:100%;max-width:100%;margin-inline:auto}.kanban-column:first-child{margin-left:auto}.kanban-column:last-child{margin-right:auto}.project-status[data-status=closed_lost]{border-left-color:#737b85}.money-cell,.money-value{font-variant-numeric:tabular-nums}.money-cell{white-space:nowrap}.money-gross{color:var(--muted);font-weight:400}.project-money{border-top:1px solid var(--line);gap:5px;margin-top:14px;padding-top:14px;display:grid}.money-label{color:var(--muted);font-size:10px;line-height:1.5}.project-money .money-value{overflow-wrap:anywhere;font-size:12px;line-height:1.6}.project-money .money-label:nth-of-type(3){margin-top:7px}.price-fields{grid-template-columns:minmax(0,1fr) 80px;gap:12px;display:grid}.price-fields .field{min-width:0}.project-detail-content{align-content:start;gap:32px;min-width:0;display:grid}.project-finance-summary{border:1px solid var(--line);background:var(--hover);flex-wrap:wrap;gap:24px 48px;padding:20px 24px;display:flex}.project-finance-summary>div{align-content:start;gap:8px;display:grid}.project-finance-summary strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;font-weight:500}.project-tasks-panel .module-heading{gap:12px}.project-tasks-panel .module-heading h2{margin-right:auto}.business-task-group{margin-bottom:20px}.business-task{margin-bottom:0;padding:14px 16px;position:relative}.business-task.is-parent-task{background:var(--hover)}.business-task.is-parent-task .task-title{font-weight:600}.business-task .task-metadata{margin:5px 0 0}.business-task .subtask-add{width:24px;height:24px;color:var(--muted);flex:0 0 24px;padding:0;font-size:18px}.subtask-children{margin-top:12px}.subtask-children .business-task{background:var(--task-surface);border-color:var(--line);margin-bottom:10px}.subtask-children .business-task:last-child{margin-bottom:0}.subtask-children .business-task:before{content:"";border-top:1px dashed var(--muted);opacity:.65;width:18px;position:absolute;top:22px;left:-22px}.subtask-children .business-task:after{content:"";border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:5px solid var(--muted);opacity:.65;position:absolute;top:19px;left:-5px}.subtask-children .business-task:last-child .task-branch:before{height:22px;bottom:auto}.general-task-group{margin-bottom:12px;position:relative}.general-task-group:last-child{margin-bottom:0}.general-task-group:not(:last-child):before{content:"";border-left:1px dashed var(--muted);opacity:.65;position:absolute;top:0;bottom:-12px;left:-22px}.general-task-group>.general-task .task-branch:before{height:22px;bottom:auto}.general-task.has-subtasks{background:var(--hover)}.general-task.has-subtasks .general-task-content>span:first-child{font-weight:600}.project-costs-panel{border-top:1px solid var(--line);min-width:0;padding-top:24px}.cost-entry-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.cost-entry-form .form-label{flex:120px;min-width:0;margin:0}.cost-entry-form .cost-description-field{flex:3 180px}.cost-entry-form .field{min-width:0}.cost-entry-form .button{min-height:40px}.cost-table-wrap{max-width:100%;overflow:auto}.cost-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.cost-table th,.cost-table td{border-bottom:1px solid var(--line);padding:12px}.cost-table th{color:var(--muted);font-size:10px;font-weight:500}.cost-table tfoot td,.cost-table tfoot th{color:var(--ink);border-bottom:0;padding-top:18px}.cost-table .cost-actions{white-space:nowrap;text-align:right}.cost-actions .icon-button{width:24px;height:24px;padding:4px}.quick-task-form{gap:4px 6px}.quick-task-form .quick-task-input{flex:calc(100% - 54px);order:0}.quick-task-options{order:3;align-items:center;gap:8px;width:100%;min-width:0;padding-left:24px;display:flex}.quick-task-assignee,.quick-task-due{min-width:0;color:var(--muted);background:0 0;border:0;padding:4px 0;font-size:10px;line-height:1.4}.quick-task-assignee{flex:1;width:0}.quick-task-assignee option{color:var(--ink);background:var(--surface)}.quick-task-due{width:110px;max-width:50%}.quick-task-error{order:4}.task-subline .task-due{color:var(--muted);font-size:10px}.project-details:not(.general-project){margin-top:24px}.project-details:not(.general-project)>.project-summary{grid-template-columns:10px minmax(0,1fr) auto auto 18px;align-items:center;gap:6px 8px;min-height:44px;padding:10px 12px}.project-details:not(.general-project)>.project-summary:before{grid-area:1/1}.project-details:not(.general-project) .project-name{grid-area:1/2;font-size:13px;line-height:1.45}.project-details:not(.general-project) .project-count{white-space:nowrap;grid-area:1/3;font-size:10px}.project-details:not(.general-project) .project-tools{grid-area:1/4;gap:0}.project-details:not(.general-project) .project-summary>.project-check{grid-area:1/5}.gantt-grid{width:100%;min-width:0}.gantt-row{grid-template-columns:var(--label-width) minmax(0,1fr)}.gantt-shell .gantt-scroll{overflow-x:hidden}.gantt-track{background:repeating-linear-gradient(to right,transparent 0 calc(var(--grid-width,var(--day-width)) - 1px),var(--line) calc(var(--grid-width,var(--day-width)) - 1px) var(--grid-width,var(--day-width)))}.gantt-tick{min-width:0;box-shadow:inset -1px 0 var(--line);pointer-events:none;border-right:0;padding-inline:0;overflow:visible}.gantt-tick-label{width:max-content;padding-left:5px;display:block}.person-avatar{--avatar-color:#f5821f;background:var(--avatar-color);width:28px;height:28px;color:var(--avatar-ink,#fff);vertical-align:middle;border-radius:0;flex:0 0 28px;place-items:center;font-size:12px;font-weight:600;line-height:1;display:inline-grid;overflow:hidden}.person-avatar img{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.person-avatar-large{flex-basis:96px;width:96px;height:96px;font-size:38px}.person-avatar-empty{color:var(--muted);border:1px dashed var(--line);background:0 0;font-weight:400}.person-avatar-empty svg{width:17px;height:17px}.assignee-avatars{vertical-align:middle;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.task-metadata:has(.assignee-avatars),.task-subline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-subline .person-avatar{flex-basis:24px;width:24px;height:24px;font-size:11px}.person-picker{min-width:0;display:inline-block;position:relative}.person-picker-trigger{min-height:28px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;max-width:100%;padding:0;display:flex}.person-picker-trigger .person-picker-empty{align-items:center;gap:6px;font-size:11px;display:inline-flex}.person-picker-trigger .picker-chevron{font-size:11px}.person-picker-trigger .assignee-avatars{gap:3px}.person-picker-popover{z-index:70;border:1px solid var(--line);background:var(--surface);width:min(280px,100vw - 40px);max-height:calc(100dvh - 40px);color:var(--ink);padding:10px;position:fixed;overflow:auto;box-shadow:0 8px 24px #00000029}.person-picker-popover .person-search{height:36px;padding:8px 10px;font-size:12px}.person-picker-options{max-height:230px;margin-top:6px;overflow:auto}.person-option{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 4px;font-size:12px;display:flex}.person-option:hover,.person-option:focus-visible,.person-option[aria-pressed=true]{background:var(--hover)}.person-selected{color:var(--accent);margin-left:auto}.person-picker-done{width:100%;margin-top:8px}.quick-task-options .person-avatar{flex-basis:23px;width:23px;height:23px;font-size:10px}.user-identity{align-items:center;gap:10px;display:inline-flex}.profile-form{gap:22px;width:100%;max-width:600px;display:grid}.profile-preview{align-items:center;gap:24px;display:flex}.profile-file{font-size:12px}.profile-page .module-heading{margin-bottom:32px}.profile-editor .page-title{font-size:22px}.column-collapse{width:24px;height:24px;color:var(--muted);flex:0 0 24px;padding:3px}.column-collapse svg{width:18px;height:18px}.kanban-column.is-collapsed{flex-basis:56px;min-width:56px}.is-collapsed .kanban-heading{border-bottom:0;flex-direction:column;flex:1;justify-content:flex-start;gap:16px;min-width:0;padding:12px 6px;display:flex}.is-collapsed .kanban-heading .column-collapse{order:-2}.is-collapsed .kanban-heading .kanban-count{text-align:center;order:-1}.is-collapsed .kanban-heading h2{writing-mode:vertical-rl;text-orientation:mixed;flex:none;line-height:1.4}.is-collapsed .column-color-control{display:none}.project-detail-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.project-detail-header .text-link{margin-bottom:20px;font-size:11px;display:block}.project-detail-header .project-code{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.project-detail-header .page-title{overflow-wrap:anywhere;font-size:28px}.project-header-actions{align-items:center;gap:14px;padding-top:36px;display:flex}.project-tabs{border-bottom:1px solid var(--line);gap:24px;margin-bottom:28px;display:flex}.project-tab{min-height:40px;color:var(--muted);background:0 0;border:0;padding:8px 0 14px;font-size:12px;position:relative}.project-tab[aria-selected=true]{color:var(--ink)}.project-tab[aria-selected=true]:after{content:"";background:var(--accent);inset-inline:0;height:2px;position:absolute;bottom:-1px}.project-tab-panel{min-width:0}.project-data-layout{grid-template-columns:minmax(0,1fr) 260px;gap:48px;display:grid}.detail-section-heading h2,.project-audit h2{margin:0 0 24px;font-size:15px;font-weight:500}.project-data-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1000px;display:grid}.project-data-form .project-description-field,.project-data-form .form-footer,.project-data-form .error-box{grid-column:1/-1}.project-audit{border-left:1px solid var(--line);padding-left:28px}.project-audit dl{gap:8px;margin:0;font-size:12px;display:grid}.project-audit dt{color:var(--muted);margin-top:14px;font-size:10px}.project-audit dd{margin:0}.project-tab-panel .project-finance-summary,.contract-section{margin-bottom:32px}.contract-section .project-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.contract-section .price-fields{width:min(460px,100%)}.contract-section .form-label{margin:0}.detail-tasks-toolbar{border-bottom:1px solid var(--line);gap:20px;padding-bottom:20px}.detail-tasks-toolbar .info-tip{margin-left:auto}.inline-subtask-form{border-bottom:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:12px 0;display:flex}.inline-subtask-form .quick-task-input{flex:180px;font-size:12px}.inline-subtask-form .icon-button{width:22px;height:22px;padding:3px;font-size:12px}.business-task.overdue,.subtask-children .business-task.overdue{background:#e5484d}@supports (color:color-mix(in lab,red,red)){.business-task.overdue,.subtask-children .business-task.overdue{background:color-mix(in srgb,#e5484d 6%,var(--task-surface))}}.task-title.completed,.project-name.completed,.completed,.general-task .completed,.gantt-row.is-completed .task-title{text-decoration:none}.task-row.is-completed .task-main,.general-task.is-completed .general-task-content,.business-task.is-completed .business-task-content{opacity:.72;filter:grayscale(.85)}.gantt-row.is-completed .task-title,.gantt-row.is-completed .task-metadata{opacity:.6;filter:grayscale()}.task-check[aria-checked=true]{background:var(--hover);color:var(--muted);border-color:var(--muted)}.completion-mark{color:var(--muted);margin-right:3px;text-decoration:none;display:inline-block}.person-avatar:not(:has(img)){border:1px solid #f5821f}.person-avatar-empty:not(:has(img)){border:1px dashed var(--line)}.project-color-dot{background:var(--project-color);vertical-align:middle;width:10px;height:10px;margin-right:8px;display:inline-block}.project-detail-header{border-bottom:2px solid var(--project-color);padding-bottom:20px}.project-task-tree{--task-width:clamp(240px, 19vw, 300px);padding:2px 0 20px;overflow-x:auto}.project-task-tree>.task-tree-node{border-bottom:1px solid var(--line);margin-bottom:32px;padding-bottom:28px}.project-task-tree>.task-tree-node:last-child{border-bottom:0;margin-bottom:0}.task-tree-node{align-items:flex-start;gap:32px;width:max-content;display:flex;position:relative}.project-task-tree .business-task{width:var(--task-width);flex:0 0 var(--task-width);background:var(--task-surface);align-self:flex-start;gap:8px;min-height:96px;padding:14px}.project-task-tree .business-task.is-parent-task{border-top:2px solid var(--project-color);background:var(--project-color)}@supports (color:color-mix(in lab,red,red)){.project-task-tree .business-task.is-parent-task{background:color-mix(in srgb,var(--project-color) 8%,var(--task-surface))}}.project-task-tree .business-task.overdue{background:#e5484d}@supports (color:color-mix(in lab,red,red)){.project-task-tree .business-task.overdue{background:color-mix(in srgb,#e5484d 6%,var(--task-surface))}}.project-task-tree .business-task.is-completed{background:var(--surface)}.project-task-tree .business-task .task-title{font-size:12px;line-height:1.5}.project-task-tree .business-task .task-metadata{font-size:10px;line-height:1.6}.project-task-tree .business-task .subtask-add{flex-basis:18px;width:18px;font-size:16px}.task-tree-children{flex:none;gap:20px;padding-left:16px;display:grid;position:relative}.task-tree-children:before{content:"";border-top:1px dashed var(--muted);opacity:.55;width:48px;position:absolute;top:24px;left:-32px}.task-tree-children>.task-tree-node:before{content:"";border-top:1px dashed var(--muted);opacity:.55;width:16px;position:absolute;top:24px;left:-16px}.task-tree-children>.task-tree-node:not(:last-of-type):after{content:"";border-left:1px dashed var(--muted);opacity:.55;position:absolute;top:24px;bottom:-44px;left:-16px}.task-tree-node>.business-task.is-subtask:before{content:"";border-left:5px solid var(--muted);opacity:.65;border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;position:absolute;top:20px;left:-5px}.task-tree-children>.inline-subtask-form{width:var(--task-width);border:1px dashed var(--line);gap:6px;min-width:0;margin:0;padding:12px}.task-tree-children .inline-subtask-form .quick-task-input{flex:calc(100% - 32px)}.inline-subtask-options{flex:100%;justify-content:space-between;align-items:center;gap:6px;min-width:0;margin:4px 0;display:flex}.inline-subtask-options .person-picker{flex:1}.inline-subtask-options .person-picker-empty>span:last-child{display:none}.task-tree-children>.load-more{width:var(--task-width);text-align:left}.gantt-task-row .gantt-label{padding-left:calc(16px + var(--task-depth,0) * 14px)}@media(max-width:900px){.project-task-tree{overflow-x:hidden}.task-tree-node{width:auto;display:block}.project-task-tree .business-task{width:100%;max-width:480px}.task-tree-children{gap:16px;margin:14px 0 0 16px;padding-left:16px}.task-tree-children:before{border-top:0;border-left:1px dashed var(--muted);width:0;height:38px;top:-14px;left:0}.task-tree-children>.task-tree-node:not(:last-of-type):after{bottom:-40px}.task-tree-children>.inline-subtask-form{width:100%;max-width:480px}.task-tree-children .inline-subtask-form>.person-picker{margin-left:0}.task-tree-children>.load-more{width:100%;max-width:480px}}@media(max-width:700px){.project-detail-header{flex-wrap:wrap;gap:14px}.project-detail-header .page-title{font-size:24px}.project-header-actions{padding-top:0}.project-data-layout,.project-data-form{grid-template-columns:1fr;gap:24px}.project-audit{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.project-tabs{gap:24px}.detail-tasks-toolbar{gap:12px}.inline-subtask-form .quick-task-input{flex-basis:calc(100% - 40px)}.inline-subtask-form>.person-picker{margin-left:28px}.profile-preview{align-items:flex-start;gap:16px}.kanban-column.is-collapsed{flex-basis:50px;min-width:50px}.project-finance-summary{gap:16px;padding:16px}.project-finance-summary strong{font-size:15px}.project-tasks-panel .module-heading{flex-wrap:wrap}.project-detail-content{gap:24px}.cost-table th,.cost-table td{padding-inline:8px}.gantt-scroll{--label-width:min(180px, 42%)}.page-heading:not(.board-controls){flex-wrap:wrap}.security-panel,.admin-panel{padding:20px}}.list-rename-button{width:20px;height:24px;color:var(--muted);opacity:.55;cursor:pointer;background:0 0;border:0;flex:0 0 20px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.list-rename-button:hover,.list-rename-button:focus-visible{opacity:1;color:var(--ink)}.list-rename-button svg{width:12px;height:12px}.list-rename-form{flex-wrap:wrap;flex:160px;align-items:center;gap:4px;min-width:0;display:flex}.list-rename-form .field{flex:100px;width:0;min-width:80px;min-height:30px;padding:4px 6px;font-size:14px}.list-rename-form .icon-button{width:24px;height:28px;padding:2px}.list-rename-error{color:#e65363;flex-basis:100%;font-size:11px}.gantt-task-row .gantt-label{--tree-step:18px;padding-left:calc(24px + var(--task-depth,0) * var(--tree-step))}.gantt-task-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:39px;display:flex}.gantt-task-heading .task-title{flex:auto;min-width:0}.gantt-task-heading .assignee-avatars{flex-wrap:nowrap;flex:none;gap:2px;margin:0}.gantt-task-heading .person-avatar{flex-basis:24px;width:24px;height:24px;font-size:11px}.gantt-task-heading .assignee-avatars>:not(:first-child){margin-left:-8px}.gantt-task-heading .assignee-avatars>:hover{z-index:1}.gantt-tree-guide{left:calc(14px + var(--guide-level,0) * var(--tree-step));border-left:1px dashed var(--muted);opacity:.55;pointer-events:none;width:22px;position:absolute;top:0;bottom:-1px}.gantt-tree-guide.is-branch.is-last{bottom:50%}.gantt-tree-guide.is-branch:before{content:"";border-top:1px dashed var(--muted);width:22px;position:absolute;top:50%;left:0}.gantt-tree-guide.is-branch.is-last:before{top:100%}.gantt-tree-guide.is-branch:after{content:"";border-left:5px solid var(--muted);border-block:3px solid #0000;position:absolute;top:calc(50% - 3px);left:20px}.gantt-tree-guide.is-branch.is-last:after{top:calc(100% - 3px)}.gantt-plan-warning{z-index:6;background:var(--surface);width:22px;height:24px;color:var(--accent);cursor:pointer;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:20px}.gantt-plan-warning svg{width:20px;height:20px}@media(max-width:700px){.gantt-task-row .gantt-label{--tree-step:12px;padding-left:calc(18px + var(--task-depth,0) * var(--tree-step))}.gantt-tree-guide{left:calc(8px + var(--guide-level,0) * var(--tree-step));width:16px}.gantt-tree-guide.is-branch:before{width:16px}.gantt-tree-guide.is-branch:after{left:14px}.gantt-task-heading{gap:4px}.gantt-task-heading .person-avatar{flex-basis:20px;width:20px;height:20px;font-size:10px}}.quick-task-form{grid-template-columns:18px minmax(0,1fr) auto 22px;align-items:center;gap:6px;display:grid}.quick-task-form .quick-task-input{width:100%;min-width:0;padding-block:6px}.quick-task-form .quick-task-options{order:initial;gap:4px;width:auto;padding:0}.quick-task-options>.person-picker{flex:none}.person-picker-compact .person-picker-trigger,.quick-option-button{width:24px;min-width:24px;height:26px;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.person-picker-compact .person-picker-trigger:hover,.quick-option-button:hover{color:var(--ink);background:var(--hover)}.person-picker-compact .person-picker-empty svg,.quick-option-button svg{width:15px;height:15px}.person-picker-compact .person-avatar{flex-basis:20px;width:20px;height:20px;font-size:10px}.quick-option-button.is-set{color:var(--accent)}.quick-date-popover{z-index:75;border:1px solid var(--line);background:var(--surface);width:220px;padding:12px;position:fixed;box-shadow:0 8px 24px #00000029}.quick-date-popover .quick-task-due{border:1px solid var(--line);width:100%;max-width:none;color:var(--ink);padding:8px;font-size:12px}.quick-date-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.quick-date-actions .button{padding:2px 4px;font-size:11px}.quick-task-form .quick-task-error{order:initial;grid-column:1/-1}.task-check[aria-checked=true],.completion-mark{color:#22c55e}.gantt-row.is-completed .task-title{opacity:1;filter:none}.gantt-row.is-completed .gantt-task-name{opacity:.6;filter:grayscale()}.gantt-task-collapse{width:14px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:0 0 14px;padding:0;font-size:12px}.gantt-task-heading:has(.gantt-task-collapse){margin-left:-18px}.gantt-assignees-toggle svg{width:15px;height:15px}.gantt-assignees-toggle.is-active{color:var(--ink)}.gantt-bar-container{z-index:2;min-width:3px;height:18px;position:absolute;top:23px}.gantt-bar-container .gantt-task-bar{cursor:grab;touch-action:none;width:100%;height:100%;inset:0}.gantt-bar-container.is-summary{height:12px;top:26px}.gantt-bar-container.is-summary .gantt-task-bar{opacity:.75;box-shadow:inset 0 0 0 1px var(--ink)}@supports (color:color-mix(in lab,red,red)){.gantt-bar-container.is-summary .gantt-task-bar{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 25%,transparent)}}.gantt-resize-handle{z-index:4;cursor:ew-resize;touch-action:none;background:0 0;border:0;width:12px;padding:0;position:absolute;top:-5px;bottom:-5px}.gantt-resize-handle.is-start{left:-6px}.gantt-resize-handle.is-end{right:-6px}.gantt-resize-handle:after{content:"";background:var(--surface);opacity:.6;width:2px;position:absolute;top:8px;bottom:8px}.gantt-resize-handle.is-start:after{left:7px}.gantt-resize-handle.is-end:after{right:7px}.gantt-bar-container:hover .gantt-resize-handle:after,.gantt-resize-handle:focus-visible:after{opacity:1;background:var(--ink)}.gantt-deadline{cursor:ew-resize;touch-action:none}.gantt-task-bar:active{cursor:grabbing}.is-dragging-schedule{opacity:.25}.gantt-drag-preview{z-index:10;border:1px solid var(--ink);opacity:.9;pointer-events:none;min-width:2px;height:18px;position:absolute;top:23px}.gantt-drag-preview.is-due{height:auto;color:var(--accent);border:0;font-size:19px;line-height:1;top:19px;transform:translate(-50%)}.gantt-drag-tooltip{z-index:100;border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;pointer-events:none;padding:7px 10px;font-size:11px;position:fixed;box-shadow:0 4px 16px #00000026}.is-saving-schedule .gantt-track{cursor:progress}.is-saving-schedule .gantt-task-bar,.is-saving-schedule .gantt-resize-handle,.is-saving-schedule .gantt-deadline{pointer-events:none}@media(max-width:700px){.gantt-task-heading:has(.gantt-task-collapse){margin-left:-12px}.gantt-task-collapse{flex-basis:10px;width:10px}}.board-shell .project-details>.project-summary,.board-shell .task-row,.board-shell .task-row.overdue{padding:12px}.board-shell .task-check{margin-right:0}.board-shell .project-children{--branch-gap:16px;margin-top:var(--branch-gap)}.board-shell .project-children.has-tasks:before{top:calc(-1 * var(--branch-gap));height:var(--branch-gap)}.board-shell .project-task-list{gap:0}.board-shell .general-task-group{margin-bottom:12px}.board-shell .general-task-group:last-child{margin-bottom:0}.board-shell .general-task-group:not(:last-child)>.general-task .task-branch:before{content:none}.board-shell .project-task-list>.task-row{margin-bottom:12px}.board-shell .project-task-list>.task-row:last-child{margin-bottom:0}.board-shell .project-task-list>.task-row .task-branch:before{bottom:-12px}.board-shell .project-task-list>.task-row:last-child .task-branch:before{height:22px;bottom:auto}.finance-page{padding-bottom:64px}.finance-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.finance-eyebrow{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.finance-heading-tools{align-items:center;gap:12px;display:flex}.finance-access{color:var(--muted);font-size:11px}.finance-tabs{margin-bottom:24px;overflow-x:auto}.finance-tabs .project-tab{flex-shrink:0}.finance-tabs .project-tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.finance-toolbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:36px;margin:0 0 20px;display:flex}.finance-toolbar h2,.finance-section-title h2{margin:0;font-size:14px;font-weight:600}.finance-inline-label{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.finance-inline-label .field{width:96px;min-height:32px;padding:6px 10px}.finance-segment{flex-wrap:wrap;gap:0;display:flex}.finance-segment button{min-height:32px;color:var(--muted);background:0 0;border:1px solid #0000;padding:5px 12px;font-size:12px}.finance-segment button:hover,.finance-segment button[aria-pressed=true]{border-color:var(--line);background:var(--task-surface);color:var(--ink)}.finance-add{margin-left:auto}.finance-project-search{max-width:280px;min-height:32px;margin-left:auto;padding:6px 10px}.finance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.finance-kpi{border:1px solid var(--line);background:var(--task-surface);flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:22px;display:flex}.finance-kpi>span{color:var(--muted);font-size:12px}.finance-kpi>strong{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(20px,1.9vw,30px);font-weight:500;line-height:1.15}.finance-kpi>small{color:var(--muted);margin-top:auto;font-size:10px}.finance-section{border:1px solid var(--line);background:var(--task-surface);min-width:0;margin-bottom:24px}.finance-section-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.finance-section-title>span,.finance-muted,.finance-range{color:var(--muted);font-size:11px}.finance-table-scroll{max-width:100%;overflow:auto}.finance-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.finance-table th,.finance-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:13px 18px}.finance-table thead th{background:var(--surface);color:var(--muted);white-space:nowrap;font-size:10px;font-weight:500}.finance-table tbody th{min-width:210px;font-weight:500}.finance-table td{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table tbody tr:last-child>*{border-bottom:0}.finance-table tbody tr:hover>*{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.finance-table tbody tr:hover>*{background-color:color-mix(in srgb,var(--accent) 3%,var(--task-surface))}}.finance-matrix th:first-child{z-index:1;background:var(--task-surface);border-right:1px solid var(--line);min-width:255px;position:sticky;left:0}.finance-matrix thead th:first-child{background:var(--surface)}.finance-matrix td,.finance-matrix th:not(:first-child){text-align:right;min-width:138px}.finance-table .finance-total>*{background:var(--surface);font-weight:600}.finance-table .finance-highlight>*{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.finance-table .finance-highlight>*{background:color-mix(in srgb,var(--accent) 8%,var(--task-surface))}}.finance-table .finance-highlight>*{border-top:1px solid var(--accent)}.finance-year-total{font-weight:600}.finance-negative{color:#b74c42}:root[data-theme=dark] .finance-negative{color:#ef9990}.finance-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.finance-stat-list{margin:0;padding:8px 20px}.finance-stat-list>div{justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;display:flex}.finance-stat-list dt{color:var(--muted);font-size:12px}.finance-stat-list dd{white-space:nowrap;margin:0;font-size:14px}.finance-data-hint{color:var(--muted);text-underline-offset:3px;padding:0 20px 20px;font-size:11px;display:block}.finance-chart-scroll{width:100%;overflow-x:auto}.finance-chart-canvas{min-width:864px;margin:0 20px 12px;position:relative}.finance-chart-year-bands{pointer-events:none;position:absolute;inset:0}.finance-chart-year-bands>span{position:absolute;top:0;bottom:0}.finance-chart-year-bands>span:nth-child(2n){background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.finance-chart-year-bands>span:nth-child(2n){background:color-mix(in srgb,var(--ink) 3%,transparent)}}.finance-chart-year-bands>span+span{border-left:1px solid var(--line)}.finance-chart-years,.finance-chart-months{grid-template-columns:repeat(var(--chart-months),minmax(0,1fr));display:grid;position:relative}.finance-chart-years>span{color:var(--ink);padding:12px 10px;font-size:11px;font-weight:600}.finance-chart-plot{height:180px;position:relative}.finance-chart-plot svg{width:100%;height:100%;color:var(--accent);display:block;overflow:visible}.finance-chart-point{background:0 0;border:0;border-radius:0;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.finance-chart-point:after{content:"";border:1px solid var(--accent);background:var(--accent);border-radius:50%;width:8px;height:8px}.finance-chart-point:hover:after,.finance-chart-point:focus-visible:after{width:10px;height:10px;box-shadow:0 0 0 4px var(--accent)}@supports (color:color-mix(in lab,red,red)){.finance-chart-point:hover:after,.finance-chart-point:focus-visible:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}}.finance-chart-months{border-top:1px solid var(--line)}.finance-chart-months>span{text-align:center;color:var(--muted);padding:12px 0 8px;font-size:10px;position:relative}.finance-chart-months>span:before{content:"";border-left:1px solid var(--line);height:5px;position:absolute;top:0;left:50%}.finance-chart-tooltip{z-index:100;border:1px solid var(--line);background:var(--task-surface);width:232px;max-width:calc(100vw - 24px);color:var(--ink);pointer-events:none;gap:6px;padding:12px 14px;display:grid;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px 18px #0000001f}.finance-chart-tooltip>span{color:var(--muted);font-size:11px}.finance-chart-tooltip>strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.finance-zero-line{stroke:var(--line);stroke-dasharray:4 4}.finance-cashflow-table .finance-year-start{border-left:2px solid var(--line)}.finance-cashflow-table .finance-cashflow-years th{text-align:left;color:var(--ink);font-weight:600}.finance-cell-note{color:var(--muted);white-space:normal;max-width:320px;margin-top:5px;font-size:10px;display:block}.finance-project-link{color:var(--ink);min-width:200px;text-decoration:none;display:block}.finance-project-link>span{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.finance-project-link:hover{color:var(--accent)}.finance-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.finance-row-actions .icon-button{width:28px;height:28px}.finance-row-actions svg{width:14px;height:14px}.finance-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:18px;padding:22px;display:grid}.finance-form .field{min-height:38px}.finance-wide{grid-column:span 2}.finance-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.finance-form>.finance-form-actions{grid-column:1/-1}.finance-editor{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.finance-editor{border-color:color-mix(in srgb,var(--accent) 65%,var(--line))}}.finance-settings{padding-bottom:16px}.project-costs-panel .cost-entry-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.project-costs-panel .cost-entry-form .form-label{flex:125px}.project-costs-panel .cost-entry-form .cost-description-field{flex:3 240px}.nav-trigger[aria-current=page]{box-shadow:inset 0 -2px var(--accent)}@media(max-width:1000px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-bottom-grid{grid-template-columns:minmax(0,1fr);gap:0}}@media(max-width:700px){.finance-access{display:none}.finance-heading{margin-bottom:16px}.finance-tabs{margin-bottom:20px}.finance-kpis{gap:12px}.finance-kpi{gap:10px;padding:16px}.finance-kpi>strong{font-size:20px}.finance-form{grid-template-columns:minmax(0,1fr);padding:18px}.finance-wide{grid-column:auto}.finance-matrix th:first-child{min-width:175px;max-width:175px;font-size:11px}.finance-table th,.finance-table td{padding:12px}.finance-stat-list>div{flex-wrap:wrap;gap:8px}.finance-section-title{padding:16px}}@property --tw-font-weight{syntax:"*";inherits:false}
