/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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{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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 72% 51%;--destructive-foreground:0 0% 98%;--success:142 71% 45%;--warning:38 92% 50%;--border:240 5.9% 92%;--input:240 5.9% 88%;--ring:240 5.9% 10%;--radius:.5rem;--sidebar:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-accent:240 3.7% 15.9%;--sidebar-border:240 3.7% 15.9%;color:hsl(var(--foreground));background:hsl(var(--background));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;border-color:hsl(var(--border))}html,body,#app{height:100%;margin:0}body{background:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.ui-button{border-radius:calc(var(--radius) - 2px);background:hsl(var(--primary));min-height:2.25rem;color:hsl(var(--primary-foreground));white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.ui-button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.ui-button:focus-visible{box-shadow:0 0 0 2px hsl(var(--ring) / .18);outline:none}.ui-button:disabled{opacity:.55}.ui-button svg{flex-shrink:0;width:1rem;height:1rem}.ui-button--outline{border-color:hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground))}.ui-button--outline:hover:not(:disabled){background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.ui-button--secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.ui-button--secondary:hover:not(:disabled){background:hsl(var(--secondary) / .8)}.ui-button--ghost{color:hsl(var(--foreground));background:0 0}.ui-button--ghost:hover:not(:disabled){background:hsl(var(--accent))}.ui-button--sm{min-height:2rem;padding:0 .75rem;font-size:.8125rem}.ui-button--icon{width:2.25rem;min-height:2.25rem;padding:0}.ui-field{gap:.375rem;display:grid}.ui-field-label{color:hsl(var(--foreground));font-size:.8125rem;font-weight:500}.ui-popover-trigger{display:inline-flex}.ui-popover-content{z-index:5000;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);background:hsl(var(--popover));color:hsl(var(--popover-foreground));position:fixed;box-shadow:0 14px 36px #0f172a29}.ui-date-range-field,.ui-date-range-field .ui-popover-trigger,.ui-date-range-trigger{width:100%}.ui-date-range-trigger{justify-content:flex-start;padding:0 .625rem;font-weight:400}.ui-date-range-popover{width:auto;padding:0}.ui-date-range-popover__body{align-items:stretch;display:flex}.ui-date-range-presets{border-right:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);flex-direction:column;gap:.25rem;min-width:7.5rem;padding:.75rem;display:flex}.ui-date-range-presets__title{color:hsl(var(--muted-foreground));padding:0 .25rem .25rem;font-size:.75rem}.ui-date-range-presets__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:hsl(var(--foreground));text-align:left;border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:none;padding:.375rem .5rem;font-size:.8125rem;transition:background-color .12s,color .12s}.ui-date-range-presets__item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.ui-date-range-presets__item--active,.ui-date-range-presets__item--active:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ui-date-field,.ui-date-field .ui-popover-trigger,.ui-date-trigger{width:100%}.ui-date-trigger{justify-content:flex-start;padding:0 .625rem;font-weight:400}.ui-date-popover{width:auto;padding:0}.ui-calendar{padding:.75rem}.ui-calendar__nav{grid-template-columns:2rem 1fr 2rem;align-items:center;gap:.5rem;margin-bottom:.75rem;display:grid}.ui-calendar__nav-title{color:hsl(var(--foreground));text-align:center;font-size:.875rem;font-weight:600}.ui-calendar__nav-button{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);width:1.75rem;height:1.75rem;color:hsl(var(--muted-foreground));background:0 0;font-size:1.125rem;line-height:1}.ui-calendar__nav-button:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.ui-calendar__months{gap:1rem;display:flex}.ui-calendar__month{width:16.25rem}.ui-calendar__caption{color:hsl(var(--foreground));text-align:center;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.ui-calendar__weekdays,.ui-calendar__grid{grid-template-columns:repeat(7,1fr);gap:.125rem;display:grid}.ui-calendar__weekdays{color:hsl(var(--muted-foreground));text-align:center;margin-bottom:.25rem;font-size:.75rem}.ui-calendar__day{border-radius:calc(var(--radius) - 4px);height:2rem;color:hsl(var(--foreground));background:0 0;border:0;font-size:.8125rem}.ui-calendar__day:hover{background:hsl(var(--accent))}.ui-calendar__day.is-outside{color:hsl(var(--muted-foreground) / .55)}.ui-calendar__day.is-today{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.ui-calendar__day.is-range{background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:0}.ui-calendar__day.is-selected{border-radius:calc(var(--radius) - 4px);background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ui-calendar__day.is-range-start{border-top-left-radius:calc(var(--radius) - 4px);border-bottom-left-radius:calc(var(--radius) - 4px)}.ui-calendar__day.is-range-end{border-top-right-radius:calc(var(--radius) - 4px);border-bottom-right-radius:calc(var(--radius) - 4px)}.app-shell{background:#f1f5f999;height:100%;min-height:100%;transition:filter .2s;display:flex;overflow:hidden}.app-shell--blurred{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.app-sidebar{background:hsl(var(--sidebar));width:14rem;color:hsl(var(--sidebar-foreground));flex-direction:column;flex-shrink:0;gap:.75rem;padding:.75rem .5rem;transition:width .2s;display:flex}.app-sidebar--collapsed{width:4rem}.app-sidebar--collapsed .app-sidebar__brand{flex-direction:column;justify-content:flex-start;align-items:center}.app-sidebar--collapsed .app-brand{width:auto}.app-sidebar__brand{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .25rem .5rem;display:flex}.app-brand{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.app-brand--collapsed{justify-content:center;width:100%}.app-brand__logo{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-brand__label{letter-spacing:-.01em;color:hsl(var(--foreground));font-size:1rem;font-weight:600}.app-sidebar .app-brand__label{color:hsl(var(--sidebar-foreground))}.sidebar-toggle{border-radius:calc(var(--radius) - 2px);width:1.75rem;height:1.75rem;color:hsl(var(--sidebar-foreground) / .7);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle__icon{width:1rem;height:1rem}.sidebar-toggle:hover{background:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-foreground))}.app-sidebar__nav{gap:.125rem;min-height:0;display:grid}.sidebar-group,.sidebar-group__children{gap:.125rem;display:grid}.sidebar-item{border-radius:calc(var(--radius) - 2px);width:100%;min-height:2.25rem;color:hsl(var(--sidebar-foreground) / .72);text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:0 .75rem;transition:background-color .2s,color .2s;display:flex}.sidebar-item:hover{background:hsl(var(--sidebar-accent) / .5);color:hsl(var(--sidebar-foreground))}.sidebar-item--active{background:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-foreground))}.sidebar-item--indent{padding-left:2.25rem}.sidebar-item__icon{flex-shrink:0;width:1rem;height:1rem}.sidebar-item__icon--empty{display:inline-block}.sidebar-item__label{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.app-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));justify-content:space-between;align-items:center;gap:1rem;height:3.5rem;padding:0 1.5rem;display:flex}.app-header__title{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.app-header__lead{align-items:center;gap:.5rem;min-width:0;display:flex}.app-header__menu-btn{border-radius:calc(var(--radius) - 2px);width:2.25rem;height:2.25rem;color:hsl(var(--foreground));background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.app-header__menu-btn:hover{background:hsl(var(--accent))}.app-header__menu-icon{width:1.25rem;height:1.25rem}.app-sidebar-overlay{z-index:45;opacity:0;background:#0f172a73;transition:opacity .2s;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.sidebar-toggle--mobile{display:none}.app-header__title-main{font-weight:600}.app-header__title-divider,.app-header__title-crumb{color:hsl(var(--muted-foreground))}.app-user{align-items:center;gap:.75rem;display:flex}.app-user-trigger{border-radius:calc(var(--radius) - 2px);color:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:.25rem .5rem;display:inline-flex}.app-user-trigger:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.app-user-trigger:focus-visible{background:hsl(var(--accent));color:hsl(var(--accent-foreground));box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring) / .08);outline:none}.app-avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:inline-flex;overflow:hidden}.app-user__avatar{box-shadow:inset 0 0 0 1px #ffffff29}.app-user__name{font-size:.875rem;font-weight:400}.app-dropdown-trigger{display:inline-flex}.app-dropdown-menu{z-index:60;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--popover));min-width:10rem;color:hsl(var(--popover-foreground));padding:.25rem;position:fixed;overflow:hidden;box-shadow:0 10px 15px -3px #0f172a1f,0 4px 6px -4px #0f172a1f}.app-dropdown-menu__item{border-radius:calc(var(--radius) - 4px);width:100%;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;transition:background-color .2s,color .2s;display:flex}.app-dropdown-menu__item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.app-dropdown-menu__item:focus-visible{background:hsl(var(--accent));color:hsl(var(--accent-foreground));outline:none}.app-dropdown-menu__item:disabled{opacity:.5}.app-dropdown-menu__icon{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.app-dropdown-menu__icon svg{width:100%;height:100%}.app-dropdown-menu__separator{background:hsl(var(--border));height:1px;margin:.25rem -.25rem}.app-content{scrollbar-gutter:stable;flex-direction:column;flex:1;min-width:0;min-height:0;padding:1rem 1.5rem 1.5rem;display:flex;overflow:auto}.app-field,.form-field{gap:.375rem;display:grid}.app-field>span,.form-field__label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.form-field__hint{color:hsl(var(--muted-foreground));font-size:.75rem}.app-input,.app-select-trigger{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:100%;height:2.25rem;color:hsl(var(--foreground));outline:none;padding:0 .75rem;transition:border-color .2s,box-shadow .2s,background-color .2s;box-shadow:0 1px 2px #0f172a0a}.app-input::placeholder{color:hsl(var(--muted-foreground))}.app-input:focus,.app-select-trigger:focus-visible{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring) / .08)}.app-input--readonly{background:hsl(var(--secondary));color:hsl(var(--muted-foreground))}.app-input--sm{height:2rem;padding:0 .5rem;font-size:.8125rem}.inline-edit-cell{border-radius:calc(var(--radius) - 2px);max-width:100%;min-height:2rem;color:inherit;font:inherit;text-align:left;background:0 0;border:1px solid #0000;align-items:center;margin:0 -.5rem;padding:0 .5rem;transition:background-color .15s,border-color .15s;display:inline-flex}.inline-edit-cell:hover:not(:disabled){background:hsl(var(--accent));border-color:hsl(var(--border))}.inline-edit-cell:disabled{cursor:default}.app-select-trigger{text-align:left;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.app-select-trigger--sm{height:2rem;padding:0 .625rem;font-size:.75rem}.app-select-trigger__label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.app-select-trigger__label--placeholder{color:hsl(var(--muted-foreground))}.app-select-trigger__icon,.app-select-item__check{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-select-trigger__icon svg,.app-select-item__check svg{width:100%;height:100%}.app-select-menu{z-index:5100;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--popover));max-height:18rem;color:hsl(var(--popover-foreground));padding:.25rem;position:fixed;overflow:auto;box-shadow:0 10px 15px -3px #0f172a1f,0 4px 6px -4px #0f172a1f}.app-select-search{z-index:1;background:hsl(var(--popover));padding:.25rem;position:sticky;top:0}.app-select-search input{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);background:hsl(var(--background));width:100%;height:2rem;color:hsl(var(--foreground));outline:none;padding:0 .625rem;font-size:.8125rem}.app-select-search input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .08)}.app-select-item{border-radius:calc(var(--radius) - 4px);width:100%;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.875rem;display:flex}.app-select-item:hover,.app-select-item--active{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.app-select-item__check{opacity:0}.app-select-item__check--visible{opacity:1}.app-select-item__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-select-empty{color:hsl(var(--muted-foreground));text-align:center;padding:.75rem .5rem;font-size:.8125rem}.app-primary-button,.app-secondary-button,.app-danger-button,.app-text-button{border-radius:calc(var(--radius) - 2px);justify-content:center;align-items:center;gap:.5rem;transition:background-color .2s,border-color .2s,color .2s,opacity .2s,box-shadow .2s;display:inline-flex}.app-primary-button,.app-secondary-button,.app-danger-button{border:1px solid #0000;height:2.25rem;padding:0 .875rem;font-size:.875rem;font-weight:500;box-shadow:0 1px 2px #0f172a0a}.app-primary-button{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.app-primary-button:hover:not(:disabled){background:hsl(var(--primary) / .9)}.app-primary-button--full{width:100%}.app-secondary-button{border-color:hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground))}.app-secondary-button:hover:not(:disabled){background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.app-secondary-button--sm{min-height:1.75rem;padding:.125rem .625rem;font-size:.75rem}.app-danger-button{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.app-danger-button:hover:not(:disabled){background:hsl(var(--destructive) / .16)}.app-text-button{color:hsl(var(--primary));background:0 0;border:none;padding:0;font-size:.875rem;font-weight:500}.app-primary-button:focus-visible,.app-secondary-button:focus-visible,.app-danger-button:focus-visible,.app-text-button:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring) / .08);outline:none}.app-primary-button:disabled,.app-secondary-button:disabled,.app-danger-button:disabled,.app-text-button:disabled{opacity:.5}.form-message,.page-banner{border-radius:calc(var(--radius) - 2px);padding:.75rem .875rem;font-size:.875rem}.form-message--error,.page-banner--error{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.page-toolbar{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:.75rem;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1rem 1.5rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.page-toolbar__intro{min-width:18rem}.page-toolbar__intro h2{margin:0;font-size:1.25rem;font-weight:600;line-height:1.2}.page-toolbar__intro p{color:hsl(var(--muted-foreground));margin:.25rem 0 0;font-size:.75rem}.page-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.page-toolbar__select{width:8.5rem}.page-toolbar__search{width:15rem;height:2rem;font-size:.75rem}.page-toolbar__actions .app-primary-button,.page-toolbar__actions .app-secondary-button,.page-toolbar__intro .app-primary-button,.page-toolbar__intro .app-secondary-button,.project-card__actions .app-primary-button,.project-card__actions .app-secondary-button,.project-card__actions .app-danger-button{height:2rem;padding:0 .75rem;font-size:.75rem}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.summary-card,.page-surface,.project-card{background:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:.75rem;box-shadow:0 1px 2px #0f172a0a}.summary-card{padding:1.25rem}.summary-card__label{color:hsl(var(--muted-foreground));font-size:.75rem}.summary-card__value{letter-spacing:-.02em;margin-top:.5rem;font-size:1.875rem;font-weight:700}.page-banner{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.project-list{gap:1rem;padding-bottom:20rem;display:grid}.project-card{overflow:hidden}.project-card__header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.project-card__title{text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:flex-start;gap:.75rem;padding:0;display:flex}.project-card__chevron{width:18px;height:18px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;margin-top:.2rem;transition:transform .15s;display:inline-flex;transform:rotate(-90deg)}.project-card__chevron--open{transform:rotate(0)}.project-card__title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-card__title-row h3{margin:0;font-size:1rem;font-weight:600}.project-card__customer{background:hsl(var(--muted));min-height:1.5rem;color:hsl(var(--muted-foreground));border-radius:9999px;align-items:center;padding:0 .625rem;font-size:.75rem;display:inline-flex}.project-card__meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:.75rem;margin-top:.375rem;font-size:.75rem;display:flex}.project-card__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-card__body{gap:1rem;padding:1.25rem;display:grid}.data-block{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:.75rem;overflow:hidden}.data-block-header{justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.data-block-header .data-block__title,.data-block-header .data-block__footer{padding:0}.data-block__title{justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;font-weight:600;display:flex}.data-block__title span:last-child{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400}.data-block__title-tail{color:hsl(var(--muted-foreground));align-items:center;gap:.5rem;font-size:.75rem;font-weight:400;display:inline-flex}.data-block__title-tail .app-secondary-button{color:hsl(var(--foreground))}.data-block__footer{color:hsl(var(--muted-foreground));padding:.75rem 1rem .875rem;font-size:.75rem}.data-block__hint{color:hsl(var(--muted-foreground));padding:0 0 .5rem;font-size:.75rem}.data-table-wrapper{border-radius:calc(var(--radius) - 2px);overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:42.5rem}.data-table.data-table--milestone{min-width:62rem}.data-table th,.data-table td{border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));text-align:left;vertical-align:middle;padding:.75rem 1rem;font-size:.875rem}.data-table th:last-child,.data-table td:last-child{border-right:none}.data-table th{color:hsl(var(--muted-foreground));background:#f8fafccc;font-weight:500}.data-table tbody tr:hover{background:#f8fafcb8}.data-table tbody tr:last-child td{border-bottom:none}.align-right{text-align:right!important}.data-table__value--positive{color:hsl(var(--success));font-weight:600}.data-table__value--negative{color:hsl(var(--destructive));font-weight:600}.milestone-progress-tag{color:hsl(var(--muted-foreground));margin-left:.375rem;font-size:.75rem;font-weight:400}.project-milestone-date,.project-milestone-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.project-milestone-date small{color:hsl(var(--success));font-size:.75rem;font-weight:600}.project-milestone-date-picker{min-width:8.5rem}.project-milestone-date-picker .ui-date-trigger{white-space:nowrap;min-height:2rem;font-size:.8125rem}.project-milestone-actions__complete{height:1.75rem;padding:0 .625rem;font-size:.75rem}.project-milestone-actions__delete{height:1.75rem;padding:0 .625rem 0 .5rem;font-size:.75rem;font-weight:500}.project-milestone-actions__delete svg{flex-shrink:0}.app-danger-button.app-danger-button--soft{border-radius:calc(var(--radius) - 2px);background:hsl(var(--destructive) / .1);min-height:1.75rem;color:hsl(var(--destructive));box-shadow:none;border:1px solid #0000;font-weight:500}.app-danger-button.app-danger-button--soft:hover:not(:disabled){border-color:hsl(var(--destructive) / .35);background:hsl(var(--destructive) / .16)}.milestone-confirm{width:17rem;padding:.875rem;font-size:.8125rem}.milestone-confirm__title{color:hsl(var(--foreground));font-weight:600}.milestone-confirm__title--warn{color:hsl(var(--destructive))}.milestone-confirm__list{max-height:9rem;color:hsl(var(--muted-foreground));gap:.25rem;margin:.5rem 0 0;padding-left:1.125rem;display:grid;overflow:auto}.milestone-confirm__hint{color:hsl(var(--foreground));margin-top:.625rem}.milestone-confirm__actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.875rem;display:flex}.data-table__empty{color:hsl(var(--muted-foreground));text-align:center!important;padding:2rem 1rem!important}.data-table__draft-row{background:#f8fafc99}.data-table__draft-row:hover{background:#f8fafc99!important}.data-table__total-row td{border-top:2px solid var(--wbs-line,#e5e7eb);background:#f8fafc99;font-weight:600}.data-table__total-breakdown{color:hsl(var(--muted-foreground));margin-top:2px;font-size:.72rem;font-weight:400;display:block}.data-table__value-breakdown{color:hsl(var(--muted-foreground));margin-right:.5rem;font-size:.72rem;font-weight:400}.level-tag-group{vertical-align:middle;align-items:center;gap:6px;margin-right:.5rem;display:inline-flex}.level-tag{border-radius:4px;align-items:stretch;height:20px;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.level-tag__key{color:#fff;letter-spacing:.02em;align-items:center;padding:0 6px;display:inline-flex}.level-tag__value{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:20px;padding:0 6px;display:inline-flex}.level-tag--l1 .level-tag__key{background:#2563eb}.level-tag--l1 .level-tag__value{color:#1e40af;background:#3b82f624}.level-tag--l2 .level-tag__key{background:#0d9488}.level-tag--l2 .level-tag__value{color:#0f766e;background:#14b8a629}.level-tag--l3 .level-tag__key{background:#9333ea}.level-tag--l3 .level-tag__value{color:#7e22ce;background:#a855f729}.status-badge{border-radius:9999px;align-items:center;min-height:1.5rem;padding:0 .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.status-badge--blue{color:#2563eb;background:#3b82f61a}.status-badge--green{background:hsl(var(--success) / .1);color:hsl(var(--success))}.status-badge--orange{background:hsl(var(--warning) / .12);color:hsl(var(--warning))}.status-badge--red{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.status-badge--gray{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.page-surface{min-height:22rem}.page-surface--blank{min-height:32rem}.page-surface--loading,.page-surface--empty{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.page-loading,.page-empty__title{font-size:1rem;font-weight:600}.page-empty__desc{color:hsl(var(--muted-foreground));font-size:.875rem}.app-modal{z-index:58;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.app-modal__panel{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);background:hsl(var(--background));flex-direction:column;max-height:calc(100vh - 2rem);display:flex;box-shadow:0 20px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a1f}.app-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.5rem .875rem;display:flex;position:relative}.app-modal__header h3{margin:0;font-size:1.125rem;font-weight:600;line-height:1}.app-modal__header p{color:hsl(var(--muted-foreground));margin:.375rem 0 0;font-size:.875rem}.app-modal__close{border-radius:calc(var(--radius) - 2px);width:1.75rem;height:1.75rem;color:hsl(var(--muted-foreground));background:0 0;border:none;justify-content:center;align-items:center;font-size:1.125rem;display:inline-flex}.app-modal__close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.app-modal__body{padding:0 1.5rem 1.25rem;overflow:auto}.app-modal__footer{justify-content:flex-end;gap:.5rem;padding:0 1.5rem 1.5rem;display:flex}.form-grid{gap:1rem;display:grid}.login-dialog__overlay{z-index:60;background:#00000080;position:fixed;top:0;right:0;bottom:0;left:0}.login-dialog__wrap{z-index:61;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.login-dialog__panel{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);background:hsl(var(--background));flex-direction:column;gap:1.5rem;width:min(100%,30rem);max-height:min(48rem,100vh - 2rem);padding:2rem;display:flex;overflow:auto;box-shadow:0 20px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a1f}.login-dialog__brand{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.login-dialog__subtitle{color:hsl(var(--muted-foreground));font-size:.875rem}.login-dialog__form{flex-direction:column;gap:.75rem;display:flex}.login-dialog__submit{width:100%;margin-top:.25rem}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.task-board,.audit-board{overflow:hidden}.tasks-page{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.tasks-page>.wbs-scope,.tasks-page.wbs-scope{flex:auto;min-height:0}.task-table{min-width:76rem}.audit-table{min-width:82rem}.task-title-cell{align-items:center;gap:.5rem;min-width:14rem;display:flex}.task-title-cell__depth{background:hsl(var(--muted));width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground));border-radius:9999px;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:inline-flex}.task-title-cell__name{color:hsl(var(--foreground));font-weight:600}.task-title-cell__flag{background:hsl(var(--warning) / .12);color:hsl(var(--warning));border-radius:9999px;padding:.125rem .375rem;font-size:.6875rem}.task-meta-cell,.task-date-cell{flex-direction:column;gap:.125rem;display:flex}.audit-actor{align-items:center;gap:.5rem;display:inline-flex}.audit-actor__name{color:hsl(var(--foreground));font-size:.8125rem;font-weight:500;line-height:1.2}.task-meta-cell small,.task-date-cell small,.audit-actor small{color:hsl(var(--muted-foreground));font-size:.75rem}.task-row-actions{align-items:center;gap:.5rem;display:inline-flex}.app-text-button--danger{color:hsl(var(--destructive))}.app-danger-button{border:1px solid hsl(var(--destructive));border-radius:var(--radius);background:hsl(var(--destructive));min-height:2.25rem;color:hsl(var(--destructive-foreground));justify-content:center;align-items:center;gap:.375rem;padding:0 .875rem;font-size:.875rem;font-weight:600;display:inline-flex}.app-danger-button:disabled{opacity:.6;cursor:not-allowed}.task-modal__extra{margin-top:1rem}.task-modal__checkbox{color:hsl(var(--muted-foreground));align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem;display:inline-flex}.wbs-scope{--wbs-brand:#3370ff;--wbs-brand-light:#e1eaff;--wbs-green:#34c724;--wbs-green-bg:#e8fbe5;--wbs-yellow:#f80;--wbs-red:#f54a45;--wbs-gray-1:#1f2329;--wbs-gray-2:#646a73;--wbs-gray-3:#8f959e;--wbs-gray-4:#bbbfc4;--wbs-line:#f4f5f7;--wbs-row-h:40px;--wbs-col-name:180px;--wbs-col-owner:96px;--wbs-col-acceptor:96px;--wbs-col-expected:70px;--wbs-col-days:50px;--wbs-col-val:64px;--wbs-col-status:96px;--wbs-col-review:200px;--wbs-col-level:88px;--wbs-col-pr:84px;--wbs-col-st:96px;--wbs-col-len:96px;min-width:0;min-height:0;color:var(--wbs-gray-1);flex-direction:column;display:flex}.wbs-controlbar{border:1px solid hsl(var(--border));scrollbar-width:none;background:#fff;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex;overflow:auto hidden;box-shadow:0 1px 2px #1f23290a}.wbs-controlbar::-webkit-scrollbar{display:none}.wbs-controlbar__main,.wbs-controlbar__meta,.wbs-shortcuts{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.wbs-controlbar__main{flex:auto;min-width:max-content}.wbs-controlbar__meta,.wbs-shortcuts{color:hsl(var(--muted-foreground));font-size:.8125rem}.wbs-controlbar__meta{justify-content:flex-end}.wbs-docs-icon-button{justify-content:center;width:2.25rem;padding:0}.wbs-select--project{width:20rem}.wbs-select--milestone{width:18.75rem}.wbs-date-filter-range{width:16rem}.wbs-date-filter-trigger{height:2.25rem;min-height:2.25rem;font-size:.8125rem}.wbs-filter-button{border:1px solid hsl(var(--border));height:2.25rem;color:var(--wbs-gray-2);cursor:pointer;background:#fff;border-radius:.625rem;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.wbs-filter-button:hover,.wbs-filter-button.is-open{color:#3370ff;background:#3370ff0f;border-color:#3370ff59}.wbs-filter-button.is-active{color:#3370ff;background:#edf4ff;border-color:#3370ff47}.wbs-filter-panel{width:min(36rem,100vw - 2rem);padding:0}.wbs-sort-panel{width:min(22rem,100vw - 2rem);padding:0}.wbs-sort-panel__head{border-bottom:1px solid #f0f1f5;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .75rem;display:flex}.wbs-sort-panel__head strong{color:var(--wbs-gray-1);font-size:.875rem;line-height:1.4;display:block}.wbs-sort-panel__head p{color:var(--wbs-gray-3);margin:.25rem 0 0;font-size:.75rem}.wbs-sort-panel__body{gap:.75rem;padding:.875rem 1rem 1rem;display:grid}.wbs-sort-field{color:var(--wbs-gray-2);grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.625rem;font-size:.8125rem;display:grid}.wbs-sort-field__select{width:100%;min-width:0}.wbs-filter-panel__head{border-bottom:1px solid #f0f1f5;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .75rem;display:flex}.wbs-filter-panel__head strong{color:var(--wbs-gray-1);font-size:.875rem;line-height:1.4;display:block}.wbs-filter-panel__head p{color:var(--wbs-gray-3);margin:.25rem 0 0;font-size:.75rem}.wbs-filter-panel__logic{color:var(--wbs-gray-2);align-items:center;gap:.5rem;padding:.75rem 1rem .5rem;font-size:.8125rem;display:flex}.wbs-filter-logic-select{width:5.25rem}.wbs-filter-condition-list{flex-direction:column;gap:.5rem;max-height:min(22rem,100vh - 18rem);padding:.25rem 1rem;display:flex;overflow:auto}.wbs-filter-condition{grid-template-columns:minmax(7rem,1fr) minmax(6rem,.75fr) minmax(10rem,1.6fr) 1.75rem;align-items:center;gap:.5rem;display:grid}.wbs-filter-field-select,.wbs-filter-operator-select,.wbs-filter-value-select{min-width:0}.wbs-filter-value-input,.wbs-filter-value-placeholder{border:1px solid hsl(var(--border));width:100%;min-width:0;height:2.125rem;color:var(--wbs-gray-1);background:#fff;border-radius:.5rem;padding:0 .625rem;font-size:.8125rem}.wbs-filter-value-placeholder{color:var(--wbs-gray-3);background:#f7f8fa;align-items:center;display:flex}.wbs-filter-remove{width:1.75rem;height:1.75rem;color:var(--wbs-gray-3);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:1.125rem;line-height:1}.wbs-filter-remove:hover{color:#f54a45;background:#f2f3f5}.wbs-filter-empty{color:var(--wbs-gray-3);text-align:center;background:#fafbfc;border:1px dashed #dfe1e6;border-radius:.625rem;padding:1rem;font-size:.8125rem}.wbs-filter-panel__footer{justify-content:space-between;align-items:center;padding:.75rem 1rem 1rem;display:flex}.wbs-compact-toggle{border:1px solid hsl(var(--border));height:2.25rem;color:var(--wbs-gray-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:.625rem;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.wbs-compact-toggle:hover,.wbs-compact-toggle.is-active{color:#3370ff;background:#3370ff0f;border-color:#3370ff59}.wbs-compact-toggle input{margin:0}.wbs-kbd,.wbs-badge{border-radius:999px;align-items:center;min-height:1.375rem;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.wbs-kbd{border:1px solid hsl(var(--border));background:hsl(var(--background));color:var(--wbs-gray-2)}.wbs-badge--processing{color:#3370ff;background:#e1eaff}.wbs-badge--success{color:#34c724;background:#e8fbe5}.wbs-badge--warning{color:#f80;background:#fff3e0}.wbs-badge--secondary{color:#646a73;background:#f2f3f5}.wbs-wrap{background:#fff;border:1px solid #f4f5f7;border-radius:.75rem;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1f23290a}.wbs-split{flex:auto;align-items:stretch;min-height:0;display:flex;position:relative}.wbs-pane{scrollbar-width:none;background:#fff;min-height:0;position:relative;overflow:auto}.wbs-pane::-webkit-scrollbar{display:none}.wbs-pane-left{flex:0 0 var(--wbs-split-left-width,50%);border-right:1px solid #d9dbe0;min-width:320px;max-width:calc(100% - 320px);box-shadow:1px 0 #1f23290a}.wbs-pane-right{flex:1 1 0;min-width:320px}.wbs-split-handle{top:0;left:var(--wbs-split-left-width,50%);z-index:12;cursor:col-resize;background:linear-gradient(90deg,#0000 2px,#d9dbe0 2px,#d9dbe0 4px,#0000 4px);width:6px;height:100%;transition:background .12s,opacity .12s;position:absolute;transform:translate(-3px)}.wbs-split-handle:hover,.wbs-split-handle.is-dragging{background:linear-gradient(90deg,#0000 2px,#3370ff8c 2px,#3370ff8c 4px,#0000 4px)}.wbs-scroll{position:relative}.wbs-head{z-index:10;height:var(--wbs-row-h);color:var(--wbs-gray-2);background:#fff;border-bottom:1px solid #e5e6eb;font-size:.75rem;font-weight:500;display:flex;position:sticky;top:0}.wbs-head .left{width:var(--wbs-tree-width);border-left:1px solid var(--wbs-line);background:#fff;align-items:stretch;display:flex}.wbs-head .right{flex:0 0 var(--wbs-gantt-min-width,840px);width:var(--wbs-gantt-min-width,840px);min-width:var(--wbs-gantt-min-width,840px);display:flex}.wbs-head .hcell{height:var(--wbs-row-h);border-right:1px solid var(--wbs-line);box-sizing:border-box;flex-shrink:0;align-items:center;padding:0 6px;display:flex;position:relative}.wbs-head .hcell.name{width:var(--wbs-col-name);padding-left:12px}.wbs-scope.wbs-name-frozen .wbs-head .left .hcell.name{z-index:12;background:#fff;position:sticky;left:0;box-shadow:2px 0 #1f23290d}.wbs-scope .hcell-inner{align-items:center;gap:.375rem;width:100%;min-width:0;display:flex}.wbs-head .hcell.c-owner,.wbs-head .hcell.c-acceptor,.wbs-head .hcell.c-expected,.wbs-head .hcell.c-days,.wbs-head .hcell.c-val,.wbs-head .hcell.c-status,.wbs-head .hcell.c-review,.wbs-head .hcell.c-level,.wbs-head .hcell.c-pr,.wbs-head .hcell.c-st,.wbs-head .hcell.c-len{justify-content:center}.wbs-head .hcell.c-owner{width:var(--wbs-col-owner)}.wbs-head .hcell.c-acceptor{width:var(--wbs-col-acceptor)}.wbs-head .hcell.c-expected{width:var(--wbs-col-expected)}.wbs-head .hcell.c-days{width:var(--wbs-col-days)}.wbs-head .hcell.c-val{width:var(--wbs-col-val)}.wbs-head .hcell.c-status{width:var(--wbs-col-status)}.wbs-head .hcell.c-review{width:var(--wbs-col-review)}.wbs-head .hcell.c-level{width:var(--wbs-col-level)}.wbs-head .hcell.c-pr{width:var(--wbs-col-pr)}.wbs-head .hcell.c-st{width:var(--wbs-col-st)}.wbs-head .hcell.c-len{width:var(--wbs-col-len)}.wbs-scope .head-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wbs-batch-toolbar{background:#f8faff;border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.wbs-batch-toolbar__hint{color:var(--wbs-gray-2);font-size:.75rem}.wbs-batch-toolbar__actions{align-items:center;gap:.5rem;display:inline-flex}.wbs-batch-user-select{min-width:9.5rem}.wbs-task-selection-toolbar{color:var(--wbs-gray-2);background:#f8faff;border-bottom:1px solid #edf0f3;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.wbs-tree-row[draggable=true]{cursor:grab}.wbs-tree-row[draggable=true]:active{cursor:grabbing}.wbs-scope .wbs-namecell.is-task-selected{background:#edf4ff;box-shadow:inset 2px 0 #3370ff,inset 0 -1px #dbe6ff}.wbs-scope .hcell.name .hcell-inner{gap:.375rem}.wbs-scope .hcell.name .head-label{flex:0 auto}.wbs-scope .col-resizer{z-index:13;cursor:col-resize;border-radius:999px;width:4px;transition:background .15s;position:absolute;top:6px;bottom:6px;right:-2px}.wbs-scope .col-resizer:hover{background:#3370ff40}.wbs-tree-wrap,.wbs-rows-wrap{position:relative}.wbs-tree-wrap{min-width:var(--wbs-tree-width)}.wbs-rows-wrap{min-width:var(--wbs-gantt-min-width,840px)}.wbs-tree-row,.wbs-gantt-row{z-index:2;height:var(--wbs-row-h);box-sizing:border-box;position:relative}.wbs-tree-row{min-width:var(--wbs-tree-width);background:0 0;display:flex}.wbs-row-left{width:var(--wbs-tree-width);height:var(--wbs-row-h);border-right:1px solid var(--wbs-line);border-left:1px solid var(--wbs-line);background:#fff;flex-shrink:0;display:flex;box-shadow:inset 0 -1px #f0f1f2}.wbs-tree-row:hover .wbs-row-left,.wbs-tree-row:hover .wbs-namecell,.wbs-tree-row.row-hover .wbs-row-left,.wbs-tree-row.row-hover .wbs-namecell{background:#f4f4f2}.wbs-tree-row.row-active .wbs-row-left,.wbs-tree-row.row-active .wbs-namecell{background:#ebf1ff!important}.wbs-tree-row.row-active .wbs-row-left{box-shadow:inset 3px 0 0 var(--wbs-brand),inset 0 -1px #dbe6ff}.wbs-namecell{width:var(--wbs-col-name);min-width:0;height:var(--wbs-row-h);background:#fff;border-right:1px solid #f0f1f2;flex-shrink:0;align-items:center;padding:0 6px;font-size:.75rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -1px #f0f1f2}.wbs-scope.wbs-name-frozen .wbs-namecell{z-index:6;position:sticky;left:0}.wbs-tree-row:hover .wbs-namecell{z-index:9;overflow:visible}.wbs-guide{pointer-events:none;z-index:0;border-left:1px dashed #dcdee1;width:0;position:absolute;top:0;bottom:0}.wbs-scope .toggle{z-index:2;width:18px;height:18px;color:var(--wbs-gray-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex;position:relative}.wbs-scope .toggle:empty{cursor:default}.wbs-scope .toggle:not(:empty):hover{color:var(--wbs-gray-1);background:#e5e6eb}.wbs-scope .toggle .tri{border-bottom:1.4px solid;border-right:1.4px solid;width:6px;height:6px;margin-left:-2px;transition:transform .15s;display:inline-block;transform:rotate(-45deg)}.wbs-scope .toggle.is-open .tri{margin-top:-2px;margin-left:0;transform:rotate(45deg)}.wbs-scope .title-mount{z-index:2;flex:1;align-items:center;min-width:0;display:flex;position:relative}.wbs-scope .title-input{min-width:0;color:var(--wbs-gray-1);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;outline:none;flex:1;padding:2px 4px;font-size:.8125rem;font-weight:500;overflow:hidden}.wbs-scope .title-input:hover:not(:disabled):not([readonly]){cursor:text}.wbs-scope .title-input:focus{color:var(--wbs-gray-1);box-shadow:none;background:#fff;border-color:#0000}.wbs-namecell:focus-within{box-shadow:inset 0 -1px #f0f1f2,inset 0 0 0 2px var(--wbs-brand);background:#fff!important}.wbs-scope .wbs-tree-row.is-container .title-input,.wbs-scope .wbs-tree-row.is-nested .title-input{color:var(--wbs-gray-1);font-size:.8125rem;font-weight:500}.wbs-scope .title-input[readonly]{color:var(--wbs-gray-3);cursor:not-allowed}.wbs-scope .title-readonly{min-width:0;color:var(--wbs-gray-1);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;font-weight:500;line-height:1.5rem;overflow:hidden}.wbs-scope .lock-badge{z-index:2;color:var(--wbs-yellow);margin-left:2px;font-size:.75rem;position:relative}.wbs-context-menu{z-index:4000;border:1px solid hsl(var(--border));background:hsl(var(--popover));border-radius:.625rem;min-width:10.75rem;padding:.35rem;position:fixed;box-shadow:0 12px 28px #0f172a29}.wbs-context-menu button{width:100%;height:2rem;color:hsl(var(--foreground));cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.45rem;align-items:center;padding:0 .6rem;font-size:.8125rem;display:flex}.wbs-context-menu button:hover:not(:disabled){background:hsl(var(--muted))}.wbs-context-menu button:disabled{color:hsl(var(--muted-foreground));cursor:not-allowed}.wbs-context-menu button.danger{color:var(--wbs-red)}.wbs-context-menu__sep{background:hsl(var(--border));height:1px;margin:.25rem}.check-panel{gap:.75rem;display:grid}.check-panel__toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.check-panel__toolbar-actions{align-items:center;gap:.5rem;display:inline-flex}.check-import{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .28);border-radius:.75rem;gap:.75rem;padding:.875rem;display:grid}.check-import__head{gap:.25rem;display:grid}.check-import__head strong{color:hsl(var(--foreground));font-size:.875rem}.check-import__head span,.check-import__hint{color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.5}.check-import__textarea{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:100%;min-height:8rem;color:hsl(var(--foreground));resize:vertical;outline:none;padding:.75rem;line-height:1.6;transition:border-color .2s,box-shadow .2s}.check-import__textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring) / .08)}.check-import__textarea::placeholder{color:hsl(var(--muted-foreground))}.check-import__footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.check-import__actions{align-items:center;gap:.5rem;display:inline-flex}.check-list{gap:.375rem;max-height:min(24rem,56vh);padding-right:.125rem;display:grid;overflow:auto}.check-item{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.5rem;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2.25rem;padding:.35rem .5rem;display:grid}.check-box{border:1px solid hsl(var(--border));color:#3370ff;cursor:pointer;background:#fff;border-radius:.25rem;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;font-size:.75rem;font-weight:700;display:inline-flex}.check-box.done{color:#fff;background:#3370ff;border-color:#3370ff}.check-text{min-width:0;color:hsl(var(--foreground));font:inherit;background:0 0;border:0;outline:none}.check-text.done{color:hsl(var(--muted-foreground));text-decoration:line-through}.check-actions{opacity:0;align-items:center;gap:.25rem;transition:opacity .15s;display:inline-flex}.check-item:hover .check-actions,.check-item:focus-within .check-actions{opacity:1}.check-actions button{background:hsl(var(--muted));height:1.5rem;color:hsl(var(--muted-foreground));cursor:pointer;border:0;border-radius:999px;padding:0 .5rem;font-size:.75rem}.check-actions button:hover:not(:disabled){color:#3370ff;background:#f0f5ff}.check-empty{border:1px dashed hsl(var(--border));background:hsl(var(--muted) / .35);color:hsl(var(--muted-foreground));text-align:center;border-radius:.625rem;padding:1.5rem;font-size:.875rem}@media(max-width:768px){.check-panel__toolbar,.check-import__footer{flex-direction:column;align-items:stretch}.check-panel__toolbar-actions,.check-import__actions{width:100%}.check-panel__toolbar-actions button,.check-import__actions button{flex:1}}.wbs-scope .wcell{height:var(--wbs-row-h);color:var(--wbs-gray-2);border-right:1px solid #f0f1f2;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;line-height:1.25rem;display:flex}.wbs-scope .wbs-namecell.is-cell-selected,.wbs-scope .wcell.is-cell-selected{box-shadow:inset 0 0 0 2px var(--wbs-brand),inset 0 -1px #dbe6ff;background:#fff!important}.wbs-scope .wbs-namecell.is-copy-source,.wbs-scope .wcell.is-copy-source{box-shadow:inset 0 0 0 1px #3370ff38,inset 0 -1px #f0f1f2}.wbs-scope .wcell.c-owner{width:var(--wbs-col-owner);padding:0 4px}.wbs-scope .wcell.c-acceptor{width:var(--wbs-col-acceptor);padding:0 4px}.wbs-scope .wcell.c-expected{width:var(--wbs-col-expected);padding:0 4px}.wbs-scope .wcell.c-days{width:var(--wbs-col-days);padding:0 4px}.wbs-scope .wcell.c-val{width:var(--wbs-col-val);padding:0 4px}.wbs-scope .wcell.c-status{width:var(--wbs-col-status);padding:0 4px}.wbs-scope .wcell.c-review{width:var(--wbs-col-review);justify-content:flex-start;padding:0 8px}.wbs-scope .wcell.c-review .cell-review{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--wbs-gray-1);font-size:.75rem;display:inline-block;overflow:hidden}.wbs-scope .wcell.c-level{width:var(--wbs-col-level);padding:0 4px}.wbs-scope .wcell.c-pr{width:var(--wbs-col-pr);padding:0 4px}.wbs-scope .wcell.c-st{width:var(--wbs-col-st)}.wbs-scope .wcell.c-len{width:var(--wbs-col-len)}.wbs-scope .wcell.need-fill{background:#fff3b8;box-shadow:inset 0 0 0 1.5px #e8a93a}.wbs-scope .wcell.need-fill .cell-in,.wbs-scope .wcell.need-fill .cell-ro{background:0 0}.wbs-scope .cell-in{width:100%;color:var(--wbs-gray-2);font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:2px 4px;font-size:.75rem;transition:border-color .12s,background-color .12s}.wbs-scope .cell-in:hover:not(:disabled),.wbs-scope button.cell-in:not(:disabled):hover{cursor:text;background:0 0;border-color:#0000}.wbs-scope select.cell-in:hover:not(:disabled),.wbs-scope button.cell-in:not(:disabled):hover{cursor:pointer}.wbs-scope .cell-in:focus,.wbs-scope .cell-in:focus-visible,.wbs-scope button.cell-in:focus-visible{color:var(--wbs-gray-1);box-shadow:none;background:#fff;border-color:#0000}.wbs-scope .wcell:focus-within,.wbs-scope .wcell.need-fill:focus-within{box-shadow:inset 0 0 0 2px var(--wbs-brand);background:#fff}.wbs-scope .cell-in:disabled,.wbs-scope button.cell-in:disabled{color:var(--wbs-gray-3);cursor:not-allowed;box-shadow:none;background:0 0;border-color:#0000}.wbs-scope .cell-in.date-warn,.wbs-scope .cell-ro.date-warn{border-color:var(--wbs-red)!important;color:var(--wbs-red)!important}.wbs-scope .cell-date-picker,.wbs-scope .cell-date-range,.wbs-scope .cell-date-picker .ui-popover-trigger,.wbs-scope .cell-date-range .ui-popover-trigger{width:100%}.wbs-scope button.cell-in.cell-date-picker__trigger,.wbs-scope button.cell-in.cell-date-range__trigger{height:1.5rem;min-height:1.5rem;color:inherit;background:0 0;border:0;border-radius:0;justify-content:center;gap:0;padding:0 4px;line-height:1}.wbs-scope button.cell-in.cell-date-picker__trigger:not(:disabled):hover,.wbs-scope button.cell-in.cell-date-range__trigger:not(:disabled):hover,.wbs-scope button.cell-in.cell-date-picker__trigger:focus-visible,.wbs-scope button.cell-in.cell-date-range__trigger:focus-visible{color:inherit;box-shadow:none;background:0 0;border:0}.wbs-scope .cell-date-picker__trigger svg,.wbs-scope .cell-date-range__trigger svg{display:none}.wbs-scope .cell-date-picker__trigger span,.wbs-scope .cell-date-range__trigger span{text-overflow:ellipsis;min-width:0;overflow:hidden}.wbs-scope .wbs-user-select{width:100%;height:100%;min-height:1.5rem;color:var(--wbs-gray-2);justify-content:center;align-items:center;font-size:.8125rem;line-height:1.2;display:inline-flex;position:relative}.wbs-scope .wbs-user-select.is-batch-selected{background:#3370ff1a;border-radius:6px;box-shadow:inset 0 0 0 1px #3370ff61}.wbs-scope .wbs-user-select.is-disabled{color:var(--wbs-gray-3);cursor:not-allowed}.wbs-scope .wbs-user-display{padding:0 4px}.wbs-scope .owner-select{width:100%;height:100%;min-height:0;box-shadow:none;color:var(--wbs-gray-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 4px;font-size:.75rem}.wbs-scope .owner-select:hover:not(:disabled),.wbs-scope .owner-select:focus-visible{box-shadow:none;background:0 0;border-color:#0000}.wbs-scope .owner-select:disabled{color:var(--wbs-gray-3);cursor:not-allowed}.wbs-scope .owner-select .app-select-trigger__label{justify-content:center;gap:.25rem;width:100%}.wbs-scope .owner-select .app-select-trigger__icon{opacity:0;width:.75rem;transition:opacity .15s}.wbs-scope .owner-select:hover .app-select-trigger__icon,.wbs-scope .owner-select:focus-visible .app-select-trigger__icon{opacity:.5}.owner-pick{align-items:center;gap:.3125rem;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.owner-pick--empty{color:var(--wbs-gray-3,#8a9099);justify-content:flex-start}.owner-pick__avatar{border-radius:999px;flex-shrink:0;width:1rem;height:1rem;overflow:hidden}.owner-pick__avatar img{object-fit:cover;width:100%;height:100%;display:block}.owner-pick__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wbs-scope .cell-date{position:relative}.wbs-scope .cell-date::-webkit-datetime-edit{color:#0000}.wbs-scope .cell-date:before{content:attr(data-date);color:inherit;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.wbs-scope .cell-date:focus::-webkit-datetime-edit{color:inherit}.wbs-scope .cell-date:focus:before{display:none}.wbs-scope input[type=date].cell-in::-webkit-calendar-picker-indicator{opacity:0;transition:opacity .15s}.wbs-scope input[type=date].cell-in:hover::-webkit-calendar-picker-indicator{opacity:.6}.wbs-scope input[type=date].cell-in:focus::-webkit-calendar-picker-indicator{opacity:.6}.wbs-scope .cell-ro{width:100%;color:var(--wbs-brand);text-align:center;font-weight:500}.wbs-scope .cell-ro-editable{color:var(--wbs-gray-1);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:400}.wbs-scope .cell-ro-date{color:#8a9099;font-variant-numeric:tabular-nums;font-weight:400}.wbs-scope .val-readonly{text-align:center;font-variant-numeric:tabular-nums;width:100%;font-weight:400;color:#8a9099!important}.wbs-scope .wcell.c-expected .cell-ro,.wbs-scope .wcell.c-days .cell-ro{color:var(--wbs-gray-3);font-size:10px;font-weight:400}.wbs-scope .wcell.c-expected .cell-in,.wbs-scope .wcell.c-days .cell-in{color:var(--wbs-gray-1);font-size:12px}.wbs-scope .cell-tag{white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;max-width:100%;min-height:1.375rem;padding:0 .45rem;font-size:.75rem;font-weight:500;line-height:1;transition:filter .15s,box-shadow .15s;display:inline-flex;position:relative}.wbs-scope .cell-tag:hover{filter:brightness(.97);box-shadow:inset 0 0 0 1px #3370ff40}.wbs-scope .cell-tag-readonly{cursor:default}.wbs-scope .cell-tag-readonly:hover{box-shadow:none;filter:none}.wbs-scope .cell-tag-select.app-select-trigger{height:1.375rem;min-height:1.375rem;box-shadow:none;text-align:center;border:0;gap:.125rem;padding:0 .45rem}.wbs-scope .cell-tag-select.app-select-trigger:focus-visible{box-shadow:none}.wbs-scope .cell-tag-select .app-select-trigger__label{justify-content:center;gap:0;width:100%}.wbs-scope .cell-tag-select .app-select-trigger__icon{opacity:0;color:currentColor;width:.625rem;height:.625rem;margin-left:.125rem;transition:opacity .15s}.wbs-scope .cell-tag-select:hover .app-select-trigger__icon,.wbs-scope .cell-tag-select:focus-visible .app-select-trigger__icon{opacity:.55}.wbs-scope .cell-tag.is-disabled{cursor:not-allowed}.wbs-scope .cell-tag.is-disabled:hover{box-shadow:none;filter:none}.wbs-scope .cell-tag-select.is-disabled .app-select-trigger__icon,.wbs-scope .cell-tag-select.is-disabled:hover .app-select-trigger__icon{opacity:0}.wbs-scope .cell-tag-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wbs-scope .cell-tag-caret{opacity:0;flex-shrink:0;margin-left:2px;font-size:8px;font-style:normal;transition:opacity .15s}.wbs-scope .cell-tag:hover .cell-tag-caret,.wbs-scope .cell-tag:focus-within .cell-tag-caret{opacity:.55}.wbs-scope .cell-tag.is-disabled .cell-tag-caret,.wbs-scope .cell-tag.is-disabled:hover .cell-tag-caret,.wbs-scope .cell-tag.is-disabled:focus-within .cell-tag-caret{opacity:0}.wbs-scope .cell-tag-sel{opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0}.wbs-scope .cell-tag-sel:disabled{cursor:not-allowed}.status-prompt{gap:.875rem;display:grid}.status-prompt__field{color:hsl(var(--foreground));gap:.375rem;font-size:.875rem;font-weight:500;display:grid}.status-prompt__field input,.status-prompt__field textarea{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:100%;color:hsl(var(--foreground));outline:none;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.status-prompt__field input{height:2.25rem;padding:0 .625rem}.status-prompt__field textarea{resize:vertical;min-height:7rem;padding:.625rem;line-height:1.5}.status-prompt__field input:focus,.status-prompt__field textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring) / .08)}.status-prompt__error{color:hsl(var(--destructive));margin:0;font-size:.8125rem}.wbs-scope .vlv-L1{color:#1e40af;background:#3b82f624}.wbs-scope .vlv-L2{color:#0f766e;background:#14b8a629}.wbs-scope .vlv-L3{color:#7e22ce;background:#a855f729}.wbs-scope .tk-st-draft,.wbs-scope .tk-st-pending{color:#646a73;background:#f2f3f5}.wbs-scope .tk-st-toStart,.wbs-scope .tk-st-doing{color:#3370ff;background:#e1eaff}.wbs-scope .tk-st-toAccept{color:#f80;background:#fff3e0}.wbs-scope .tk-st-accepted{color:#34c724;background:#e8fbe5}.wbs-scope .tk-st-rejected{color:#f54a45;background:#fde9e8}.wbs-scope .tk-st-cancelled{color:#8f959e;background:#f2f3f5}.wbs-scope .tk-pr-P0{color:#f54a45;background:#fde9e8}.wbs-scope .tk-pr-P1{color:#f80;background:#fff3e0}.wbs-scope .tk-pr-P2{color:#3370ff;background:#e1eaff}.wbs-scope .tk-pr-P3{color:#646a73;background:#f2f3f5}.wbs-scope .wbs-col-manager-spacer{z-index:11;border-left:1px solid var(--wbs-line);background:inherit;flex-shrink:0;width:22px;position:sticky;right:0}.wbs-scope .wbs-head-left .wbs-col-manager-spacer{background:#fff}.wbs-scope .wbs-col-manager{width:100%;height:100%;color:var(--wbs-gray-3);cursor:pointer;background:0 0;border:0;font-size:.875rem;line-height:1}.wbs-scope .wbs-col-manager:hover{color:var(--wbs-brand);background:#f0f5ff}.wbs-scope .tl-dates{width:100%;height:var(--wbs-row-h);background:#fafbfc;border-bottom:1px solid #d9dbe0;display:flex}.wbs-scope .tl-date{height:100%;color:var(--wbs-gray-3);font-variant-numeric:tabular-nums;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;line-height:1.15;display:flex}.wbs-scope .tl-date__date{color:var(--wbs-gray-2);font-size:.75rem;font-weight:600}.wbs-scope .tl-date__weekday{color:var(--wbs-gray-3);font-size:.625rem}.wbs-scope .tl-date.is-rest{background:#fff7ed}.wbs-scope .tl-date.is-rest .tl-date__date,.wbs-scope .tl-date.is-rest .tl-date__weekday{color:#c76b00}.wbs-scope .tl-date.is-today{border-bottom:1px dashed #3370ff}.wbs-scope .tl-date.is-today .tl-date__date,.wbs-scope .tl-date.is-today .tl-date__weekday{color:#245bdb;font-weight:700}.wbs-scope .wbs-gantt-grid{width:var(--wbs-gantt-min-width,840px);pointer-events:none;z-index:0;position:absolute;inset:0 auto auto 0}.wbs-scope .wbs-gantt-overlay{width:var(--wbs-gantt-min-width,840px);pointer-events:none;z-index:10;position:absolute;inset:0 auto auto 0}.wbs-scope .wbs-gantt-frames{width:var(--wbs-gantt-min-width,840px);pointer-events:none;z-index:1;position:absolute;inset:0 auto auto 0}.wbs-scope .group-frame{box-sizing:border-box;background:#3370ff0a;border:1.5px solid #b7ccff;border-radius:10px;position:absolute;box-shadow:0 1px 3px #3370ff0f}.wbs-scope .group-frame.g-alt{background:#00b42a0a;border-color:#9be0ae;box-shadow:0 1px 3px #00b42a0f}.wbs-scope .task-frame{box-sizing:border-box;pointer-events:none;z-index:1;background:#3370ff17;border:0;border-radius:7px;position:absolute}.wbs-scope .task-frame.t-alt{background:#00b42a17}.wbs-scope .task-frame.overflow{box-shadow:0 0 0 1px #f54a4526;border:1.5px solid var(--wbs-red)!important;background:repeating-linear-gradient(45deg,#f54a451a 0,#f54a451a 6px,#f54a4508 6px,#f54a4508 12px)!important}.wbs-scope .group-frame.is-collapsed,.wbs-scope .task-frame.is-collapsed{background:repeating-linear-gradient(45deg,#3370ff0d 0,#3370ff0d 6px,#0000 6px,#0000 12px)}.wbs-scope .tl-grid{pointer-events:none;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.wbs-scope .tl-col{border-right:1px solid #f4f5f7;flex:1}.wbs-scope .tl-col.is-today{background:0 0}.wbs-scope .wbs-today-line{z-index:2;cursor:grab;pointer-events:auto;width:14px;position:absolute;top:0;bottom:0;transform:translate(-7px)}.wbs-scope .wbs-today-line:after{content:"";background:0 0;border-left:1px dashed #3370ff;position:absolute;top:0;right:6px;bottom:0;left:6px}.wbs-scope .wbs-today-line:active{cursor:grabbing}.wbs-scope .wbs-gantt-row{min-width:var(--wbs-gantt-min-width,840px);display:flex}.wbs-scope .wbs-gantt-row.row-active .wbs-gantt-cell{background:#3370ff0a}.wbs-scope .wbs-gantt-cell{z-index:2;flex:0 0 var(--wbs-gantt-min-width,840px);width:var(--wbs-gantt-min-width,840px);min-width:var(--wbs-gantt-min-width,840px);height:var(--wbs-row-h);background:0 0;position:relative}.wbs-scope .wbs-load-strip{z-index:1;pointer-events:none;height:.875rem;display:flex;position:absolute;bottom:.125rem;left:.125rem;right:.125rem}.wbs-scope .wbs-load-cell{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;border-right:1px solid #fff9;flex:1 1 0;justify-content:center;align-items:center;min-width:0;font-size:.5625rem;font-weight:700;line-height:1;display:flex}.wbs-scope .wbs-load-cell.is-healthy{color:#15803d;background:#22c55e33}.wbs-scope .wbs-load-cell.is-warning{color:#c2410c;background:#f9731647}.wbs-scope .wbs-load-cell.is-danger{color:#b91c1c;background:#ef444452}.wbs-scope .wbs-gantt-cell.is-editable{cursor:crosshair}.wbs-scope .tl-row{box-sizing:border-box;position:relative}.wbs-scope .bar{z-index:3;color:#fff;cursor:grab;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;height:22px;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1.125rem;transition:box-shadow .15s,filter .15s;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.wbs-scope .bar.is-editable{cursor:grab}.wbs-scope .bar.is-editable:hover{filter:saturate(1.02);box-shadow:0 4px 12px #0f172a24}.wbs-scope .bar__text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.wbs-scope .bar.task.bar--hide-text .bar__text,.wbs-scope .bar.task.bar--hide-text .bar__due{display:none}.wbs-scope .bar__due{color:#c76b00;background:#ffffffe6;border-radius:999px;flex:none;align-items:center;height:1rem;margin-left:.375rem;padding:0 .375rem;font-size:.625rem;font-weight:700;line-height:1;display:inline-flex}.wbs-scope .bar-handle{opacity:0;cursor:col-resize;background:#ffffff3d;border-radius:999px;width:8px;transition:opacity .15s,background .15s;position:absolute;top:2px;bottom:2px}.wbs-scope .bar.is-editable:hover .bar-handle{opacity:1}.wbs-scope .bar-handle:hover{background:#ffffff6b}.wbs-scope .bar-handle--start{left:3px}.wbs-scope .bar-handle--end{right:3px}.wbs-scope .bar.bar--draft{cursor:crosshair;background:#3370ff24;border:1px dashed #3370ff8c;box-shadow:inset 0 0 0 1px #fff3}.wbs-scope .bar.task{background:var(--wbs-brand)}.wbs-scope .bar.hue-0.lv1{background:#8fb2ff}.wbs-scope .bar.hue-0.lv2{background:#5c8aff}.wbs-scope .bar.hue-0.lv3{background:#3370ff}.wbs-scope .bar.hue-1.lv1{background:#8fdda0}.wbs-scope .bar.hue-1.lv2{background:#5cc776}.wbs-scope .bar.hue-1.lv3{background:#00b42a}.wbs-scope .bar.hue-2.lv1{background:#c8a8f0}.wbs-scope .bar.hue-2.lv2{background:#a87be0}.wbs-scope .bar.hue-2.lv3{background:#7b4fcf}.wbs-scope .bar.lv3{height:18px;line-height:18px;top:2px;transform:none}.wbs-scope .bar.task.due-near{background:#ff9f2e;box-shadow:inset 0 0 0 1px #fff3}.wbs-scope .bar.task.due-overdue{background:#f54a45;box-shadow:inset 0 0 0 1px #ffffff38,0 4px 12px #f54a452e}.wbs-scope .bar.task.due-overdue .bar__due{color:#d6261f}.wbs-scope .bar.task.due-done{background:#34c724}.wbs-scope .bar.task.clipped{background-image:repeating-linear-gradient(45deg,#ffffff40 0,#ffffff40 4px,#0000 4px,#0000 8px);border-top-right-radius:0;border-bottom-right-radius:0}.wbs-scope .bar.task.clipped:after{content:"›";opacity:.9;font-weight:600;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.wbs-scope .bar-label-only{color:#4e5969;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:100%;height:22px;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:22px;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.wbs-scope .wbs-gantt-bottom-border{z-index:10;background:#f0f1f2;height:1px;position:absolute;left:0;right:0}.wbs-scope .wbs-empty{color:var(--wbs-gray-3);text-align:center;padding:2rem 1rem;font-size:.875rem}.wbs-scope .wbs-add-task-row{z-index:2;width:100%;min-height:var(--wbs-row-h);color:var(--wbs-gray-3);text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px dashed #d9dbe0;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.75rem;transition:background-color .12s,color .12s;display:flex;position:relative}.wbs-scope .wbs-add-task-row:hover{color:#3370ff;background:#3370ff0a}.wbs-add-task-row__icon{width:1rem;height:1rem;color:inherit;background:#f2f3f5;border-radius:999px;justify-content:center;align-items:center;font-size:.75rem;line-height:1;display:inline-flex}.wbs-scope .wbs-add-task-row:hover .wbs-add-task-row__icon{color:#3370ff;background:#e1eaff}.wbs-footer-note{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem .25rem 0;font-size:.8125rem;display:flex}.wbs-footer-note__meta{align-items:center;gap:.5rem;margin-left:auto;display:inline-flex}.wbs-shortcuts-help{background:hsl(var(--muted));width:1.125rem;height:1.125rem;color:hsl(var(--muted-foreground));cursor:help;-webkit-user-select:none;user-select:none;border-radius:999px;outline:none;justify-content:center;align-items:center;font-size:.6875rem;font-weight:600;display:inline-flex;position:relative}.wbs-shortcuts-help:hover,.wbs-shortcuts-help:focus-visible{color:#3370ff;background:#e1eaff}.wbs-shortcuts-help-tip{color:#fff;white-space:nowrap;pointer-events:none;z-index:2000;background:#1f2329e6;border-radius:6px;padding:.375rem .625rem;font-size:.75rem;font-weight:400;line-height:1.4;position:fixed;box-shadow:0 4px 12px #00000026}.wbs-share-link-button{color:#3370ff;white-space:nowrap;cursor:pointer;background:#e1eaff;border:1px solid #3370ff;border-radius:.5rem;align-items:center;gap:.25rem;height:1.75rem;padding:0 .625rem;font-size:.75rem;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.wbs-share-link-button:hover{color:#fff;background:#3370ff}.wbs-share-toast{z-index:60;color:#fff;cursor:pointer;background:#1f2329eb;border-radius:.625rem;max-width:22rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.5;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 8px 24px #0003}.wbs-inline-toast{z-index:40;color:#fff;cursor:pointer;background:#1f2329eb;border-radius:.5rem;max-width:min(24rem,100% - 2rem);padding:.5rem .875rem;font-size:.8125rem;line-height:1.5;animation:.16s ease-out wbs-inline-toast-in;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@keyframes wbs-inline-toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.client-share-shell{background:hsl(var(--background));flex-direction:column;height:100vh;min-height:0;display:flex}.client-share-header{border-bottom:1px solid hsl(var(--border));background:#fff;flex-direction:column;flex:none;gap:.25rem;padding:.875rem 1.25rem;display:flex}.client-share-header__title{align-items:center;gap:.625rem;display:flex}.client-share-header__title h1{color:hsl(var(--foreground));margin:0;font-size:1.0625rem;font-weight:600}.client-share-header__badge{color:#3370ff;background:#e1eaff;border-radius:999px;align-items:center;height:1.5rem;padding:0 .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.client-share-header__hint{color:hsl(var(--muted-foreground));margin:0;font-size:.75rem}.client-share-body{flex:auto;min-height:0;padding:.75rem 1.25rem 1.25rem;position:relative}.client-share-body .wbs-controlbar--client-share{z-index:4;box-shadow:none;background:0 0;border:0;position:absolute;top:-4rem;left:1.25rem;right:1.25rem}.client-share-body .wbs-controlbar--client-share .wbs-controlbar__main{justify-content:flex-end}.client-share-body .wbs-controlbar--client-share .wbs-select--project,.client-share-body .wbs-controlbar--client-share .wbs-compact-toggle,.client-share-body .wbs-controlbar--client-share .wbs-controlbar__meta{display:none}.client-share-state{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.client-share-state h1{color:hsl(var(--foreground));margin:0;font-size:1.125rem;font-weight:600}.client-share-state p{max-width:24rem;color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}.client-share-state__icon{font-size:2.5rem;line-height:1}.client-share-state--error .client-share-state__icon{filter:grayscale(.1)}.wbs-field-manager{gap:.75rem;display:grid}.wbs-field-manager__freeze{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);color:hsl(var(--foreground));border-radius:.625rem;justify-content:space-between;align-items:center;padding:.625rem .75rem;font-size:.875rem;font-weight:600;display:flex}.wbs-field-manager__head,.wbs-field-manager__item{grid-template-columns:minmax(0,1fr) 3.5rem 4.5rem;align-items:center;gap:.5rem;display:grid}.wbs-field-manager__head{color:hsl(var(--muted-foreground));padding:0 .625rem;font-size:.75rem}.wbs-field-manager__list{gap:.375rem;max-height:min(18rem,46vh);padding-right:.125rem;display:grid;overflow:auto}.wbs-field-manager__item{border:1px solid hsl(var(--border));background:hsl(var(--card));min-height:2.25rem;color:hsl(var(--foreground));cursor:grab;border-radius:.5rem;padding:0 .625rem;font-size:.8125rem}.wbs-field-manager__item:hover{background:#f8fbff;border-color:#3370ff59}.wbs-field-manager__item:active{cursor:grabbing}.wbs-field-manager__name{align-items:center;gap:.375rem;min-width:0;font-weight:500;display:inline-flex}.wbs-field-manager__name i{color:hsl(var(--muted-foreground));font-style:normal}.wbs-field-manager__width{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;text-align:right;justify-self:end}.wbs-field-manager__visible{justify-content:center;display:flex}.wbs-field-manager__head span:nth-child(2){justify-self:center}.wbs-field-manager__head span:last-child{justify-self:end}.wbs-field-manager__toggle{color:#3370ff;cursor:pointer;background:#f0f5ff;border:1px solid #3370ff4d;border-radius:999px;min-width:2.75rem;height:1.5rem;font-size:.75rem}.wbs-field-manager__toggle[aria-pressed=false]{border-color:hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.wbs-field-manager__hint{color:hsl(var(--muted-foreground));margin:0;font-size:.75rem}.wbs-loading-card{flex-direction:column;align-items:center;gap:.75rem;display:flex}.wbs-loading-card__icon{color:#3370ff;background:#e1eaff;border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.875rem;font-weight:700;display:inline-flex}.delete-confirm-text{color:hsl(var(--muted-foreground));font-size:.875rem}.page-toolbar__count{color:hsl(var(--muted-foreground));white-space:nowrap;font-size:.8125rem}.audit-change-cell{max-width:22rem;color:hsl(var(--muted-foreground))}.audit-change-cell__trigger{align-items:center;gap:.375rem;display:inline-flex}.audit-change-cell__count{background:hsl(var(--muted));min-width:1.25rem;color:hsl(var(--muted-foreground));text-align:center;border-radius:999px;padding:0 .375rem;font-size:.6875rem;font-weight:500}.audit-detail{flex-direction:column;gap:.75rem;display:flex}.audit-detail__note{color:hsl(var(--muted-foreground));font-size:.8125rem}.audit-detail__table{table-layout:fixed;width:100%}.audit-detail__table th,.audit-detail__table td{vertical-align:top;word-break:break-all;white-space:pre-wrap;padding:.5rem .75rem}.audit-detail__field{width:22%;color:hsl(var(--foreground));font-weight:500}.audit-detail__before{color:hsl(var(--muted-foreground));text-decoration:line-through;-webkit-text-decoration-color:hsl(var(--muted-foreground) / .4);text-decoration-color:hsl(var(--muted-foreground) / .4)}.audit-detail__after{color:hsl(var(--foreground));font-weight:500}.audit-detail__empty{color:hsl(var(--muted-foreground));text-align:center;padding:1rem 0}.page-pagination{color:hsl(var(--muted-foreground));justify-content:flex-end;align-items:center;gap:.75rem;padding-top:1rem;font-size:.8125rem;display:flex}.text-muted{color:hsl(var(--muted-foreground))}.align-center{text-align:center!important}.summary-card__value--success{color:hsl(var(--success))}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page{gap:1rem;display:grid}.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.admin-tabs{gap:1rem;display:grid}.admin-tabs__list{background:hsl(var(--muted));border-radius:.625rem;align-items:center;gap:.125rem;width:fit-content;padding:.25rem;display:inline-flex}.admin-tabs__list button{border-radius:calc(var(--radius) - 2px);height:2rem;color:hsl(var(--muted-foreground));background:0 0;border:0;padding:0 .875rem;font-size:.875rem;font-weight:500}.admin-tabs__list button:hover{color:hsl(var(--foreground))}.admin-tabs__list button.is-active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0f172a14}.admin-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.admin-card__header{border-bottom:1px solid #f1f5f9cc;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.admin-card__header h3{color:hsl(var(--foreground));margin:0;font-size:1rem;font-weight:700}.admin-card__actions,.admin-users-filters,.admin-row-actions,.admin-role-tags{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.admin-card__actions .app-primary-button,.admin-card__actions .app-secondary-button,.admin-row-actions .app-secondary-button,.admin-row-actions .app-danger-button{height:2rem;padding:0 .75rem;font-size:.75rem}.admin-card__note{border-bottom:1px solid hsl(var(--border) / .55);color:hsl(var(--muted-foreground));background:#f8fafcbf;padding:.75rem 1.25rem;font-size:.75rem}.admin-users-title{color:hsl(var(--foreground));flex-wrap:wrap;align-items:center;gap:1rem;font-size:1rem;font-weight:700;display:flex}.admin-search{width:14rem;height:2rem;font-size:.75rem;font-weight:400}.admin-filter-select{width:7rem;font-weight:400}.admin-count{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400}.admin-user-table{min-width:70rem}.admin-role-table,.admin-matrix-table{min-width:52rem}.admin-log-table{min-width:45rem}.admin-user-cell{align-items:center;gap:.625rem;min-width:0;display:inline-flex}.admin-user-cell__name{color:hsl(var(--foreground));font-weight:600}.admin-user-cell__sub{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.75rem}.admin-role-select{width:7rem}.admin-contact-cell{gap:.125rem;font-size:.8125rem;display:grid}.admin-contact-cell small{color:hsl(var(--muted-foreground));font-size:.75rem}.admin-status-button{background:0 0;border:0;padding:0}.admin-status-button:disabled{cursor:default}.admin-active-count{color:hsl(var(--foreground));font-weight:700}.admin-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:1.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.admin-badge--default{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.admin-badge--success{background:hsl(var(--success) / .1);color:hsl(var(--success))}.admin-badge--warning,.admin-badge--gold{background:hsl(var(--warning) / .12);color:hsl(var(--warning))}.admin-badge--processing{color:#2563eb;background:#3b82f61a}.admin-badge--destructive{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.admin-badge--outline{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.admin-badge--cyan{color:#0891b2;background:#06b6d41a}.admin-badge--purple{color:#7e22ce;background:#9333ea1a}.admin-matrix-card{margin-bottom:1rem}.admin-matrix-card:last-child{margin-bottom:0}.admin-user-form{gap:.875rem}.admin-status-editor{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.admin-status-editor__title{color:hsl(var(--foreground));font-size:.875rem;font-weight:600}.admin-status-editor__desc{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.75rem}.admin-switch{background:hsl(var(--muted));width:2.25rem;height:1.25rem;box-shadow:inset 0 0 0 1px hsl(var(--border));border:0;border-radius:999px;flex-shrink:0;transition:background-color .15s,box-shadow .15s;position:relative}.admin-switch span{background:#fff;border-radius:999px;width:.875rem;height:.875rem;transition:transform .15s;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 3px #0f172a33}.admin-switch.is-on{background:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary))}.admin-switch.is-on span{transform:translate(1rem)}.admin-confirm-content{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.admin-confirm-content strong{color:hsl(var(--foreground))}.dashboard-page{gap:1rem;display:grid}.dashboard-intro{align-items:center;gap:.5rem;display:flex}.dashboard-intro__badge{color:#3370ff;background:#e1eaff;border-radius:999px;align-items:center;min-height:1.5rem;padding:0 .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-intro p{color:hsl(var(--muted-foreground));margin:0;font-size:.8125rem}.dashboard-hero{border:1px solid hsl(var(--border));background:radial-gradient(circle at top left,#3370ff1f,transparent 28rem),hsl(var(--card));border-radius:.875rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex;box-shadow:0 10px 30px #0f172a0f}.dashboard-hero__user{align-items:center;gap:.875rem;min-width:0;display:flex}.dashboard-hero__eyebrow{color:hsl(var(--primary));margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-hero h2{color:hsl(var(--foreground));margin:0;font-size:1.25rem;font-weight:800}.dashboard-hero p{color:hsl(var(--muted-foreground));margin:.375rem 0 0;font-size:.875rem}.dashboard-error{margin:0}.dashboard-summary-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.875rem;display:grid}.dashboard-stat{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.75rem;align-content:start;gap:.5rem;min-height:8.25rem;padding:1.5rem;display:grid;box-shadow:0 1px 2px #0f172a0a}.dashboard-stat span{color:hsl(var(--muted-foreground));letter-spacing:.025em;text-transform:uppercase;font-size:.875rem;font-weight:600}.dashboard-stat__value{align-items:baseline;gap:.25rem;margin-top:.25rem;display:flex}.dashboard-stat strong{color:hsl(var(--foreground));letter-spacing:-.025em;font-size:1.875rem;font-weight:700;line-height:1}.dashboard-stat em{color:inherit;font-size:1.125rem;font-style:normal;font-weight:600}.dashboard-stat small{color:hsl(var(--muted-foreground));font-size:.875rem}.dashboard-stat--primary strong{color:hsl(var(--primary))}.dashboard-stat--blue strong{color:#3370ff}.dashboard-stat--green strong{color:hsl(var(--success))}.dashboard-stat--orange strong{color:#f80}.dashboard-stat--red strong{color:hsl(var(--destructive))}.dashboard-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.75rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.dashboard-card__header{border-bottom:1px solid #f1f5f9cc;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.dashboard-card__header h3{color:hsl(var(--foreground));flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:800;display:flex}.dashboard-card__header p{color:hsl(var(--muted-foreground));margin:.375rem 0 0;font-size:.8125rem}.dashboard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.625rem;display:inline-flex}.dashboard-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.dashboard-card__title-group{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.dashboard-card__title-group h3{margin:0}.dashboard-link-button{color:hsl(var(--primary));cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:.8125rem;font-weight:700}.dashboard-link-button:hover{text-decoration:underline}.dashboard-count-badge,.dashboard-mini-badge,.dashboard-due-tag,.dashboard-value-tag{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:1.375rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-count-badge{color:#646a73;background:#f2f3f5}.dashboard-count-badge.is-active{color:#3370ff;background:#e1eaff}.dashboard-mini-badge--success{color:#34c724;background:#e8fbe5}.dashboard-mini-badge--warning{color:#f80;background:#fff3e0}.dashboard-mini-badge--danger{color:#f54a45;background:#fde9e8}.dashboard-segmented{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.75rem;align-items:center;gap:.125rem;padding:.25rem;display:inline-flex;box-shadow:inset 0 1px 2px #0f172a0a}.dashboard-segmented button{color:#64748b;cursor:pointer;letter-spacing:.02em;background:0 0;border:0;border-radius:.5rem;min-width:3.75rem;height:1.875rem;padding:0 .875rem;font-size:.8125rem;font-weight:600;transition:color .18s,background-color .18s,box-shadow .18s,transform .18s;position:relative}.dashboard-segmented button:hover:not(.is-active){color:#1f2937;background:#fff9}.dashboard-segmented button:active{transform:translateY(.5px)}.dashboard-segmented button:focus-visible{outline:2px solid hsl(var(--primary) / .4);outline-offset:1px}.dashboard-segmented button.is-active{color:hsl(var(--primary));background:#fff;box-shadow:0 1px 2px #0f172a0f,0 2px 6px #0f172a0d}.dashboard-todo-table{background:#fff;gap:0;padding:.75rem 1rem 1rem;display:grid}.dashboard-todo-table__head,.dashboard-todo-table__row{grid-template-columns:minmax(200px,1fr) minmax(120px,.7fr) minmax(200px,1fr) 88px minmax(150px,1.1fr) 104px 80px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:grid}.dashboard-todo-table__head{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-bottom:none;border-radius:.5rem .5rem 0 0;font-size:.75rem;font-weight:600}.dashboard-todo-table__body{background:#fff;border:1px solid #e2e8f0;border-radius:0 0 .5rem .5rem;gap:0;display:grid;overflow:hidden}.dashboard-todo-table__row{color:#334155;border-bottom:1px solid #f1f5f9;min-height:2.75rem;font-size:.8125rem;transition:background-color .12s}.dashboard-todo-table__row:last-child{border-bottom:none}.dashboard-todo-table__row:hover{background:#f8fafc}.dashboard-todo-table__row.is-context{color:#94a3b8;background:#fff}.dashboard-todo-table__row.is-overdue{background:#fff}.dashboard-todo-table__row.is-overdue:hover{background:#f8fafc}.dashboard-todo-table__row.is-overdue:before{content:"";background:#f54a45;width:3px;position:absolute;top:0;bottom:0;left:0}.dashboard-todo-table__row.is-soon{background:#fff}.dashboard-todo-table__row.is-soon:hover{background:#f8fafc}.dashboard-todo-table__row.is-soon:before{content:"";background:#f80;width:3px;position:absolute;top:0;bottom:0;left:0}.dashboard-todo-table__row{position:relative}.dashboard-todo-table__cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-todo-table__cell--status{white-space:normal;overflow:visible}.dashboard-status-cell{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:inline-flex}.dashboard-status-cell__select{min-width:92px}.dashboard-status-cell__countdown{color:#c76b00;white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}.dashboard-status-action{cursor:pointer;border:1px solid #0000;border-radius:.375rem;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;line-height:1.2;transition:filter .12s,opacity .12s;display:inline-flex}.dashboard-status-action:hover{filter:brightness(.96)}.dashboard-status-action:disabled{cursor:not-allowed;opacity:.5}.dashboard-status-action__icon{font-size:.75rem;line-height:1}.dashboard-status-action--play{color:#2c5cd6;background:#e1eaff;border-color:#c7d6ff}.dashboard-status-action--finish{color:#178c2e;background:#e8fbe5;border-color:#cceac6}.dashboard-status-action--accept{color:#fff;background:#178c2e;border-color:#178c2e}.dashboard-status-action--reject{color:#d92d20;background:#fff;border-color:#f2b5b3}.dashboard-todo-table__title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;min-width:0;display:inline-flex;overflow:hidden}.dashboard-todo-table__guide{color:#cbd5e1;-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;line-height:1}.dashboard-todo-table__marker{color:#94a3b8;text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:.875rem;font-size:.75rem;line-height:1}.dashboard-todo-table__row.is-parent .dashboard-todo-table__marker{color:hsl(var(--primary))}.dashboard-todo-table__row.is-parent{background:#fff}.dashboard-todo-table__row.is-parent .dashboard-todo-table__title strong{color:#0f172a;font-weight:700}.dashboard-todo-table__title strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.dashboard-todo-table__cell--path{color:#64748b;max-width:180px;font-size:.75rem}.dashboard-todo-table__cell--range{color:#64748b;font-size:.75rem}.dashboard-todo-table__cell--due{align-items:center;min-width:0;display:inline-flex}.dashboard-todo-table__due-placeholder{color:#cbd5e1;font-size:.75rem}.dashboard-todo-table__cell--hours{color:#64748b;text-align:right;font-variant-numeric:tabular-nums}.dashboard-relation,.dashboard-status,.dashboard-priority{white-space:nowrap;border-radius:.25rem;justify-content:center;align-items:center;height:1.375rem;padding:0 .45rem;font-size:.75rem;font-weight:700;display:inline-flex}.dashboard-relation--owner{color:#3370ff;background:#e1eaff}.dashboard-relation--acceptor{color:#f80;background:#fff3e0}.dashboard-relation--both{color:#34c724;background:#e8fbe5}.dashboard-relation--context{color:#8f959e;background:#f2f3f5}.dashboard-status--draft,.dashboard-status--pending,.dashboard-status--cancelled{color:#646a73;background:#f2f3f5}.dashboard-status--toStart,.dashboard-status--doing{color:#3370ff;background:#e1eaff}.dashboard-status--toAccept{color:#f80;background:#fff3e0}.dashboard-status--accepted{color:#34c724;background:#e8fbe5}.dashboard-status--rejected,.dashboard-priority--P0{color:#f54a45;background:#fde9e8}.dashboard-priority--P1{color:#f80;background:#fff3e0}.dashboard-priority--P2{color:#3370ff;background:#e1eaff}.dashboard-priority--P3{color:#646a73;background:#f2f3f5}.dashboard-empty{margin:1rem}.dashboard-empty-inline{color:hsl(var(--muted-foreground));padding:1.25rem;font-size:.875rem}.dashboard-bottom-grid{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);gap:1rem;display:grid}.dashboard-project-list,.dashboard-load-list{gap:1rem;padding:1rem 1.25rem;display:grid}.dashboard-project-item{gap:.5rem;display:grid}.dashboard-project-item:not(:last-child){border-bottom:1px solid hsl(var(--border) / .55);padding-bottom:.875rem}.dashboard-project-item__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-project-item__head strong{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;overflow:hidden}.dashboard-project-item__head span{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:700}.dashboard-milestone-row{flex-direction:column;gap:.25rem;padding:.5rem 0;font-size:.8125rem;display:flex}.dashboard-milestone-row+.dashboard-milestone-row{border-top:1px dashed hsl(var(--border) / .5)}.dashboard-milestone-row__line{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.dashboard-milestone-row__line--meta{color:hsl(var(--muted-foreground))}.dashboard-milestone-row__date{color:hsl(var(--muted-foreground));align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.dashboard-milestone-row__title{min-width:0;color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:600;overflow:hidden}.dashboard-milestone-row__title small{font-size:.75rem}.dashboard-due-tag--done{color:#34c724;background:#e8fbe5}.dashboard-due-tag--overdue{color:#f54a45;background:#fde9e8}.dashboard-due-tag--soon{color:#f80;background:#fff3e0}.dashboard-due-tag--normal,.dashboard-value-tag{color:#3370ff;background:#e1eaff}.dashboard-load-list{gap:.625rem}.dashboard-load-row{grid-template-columns:4.5rem minmax(0,1fr) 3rem;align-items:center;gap:.75rem;display:grid}.dashboard-load-row__user{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.dashboard-load-row__user span{color:hsl(var(--foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.dashboard-load-row__bar{background:hsl(var(--secondary));border-radius:999px;height:.5rem;position:relative;overflow:hidden}.dashboard-load-row__bar-fill{border-radius:inherit;height:100%;transition:width .2s;display:block}.dashboard-load-row__bar-fill--healthy{background:hsl(var(--success))}.dashboard-load-row__bar-fill--warning{background:#f80}.dashboard-load-row__bar-fill--danger{background:hsl(var(--destructive))}.dashboard-load-row__hours{font-variant-numeric:tabular-nums;justify-self:end;font-size:.8125rem}.dashboard-load-row__hours--healthy{color:hsl(var(--success))}.dashboard-load-row__hours--warning{color:#f80}.dashboard-load-row__hours--danger{color:hsl(var(--destructive))}.dashboard-load-legend{flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1rem;display:flex}.dashboard-card-empty{color:hsl(var(--muted-foreground));font-size:.875rem}.dashboard-member-empty{color:hsl(var(--muted-foreground));gap:.875rem;padding:1.25rem;font-size:.875rem;display:grid}.dashboard-member-empty .app-secondary-button{justify-self:stretch}.dashboard-incentive-list{gap:.25rem;padding:.5rem 1.25rem 1rem;display:grid}.dashboard-incentive-row{border-bottom:1px solid hsl(var(--border) / .55);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.625rem 0;display:grid}.dashboard-incentive-row:last-child{border-bottom:0}.dashboard-incentive-tag{white-space:nowrap;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border-radius:999px;padding:.125rem .5rem;font-size:.75rem}.dashboard-incentive-tag--thanks{color:#0891b2;background:#0891b21a}.dashboard-incentive-tag--penalty{color:hsl(var(--destructive));background:hsl(var(--destructive) / .1)}.dashboard-incentive-row__body{gap:.125rem;min-width:0;display:grid}.dashboard-incentive-row__body strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.dashboard-incentive-row__body span{color:hsl(var(--muted-foreground));font-size:.75rem}.dashboard-incentive-row__amount{font-variant-numeric:tabular-nums;color:hsl(var(--success));justify-self:end;font-size:.9375rem}.dashboard-incentive-row__amount--penalty{color:hsl(var(--destructive))}.dashboard-client-list{gap:.25rem;padding:1rem 1.25rem;display:grid}.dashboard-client-row{border-bottom:1px solid hsl(var(--border) / .55);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 0;font-size:.875rem;display:flex}.dashboard-client-row:last-child{border-bottom:0}.dashboard-client-row>span:first-child{color:hsl(var(--foreground))}.dashboard-client-summary{color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:.625rem;padding:0 1.25rem 1rem;font-size:.8125rem;display:flex}.saturation-page{flex-direction:column;height:100%;min-height:0;display:flex}.saturation-card{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:.75rem;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0f172a0f}.saturation-card__header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.saturation-card__header h2{color:hsl(var(--foreground));margin:0;font-size:1rem;font-weight:700}.saturation-card__header p{color:hsl(var(--muted-foreground));margin:.375rem 0 0;font-size:.8125rem}.saturation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.625rem;display:flex}.saturation-range-select{width:8.25rem}.saturation-date-range{width:15rem}.saturation-date-trigger{height:2.25rem;min-height:2.25rem;font-size:.8125rem}.saturation-switch{color:hsl(var(--muted-foreground));cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.saturation-switch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.saturation-switch span{background:hsl(var(--muted));width:2.25rem;height:1.25rem;box-shadow:inset 0 0 0 1px hsl(var(--border));border-radius:999px;transition:background-color .15s,box-shadow .15s;position:relative}.saturation-switch span:after{content:"";background:#fff;border-radius:999px;width:.875rem;height:.875rem;transition:transform .15s;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 3px #0f172a33}.saturation-switch input:checked+span{background:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary))}.saturation-switch input:checked+span:after{transform:translate(1rem)}.saturation-error{margin:1rem 1.25rem 0}.saturation-empty{flex:1;margin:1rem}.saturation-table-shell{background:#f8fafc;flex:1;min-height:0;padding:1rem;position:relative;overflow:auto}.saturation-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;width:100%;min-width:56rem;position:relative;box-shadow:0 4px 16px #0f172a0d}.saturation-table th,.saturation-table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.saturation-table th:last-child,.saturation-table td:last-child{border-right:0}.saturation-table tbody tr:last-child td{border-bottom:0}.saturation-table__member-head{z-index:6;color:#475569;text-align:left;background:#f1f5f9;width:10rem;min-width:10rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:700;position:sticky;top:0;left:0;box-shadow:2px 0 #e2e8f0}.saturation-table__day-head{z-index:3;color:#334155;text-align:center;vertical-align:middle;background:#f1f5f9eb;min-width:4.5rem;padding:.625rem .5rem;position:sticky;top:0}.saturation-table__day-head div{font-size:.8125rem;font-weight:700}.saturation-table__day-head span{color:#94a3b8;min-height:1rem;margin-top:.125rem;font-size:.6875rem;display:block}.saturation-table__member-cell{z-index:5;background:#fff;width:10rem;min-width:10rem;padding:.625rem 1rem;position:sticky;left:0;box-shadow:2px 0 #e2e8f0}.saturation-table tbody tr:hover .saturation-table__member-cell,.saturation-table tbody tr:hover td{background-color:#f8fafc}.saturation-table__hour-cell{background:#fff;height:3.5rem;padding:.375rem}.saturation-member{align-items:center;gap:.625rem;min-width:0;display:inline-flex}.saturation-member__name{color:#334155;font-size:.875rem;font-weight:700;line-height:1.2}.saturation-member__meta{color:#94a3b8;margin-top:.125rem;font-size:.75rem}.saturation-hour{border-radius:.25rem;justify-content:center;align-items:center;width:100%;height:100%;min-height:1.75rem;font-size:.75rem;font-weight:700;line-height:1;display:flex}.saturation-hour--healthy{background:hsl(var(--success));color:#fff}.saturation-hour--warning,.saturation-hour--overtime{color:#fff;background:#f80}.saturation-hour--danger{background:hsl(var(--destructive));color:#fff}.saturation-hour--empty{background:hsl(var(--warning) / .12);color:hsl(var(--warning))}.saturation-hour--rest{color:hsl(var(--muted-foreground));background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 4px,#f1f5f9 4px,#f1f5f9 8px)}.saturation-card__footer{background:#fff;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.saturation-legend{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.saturation-badge{color:#fff;border-radius:.25rem;align-items:center;height:1.375rem;padding:0 .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.saturation-badge--healthy{background:hsl(var(--success))}.saturation-badge--warning{background:#f80}.saturation-badge--danger{background:hsl(var(--destructive))}.saturation-footer-note{color:#64748b;font-size:.75rem;font-weight:600}@media(max-width:1080px){.page-toolbar{flex-direction:column}.page-toolbar__intro{justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.page-toolbar__actions{justify-content:flex-start;width:100%}.summary-grid,.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card__header,.dashboard-hero{flex-direction:column;align-items:stretch}.dashboard-bottom-grid{grid-template-columns:minmax(0,1fr)}.dashboard-actions{justify-content:flex-start}}@media(max-width:768px){.app-shell{flex-direction:row;height:100%;overflow:hidden}.app-header__menu-btn{display:inline-flex}.sidebar-toggle--desktop{display:none}.sidebar-toggle--mobile{display:inline-flex}.app-sidebar,.app-sidebar--collapsed{z-index:50;width:16rem;max-width:82vw;padding-top:calc(.75rem + env(safe-area-inset-top));padding-left:calc(.5rem + env(safe-area-inset-left));transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 12px 40px #0f172a3d}.app-sidebar--mobile-open{transform:translate(0)}.app-sidebar--collapsed .app-sidebar__brand{flex-direction:row;justify-content:space-between;align-items:center}.app-sidebar-overlay{visibility:hidden;pointer-events:none;display:block}.app-sidebar-overlay--visible{visibility:visible;opacity:1;pointer-events:auto}.app-main{min-height:0}.app-header{height:auto;min-height:3.5rem;padding:.5rem 1rem;padding-top:calc(.5rem + env(safe-area-inset-top));flex-direction:row;align-items:center;gap:.5rem}.app-user{width:auto}.app-user__name{display:none}.app-content{padding:1rem;padding-left:calc(1rem + env(safe-area-inset-left));padding-right:calc(1rem + env(safe-area-inset-right));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.project-card__header{flex-direction:row;align-items:center;gap:.5rem}.project-card__header-delete{flex-shrink:0;align-self:flex-start;width:2rem;height:2rem;min-height:0;padding:0}.project-card__header-delete svg{display:block}.app-modal{align-items:flex-end;padding:0}.app-modal__panel{border-radius:calc(var(--radius) + 6px) calc(var(--radius) + 6px) 0 0;max-width:100%;max-height:92vh;padding-bottom:env(safe-area-inset-bottom);width:100%!important}.app-modal__header{padding:1.25rem 1.25rem .75rem}.app-modal__body{padding:0 1.25rem 1rem}.app-modal__footer{flex-direction:column-reverse;padding:0 1.25rem 1.25rem}.app-modal__footer .app-primary-button,.app-modal__footer .app-secondary-button{width:100%}}@media(max-width:640px){.summary-grid,.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.summary-card{padding:.75rem .875rem}.summary-card__value{margin-top:.25rem;font-size:1.375rem}.dashboard-project-card .dashboard-card__header,.dashboard-load-card .dashboard-card__header{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.dashboard-project-card .dashboard-card__header .dashboard-card__title-group,.dashboard-load-card .dashboard-card__header h3{flex:auto;min-width:0}.dashboard-project-card .dashboard-card__header .dashboard-link-button,.dashboard-load-card .dashboard-card__header .dashboard-link-button{flex-shrink:0}.dashboard-project-list{gap:.875rem;padding:.75rem 1rem}.dashboard-project-item__head{gap:.5rem}.dashboard-project-item__head strong{min-width:0;font-size:.9375rem}.dashboard-project-item__head span{flex-shrink:0;font-size:.8125rem}.dashboard-milestone-row{gap:.375rem;padding:.625rem 0}.dashboard-load-row{grid-template-columns:minmax(0,1fr) 3rem}.dashboard-load-row__bar{grid-area:2/1/auto/-1}.page-toolbar__search,.page-toolbar__select{width:100%}.login-dialog__panel{padding:1.5rem}}.finance-page{gap:1rem;display:grid}.finance-card,.finance-stat{background:hsl(var(--card));border-radius:.875rem;box-shadow:0 1px 2px #0f172a0a,0 12px 28px #0f172a0a}.finance-card{overflow:hidden}.finance-card--collapsed .finance-card__header{border-bottom:0}.finance-card__title{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:flex-start;gap:.75rem;padding:0;display:flex}.finance-card__chevron{width:18px;height:18px;color:hsl(var(--muted-foreground));flex-shrink:0;justify-content:center;align-items:center;margin-top:.2rem;transition:transform .15s;display:inline-flex;transform:rotate(-90deg)}.finance-card__chevron--open{transform:rotate(0)}.finance-card__header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.finance-card__header h3{margin:0;font-size:1rem;font-weight:600}.finance-card__header p{color:hsl(var(--muted-foreground));margin:.25rem 0 0;font-size:.8125rem}.finance-card__header p strong{color:hsl(var(--primary));font-size:1rem}.finance-toolbar,.finance-toolbar-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.finance-toolbar-row{justify-content:space-between;padding:1rem 1.25rem}.finance-toolbar-card{overflow:visible}.finance-search{width:9rem}.finance-select{width:8.75rem}.finance-month-select{width:10rem}.finance-small-select{width:6.75rem}.finance-small-input{width:7.5rem}.finance-stat-grid{gap:1rem;display:grid}.finance-stat-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-stat-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-stat{gap:.25rem;padding:1rem 1.25rem;display:grid}.finance-stat span{color:hsl(var(--muted-foreground));font-size:.8125rem}.finance-stat strong{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.finance-stat small{color:hsl(var(--muted-foreground));font-size:.75rem}.finance-stat--primary strong{color:hsl(var(--primary))}.finance-stat--success strong,.finance-text-success{color:hsl(var(--success))}.finance-stat--warning strong{color:hsl(var(--warning))}.finance-stat--danger strong,.finance-text-danger{color:hsl(var(--destructive))}.finance-stat--muted strong,.finance-muted{color:hsl(var(--muted-foreground))}.finance-table{min-width:58rem}.finance-table--wide{min-width:150rem}.finance-table--settle{min-width:118rem}.finance-table th,.finance-table td{white-space:nowrap;padding:.75rem .875rem}.finance-table__num,.finance-table .finance-table__num,.finance-table__action{text-align:right}.finance-table tbody tr.is-muted{opacity:.62}.finance-table-scroll{max-width:100%}.finance-strong{font-weight:600}.finance-user-label{align-items:center;gap:.4rem;font-weight:500;display:inline-flex}.finance-form{gap:.875rem;display:grid}.finance-error{justify-content:space-between;align-items:center;gap:1rem;display:flex}.finance-expand-button{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));width:1.75rem;height:1.75rem;color:hsl(var(--foreground));font-weight:600}.finance-expand-button:hover{background:hsl(var(--accent))}.finance-lifecycle{align-items:flex-start;padding:1.25rem;display:flex}.finance-lifecycle__item{min-width:0;color:hsl(var(--muted-foreground));text-align:center;flex:1;justify-items:center;gap:.25rem;display:grid;position:relative}.finance-lifecycle__item strong{color:hsl(var(--foreground));font-size:.8125rem}.finance-lifecycle__item span{max-width:7.5rem;font-size:.6875rem;line-height:1.35}.finance-lifecycle__item i{background:hsl(var(--border));width:calc(100% - 2rem);height:1px;position:absolute;top:.875rem;left:calc(50% + 1rem)}.finance-lifecycle__item i.is-done{background:hsl(var(--primary))}.finance-lifecycle__dot{border:1px solid hsl(var(--input));background:hsl(var(--muted));width:1.75rem;height:1.75rem;color:hsl(var(--muted-foreground));border-radius:9999px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.finance-lifecycle__dot.is-active{border:2px solid hsl(var(--primary));background:hsl(var(--background));color:hsl(var(--primary))}.finance-lifecycle__dot.is-done{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.finance-value-tags{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.finance-value-tags strong{color:hsl(var(--primary))}.finance-detail-cell{background:hsl(var(--muted) / .32);padding:0!important}.finance-source-detail{gap:.75rem;padding:.875rem;display:grid}.finance-source-detail__header{justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.finance-source-detail__header span{color:hsl(var(--primary));font-weight:600}.finance-source-detail table{border-collapse:collapse;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:.5rem;width:100%;overflow:hidden}.finance-source-detail th,.finance-source-detail td{border-bottom:1px solid hsl(var(--border));text-align:left;padding:.625rem .75rem;font-size:.8125rem}.finance-detail-empty{color:hsl(var(--muted-foreground));padding:.875rem;font-size:.875rem}.finance-lock-tip,.finance-settle-total{border-radius:calc(var(--radius) - 2px);background:hsl(var(--warning) / .1);color:hsl(var(--warning));padding:.75rem .875rem;font-size:.8125rem}.finance-settle-modal{gap:.875rem;display:grid}.finance-settle-total{background:hsl(var(--muted));color:hsl(var(--foreground))}.finance-settle-total strong{color:hsl(var(--destructive));margin-left:.25rem;font-size:1rem}.finance-number-input{text-align:right;width:5.25rem;height:2rem;padding:0 .5rem}.personal-profile-card{overflow:visible}.personal-profile-card__actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.personal-profile{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem;display:flex}.personal-profile__main{align-items:center;gap:1rem;display:flex}.personal-profile__main>div:last-child{gap:.25rem;display:grid}.personal-profile__main span{color:hsl(var(--muted-foreground));font-size:.875rem}.personal-profile__name{align-items:center;gap:.5rem;display:flex}.personal-profile__name strong{font-size:1.25rem}.personal-profile__meta{min-width:min(100%,24rem);color:hsl(var(--muted-foreground));grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;font-size:.875rem;display:grid}.personal-profile__meta strong{color:hsl(var(--foreground))}@media(max-width:900px){.finance-card__header,.finance-toolbar-row,.personal-profile{flex-direction:column;align-items:stretch}.finance-stat-grid--three,.finance-stat-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-lifecycle{overflow-x:auto}.finance-lifecycle__item{min-width:6.75rem}}@media(max-width:640px){.finance-stat-grid--three,.finance-stat-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.finance-stat{padding:.75rem .875rem}.finance-stat strong{font-size:1.25rem}.personal-profile__meta{grid-template-columns:minmax(0,1fr)}.finance-toolbar,.finance-search,.finance-select,.finance-month-select,.finance-small-select,.finance-small-input{width:100%}}.wbs-group-row{height:var(--wbs-row-h);color:var(--wbs-gray-1);background:#3370ff0a;font-size:.8125rem;font-weight:600;position:relative}.wbs-group-row__sticky{align-items:center;gap:.5rem;max-width:100%;height:100%;padding:0 .75rem 0 1rem;display:inline-flex;position:sticky;left:0}.wbs-group-row.is-collapsed .wbs-group-row__sticky{background:#1f232905}.wbs-group-row__sticky:before{content:"";background:#3370ff;border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.wbs-group-row.is-collapsed .wbs-group-row__sticky:before{background:var(--wbs-gray-4)}.wbs-group-row.is-collapsed{color:var(--wbs-gray-2);background:#1f232905}.wbs-group-row__toggle{color:#3370ff;background:0 0;border:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;display:inline-flex}.wbs-group-row.is-collapsed .wbs-group-row__toggle{color:var(--wbs-gray-3)}.wbs-group-row__toggle .tri{border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:4px solid;width:0;height:0;transition:transform .12s;display:inline-block}.wbs-group-row__toggle.is-open .tri{transform:rotate(90deg)}.wbs-group-row__label{color:var(--wbs-gray-1);letter-spacing:.01em;font-weight:600}.wbs-group-row.is-collapsed .wbs-group-row__label{color:var(--wbs-gray-2)}.wbs-group-row__count{color:#3370ff;background:#3370ff1f;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:18px;padding:0 6px;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.wbs-group-row.is-collapsed .wbs-group-row__count{color:var(--wbs-gray-3);background:#1f23290f}.wbs-group-row__add{color:var(--wbs-gray-3);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;margin-left:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.25;transition:opacity .12s,color .12s,background .12s,border-color .12s}.wbs-group-row__add:hover{color:#3370ff;background:#3370ff14;border-color:#3370ff4d}.wbs-group-row__badge{border-radius:999px;flex-shrink:0;margin-left:.375rem;padding:.0625rem .4375rem;font-size:.6875rem;font-weight:600;line-height:1.3}.wbs-group-row__badge.is-progressing{color:#3370ff;background:#3370ff1f}.wbs-group-row__badge.is-delivered{color:#22ac57;background:#22ac5724}.wbs-group-row__value{color:var(--wbs-gray-3);white-space:nowrap;background:#1f23290f;border-radius:999px;flex-shrink:0;margin-left:.375rem;padding:.0625rem .4375rem;font-size:.6875rem;font-weight:600;line-height:1.3}.wbs-group-row__value.is-over{color:#f05858;background:#f0585824}.wbs-group-row__value-budget{opacity:.7;margin-left:1px}.wbs-gantt-group-row{background:#3370ff0a}.wbs-gantt-group-row.is-collapsed{background:#1f232905}.wbs-gantt-group-row:not(.is-collapsed){border-bottom:0}.wbs-milestone-multi__trigger{border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);min-height:2rem;color:hsl(var(--foreground));background:#fff;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.8125rem;display:inline-flex}.wbs-milestone-multi__trigger:hover:not(:disabled){border-color:#3370ff66}.wbs-milestone-multi__trigger:disabled{opacity:.55;cursor:not-allowed}.wbs-milestone-multi__trigger.is-open{border-color:#3370ff;box-shadow:0 0 0 2px #3370ff26}.wbs-milestone-multi__caret{color:hsl(var(--muted-foreground));font-size:.625rem}.wbs-milestone-multi__panel{min-width:15rem;max-width:20rem;padding:.5rem}.wbs-milestone-multi__head{color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding:.25rem .375rem .5rem;font-size:.75rem;display:flex}.wbs-milestone-multi__head-actions{gap:.5rem;display:inline-flex}.wbs-milestone-multi__list{gap:.125rem;max-height:min(20rem,60vh);padding:.375rem .125rem .125rem;display:grid;overflow:auto}.wbs-milestone-multi__item{border-radius:calc(var(--radius) - 2px);cursor:pointer;align-items:center;gap:.5rem;padding:.375rem;font-size:.8125rem;display:flex}.wbs-milestone-multi__item:hover{background:hsl(var(--accent))}.wbs-milestone-multi__empty{text-align:center;color:hsl(var(--muted-foreground));padding:.75rem;font-size:.8125rem}@media(max-width:768px){.data-table-wrapper.data-table-wrapper--cards{border:none;border-radius:0;overflow:visible}.data-table.data-table--cards{border-collapse:collapse;width:100%;min-width:0;display:block}.data-table--cards thead{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.data-table--cards tbody{gap:.75rem;display:grid}.data-table--cards tbody tr{border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background:hsl(var(--card));gap:.375rem;padding:.875rem 1rem;display:grid;box-shadow:0 1px 2px #0f172a0a}.data-table--cards tbody tr:hover{background:hsl(var(--card))}.data-table--cards tbody td{white-space:normal;text-align:right;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:0;display:flex}.data-table--cards tbody td:before{content:attr(data-label);color:hsl(var(--muted-foreground));text-align:left;flex-shrink:0;font-size:.8125rem;font-weight:500}.data-table--cards tbody td:not([data-label]){justify-content:flex-end}.data-table--cards tbody td.data-table__empty{display:block;text-align:center!important;padding:1.5rem 1rem!important}.data-table--cards tbody td.data-table__empty:before{content:none}.project-card__body{gap:1rem;padding:.75rem}.project-card__body .data-block{background:0 0;border:none;border-radius:0;padding:0;overflow:visible}.project-card__body .data-block-header{padding:0 0 .5rem}.project-card__body .data-block-header .data-block__title{padding:0;font-size:1rem}.data-block__count{background:hsl(var(--muted));min-width:1.5rem;height:1.25rem;color:hsl(var(--muted-foreground));border-radius:999px;justify-content:center;align-items:center;margin-left:.5rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.milestone-mobile-list{flex-direction:column;gap:.625rem;display:flex}.milestone-mobile-card{border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background:hsl(var(--card));flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex;box-shadow:0 1px 2px #0f172a0a}.milestone-mobile-card__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.milestone-mobile-card__name{min-width:0;color:hsl(var(--foreground));word-break:break-word;flex:auto;font-size:.9375rem;font-weight:600}.milestone-mobile-card__name .inline-edit-cell{text-align:left;width:100%;font-size:inherit;font-weight:inherit;color:inherit;background:0 0;border:none;justify-content:flex-start;padding:0}.milestone-mobile-card__meta{flex-direction:column;gap:.5rem;margin:0;display:flex}.milestone-mobile-card__meta-row{justify-content:space-between;align-items:center;gap:.75rem;min-height:1.75rem;display:flex}.milestone-mobile-card__meta-row dt{color:hsl(var(--muted-foreground));flex-shrink:0;font-size:.8125rem;font-weight:500}.milestone-mobile-card__meta-row dd{color:hsl(var(--foreground));text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.375rem;margin:0;font-size:.8125rem;display:inline-flex}.milestone-mobile-card__actual{font-weight:600}.milestone-mobile-card__meta-row .project-milestone-date-picker{width:auto}.milestone-mobile-card__actions{border-top:1px dashed hsl(var(--border));justify-content:flex-end;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.milestone-mobile-empty{text-align:center;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:calc(var(--radius));background:hsl(var(--card));padding:2rem 1rem;font-size:.875rem}.app-content:has(.tasks-page){padding-bottom:0;overflow:hidden}.tasks-page{height:100%;min-height:0}.wbs-scope{height:100%;min-height:0;overflow:hidden}.wbs-controlbar{background:hsl(var(--background));border-radius:.5rem;flex-direction:column;flex:none;align-items:stretch;gap:.5rem;margin-bottom:.5rem;padding:.5rem;position:static;overflow:visible;box-shadow:0 2px 6px #0f172a0f}.wbs-controlbar__main{flex-wrap:wrap;min-width:0}.wbs-controlbar__main>*{flex:100%}.wbs-select--project,.wbs-select--milestone,.wbs-date-filter-range{width:100%}.wbs-milestone-multi__trigger{justify-content:space-between;width:100%;height:2rem;min-height:2rem}.wbs-mobile-list{min-height:0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:column;flex:auto;gap:.5rem;display:flex;overflow:hidden auto}.wbs-mobile-list::-webkit-scrollbar{display:none}.wbs-mobile-group{border-radius:calc(var(--radius));color:#1d2129;text-align:left;background:#eaf0fe;border:none;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:0 .75rem 0 1rem;display:flex;position:relative;overflow:hidden}.wbs-mobile-group:before{content:"";background:#3370ff;width:3px;position:absolute;top:0;bottom:0;left:0}.wbs-mobile-group:active{background:#dfe8fd}.wbs-mobile-group__tri{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid #3370ff;flex-shrink:0;width:0;height:0;transition:transform .15s}.wbs-mobile-group__tri.is-open{transform:rotate(90deg)}.wbs-mobile-group__label{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.875rem;font-weight:700;overflow:hidden}.wbs-mobile-group__count{color:#3370ff;text-align:center;background:#fff;border-radius:999px;flex-shrink:0;min-width:1.5rem;padding:0 .375rem;font-size:.75rem;font-weight:600}.wbs-mobile-empty{text-align:center;color:hsl(var(--muted-foreground));padding:2.5rem 1rem;font-size:.875rem}.wbs-mobile-hint{border-radius:calc(var(--radius) - 2px);background:hsl(var(--secondary) / .5);color:hsl(var(--muted-foreground));text-align:center;margin-top:.5rem;padding:.75rem 1rem;font-size:.8125rem}.wbs-mbranch{box-sizing:border-box;border-radius:calc(var(--radius) - 2px);width:100%;min-width:0;max-width:100%;min-height:2.5rem;color:hsl(var(--foreground));text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.wbs-mbranch:active{background:hsl(var(--secondary) / .6)}.wbs-mbranch__tri{border-left:6px solid hsl(var(--muted-foreground));border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;flex-shrink:0;width:0;height:0;transition:transform .15s}.wbs-mbranch.is-open .wbs-mbranch__tri{transform:rotate(90deg)}.wbs-mbranch__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.9375rem;font-weight:600;overflow:hidden}.wbs-mbranch__flag{flex-shrink:0;font-size:.8125rem}.wbs-mbranch__count{background:hsl(var(--secondary));min-width:1.375rem;height:1.375rem;color:hsl(var(--muted-foreground));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .375rem;font-size:.75rem;font-weight:500;display:inline-flex}.wbs-mnode--depth-1{box-sizing:border-box;max-width:calc(100% - .75rem);margin-left:.75rem}.wbs-mnode--depth-2{box-sizing:border-box;max-width:calc(100% - 1.5rem);margin-left:1.5rem}.wbs-mnode--depth-3{box-sizing:border-box;max-width:calc(100% - 2rem);margin-left:2rem}.wbs-mcard{border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background:hsl(var(--card));box-sizing:border-box;flex-direction:column;gap:.5rem;min-width:0;max-width:100%;padding:.75rem .875rem .75rem 1rem;display:flex;position:relative;overflow:visible;box-shadow:0 1px 2px #0f172a0a}.wbs-mcard:before{content:"";border-radius:calc(var(--radius)) 0 0 calc(var(--radius));background:#c9cdd4;width:3px;position:absolute;top:0;bottom:0;left:0}.wbs-mcard--green:before{background:#23c343}.wbs-mcard--blue:before{background:#3370ff}.wbs-mcard--orange:before{background:#ff7d00}.wbs-mcard--gray:before{background:#c9cdd4}.wbs-mcard.is-overdue:before{background:#f54a45;width:4px}.wbs-mcard.is-overdue{background:#fff;border-color:#f9c3c0}.wbs-mcard.is-soon:before{background:#f80;width:4px}.wbs-mcard.is-soon{background:#fff;border-color:#ffd8a8}.wbs-mcard__top{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.wbs-mcard__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:hsl(var(--foreground));flex:8rem;font-size:.9375rem;font-weight:500;overflow:hidden}.wbs-mcard__flag{flex-shrink:0;font-size:.8125rem}.wbs-mcard__status{border-radius:999px;flex-shrink:0;align-items:center;height:1.375rem;padding:0 .5rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.wbs-mcard__status--green{color:#178c2e;background:#e8fbe5}.wbs-mcard__status--blue{color:#2c5cd6;background:#e1eaff}.wbs-mcard__status--orange{color:#c76b00;background:#fff3e0}.wbs-mcard__status--gray{color:#646a73;background:#f2f3f5}.wbs-mcard__status-select.app-select-trigger{width:auto;height:1.75rem;min-height:1.75rem;box-shadow:none;border:none;border-radius:999px;flex-shrink:0;gap:.25rem;padding:0 .5rem;font-size:.75rem;font-weight:500}.wbs-mcard__status-select .app-select-trigger__label{font-size:.75rem;font-weight:500}.wbs-mcard__status-select .app-select-trigger__icon svg{width:.75rem;height:.75rem}.wbs-mcard__status-select--green{color:#178c2e;background:#e8fbe5}.wbs-mcard__status-select--blue{color:#2c5cd6;background:#e1eaff}.wbs-mcard__status-select--orange{color:#c76b00;background:#fff3e0}.wbs-mcard__status-select--gray{color:#646a73;background:#f2f3f5}.wbs-mcard__status-select--green .app-select-trigger__icon,.wbs-mcard__status-select--green .app-select-trigger__label{color:#178c2e}.wbs-mcard__status-select--blue .app-select-trigger__icon,.wbs-mcard__status-select--blue .app-select-trigger__label{color:#2c5cd6}.wbs-mcard__status-select--orange .app-select-trigger__icon,.wbs-mcard__status-select--orange .app-select-trigger__label{color:#c76b00}.wbs-mcard__status-select--gray .app-select-trigger__icon,.wbs-mcard__status-select--gray .app-select-trigger__label{color:#646a73}.wbs-mcard__meta{flex-wrap:wrap;align-items:center;gap:.375rem .625rem;display:flex}.wbs-mcard__chip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:hsl(var(--muted-foreground));align-items:center;gap:.25rem;font-size:.8125rem;display:inline-flex;overflow:hidden}.wbs-mcard__chip-ico{opacity:.85;font-size:.75rem}.wbs-mcard__diff{border-radius:calc(var(--radius) - 4px);align-items:center;height:1.25rem;padding:0 .4375rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.wbs-mcard__diff--l1{color:#2e7d43;background:#eaf7ee}.wbs-mcard__diff--l2{color:#c26a1b;background:#fff4e6}.wbs-mcard__diff--l3{color:#c9433f;background:#fdeaea}.wbs-mstatus-trigger{cursor:pointer;height:1.75rem;box-shadow:none;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:.25rem;padding:0 .625rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.wbs-mstatus-trigger__caret{opacity:.8;font-size:.6875rem}.wbs-mstatus-trigger--green{color:#178c2e;background:#e8fbe5}.wbs-mstatus-trigger--blue{color:#2c5cd6;background:#e1eaff}.wbs-mstatus-trigger--orange{color:#c76b00;background:#fff3e0}.wbs-mstatus-trigger--gray{color:#646a73;background:#f2f3f5}.dashboard-todo-mlist{flex:none;padding-bottom:0;overflow:visible}.dashboard-todo-mbranch{cursor:default;padding-left:.25rem}.dashboard-todo-mbranch:active{background:0 0}}.wbs-mstatus-sheet{z-index:90;background:#0f172a73;flex-direction:column;justify-content:flex-end;animation:.16s ease-out wbs-mstatus-fade;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.wbs-mstatus-sheet__panel{padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom));background:hsl(var(--background));border-top-left-radius:1rem;border-top-right-radius:1rem;flex-direction:column;gap:.5rem;animation:.22s ease-out wbs-mstatus-slide;display:flex;position:relative;box-shadow:0 -8px 24px #0f172a2e}.wbs-mstatus-sheet__handle{background:hsl(var(--muted));border-radius:999px;align-self:center;width:2.25rem;height:.25rem;margin:.375rem 0 .25rem}.wbs-mstatus-sheet__title{color:hsl(var(--foreground));text-align:center;padding:.25rem 0 .5rem;font-size:.9375rem;font-weight:600}.wbs-mstatus-sheet__list{flex-direction:column;gap:.25rem;display:flex}.wbs-mstatus-sheet__item{border-radius:calc(var(--radius) - 2px);width:100%;min-height:3rem;color:hsl(var(--foreground));cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:0 .75rem;font-size:.9375rem;display:flex}.wbs-mstatus-sheet__item:active{background:hsl(var(--muted))}.wbs-mstatus-sheet__item.is-active{background:hsl(var(--muted));font-weight:600}.wbs-mstatus-sheet__dot{border-radius:999px;flex-shrink:0;width:.625rem;height:.625rem}.wbs-mstatus-sheet__dot--green{background:#22c55e}.wbs-mstatus-sheet__dot--blue{background:#3b82f6}.wbs-mstatus-sheet__dot--orange{background:#f59e0b}.wbs-mstatus-sheet__dot--gray{background:#94a3b8}.wbs-mstatus-sheet__label{flex:1}.wbs-mstatus-sheet__check{color:hsl(var(--primary));font-weight:700}.wbs-mstatus-sheet__cancel{background:hsl(var(--muted) / .5);border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));cursor:pointer;border:none;margin-top:.5rem;padding:.75rem;font-size:.9375rem}@keyframes wbs-mstatus-fade{0%{opacity:0}to{opacity:1}}@keyframes wbs-mstatus-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:768px){.app-header__menu-btn{width:2.75rem;height:2.75rem;margin-left:-.5rem}.app-header__menu-icon{width:1.5rem;height:1.5rem}.saturation-card__header{flex-direction:column;align-items:stretch;gap:.75rem}.saturation-actions{justify-content:flex-start}.saturation-date-range,.saturation-date-trigger{width:100%}.ui-date-range-popover{width:min(100vw - 1.5rem,22rem);max-width:calc(100vw - 1.5rem)}.ui-date-range-popover__body{flex-direction:column;align-items:stretch}.ui-date-range-presets{border-right:none;border-bottom:1px solid hsl(var(--border));flex-flow:wrap;min-width:0;padding:.5rem .75rem}.ui-date-range-presets__title{flex-basis:100%;padding:0 0 .25rem}.admin-tabs__list{scrollbar-width:none;flex-wrap:nowrap;width:100%;display:flex;overflow-x:auto}.admin-tabs__list::-webkit-scrollbar{display:none}.admin-tabs__list button{white-space:nowrap;flex:none;height:2.5rem}.admin-card__header,.finance-card__header,.finance-toolbar-row{flex-direction:column;align-items:stretch;gap:.75rem}.admin-users-title{flex-direction:column;align-items:stretch;gap:.75rem;font-size:.9375rem}.admin-users-filters{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.admin-search,.admin-filter-select{width:100%;height:2.5rem}.admin-count{padding-top:.125rem}.admin-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.admin-card__actions .app-primary-button,.admin-card__actions .app-secondary-button{width:100%;height:2.5rem;font-size:.8125rem}.admin-row-actions .app-secondary-button,.admin-row-actions .app-danger-button{height:2.25rem;padding:0 .875rem}}.docs-drawer{z-index:55;background:#0f172a52;justify-content:flex-end;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.docs-drawer__panel{background:hsl(var(--background));border-left:1px solid hsl(var(--border));flex-direction:column;width:min(100vw,26rem);height:100%;animation:.18s ease-out docs-drawer-in;display:flex;box-shadow:-20px 0 40px -20px #0f172a40}@keyframes docs-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.docs-drawer__header{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.25rem 1.25rem .75rem;display:flex}.docs-drawer__eyebrow{color:hsl(var(--muted-foreground));letter-spacing:.02em;font-size:.75rem}.docs-drawer__title{margin:.25rem 0 0;font-size:1.05rem;font-weight:600;line-height:1.3}.docs-drawer__close{border-radius:calc(var(--radius) - 2px);width:1.75rem;height:1.75rem;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.125rem;display:inline-flex}.docs-drawer__close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.docs-drawer__tabs{border-bottom:1px solid hsl(var(--border));flex-wrap:wrap;gap:.375rem;padding:0 1.25rem .75rem;display:flex}.docs-drawer__tab{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;display:inline-flex}.docs-drawer__tab:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.docs-drawer__tab--active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.docs-drawer__tab-count{background:#0f172a14;border-radius:999px;justify-content:center;align-items:center;min-width:1.125rem;height:1.125rem;padding:0 .3125rem;font-size:.6875rem;font-weight:600;display:inline-flex}.docs-drawer__tab--active .docs-drawer__tab-count{color:inherit;background:#ffffff2e}.docs-drawer__body{flex:1;padding:.75rem 1.25rem;overflow-y:auto}.docs-drawer__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.docs-drawer__item{border:1px solid hsl(var(--border));border-radius:calc(var(--radius));background:hsl(var(--card));align-items:center;gap:.5rem;padding:.625rem .75rem;transition:border-color .12s;display:flex}.docs-drawer__item:hover{border-color:hsl(var(--primary))}.docs-drawer__link{min-width:0;color:inherit;flex:1;align-items:center;gap:.625rem;text-decoration:none;display:flex}.docs-drawer__icon{border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));width:2rem;height:2rem;color:hsl(var(--muted-foreground));flex:none;justify-content:center;align-items:center;display:inline-flex}.docs-drawer__icon--prd{color:#1d4ed8;background:#dbeafe}.docs-drawer__icon--design{color:#b91c1c;background:#fee2e2}.docs-drawer__icon--chat{color:#15803d;background:#dcfce7}.docs-drawer__icon--doc{color:#4338ca;background:#e0e7ff}.docs-drawer__icon--other{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.docs-drawer__meta{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.docs-drawer__link-title{color:hsl(var(--foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.docs-drawer__link-sub{color:hsl(var(--muted-foreground));align-items:center;gap:.375rem;min-width:0;font-size:.75rem;display:flex}.docs-drawer__link-type{background:hsl(var(--muted));border-radius:999px;flex:none;padding:0 .375rem;font-size:.6875rem}.docs-drawer__link-url{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.docs-drawer__external{color:hsl(var(--muted-foreground));flex:none}.docs-drawer__item:hover .docs-drawer__external{color:hsl(var(--primary))}.docs-drawer__item-actions{flex:none;align-items:center;gap:.25rem;display:inline-flex}.docs-drawer__empty{text-align:center;border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));padding:2rem .5rem}.docs-drawer__empty-title{color:hsl(var(--foreground));margin-bottom:.375rem;font-size:.9375rem;font-weight:500}.docs-drawer__empty-hint{font-size:.8125rem;line-height:1.5}.docs-drawer__footer{border-top:1px solid hsl(var(--border));padding:.75rem 1.25rem 1rem}.docs-drawer__footer .app-primary-button{width:100%}.docs-badge-button{border:1px solid hsl(var(--border));background:hsl(var(--card));height:1.5rem;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.docs-badge-button:hover{color:hsl(var(--primary));border-color:hsl(var(--primary))}.docs-badge-button--has{color:hsl(var(--primary));background:hsl(var(--accent));border-color:hsl(var(--accent))}.docs-badge-button__count{text-align:center;min-width:.75rem;font-weight:600}.docs-badge-button--compact{height:1.25rem;padding:0 .375rem;font-size:.6875rem}@media(max-width:640px){.docs-drawer__panel{width:100vw}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
