@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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease: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;--color-red-500:oklch(63.7% .237 25.331);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-slate-400:oklch(70.4% .04 256.788);--color-gray-500:oklch(55.1% .027 264.364);--color-stone-500:oklch(55.3% .013 58.071);--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.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}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-yellow-500{background-color:var(--color-yellow-500)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--color-bg:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-bg-subtle:#f9fafb;--color-bg-elevated:#fff;--color-surface:#fff;--color-bg-primary:#f3f4f6;--color-text:#111827;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--color-text-dim:#9ca3af;--color-text-link:#2563eb;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-subtle:#2563eb14;--color-primary:#2563eb;--color-border:#e5e7eb;--color-border-subtle:#f3f4f6;--color-border-hover:#d1d5db;--color-success:#059669;--color-warning:#d97706;--color-danger:#dc2626;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-gantt-1:#4f46e5;--color-gantt-2:#7c3aed;--color-gantt-3:#db2777;--color-gantt-4:#0d9488;--color-gantt-5:#d97706;--color-tag-project:#4338ca;--color-tag-project-bg:#4338ca14;--color-tag-person:#047857;--color-tag-person-bg:#04785714;--color-tag-raw:#b45309;--color-tag-raw-bg:#b4530914;--color-hover-subtle:#00000008;--color-hover-faint:#00000004;--color-grid-line:#0000000d;--color-grid-line-dashed:#00000014;--color-modal-overlay:#00000080;--color-sidebar-gradient-end:#f9fafbf7;--color-inset-bg:#00000005;--color-badge-bg:#f3f4f6;--color-badge-text:#6b7280;--color-panel-shadow:0 1px 3px #0000000f,0 6px 16px #0000000a;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f,0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f,0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014,0 8px 10px -6px #0000000a;--shadow-glow:0 0 0 3px #2563eb1f;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--date-picker-invert:0;--body-gradient-1:#2563eb05;--body-gradient-2:#2563eb03}[data-theme=dark]{--color-bg:#09090b;--color-bg-secondary:#111113;--color-bg-tertiary:#1a1a1e;--color-bg-subtle:#111113;--color-bg-elevated:#18181b;--color-surface:#111113;--color-bg-primary:#1a1a1e;--color-text:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-dim:#52525b;--color-text-link:#60a5fa;--color-accent:#3b82f6;--color-accent-hover:#60a5fa;--color-accent-subtle:#3b82f61f;--color-primary:#3b82f6;--color-border:#27272a;--color-border-subtle:#1e1e21;--color-border-hover:#3f3f46;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-error:#f87171;--color-error-bg:#ef44441a;--color-gantt-1:#6366f1;--color-gantt-2:#8b5cf6;--color-gantt-3:#ec4899;--color-gantt-4:#14b8a6;--color-gantt-5:#f59e0b;--color-tag-project:#a5b4fc;--color-tag-project-bg:#6366f11f;--color-tag-person:#6ee7b7;--color-tag-person-bg:#10b9811f;--color-tag-raw:#fcd34d;--color-tag-raw-bg:#fbbf241f;--color-hover-subtle:#ffffff0a;--color-hover-faint:#ffffff05;--color-grid-line:#ffffff0f;--color-grid-line-dashed:#ffffff14;--color-modal-overlay:#000000bf;--color-sidebar-gradient-end:#111113f7;--color-inset-bg:#ffffff08;--color-badge-bg:#27272a;--color-badge-text:#a1a1aa;--color-panel-shadow:0 1px 3px #0003,0 8px 24px #00000047;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0006,0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #0000004d;--shadow-glow:0 0 0 3px #3b82f633;--date-picker-invert:1;--body-gradient-1:#3b82f60a;--body-gradient-2:#3b82f605}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";background-image:radial-gradient(ellipse at top left,var(--body-gradient-1)0%,transparent 50%),radial-gradient(ellipse at bottom right,var(--body-gradient-2)0%,transparent 50%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button,a,input,select,textarea{transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s}body,.sidebar,.header,.content,.modal,.stat-card,.team-card,.project-row{transition:background-color .25s,color .25s,border-color .25s}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--color-accent-subtle);color:var(--color-text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.app{display:flex;height:100svh;overflow:hidden}.sidebar{width:252px;min-width:252px;flex-shrink:0;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:.75rem .625rem 1.25rem;z-index:0;position:relative;transition:width .2s cubic-bezier(.4,0,.2,1),min-width .2s cubic-bezier(.4,0,.2,1)}.logo{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;margin-bottom:1.75rem;transition:none}.logo-icon{flex-shrink:0;color:var(--color-accent)}.logo-text{font-size:1.05rem;font-weight:700;color:var(--color-text);letter-spacing:-.025em;white-space:nowrap;opacity:1;transition:opacity .12s ease}.sidebar-collapsed .logo-text{opacity:0}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .875rem;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .12s ease,color .12s ease;text-align:left;white-space:nowrap;letter-spacing:-.01em}.nav-item:hover{background:var(--color-hover-subtle);color:var(--color-text)}.nav-item.active{background:var(--color-accent);color:#fff;font-weight:600}.nav-icon{display:flex;flex-shrink:0;opacity:.7}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{opacity:1}.sidebar-footer{display:flex;flex-direction:column;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--color-border);transition:none}.nav-collapse-toggle{margin-bottom:0}.nav-label,.nav-badge-beta{opacity:1;transition:opacity .12s ease}.sidebar-collapsed{width:64px;min-width:64px;overflow:hidden}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-badge-beta{opacity:0}.user-name{font-weight:600;font-size:.875rem;letter-spacing:-.01em}.user-role{font-size:.75rem;color:var(--color-text-muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:visible;position:relative;z-index:10}.header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 2rem;border-bottom:1px solid var(--color-border);background-color:var(--color-bg)}.header-title h1{font-size:1.375rem;font-weight:700;margin:0;letter-spacing:-.025em}.header-title .date{font-size:.8125rem;color:var(--color-text-muted);margin:.125rem 0 0;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:.5rem}.icon-btn{width:36px;height:36px;border-radius:var(--radius-sm);background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative}.icon-btn:hover{background-color:var(--color-hover-subtle);border-color:var(--color-border-hover);color:var(--color-text)}.badge{position:absolute;top:-3px;right:-3px;background-color:var(--color-danger);color:#fff;font-size:.625rem;font-weight:700;padding:1px 5px;border-radius:999px;min-width:16px;text-align:center;line-height:1.3}.notif-wrapper{position:relative}.notif-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;background:var(--color-danger);border-radius:50%;border:2px solid var(--color-bg)}.notif-panel{position:absolute;top:calc(100% + 6px);right:0;width:360px;max-height:480px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;overflow:hidden;display:flex;flex-direction:column}.notif-panel-header{padding:.875rem 1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:baseline;gap:.5rem}.notif-panel-header h3{font-size:.8125rem;font-weight:600;color:var(--color-text);margin:0;letter-spacing:-.01em}.notif-panel-subtitle{font-size:.75rem;color:var(--color-text-dim)}.notif-empty{padding:2rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.8125rem}.notif-list{overflow-y:auto;max-height:420px;padding:4px 0}.notif-day-group{padding:0 0 4px}.notif-day-label{padding:.5rem 1rem .25rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-dim)}.notif-item{display:flex;gap:.625rem;padding:.5rem 1rem;transition:background-color .1s ease}.notif-item:hover{background:var(--color-hover-subtle)}.notif-item-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.notif-item-icon[data-category=project]{background:#2563eb1a;color:var(--color-accent)}.notif-item-icon[data-category=priority]{background:#7c3aed1a;color:#7c3aed}.notif-item-icon[data-category=holiday]{background:#0596691a;color:var(--color-success)}.notif-item-icon[data-category=capacity]{background:#d977061a;color:var(--color-warning)}.notif-item-content{flex:1;min-width:0}.notif-item-title{font-size:.8125rem;color:var(--color-text);line-height:1.4}.notif-action{font-weight:600}.notif-item-detail{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.notif-item-meta{font-size:.6875rem;color:var(--color-text-dim);margin-top:3px}.primary-btn{padding:.5rem 1.125rem;border-radius:var(--radius-sm);background-color:var(--color-accent);border:none;color:#fff;font-weight:600;font-size:.8125rem;cursor:pointer;letter-spacing:-.01em}.primary-btn:hover{background-color:var(--color-accent-hover)}.content{flex:1;overflow-y:auto;overflow-x:visible;padding:1.75rem 2rem;background-color:var(--color-bg);position:relative;z-index:5}.content.content-calendar{padding-top:0}.projects-summary{display:flex;align-items:center;gap:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden}.summary-stats{display:flex;gap:0;flex-shrink:0}.summary-stat{display:flex;flex-direction:column;align-items:center;padding:.625rem .875rem;color:var(--color-text-muted);min-width:56px}.summary-stat+.summary-stat{border-left:1px solid var(--color-border)}.summary-stat-value{font-size:1.125rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text)}.summary-stat-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:3px;color:var(--color-text-dim)}.summary-risks{display:flex;flex-wrap:wrap;flex:1;justify-content:flex-end;gap:.35rem .75rem;padding:.5rem .75rem}.projects-list{border-radius:var(--radius-md);overflow:visible}.list-bl-section{margin-bottom:2rem;margin-top:2.25rem}.list-bl-section:first-child{margin-top:0}.list-bl-section:last-child{margin-bottom:0}.list-bl-header{font-size:1rem;font-weight:700;color:var(--color-text);margin-bottom:.625rem;letter-spacing:-.02em}.project-row{display:flex;flex-direction:column;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);transition:border-color .15s ease,box-shadow .15s ease;margin-bottom:.5rem}.project-row .project-info{display:flex;flex-direction:column;gap:.375rem;padding:.875rem 1.25rem .5rem}.project-info-top{display:flex;justify-content:space-between;align-items:center}.project-description{font-size:.78rem;color:var(--color-text-secondary);line-height:1.4;margin-top:.15rem}.project-meta{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.project-meta-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:99px;padding:.15rem .55rem;white-space:nowrap}.project-meta-warn{color:#ef4444;border-color:#ef44444d;font-weight:600}.project-meta-spacer{flex:1}.project-meta-action{cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease}.project-row:hover .project-meta-action{opacity:1}.project-meta-action:hover{background:var(--color-hover-subtle)}.project-meta-action-delete:hover{color:#ef4444;border-color:#ef44444d}.project-row:last-child{margin-bottom:0}.project-row:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.project-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .15s ease}.project-row:hover .project-actions{opacity:1}.project-name{font-weight:500;color:var(--color-text-muted)}.status-badge{display:inline-flex;align-items:center;gap:.45rem;padding:0;border-radius:0;font-size:.85rem;font-weight:400;color:var(--color-text-muted);width:fit-content;letter-spacing:0;text-transform:none;box-shadow:none;justify-self:end}.status-badge-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.bg-blue-500{background:#3b82f6}.bg-yellow-500{background:linear-gradient(135deg,#f59e0b,#f97316)}.bg-green-500{background-color:#22c55e}.bg-red-500{background-color:#ef4444}.bg-slate-400{background-color:#94a3b8}.bg-stone-500{background-color:#78716c}.due-date{color:var(--color-text-muted);font-size:.85rem}.team-sort-bar{display:flex;align-items:center;gap:6px;padding:.75rem 0;flex-wrap:wrap}.team-sort-bar .sort-label{color:var(--color-text-dim);font-size:.8125rem;margin-right:4px}.team-sort-bar .sort-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.3rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:500}.team-sort-bar .sort-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.team-sort-bar .sort-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.team-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.team-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem;display:flex;flex-direction:column;gap:.625rem;overflow:visible;transition:border-color .15s ease,box-shadow .15s ease}.team-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.member-brand{font-size:2rem}.member-brands{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.brand-label{font-size:.65rem;font-weight:500;color:var(--color-badge-text);background:var(--color-badge-bg);padding:.2rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.3px}.member-info{display:flex;justify-content:space-between;width:100%}.member-info-left{display:flex;flex-direction:column;gap:.25rem;flex:1}.member-name{font-weight:500}.member-role{font-size:.7rem;color:var(--color-text)}.status-dot{width:10px;height:10px;border-radius:50%}.calendar-view{display:flex;justify-content:flex-start;align-items:stretch;min-height:0}.calendar-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:60vh;color:var(--color-text-muted)}.calendar-placeholder svg{margin-bottom:1rem;color:var(--color-text-muted)}.calendar-placeholder h3{color:var(--color-text);margin:0 0 .5rem}.calendar-placeholder p{margin:0}.member-actions{display:flex;gap:.5rem;margin-left:auto;opacity:0;transition:opacity .15s ease}.team-card:hover .member-actions{opacity:1}.action-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8125rem}.action-btn:hover{background:var(--color-hover-subtle);border-color:var(--color-border-hover);color:var(--color-text)}.action-btn.delete:hover{background:#dc262614;border-color:var(--color-danger);color:var(--color-danger)}.modal-overlay{position:fixed;inset:0;background-color:var(--color-modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .15s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:0;width:100%;max-width:480px;max-height:90vh;overflow-y:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{margin:0;font-size:1.125rem;letter-spacing:-.02em}.confirm-modal{padding:1.75rem;max-width:400px}.confirm-modal h2{margin:0 0 .5rem}.confirm-message{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.confirm-actions button{flex:0 0 auto;min-width:80px;max-width:150px;width:auto}.confirm-actions .secondary-btn{flex:0 0 auto;width:fit-content;min-width:auto;max-width:none;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text);font-weight:500;font-size:.8125rem;cursor:pointer}.confirm-actions .secondary-btn:hover{background-color:var(--color-hover-subtle)}.danger-btn,.confirm-actions .danger-btn,.modal-actions .danger-btn,.primary-btn.danger-btn{flex:0;width:fit-content;min-width:auto;padding:.5rem 1rem;border-radius:var(--radius-sm);background-color:var(--color-danger);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:.8125rem}.danger-btn:hover,.confirm-actions .danger-btn:hover,.modal-actions .danger-btn:hover,.primary-btn.danger-btn:hover{background-color:#b91c1c}.danger-btn-text{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.375rem .5rem;border-radius:var(--radius-xs)}.danger-btn-text:hover{background:#dc26260f}.day-modal{max-width:400px;padding:1.5rem}.day-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.day-modal-header h2{margin:0;font-size:1.1rem;line-height:1.4}.close-btn{background:none;border:none;color:var(--color-text-dim);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.close-btn:hover{background:var(--color-hover-subtle);color:var(--color-text)}.day-modal-content{display:flex;flex-direction:column;gap:.75rem}.day-modal-event{padding:1rem;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border)}.day-modal-event.timeoff{border-color:#ef4444;background:#ef44441a}.day-modal-event.holiday{border-color:#6b7280;background:#6b72801a}.day-modal-event.project{border-color:#3b82f6;background:#3b82f61a}.event-type-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;margin-bottom:.25rem}.day-modal-event.timeoff .event-type-badge,.day-modal-event.timeoff .event-date-range-inline{color:#ef4444}.day-modal-event.holiday .event-type-badge{color:#6b7280}.day-modal-event.project .event-type-badge{color:#3b82f6}.day-modal-event .event-name{font-size:1rem;font-weight:500;color:var(--color-text)}.day-modal-event .event-detail{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.day-modal-event.timeoff .event-detail{color:#ef4444}.day-modal-event.project .event-detail{color:#3b82f6}.day-modal-event.clickable{cursor:pointer;transition:all .15s ease}.day-modal-event.clickable:hover{border-color:var(--color-accent);background:#3b82f626}.event-date-range{font-size:.8rem;color:var(--color-accent);font-weight:500;margin-top:.35rem}.event-date-range-inline{font-size:.8rem;color:var(--color-accent);font-weight:500}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem;color:var(--color-text-secondary)}.form-group label .label-hint{font-weight:400;font-size:.75rem;opacity:.6;margin-left:.25rem}.clickable-label{cursor:pointer}.clickable-label:hover .label-hint{opacity:1;text-decoration:underline}.form-group input{width:100%;padding:.625rem .875rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:.875rem}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.float-field{position:relative;margin-bottom:0}.float-field input,.float-field select,.float-field textarea{width:100%;padding:1.25rem .875rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:.875rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.float-field textarea{resize:vertical;font-family:inherit;line-height:1.4}.float-field textarea~label{top:.9rem;transform:none}.float-field select{padding-right:2rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;appearance:none}.float-field input:focus,.float-field select:focus,.float-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.float-field label{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);font-size:.875rem;color:var(--color-text-muted);pointer-events:none;transition:all .15s ease;margin:0;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 1.75rem)}.float-field input:focus~label,.float-field input:not(:placeholder-shown)~label,.float-field select:focus~label,.float-field select:not([value=""])~label,.float-field textarea:focus~label,.float-field textarea:not(:placeholder-shown)~label,.float-field.has-value label{top:.5rem;transform:translateY(0);font-size:.6875rem;font-weight:600;letter-spacing:.03em;color:var(--color-text-dim)}.float-field input[type=date]{padding-top:1.375rem;padding-bottom:.5rem}.float-field input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(var(--date-picker-invert));opacity:.5;cursor:pointer;position:absolute;right:1rem}.float-field input[type=date]:focus::-webkit-calendar-picker-indicator{opacity:.7}.form-group input[type=date]{cursor:pointer;background-color:var(--color-bg-tertiary);color:var(--color-text);font-weight:500}.form-group input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(var(--date-picker-invert));opacity:.8;cursor:pointer}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.status-options{display:flex;gap:.4rem}.status-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text-muted);font-size:.78rem;cursor:pointer;transition:all .15s ease}.status-option:hover{border-color:var(--color-accent)}.status-option.active{border-color:var(--color-accent);background-color:#3b82f61a;color:var(--color-text)}.status-select-wrapper{position:relative;display:inline-block;width:100%}.status-select{width:100%;padding:.5rem .75rem .5rem 2rem;border-radius:6px;border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:.85rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.status-select:focus{outline:none;border-color:var(--color-accent)}.avatar-options{display:grid;grid-template-columns:repeat(8,1fr);gap:.5rem}.avatar-option{width:40px;height:40px;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.avatar-option:hover{border-color:var(--color-accent)}.avatar-option.selected{border-color:var(--color-accent);background-color:#3b82f61a}.brand-select{width:100%;padding:.75rem;font-size:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer}.brand-select:focus{outline:none;border-color:var(--color-accent)}.brand-checkboxes{display:flex;flex-wrap:wrap;gap:.25rem}.brand-checkbox{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;cursor:pointer}.brand-checkbox:hover{border-color:var(--color-accent);color:var(--color-accent)}.brand-checkbox.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.brand-checkbox input{display:none}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions .secondary-btn{flex:0 0 auto;width:fit-content;min-width:auto;max-width:none;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text);font-weight:500;font-size:.8125rem;cursor:pointer}.modal-actions .secondary-btn:hover{background-color:var(--color-hover-subtle)}.modal-actions .primary-btn{flex:1}.modal-actions .danger-btn{flex:0 0 auto;width:fit-content;min-width:auto;padding:.5rem 1rem;border-radius:var(--radius-sm);background-color:var(--color-danger);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:.8125rem}.modal-actions .danger-btn:hover{background-color:#b91c1c}@media(max-width:768px){.app{flex-direction:column;min-height:100dvh;height:auto;overflow:visible}.main{overflow:visible}.content{overflow:visible;-webkit-overflow-scrolling:auto}.sidebar{width:100%;min-width:0;flex-direction:row;align-items:center;padding:.5rem 1rem;flex-shrink:0;border-right:none;border-bottom:1px solid var(--color-border);justify-content:space-between;gap:.5rem}.logo{padding:.5rem;margin-bottom:0;gap:.5rem}.logo-text{font-size:1rem}.nav{flex-direction:row;justify-content:space-between;gap:.5rem;flex:unset}.nav-item{flex-direction:column;padding:.5rem;gap:.25rem;position:relative}.nav-item .nav-label{font-size:.65rem}.nav-badge-beta{font-size:.45rem;padding:.05rem .25rem;margin-left:0;position:absolute;top:2px;right:2px}.nav-icon{height:20px;display:flex;align-items:center}.header{padding:.75rem 1rem;flex-shrink:0}.content{padding:.75rem}.projects-grid,.team-grid,.calendar-view,.capacity-page,.notes-page{max-width:none;margin:0}.header-title h1{font-size:1.1rem}.header-title .date{font-size:.75rem}.calendar-view .calendar-panel{position:sticky;top:0;overflow:hidden;max-height:min(70vh,520px)}.calendar-panel-header{position:sticky;top:0;z-index:2;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-subtle)}.calendar-panel-content.open{max-height:calc(min(70vh,520px) - 56px);overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}.month-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-cells{min-width:0}.day-cell{min-height:28px;min-width:0;overflow:hidden;padding:.15rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.day-cell:active{background:var(--color-accent-subtle)}.day-number{font-size:.7rem}.span-event{font-size:.5rem;height:16px;line-height:16px}.event-detail{font-size:.45rem}.logo{margin-bottom:0}.nav{flex-direction:row;gap:.5rem}.nav-item .nav-label,.sidebar-footer{display:none}.projects-summary{flex-wrap:wrap}.assignment-form{grid-template-columns:1fr}.assignment-row{align-items:flex-start;gap:.5rem}.projects-list{overflow-x:hidden}.project-row .project-info{padding:.85rem .75rem}.project-actions,.member-actions{opacity:1}.project-row .project-actions .action-btn,.team-card .member-actions .action-btn{min-width:36px;min-height:36px}.project-name,.project-name-link,.due-date,.designer-link,.status-badge{font-size:.78rem}.project-designers{gap:.15rem}.day-modal{max-width:100%;max-height:100%;height:100%;border-radius:0;padding:1.5rem}.day-modal-header h2{font-size:1rem}.day-modal-content{flex:1;overflow-y:auto}}.project-designers{display:flex;flex-wrap:wrap;gap:.25rem}.designer-tag{font-size:.7rem;padding:.15rem .4rem;background:var(--color-accent);color:#fff;border-radius:4px}.designer-checkboxes{display:flex;flex-wrap:wrap;gap:.3rem}.designer-checkbox{display:flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary);cursor:pointer;transition:all .15s ease}.designer-checkbox:hover{border-color:var(--color-accent)}.designer-checkbox.selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.designer-checkbox input{display:none}.project-name-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text);text-decoration:none;font-weight:500;transition:opacity .15s ease}.project-name-link-icon{flex-shrink:0;opacity:.4}.project-name-link:hover{text-decoration:underline;opacity:.8}.project-name{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;color:var(--color-text-muted)}.project-jira-badge{display:inline-flex;align-items:center;padding:.1rem .35rem;font-size:.55rem;font-weight:700;letter-spacing:.04em;line-height:1;color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-xs);text-decoration:none;text-transform:uppercase;transition:background .15s ease,color .15s ease}.project-jira-badge:hover{background:var(--color-accent);color:#fff}.project-links{display:flex;gap:.5rem;align-items:center}.project-link-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.link-icon{font-size:14px;line-height:1}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.timeline-header label{margin-bottom:0}.add-timeline-btn{padding:.3rem .6rem;font-size:.75rem;background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.timeline-list{display:flex;flex-direction:column;gap:.5rem;max-height:150px;overflow-y:auto}.timeline-item{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border)}.timeline-item .timeline-info{flex:1}.drag-handle{cursor:grab;color:var(--color-text-muted);opacity:.4;flex-shrink:0}.drag-handle:hover{opacity:1;background:var(--color-bg-tertiary);transform:none}.timeline-info{display:flex;flex-direction:column}.timeline-name{font-size:.85rem;font-weight:500}.timeline-dates{font-size:.75rem;color:var(--color-text-muted)}.timeline-actions{display:flex;gap:.25rem}.project-gantt{--gantt-label-col: 170px;--gantt-col-gap: 10px;--gantt-header-gap: .75rem;--gantt-bars-pad: 8px;--gantt-bars-border: 1px;grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--gantt-header-gap);padding:1rem 1.5rem;background:linear-gradient(180deg,var(--color-hover-subtle) 0%,transparent 100%);border-top:1px solid var(--color-border-subtle)}.gantt-header{display:grid;grid-template-columns:var(--gantt-label-col) minmax(0,1fr);column-gap:var(--gantt-col-gap);align-items:center;font-size:.65rem;color:var(--color-text-dim);padding:0 8px;font-weight:600;letter-spacing:.05em}.gantt-header-spacer{width:var(--gantt-label-col)}.gantt-header-track{display:flex;justify-content:space-between;min-width:0}.gantt-start,.gantt-end{position:relative;display:inline-flex;align-items:center;gap:6px}.gantt-start{padding-left:5px}.gantt-end{padding-right:5px}.gantt-edge-line{position:absolute;width:1px;top:0;height:calc(100% + 20px);background:linear-gradient(180deg,color-mix(in srgb,var(--color-text-dim) 80%,transparent) 0%,color-mix(in srgb,var(--color-text-dim) 55%,transparent) 60%,transparent 100%);pointer-events:none}.gantt-edge-line-start{left:0}.gantt-edge-line-end{right:0}.gantt-bars{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--color-hover-faint);border-radius:var(--radius-sm);overflow:visible;padding:var(--gantt-bars-pad);border:var(--gantt-bars-border) solid var(--color-border-subtle)}.gantt-weekly-grid{position:absolute;top:var(--gantt-bars-pad);bottom:var(--gantt-bars-pad);left:calc(8px + var(--gantt-label-col) + var(--gantt-col-gap));right:8px;pointer-events:none;z-index:1}.gantt-weekly-tick{position:absolute;top:0;bottom:0;width:1px;background:var(--color-grid-line);border-right:1px dashed var(--color-grid-line-dashed)}.gantt-track{height:32px;width:100%;display:grid;grid-template-columns:var(--gantt-label-col) minmax(0,1fr);column-gap:var(--gantt-col-gap);align-items:center}.gantt-track-label{width:var(--gantt-label-col);font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:25ch}.gantt-track-bars{position:relative;height:32px;min-width:0;overflow:visible}.gantt-bar{position:absolute;top:4px;height:24px;min-width:40px;display:flex;align-items:center;padding:0 .75rem;box-sizing:border-box;border-radius:4px;font-size:.7rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-sm);transition:all .2s ease}.gantt-bar:hover{filter:brightness(1.1);box-shadow:var(--shadow-md);z-index:5;transform:scaleY(1.08)}.gantt-bar.bar-1{background:linear-gradient(90deg,var(--color-gantt-1) 0%,rgba(99,102,241,.8) 100%)}.gantt-bar.bar-2{background:linear-gradient(90deg,var(--color-gantt-2) 0%,rgba(139,92,246,.8) 100%)}.gantt-bar.bar-3{background:linear-gradient(90deg,var(--color-gantt-3) 0%,rgba(236,72,153,.8) 100%)}.gantt-bar.bar-4{background:linear-gradient(90deg,var(--color-gantt-4) 0%,rgba(20,184,166,.8) 100%)}.gantt-bar.bar-5{background:linear-gradient(90deg,var(--color-gantt-5) 0%,rgba(245,158,11,.8) 100%)}.gantt-bar.bar-duration{background:linear-gradient(90deg,#9ca3af,#9ca3afb3)}.gantt-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.gantt-arrow{opacity:.3}.gantt-today-global{position:absolute;top:var(--gantt-bars-pad);bottom:var(--gantt-bars-pad);width:2px;left:calc(8px + var(--gantt-label-col) + var(--gantt-col-gap) + (100% - 16px - var(--gantt-label-col) - var(--gantt-col-gap)) * var(--today-pos, 0));background:linear-gradient(180deg,transparent 0%,#f59e0b 20%,#f59e0b 80%,transparent 100%);z-index:10;pointer-events:none}.gantt-today-label{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:700;color:#f59e0b;white-space:nowrap;background:var(--color-bg-secondary);padding:2px 8px;border-radius:4px;border:1px solid #f59e0b;box-shadow:var(--shadow-glow)}.gantt-review-track .gantt-track-bars{position:relative}.gantt-review-diamond{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;display:flex;align-items:center;justify-content:center;z-index:6;text-decoration:none}.gantt-review-diamond-shape{width:13px;height:13px;background:#f59e0b;transform:rotate(45deg);box-shadow:0 2px 4px #0000002e,0 1px 2px #0000001a;transition:transform .15s,box-shadow .15s}.gantt-review-diamond:hover .gantt-review-diamond-shape{transform:rotate(45deg) scale(1.3);box-shadow:0 3px 6px #00000040,0 1px 3px #00000026}[data-theme=dark] .gantt-review-diamond-shape{background:#fbbf24}.gantt-container{position:relative}.project-card-footer{display:flex;justify-content:space-between;align-items:flex-end;padding:.5rem 1.5rem;background:transparent;overflow:visible}.project-links-footer{display:flex;flex-wrap:wrap;gap:.15rem 0;align-items:center}.project-footer-phases{display:flex;flex-wrap:wrap;gap:.15rem .5rem;padding-left:.1rem}.project-footer-designer,.project-footer-hours{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-text-muted);font-size:.7rem}.project-footer-warning{color:#ef4444;font-weight:600}.project-footer-link{display:inline-flex;align-items:center;gap:.14rem;color:var(--color-text-muted);font-size:.7rem;text-decoration:none;transition:color .15s ease}.project-footer-link:hover{color:var(--color-accent)}.project-footer-link:hover span{text-decoration:underline}.project-footer-link-wrap{display:inline-flex;align-items:center}.project-link-sep{color:var(--color-text-dim);font-size:.6rem;margin:0 .4rem}.date-cell{display:flex;align-items:center;gap:.5rem}.overdue-label{font-size:.5rem;font-weight:600;color:#fff;background:#ef4444;padding:.1rem .3rem;border-radius:3px;vertical-align:middle;position:relative;top:-1px;animation:pulse-red 1.5s ease-in-out infinite}@keyframes pulse-red{0%,to{background:#ef4444}50%{background:#b91c1c}}.priority-item.placeholder{background:var(--color-bg-tertiary);border:2px dashed var(--color-border);opacity:.6}.priority-item.placeholder .priority-name{color:var(--color-text-secondary)}.priority-item.placeholder .priority-status-label{color:var(--color-text-tertiary);font-size:.75rem}.status-countdown{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.example-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s ease}.example-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.example-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.example-card-title{font-size:.95rem;font-weight:600;color:var(--color-text)}.example-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-muted)}.example-card-bl{background:var(--color-accent-subtle);color:var(--color-accent-hover);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.example-card-designers{color:var(--color-text-dim)}.example-card-actions{display:flex;gap:.35rem}.project-name-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.designer-link{background:none;border:none;color:var(--color-text);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s ease}.designer-link:hover{opacity:.7}.project-business-line{display:block;font-size:.7rem;color:var(--color-text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.team-card-footer{display:flex;justify-content:space-between;align-items:center;margin:0 -1.125rem -1.125rem;padding:.5rem 1.125rem;background:transparent;border-top:1px solid var(--color-border);overflow:visible}.member-links{display:flex;gap:.5rem;overflow:visible}.member-link-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}.member-link-icon.disabled{opacity:.3;cursor:not-allowed}.member-link-icon{position:relative}.member-business-line{display:flex;flex-wrap:wrap;gap:.25rem;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.business-line-item{white-space:nowrap;display:inline-flex;align-items:center;gap:4px;margin-right:8px}.business-line-item.glow{color:var(--color-warning);text-shadow:0 0 10px rgba(245,158,11,.5)}.business-line-item.muted{opacity:.6}.project-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--color-danger);flex-shrink:0}.loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--color-bg);color:var(--color-text)}.loading-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem 2rem;background:var(--color-bg-secondary);text-align:center;min-width:240px;box-shadow:var(--shadow-md)}.loading-title{font-size:1.0625rem;font-weight:700;margin-bottom:.35rem;letter-spacing:-.02em}.loading-subtitle{font-size:.8125rem;color:var(--color-text-muted)}.loading-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:60vh;color:var(--color-text-muted)}.custom-link-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;margin-bottom:.75rem;align-items:center}.remove-link-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0;align-self:center;transition:all .2s ease}.remove-link-btn:hover{background:#ef444426;border-color:#ef4444;color:#ef4444}.add-link-btn{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.85rem;width:100%;transition:all .15s ease}.add-link-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.project-image-drop{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:.75rem;min-height:80px;transition:border-color .15s,background .15s;cursor:default;outline:none}.project-image-drop:focus,.project-image-drop.dragover{border-color:var(--color-accent);background:#3b82f60a}.project-image-drop.uploading{opacity:.6;pointer-events:none}.project-image-placeholder{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:1rem 0;opacity:.6}.project-image-uploading{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary);padding:.5rem 0}.project-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.project-image-thumb{position:relative;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:4/3;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.project-image-thumb img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.project-image-thumb img:hover{opacity:.9}.project-image-delete{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.project-image-thumb:hover .project-image-delete{opacity:1}.project-image-delete:hover{background:#ef4444}.project-image-drag{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:4px;border:none;background:#0009;color:#fff;cursor:grab;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:2;padding:0}.project-image-drag:active{cursor:grabbing}.project-image-thumb:hover .project-image-drag{opacity:1}.project-image-item{display:flex;flex-direction:column}.project-image-caption{width:100%;font-size:.7rem;padding:.25rem .35rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);margin-top:.25rem;font-family:inherit}.project-image-caption::placeholder{color:var(--text-secondary);opacity:.5}.lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-close{position:absolute;top:16px;right:16px;background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}.lightbox-close:hover{background:#ffffff4d}.lightbox-content{max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center;cursor:default}.lightbox-content img{max-width:90vw;max-height:78vh;object-fit:contain;border-radius:6px;box-shadow:0 8px 32px #0006}.lightbox-caption{color:#fff;font-size:.85rem;margin-top:.75rem;text-align:center;max-width:600px;line-height:1.4;opacity:.9}.lightbox-counter{color:#ffffff80;font-size:.7rem;margin-top:.35rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;z-index:10}.lightbox-nav:hover{background:#ffffff40}.lightbox-prev{left:16px}.lightbox-next{right:16px}.project-card-images{display:flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--text-secondary);opacity:.7}.project-attached-images{padding:.5rem 1.5rem;border-top:1px solid var(--border)}.project-attached-label{font-size:.65rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.3rem}.project-images-inline{display:flex;gap:.4rem;flex-wrap:wrap}.project-images-inline .project-image-thumb{width:80px;height:60px;aspect-ratio:auto}.project-images-inline .project-image-thumb img{cursor:pointer}.priority-view{display:flex;flex-direction:column;gap:0;padding-top:1.5rem}.priority-bl-tabs{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 0 1rem}.priority-in-progress-zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:.5rem .75rem .75rem;min-height:3rem;transition:border-color .15s,background .15s}.priority-in-progress-zone.drop-active{border-color:#3b82f6;background:#3b82f60f}.priority-zone-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);margin-bottom:.5rem}.priority-list{display:flex;flex-direction:column;gap:.375rem}.priority-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;transition:background .15s ease}.priority-item.unranked{opacity:.5;background:transparent;border-style:dashed}.priority-rank{font-size:1rem;font-weight:700;color:var(--color-accent);width:1.75rem;text-align:center;flex-shrink:0}.priority-rank-empty{font-size:.75rem;color:var(--color-border);width:1.5rem;text-align:center;flex-shrink:0}.priority-info{flex:1;display:flex;flex-direction:column;min-width:0}.priority-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.priority-meta{font-size:.75rem;color:var(--color-text-muted)}.priority-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.priority-status-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;flex-shrink:0;white-space:nowrap}.priority-bl-select{width:auto;height:29px;padding:0 12px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.8rem;cursor:pointer;outline:none;transition:border-color .15s ease;box-sizing:border-box}.priority-bl-select:focus{border-color:var(--color-primary)}.priority-unranked{margin-top:1.5rem;display:flex;flex-direction:column;gap:.375rem}.priority-unranked-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.25rem}.priority-empty{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.priority-done-drop{margin-top:1.5rem;padding:.75rem;border:2px dashed var(--color-border);border-radius:10px;min-height:3rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color .2s ease,background .2s ease}.priority-done-drop.drop-active{border-color:#22c55e;background:#22c55e0f}.priority-done-drop-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.25rem}.priority-bl-section{margin-bottom:2rem;margin-top:2.5rem}.priority-bl-section:first-child{margin-top:0}.priority-bl-section:last-child{margin-bottom:0}.priority-bl-header{font-size:1.1rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;letter-spacing:-.01em}.priority-all-divider{height:1px;background:var(--color-border);margin:1rem 0 1.5rem}.view-toggle{display:flex;gap:4px}.arrange-priority-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch{position:relative;width:36px;height:20px;background:var(--color-border);border-radius:10px;transition:background .2s ease;cursor:pointer;flex-shrink:0}.toggle-switch.active{background:var(--color-primary)}.toggle-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-knob{transform:translate(16px)}.toggle-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500;cursor:pointer}.sort-divider{width:1px;height:20px;background:var(--color-border);margin:0 4px}.projects-sort-row{display:flex;align-items:center;gap:6px;padding:.75rem 0;flex-wrap:wrap}.projects-sort-row .sort-label{color:var(--color-text-dim);font-size:.8125rem;margin-right:6px}.projects-sort-row .sort-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.3rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:500}.projects-sort-row .sort-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.projects-sort-row .sort-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.projects-filter-row{display:flex;gap:6px;align-items:center;padding:.625rem .875rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:1rem;flex-wrap:wrap}.projects-filter-row .filter-label{font-size:.8125rem;color:var(--color-text-dim);font-weight:500;margin-right:4px}.status-emoji{font-size:1rem;line-height:1}.timeline-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.timeline-row input[type=text]{flex:1;min-width:120px;padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text);font-size:.85rem}.timeline-row input[type=date]{padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text);font-size:.85rem}.timeline-row span{color:var(--color-text-muted);font-size:.85rem}.timeline-row .remove-btn{background:var(--color-danger);color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.calendar-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.calendar-view .calendar-panel{position:sticky;top:0;z-index:100;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-left:none;border-right:none;border-radius:0;margin:0 -2rem;overflow:hidden;box-shadow:var(--color-panel-shadow)}.calendar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem 2rem}.calendar-panel-content{padding:0 2rem;max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .22s cubic-bezier(.22,1,.36,1),opacity .16s ease,transform .18s ease,padding-bottom .18s ease}.calendar-panel-content.open{max-height:40vh;opacity:1;transform:translateY(0);padding-bottom:1rem;overflow-y:auto}.calendar-panel-content.closed{pointer-events:none;padding-bottom:0}.calendar-legend{display:flex;gap:1rem}.filter-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .7rem;font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--color-bg-secondary) 90%,black 10%);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;width:fit-content}.filter-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-toggle:active{transform:translateY(1px)}.filter-toggle-icon{display:inline-block;line-height:1;transform:rotate(0);transform-origin:50% 50%;transition:transform .18s cubic-bezier(.22,1,.36,1)}.filter-toggle-icon.open{transform:rotate(180deg)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.legend-dot{width:10px;height:10px;border-radius:50%}.calendar-filters{display:flex;gap:1rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-direction:row-reverse}.filter-header label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.filter-toggle-all{font-size:.7rem;color:var(--color-accent);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.filter-toggle-all:hover{color:var(--color-primary)}.switch{position:relative;display:inline-block;width:33px;height:18px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:.2s;border-radius:18px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%}input:checked+.slider{background-color:var(--color-accent)}input:checked+.slider:before{transform:translate(15px)}.filter-group>label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.filter-pills{display:flex;flex-wrap:wrap;gap:.35rem}.calendar-panel-content .filter-pill{padding:.2rem .5rem;font-size:.7rem}.filter-pill{padding:.25rem .625rem;font-size:.75rem;font-weight:500;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap}.filter-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-pill.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-pill.designer-pill.active{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.filter-pill.designer-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.event-tag.holiday{background:#6b7280}.day-cell.today{background:#2563eb0f;border-color:var(--color-accent)}.day-cell.today .day-number{color:var(--color-accent);font-weight:700}.filter-clear-pill{padding:.15rem .7rem;font-size:.78rem;background:transparent;border:1px dashed var(--color-border);border-radius:999px;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center}.filter-clear-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.calendar-month{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;overflow-x:auto;min-width:0;scroll-margin-top:4rem}.month-title{font-size:1.125rem;font-weight:700;color:var(--color-text);margin:0 0 1rem;letter-spacing:-.02em}.month-fiscal{color:var(--color-text-dim);font-weight:inherit}.month-grid{display:flex;flex-direction:column;overflow:hidden;max-width:100%}.day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.5rem}.day-header{text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;padding:.5rem}.week-row{position:relative;margin-bottom:4px}.week-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-events-overlay{position:absolute;left:0;right:0;pointer-events:none;z-index:1}.day-cell{min-height:80px;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:6px;padding:.25rem;display:flex;flex-direction:column;width:100%;box-sizing:border-box;min-width:0}.day-cell.empty{background:transparent;border:none}.day-cell:not(.empty){cursor:pointer}.day-cell:not(.empty):hover{background:#3b82f60d;border-color:var(--color-accent)}.day-number{font-size:.85rem;font-weight:500;color:var(--color-text)}.span-event{position:absolute;height:18px;border-radius:3px;color:#fff;font-size:.6rem;line-height:18px;padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;pointer-events:auto;box-sizing:border-box}.span-event.multi-day{border-radius:0}.span-event.multi-day.span-start{border-radius:3px 0 0 3px}.span-event.multi-day.span-end{border-radius:0 3px 3px 0}.span-event.multi-day.span-start.span-end{border-radius:3px}.span-event:not(.multi-day){border-radius:3px}.span-event-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.span-event.holiday{background:#6b7280}.span-event.timeoff{background:#ef4444}.span-event.project{background:#3b82f6}.capacity-page{width:100%}.capacity-dashboard{width:100%;max-width:1400px;margin:0 auto}.capacity-dashboard h2{margin-bottom:1.5rem;font-size:1.5rem}.capacity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.capacity-stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem;text-align:center}.capacity-stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em}.capacity-stat-label{font-size:.8125rem;color:var(--color-text-muted);margin-top:2px}.capacity-gauge-container{display:flex;flex-wrap:wrap;gap:0;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden}.gauge-section{padding:.6rem 1rem}.gauge-utilization{display:flex;align-items:center;gap:.75rem}.gauge-fy{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:180px;border-left:1px solid var(--color-border)}.gauge-stats-row{display:flex;gap:.6rem}.gauge-panel-header{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.3rem}@media(max-width:640px){.gauge-fy{border-left:none;border-top:1px solid var(--color-border);width:100%}}.capacity-gauge{position:relative;width:110px;height:66px;flex-shrink:0}.gauge-svg{width:100%;height:100%}.gauge-center{position:absolute;bottom:0;left:50%;transform:translate(-50%);text-align:center}.gauge-pct{display:block;font-size:1.2rem;font-weight:700;line-height:1}.gauge-label{display:block;font-size:.55rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-top:1px}.gauge-stat{text-align:center;display:flex;flex-direction:column;gap:0}.gauge-stat-value{font-size:.8rem;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:1px}.gauge-stat-label{font-size:.5rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;line-height:1}.risk-item{display:flex;align-items:center;gap:.3rem;font-size:.6875rem;font-weight:500;line-height:1;padding:.25rem .5rem;border-radius:99px}.risk-icon{flex-shrink:0;display:flex;align-items:center}.risk-danger{background:#dc262614}.risk-danger .risk-icon,.risk-danger .risk-text{color:var(--color-danger)}.risk-warn{background:#d9770614}.risk-warn .risk-icon,.risk-warn .risk-text{color:var(--color-warning)}.risk-info{background:#2563eb14}.risk-info .risk-icon,.risk-info .risk-text{color:var(--color-accent)}[data-theme=dark] .risk-danger .risk-icon,[data-theme=dark] .risk-danger .risk-text{color:#fca5a5}[data-theme=dark] .risk-warn .risk-icon,[data-theme=dark] .risk-warn .risk-text{color:#fcd34d}[data-theme=dark] .risk-info .risk-icon,[data-theme=dark] .risk-info .risk-text{color:#93c5fd}.risk-text{white-space:nowrap}.risk-clickable{cursor:pointer;transition:filter .15s}.risk-clickable:hover{filter:brightness(.92)}.risk-detail-list{display:flex;flex-direction:column;gap:0}.risk-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.risk-detail-row:last-child{border-bottom:none}.risk-detail-name{font-weight:600;font-size:.85rem}.risk-detail-info{font-size:.75rem;color:var(--color-text-muted);text-align:right;flex-shrink:0}.risk-detail-link{color:var(--color-accent);cursor:pointer;text-decoration:none}.risk-detail-link:hover{text-decoration:underline}.funding-bar-track{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.funding-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.fy-timeline{display:flex;gap:3px;width:100%}.fy-quarter{flex:1;min-width:0}.fy-label{display:block;font-size:.5rem;font-weight:600;color:var(--text-secondary);opacity:.7;text-align:center;margin-bottom:.15rem}.fy-quarter-current .fy-label{opacity:1;color:var(--color-accent)}.fy-quarter-track{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.fy-quarter-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .5s ease}.fy-months{display:flex;justify-content:space-between;margin-top:.15rem}.fy-month-label{font-size:.45rem;color:var(--text-secondary);opacity:.7;flex:1;text-align:center;text-transform:uppercase;letter-spacing:.03em}.fy-quarter-current .fy-month-label{opacity:1;color:var(--color-accent)}.archive-view-btn{display:flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:.75rem;font-weight:500;padding:.3rem .75rem;transition:all .15s}.archive-view-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.archive-back-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.85rem;font-weight:500;padding:.25rem 0}.archive-back-btn:hover{text-decoration:underline}.archive-view{display:flex;flex-direction:column;gap:1.5rem;padding-top:.25rem}.archive-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--text-secondary)}.archive-empty svg{opacity:.3}.archive-empty p{margin:0;font-size:.9rem}.archive-empty-hint{font-size:.8rem!important;opacity:.7}.archive-quarter-group{display:flex;flex-direction:column;gap:.6rem}.archive-quarter-header{display:flex;align-items:baseline;gap:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border-subtle)}.archive-quarter-label{font-size:1rem;font-weight:700;color:var(--color-text)}.archive-quarter-count{font-size:.8rem;color:var(--text-secondary)}.archive-bl-group{margin-top:.75rem}.archive-bl-header{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.4rem;padding-left:.25rem}.archive-bl-count{font-weight:400;font-size:.75rem;color:var(--text-secondary)}.archive-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.6rem}.archive-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:8px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem}.archive-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.archive-card-name{font-weight:600;font-size:.88rem;color:var(--color-text)}.archive-restore-btn{display:flex;align-items:center;gap:.3rem;background:none;border:1px solid var(--color-border-subtle);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:.72rem;padding:.2rem .5rem;transition:all .15s;white-space:nowrap}.archive-restore-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.archive-card-meta{display:flex;flex-wrap:wrap;gap:.4rem}.archive-card-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary);background:var(--color-bg);padding:.15rem .45rem;border-radius:4px}.archive-card-links{display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.25rem;border-top:1px solid var(--color-border-subtle)}.archive-card-links a{display:inline-flex;align-items:center;gap:.25rem;font-size:.73rem;color:var(--color-accent);text-decoration:none}.archive-card-links a:hover{text-decoration:underline}.capacity-section{margin-bottom:2rem}.capacity-section h3{font-size:1.1rem;margin-bottom:1rem}.assignment-form{display:grid;grid-template-columns:2fr 2fr 120px auto;gap:.75rem;margin-bottom:1rem}.assignment-form select,.assignment-form input{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);color:var(--color-text);padding:.55rem .7rem}.assignment-list{display:flex;flex-direction:column;gap:.5rem}.assignment-row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--color-border);border-radius:8px;padding:.6rem .7rem;background:var(--color-bg-secondary)}.assignment-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.assignment-edit{display:inline-flex;align-items:center;gap:.35rem}.assignment-percent-input{width:72px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);padding:.25rem .45rem}.assignment-designer{font-weight:600}.assignment-project{color:var(--color-text-muted)}.assignment-percent{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:600}.assignment-empty{color:var(--color-text-muted)}.designer-hours-row{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem}.hours-input{width:72px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);padding:.3rem .45rem}.capacity-mini-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:6px;padding:.28rem .5rem;font-size:.75rem;cursor:pointer}.designers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.designer-card{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.designer-card.over-capacity{border-color:#ef4444;background:#ef44441a}.designer-name{font-weight:600;margin-bottom:.25rem}.designer-hours{font-size:.8rem;color:var(--color-text-muted);line-height:1.1}.designer-utilization{display:flex;align-items:center;gap:.5rem}.utilization-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.utilization-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.utilization-fill.over{background:#ef4444}.over-text{color:#ef4444;font-size:.8rem;font-weight:600}.capacity-quick-add{display:none}.quick-add-label{font-size:.9rem;color:var(--color-text-muted);font-weight:500}.quick-add-select,.quick-add-input{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.quick-add-select{min-width:140px}.quick-add-input{width:60px}.capacity-designer-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:12px 16px;background:var(--color-bg-secondary);border-radius:8px}.capacity-filter-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.capacity-help-btn{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.2rem;display:flex;align-items:center;opacity:.5;transition:opacity .15s ease}.capacity-help-btn:hover{opacity:1}.capacity-help-modal{max-width:560px;padding:0;overflow:hidden}.capacity-help-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.capacity-help-header h2{margin:0;font-size:1rem;font-weight:600}.capacity-help-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.4rem;line-height:1;padding:.2rem .4rem;border-radius:4px}.capacity-help-close:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.capacity-help-content{padding:1.25rem 1.5rem;overflow-y:auto;max-height:70vh}.capacity-help-content h3{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:1.5rem 0 .5rem;color:var(--color-text)}.capacity-help-content h3:first-child{margin-top:0}.capacity-help-content p{font-size:.82rem;color:var(--color-text-muted);margin:0 0 .5rem;line-height:1.6}.capacity-help-content ul{font-size:.82rem;color:var(--color-text-muted);margin:0 0 .5rem;padding-left:1.2rem;line-height:1.7}.capacity-help-content li{margin-bottom:.3rem}.designer-cards-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:900px){.designer-cards-grid{grid-template-columns:repeat(3,1fr)}}.designer-expandable-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;background:var(--color-bg-secondary)}.designer-expandable-card:hover{border-color:var(--color-border-hover)}.designer-expandable-card.over-capacity{border-color:var(--color-danger)}.designer-expandable-card.excluded{opacity:.3}.designer-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem}.designer-col-info{display:flex;flex-direction:column;gap:0;min-width:0;flex:1;overflow:hidden}.designer-name{font-weight:600;font-size:.85rem;display:flex;gap:.25rem;white-space:nowrap}.designer-name .first-name{flex-shrink:0}.designer-name .last-name{overflow:hidden;text-overflow:ellipsis}.designer-hours{font-size:.8rem;color:var(--color-text-muted)}.hours-edit{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--color-border);flex-wrap:wrap}.hours-edit-left{display:flex;align-items:center;gap:.5rem}.hours-edit-left label,.hours-edit .exclude-label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap}.exclude-group{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.designer-mini-gauge{position:relative;width:72px;height:44px;flex-shrink:0}.mini-gauge-svg{width:100%;height:100%;display:block}.mini-gauge-text{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;line-height:1;pointer-events:none}.mini-gauge-pct{font-size:.8rem;font-weight:700}.mini-gauge-hours{font-size:.6rem;color:var(--color-text-muted)}.designer-card-body{padding:0 1rem 1rem;border-top:1px solid var(--color-border);background:var(--color-bg)}.no-assignments{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.assignment-chips{display:flex;flex-direction:column;gap:0}.assignment-chips-blocked{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;margin-top:1rem;border-top:1px dashed #ef4444}.chips-blocked-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ef4444}.assignment-chip.chip-blocked .chip-hours-label{color:var(--color-text-muted);font-style:italic}.assignment-chips-review{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;margin-top:1rem;border-top:1px dashed #f59e0b}.chips-review-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f59e0b}.assignment-chips-done{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--color-border)}.chips-done-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);opacity:.6}.assignment-chip.chip-done{opacity:.45}.assignment-chip.chip-done .chip-slider{opacity:.4;cursor:not-allowed}.assignment-chip{padding:0 0 .8rem}.assignment-chip+.assignment-chip{border-top:1px solid var(--color-border);padding-top:.5rem}.chip-header{display:flex;align-items:flex-start;gap:.35rem}.chip-project-link{flex:1;font-size:.8rem;font-weight:600;color:inherit;cursor:pointer;line-height:1.3}.chip-project-link:hover{text-decoration:underline}.chip-hours-badge{font-size:.7rem;font-weight:700;white-space:nowrap;flex-shrink:0;width:36px;text-align:right;line-height:1.3}.chip-delete{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-muted);opacity:.25;display:flex;align-items:center;flex-shrink:0;transition:opacity .15s,color .15s;margin-top:1px}.chip-delete:hover{opacity:1;color:#ef4444}.chip-slider-row{margin-top:.5rem;margin-bottom:.35rem;padding:.3rem 0}.chip-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;border-radius:2px;outline:none;cursor:pointer;display:block;touch-action:none}.chip-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent}.chip-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);box-shadow:0 1px 3px #0003;margin-top:-5px}.chip-slider::-moz-range-track{height:4px;border-radius:2px;background:transparent}.chip-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);box-shadow:0 1px 3px #0003}.chip-slider:disabled{opacity:.3;cursor:not-allowed}.chip-est{display:flex;align-items:center;gap:.2rem;font-size:.6rem;color:var(--color-text-muted);margin-top:.2rem;line-height:1}.chip-allocation-summary{font-size:.6rem;color:var(--color-text-muted);margin-top:.3rem;line-height:1}.chip-alloc-over{color:#ef4444}.chip-alloc-under{color:#f59e0b}.chip-phases{display:flex;flex-wrap:wrap;gap:.05rem .4rem;margin-top:.3rem;line-height:1}.chip-phase{font-size:.55rem;color:var(--color-text-muted);white-space:nowrap}.chip-phase-hrs{font-weight:600;color:var(--color-text)}.chips-column-header{display:none}.inline-add-controls{display:flex;align-items:center;gap:.4rem;margin-top:.25rem}.inline-add-save{padding:.25rem .6rem;border:none;border-radius:4px;background:var(--color-accent);color:#fff;font-size:.75rem;font-weight:600;cursor:pointer}.inline-add-save:hover{opacity:.85}.load-heatmap{padding-top:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.load-heatmap-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600;margin-bottom:.35rem}.load-heatmap-weeks{display:flex;gap:2px;height:32px;align-items:flex-end;overflow:hidden}.load-week{flex:1;position:relative;height:100%;display:flex;align-items:flex-end;border-radius:2px 2px 0 0;background:var(--color-bg-primary)}.load-week-current{outline:1.5px solid var(--color-text);outline-offset:-1px;border-radius:2px}.load-week-fill{width:100%;max-height:100%;border-radius:2px 2px 0 0;transition:height .3s ease;min-height:1px}.load-week-dot{position:absolute;top:0;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-danger, #ef4444);border:1px solid var(--color-bg-secondary)}.load-heatmap-axis{display:flex;gap:2px;margin-top:.2rem}.load-heatmap-month{font-size:.5rem;color:var(--color-text-muted);opacity:.7;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-add{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border);flex-wrap:wrap}.inline-add-select{flex:1;min-width:120px;max-width:200px;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.inline-add-input{width:50px;min-width:45px;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.inline-add-btn{padding:.35rem .75rem;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer}.hours-edit-input{width:55px;padding:.25rem .4rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text);font-size:.85rem}.hours-save{padding:.25rem .5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;cursor:pointer}.hours-save:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.projects-grid,.team-grid,.calendar-view,.capacity-page,.notes-page{width:100%;max-width:1400px;margin:0 auto}.reports-page{width:100%;max-width:1000px;margin:0 auto}.reports-locked-banner{text-align:center;padding:1.25rem;margin-bottom:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-muted);font-size:.85rem}.reports-locked-icon{display:block;font-size:1.5rem;margin-bottom:.5rem}.reports-locked-banner p{margin:0}.reports-grid{display:flex;flex-direction:column;gap:1rem}.reports-grid.reports-disabled{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}.report-card{display:flex;align-items:flex-start;gap:1.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.125rem 1.25rem;transition:border-color .15s ease,box-shadow .15s ease}.report-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.report-card-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent)}.report-card-body{flex:1;min-width:0}.report-card-title{font-size:.9375rem;font-weight:600;margin:0 0 .2rem;color:var(--color-text);letter-spacing:-.01em}.report-card-desc{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 .3rem;line-height:1.5}.report-card-stats{font-size:.6875rem;color:var(--color-accent);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.report-generate-btn{flex-shrink:0;display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1.5px solid;border-radius:8px;background:transparent;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.report-generate-btn:hover{background:var(--color-bg-primary)}.report-generate-btn:disabled{opacity:.6;cursor:not-allowed}.report-doc-actions{flex-shrink:0;display:flex;flex-direction:column;gap:.4rem}a.report-view-btn{text-decoration:none;justify-content:center}.report-modal{max-width:700px;width:90vw;max-height:80vh;display:flex;flex-direction:column}.report-modal .modal-header{padding:1rem 1.25rem}.report-modal .modal-header h2{font-size:1rem}.report-modal-actions{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.report-modal-copy-btn{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-muted);cursor:pointer;font-size:.78rem;font-weight:500;padding:.3rem .65rem;transition:all .15s}.report-modal-copy-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.report-modal .modal-body{padding:0}.report-modal-content{margin:0;padding:1rem 1.25rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.78rem;line-height:1.6;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.rr{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.rr-date{font-size:.78rem;color:var(--text-secondary);letter-spacing:.02em}.rr-status-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px}.rr-bar-segment{border-radius:2px;transition:flex .3s ease}.rr-status-legend{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.78rem;color:var(--text-secondary)}.rr-legend-item{display:flex;align-items:center;gap:.3rem}.rr-legend-item strong{color:var(--color-text)}.rr-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rr-legend-total{margin-left:auto;font-weight:600;color:var(--color-text)}.rr-section{display:flex;flex-direction:column;gap:.4rem}.rr-section-header{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.rr-section-header.rr-section-danger{color:var(--color-danger, #ef4444)}.rr-section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rr-section-count{font-weight:500;opacity:.6;font-size:.75rem}.rr-table{width:100%;border-collapse:collapse;font-size:.8rem}.rr-table thead th{text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:.35rem .5rem;border-bottom:1px solid var(--color-border-subtle)}.rr-table tbody td{padding:.4rem .5rem;border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.rr-table tbody tr:last-child td{border-bottom:none}.rr-cell-name{font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.4rem}.rr-cell-dim{color:var(--text-secondary)}.rr-cell-warn{color:var(--color-warning, #f59e0b);font-style:italic;font-size:.75rem}.rr-cell-danger{color:var(--color-danger, #ef4444)!important;font-weight:600}.rr-overdue-badge{display:inline-flex;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb,var(--color-danger, #ef4444) 15%,transparent);color:var(--color-danger, #ef4444);padding:.1rem .35rem;border-radius:3px}.rr-row-overdue{background:color-mix(in srgb,var(--color-danger, #ef4444) 5%,transparent)}.rr-section-header-row{display:flex;align-items:center;justify-content:space-between}.rr-copy-section{display:flex;align-items:center;gap:.25rem;background:none;border:1px solid var(--color-border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:.2rem .45rem;transition:all .15s;opacity:0}.rr-section:hover .rr-copy-section{opacity:1}.rr-copy-section:hover{border-color:var(--color-accent);color:var(--color-accent)}.rr-update-list{display:flex;flex-direction:column;gap:.5rem}.rr-update-card{position:relative;padding:.6rem .75rem;border-radius:6px;border-left:3px solid transparent;display:flex;flex-direction:column;gap:.2rem}.rr-copy-entry{position:absolute;top:.4rem;right:.4rem;background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.rr-update-card:hover .rr-copy-entry,.rr-general-item:hover .rr-copy-entry{opacity:1}.rr-copy-entry:hover{border-color:var(--color-accent);color:var(--color-accent)}.rr-update-highlight{background:color-mix(in srgb,#22c55e 6%,var(--color-bg-elevated));border-left-color:#22c55e}.rr-update-lowlight{background:color-mix(in srgb,#ef4444 6%,var(--color-bg-elevated));border-left-color:#ef4444}.rr-update-fyi{background:color-mix(in srgb,#f59e0b 6%,var(--color-bg-elevated));border-left-color:#f59e0b}.rr-update-people{background:color-mix(in srgb,#8b5cf6 6%,var(--color-bg-elevated));border-left-color:#8b5cf6}.rr-update-brand{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.rr-update-project{font-size:.85rem;font-weight:600;color:var(--color-text)}.rr-update-meta-line{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--color-text-muted);margin-top:.15rem}.rr-size-pill{display:inline-flex;align-items:center;padding:.05rem .4rem;border-radius:99px;background:var(--color-bg-tertiary);font-size:.65rem;font-weight:600;color:var(--color-text-secondary)}.rr-update-desc{font-size:.8rem;color:var(--color-text);line-height:1.5}.rr-update-desc div+div,.rr-update-risk div+div,.rr-update-resolution div+div{margin-top:1em}.rr-update-desc div:empty,.rr-update-risk div:empty,.rr-update-resolution div:empty{min-height:1em}.rr-update-risk{font-size:.78rem;color:var(--color-danger, #ef4444);line-height:1.5}.rr-update-resolution{font-size:.78rem;color:var(--color-warning, #f59e0b);line-height:1.5}.rr-update-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem 0;line-height:1.6;margin-top:-.1rem;margin-bottom:.8rem}.rr-update-links>span{white-space:nowrap}.rr-update-links a{font-size:.7rem;color:var(--color-accent);text-decoration:none}.rr-update-links a:hover{text-decoration:underline}.rr-link-sep{font-size:.65rem;color:var(--color-text-muted);margin:0 .15rem}.rr-update-author{font-size:.7rem;color:var(--text-secondary);align-self:flex-end}.rr-general-list{display:flex;flex-direction:column;gap:.25rem}.rr-general-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem;padding:.3rem .5rem;background:var(--color-bg-elevated);border-radius:4px}.rr-general-author{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.rr-empty{font-size:.78rem;color:var(--text-secondary);font-style:italic;padding:.25rem 0}.rr-subtitle{font-size:.75rem;color:var(--color-text-muted);margin-top:-.25rem;margin-bottom:.5rem}.rr-divider{border-top:1px solid var(--color-border-subtle);margin:.75rem 0}.rr-active-group{margin-bottom:1rem}.rr-active-group-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-dim);padding:.3rem 0 .15rem}.rr-active-row{display:flex;flex-direction:column;gap:.1rem;padding:.5rem 0;font-size:.7rem;color:var(--color-text-secondary)}.rr-active-row-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rr-active-name{font-weight:600;color:var(--color-text)}.rr-update-designers,.rr-active-designers{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-text-muted)}.rr-active-due{color:var(--color-text-muted)}.rr-active-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem 0;line-height:1.6;padding-left:.1rem}.rr-active-links>span{white-space:nowrap}.rr-active-links a{font-size:.65rem;color:var(--color-accent);text-decoration:none}.rr-active-links a:hover{text-decoration:underline}.rr-done-list{display:flex;flex-wrap:wrap;gap:.35rem}.rr-done-chip{font-size:.78rem;color:var(--text-secondary);background:var(--color-bg);border:1px solid var(--color-border-subtle);padding:.2rem .55rem;border-radius:4px}.weekly-inline{padding:0;display:flex;flex-direction:column;border-top:1px solid var(--color-border-subtle)}.weekly-inline-badges{display:flex;flex-direction:column;gap:.2rem}.weekly-badge{font-size:.73rem;padding:.2rem .5rem;border-radius:4px;line-height:1.4}.weekly-badge-highlight{background:color-mix(in srgb,#22c55e 10%,transparent);color:#16a34a;border-left:3px solid #22c55e}.weekly-badge-lowlight{background:color-mix(in srgb,#ef4444 10%,transparent);color:#dc2626;border-left:3px solid #ef4444}.weekly-inline-toggle{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:500;font-family:inherit;color:var(--color-text-muted);padding:.6rem 1.25rem;transition:color .15s}.weekly-inline-toggle:hover{color:var(--color-text)}.weekly-inline-toggle.has-update{color:var(--color-text-secondary)}.weekly-inline-form{display:flex;flex-direction:column;gap:.35rem;padding:0 1.5rem .75rem}.weekly-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border-subtle);margin-bottom:.25rem}.weekly-tab{display:flex;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.72rem;font-weight:400;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;position:relative}.weekly-tab:hover{color:var(--color-text)}.weekly-tab-highlight:hover{color:#16a34a}.weekly-tab-lowlight:hover{color:#dc2626}.weekly-tab-fyi:hover{color:#2563eb}.weekly-tab-people:hover{color:#9333ea}.weekly-tab-icon{display:flex;align-items:center}.weekly-tab-highlight.active{color:#16a34a;border-bottom-color:#22c55e;font-weight:600}.weekly-tab-lowlight.active{color:#dc2626;border-bottom-color:#ef4444;font-weight:600}.weekly-tab-fyi.active{color:#2563eb;border-bottom-color:#3b82f6;font-weight:600}.weekly-tab-people.active{color:#9333ea;border-bottom-color:#a855f7;font-weight:600}.weekly-tab-body{display:flex;flex-direction:column;gap:.35rem}.rte-wrapper{position:relative;display:flex;flex-direction:column;gap:0}.rte-toolbar{display:flex;align-items:center;gap:.25rem;padding:.35rem .5rem;background:color-mix(in srgb,var(--color-bg) 92.5%,black);border:1px solid var(--color-border);border-radius:6px 6px 0 0;border-bottom:none}.rte-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--text-secondary);cursor:pointer;transition:all .15s}.rte-toolbar-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.rte-toolbar-btn.active{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-bg));border-color:var(--color-accent);color:var(--color-accent)}.rte-editor{outline:none;white-space:pre-wrap;word-wrap:break-word;cursor:text;overflow-y:auto;line-height:1.5;width:100%;padding:.5rem .6rem;font-size:.8rem;font-family:inherit;border:1px solid var(--color-border);border-radius:0 0 6px 6px;border-top:none;background:var(--color-bg);color:var(--color-text);resize:vertical;transition:border-color .15s,box-shadow .15s}.rte-editor:focus{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.rte-editor:empty:before{content:attr(data-placeholder);color:var(--text-secondary);opacity:.6;pointer-events:none;font-style:italic}.rte-editor div+div{margin-top:.25em}.rte-editor strong{font-weight:600}.rte-bullet{position:relative}.rte-bullet:before{content:"•";position:absolute;left:0;color:var(--color-text-muted);font-weight:700}.rte-bullet[data-indent="0"]{padding-left:1em}.rte-bullet[data-indent="0"]:before{left:0}.rte-bullet[data-indent="1"]{padding-left:2.2em}.rte-bullet[data-indent="1"]:before{left:1.2em;content:"◦"}.rte-bullet[data-indent="2"]{padding-left:3.4em}.rte-bullet[data-indent="2"]:before{left:2.4em;content:"▪"}.rte-bullet[data-indent="3"]{padding-left:4.6em}.rte-bullet[data-indent="3"]:before{left:3.6em;content:"•"}.rte-link-anchor{position:relative;display:flex}.rte-link-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;flex-direction:column;gap:.3rem;padding:.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 20px #00000040;min-width:220px}.rte-link-input{padding:.35rem .5rem;font-size:.78rem;font-family:inherit;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text)}.rte-link-input:focus{outline:none;border-color:var(--color-accent)}.rte-link-add-btn{width:100%;padding:.3rem .5rem;font-size:.75rem;font-weight:500;border:none;border-radius:4px;background:var(--color-accent);color:#fff;cursor:pointer;transition:opacity .15s}.rte-link-add-btn:hover:not(:disabled){opacity:.85}.rte-link-add-btn:disabled{opacity:.4;cursor:default}.rte-quick-links{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-left:.25rem}.rte-quick-link{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-family:inherit;color:var(--color-accent);text-decoration:none;padding:.15rem .4rem;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:4px;cursor:pointer;transition:all .15s}.rte-quick-link:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-bg))}.rte-resize-handle{height:8px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;margin-top:2px;opacity:.4;transition:opacity .15s}.rte-resize-handle:hover{opacity:.8}.rte-resize-handle:after{content:"";display:block;width:32px;height:3px;border-radius:2px;background:var(--color-text-dim)}.rte-float-field{position:relative}.rte-float-label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.03em;color:var(--color-text-dim);margin-bottom:.35rem}.review-item-rte .rte-toolbar{padding:5px;gap:.15rem}.review-item-rte .rte-toolbar-btn{width:20px;height:20px}.review-item-rte .rte-editor{padding:.3rem .5rem;font-size:.75rem;line-height:1.45;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;min-height:3.8625rem}.review-item-rte .rte-editor:focus{border-color:var(--color-accent, #3b82f6)}.review-description-rte .rte-editor{font-size:.8125rem;line-height:1.55;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;border-top:none;border-radius:0 0 6px 6px;padding:.35rem .5rem;min-height:2.5rem}.review-description-rte .rte-editor:hover{border-color:var(--color-border);background:var(--color-bg-tertiary)}.review-description-rte .rte-editor:focus{border-color:var(--color-accent);background:var(--color-bg-tertiary);box-shadow:var(--shadow-glow)}.weekly-pending-rte .rte-editor{padding:.3rem .5rem;font-size:.75rem;line-height:1.45;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;min-height:3.8625rem}.weekly-pending-rte .rte-editor:focus{border-color:var(--color-accent, #3b82f6)}.weekly-pending-rte .rte-toolbar{padding:5px;gap:.15rem}.weekly-pending-rte .rte-toolbar-btn{width:20px;height:20px}.weekly-lowlight-extras{display:flex;flex-direction:column;gap:.35rem}.weekly-field{display:flex;flex-direction:column;gap:.15rem}.weekly-field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.weekly-field-highlight{color:color-mix(in srgb,#22c55e 70%,var(--text-secondary))}.weekly-field-lowlight{color:color-mix(in srgb,#ef4444 60%,var(--text-secondary))}.weekly-field-fyi{color:color-mix(in srgb,#3b82f6 70%,var(--text-secondary))}.weekly-field-people{color:color-mix(in srgb,#a855f7 70%,var(--text-secondary))}.weekly-field-risk{color:color-mix(in srgb,#ef4444 70%,var(--text-secondary))}.weekly-field-resolution{color:color-mix(in srgb,#f59e0b 70%,var(--text-secondary))}.weekly-field-links{color:var(--text-secondary)}.weekly-no-links{font-size:.72rem;color:var(--text-secondary);font-style:italic}.weekly-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.weekly-delete-btn{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--text-secondary);font-size:.72rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px}.weekly-delete-btn:hover{color:var(--color-danger, #ef4444);background:color-mix(in srgb,var(--color-danger, #ef4444) 8%,transparent)}.weekly-done-btn{font-size:.73rem;font-weight:500;padding:.25rem .6rem;border:1px solid var(--color-accent);border-radius:5px;background:transparent;color:var(--color-accent);cursor:pointer}.weekly-done-btn:hover{background:var(--color-accent);color:#fff}.weekly-inline-link{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-weight:500}.weekly-inline-link:hover{opacity:.8}.report-card-has-history{flex-wrap:wrap}.weekly-pending-panel{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0 .25rem}.weekly-pending-section{display:flex;flex-direction:column;gap:.3rem}.weekly-pending-header{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.snapshot-accordion{width:100%;border-top:1px solid var(--color-border-subtle);padding-top:.5rem;margin-top:.25rem}.snapshot-accordion-toggle{display:flex;align-items:center;gap:.35rem;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:.2rem 0;transition:color .15s}.snapshot-accordion-toggle:hover{color:var(--color-accent)}.snapshot-accordion-body{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem;max-height:240px;overflow-y:auto;padding-right:.25rem}.snapshot-item{display:flex;justify-content:space-between;align-items:center;padding:.35rem .6rem;border-radius:5px;border:1px solid var(--color-border-subtle);background:var(--color-bg-secondary);cursor:pointer;font-family:inherit;font-size:.75rem;color:var(--color-text);transition:background .15s,border-color .15s}.snapshot-item:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.snapshot-week{font-weight:600}.snapshot-date{color:var(--color-text-secondary);font-size:.7rem}.report-copied-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;box-shadow:var(--shadow-xl);z-index:9999;animation:toast-in .3s cubic-bezier(.16,1,.3,1)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.team-card,.calendar-panel,.capacity-stat-card,.designer-card,.day-modal{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.team-card,.capacity-stat-card,.designer-card{background:var(--color-bg-secondary)}.icon-btn,.primary-btn,.modal-actions .secondary-btn,.modal-actions .primary-btn,.action-btn,.sort-btn,.filter-pill,.filter-toggle{min-height:32px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.summary-stat-value,.capacity-stat-value,.due-date{font-variant-numeric:tabular-nums}.tooltip-trigger{display:inline-flex;position:relative}.tooltip-trigger:hover{background:var(--color-border);color:var(--color-text)}.tooltip-floating{position:relative;z-index:99999}.tooltip-content{position:relative;padding:6px 10px;background:var(--color-bg);border:1px solid #f59e0b;border-radius:4px;font-size:.7rem;color:#f59e0b;white-space:nowrap;box-shadow:var(--shadow-md)}.tooltip-arrow{position:absolute;width:14px;height:14px;background:var(--color-bg);border:1px solid #f59e0b;transform:translate(-50%) translateY(-50%) rotate(45deg);z-index:99998;pointer-events:none;box-sizing:border-box}.tooltip-arrow-down{border-top:none;border-left:none;box-shadow:var(--shadow-sm)}.tooltip-arrow-up{border-bottom:none;border-right:none;box-shadow:var(--shadow-sm)}.settings-page{padding:0;max-width:900px;display:flex;flex-direction:column;gap:24px}.settings-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.settings-admin-only{border:1px solid #ef4444}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.settings-header h2{font-size:1.25rem;color:var(--color-text)}.settings-empty{color:var(--color-text-muted);font-size:.875rem;padding:20px;text-align:center}.business-lines-list{display:flex;flex-direction:column;gap:12px}.business-line-card{background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:16px}.business-line-card .project-attached-images{padding:.5rem 0 0;border-top:none}.business-line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.business-line-header h3{font-size:1rem;color:var(--color-text)}.business-line-actions{display:flex;gap:8px}.business-line-links{display:flex;flex-direction:column;gap:.25rem}.no-links{color:var(--color-text-muted);font-size:.75rem;font-style:italic}.hidden-notes-list{display:flex;flex-direction:column;gap:12px}.hidden-note-card{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.hidden-note-info h3{margin:0 0 4px;font-size:.95rem;font-weight:500}.hidden-note-date{font-size:.75rem;color:var(--color-text-muted)}.hidden-note-actions{display:flex;gap:8px}.hidden-note-actions .action-btn{display:flex;align-items:center;gap:4px;font-size:.8rem}.pin-input-container{margin:16px 0}.pin-input{width:100%;padding:12px;font-size:1.2rem;text-align:center;letter-spacing:.3em;border:2px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text)}.pin-input:focus{outline:none;border-color:var(--color-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-close-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--color-text-dim);padding:0;flex-shrink:0;border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:var(--color-text);background:var(--color-hover-subtle)}.modal-header h2{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.02em}.modal-duplicate-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;font-family:inherit;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease}.modal-duplicate-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.modal-body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.5rem;flex-shrink:0}.modal-footer .secondary-btn{padding-left:1.5rem;padding-right:1.5rem}.form-section{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section-title{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.6rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.form-label-hint{font-weight:400;font-size:.75rem;color:var(--color-text-muted)}.timeline-list{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;padding:.5rem}.timeline-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-bg-secondary);border-radius:6px;border:1px solid var(--color-border)}.drag-handle{cursor:grab;color:var(--color-text-muted);font-size:1rem;padding:0 .5rem;-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-handle:active{cursor:grabbing}.timeline-info{flex:1;display:flex;flex-direction:column}.search-modal-v2{width:640px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.search-modal-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.search-input-container{display:flex;align-items:center;gap:.75rem;flex:1}.search-input-icon{color:var(--color-text-muted);flex-shrink:0}.search-input-v2{flex:1;background:transparent;border:none;color:var(--color-text);font-size:1rem;padding:.5rem 0;outline:none}.search-input-v2:focus{outline:none;box-shadow:none}.search-input-v2::placeholder{color:var(--color-text-muted)}.search-close-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-close-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.search-results-v2{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:1rem}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--color-text-muted)}.search-empty-icon{margin-bottom:.75rem;opacity:.2}.search-loading-indicator{width:28px;height:28px;border:2.5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:.75rem}.search-empty-state p{margin:0 0 .5rem;font-size:.95rem;color:var(--color-text)}.search-no-results{color:var(--color-text-muted)!important}.search-empty-hint{font-size:.8rem;opacity:.7}.search-result-group{display:flex;flex-direction:column;gap:.35rem}.search-group-header{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.search-result-card{display:flex;flex-direction:column;padding:.625rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.search-result-card:hover{border-color:var(--color-border-hover);background:var(--color-hover-subtle)}.search-result-main{display:flex;flex-direction:column;gap:.15rem}.search-result-title{font-size:.9rem;font-weight:500;color:var(--color-text);line-height:1.3}.search-result-subtitle{font-size:.75rem;color:var(--color-text-muted);line-height:1.3}.search-result-card-team{flex-direction:row;align-items:center;gap:.75rem}.search-result-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent-subtle);border:1px solid var(--color-accent);color:var(--color-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.search-result-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.search-result-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.search-result-status.online{background:#22c55e;box-shadow:0 0 0 2px var(--color-bg-secondary),0 0 0 3px #22c55e}.search-result-status.away{background:#f59e0b;box-shadow:0 0 0 2px var(--color-bg-secondary),0 0 0 3px #f59e0b}.search-result-status.offline{background:var(--color-text-muted);box-shadow:0 0 0 2px var(--color-bg-secondary),0 0 0 3px var(--color-text-muted)}.search-result-links{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.search-result-link{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem 0;color:var(--color-text-muted);font-size:.7rem;text-decoration:none;transition:color .15s ease}.search-result-link:hover{color:var(--color-accent)}.search-result-link:hover span{text-decoration:underline}.search-footer{padding:.75rem 1.25rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);display:flex;justify-content:flex-end}@media(max-width:768px){.search-modal-v2{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;position:fixed;inset:0}.search-modal-header{padding:1rem;position:sticky;top:0;z-index:10}.search-input-v2{font-size:1.125rem;padding:.75rem 0}.search-results-v2{padding:.5rem;-webkit-overflow-scrolling:touch}.search-result-card{padding:1rem;min-height:60px;touch-action:manipulation}.search-result-title{font-size:1rem}.search-result-subtitle{font-size:.875rem;margin-top:.25rem}.search-group-header{padding:.75rem .5rem;font-size:.75rem}.search-empty-state{padding:2rem 1rem}.search-empty-state p{font-size:1rem}.search-empty-hint{font-size:.875rem}.search-close-btn{width:44px;height:44px;font-size:1.5rem}.search-result-card:active{background:var(--color-bg-tertiary);transform:scale(.99)}.modal-overlay{padding:0!important;align-items:flex-start!important}.note-edit-modal{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;position:fixed;inset:0}.note-edit-header{padding:1rem;position:sticky;top:0;background:var(--color-bg);z-index:10}.note-edit-body{padding:1rem;-webkit-overflow-scrolling:touch}.note-edit-field{margin-bottom:1rem}.note-edit-tags{max-height:150px;overflow-y:auto;-webkit-overflow-scrolling:touch}.note-edit-footer{padding:1rem;position:sticky;bottom:0;background:var(--color-bg);border-top:1px solid var(--color-border)}.note-edit-footer .primary-btn,.note-edit-footer .secondary-btn{flex:0;width:fit-content;padding:.5rem .75rem;font-size:.875rem;min-height:44px}.note-edit-footer .danger-btn-text{flex:0!important;width:fit-content!important;min-width:auto!important;padding:.5rem .75rem;border-radius:6px!important;background-color:#dc2626!important;color:#fff!important;border:none!important;cursor:pointer;font-weight:500}}@media(min-width:769px)and (max-width:1024px){.search-modal-v2{max-width:85vw;max-height:85vh}}.search-modal-v2{animation:searchModalSlideIn .2s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-xl)}@keyframes searchModalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.search-input-v2{width:100%}.search-filter-pills{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.search-filter-pill{padding:.375rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);transition:all .15s ease}.search-filter-pill.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.search-filter-pill:hover:not(.active){border-color:var(--color-primary);color:var(--color-primary)}.notes-page{padding:0}.notes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.notes-stats{display:flex;gap:.5rem;flex-wrap:wrap}.notes-stat-card{box-shadow:var(--shadow-sm)}.notes-stat-card .stat-value,.notes-stat-card .stat-label{color:var(--color-text)}.notes-actions{display:flex;gap:.5rem;align-items:center}.notes-filter-row{display:flex;gap:8px;align-items:center;padding:12px 16px;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.notes-filter-row .filter-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500;margin-right:4px}.secondary-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-size:.8125rem;font-weight:500;cursor:pointer;letter-spacing:-.01em}.secondary-btn:hover:not(:disabled){background:var(--color-hover-subtle);border-color:var(--color-border-hover)}.secondary-btn:disabled{opacity:.4;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notes-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.notes-search-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1;min-width:200px;max-width:400px;color:var(--color-text-muted)}.notes-search-bar input{background:transparent;border:none;color:var(--color-text);font-size:.85rem;width:100%;outline:none}.notes-filter-select{padding:.5rem .75rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.85rem;cursor:pointer;max-width:250px}.text-btn{background:none;border:none;color:var(--color-accent);font-size:.8rem;cursor:pointer;padding:.25rem .5rem}.text-btn:hover{text-decoration:underline}.notes-list{display:flex;flex-direction:column;gap:.75rem}.notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--color-text-muted);text-align:center}.note-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.875rem 1.125rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;position:relative}.note-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.note-card-title{font-size:.95rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.3}.note-card-date{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.note-card-preview{font-size:.8rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-meta{display:flex;flex-wrap:wrap;gap:.5rem}.note-card-tags{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;color:var(--color-text-muted)}.note-tag{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:500}.note-tag.project-tag{background:var(--color-tag-project-bg);color:var(--color-tag-project)}.note-tag.person-tag{background:var(--color-tag-person-bg);color:var(--color-tag-person)}.note-tag.raw-tag{background:var(--color-tag-raw-bg);color:var(--color-tag-raw)}.note-tag.clickable{cursor:pointer;border:none;transition:all .15s ease}.note-tag.clickable:hover{filter:brightness(1.3)}.note-tag-wrapper{display:inline-flex;align-items:center;margin-right:6px;margin-bottom:4px}.note-tag-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:14px;padding:0 4px;margin-left:2px;line-height:1}.note-tag-remove:hover{color:#dc2626}.note-detail-modal{max-width:640px;max-height:80vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.note-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.note-detail-header h2{font-size:1.1rem;font-weight:600;margin:0;line-height:1.4;flex:1}.note-close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s ease;flex-shrink:0;margin-top:-4px}.note-close-btn:hover{background:var(--color-hover-subtle);color:var(--color-text)}.note-detail-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto;flex:1}.note-detail-accordion-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;padding:0;margin:0 0 .5rem;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;transition:color .15s ease}.note-detail-accordion-toggle:hover{color:var(--color-text)}.note-detail-section{margin-bottom:1.25rem}.note-detail-section:last-child{margin-bottom:0}.note-summary-section .note-detail-content{max-height:none}.note-detail-section h4{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.note-detail-tags{display:flex;flex-wrap:wrap;gap:.35rem}.note-detail-content{font-size:.85rem;color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap;margin:0}.note-detail-source{font-size:.75rem;color:var(--color-text-muted);word-break:break-all;margin:0}.note-steps-list{margin:0;padding-left:1.25rem;list-style-type:disc}.note-steps-list li{font-size:.85rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:.6rem;display:list-item}.note-steps-list li::marker{color:var(--color-text-muted)}.note-steps-list li:last-child{margin-bottom:0}.note-next-steps{display:flex;flex-direction:column;gap:.5rem}.note-next-step-item{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5;padding-left:1rem;position:relative}.note-next-step-item:before{content:"•";position:absolute;left:.25rem;color:var(--color-text-muted)}.note-details-list{margin:.5rem 0 0;padding-left:1.25rem}.note-details-list li{font-size:.85rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:.5rem}.note-details-list li:last-child{margin-bottom:0}.note-attachments{display:flex;flex-direction:column;gap:.5rem}.note-attachment-link{font-size:.85rem;color:var(--color-text-link);text-decoration:none;line-height:1.5;word-break:break-all}.note-attachment-link:hover{text-decoration:underline}.note-attachment-text{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.nav-badge-beta{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--color-danger);color:#fff;padding:2px 5px;border-radius:9999px;line-height:1;margin-left:auto}.nav-item.active .nav-badge-beta{background:#fff3;color:#fff}.note-full-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .7rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.note-full-toggle:hover{background:var(--color-hover-subtle);color:var(--color-text)}.note-full-content{margin-top:.5rem;padding:.75rem;background:var(--color-inset-bg);border-radius:var(--radius-sm);max-height:400px;overflow-y:auto}.note-edit-modal{max-width:560px;max-height:85vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.note-edit-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.note-edit-header h2{font-size:1.1rem;font-weight:600;margin:0}.note-detail-actions{display:flex;align-items:center;gap:.5rem}.note-edit-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;background:var(--color-accent);color:#fff;border:none;cursor:pointer;transition:all .15s ease}.note-edit-btn:hover{background:var(--color-accent-hover)}.note-edit-body{padding:1.25rem;overflow-y:auto;flex:1}.note-edit-field{margin-bottom:1.25rem}.note-edit-field:last-child{margin-bottom:0}.note-edit-field label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.note-edit-field input[type=text],.note-edit-field input[type=date],.note-edit-field textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.note-edit-field input:focus,.note-edit-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-alpha)}.note-edit-field textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.note-edit-tags{display:flex;flex-wrap:wrap;gap:.5rem}.note-edit-tag-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all .15s ease}.note-edit-tag-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.note-edit-tag-btn.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.note-edit-empty{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.note-edit-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border);flex-shrink:0}.note-edit-footer .danger-btn-text{background:none!important;border:none!important;color:#dc2626!important;padding:.5rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;opacity:.8;transition:opacity .2s}.note-edit-footer .danger-btn-text:hover{opacity:1}.note-edit-footer .button-group{display:flex;gap:.5rem}.note-edit-footer .danger-btn-text:hover{background-color:#b91c1c}.note-edit-footer .secondary-btn{flex:0;width:fit-content;padding:.5rem .75rem;border-radius:6px}.note-edit-footer .primary-btn{flex:0;width:fit-content;padding:.5rem 1rem;border-radius:6px}.note-card-add-tags-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:500;background:var(--color-bg-subtle);color:var(--color-text-muted);border:1px dashed var(--color-border);cursor:pointer;transition:all .15s ease}.note-card-add-tags-btn:hover{background:var(--color-hover-subtle);color:var(--color-text);border-color:var(--color-accent)}.tag-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:.25rem;padding:0;border:none;border-radius:50%;background:var(--color-bg-inverse);color:var(--color-text-inverse);font-size:10px;line-height:1;cursor:pointer;opacity:.6;transition:opacity .15s ease}.tag-remove-btn:hover{opacity:1}.note-tag-selector{position:absolute;z-index:100;width:220px;max-height:300px;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.tag-selector-section h5{margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.tag-selector-list{display:flex;flex-direction:column;gap:.25rem}.tag-selector-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border:none;border-radius:4px;background:transparent;color:var(--color-text);font-size:.8rem;cursor:pointer;text-align:left;transition:background .15s ease}.tag-selector-item:hover{background:var(--color-hover-subtle)}.tag-selector-empty{font-size:.75rem;color:var(--color-text-muted);font-style:italic;padding:.25rem 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);background-image:radial-gradient(ellipse at top left,var(--body-gradient-1) 0%,transparent 50%),radial-gradient(ellipse at bottom right,var(--body-gradient-2) 0%,transparent 50%)}.login-spinner{font-size:1rem;color:var(--color-text-muted);letter-spacing:.02em}.login-container{background:var(--color-surface);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);width:100%;max-width:380px;text-align:center}.login-lockup{display:flex;align-items:center;gap:.625rem;margin-bottom:1.5rem;color:var(--color-accent)}.login-lockup h1{margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text)}.changelog-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-dim);padding:2px;margin-left:auto;display:flex;align-items:center;border-radius:50%;transition:color .15s}.changelog-toggle:hover{color:var(--color-primary)}.changelog-popover{text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.65rem .75rem .5rem;margin-bottom:.75rem}.changelog-title{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.35rem}.changelog-list{margin:0;padding:0 0 0 1rem;list-style:disc}.changelog-list li{font-size:.75rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.45rem}.changelog-list li:last-child{margin-bottom:0}.login-subtitle{color:var(--color-text-muted);font-size:.875rem;margin:.25rem 0 1.75rem}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-error{background:var(--color-error-bg);color:var(--color-error);padding:.625rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;text-align:left}.form-field input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;background:var(--color-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.form-field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-field input::placeholder{color:var(--color-text-dim)}.login-btn{width:100%;padding:.75rem;margin-top:.25rem;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;cursor:pointer;letter-spacing:-.01em}.login-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow)}.login-btn:active{transform:scale(.99)}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.user-info h3{margin:0;font-size:.95rem;font-weight:500}.user-role{font-size:.75rem;color:var(--color-text-muted);text-transform:capitalize}.user-actions{display:flex;gap:.5rem}.user-card .action-btn:disabled{opacity:.4;cursor:not-allowed}.settings-account-detail{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.settings-role-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .4rem;border-radius:4px;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-muted)}.settings-general-card{padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.settings-row+.settings-row{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.settings-version-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.theme-switch{background:none;border:none;padding:0;cursor:pointer}.theme-switch-track{position:relative;display:flex;align-items:center;width:48px;height:26px;border-radius:13px;background:var(--color-border);transition:background .25s ease;padding:0 4px;justify-content:space-between}[data-theme=dark] .theme-switch-track{background:var(--color-accent)}.theme-switch-thumb{position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .25s ease;box-shadow:0 1px 3px #0003}[data-theme=dark] .theme-switch-thumb{transform:translate(22px)}.theme-switch-icon{position:absolute;z-index:1;top:50%;transform:translateY(-50%)}.theme-switch-sun{left:7px;color:#f59e0b}.theme-switch-moon{right:7px;color:#555}.disabled-input{background:var(--color-bg)!important;color:var(--color-text-muted)!important}select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background:var(--color-bg);color:var(--color-text);cursor:pointer}select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.maintenance-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(90deg,#ffc800,#e6b400);color:#1a1a2e;text-align:center;padding:10px 16px;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px #00000026}.maintenance-banner-countdown{font-variant-numeric:tabular-nums;font-weight:700}.app.has-maintenance-banner{margin-top:42px}.update-banner{position:fixed;top:0;left:0;right:0;z-index:9998;background:linear-gradient(90deg,#3b82f6,#2563eb);color:#fff;text-align:center;padding:10px 16px;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:background .2s}.update-banner:hover{background:linear-gradient(90deg,#2563eb,#1d4ed8)}.maintenance-lockout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#e0e0e0}.maintenance-lockout-card{text-align:center;padding:3rem 2.5rem;max-width:480px;background:#ffffff0d;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.maintenance-lockout-icon{font-size:3.5rem;margin-bottom:1rem}.maintenance-lockout-card h1{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:#fff}.maintenance-lockout-card p{font-size:1rem;line-height:1.6;color:#b0b8c8;margin-bottom:1.5rem}.maintenance-lockout-status{font-size:.85rem;color:#7a8599}.maintenance-pulse{display:inline-block;width:8px;height:8px;background:#53c98d;border-radius:50%;animation:maintenance-pulse 2s ease-in-out infinite;margin-right:6px;vertical-align:middle}@keyframes maintenance-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.maintenance-admin-link{margin-top:2rem;background:none;border:none;color:#ffffff26;font-size:.7rem;cursor:pointer;padding:4px 8px;transition:color .2s}.maintenance-admin-link:hover{color:#ffffff80}.maintenance-controls{margin-top:12px}.reviews-page{max-width:1100px}.reviews-toolbar{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.reviews-empty{text-align:center;color:var(--color-text-dim);padding:4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.reviews-empty h3{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-top:.25rem}.reviews-empty p{font-size:.8125rem;color:var(--color-text-dim)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem}.review-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.review-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.review-card:hover .project-meta-action{opacity:1}.review-card-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.review-card-header h3{font-size:.9rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.review-card-week{font-size:.65rem;color:var(--color-badge-text);background:var(--color-badge-bg);padding:.1rem .4rem;border-radius:var(--radius-xs);font-weight:500}.review-card-meta{font-size:.75rem;color:var(--color-text-dim);margin-bottom:.625rem}.review-card-actions{display:flex;gap:.3rem;flex-wrap:wrap}.review-edit-header{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.25rem}.review-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.review-nav-top{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--color-border-subtle)}.review-nav-select{width:100%;max-width:400px;padding:.5rem .75rem;font-size:.8rem;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;font-family:inherit;transition:border-color .15s ease}.review-nav-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.review-nav-select optgroup{font-weight:600;font-size:.75rem;color:var(--color-text-dim);letter-spacing:.02em}.review-nav-select option{font-weight:400;font-size:.8rem;color:var(--color-text)}.review-nav-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.review-title-input{flex:1;min-width:0;font-size:1.25rem;font-weight:700;background:transparent;border:none;border-bottom:1.5px solid transparent;color:var(--color-text);padding:.2rem 0;outline:none;letter-spacing:-.025em;transition:border-color .15s}.review-title-input:focus{border-bottom-color:var(--color-accent)}.review-edit-meta-row{display:flex;align-items:center;gap:.5rem;padding-top:.15rem}.review-edit-meta{font-size:.72rem;color:var(--color-text-dim);white-space:nowrap}.review-add-project{margin-bottom:1rem}.review-project-select{width:100%;max-width:400px;padding:.5rem .75rem;font-size:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color .15s ease}.review-project-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-glow)}.review-items-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.review-items-table th{text-align:left;padding:.5rem .75rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-dim);border-bottom:1px solid var(--color-border)}.review-items-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-subtle);vertical-align:top}.review-items-table tr:hover td{background:var(--color-hover-subtle)}.review-rank{text-align:center;font-size:.9rem;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums;width:36px}.review-total-time-control{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.7rem;color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:99px}.review-total-time-input{width:3.5rem;padding:.1rem .25rem;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text)}.review-total-time-input:focus{outline:none;border-color:var(--color-accent)}.review-item-time{font-size:.72rem}.review-time-cell{display:flex;flex-direction:column;gap:.25rem}.review-time-label{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.review-time-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text)}.review-time-reset{background:none;border:none;color:var(--color-text-dim);font-size:.65rem;cursor:pointer;padding:0 .25rem;text-decoration:underline}.review-time-reset:hover{color:var(--color-accent)}.review-time-slider{width:100%;accent-color:var(--color-accent)}.review-time-slider:disabled{opacity:.4}.review-time-exempt{display:inline-flex;align-items:center;gap:.25rem;font-size:.65rem;color:var(--color-text-dim);cursor:pointer}.review-time-exempt input{margin:0}.review-item-project{display:flex;flex-direction:column;gap:.15rem}.review-item-name{font-weight:500;color:var(--color-text)}.review-item-meta{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--color-text-muted);flex-wrap:wrap}.review-status-pill{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:99px;font-size:.65rem;font-weight:600;color:#fff;letter-spacing:.02em;line-height:1.4;white-space:nowrap}.review-item-designers{color:var(--color-text-muted);font-size:.7rem;white-space:nowrap}.review-item-bl{color:var(--color-text-dim);font-size:.65rem;white-space:nowrap}.review-item-designers:before,.review-item-bl:before{content:"·";margin-right:.35rem;color:var(--color-text-dim);font-size:.6rem}.review-item-links{font-size:.7rem;word-break:break-word;overflow-wrap:anywhere}.review-item-links a{color:var(--color-text-link);text-decoration:none}.review-item-links a:hover{text-decoration:underline}.review-link-sep{color:var(--color-text-dim);margin:0 .2rem;font-size:.6rem}.review-picker-label{font-size:.75rem;font-weight:600;color:var(--color-text-dim);letter-spacing:.03em;display:block;margin-bottom:.5rem}.review-project-picker{max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.375rem}.review-project-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:var(--radius-xs);cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background .12s ease}.review-project-option:hover{background:var(--color-hover-subtle)}.review-project-option input[type=checkbox]{accent-color:var(--color-accent)}.review-project-option-meta{margin-left:auto;font-size:.7rem;color:var(--color-text-dim)}.secondary-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text);font-weight:500;font-size:.8125rem;cursor:pointer}.secondary-btn:hover{background:var(--color-hover-subtle)}
