@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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--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;--ease-out:cubic-bezier(0, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.grow{flex-grow: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-col{flex-direction:column}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-9{padding:calc(var(--spacing) * 9)}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.p-12{padding:calc(var(--spacing) * 12)}.p-13{padding:calc(var(--spacing) * 13)}.p-14{padding:calc(var(--spacing) * 14)}.p-15{padding:calc(var(--spacing) * 15)}.p-16{padding:calc(var(--spacing) * 16)}.p-17{padding:calc(var(--spacing) * 17)}.p-18{padding:calc(var(--spacing) * 18)}.p-19{padding:calc(var(--spacing) * 19)}.p-20{padding:calc(var(--spacing) * 20)}.p-21{padding:calc(var(--spacing) * 21)}.p-22{padding:calc(var(--spacing) * 22)}.p-23{padding:calc(var(--spacing) * 23)}.p-24{padding:calc(var(--spacing) * 24)}.p-25{padding:calc(var(--spacing) * 25)}.p-26{padding:calc(var(--spacing) * 26)}.p-27{padding:calc(var(--spacing) * 27)}.p-28{padding:calc(var(--spacing) * 28)}.p-29{padding:calc(var(--spacing) * 29)}.p-30{padding:calc(var(--spacing) * 30)}.p-31{padding:calc(var(--spacing) * 31)}.p-32{padding:calc(var(--spacing) * 32)}.p-33{padding:calc(var(--spacing) * 33)}.p-34{padding:calc(var(--spacing) * 34)}.p-35{padding:calc(var(--spacing) * 35)}.p-36{padding:calc(var(--spacing) * 36)}.p-37{padding:calc(var(--spacing) * 37)}.p-38{padding:calc(var(--spacing) * 38)}.p-39{padding:calc(var(--spacing) * 39)}.p-40{padding:calc(var(--spacing) * 40)}.p-41{padding:calc(var(--spacing) * 41)}.p-42{padding:calc(var(--spacing) * 42)}.p-43{padding:calc(var(--spacing) * 43)}.p-44{padding:calc(var(--spacing) * 44)}.p-45{padding:calc(var(--spacing) * 45)}.p-46{padding:calc(var(--spacing) * 46)}.p-47{padding:calc(var(--spacing) * 47)}.p-48{padding:calc(var(--spacing) * 48)}.font-sans{font-family:var(--font-sans)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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,)}.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))}}:root{--bg:#f5f4f1;--card:#fff;--border:#e4e2dc;--border-subtle:#eceae5;--text:#141414;--text-muted:#8a8880;--text-light:#b0ada6;--input-bg:#faf9f7;--tag-active-bg:#141414;--tag-active-text:#fff;--tag-inactive-bg:#eeedea;--tag-inactive-text:#9a9890;--accent:#2d8a4e;--status-awarded:#2d8a4e;--status-awarded-bg:#e7f5ed;--status-awarded-border:#c3e5cf;--status-upcoming:#3b7d5a;--status-upcoming-bg:#eef7f1;--status-upcoming-border:#c9e4d4;--status-lead:#9e5a8e;--status-lead-bg:#f8eef5;--status-lead-border:#e6cde0;--status-rfp:#b8860b;--status-rfp-bg:#fdf6e3;--status-rfp-border:#f0dfa0;--status-onhold:#777;--status-onhold-bg:#f2f2f0;--status-onhold-border:#ddd;--status-completed:#2e7d32;--status-completed-bg:#e8f5e9;--status-completed-border:#a5d6a7;--status-cancelled:#b71c1c;--status-cancelled-bg:#ffebee;--status-cancelled-border:#ef9a9a;--status-rfp-active:var(--status-awarded);--status-rfp-active-bg:var(--status-awarded-bg);--status-rfp-active-border:var(--status-awarded-border);--status-potential:var(--status-lead);--status-potential-bg:var(--status-lead-bg);--status-potential-border:var(--status-lead-border);--status-paused:var(--status-onhold);--status-paused-bg:var(--status-onhold-bg);--status-paused-border:var(--status-onhold-border);--status-opportunity:var(--status-lead);--status-opportunity-bg:var(--status-lead-bg);--status-opportunity-border:var(--status-lead-border);--radius:14px;--radius-sm:8px;--radius-xs:5px;--shadow-sm:0 1px 2px #00000008, 0 1px 3px #00000005;--shadow:0 1px 3px #00000005, 0 4px 16px #0000000a;--shadow-md:0 2px 4px #00000005, 0 8px 32px #0000000f;--shadow-lg:0 4px 8px #00000008, 0 16px 56px #00000014;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;background-image:linear-gradient(#ffffff80 0%,#0000 280px);background-repeat:no-repeat;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.55}::selection{background:#2d8a4e1f}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-shell{min-height:100vh}.dashboard-container{max-width:1920px;margin:0 auto;padding:0 40px 80px;overflow:clip}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:48px;padding-bottom:24px;display:flex}.site-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);margin:0;font-size:48px;line-height:1}.site-subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--text-light);margin-top:6px;font-size:10px;font-weight:600}.site-user{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.site-user-name{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:500}.signout-btn{color:var(--text-muted);cursor:pointer;transition:color .2s var(--ease-out);background:0 0;border:none;font-size:12px;font-weight:500}.signout-btn:hover{color:var(--text)}.signout-btn-minimal{color:var(--text-muted);letter-spacing:1px;text-transform:lowercase;cursor:pointer;opacity:.35;transition:opacity .2s var(--ease-out);background:0 0;border:none;padding:0;font-size:10px;font-weight:400}.signout-btn-minimal:hover{opacity:.7}.site-header-right{flex-shrink:0;align-items:flex-end;gap:24px;display:flex}.nav-sync-area{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.nav-sync-btn{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;transition:all .2s var(--ease-out);align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:600;display:inline-flex}.nav-sync-btn:hover:not(:disabled){background:var(--input-bg);color:var(--text);border-color:var(--text-muted)}.nav-sync-btn:disabled{opacity:.6;cursor:not-allowed}.nav-sync-btn.syncing{color:var(--status-awarded);border-color:var(--status-awarded)}.nav-sync-icon{flex-shrink:0}.nav-sync-icon.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.nav-sync-last{color:var(--text-muted);opacity:.6;letter-spacing:.3px;font-size:9px}.nav-sync-bar{animation:contentFadeIn .2s var(--ease-out);justify-content:flex-end;align-items:center;gap:12px;margin-bottom:4px;padding:6px 0;display:flex}.nav-sync-progress-track{background:var(--border);border-radius:2px;width:120px;height:4px;overflow:hidden}.nav-sync-progress-fill{background:var(--status-awarded);height:100%;transition:width .3s var(--ease-out);border-radius:2px}.nav-sync-progress-text{color:var(--text-muted);white-space:nowrap;font-size:10px}.nav-sync-status-text{color:var(--status-awarded);font-size:10px;font-weight:500}.main-content{animation:contentFadeIn .3s var(--ease-out);margin-top:32px}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nav-tabs{border-bottom:1px solid var(--border);gap:0;display:flex}.nav-tab{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2.5px;color:var(--text-light);transition:color .25s var(--ease-out);padding:18px 28px;font-size:18px;text-decoration:none;position:relative}.nav-tab:after{content:"";background:var(--text);height:2px;transition:transform .25s var(--ease-out);border-radius:1px;position:absolute;bottom:-1px;left:28px;right:28px;transform:scaleX(0)}.nav-tab:hover{color:var(--text-muted)}.nav-tab.active{color:var(--text)}.nav-tab.active:after{transform:scaleX(1)}.account-section{margin-bottom:48px}.account-header{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);transition:box-shadow .3s var(--ease-out), transform .3s var(--ease-out);align-items:stretch;margin-bottom:24px;display:flex;overflow:hidden}.account-header:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.account-color-stripe{flex-shrink:0;width:5px}.account-header-content{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.account-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;font-size:30px;line-height:1}.account-leads{flex-wrap:wrap;gap:20px;margin-top:8px;display:flex}.account-lead{color:var(--text-muted);font-size:12px}.account-lead strong{color:var(--text);font-weight:600}.lead-editable{cursor:pointer;transition:border-color .2s var(--ease-out);border-bottom:1px dashed #0000}.lead-editable:hover{border-bottom-color:var(--text-muted)}.lead-editable.lead-placeholder{color:var(--text-light);font-style:italic}.lead-edit-input{font-family:inherit;font-size:inherit;color:var(--text);background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;outline:none;min-width:80px;padding:1px 6px}.account-revenue-cards{flex-shrink:0;gap:12px;display:flex}.revenue-card{border-radius:var(--radius-sm);min-width:155px;padding:10px 16px;font-size:11px}.revenue-card.approved-rev{background:var(--status-awarded-bg);border:1px solid var(--status-awarded-border)}.revenue-card.pending-rev{background:var(--status-rfp-bg);border:1px solid var(--status-rfp-border)}.revenue-card .rev-title{letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.revenue-card .rev-line{justify-content:space-between;gap:12px;display:flex}.revenue-card .rev-line span:last-child{font-weight:600}.revenue-card .rev-subtitle{letter-spacing:.5px;text-transform:uppercase;color:var(--text-light);margin-top:6px;margin-bottom:2px;font-size:8px;font-weight:600}.revenue-card .rev-subtitle-est{border-top:1px dashed #0000001a;margin-top:8px;padding-top:6px}.revenue-card .rev-subtotal{border-top:1px solid #0000000f;margin-top:2px;padding-top:2px;font-weight:600}.revenue-card .rev-line-est{color:var(--text-muted);font-style:italic}.revenue-card .rev-line-est span:last-child{font-weight:500}.revenue-card .rev-total{border-top:1px solid #0000001a;margin-top:4px;padding-top:4px;font-weight:700}.revenue-card.clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.revenue-card.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.revenue-card.clickable.expanded{box-shadow:0 2px 12px #0000001f}.rev-quarterly{border-top:1px dashed #00000026;margin-top:8px;padding-top:8px}.rev-q-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:9px;font-weight:700}.rev-q-line{font-size:10px}.rev-project-list{max-height:280px;margin-top:2px;overflow-y:auto}.rev-project-line{border-bottom:1px solid #0000000a;padding:3px 0;font-size:10px}.rev-project-line:last-child{border-bottom:none}.rev-proj-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.rev-proj-account{color:var(--text-muted);margin-left:4px;font-size:9px;font-weight:400}.rev-estimate-note{color:var(--text-muted);margin-top:4px;font-size:9px;font-style:italic}.project-fin-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.project-fin-col{border-radius:var(--radius-sm);padding:10px 14px;font-size:12px}.project-fin-booked{background:var(--status-awarded-bg);border:1px solid var(--status-awarded-border)}.project-fin-potential{background:var(--status-rfp-bg);border:1px solid var(--status-rfp-border)}.project-fin-label{text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:700}.project-fin-row{justify-content:space-between;padding:2px 0;display:flex}.project-fin-row span:last-child{font-weight:600}.project-fin-total{border-top:1px solid #0000001a;margin-top:4px;padding-top:4px;font-weight:700}.archive-section{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.archive-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:8px 0;display:flex}.archive-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);font-size:20px}.archive-count{color:var(--text-muted);font-size:11px}.archive-chevron{color:var(--text-muted);margin-left:auto;font-size:14px}.archive-list{margin-top:8px}.archive-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:16px;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.archive-row:hover{background:var(--input-bg)}.archive-project-name{flex:1;font-weight:500}.archive-account{font-size:11px}.archive-budget{font-size:11px;font-weight:600}.vertical-section{margin-bottom:28px;margin-left:16px}.vertical-header{background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;padding:14px 22px;display:flex}.vertical-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;font-size:20px}.vertical-meta{color:var(--text-muted);font-size:11px}.vertical-meta strong{color:var(--text);font-weight:600}.empty-vertical{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.upcoming-sub-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);margin:28px 0 14px;padding-left:4px;font-size:16px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s var(--ease-out);cursor:pointer;position:relative}.project-card[draggable]{cursor:grab}.project-card.dragging{opacity:.4;cursor:grabbing}.project-grid.drop-hover{outline:2px dashed var(--accent);outline-offset:4px;border-radius:8px}.empty-vertical-drop{min-height:60px;color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;display:flex}.undo-toast{color:#fff;z-index:3000;animation:toastIn .25s var(--ease-out);background:#1a1a1a;border-radius:10px;align-items:center;gap:14px;padding:10px 18px;font-size:13px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.undo-btn{background:var(--accent);color:#fff;letter-spacing:1px;cursor:pointer;border:none;border-radius:6px;padding:4px 14px;font-size:11px;font-weight:700;transition:background .15s}.undo-btn:hover{background:#246e3f}.undo-dismiss{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.undo-dismiss:hover{color:#fff}.save-toast{background:var(--card);color:var(--text);border:1px solid var(--status-awarded-border);z-index:10000;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:13px;animation:.3s ease-out saveToastIn,.3s ease-in 2.7s forwards saveToastOut;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000001f}@keyframes saveToastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes saveToastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(12px)}}.save-error-bar{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-shrink:0;margin:0 24px 8px;padding:8px 16px;font-size:12px}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-subtle);transform:translateY(-2px)}.project-card .accent-bar{border-radius:var(--radius) var(--radius) 0 0;width:100%;height:3px}.project-card-body{padding:18px 22px 16px}.project-card .card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.project-card .project-name{flex:1;font-size:15px;font-weight:700;line-height:1.3}.card-job-number{color:var(--text-muted);letter-spacing:.5px;margin-top:1px;font-size:11px;font-weight:500}.project-card .project-name a{color:var(--text);transition:color .2s var(--ease-out);text-decoration:none}.project-card .card-top-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.project-card .status-pill{letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.project-card .card-budget-amount{color:var(--text);white-space:nowrap;font-size:13px;font-weight:700}.project-card .card-health-checks{gap:6px;display:flex}.project-card .card-health-check{letter-spacing:.5px;color:var(--text-muted);opacity:.35;align-items:center;gap:2px;font-size:9px;font-weight:700;display:inline-flex}.project-card .card-health-check.active{color:var(--status-awarded);opacity:1}.project-card .card-details{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:12px;font-size:12px;display:flex}.project-card .edit-btn{cursor:pointer;color:var(--text-muted);opacity:0;transition:opacity .2s var(--ease-out);z-index:2;background:0 0;border:none;padding:4px;position:absolute;top:14px;right:12px}.project-card:hover .edit-btn{opacity:1}.staff-grid{background:#00000006;border-radius:8px;flex-direction:column;gap:1px;margin-top:8px;padding:8px 10px;display:flex}.staff-dept-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);opacity:.6;padding:4px 2px 1px;font-size:8px;font-weight:700}.staff-dept-label:first-child{padding-top:0}.staff-row{white-space:nowrap;border-radius:4px;align-items:baseline;gap:10px;padding:1px 2px;font-size:11px;line-height:1.7;transition:background .15s;display:flex;position:relative;overflow:hidden}.staff-row .staff-role{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;text-align:right;text-overflow:ellipsis;flex-shrink:0;width:70px;min-width:70px;font-size:9px;font-weight:700;overflow:hidden}.staff-row .staff-name{color:var(--text);text-overflow:ellipsis;font-weight:500;overflow:hidden}.staff-row .staff-name.staff-on-pto{opacity:.45;color:var(--text-muted)}.staff-row .staff-name.staff-is-temp{color:#e65100}.staff-temp-badge{color:#e65100;letter-spacing:.03em;margin-left:4px;font-size:9px;font-weight:700}.staff-cover-badge{color:#2e7d32;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:10px;font-weight:600}.project-card .card-expand{max-height:0;transition:max-height .3s var(--ease-out), padding .3s var(--ease-out);border-top:1px solid #0000;padding:0 22px;overflow:hidden}.project-card.expanded .card-expand{border-top-color:var(--border-subtle);max-height:600px;padding:14px 22px}.card-expand-row{justify-content:space-between;align-items:center;padding:5px 0;font-size:11px;display:flex}.card-expand-row+.card-expand-row{border-top:1px dashed #0000000d}.card-expand-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;min-width:90px;font-size:10px;font-weight:600}.card-expand-value{color:var(--text);text-align:right;flex:1;margin-left:12px}.card-expand-value a{color:var(--status-awarded);font-weight:500;text-decoration:none}.card-expand-value a:hover{text-decoration:underline}.card-expand-divider{border-top:1px dashed #0000000f;margin:8px 0}.staff-grid-expand{margin-top:0}.card-expand-chevron{color:var(--text-muted);opacity:0;transition:opacity .2s var(--ease-out), transform .3s var(--ease-out);font-size:8px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.project-card:hover .card-expand-chevron{opacity:.4}.project-card.expanded .card-expand-chevron{opacity:.4;transform:translate(-50%)rotate(180deg)}.project-card.card-rfp{border-left:3px solid var(--status-rfp);opacity:.85}.project-card.card-rfp:hover{opacity:1}.project-card.card-potential{opacity:.65}.project-card.card-potential:hover{opacity:.85}.mini-gantt{padding:6px 0 2px}.mini-gantt-track{background:var(--border);border-radius:3px;height:6px;position:relative;overflow:visible}.mini-gantt-segment{opacity:.85;border-radius:3px;height:100%;position:absolute;top:0}.mini-gantt-estimated{opacity:.5;background:#9e9e9e!important}.mini-gantt-today{z-index:2;width:0;height:12px;position:absolute;top:-3px}.mini-gantt-today-pin{background:var(--text);width:8px;height:8px;box-shadow:0 0 0 2px var(--card);border-radius:50%;transform:translate(-4px)}.mini-gantt-overflow-arrow{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid var(--text);width:0;height:0;position:absolute;top:50%;right:-2px;transform:translateY(-50%)}.mini-gantt-prestart-arrow{border-top:5px solid #0000;border-bottom:5px solid #0000;border-right:7px solid var(--text);width:0;height:0;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.modal-mini-gantt{flex-shrink:0;padding:0 24px 4px}.modal-mini-gantt .mini-gantt-track{border-radius:4px;height:8px}.modal-mini-gantt .mini-gantt-today-pin{width:10px;height:10px;transform:translate(-5px)}.modal-mini-gantt .mini-gantt-today{height:16px;top:-4px}.project-card.card-completed{opacity:.55}.project-card.card-completed:hover{opacity:.8}.project-card.card-cancelled{opacity:.4}.project-card.card-cancelled:hover{opacity:.65}.project-card.highlighted{box-shadow:0 0 0 2px var(--text), var(--shadow)}.project-card.dimmed{opacity:.2;pointer-events:none}.stats-row{gap:40px;margin-bottom:28px;padding:20px 0;display:flex}.stat-item{align-items:baseline;gap:8px;display:flex}.stat-number{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);font-size:40px;line-height:1}.stat-number.stat-awarded{color:var(--status-awarded)}.stat-number.stat-pipeline{color:var(--status-rfp)}.stat-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);font-size:11px;font-weight:600}.controls-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.btn-new-project{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;letter-spacing:.02em;border:none;border-radius:8px;padding:8px 18px;font-size:12px;font-weight:700;transition:background .15s}.btn-new-project:hover{background:#246e3f}.search-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);flex-shrink:0;align-items:center;gap:8px;padding:9px 16px;display:flex}.search-wrap:focus-within{border-color:var(--text-muted);box-shadow:0 0 0 3px #0000000a}.search-wrap svg{color:var(--text-light);flex-shrink:0}.search-input{color:var(--text);background:0 0;border:none;outline:none;width:180px;font-family:inherit;font-size:13px}.search-input::placeholder{color:var(--text-light)}.filter-pills{flex-wrap:wrap;gap:5px;display:flex}.filter-pill{letter-spacing:.3px;cursor:pointer;background:var(--tag-inactive-bg);color:var(--tag-inactive-text);transition:all .2s var(--ease-out);-webkit-user-select:none;user-select:none;border:none;border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600}.filter-pill:hover{color:var(--text);background:#e5e3de}.filter-pill.active{background:var(--tag-active-bg);color:var(--tag-active-text);box-shadow:0 1px 3px #0000001f}.filter-pill:active{transform:scale(.96)}.status-toggles{flex-wrap:wrap;gap:4px;display:flex}.status-toggle-btn{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;letter-spacing:.2px;border-radius:20px;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.status-toggle-btn:hover{border-color:var(--text-light);color:var(--text)}.status-toggle-btn.active{background:var(--text);color:var(--card);border-color:var(--text)}.dept-toggles{padding:0 var(--page-pad);gap:6px;margin-bottom:12px;display:flex}.dept-toggle-btn{background:var(--card);color:#5c6b45;cursor:pointer;letter-spacing:.2px;border:1px solid #8b9a6b;border-radius:20px;padding:5px 13px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.dept-toggle-btn:hover{background:#f0f2ec;border-color:#5c6b45}.dept-toggle-btn.active{color:#fff;background:#5c6b45;border-color:#5c6b45}.person-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;transition:border-color .2s var(--ease-out);padding:8px 14px;font-family:inherit;font-size:12px}.person-select:focus{border-color:var(--text-muted);outline:none}.autocomplete-wrap{position:relative}.autocomplete-clear{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.autocomplete-clear:hover{color:var(--text)}.autocomplete-dropdown{z-index:50;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.autocomplete-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-family:inherit;font-size:12px;transition:background .1s;display:block}.autocomplete-option:hover{background:var(--bg)}.month-pills{flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.month-pill{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;cursor:pointer;background:var(--tag-inactive-bg);color:var(--tag-inactive-text);transition:all .2s var(--ease-out);border:none;border-radius:20px;padding:5px 12px;font-size:14px}.month-pill:hover{color:var(--text);background:#e5e3de}.month-pill.active{background:var(--tag-active-bg);color:var(--tag-active-text)}.month-pill.current:not(.active){border:1.5px solid var(--text-muted)}.status-key-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-top:48px;margin-bottom:16px;padding:16px 20px}.status-key-box-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);margin-bottom:10px;font-size:14px}.status-key{flex-wrap:wrap;gap:16px;display:flex}.status-key-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.status-key-dot{border-radius:50%;width:8px;height:8px}.wb-diag-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.wb-diag-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.wb-diag-title{color:var(--text);font-size:14px;font-weight:600}.wb-diag-summary{color:var(--text-muted);font-size:12px}.wb-diag-section{margin-bottom:10px}.wb-diag-section:last-child{margin-bottom:0}.wb-diag-section-label{text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.wb-diag-red{color:#e53935}.wb-diag-amber{color:#f57f17}.wb-diag-green{color:#2e7d32}.wb-diag-list{flex-wrap:wrap;gap:6px;display:flex}.wb-diag-chip{background:var(--input-bg);color:var(--text);border-left:3px solid #999;border-radius:6px;padding:3px 10px;font-size:12px}.wb-diag-chip-ok{opacity:.6}@keyframes finFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes finBarGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes finPieSlice{0%{opacity:0}to{opacity:1}}@keyframes finValueReveal{0%{opacity:0}to{opacity:1}}.fin-animate{opacity:0;transform:translateY(12px)}.fin-loaded .fin-animate{animation:1.1s forwards finFadeIn}.fin-bar-animate{transform-origin:bottom;transform:scaleY(0)}.fin-loaded .fin-bar-animate{animation:1.4s forwards finBarGrow}.fin-pie-slice{opacity:0;transform-origin:50%;cursor:pointer;transition:opacity .15s}.fin-pie-visible{animation:1s forwards finPieSlice}.fin-loaded .fin-card-value{animation:1s forwards finValueReveal}.fin-page{padding:0 8px}.fin-kamp-header{align-items:baseline;gap:16px;margin-bottom:28px;display:flex}.fin-kamp-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);font-size:34px}.fin-kamp-header{justify-content:space-between;align-items:center}.fin-kamp-subtitle{color:var(--text-muted);letter-spacing:.5px;font-size:13px}.fin-year-toggle{border:1px solid var(--border);border-radius:var(--radius);gap:0;display:flex;overflow:hidden}.fin-year-btn{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;background:var(--bg);color:var(--text-muted);border:none;border-right:1px solid var(--border);cursor:pointer;padding:6px 14px;font-size:15px;transition:background .15s,color .15s}.fin-year-btn:last-child{border-right:none}.fin-year-btn:hover:not(.fin-year-disabled){background:var(--bg-hover);color:var(--text)}.fin-year-active{background:var(--text)!important;color:#fff!important}.fin-year-disabled{opacity:.4;cursor:not-allowed}.fin-top-cards{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.fin-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:22px 26px;transition:box-shadow .2s;position:relative;overflow:hidden}.fin-card:hover{box-shadow:0 2px 8px #0000000a}.fin-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.fin-card-total:before{background:var(--text-muted)}.fin-card-booked:before{background:var(--status-awarded)}.fin-card-potential:before{background:#d97706}.fin-card-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:8px;font-size:13px;font-weight:700}.fin-card-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:40px;line-height:1.1}.fin-card-sub{color:var(--text-muted);align-items:center;gap:14px;margin-top:10px;font-size:12px;display:flex}.fin-card-total,.fin-card-booked,.fin-card-potential{border-left:none}.fin-card-breakdown{margin-top:14px}.fin-card-row{color:var(--text-light);justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.fin-card-row span:last-child{color:var(--text);font-weight:600}.fin-card-row-est{color:var(--text-muted);border-top:1px dashed var(--border);margin-top:4px;padding-top:4px;font-style:italic}.fin-booked-dot,.fin-potential-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:4px;display:inline-block}.fin-booked-dot{background:var(--status-awarded)}.fin-potential-dot{background:#fb8c00}.fin-health-section{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.fin-health-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px 20px;transition:box-shadow .2s}.fin-health-card:hover{box-shadow:0 1px 4px #0000000a}.fin-health-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:700}.fin-health-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);font-size:28px;line-height:1.1}.fin-health-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.fin-health-good{color:#16a34a}.fin-health-warn{color:#ca8a04}.fin-health-bad{color:#dc2626}.fin-health-card{cursor:default;position:relative}.fin-health-tooltip{border:1px solid var(--border);width:280px;color:var(--text);opacity:0;pointer-events:none;z-index:20;text-align:left;background:#fff;border-radius:12px;padding:16px 18px;font-size:12px;line-height:1.5;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 12px 32px #0000001f,0 2px 6px #0000000f}.fin-health-card:hover .fin-health-tooltip{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.fin-health-tooltip:after{content:"";border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.fin-tooltip-formula{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.fin-tooltip-calc{color:var(--text);background:var(--bg);border:1px solid var(--border-subtle);border-radius:6px;margin-bottom:8px;padding:8px 10px;font-size:13px}.fin-tooltip-calc strong{color:var(--text)}.fin-tooltip-desc{color:var(--text-muted);margin-bottom:8px;font-size:11px;font-style:italic}.fin-tooltip-scale{border-top:1px solid var(--border-subtle);flex-direction:column;gap:4px;padding-top:8px;font-size:11px;font-weight:600;display:flex}.fin-tooltip-green{color:#16a34a}.fin-tooltip-yellow{color:#ca8a04}.fin-tooltip-red{color:#dc2626}.fin-profit-meters{margin-top:28px}.fin-profit-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:12px;display:grid}@media (max-width:1100px){.fin-profit-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.fin-profit-grid{grid-template-columns:repeat(2,1fr)}}.fin-profit-card{background:var(--card,#fff);border:1px solid var(--border);text-align:center;border-radius:10px;padding:14px 12px 12px;position:relative;overflow:visible}.fin-profit-card-year{background:linear-gradient(#2d8a4e1a,#2d8a4e0a);border:2px solid #2d8a4e73}.fin-profit-card-year .fin-profit-q-label{letter-spacing:1px;color:#2d8a4e;font-weight:700}.fin-profit-current{border-width:2px;border-color:#2d8a4e}.fin-profit-card-header{justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fin-profit-q-label{letter-spacing:.5px;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:14px;font-weight:700}.fin-profit-now-tag{letter-spacing:1px;color:#2d8a4e;background:#2d8a4e1a;border-radius:4px;padding:2px 6px;font-size:8px;font-weight:700}.fin-profit-gauge-wrap{width:140px;height:80px;margin:0 auto;position:relative}.fin-profit-gauge{width:100%;height:100%}.fin-profit-gauge-label{text-align:center;white-space:nowrap;line-height:1.2;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.fin-profit-gauge-value{color:var(--text-muted);opacity:.4;font-family:Inter,sans-serif;font-size:16px;font-weight:700;display:block}.fin-profit-gauge-target{color:var(--text-muted);font-family:Inter,sans-serif;font-size:9px;display:block}.fin-profit-gauge-live{opacity:1!important}@keyframes gaugeGrow{0%{stroke-dasharray:0 157}}.fin-profit-gauge-arc{animation:1s ease-out forwards gaugeGrow}.fin-profit-pct{text-align:center;margin-top:4px;font-family:Inter,sans-serif;font-size:13px;font-weight:700}.fin-profit-tooltip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:280px;color:var(--text);opacity:0;pointer-events:none;z-index:20;text-align:left;padding:14px 16px;font-size:12px;line-height:1.5;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.fin-profit-tooltip strong{text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;display:block}.fin-profit-card:hover .fin-profit-tooltip{opacity:1;pointer-events:auto}.fin-profit-footnote{color:var(--text-muted);text-align:center;margin-top:10px;font-family:Inter,sans-serif;font-size:12px}.fin-bench-section{margin-top:28px}.fin-bench-subtitle{color:var(--text-muted);margin-top:2px;margin-bottom:16px;font-family:Inter,sans-serif;font-size:10px}.fin-bench-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:1100px){.fin-bench-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.fin-bench-grid{grid-template-columns:1fr}}.fin-bench-card{background:var(--card,#fff);border:1px solid var(--border);border-radius:10px;position:relative;overflow:visible}.fin-bench-header{border-bottom:1px solid var(--border);background:#00000005;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.fin-bench-label{letter-spacing:.5px;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:13px;font-weight:700}.fin-bench-target{color:var(--text-muted);background:#0000000a;border-radius:10px;padding:2px 8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.fin-bench-body{padding:14px}.fin-bench-coming-soon{align-items:center;gap:10px;margin-bottom:10px;display:flex}.fin-bench-placeholder-value{color:var(--text-muted);opacity:.3;font-family:Inter,sans-serif;font-size:28px;font-weight:700}.fin-bench-coming-tag{letter-spacing:1px;color:var(--text-muted);background:#0000000d;border-radius:4px;padding:3px 8px;font-family:Inter,sans-serif;font-size:10px;font-weight:700}.fin-bench-live-value{margin-bottom:10px;font-family:Inter,sans-serif;font-size:28px;font-weight:700}.fin-bench-context{color:var(--text-muted);margin-bottom:10px;font-family:Inter,sans-serif;font-size:12px;line-height:1.5}.fin-bench-scale{flex-wrap:wrap;gap:8px;font-family:Inter,sans-serif;font-size:11px;display:flex}.fin-bench-tooltip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:280px;color:var(--text);opacity:0;pointer-events:none;z-index:20;text-align:left;padding:14px 16px;font-size:12px;line-height:1.5;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.fin-bench-tooltip strong{text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;display:block}.fin-bench-card:hover .fin-bench-tooltip{opacity:1;pointer-events:auto}.fin-edit-btn{color:var(--text);background:var(--card,#fff);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.fin-edit-btn:hover{border-color:var(--text-muted);background:#0000000a}.fin-compare-active{background:var(--text)!important;color:#fff!important;border-color:var(--text)!important}.fin-compare-active:hover{background:#333!important}.fin-input-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fin-input-modal{background:var(--bg);border:1px solid var(--border);border-radius:12px;width:720px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000040}.fin-input-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.fin-input-title{letter-spacing:.5px;font-family:Bebas Neue,sans-serif;font-size:14px;font-weight:700}.fin-input-subtitle{color:var(--text-muted);margin-top:2px;font-family:Inter,sans-serif;font-size:11px}.fin-input-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px}.fin-input-close:hover{background:#0000000f}.fin-input-table{padding:16px 24px}.fin-input-row{grid-template-columns:200px repeat(4,1fr);align-items:center;gap:10px;margin-bottom:12px;display:grid}.fin-input-row-header{margin-bottom:8px}.fin-input-cell{min-width:0}.fin-input-label-cell{flex-direction:column;gap:1px;display:flex}.fin-input-field-label{color:var(--text);font-family:Inter,sans-serif;font-size:11px;font-weight:700}.fin-input-field-hint{color:var(--text-muted);font-family:Inter,sans-serif;font-size:9px}.fin-input-q-header{text-align:center;letter-spacing:.5px;font-family:Bebas Neue,sans-serif;font-size:11px;font-weight:700}.fin-input-dollar-wrap{border:1px solid var(--border);background:var(--card,#fff);border-radius:6px;align-items:center;display:flex;overflow:hidden}.fin-input-dollar-sign{color:var(--text-muted);padding:6px 0 6px 8px;font-family:Inter,sans-serif;font-size:12px}.fin-input-field{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:6px 8px 6px 4px;font-family:Inter,sans-serif;font-size:12px}.fin-input-field::placeholder{color:var(--text-muted);opacity:.4}.fin-input-dollar-wrap:focus-within{border-color:#2d8a4e;box-shadow:0 0 0 2px #2d8a4e26}.fin-input-error{color:#c62828;padding:0 24px 12px;font-family:Inter,sans-serif;font-size:11px}.fin-input-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.fin-input-cancel{border:1px solid var(--border);background:var(--card,#fff);cursor:pointer;color:var(--text);border-radius:6px;padding:8px 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.fin-input-cancel:hover{background:#0000000a}.fin-input-save{color:#fff;cursor:pointer;background:#2d8a4e;border:none;border-radius:6px;padding:8px 20px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.fin-input-save:hover{background:#256f3e}.fin-input-save:disabled{opacity:.5;cursor:not-allowed}.fin-quarterly-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px 28px}.fin-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-light);margin-bottom:16px;font-size:20px}.fin-quarterly-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.fin-q-col{text-align:center;border-radius:var(--radius-sm);padding:8px;transition:background .15s}.fin-q-col.fin-q-current{border-radius:var(--radius-sm);background:#4caf500a;border:1px solid #4caf5026}.fin-q-bar-wrap{justify-content:center;align-items:flex-end;height:140px;margin-bottom:10px;display:flex}.fin-q-bar{width:56px;min-height:4px;box-shadow:none;border-radius:6px 6px 0 0;flex-direction:column;display:flex;overflow:hidden}.fin-q-bar-booked{background:var(--status-awarded)}.fin-q-bar-potential{opacity:.5;background:#fb8c00}.fin-q-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);font-size:20px}.fin-q-total{color:var(--text);margin:2px 0;font-size:14px;font-weight:700}.fin-q-detail{color:var(--text-muted);justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.fin-q-compare{border-top:1px dashed var(--border-subtle);margin-top:6px;padding-top:6px;font-size:10px}.fin-q-compare-up{color:#2e7d32}.fin-q-compare-down{color:#c62828}.fin-q-hint{color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:12px}.fin-q-col:hover{background:var(--bg-hover)}.fin-q-expanded{background:var(--bg-hover);box-shadow:inset 0 -2px 0 var(--accent)}.fin-q-drilldown{border-top:1px solid var(--border);margin-top:20px;padding-top:20px;animation:.4s finFadeIn}.fin-q-drilldown-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);margin-bottom:12px;font-size:18px}.fin-q-drilldown-table{flex-direction:column;gap:0;display:flex}.fin-q-drilldown-header{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:12px;padding:8px 12px;font-size:9px;font-weight:700;display:grid}.fin-q-drilldown-row{color:var(--text);border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;align-items:center;gap:12px;padding:10px 12px;font-size:13px;transition:background .15s;display:grid}.fin-q-drilldown-row:hover{background:var(--bg-hover)}.fin-q-drilldown-name{align-items:center;gap:8px;font-weight:600;display:flex}.fin-q-drilldown-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.fin-q-drilldown-total{font-weight:700}.fin-q-pct-bar-wrap{background:var(--border-subtle);vertical-align:middle;border-radius:3px;width:60px;height:6px;margin-right:6px;display:inline-block;overflow:hidden}.fin-q-pct-bar{border-radius:3px;height:100%;transition:width .4s ease-out}.fin-pie-row{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;display:grid}.fin-pie-chart{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;padding:20px;transition:box-shadow .2s;display:flex}.fin-pie-chart:hover{box-shadow:0 1px 4px #0000000a}.fin-pie-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-light);text-align:center;margin-bottom:12px;font-size:15px}.fin-pie-chart svg{margin-bottom:12px}.fin-pie-legend{width:100%}.fin-pie-legend-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;padding:3px 0;font-size:11px;display:flex}.fin-pie-legend-item:last-child{border-bottom:none}.fin-pie-legend-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.fin-pie-legend-label{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fin-pie-legend-value{color:var(--text);text-align:right;min-width:48px;font-weight:600}.fin-pie-legend-pct{color:var(--text-muted);text-align:right;min-width:28px;font-size:10px}.fin-pie-tooltip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);pointer-events:none;z-index:10;white-space:nowrap;text-align:center;padding:8px 12px;position:absolute;box-shadow:0 4px 16px #0000001f}.fin-pie-tooltip-name{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.fin-pie-tooltip-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);font-size:20px;line-height:1.2}.fin-pie-tooltip-pct{color:var(--text-muted);font-size:10px}.fin-pie-legend-item{cursor:pointer;border-radius:4px;padding:3px 4px;transition:background .15s}.fin-pie-legend-item:hover,.fin-pie-legend-active{background:var(--bg-hover)}.fin-leads-subcopy{color:var(--text-secondary);margin-bottom:10px;font-size:12px;line-height:1.5}.fin-leads-table{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.fin-leads-header{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);background:var(--bg-hover);border-bottom:1px solid var(--border);grid-template-columns:2fr 1.2fr 110px 110px 110px;gap:12px;padding:10px 16px;font-size:10px;font-weight:700;display:grid}.fin-leads-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1.2fr 110px 110px 110px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:grid}.fin-leads-row:last-child{border-bottom:none}.fin-leads-name{color:var(--text);font-weight:600}.fin-leads-account{color:var(--text-secondary)}.fin-leads-rev{color:#b8860b;font-family:Inter,sans-serif;font-weight:700}.fin-leads-fees{color:var(--text-secondary);font-family:Inter,sans-serif}.fin-leads-start{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.fin-leads-no-date{color:var(--text-secondary);opacity:.6;font-style:italic}.fin-leads-urgency-badge{color:#e65100;white-space:nowrap;background:#fff3e0;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700}.fin-leads-urgency-badge.past{color:#c62828;background:#ffebee}.fin-leads-urgent{background:#ff98000a}.fin-leads-past{background:#c628280a}.fin-priority-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:32px;padding:24px 28px;position:relative;overflow:hidden}.fin-priority-section:before{content:"";background:linear-gradient(90deg,#c62828,#fb8c00,#fbc02d);height:3px;position:absolute;top:0;left:0;right:0}.fin-priority-subtitle{color:var(--text-muted);margin-top:-10px;margin-bottom:16px;font-size:11px}.fin-priority-list{flex-direction:column;gap:4px;display:flex}.fin-priority-row{border-radius:var(--radius-sm);grid-template-columns:32px 4px 2fr 90px 70px 3fr;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:grid}.fin-priority-row:hover{background:#00000005}.fin-priority-rank{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text-muted);text-align:center;font-size:18px}.fin-priority-color{border-radius:2px;width:4px;height:24px}.fin-priority-info{min-width:0}.fin-priority-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.fin-priority-account{color:var(--text-muted);font-size:10px}.fin-priority-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);text-align:right;font-size:18px}.fin-priority-timing{text-align:center}.fin-priority-overdue{color:#c62828;background:#c6282814;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.fin-priority-days{color:var(--text-muted);font-size:10px;font-weight:600}.fin-priority-soon{color:#e65100;font-weight:700}.fin-priority-nodate{color:var(--text-muted);font-size:10px;font-style:italic}.fin-priority-reason{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.fin-accounts{flex-direction:column;gap:6px;display:flex}.fin-account{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);transition:box-shadow .2s,transform .15s;overflow:hidden}.fin-account:hover{box-shadow:0 2px 8px #0000000d}.fin-account.expanded{box-shadow:0 4px 16px #00000014}.fin-account-header{cursor:pointer;align-items:center;gap:14px;padding:16px 22px;transition:background .15s;display:flex}.fin-account-header:hover{background:#00000003}.fin-account-color{border-radius:2px;flex-shrink:0;width:4px;height:30px}.fin-account-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);flex:1;font-size:22px}.fin-account-nums{align-items:center;gap:16px;font-size:13px;font-weight:600;display:flex}.fin-account-booked{color:var(--status-awarded)}.fin-account-potential{color:#fb8c00;font-weight:500}.fin-account-total{color:var(--text);font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;font-size:18px}.fin-chevron{color:var(--text-muted);text-align:center;width:16px;font-size:14px;transition:transform .2s}.fin-account.expanded .fin-chevron{transform:rotate(0)}.fin-account-detail{border-top:1px solid var(--border-subtle);padding:0 22px 22px}.fin-account-summary{grid-template-columns:1fr 1fr;gap:20px;padding:18px 0;display:grid}.fin-acc-col{border-radius:var(--radius-sm);padding:14px 18px;font-size:12px}.fin-acc-col:first-child{background:#4caf500d;border:1px solid #4caf501f}.fin-acc-col:last-child{background:#fb8c000d;border:1px solid #fb8c001f}.fin-acc-col-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.fin-acc-row{color:var(--text-light);justify-content:space-between;padding:3px 0;display:flex}.fin-acc-row span:last-child{color:var(--text);font-weight:600}.fin-acc-row-total{border-top:1px solid #0000000f;margin-top:6px;padding-top:6px;font-weight:700}.fin-acc-row-est{color:var(--text-muted);font-size:11px;font-style:italic}.fin-project-table{margin-top:4px}.fin-project-header-row,.fin-project-row{grid-template-columns:2fr 1fr 1fr 1fr 80px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.fin-project-header-row{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);margin-bottom:2px;padding-bottom:8px;font-size:10px;font-weight:700}.fin-project-row{border-bottom:1px solid var(--border-subtle);color:var(--text-light);transition:background .1s}.fin-project-row:last-child{border-bottom:none}.fin-project-row:hover{background:#00000005}.fin-project-row-est{color:var(--text-muted);font-style:italic}.fin-proj-col-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.fin-project-row-est .fin-proj-col-name{color:var(--text-muted)}.fin-proj-col{text-align:right}.fin-proj-col-src{text-align:center}.fin-badge{letter-spacing:.3px;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-block}.fin-badge-rollup{color:#2e7d32;background:#4caf501a}.fin-badge-est{color:#e65100;background:#fb8c001a}.fin-chat-section{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin:40px 0 32px;padding:28px 32px}.fin-chat-header-row{justify-content:center;align-items:center;margin-bottom:8px;display:flex;position:relative}.fin-chat-header-center{text-align:center}.fin-chat-header-row .fin-chat-clear{position:absolute;top:50%;right:0;transform:translateY(-50%)}.fin-chat-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);margin-bottom:4px;font-size:18px}.fin-chat-subtitle{color:var(--text-muted);margin-bottom:4px;font-size:12px}.fin-chat-body{max-width:680px;margin:0 auto}.fin-chat-form{gap:8px;margin:0 auto;display:flex}.fin-chat-input{color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;padding:10px 16px;font-size:13px;transition:border-color .15s}.fin-chat-input:focus{border-color:var(--accent)}.fin-chat-input::placeholder{color:var(--text-light)}.fin-chat-send{background:var(--text);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;padding:10px 14px;transition:opacity .15s;display:flex}.fin-chat-send:disabled{opacity:.3;cursor:not-allowed}.fin-chat-send:hover:not(:disabled){opacity:.8}.fin-chat-powered{color:var(--text-light);letter-spacing:.5px;text-align:center;margin:10px 0 12px;font-size:10px}.fin-chat-thinking{color:var(--accent);margin-top:12px;font-size:12px;animation:1.5s ease-in-out infinite finChatPulse}@keyframes finChatPulse{0%,to{opacity:.5}50%{opacity:1}}.fin-chat-answer{background:linear-gradient(135deg, var(--card) 0%, var(--bg-secondary,var(--card)) 100%);border:1px solid var(--border);border-left:3px solid var(--accent,#3a7ca5);border-radius:var(--radius);color:var(--text);text-align:left;letter-spacing:.01em;margin-top:16px;padding:20px 24px;font-size:13px;line-height:1.7;animation:.4s both slideUp}.fin-chat-answer strong{color:var(--text);letter-spacing:.02em;font-weight:700}.fin-chat-error{color:#c62828;margin-top:12px;font-size:12px}.fin-chat-spinner{animation:.8s linear infinite spin}.fin-chat-thread{flex-direction:column;gap:8px;max-height:400px;margin:12px 0;display:flex;overflow-y:auto}.fin-chat-msg{border-radius:10px;max-width:90%;padding:10px 14px;font-size:13px;line-height:1.5}.fin-chat-msg-user{background:var(--accent);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.fin-chat-msg-assistant{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:3px;align-self:flex-start}.fin-chat-msg-role{text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:3px;font-size:10px;font-weight:600}.fin-chat-msg-content strong{color:inherit;font-weight:600}.fin-chat-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;transition:all .15s;display:flex}.fin-chat-clear:hover{color:var(--text);border-color:var(--text-muted)}.bw-page{padding:0}.bw-page.bw-loaded .bw-animate{animation:.5s both slideUp}.bw-header{margin-bottom:24px}.bw-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-primary);font-size:28px}.bw-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.bw-title-row{justify-content:space-between;align-items:center;display:flex}.bw-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.bw-toggle-track{background:var(--border);border-radius:10px;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.bw-toggle-track.bw-toggle-on{background:#3a7ca5}.bw-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.bw-toggle-on .bw-toggle-thumb{transform:translate(16px)}.bw-toggle-text{color:var(--text-secondary);letter-spacing:.5px;font-size:12px;font-weight:600}.bw-top-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.bw-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:12px;padding:20px}.bw-card-primary{border-left:3px solid var(--accent)}.bw-card-label{letter-spacing:1px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:600}.bw-card-value{font-size:32px;font-weight:700;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;line-height:1}.bw-card-sub{color:var(--text-secondary);margin-top:6px;font-size:12px}.bw-health-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.bw-health-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:16px}.bw-health-value{font-size:28px;font-weight:700;font-family:var(--font-bebas), "Bebas Neue", sans-serif;line-height:1}.bw-health-card-clickable:hover{background:var(--input-bg)}.bw-health-card-active{background:var(--input-bg);border-color:var(--text-tertiary)}.bw-health-expand-hint{color:var(--text-tertiary);letter-spacing:.03em;margin-top:6px;font-size:9px}.bw-health-card-clickable:hover .bw-health-expand-hint{color:var(--text-secondary)}.bw-health-detail{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-top:8px;margin-bottom:4px;padding:8px 12px}.bw-health-dept-group{margin-bottom:8px}.bw-health-dept-group:last-child{margin-bottom:0}.bw-health-dept-label{letter-spacing:.06em;color:var(--text-secondary);border-left:3px solid;margin-bottom:4px;padding-left:8px;font-size:10px;font-weight:700}.bw-health-dept-count{color:var(--text-tertiary);margin-left:4px;font-weight:400}.bw-health-person-row{align-items:baseline;gap:6px;padding:3px 0 3px 14px;font-size:11px;display:flex}.bw-health-person-name{color:var(--text-primary);font-weight:600}.bw-health-person-title{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}.bw-health-person-hrs{white-space:nowrap;font-weight:600}.bw-health-person-pct{color:var(--text-tertiary);font-weight:400}.bw-health-pct{opacity:.7;margin-top:2px;font-size:14px;font-weight:600}.bw-health-label{color:var(--text-primary);margin-top:6px;font-size:11px;font-weight:600}.bw-health-sub{color:var(--text-tertiary);margin-top:2px;font-size:10px}.bw-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:12px;font-size:16px}.bw-timeline{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:28px;padding:24px 28px}.bw-timeline-top{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.bw-timeline-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:6px;font-size:16px}.bw-timeline-legend{color:var(--text-secondary);gap:16px;font-size:11px;display:flex}.bw-filter-toggle{background:var(--border-subtle);border-radius:6px;gap:2px;padding:2px;display:flex}.bw-filter-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:5px;padding:4px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:all .15s}.bw-filter-btn.active{background:var(--tag-active-bg);color:var(--tag-active-text);font-weight:600}.bw-filter-btn:hover:not(.active){color:var(--text)}.bw-legend-box{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.bw-legend-scoped{background:#3a7ca5}.bw-legend-available{background:var(--border);opacity:.5}.bw-timeline-chart{padding:8px 0 4px;overflow-x:auto}.bw-timeline-chart svg{max-width:100%;margin:0 auto;display:block}.bw-chart-label{font-family:Inter,sans-serif;font-size:9px}.bw-chart-week-label{font-family:Inter,sans-serif;font-size:10px;font-weight:500}.bw-chart-tooltip-val{font-family:Inter,sans-serif;font-size:12px;font-weight:700}.bw-chart-tooltip-sub{font-family:Inter,sans-serif;font-size:10px}.bw-dept-section{margin-bottom:24px}.bw-gauge-row{flex-wrap:wrap;justify-content:center;gap:40px;display:flex}.bw-gauge{text-align:center;min-width:140px}.bw-gauge-pct{font-size:22px;font-weight:700;font-family:var(--font-bebas), "Bebas Neue", sans-serif}.bw-gauge-sub{font-family:Inter,sans-serif;font-size:9px}.bw-gauge-label{color:var(--text-primary);text-align:center;margin-top:8px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.bw-gauge-detail{color:var(--text-tertiary);text-align:center;margin-top:3px;font-family:Inter,sans-serif;font-size:10px}.bw-fte-fl-row{background:var(--card);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:flex-start;gap:40px;padding:24px 32px;display:flex}.bw-fte-fl-col{flex-direction:column;flex:1;align-items:center;gap:16px;max-width:280px;display:flex}.bw-fte-fl-divider{background:var(--border);align-self:stretch;width:1px}.bw-fte-fl-stats{justify-content:center;gap:20px;display:flex}.bw-fte-fl-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.bw-fte-fl-stat-value{color:var(--text-primary);font-family:Inter,sans-serif;font-size:16px;font-weight:700}.bw-fte-fl-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px;font-family:Inter,sans-serif;font-size:10px}.bw-tier-section{margin-bottom:24px}.bw-tier-bars{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.bw-tier-row{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr 120px;align-items:center;gap:12px;padding:8px 0;display:grid}.bw-tier-row:last-child{border-bottom:none}.bw-tier-label{flex-direction:column;display:flex}.bw-tier-name{color:var(--text-primary);font-size:13px;font-weight:600}.bw-tier-count{color:var(--text-tertiary);font-size:10px}.bw-tier-bar-wrap{border-radius:8px;height:16px;position:relative;overflow:visible}.bw-tier-bar-bg{background:var(--input-bg);border-radius:8px;position:absolute;inset:0}.bw-tier-bar-fill{border-radius:8px;height:100%;transition:width .8s;position:absolute;top:0;left:0}.bw-tier-bar-marker{background:var(--text-tertiary);opacity:.3;width:2px;height:20px;position:absolute;top:-2px}.bw-tier-stats{flex-direction:column;align-items:flex-end;font-size:13px;display:flex}.bw-tier-hrs{color:var(--text-tertiary);font-size:10px}.bw-people-section{margin-bottom:24px}.bw-people-table{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.bw-people-header{letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--input-bg);grid-template-columns:2fr 1fr .8fr 1.5fr .7fr .7fr .5fr;padding:10px 16px;font-size:10px;font-weight:600;display:grid}.bw-people-row{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr .8fr 1.5fr .7fr .7fr .5fr;align-items:center;padding:8px 16px;font-size:12px;transition:background .1s;display:grid}.bw-people-row:last-child{border-bottom:none}.bw-people-row:hover{background:var(--input-bg)}.bw-people-row.bw-row-over{background:#d450500a}.bw-people-row.bw-row-empty{opacity:.5}.bw-col-name{flex-direction:column;gap:1px;min-width:0;display:flex}.bw-person-name{color:var(--text-primary);font-size:12.5px;font-weight:600}.bw-person-title{color:var(--text-tertiary);font-size:10px}.bw-col-dept,.bw-col-tier{color:var(--text-secondary);font-size:11px}.bw-col-hrs{text-align:right;font-size:12px;font-weight:500}.bw-col-util{text-align:right;font-size:12px;font-weight:700}.bw-col-bar{padding:0 8px}.bw-mini-bar-wrap{background:var(--input-bg);border-radius:4px;height:8px;overflow:hidden}.bw-mini-bar-fill{border-radius:4px;height:100%;transition:width .6s}.bw-tooltip{color:var(--text-tertiary);cursor:help;letter-spacing:0;margin-left:4px;font-size:11px;font-weight:400;position:relative}.bw-filter-active-label{background:var(--text-primary);color:var(--card);vertical-align:middle;border-radius:4px;margin-left:4px;padding:2px 6px;font-size:9px;font-weight:600}.bw-gaps-section{margin-bottom:24px}.bw-gaps-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:768px){.bw-gaps-grid{grid-template-columns:1fr}}.bw-gaps-col{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}.bw-gaps-col-header{letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.bw-gaps-col-icon{font-size:8px}.bw-gaps-count{background:var(--input-bg);color:var(--text-secondary);border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.bw-gaps-project{color:inherit;border-radius:8px;margin-bottom:4px;padding:8px;text-decoration:none;transition:background .1s;display:block}.bw-gaps-project:hover{background:var(--input-bg)}.bw-gaps-project-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.bw-gaps-account{color:var(--text-tertiary);font-size:10px}.bw-gaps-name{color:var(--text-primary);font-size:12px;font-weight:600}.bw-gaps-roles{flex-wrap:wrap;gap:4px;display:flex}.bw-gaps-role-tag{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:500}.bw-gaps-role-understaffed{color:#2e7d32;background:#2e7d3214;border:1px solid #2e7d3233}.bw-gaps-role-overscoped{color:#d4805a;background:#d4805a14;border:1px solid #d4805a33}.bw-people-row-clickable:hover{background:var(--input-bg)}.bw-people-row.bw-row-expanded{background:var(--input-bg);border-bottom-color:#0000}.bw-expand-icon{color:var(--text-tertiary);margin-right:4px;font-size:10px;line-height:1}.bw-person-detail{background:var(--input-bg);border-bottom:1px solid var(--border);padding:2px 16px 8px 36px}.bw-detail-empty{color:var(--text-tertiary);padding:6px 0;font-size:11px;font-style:italic}.bw-detail-row{color:inherit;border-radius:6px;grid-template-columns:1.2fr 1.5fr 1fr .7fr .6fr 24px;align-items:center;padding:5px 8px;font-size:11px;text-decoration:none;transition:background .1s;display:grid}.bw-detail-row:hover{background:var(--card)}.bw-detail-account{color:var(--text-tertiary);align-items:center;gap:6px;font-size:10px;display:flex}.bw-detail-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.bw-detail-project{color:var(--text-primary);font-size:11.5px;font-weight:600}.bw-detail-role{color:var(--text-secondary);font-size:10.5px}.bw-detail-phase{text-transform:capitalize;font-size:10px;font-weight:600}.bw-detail-hrs{text-align:right;color:var(--text-primary);font-size:11px;font-weight:600}.bw-detail-link{color:var(--text-tertiary);text-align:right;font-size:12px}.bw-detail-row:hover .bw-detail-link{color:var(--text-primary)}.bw-insights-section{margin-bottom:24px}.bw-insights-list{flex-direction:column;gap:8px;display:flex}.bw-insight{border:1px solid var(--border);background:var(--card);color:var(--text-primary);border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;font-family:Inter,sans-serif;font-size:13px;line-height:1.5;transition:transform .15s,box-shadow .15s;display:flex}.bw-insight:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bw-insight-icon{flex-shrink:0;margin-top:1px;font-size:16px}.bw-insight-text{flex:1}.bw-insight-info{border-left:3px solid #3a7ca5}.bw-insight-warning{background:#d4805a08;border-left:3px solid #d4805a}.bw-insight-positive{background:#2d8a4e08;border-left:3px solid #2d8a4e}.bw-insight-alert{background:#d4505008;border-left:3px solid #d45050}.bw-chat-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:20px}.bw-chat-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-secondary);margin-bottom:4px;font-size:16px}.bw-chat-subtitle{color:var(--text-tertiary);margin-bottom:12px;font-size:12px}.fin-compare-section{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:36px;padding:28px}.fin-compare-section-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.fin-compare-year-chips{gap:8px;display:flex}.fin-compare-chip{border:1.5px solid var(--border);letter-spacing:.5px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.fin-compare-chip:hover{border-color:var(--text);color:var(--text)}.fin-compare-chip-on{color:#fff!important;border-color:#0000!important}.fin-compare-empty{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px;font-style:italic}.fin-compare-card-multi{flex-direction:column;gap:8px;margin-top:10px;display:flex}.fin-compare-card-year-row{align-items:center;gap:8px;display:flex}.fin-compare-card-year-row .fin-compare-yr-tag{color:#fff;letter-spacing:.3px;text-align:center;border-radius:4px;min-width:38px;padding:2px 8px;font-size:10px;font-weight:700}.fin-compare-card-year-row .fin-compare-yr-val{color:var(--text);font-size:16px;font-weight:700}.fin-compare-inline-delta{margin-left:auto;font-size:11px;font-weight:600}.fin-compare-subtitle{color:var(--text-muted);margin-top:4px;margin-bottom:20px;font-size:13px}.fin-compare-cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}@media (max-width:900px){.fin-compare-cards{grid-template-columns:repeat(2,1fr)}}.fin-compare-card{background:var(--bg);border:1px solid var(--border-subtle);border-radius:10px;padding:16px}.fin-compare-card-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:12px;font-size:10px;font-weight:700}.fin-compare-card-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.fin-compare-year-col{flex-direction:column;align-items:center;gap:4px;display:flex}.fin-compare-yr-tag{letter-spacing:.5px;color:#fff;background:#2d8a4e;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.fin-compare-yr-tag-alt{background:var(--border);color:var(--text-muted)}.fin-compare-yr-val{font-family:Inter,sans-serif;font-size:15px;font-weight:700}.fin-compare-delta{text-align:center;font-family:Inter,sans-serif;font-size:13px;font-weight:700}.fin-compare-delta-pct{opacity:.7;font-size:10px;font-weight:600;display:block}.fin-compare-quarterly{margin-bottom:28px}.fin-compare-q-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:16px;font-size:12px;font-weight:700}.fin-compare-q-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.fin-compare-q-col{text-align:center}.fin-compare-q-bars{justify-content:center;align-items:flex-end;height:140px;display:flex}.fin-compare-q-bar-wrap{align-items:flex-end;gap:4px;height:100%;display:flex}.fin-compare-q-bar{border-radius:4px 4px 0 0;width:28px;min-height:4px;transition:height .6s ease-out}.fin-compare-q-bar-cur{background:#2d8a4e}.fin-compare-q-bar-oth{background:var(--border)}.fin-compare-q-label{margin-top:8px;font-family:Bebas Neue,sans-serif;font-size:14px;font-weight:700}.fin-compare-q-vals{flex-direction:column;align-items:center;gap:1px;margin-top:4px;font-family:Inter,sans-serif;font-size:12px;display:flex}.fin-compare-q-delta{margin-top:2px;font-size:11px;font-weight:700}.fin-compare-legend{color:var(--text-muted);justify-content:center;gap:20px;margin-top:12px;font-size:11px;display:flex}.fin-compare-legend-dot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.fin-compare-accounts{margin-top:4px}.fin-compare-acc-table{border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.fin-compare-acc-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr repeat(6,1fr);gap:8px;padding:10px 16px;font-size:10px;font-weight:700;display:grid}.fin-compare-acc-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr repeat(6,1fr);gap:8px;padding:10px 16px;font-family:Inter,sans-serif;font-size:13px;transition:background .1s;display:grid}.fin-compare-acc-row:last-child{border-bottom:none}.fin-compare-acc-row:hover{background:#00000004}.fin-compare-acc-name{letter-spacing:.5px;font-family:Bebas Neue,sans-serif;font-size:14px;font-weight:600}.kamp-footer{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:4px;color:var(--text-muted);text-align:center;opacity:.4;margin-top:48px;padding-bottom:32px;font-size:32px}.view-toggle-group{background:var(--border-subtle);border-radius:8px;gap:2px;margin-right:10px;padding:2px;display:flex}.view-toggle-btn{width:32px;height:28px;color:var(--text-light);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.view-toggle-btn:hover{color:var(--text-muted);background:var(--card)}.view-toggle-btn.active{color:var(--text);background:var(--card);box-shadow:0 1px 3px #00000014,0 0 0 1px #00000008}.project-list-view{margin-top:8px}.list-header-row{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-light);border-bottom:2px solid var(--border);align-items:center;padding:8px 16px;font-size:11px;display:flex}.list-header-row .list-col-team,.list-header-row .list-col-status,.list-header-row .list-col-dates,.list-header-row .list-col-budget-group{border-left:none}.list-col{flex-shrink:0}.list-col-project{text-overflow:ellipsis;flex:2.5;min-width:0;padding-right:16px;overflow:hidden}.list-col-status{border-left:1px solid var(--border-subtle);width:90px;padding:0 12px}.list-col-dates{width:140px;color:var(--text-muted);border-left:1px solid var(--border-subtle);padding:0 12px;font-size:11.5px}.list-col-budget-group{border-left:1px solid var(--border-subtle);justify-content:flex-end;gap:12px;width:160px;padding:0 12px;display:flex}.list-col-booked{color:var(--text);white-space:nowrap;font-size:11.5px;font-weight:600}.list-col-potential{color:#e65100;white-space:nowrap;font-size:11.5px;font-weight:500}.list-col-team{border-left:1px solid var(--border-subtle);flex:2;min-width:0;padding-left:16px}.list-account-group{margin-bottom:2px}.list-account-header{background:var(--card);border-radius:0 var(--radius) var(--radius) 0;border-left:3px solid;align-items:center;margin-top:10px;padding:10px 16px;display:flex}.list-account-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);font-size:18px}.list-vertical-header{letter-spacing:1px;text-transform:uppercase;color:var(--text-light);padding:6px 16px 3px 24px;font-size:10px;font-weight:600}.list-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:center;padding:5px 16px;transition:background .12s;display:flex}.list-row:hover{background:var(--input-bg)}.list-row-inactive{opacity:.4}.list-row-inactive:hover{opacity:.7}.list-project-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.list-job-number{color:var(--text-light);margin-left:6px;font-size:10px;font-weight:400}.list-status-badge{white-space:nowrap;letter-spacing:.2px;border:1px solid;border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.list-dates-estimated{color:var(--text-muted);font-style:italic}.list-dates-none{color:var(--text-light);opacity:.3}.list-team-name{color:var(--text-muted);white-space:nowrap;font-size:11.5px}.list-team-name+.list-team-name:before{content:", "}.list-team-more{color:var(--text-light);margin-left:3px;font-size:10px}.list-no-data{color:var(--text-light);opacity:.2}.map-view{flex-direction:column;gap:24px;padding:8px 0;display:flex}.map-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.map-tree{flex-direction:column;align-items:center;display:flex}.map-tree-hero{width:100%}.map-tree-hero>.map-branches{flex-flow:wrap;justify-content:center;align-items:flex-start;gap:12px;padding-top:12px;display:flex}.map-tree-hero>.map-branches:before{display:none}.map-tree-hero .map-branch{align-items:center;width:auto;min-width:160px;margin-top:0}.map-tree-hero .map-branch-connector{display:none}.map-tree-hero .map-leaf-direct{margin-top:0}.map-tree-hero .map-leaf-direct>.map-branch-connector{display:none}.map-root-node{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000000a}.map-tree-hero>.map-root-node{align-self:center;box-shadow:0 2px 10px #00000012}.map-root-accent{flex-shrink:0;width:4px}.map-root-body{flex-direction:column;gap:3px;padding:10px 14px;display:flex}.map-root-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.2px;font-size:18px;line-height:1.1}.map-tree-hero .map-root-name{font-size:22px}.map-root-counts{flex-wrap:wrap;gap:5px;display:flex}.map-count-badge{letter-spacing:.3px;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:700}.map-count-active{background:var(--status-awarded)}@supports (color:color-mix(in lab, red, red)){.map-count-active{background:color-mix(in srgb, var(--status-awarded) 14%, transparent)}}.map-count-active{color:var(--status-awarded)}.map-count-pipeline{background:var(--status-rfp)}@supports (color:color-mix(in lab, red, red)){.map-count-pipeline{background:color-mix(in srgb, var(--status-rfp) 14%, transparent)}}.map-count-pipeline{color:var(--status-rfp)}.map-branches{flex-direction:column;align-items:center;width:100%;padding-top:0;display:flex;position:relative}.map-branches:before{content:"";background:var(--border);width:1px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.map-branch{flex-direction:column;align-items:center;width:100%;margin-top:10px;display:flex;position:relative}.map-branch-connector{background:var(--border);width:1px;height:8px}.map-branch-node{background:var(--input-bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;padding:3px 10px;display:flex}.map-branch-name{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:10px;font-weight:700}.map-branch-count{color:var(--text-muted);background:var(--card);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex}.map-branch-children{flex-direction:column;align-items:center;width:100%;display:flex}.map-leaf{flex-direction:column;align-items:center;display:flex}.map-leaf-connector{background:var(--border);width:1px;height:2px}.map-leaf-direct{margin-top:10px}.map-leaf-direct>.map-branch-connector{height:8px}.map-project-node{cursor:pointer;border-radius:4px;align-items:center;gap:6px;width:180px;padding:4px 10px;transition:background .12s;display:flex}.map-project-node:hover{background:var(--input-bg)}.map-node-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.map-node-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:11px;font-weight:500;line-height:1;overflow:hidden}.map-node-muted{opacity:.45}.map-node-muted:hover{opacity:1}.gantt-view{margin-top:8px;overflow-x:auto}.gantt-header{border-bottom:2px solid var(--border);background:var(--bg);z-index:2;display:flex;position:sticky;top:0}.gantt-label-col{width:200px;min-width:200px;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-light);flex-shrink:0;padding:8px 12px;font-size:12px}.gantt-timeline-col{flex:1;min-width:500px;position:relative}.gantt-month-header{height:100%;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);border-right:1px solid var(--border-subtle);box-sizing:border-box;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:0}.gantt-month-header.gantt-month-selected{color:var(--accent);background:#2d8a4e0f;font-weight:600}.gantt-account-group{margin-bottom:2px}.gantt-account-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);background:var(--card);border-left:3px solid;margin-top:8px;padding:10px 12px 4px;font-size:16px}.gantt-vertical-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);padding:4px 12px 2px 24px;font-size:11px;font-weight:600}.gantt-row{cursor:pointer;border-bottom:1px solid var(--border-subtle);align-items:center;min-height:32px;transition:background .12s;display:flex}.gantt-row:hover{background:var(--input-bg)}.gantt-project-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:4px 12px;font-size:12px;font-weight:500;overflow:hidden}.gantt-bar-track{width:100%;height:18px;position:relative}.gantt-bar-segment{opacity:.85;border-radius:3px;height:14px;transition:opacity .12s;position:absolute;top:2px}.gantt-row:hover .gantt-bar-segment{opacity:1}.gantt-today-line{opacity:.5;z-index:1;background:#e53935;width:1px;position:absolute;top:0;bottom:0}.gantt-legend{color:var(--text-muted);gap:16px;margin-top:8px;padding:12px 16px;font-size:11px;display:flex}.gantt-legend-item{align-items:center;gap:5px;display:flex}.gantt-legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.gantt-phase-filters{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 16px;display:flex}.gantt-filter-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-right:4px;font-size:11px;font-weight:600}.gantt-phase-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s}.gantt-phase-pill:hover{border-color:var(--text);color:var(--text)}.gantt-phase-pill.active{background:var(--text);color:var(--bg);border-color:var(--text)}.rising-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text-light);border-bottom:1px solid var(--border);margin:48px 0 24px;padding-bottom:10px;font-size:26px}.empty-state{text-align:center;color:var(--text-light);letter-spacing:.3px;padding:80px 20px;font-size:14px}.week-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;font-size:18px;display:flex}.week-daily-view{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:24px;padding:20px 24px}.week-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--card);z-index:2;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:16px;display:flex;position:sticky;top:0}.week-section-count{background:var(--bg);border:1px solid var(--border);letter-spacing:0;border-radius:10px;padding:1px 8px;font-family:Inter,sans-serif;font-size:10px;font-weight:600}.week-day-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:8px;overflow:hidden}.week-day-section.past{opacity:.55}.week-past-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);align-items:center;gap:6px;margin-bottom:8px;padding:8px 16px;transition:background .15s;display:flex}.week-past-toggle:hover{background:var(--bg)}.week-past-arrow{color:var(--text-muted);font-size:14px;transition:transform .2s;display:inline-block}.week-past-arrow.expanded{transform:rotate(90deg)}.week-past-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.2px;color:var(--text-muted);text-transform:uppercase;font-size:13px}.week-day-section.today{opacity:1;border-width:2px;border-color:#4caf50;box-shadow:0 2px 12px #4caf501f}.week-day-header{background:var(--bg);border-bottom:1px solid var(--border-light);z-index:10;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.week-day-header.today{background:#e8f5e9}.week-day-header.week-day-allweek{background:#fff3e0}.week-day-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);font-size:14px}.week-day-today-badge{letter-spacing:1px;color:#fff;background:#4caf50;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700}.week-day-body{padding:10px 16px}.week-day-milestones{flex-direction:column;gap:4px;display:flex}.week-day-ms-row{align-items:center;gap:8px;padding:4px 0;font-size:11px;display:flex}.week-day-ms-project{color:var(--text);font-weight:600}.week-day-ms-label{color:var(--text-muted);font-size:10px}.week-day-divider{background:var(--border-light);height:1px;margin:8px 0}.week-daily-view .pto-person-row,.week-daily-view .pto-person-row-with-cov{font-size:11px}.week-daily-view .pto-person-row .pto-person-name,.week-daily-view .pto-person-row-with-cov .pto-person-name{font-size:11px;font-weight:600}.week-daily-view .pto-person-reason{font-size:10px}.week-daily-view .pto-person-dot{width:6px;height:6px}.week-daily-view .pto-week-cov-projects{padding-left:16px}.week-daily-view .pto-week-cov-row,.week-daily-view .pto-week-cov-proj{font-size:10px}.week-daily-view .pto-week-cov-role{font-size:9px}.week-daily-view .pto-week-cov-name,.week-daily-view .pto-week-cov-needs{font-size:10px}.week-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.week-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);animation:contentFadeIn .35s var(--ease-out) both;border-left:3px solid #0000;overflow:hidden}.week-card:hover{box-shadow:var(--shadow);border-left-color:var(--accent)}.week-card.full-width{grid-column:1/-1}.week-card-header{border-bottom:1px solid var(--border-subtle);font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);justify-content:space-between;align-items:center;padding:16px 22px;font-size:15px;display:flex}.week-card-count{background:var(--tag-inactive-bg);color:var(--text-muted);border-radius:12px;padding:2px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:700}.week-card-body{padding:18px 22px}.week-day-group{margin-bottom:16px}.week-day-group:last-child{margin-bottom:0}.week-day-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);border-bottom:1px solid var(--border-subtle);margin-bottom:8px;padding-bottom:5px;font-size:10px;font-weight:700}.week-day-label.today{color:var(--status-awarded);border-bottom-color:var(--status-awarded-border)}.week-item{align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.week-item+.week-item{border-top:1px solid #00000008}.week-item-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.week-item-name{color:var(--text);flex-shrink:0;font-weight:600}.week-item-meta{color:var(--text-muted);flex:1;font-size:11px}.week-item-pill{letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.week-empty{text-align:center;color:var(--text-light);padding:24px 0;font-size:13px}.week-item-halo{border-radius:8px;padding:1px}.week-item-halo-green{box-shadow:0 0 0 2px #2e7d3259,0 0 8px #2e7d3226}.week-item-halo-grey{box-shadow:0 0 0 2px #96969659,0 0 8px #96969626}.team-update-row{border-bottom:1px solid var(--border);padding:8px 0}.team-update-row:last-child{border-bottom:none}.team-update-header{align-items:center;gap:8px;display:flex}.team-update-name{font-size:13px;font-weight:600}.team-update-badge{letter-spacing:.5px;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.team-update-meta{color:var(--text-secondary);align-items:center;gap:4px;margin-top:2px;margin-left:18px;font-size:11px;display:flex}.team-update-sep{color:var(--text-muted)}.team-update-type{font-weight:600}.team-update-projects{flex-wrap:wrap;gap:4px;margin-top:4px;margin-left:18px;display:flex}.team-update-project-tag{background:var(--bg-secondary);color:var(--text-secondary);border-radius:3px;padding:2px 6px;font-size:10px}.week-pto-simple{color:var(--text-secondary);padding:4px 0;font-size:.9rem;line-height:1.6}.week-pto-label{color:var(--text-primary);font-weight:600}.week-pto-grouped{flex-direction:column;gap:0;display:flex}.pto-day-group{border-bottom:1px solid var(--border);padding:12px 0}.pto-day-group:last-child{border-bottom:none}.pto-day-group.today{background:#00000004;margin:0 -16px;padding:12px 16px}.pto-day-label{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;font-size:.7rem;font-weight:700}.pto-day-group.today .pto-day-label{color:#c62828}.pto-person-row{align-items:center;gap:10px;padding:6px 0;display:flex}.pto-person-dot{background:#c62828;border-radius:50%;flex-shrink:0;width:8px;height:8px}.pto-person-row .pto-person-name{color:var(--text-primary);flex:1;font-size:.9rem;font-weight:600}.pto-person-reason{color:var(--text-muted);text-align:right;flex-shrink:0;font-size:.8rem}.week-nav-bottom{justify-content:center;margin-top:36px;display:flex}.week-nav-btn{letter-spacing:.5px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out);align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:600;display:flex}.week-nav-btn:hover{border-color:var(--text-muted);box-shadow:var(--shadow-sm)}.week-nav-btn.active{background:var(--input-bg)}.week-nav-arrow{transition:transform .3s var(--ease-out);font-size:10px}.week-nav-arrow.open{transform:rotate(180deg)}.week-next-section{border-top:1px solid var(--border);margin-top:48px;padding-top:36px}.nbiz-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.nbiz-group-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-light);margin-bottom:8px;font-size:10px;font-weight:700}.nbiz-item{justify-content:space-between;align-items:center;display:flex}.nbiz-info{align-items:center;gap:8px;display:flex}.nbiz-right{align-items:center;gap:10px;display:flex}.nbiz-budget{color:var(--text-muted);font-size:12px;font-weight:500}.nbiz-decision{text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-xs);padding:3px 8px;font-size:10px;font-weight:700}.nbiz-header-right{align-items:center;gap:10px;display:flex}.nbiz-add-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s}.nbiz-add-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.nbiz-edit-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);animation:modalFadeIn .2s var(--ease-out);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nbiz-edit-panel{background:var(--card);border:1px solid var(--border);box-sizing:border-box;width:600px;max-width:92vw;max-height:88vh;animation:modalSlideUp .25s var(--ease-out);border-radius:16px;padding:36px 40px;overflow-y:auto;box-shadow:0 24px 80px #00000040,0 8px 24px #0000001f}.nbiz-edit-panel .modal-title{margin-bottom:24px}.nbiz-edit-panel .edit-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.nbiz-edit-panel .edit-input{padding:10px 12px;font-size:13px}.nbiz-edit-panel input[type=date].edit-input{color:var(--text-muted)}.nbiz-edit-panel input[type=date].edit-input.has-value{color:var(--text)}.nbiz-edit-panel .nbiz-form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:8px;display:grid}.nbiz-edit-panel .nbiz-form-grid-3{grid-template-columns:1fr 1fr 1fr}.nbiz-brief-upload-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:10px;margin-bottom:8px;padding:16px;transition:all .15s}.nbiz-brief-upload-zone:hover,.nbiz-brief-upload-zone.drag-over{border-color:var(--accent);background:#2d8a4e0a}.nbiz-brief-upload-label{color:var(--text-muted);font-size:12px}.nbiz-brief-current{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 14px;display:flex}.nbiz-brief-current a{color:var(--accent);align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.nbiz-brief-current a:hover{opacity:.7}.nbiz-brief-replace-btn{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:6px;margin-left:auto;padding:3px 10px;font-size:11px}.nbiz-brief-replace-btn:hover{border-color:var(--text-muted);color:var(--text)}.nbiz-brief-file-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.nbiz-brief-file-list .nbiz-brief-file{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.nbiz-brief-file-list .nbiz-brief-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.nbiz-brief-file-list .nbiz-brief-remove{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.nbiz-brief-file-list .nbiz-brief-remove:hover{color:#e53935;background:#ff00001a}.nbiz-brief-add-more{color:var(--accent);border:1px dashed var(--border);cursor:pointer;text-align:center;background:0 0;border-radius:8px;padding:8px;font-size:11px;font-weight:600;transition:all .15s}.nbiz-brief-add-more:hover{border-color:var(--accent);background:#2d8a4e0a}.modal-content.nbiz-form{box-sizing:border-box;width:700px;max-width:92vw;max-height:90vh;padding:40px 48px;overflow-y:auto}.nbiz-form .modal-title{margin-bottom:24px}.nbiz-form .edit-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:700}.nbiz-form .edit-input{padding:10px 12px;font-size:13px}.nbiz-form input[type=date].edit-input{color:var(--text-muted)}.nbiz-form input[type=date].edit-input.has-value{color:var(--text)}.nbiz-form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:8px;display:grid}.nbiz-form-grid-3{grid-template-columns:1fr 1fr 1fr}.nbiz-form textarea.edit-input{resize:vertical;min-height:70px}.nbiz-autocomplete{position:relative}.nbiz-autocomplete-dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:200;max-height:200px;padding:4px 0;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 30px #0000001f}.nbiz-autocomplete-item{color:var(--text);cursor:pointer;padding:7px 12px;font-size:13px;font-weight:500;transition:background .1s}.nbiz-autocomplete-item:hover,.nbiz-autocomplete-item.highlighted{background:var(--input-bg)}.nbiz-autocomplete-item.na-option{color:var(--text-muted);border-bottom:1px solid var(--border);font-style:italic}.nbiz-form .modal-actions{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.nbiz-dept-toggles{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.nbiz-dept-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;border-radius:12px;padding:4px 9px;font-size:10px;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.nbiz-dept-btn:hover{border-color:var(--text-muted);color:var(--text);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.nbiz-dept-btn:active{box-shadow:none;transform:translateY(0)}.nbiz-dept-btn.active{background:var(--text);color:var(--card);border-color:var(--text)}.nbiz-dept-btn.active:hover{box-shadow:0 2px 10px #0000002e}.nbiz-dept-btn.vote-go{color:#fff;background:#2d8a4e;border-color:#2d8a4e}.nbiz-dept-btn.vote-go:hover{background:#247a42;box-shadow:0 2px 10px #2d8a4e40}.nbiz-dept-btn.vote-nogo{color:#fff;background:#c62828;border-color:#c62828}.nbiz-dept-btn.vote-nogo:hover{background:#b71c1c;box-shadow:0 2px 10px #c6282840}.nbiz-dept-btn.priority.active{color:#fff;background:#f57f17;border-color:#f57f17}.nbiz-dept-btn.priority.active:hover{background:#e06c00;box-shadow:0 2px 10px #f57f1740}.nbiz-form-vote-wrapper{display:inline-block;position:relative}.nbiz-brief-dropzone{border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:var(--input-bg);margin-top:6px;padding:16px;transition:all .2s}.nbiz-brief-dropzone:hover{border-color:var(--text-muted)}.nbiz-brief-dropzone.drag-over{border-color:var(--accent);background:#f0faf4}.nbiz-brief-dropzone.has-file{border-style:solid;border-color:var(--accent);background:#f7fdf9}.nbiz-brief-placeholder{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.nbiz-brief-placeholder strong{color:var(--accent)}.nbiz-brief-file{color:var(--text);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.nbiz-brief-icon{font-size:16px}.nbiz-brief-name{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.nbiz-brief-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.nbiz-brief-remove:hover{color:#c62828}.nbiz-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);border-left:4px solid #f5a623;margin-bottom:12px;padding:16px}.nbiz-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.nbiz-card-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text-primary);flex:1;font-size:18px}.nbiz-card-meta-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.nbiz-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:3px 10px;font-size:10px;font-weight:700}.nbiz-card-client{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:4px;font-size:.85rem;display:flex}.nbiz-card-dates{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px;padding-left:22px;display:flex}.nbiz-date-row{align-items:center;gap:8px;display:flex}.nbiz-client-icon{opacity:.5;font-size:14px}.nbiz-brief-link{border:1px solid var(--border);color:var(--accent);background:var(--card);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.nbiz-brief-link:hover{border-color:var(--accent);background:#2d8a4e0f}.nbiz-brief-link svg{flex-shrink:0}.nbiz-deadline-badge{color:#8a6d1b;white-space:nowrap;background:#fdf6e3;border:1px solid #c9a84c;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600}.nbiz-card-leads{background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 14px}.nbiz-lead-row{gap:10px;padding:2px 0;font-size:.85rem;display:flex}.nbiz-lead-label{color:var(--text-muted);min-width:36px;font-size:.8rem}.nbiz-card-footer{justify-content:flex-end;align-items:flex-start;display:flex}.nbiz-vote-box{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:8px 16px 10px;display:flex}.nbiz-weeks-tag{color:#2e7d32;background:#e8f5e9;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.nbiz-weeks-tag.urgent{color:#e65100;background:#fff3e0}.nbiz-weeks-tag.overdue{color:#c62828;background:#ffebee}.nbiz-voting-section{flex-direction:column;gap:8px;display:flex}.nbiz-voting-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:center;font-size:9px;font-weight:700}.nbiz-go-badge{letter-spacing:.04em;vertical-align:middle;border-radius:10px;margin-left:10px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.nbiz-go-badge.go{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.nbiz-go-badge.nogo{color:#c62828;background:#fbe9e7;border:1px solid #ef9a9a}.nbiz-add-to-projects-btn{color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;width:100%;margin-top:12px;padding:10px 16px;font-size:11px;font-weight:700;transition:background .15s;display:block}.nbiz-add-to-projects-btn:hover{background:#1b5e20}.nbiz-add-to-projects-btn:disabled{opacity:.6;cursor:not-allowed}.nbiz-dept-tags{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.nbiz-dept-tag{border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:4px 9px;font-size:10px;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.nbiz-dept-tag:hover{background:var(--bg-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.nbiz-vote-wrapper{position:relative}.nbiz-vote-dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:10;white-space:nowrap;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 4px 12px #0000001f}.nbiz-vote-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.nbiz-vote-btn{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .15s}.nbiz-vote-btn.go{color:#2e7d32;background:#e8f5e9}.nbiz-vote-btn.go:hover{background:#c8e6c9}.nbiz-vote-btn.nogo{color:#c62828;background:#ffebee}.nbiz-vote-btn.nogo:hover{background:#ffcdd2}.nbiz-vote-btn.clear{background:var(--bg-secondary);color:var(--text-muted)}.nbiz-vote-badge{letter-spacing:.3px;cursor:pointer;white-space:nowrap;border-radius:12px;padding:4px 9px;font-size:10px;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.nbiz-vote-badge:hover{transform:translateY(-1px)}.nbiz-vote-badge.go{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.nbiz-vote-badge.go:hover{box-shadow:0 2px 8px #2d8a4e26}.nbiz-vote-badge.nogo{color:#c62828;background:#ffebee;border:1px solid #ef9a9a}.nbiz-vote-badge.nogo:hover{box-shadow:0 2px 8px #c6282826}.nbiz-priority-tag{background:var(--card);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:4px 9px;font-size:10px;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.nbiz-priority-tag:hover{color:#f57f17;border-color:#f57f17;transform:translateY(-1px);box-shadow:0 2px 8px #f57f1726}.nbiz-priority-tag:active{box-shadow:none;transform:translateY(0)}.nbiz-priority-tag.active{color:#f57f17;background:#fff8e1;border-color:#ffe082}.nbiz-priority-tag.active:hover{box-shadow:0 2px 10px #f57f1740}.nbiz-submit-badge{border:1px solid var(--border);color:var(--text-muted);background:var(--card);white-space:nowrap;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600}.nbiz-card{cursor:pointer;transition:box-shadow .2s}.nbiz-card-expanded{box-shadow:0 4px 20px #00000014}.nbiz-card-details{border-top:1px solid var(--border);cursor:default;margin-top:12px;padding-top:12px}.nbiz-detail-columns{grid-template-columns:1fr 1fr;gap:6px 32px;margin-bottom:12px;display:grid}.nbiz-detail-col{flex-direction:column;gap:6px;display:flex}.nbiz-detail-grid{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.nbiz-detail-row{justify-content:space-between;align-items:baseline;display:flex}.nbiz-detail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.nbiz-detail-value{color:var(--text);font-size:13px;font-weight:600}.nbiz-detail-notes{margin-bottom:12px}.nbiz-detail-notes-text{color:var(--text);background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:4px;padding:10px 12px;font-size:12px;line-height:1.5}.nbiz-detail-brief-link{color:var(--accent);align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.nbiz-detail-brief-link:hover{opacity:.7}.nbiz-detail-actions{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:10px;display:flex}.nbiz-edit-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:11px;font-weight:600;transition:all .15s}.nbiz-edit-btn:hover{border-color:var(--text-muted);background:var(--input-bg)}.nbiz-delete-btn-text{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 16px;font-size:11px;font-weight:600;transition:all .15s}.nbiz-delete-btn-text:hover{color:#c62828;background:#fff5f5;border-color:#ef5350}.nbiz-detail-actions .nbiz-add-to-projects-btn{width:auto;margin-top:0;margin-left:auto;padding:6px 16px;font-size:11px}.team-directory{margin-top:0}.people-view-toggle{gap:0;margin-bottom:20px;display:flex}.people-view-toggle .cal-view-btn{border-radius:0}.people-view-toggle .cal-view-btn:first-child{border-radius:6px 0 0 6px}.people-view-toggle .cal-view-btn:last-child{border-radius:0 6px 6px 0}.pto-coverage-section{margin-top:8px}.pto-coverage-stats{color:var(--text-muted);gap:16px;margin-bottom:20px;font-size:12px;display:flex}.pto-week-group{margin-bottom:28px}.pto-week-header{border-bottom:2px solid var(--border);align-items:baseline;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.pto-week-label{color:var(--text);font-size:15px;font-weight:700}.pto-week-dates{color:var(--text-muted);font-size:12px}.pto-week-count{color:var(--text-muted);margin-left:auto;font-size:12px}.pto-empty-week{color:var(--text-muted);padding:8px 0;font-size:12px;font-style:italic}.pto-person-card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px 20px}.pto-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pto-card-header-left{align-items:baseline;gap:8px;display:flex}.pto-person-name{color:var(--text);font-size:14px;font-weight:600}.pto-person-title{color:var(--text-muted);font-size:11px}.pto-person-dates{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:600}.pto-person-dept{letter-spacing:.5px;background:var(--tag-inactive-bg);color:var(--text-muted);border-radius:4px;padding:2px 8px;font-size:9px;font-weight:700}.pto-cov-projects{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:8px}.pto-cov-proj-row{border-bottom:1px solid #00000008;align-items:center;gap:8px;padding:5px 0;font-size:12px;display:flex}.pto-cov-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pto-cov-proj-name{color:var(--text);flex:1;font-weight:500}.pto-cov-role{text-transform:uppercase;color:var(--text-muted);text-align:right;min-width:40px;font-size:10px;font-weight:600}.pto-cov-covered{color:#2d8a4e;font-size:11px;font-weight:500}.pto-cov-needs{color:#c62828;font-size:11px;font-style:italic;font-weight:600}.pto-cov-milestones{margin-top:6px;padding-left:22px}.pto-cov-ms-row{color:var(--text-muted);gap:8px;font-size:9px;line-height:1.8;display:flex}.pto-cov-ms-date{flex-shrink:0;min-width:72px}.pto-cov-ms-label{font-weight:500}.pto-cov-covered-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pto-cov-covered-entry{align-items:center;gap:4px;display:flex}.pto-cov-status-badge{text-transform:uppercase;letter-spacing:.8px;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700;display:inline-block}.pto-cov-status-badge.planning{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.pto-cov-status-badge.confirmed{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.pto-cov-status-badge.na{color:#9e9e9e;background:#f5f5f5;border:1px solid #e0e0e0}.pto-cov-notes{color:var(--text-muted);padding:2px 0 2px 14px;font-size:10px;font-style:italic;line-height:1.4}.pto-cov-remove-x{cursor:pointer;color:var(--text-muted);margin-left:2px;font-size:14px}.pto-cov-remove-x:hover{color:#c62828}.pto-cov-assign-btn{text-transform:uppercase;letter-spacing:.8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:4px;margin-top:8px;padding:4px 12px;font-size:10px;font-weight:600;transition:all .15s;display:inline-block}.pto-cov-assign-btn:hover{color:#2e7d32;background:#e8f5e9;border-color:#66bb6a}.cov-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cov-modal{background:var(--card,#fff);border-radius:12px;width:880px;max-width:96vw;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.cov-modal-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;margin:0 0 4px;font-size:22px}.cov-modal-subtitle{color:var(--text-muted);margin-bottom:18px;font-size:12px}.cov-rec-panel{background:var(--bg,#f5f5f5);border:1px solid var(--border);border-radius:8px;margin-bottom:18px;padding:12px 14px}.cov-rec-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:9px;font-weight:700}.cov-rec-chips{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.cov-rec-chip{border:1px solid var(--border);background:var(--card,#fff);cursor:grab;white-space:nowrap;border-radius:16px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;transition:all .15s;display:inline-flex}.cov-rec-chip:hover,.cov-rec-chip.hovered{background:#e8f5e9;border-color:#66bb6a;transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.cov-rec-chip:active{cursor:grabbing;transform:translateY(0)}.cov-rec-chip.same-title{background:#e8f5e9;border-color:#a5d6a7}.cov-rec-role{color:var(--text-muted);font-size:9px}.cov-rec-deadlines{color:var(--text-light);font-size:9px}.cov-rec-util{margin-left:2px;font-size:9px;font-weight:600}.cov-rec-chip.shared-account{background:#e3f2fd;border-color:#64b5f6}.cov-rec-chip.shared-account.same-title{background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border-color:#4caf50}.cov-rec-reasons{color:var(--text-muted);font-size:11px}.cov-rec-detail{background:var(--card,#fff);border:1px solid var(--border);min-height:36px;color:var(--text-muted);border-radius:6px;margin-top:8px;padding:8px 10px;font-size:10px;transition:all .15s}.cov-rec-detail em{color:var(--text-light)}.cov-rec-detail-row{align-items:baseline;gap:8px;padding:2px 0;display:flex}.cov-rec-detail-date{min-width:70px;color:var(--text);font-weight:600}.cov-rec-detail-proj{color:var(--text-muted)}.cov-project-list{flex-direction:column;gap:14px;display:flex}.cov-project-row{border-bottom:1px solid var(--border-light);padding:10px 0}.cov-project-row:last-child{border-bottom:none}.cov-proj-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.cov-proj-name{color:var(--text);font-size:12px;font-weight:600}.cov-proj-role{color:var(--text-muted);font-size:10px}.cov-entry-row{background:#f9fdf9;border-radius:4px;align-items:center;gap:6px;margin-bottom:4px;padding:4px 0 4px 22px;display:flex}.cov-entry-name{color:#2e7d32;flex:1;font-size:12px;font-weight:500}.cov-status-badge{text-transform:uppercase;letter-spacing:.8px;cursor:pointer;border:none;border-radius:3px;padding:2px 8px;font-size:8px;font-weight:700;transition:all .15s;display:inline-block}.cov-status-badge.planning{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.cov-status-badge.confirmed{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.cov-status-badge.na{color:#9e9e9e;background:#f5f5f5;border:1px solid #e0e0e0}.cov-status-badge:hover{transform:scale(1.05)}.cov-remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.cov-remove-btn:hover{color:#c62828}.cov-input-row{align-items:flex-start;gap:6px;margin-top:4px;display:flex}.cov-input-wrap{flex:1;position:relative}.cov-person-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:4px;padding:6px 10px;font-size:11px;transition:border-color .15s}.cov-person-input:focus{border-color:var(--text);outline:none}.cov-assign-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s}.cov-assign-btn:hover:not(:disabled){background:var(--text);color:var(--surface)}.cov-assign-btn:disabled{opacity:.4;cursor:default}.cov-na-btn{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s}.cov-na-btn:hover:not(:disabled){color:#9e9e9e;background:#f5f5f5;border-color:#bdbdbd}.cov-na-btn:disabled{opacity:.4;cursor:default}.cov-autocomplete{border:1px solid var(--border);z-index:1010;background:#fff;border-radius:6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #00000026}.cov-ac-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:6px 10px;font-size:11px;display:block}.cov-ac-item:hover{background:var(--hover)}.cov-notes-input{border:1px solid var(--border-light);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:4px;min-height:36px;margin-top:6px;padding:6px 10px;font-family:inherit;font-size:10px}.cov-notes-input:focus{border-color:var(--text-light);outline:none}.cov-milestones{margin-top:4px;padding-left:22px}.cov-ms-row{color:var(--text-muted);gap:8px;font-size:9px;line-height:1.8;display:flex}.cov-ms-date{flex-shrink:0;min-width:72px}.cov-ms-label{font-weight:500}.cov-modal-actions{border-top:1px solid var(--border-light);justify-content:flex-end;margin-top:18px;padding-top:14px;display:flex}.pto-person-row-with-cov{margin-bottom:8px}.pto-week-cov-projects{margin-top:2px;padding-left:20px}.pto-week-cov-row{align-items:center;gap:5px;font-size:10px;line-height:1.9;display:flex}.pto-week-cov-proj{color:var(--text);font-weight:500}.pto-week-cov-role{color:var(--text-muted);font-size:9px}.pto-week-cov-arrow{color:var(--text-light);font-size:10px}.pto-week-cov-name{color:#2d8a4e;font-weight:600}.pto-week-cov-needs{color:#c62828;font-style:italic;font-weight:600}.team-dept-section{margin-bottom:44px}.team-dept-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:10px;font-size:26px}.team-role-group{margin-bottom:22px}.team-role-header{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-light);margin-bottom:12px;padding-left:2px;font-size:10px;font-weight:700}.team-person-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.person-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), border-color .3s var(--ease-out);padding:16px 20px;position:relative}.person-card:hover{box-shadow:var(--shadow);border-color:var(--border);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.person-card:hover{border-color:color-mix(in srgb, var(--border) 70%, var(--text))}}.person-name{color:var(--text);letter-spacing:-.1px;margin-bottom:2px;font-size:14px;font-weight:700}.person-title{color:var(--text-muted);margin-bottom:10px;font-size:12px}.person-meta{align-items:center;gap:8px;display:flex}.person-type-badge{letter-spacing:.4px;text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.person-type-badge.fte{background:var(--status-awarded-bg);color:var(--status-awarded);border:1px solid var(--status-awarded-border)}.person-type-badge.freelance{background:var(--status-rfp-bg);color:var(--status-rfp);border:1px solid var(--status-rfp-border)}.person-type-badge.non-billable{color:#888;background:#f0f0f0;border:1px solid #ddd}.person-card.non-billable{opacity:.85;border-left:3px solid #ccc}.freelance-pool-section{border-top:2px dashed var(--border);margin-top:40px;padding-top:24px}.freelance-pool-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);margin-bottom:2px;font-size:22px}.freelance-pool-subtitle{color:var(--text-muted);margin-bottom:16px;font-size:12px}.freelance-pool-dept{margin-bottom:16px}.freelance-pool-dept-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;padding-left:2px;font-size:12px;font-weight:600}.freelance-pool-section .person-card{opacity:.5}.freelance-pool-section .person-card:hover{opacity:.85}.billable-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-top:6px;display:flex}.billable-toggle-track{background:#ccc;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.billable-toggle.on .billable-toggle-track{background:#2d8a4e}.billable-toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.billable-toggle.on .billable-toggle-thumb{left:20px}.billable-toggle-label{color:#666;font-size:13px;font-weight:600}.billable-toggle.on .billable-toggle-label{color:#2d8a4e}.person-dept-badge{letter-spacing:.4px;text-transform:uppercase;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border);border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-flex}.person-location{color:var(--text-light);font-size:11px}.person-assignments{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;display:flex}.person-assignment-chip{color:var(--text);background:var(--input-bg);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;cursor:default;border-radius:10px;max-width:100%;padding:2px 8px;font-size:10px;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex;overflow:hidden}.person-assignment-chip:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.person-assignment-chip:hover{background:color-mix(in srgb, var(--accent) 8%, var(--input-bg))}}.person-scoped-hours{background:var(--accent);margin-top:8px;padding:8px 10px}@supports (color:color-mix(in lab, red, red)){.person-scoped-hours{background:color-mix(in srgb, var(--accent) 4%, var(--card))}}.person-scoped-hours{border:1px solid var(--border);border-radius:8px;font-size:12px}.scoped-hours-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.scoped-hours-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.scoped-hours-header-right{align-items:center;gap:8px;display:flex}.scoped-hours-hist{color:var(--text-tertiary);background:var(--input-bg);letter-spacing:.2px;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.scoped-hours-total{color:var(--accent);font-size:14px;font-weight:700}.scoped-hours-total.over{color:#c62828}.scoped-hours-project{color:var(--text-secondary);align-items:center;gap:6px;padding:3px 0;font-size:11.5px;display:flex}.scoped-hours-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.scoped-hours-proj-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);flex:1;overflow:hidden}.scoped-hours-phase{color:var(--text-tertiary);background:var(--input-bg);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px}.scoped-hours-proj-hrs{white-space:nowrap;color:var(--text-primary);font-weight:600}.scoped-hours-forecast-btn{color:var(--accent);cursor:pointer;opacity:.8;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:4px 0;font-size:11px;font-weight:600;transition:opacity .15s;display:flex}.scoped-hours-forecast-btn:hover{opacity:1}.scoped-hours-forecast{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.scoped-forecast-week{margin-bottom:2px}.scoped-forecast-week-header{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 0;transition:background .1s;display:flex}.scoped-forecast-week-header:hover{background:var(--input-bg)}.scoped-forecast-week-label{color:var(--text-secondary);flex:1;font-size:11.5px}.scoped-forecast-week-hrs{color:var(--text-primary);font-size:12px;font-weight:600}.scoped-forecast-week-hrs.over{color:#c62828}.scoped-forecast-projects{padding-bottom:4px;padding-left:8px;animation:.15s slideUp}.scoped-hours-status-label{white-space:nowrap;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.scoped-hours-status-label.planning{color:#1565c0;background:#1565c01a}.scoped-hours-status-label.unscoped{color:#e65100;background:#e651001a}.project-preview-popup{z-index:1200;pointer-events:auto;animation:.15s previewFadeIn;position:fixed;transform:translate(-50%,-100%)translateY(-8px)}@keyframes previewFadeIn{0%{opacity:0;transform:translate(-50%,-100%)translateY(-4px)}to{opacity:1;transform:translate(-50%,-100%)translateY(-8px)}}.project-preview-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);align-items:stretch;min-width:180px;max-width:260px;display:flex;overflow:hidden;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f}.project-preview-accent{flex-shrink:0;width:5px}.project-preview-body{flex-direction:column;gap:2px;padding:10px 14px;display:flex}.project-preview-account{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:9px;font-weight:700}.project-preview-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.2}.project-preview-meta{align-items:center;gap:6px;margin-top:4px;display:flex}.project-preview-status{border:1px solid;border-radius:6px;padding:1px 6px;font-size:10px;font-weight:600}.project-preview-role{color:var(--text-muted);font-size:10px;font-weight:500}.person-dept-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:10px}.calendar-section{margin-top:0}.calendar-controls{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.cal-view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.cal-view-btn{background:var(--card);color:var(--text-light);cursor:pointer;transition:all .2s var(--ease-out);border:none;padding:8px 16px;font-size:12px;font-weight:600}.cal-view-btn:not(:last-child){border-right:1px solid var(--border)}.cal-view-btn:hover{background:var(--input-bg);color:var(--text)}.cal-view-btn.active{background:var(--tag-active-bg);color:var(--tag-active-text)}.cal-month-nav{align-items:center;gap:12px;display:flex}.cal-nav-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-xs);transition:background .2s var(--ease-out), color .2s var(--ease-out);background:0 0;border:none;padding:6px 10px;font-size:12px}.cal-nav-btn:hover{background:var(--tag-inactive-bg);color:var(--text)}.cal-month-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;text-align:center;min-width:160px;font-size:20px}.cal-ms-legend{align-items:center;gap:12px;display:flex}.cal-ms-legend-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.cal-ms-legend-dot{border-radius:2px;width:10px;height:10px}.cal-ms-legend-kamp{background:#fbc02d}.cal-ms-legend-client{background:#1976d2}.cal-ms-legend-pto{background:#e53935}.cal-visual-wrapper{position:relative}.cal-controls-right{align-items:center;gap:6px;margin-left:auto;display:flex}.cal-month-nav-big{gap:14px}.cal-month-label-big{letter-spacing:2.5px;min-width:240px!important;font-size:34px!important}.cal-nav-btn-big{padding:8px 14px!important;font-size:15px!important}.cal-btn-sm{letter-spacing:.3px;padding:5px 10px!important;font-size:10px!important}.cal-toggle-sm{border-radius:var(--radius-xs)!important}.cal-search-wrap{align-items:center;display:flex;position:relative}.cal-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:8px}.cal-search-input{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card);color:var(--text);width:160px;padding:5px 26px;font-size:11px;transition:border-color .2s,width .2s}.cal-search-input:focus{border-color:var(--accent);outline:none;width:200px}.cal-search-input::placeholder{color:var(--text-muted);font-size:10px}.cal-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px;line-height:1;position:absolute;right:4px}.cal-search-clear:hover{color:var(--text)}.cal-status-toggle{border:1px solid var(--border);border-radius:var(--radius-xs);display:flex;overflow:hidden}.cal-status-toggle .cal-view-btn{border-radius:0}.cal-status-toggle .cal-view-btn:not(:last-child){border-right:1px solid var(--border)}.cal-link-check-btn{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card);width:28px;height:28px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.cal-link-check-btn:hover{color:var(--text);background:var(--input-bg)}.cal-link-check-btn.active{color:var(--accent);border-color:var(--accent);background:var(--tag-active-bg)}.cal-table{border-collapse:collapse;table-layout:fixed;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;overflow:hidden}.cal-past-weeks-bar{cursor:pointer}.cal-past-weeks-bar:hover .cal-past-weeks-cell{background:var(--input-bg)}.cal-past-weeks-cell{text-align:center;border-bottom:1px solid var(--border);background:var(--card);padding:6px 12px;transition:background .1s}.cal-past-weeks-label{color:var(--text-muted);letter-spacing:.3px;font-size:11px;font-weight:500}.cal-th{text-align:center;text-transform:uppercase;letter-spacing:1.2px;color:#fffc;border-bottom:1px solid var(--border);background:#3a3a3a;width:14.2857%;padding:7px 4px;font-size:10px;font-weight:600}.cal-td{background:var(--card);vertical-align:top;border:1px solid var(--border-subtle);cursor:pointer;height:210px;padding:6px 6px 8px;transition:background .15s;overflow:hidden}.cal-td:hover{background:#00000003}.cal-td-empty{background:var(--input-bg);opacity:.4;cursor:default}.cal-td-today{background:var(--status-awarded-bg)}.cal-td-holiday{background:#ececec}.cal-td-expanded{background:var(--card);height:auto;min-height:210px;box-shadow:inset 0 0 0 2px var(--tag-active-bg)}.cal-week-expanded .cal-td{height:auto;min-height:210px}.cal-td-num-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.cal-td-num{color:var(--text);font-size:12px;font-weight:600}.cal-td-num-today{color:#fff;background:var(--status-awarded);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:inline-flex}.cal-td-dots{align-items:center;gap:3px;display:flex}.cal-dot{border-radius:50%;width:6px;height:6px}.cal-dot-ms{background:#fbc02d}.cal-dot-pto{background:#e53935}.cal-dot-travel{background:#5c6bc0}.cal-dot-holiday{background:#999}.cal-td-collapsed{flex-direction:column;gap:2px;display:flex}.cal-entry{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;padding:2px 5px;font-size:9px;line-height:1.4;overflow:hidden}.cal-entry.cal-entry-wrap{white-space:normal;text-overflow:unset;line-height:1.35;overflow:visible}.cal-entry-proj{font-weight:700}.cal-entry-ms-kamp{color:#8d6e00;background:#fff8e1;border-left:3px solid #fbc02d;font-weight:400}.cal-entry-ms-client{color:#0d47a1;background:#e3f2fd;border-left:3px solid #1976d2;font-weight:400}.cal-entry-pto{color:#c62828;background:#fce4ec;border-left:3px solid #e53935}.cal-entry-travel{color:#283593;background:#e8eaf6;border-left:3px solid #5c6bc0}.cal-entry-holiday{color:#555;background:#e0e0e0;border-left:3px solid #999;font-weight:600}.cal-tooltip{color:#fff;white-space:nowrap;text-overflow:ellipsis;z-index:200;pointer-events:none;background:#1a1a1a;border-radius:6px;max-width:320px;padding:6px 10px;font-size:11px;position:fixed;overflow:hidden;transform:translate(-50%,-100%);box-shadow:0 4px 12px #0000004d}.cal-td-detail{margin-top:4px}.cal-detail-section{margin-bottom:8px}.cal-detail-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding-bottom:2px;font-size:8px;font-weight:700}.cal-detail-row{color:var(--text);align-items:center;gap:6px;padding:2px 0;font-size:11px;display:flex}.cal-detail-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.cal-detail-dot-pto{background:#e53935}.cal-detail-dot-travel{background:#5c6bc0}.cal-detail-dot-holiday{background:#999}.cal-detail-holiday-section{background:#ececec;border-radius:4px;padding:4px 6px}.cal-detail-row-holiday{color:#666;font-weight:600}.cal-detail-project{background:#fffde7;border-left:3px solid #fbc02d;border-radius:4px;margin-bottom:6px;padding:4px 6px}.cal-detail-project.cal-detail-client{background:#e8f0fe;border-left-color:#1976d2}.cal-detail-project.cal-detail-kamp{background:#fffde7;border-left-color:#fbc02d}.cal-detail-project-header{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.cal-detail-proj-name{color:var(--text);font-weight:700}.cal-detail-proj-link{color:var(--accent);border-bottom:1px solid var(--accent);font-weight:700;text-decoration:none;transition:color .15s,border-color .15s,opacity .15s}.cal-detail-proj-link:hover{opacity:.7}.cal-detail-acct-name{color:var(--text-muted);font-size:10px}.cal-detail-ms-list{color:var(--text);margin:2px 0 0 4px;padding:0 0 0 12px;font-size:10px;line-height:1.6;list-style:none}.cal-detail-ms-list li{padding:0;position:relative}.cal-detail-ms-list li:before{content:"–";color:var(--text-muted);position:absolute;left:-10px}.cal-detail-ms-list li.cal-ms-client{color:#0d47a1}.cal-detail-ms-list li.cal-ms-kamp{color:#8d6e00}.cal-detail-empty{color:var(--text-muted);padding:4px 0;font-size:10px}.cal-list-month{margin-bottom:28px}.cal-list-month-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:20px}.cal-list-item{border-bottom:1px solid #00000008;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.cal-list-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.cal-list-name{color:var(--text);font-weight:600}.cal-list-account{color:var(--text-muted);margin-left:auto;font-size:11px}.cal-gantt-legend{background:var(--card);border-radius:var(--radius-sm);border:1px solid var(--border);gap:20px;margin-bottom:18px;padding:12px 18px;display:flex}.cal-gantt-legend-item{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.cal-gantt-legend-dot{border-radius:3px;width:10px;height:10px}.cal-gantt-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.cal-gantt table{border-collapse:collapse;width:100%;min-width:900px}.cal-gantt th{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;text-align:center;background:var(--input-bg);border-bottom:1px solid var(--border);color:var(--text-light);z-index:1;padding:12px 8px;font-size:14px;position:sticky;top:0}.cal-gantt th.cal-gantt-current{background:var(--status-awarded-bg);color:var(--status-awarded)}.cal-gantt-project-col{min-width:180px;text-align:left!important;padding-left:16px!important}.cal-gantt-account-row td{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;background:var(--input-bg);border-top:1px solid var(--border);padding:12px 16px;font-size:16px}.cal-gantt-project-row{transition:background .15s}.cal-gantt-project-row:hover td{background:#00000004}.cal-gantt-project-row td{border-bottom:1px solid #00000008;height:32px;padding:6px 4px;position:relative}.cal-gantt-project-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:12px;font-weight:500;overflow:hidden;padding-left:16px!important}.cal-gantt-cell{position:relative}.cal-gantt-cell.cal-gantt-current{background:#2d8a4e08}.cal-gantt-phase-stack{border-radius:4px;gap:1px;height:20px;display:flex;overflow:hidden}.cal-gantt-phase-seg{border:1px solid;border-radius:3px;flex:1}.cal-gantt-bar{border-radius:4px;width:100%;height:20px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px)saturate(1.2);animation:modalFadeIn .25s var(--ease-out);background:#14141459;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:420px;max-width:90vw;max-height:85vh;animation:modalSlideUp .25s var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:22px 28px 14px;display:flex}.modal-header h3{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);margin:0;font-size:22px}.modal-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 4px;font-size:22px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text)}.edit-form{flex-direction:column;flex:1;gap:14px;min-height:0;padding:22px 28px;display:flex;overflow-y:auto}.edit-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-light);flex-direction:column;gap:5px;font-size:10px;font-weight:700;display:flex}.edit-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);font-size:14px;font-family:var(--font-inter), "Inter", sans-serif;transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s var(--ease-out);outline:none;padding:10px 14px}.edit-input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px #2d8a4e14}.edit-input::placeholder{color:var(--text-light)}select.edit-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.modal-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;padding:18px 28px 22px;display:flex}.modal-actions .btn-primary{margin-left:auto}.btn-primary{color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all .25s var(--ease-out);letter-spacing:.2px;background:linear-gradient(#34965a 0%,#2d8a4e 100%);border:none;padding:9px 22px;font-size:13px;font-weight:600;box-shadow:0 1px 2px #0000001a,inset 0 1px #ffffff1a}.btn-primary:hover{background:linear-gradient(#2f8c50 0%,#257a42 100%);transform:translateY(-1px);box-shadow:0 3px 12px #2d8a4e40,inset 0 1px #ffffff1a}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.btn-primary:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.btn-secondary{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;padding:9px 18px;font-size:13px;font-weight:500}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted)}.btn-danger{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#d32f2f;border:none;padding:7px 14px;font-size:12px;font-weight:600;transition:background .15s}.btn-danger:hover{background:#b71c1c}.btn-danger-outline{color:#c62828;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;border:1px solid #c6282840;padding:7px 14px;font-size:12px;font-weight:500}.btn-danger-outline:hover{background:#d32f2f0f;border-color:#c6282866}.delete-confirm{color:#c62828;align-items:center;gap:8px;font-size:12px;display:flex}.btn-add-person{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .2s var(--ease-out);letter-spacing:.2px;padding:8px 18px;font-size:12px;font-weight:600}.btn-add-person:hover{border-color:var(--text-muted);box-shadow:var(--shadow-sm)}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;box-shadow:var(--shadow-lg);animation:modalSlideUp .4s var(--ease-out);padding:48px 40px 40px}.login-brand{text-align:center;margin-bottom:40px}.login-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:4px;color:var(--text);margin:0;font-size:52px;line-height:1}.login-subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--text-light);margin-top:8px;font-size:10px;font-weight:600}.login-error{background:var(--status-cancelled-bg);border:1px solid var(--status-cancelled-border);border-radius:var(--radius-sm);color:var(--status-cancelled);margin-bottom:20px;padding:12px 16px;font-size:13px}.login-btn{background:var(--text);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:all .2s var(--ease-out);letter-spacing:.2px;border:none;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.login-btn:hover{box-shadow:var(--shadow-md);background:#333;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-footer{text-align:center;color:var(--text-light);letter-spacing:.3px;margin-top:20px;font-size:11px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}@media (max-width:1200px){.week-grid{grid-template-columns:1fr}.week-card.full-width{grid-column:1}}@media (max-width:900px){.account-header-content{flex-direction:column;align-items:flex-start}.account-revenue-cards{width:100%}.project-grid{grid-template-columns:1fr}.team-person-grid{grid-template-columns:1fr 1fr}.stats-row{flex-wrap:wrap;gap:24px}}@media (max-width:640px){.team-person-grid{grid-template-columns:1fr}.controls-bar{flex-direction:column;align-items:stretch}.search-wrap,.search-input{width:100%}.filter-pills{flex-wrap:nowrap;overflow-x:auto}.nav-tab{padding:14px 16px;font-size:15px}.site-title{font-size:36px}.modal-content{max-width:95vw;margin:0 8px}.cal-grid{font-size:11px}.cal-day{min-height:60px}}.person-card:after{content:"";border-radius:var(--radius-sm);opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none;background:linear-gradient(135deg,#fff6 0%,#0000 50%);position:absolute;inset:0}.person-card:hover:after{opacity:1}.filter-pill.active{transform:scale(1.02)}.nav-tab:after{content:"";background:var(--text);height:2px;transition:left .25s var(--ease-out), right .25s var(--ease-out);border-radius:1px;position:absolute;bottom:-1px;left:50%;right:50%}.nav-tab.active:after{left:16px;right:16px}.nav-tab:hover:not(.active):after{background:var(--text-light);left:30%;right:30%}.stat-number{transition:transform .2s var(--ease-out);display:inline-block}.stat-item:hover .stat-number{transform:scale(1.08)}.project-card .project-name a{position:relative}.project-card .project-name a:after{content:"";background:var(--text);width:0;height:1px;transition:width .25s var(--ease-out);position:absolute;bottom:-1px;left:0}.project-card .project-name a:hover:after{width:100%}.project-card .project-name a:hover{text-decoration:none}.month-pill:active{transform:scale(.95)}.btn-primary:active,.btn-secondary:active,.btn-add-person:active{transform:scale(.97)}:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #2d8a4e66;border-radius:var(--radius-xs);outline:none}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.account-section{animation:.5s both slideUp}.account-section:nth-child(2){animation-delay:40ms}.account-section:nth-child(3){animation-delay:80ms}.account-section:nth-child(4){animation-delay:.12s}.account-section:nth-child(5){animation-delay:.16s}.account-section:nth-child(6){animation-delay:.2s}.account-section:nth-child(7){animation-delay:.24s}.account-section:nth-child(8){animation-delay:.28s}.account-section:nth-child(9){animation-delay:.32s}.account-section:nth-child(10){animation-delay:.36s}.week-card{animation:.5s both slideUp}.week-card:nth-child(2){animation-delay:50ms}.week-card:nth-child(3){animation-delay:.1s}.week-card:nth-child(4){animation-delay:.15s}.week-card:nth-child(5){animation-delay:.2s}.week-card:nth-child(6){animation-delay:.25s}.week-card:nth-child(7){animation-delay:.3s}.team-dept-section{animation:.5s both slideUp}.team-dept-section:nth-child(2){animation-delay:60ms}.team-dept-section:nth-child(3){animation-delay:.12s}.team-dept-section:nth-child(4){animation-delay:.18s}.list-account-group{animation:.45s both slideUp}.list-account-group:nth-child(2){animation-delay:30ms}.list-account-group:nth-child(3){animation-delay:60ms}.list-account-group:nth-child(4){animation-delay:90ms}.list-account-group:nth-child(5){animation-delay:.12s}.list-account-group:nth-child(6){animation-delay:.15s}.list-account-group:nth-child(7){animation-delay:.18s}.list-account-group:nth-child(8){animation-delay:.21s}.list-account-group:nth-child(9){animation-delay:.24s}.list-account-group:nth-child(10){animation-delay:.27s}.teams-masonry-card{animation:.5s both slideUp}.teams-masonry-col:first-child .teams-masonry-card:first-child{animation-delay:0s}.teams-masonry-col:nth-child(2) .teams-masonry-card:first-child{animation-delay:30ms}.teams-masonry-col:nth-child(3) .teams-masonry-card:first-child{animation-delay:60ms}.teams-masonry-col:nth-child(4) .teams-masonry-card:first-child{animation-delay:90ms}.teams-masonry-col:nth-child(5) .teams-masonry-card:first-child{animation-delay:.12s}.teams-masonry-col .teams-masonry-card:nth-child(2){animation-delay:.15s}.teams-masonry-col .teams-masonry-card:nth-child(3){animation-delay:.22s}.teams-masonry-col .teams-masonry-card:nth-child(4){animation-delay:.28s}.teams-masonry-col .teams-masonry-card:nth-child(5){animation-delay:.34s}.gantt-row{animation:.4s both slideUp}.gantt-row:nth-child(2){animation-delay:20ms}.gantt-row:nth-child(3){animation-delay:40ms}.gantt-row:nth-child(4){animation-delay:60ms}.gantt-row:nth-child(5){animation-delay:80ms}.gantt-row:nth-child(6){animation-delay:.1s}.gantt-row:nth-child(7){animation-delay:.12s}.gantt-row:nth-child(8){animation-delay:.14s}.gantt-row:nth-child(9){animation-delay:.16s}.gantt-row:nth-child(10){animation-delay:.18s}.cal-visual-wrapper{animation:.5s both slideUp}.nbiz-card{animation:.4s both slideUp}.nbiz-card:nth-child(2){animation-delay:40ms}.nbiz-card:nth-child(3){animation-delay:80ms}.nbiz-card:nth-child(4){animation-delay:.12s}.nbiz-card:nth-child(5){animation-delay:.16s}.empty-state{background:var(--card);border:1px dashed var(--border);border-radius:var(--radius);max-width:400px;margin:60px auto}.card-health-check{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}.card-health-check.active:hover{transform:scale(1.15)}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:4px;padding:22px 28px;display:flex}.nbiz-delete-btn{color:var(--text-light);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px;line-height:1;transition:all .15s}.nbiz-card:hover .nbiz-delete-btn{opacity:.5}.nbiz-delete-btn:hover{color:var(--status-cancelled);background:var(--status-cancelled-bg);opacity:1!important}.project-edit-modal{flex-direction:column;width:96vw;max-width:1200px;max-height:90vh;display:flex;overflow:hidden}.project-edit-modal .modal-header,.project-edit-modal .modal-actions{flex-shrink:0}.project-edit-modal .project-edit-form{flex:auto;min-height:0;padding:22px 12px 22px 28px;overflow:hidden auto}.project-edit-form .edit-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.project-edit-form .edit-input{padding:8px 10px;font-size:13px}.edit-grid-2{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px;display:grid}.edit-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:6px;display:grid}.edit-grid-4{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;display:grid}.edit-radio-group{gap:16px;margin-top:6px;display:flex}.edit-radio{color:var(--text);cursor:pointer;align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.edit-radio input[type=radio]{accent-color:var(--status-awarded)}.edit-phase-section{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px}.edit-phase-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:700}.edit-phase-col{flex-direction:column;gap:4px;display:flex}.edit-phase-name{letter-spacing:.3px;margin-bottom:2px;font-size:11px;font-weight:700}.edit-input-sm{padding:5px 6px!important;font-size:11px!important}.phase-date-picker{position:relative}.phase-date-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:9px;font-weight:600}.phase-date-display{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--input-bg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;min-height:28px;padding:5px 8px;font-size:11px;transition:border-color .15s,box-shadow .15s;display:flex}.phase-date-display:hover{border-color:var(--text-muted)}.phase-date-display.active{box-shadow:0 0 0 2px #0000000d}.phase-date-display.empty{color:var(--text-muted)}.phase-date-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:14px;line-height:1}.phase-date-clear:hover{color:var(--text)}.phase-cal-dropdown{z-index:1000;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:220px;margin-top:4px;padding:10px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000026}.phase-cal-nav{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.phase-cal-arrow{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px}.phase-cal-arrow:hover{background:var(--input-bg);color:var(--text)}.phase-cal-month{font-size:12px;font-weight:600}.phase-cal-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.phase-cal-dow{text-align:center;color:var(--text-muted);padding:2px 0 4px;font-size:9px;font-weight:600}.phase-cal-day{cursor:pointer;text-align:center;color:var(--text);background:0 0;border:none;border-radius:4px;padding:4px 0;font-size:11px;transition:background .1s}.phase-cal-day:hover{background:var(--input-bg)}.phase-cal-day.today{font-weight:700;text-decoration:underline}.phase-cal-day.selected{font-weight:700}.modal-header-actions{align-items:center;gap:12px;display:flex}.btn-sync{letter-spacing:.3px;color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s}.btn-sync:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-sync:disabled{opacity:.4;cursor:not-allowed}.sync-status-msg{color:#059669;padding:4px 0 0;font-size:11px;font-weight:500}.btn-master-sync{letter-spacing:.3px;color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.btn-master-sync:hover:not(:disabled){color:#059669;background:#f0fdf4;border-color:#059669}.btn-master-sync:disabled{opacity:.5;cursor:not-allowed}.master-sync-status{color:#059669;text-align:right;width:100%;padding:2px 0;font-size:11px;font-weight:500}.sp-section{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-top:24px;padding:0;overflow:visible}.sp-header-bar{border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:16px 20px;display:flex}.sp-icon{color:#fff;letter-spacing:.5px;background:#1a1a1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:flex}.sp-header-text{flex:1}.sp-title{letter-spacing:.8px;color:var(--text);font-size:14px;font-weight:800}.sp-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.sp-collapse-arrow{color:var(--text-muted);font-size:16px}.sp-empty{color:var(--text-muted);padding:16px 20px;font-size:12px}.sp-table-wrap{overflow:auto visible}.sp-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.sp-table thead th{letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;background:var(--input-bg);padding:10px 10px 8px;font-size:10px;font-weight:700}.sp-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;background:var(--card);padding:8px 10px}.sp-table tbody tr:hover td{background:#faf9f7}.sp-th-role{min-width:180px}.sp-th-person{min-width:150px}.sp-th-toggle{width:44px;text-align:center!important}.sp-th-phase{min-width:80px;text-align:center!important}.sp-th-weeks{color:var(--text-light);margin-top:1px;font-size:9px;font-weight:500}.sp-th-total{min-width:70px;text-align:right!important;padding-right:16px!important}.sp-th-actions{width:36px;text-align:center!important}.sp-td-role{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:600;overflow:hidden}.sp-role-name-wrap{align-items:baseline;gap:6px;display:inline-flex}.sp-role-name{display:inline}.sp-role-editable{cursor:pointer;border-bottom:1px dashed #0000;transition:border-color .15s}.sp-role-editable:hover{border-bottom-color:var(--text-light)}.sp-role-was{color:var(--text-light);white-space:nowrap;font-size:10px;font-style:italic;font-weight:400}.sp-role-edit-wrap{display:inline-flex}.sp-role-edit-input{color:var(--text);background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;outline:none;width:100%;min-width:120px;padding:2px 6px;font-family:inherit;font-size:13px;font-weight:600}.sp-split-indicator{color:var(--text-light);margin-right:4px}.sp-td-person{position:relative}.sp-td-toggle{text-align:center}.sp-td-hours{text-align:center;color:#4b5563;font-variant-numeric:tabular-nums;font-weight:500}.sp-td-total{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;padding-right:16px!important}.sp-td-actions{text-align:center}.sp-row-split .sp-td-role{color:var(--text-muted);font-weight:500}.sp-saving{opacity:.5}.sp-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:2px;display:inline-flex}.sp-toggle-label.sp-toggle-disabled{opacity:.3;cursor:default}.sp-checkbox{cursor:pointer;accent-color:#c5a03f;width:13px;height:13px;margin:0}.sp-toggle-disabled .sp-checkbox{cursor:default}.sp-toggle-star{color:var(--border);font-size:14px;line-height:1;transition:color .15s}.sp-toggle-label:hover .sp-toggle-star{color:var(--text-muted)}input:checked~.sp-toggle-star{color:#c5a03f}.sp-toggle-label:hover input:checked~.sp-toggle-star{color:#a8872f}.sp-toggle-temp-label{color:var(--border);font-size:12px;font-weight:700;line-height:1;transition:color .15s}.sp-toggle-label:hover .sp-toggle-temp-label{color:var(--text-muted)}input:checked~.sp-toggle-temp-label{color:#d97706}.sp-toggle-label:hover input:checked~.sp-toggle-temp-label{color:#b45309}.sp-person-autocomplete{align-items:center;display:flex;position:relative}.sp-person-input{border:1px solid var(--border);background:var(--card);width:100%;min-width:120px;color:var(--text);border-radius:5px;outline:none;padding:5px 24px 5px 10px;font-size:12px;font-weight:500}.sp-person-input:focus{border-color:#1a1a1a;box-shadow:0 0 0 2px #1a1a1a14}.sp-person-clear{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.sp-person-clear:hover{color:var(--text)}.sp-person-dropdown{background:var(--card);border:1px solid var(--border);z-index:1100;border-radius:8px;width:260px;max-height:240px;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000024}.sp-person-option{cursor:pointer;border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:1px;padding:8px 12px;display:flex}.sp-person-option:last-child{border-bottom:none}.sp-person-option.highlighted{background:var(--input-bg)}.sp-person-option .sp-person-name{color:var(--text);font-size:12px;font-weight:600}.sp-person-option .sp-person-title{color:var(--text-muted);font-size:10px}.sp-btn-split,.sp-btn-collapse{border:1px solid var(--border);background:var(--card);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.sp-btn-split:hover{background:var(--input-bg);color:var(--text)}.sp-btn-collapse:hover{color:#d97706;background:#fef3c7}.sp-unscoped-divider td{background:var(--input-bg)!important;border-bottom:none!important;padding:0!important}.sp-unscoped-divider-line{justify-content:center;align-items:center;padding:8px 0;display:flex;position:relative}.sp-unscoped-divider-line:before,.sp-unscoped-divider-line:after{content:"";background:var(--border);flex:1;height:1px}.sp-unscoped-divider-line span{letter-spacing:1px;color:var(--text-light);padding:0 12px;font-size:9px;font-weight:700}.sp-unscoped-badge{color:#d97706;vertical-align:middle;letter-spacing:.3px;background:#fef3c7;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:8px;font-weight:700;display:inline-block}.sp-row-unscoped .sp-td-hours,.sp-row-unscoped .sp-td-total{color:var(--text-light)}.sp-btn-remove{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.sp-btn-remove:hover{color:#ef4444}.sp-totals-row td{border-top:2px solid var(--border);border-bottom:none;background:var(--input-bg)!important;padding-top:10px!important;padding-bottom:12px!important}.sp-totals-label{letter-spacing:.5px;color:var(--text);font-size:11px;font-weight:800}.sp-td-total-col{color:var(--text)!important;font-weight:700!important}.sp-add-unscoped{padding:12px 20px 16px}.sp-add-unscoped-input{align-items:center;gap:8px;display:flex}.sp-btn-cancel-add{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:5px 10px;font-size:11px}.sp-btn-cancel-add:hover{color:var(--text)}.sp-btn-add-unscoped{color:var(--text-muted);border:1px dashed var(--border);cursor:pointer;text-align:center;background:0 0;border-radius:6px;width:100%;padding:8px 12px;font-size:11px;font-weight:600}.sp-btn-add-unscoped:hover{border-color:var(--text-muted);color:var(--text);background:var(--card)}.rising-header{text-align:center;border-bottom:none;margin:56px 0 28px;padding:0;position:relative}.rising-header:before{content:"";background:linear-gradient(90deg, transparent, var(--status-awarded-border), var(--status-awarded), var(--status-awarded-border), transparent);z-index:0;height:2px;position:absolute;top:50%;left:0;right:0}.rising-header:after{content:attr(data-label)}.rising-header{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:4px;color:var(--status-awarded);background:var(--bg);z-index:1;padding:0 24px;font-size:22px;display:inline-flex;position:relative;left:50%;transform:translate(-50%)}.teams-view{padding:8px 0 40px}.teams-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.teams-hide-toggle{letter-spacing:.4px;color:var(--text-muted);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:20px;padding:5px 14px;font-size:11px;font-weight:600;transition:all .2s}.teams-hide-toggle:hover{background:var(--input-bg);border-color:var(--text-light)}.teams-hide-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.teams-masonry-grid{align-items:flex-start;gap:10px;display:flex}.teams-masonry-col{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.teams-masonry-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:10px;transition:box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000008}.teams-masonry-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000012,0 1px 3px #0000000a}.teams-card-titles{flex-direction:column;gap:0;min-width:0;display:flex}.teams-account-name-sm{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.2px;color:var(--text-light);text-transform:uppercase;opacity:.7;font-size:10px;line-height:1}.teams-vertical-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.4px;color:var(--text);font-size:17px;line-height:1.15}.teams-vertical-subtitle{color:var(--text-muted);letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;opacity:.6;margin-top:1px;font-size:8.5px;overflow:hidden}.teams-account-header{align-items:center;gap:8px;padding:10px 12px;display:flex}.teams-account-accent{border-radius:3px;flex-shrink:0;width:3px;height:20px}.teams-account-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);font-size:17px}.teams-account-count{color:var(--text-light);letter-spacing:.3px;background:#0000000a;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:600}.teams-projects-list{padding:2px 0 6px}.teams-project{padding:6px 12px}.teams-project+.teams-project{border-top:1px solid #0000000a}.teams-project-name{color:var(--text);cursor:pointer;background:#d7cdc338;border:1px solid #b4a5962e;border-radius:6px;align-items:center;gap:6px;margin-bottom:4px;padding:4px 9px;font-size:11.5px;font-weight:600;transition:all .15s;display:flex}.teams-project-name:hover{border-color:var(--accent);color:var(--accent);background:#ffffffe6}.teams-project-name-inactive{color:var(--text-muted);background:#00000005;border-color:#0000;font-weight:500}.teams-project-name-inactive:hover{color:var(--accent);border-color:var(--accent);background:#fff9}.teams-status-badge{color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;opacity:.6;white-space:nowrap;font-size:8px;font-weight:600}.teams-project-inactive .teams-staff-row{opacity:.45}.teams-staff-list{padding-left:2px}.teams-staff-row{align-items:baseline;gap:8px;padding:1px 0;font-size:11.5px;line-height:1.5;display:flex}.teams-role{letter-spacing:.3px;text-align:left;text-transform:uppercase;flex-shrink:0;width:52px;font-size:9.5px;font-weight:700}.teams-name{color:var(--text);font-weight:400}.teams-lead-star{color:var(--accent);flex-shrink:0;margin-left:-2px;font-size:9px}.teams-fl-badge{color:var(--text-light);letter-spacing:.5px;background:#0000000d;border-radius:4px;flex-shrink:0;padding:.5px 4px;font-size:8px;font-weight:700}.teams-temp-badge{color:#e65100;letter-spacing:.3px;background:#fff3e0;border-radius:4px;flex-shrink:0;padding:.5px 4px;font-size:8px;font-weight:700}.teams-name-temp{color:#e65100}.teams-unscoped-badge{color:var(--text-light);opacity:.6;flex-shrink:0;font-size:8px;font-style:italic;font-weight:500}.teams-unstaffed{color:var(--text-light);opacity:.5;padding:2px 4px;font-size:10px;font-style:italic}.admin-link{color:var(--text-muted);letter-spacing:.5px;opacity:.6;font-size:11px;text-decoration:none;transition:opacity .2s}.admin-link:hover{opacity:1}.admin-view{max-width:800px;margin:0 auto;padding:40px 24px}.admin-tab-bar{background:var(--border-subtle);border-radius:8px;gap:2px;width:fit-content;margin-bottom:24px;padding:2px;display:flex}.admin-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:6px 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:all .15s}.admin-tab.active{background:var(--tag-active-bg);color:var(--tag-active-text);font-weight:600}.admin-tab:hover:not(.active){color:var(--text)}.admin-insights{margin-bottom:24px}.admin-insights .bw-insights-list{margin-top:16px}.admin-insight-section{border-bottom:1px solid var(--border-subtle);margin-bottom:28px;padding-bottom:24px}.admin-insight-section:last-child{border-bottom:none;margin-bottom:0}.admin-trends-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:16px;display:grid}.admin-trend-card{background:var(--card);border:1px solid var(--border-subtle);cursor:pointer;border-radius:8px;padding:14px 16px;transition:all .15s}.admin-trend-card:hover{border-color:var(--text-muted)}.admin-trend-card.expanded{border-color:var(--accent)}.admin-trend-card.inactive{opacity:.5}.admin-trend-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.admin-trend-name{color:var(--text);font-size:14px;font-weight:600}.admin-trend-meta{color:var(--text-muted);font-size:11px}.admin-trend-summary{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-trend-chip{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px}.admin-trend-chip-page{color:#1565c0;background:#1565c01a}.admin-trend-chip-change{color:#e65100;background:#f57f171a}.admin-trend-last{color:var(--text-light);margin-left:auto;font-size:10px}.admin-trend-detail{border-top:1px solid var(--border-subtle);flex-direction:column;gap:14px;margin-top:14px;padding-top:12px;display:flex}.admin-trend-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:600;display:block}.admin-trend-bars{flex-direction:column;gap:4px;display:flex}.admin-trend-bar-row{grid-template-columns:90px 1fr 30px;align-items:center;gap:8px;display:grid}.admin-trend-bar-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.admin-trend-bar-track{background:var(--input-bg);border-radius:3px;height:6px;overflow:hidden}.admin-trend-bar-fill{border-radius:3px;min-width:4px;height:100%}.admin-trend-bar-fill-page{background:#1565c0}.admin-trend-bar-fill-change{background:#f57f17}.admin-trend-bar-count{color:var(--text-muted);text-align:right;font-size:11px}.admin-trend-recent{align-items:baseline;gap:6px;padding:2px 0;font-size:11px;display:flex}.admin-trend-recent-action{color:var(--text-muted)}.admin-trend-recent-entity{color:var(--accent);font-weight:500}.admin-trend-recent-time{color:var(--text-light);margin-left:auto;font-size:10px}.admin-header{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.admin-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);margin:0;font-size:28px}.admin-subtitle{color:var(--text-muted);font-size:12px}.admin-refresh{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card);color:var(--text-muted);cursor:pointer;margin-left:auto;padding:5px 14px;font-size:12px;transition:all .15s}.admin-refresh:hover{border-color:var(--text-muted);color:var(--text)}.admin-refresh:disabled{opacity:.4;cursor:default}.admin-filters{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.admin-filter-pill{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:4px 12px;font-size:11px;transition:all .15s}.admin-filter-pill:hover{border-color:var(--text-muted)}.admin-filter-pill.active{background:var(--tag-active-bg);color:var(--tag-active-text);border-color:var(--tag-active-bg)}.admin-feed{background:var(--border-subtle);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;gap:1px;display:flex;overflow:hidden}.admin-empty{text-align:center;color:var(--text-muted);background:var(--card);padding:48px 24px;font-size:13px}.admin-entry{background:var(--card);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .1s;display:flex}.admin-entry:hover,.admin-entry.expanded{background:var(--input-bg)}.admin-entry-mutation{background:#1565c00f;border-left:3px solid #1565c066}.admin-entry-mutation:hover,.admin-entry-mutation.expanded{background:#1565c01a}.admin-entry-icon{text-align:center;flex-shrink:0;width:24px;padding-top:1px;font-size:15px}.admin-entry-body{flex:1;min-width:0}.admin-entry-main{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.admin-entry-user{color:var(--text);font-size:13px;font-weight:600}.admin-entry-action{color:var(--text-muted);font-size:12px}.admin-entry-entity{color:var(--accent);font-size:12px;font-weight:500}.admin-entry-view-tag{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);text-transform:capitalize;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:500}.admin-entry-detail-summary{color:var(--text-light);margin-top:2px;font-size:11px}.admin-entry-time{color:var(--text-light);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:11px}.admin-entry-expanded{border-top:1px solid var(--border-subtle);flex-direction:column;gap:5px;margin-top:10px;padding-top:10px;display:flex}.admin-detail-row{gap:12px;font-size:12px;display:flex}.admin-detail-row>span:first-child{color:var(--text-muted);min-width:50px;font-weight:500}.admin-detail-row>span:last-child{color:var(--text)}.admin-mono{font-family:SF Mono,Fira Code,monospace;font-size:11px}.admin-detail-json{margin-top:6px}.admin-detail-json pre{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text-muted);margin:0;padding:10px 12px;font-family:SF Mono,Fira Code,monospace;font-size:11px;overflow-x:auto}.admin-ai-list{flex-direction:column;gap:1px;display:flex}.admin-ai-row{border-bottom:1px solid var(--border);padding:10px 12px}.admin-ai-row-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.admin-ai-source{letter-spacing:.5px;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.admin-ai-source.financials{color:#2e7d32;background:#e8f5e9}.admin-ai-source.bandwidth{color:#1565c0;background:#e3f2fd}.admin-ai-name{color:var(--text);font-size:12px;font-weight:600}.admin-ai-time{color:var(--text-muted);margin-left:auto;font-size:11px}.admin-ai-query{color:var(--text-secondary);padding-left:2px;font-size:13px}.fin-tab-bar{border:1px solid var(--border);border-radius:var(--radius);gap:0;display:flex;overflow:hidden}.fin-tab-btn{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;background:var(--bg);color:var(--text-muted);border:none;border-right:1px solid var(--border);cursor:pointer;padding:8px 20px;font-size:14px;transition:background .15s,color .15s}.fin-tab-btn:last-child{border-right:none}.fin-tab-btn:hover{background:var(--card);color:var(--text)}.fin-tab-active{background:var(--text)!important;color:#fff!important}.pipe-tab{margin-top:4px}.pipe-summary-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.pipe-summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:140px;padding:16px 20px}.pipe-summary-q{text-align:center;flex:none;min-width:90px}.pipe-summary-label{letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.pipe-summary-value{color:var(--text);font-size:20px;font-weight:700;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px}.pipe-summary-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.pipe-status-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pipe-status-pill{border:1px solid var(--border);cursor:pointer;background:var(--card);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.pipe-status-pill:hover{background:var(--bg)}.pipe-status-active{background:var(--text)!important;color:#fff!important;border-color:var(--text)!important}.pipe-status-active .pipe-status-name,.pipe-status-active .pipe-status-count,.pipe-status-active .pipe-status-rev{color:#fff!important}.pipe-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pipe-status-name{color:var(--text);font-weight:600}.pipe-status-count{color:var(--text-muted);font-size:11px}.pipe-status-rev{color:var(--text-muted);font-size:11px;font-weight:500}.pipe-filters{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;display:flex}.pipe-filter-group{align-items:center;gap:8px;display:flex}.pipe-filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.pipe-filter-pills{border:1px solid var(--border);border-radius:var(--radius);gap:0;display:flex;overflow:hidden}.pipe-pill{background:var(--card);color:var(--text-muted);border:none;border-right:1px solid var(--border);cursor:pointer;padding:4px 12px;font-size:12px;font-weight:500;transition:all .1s}.pipe-pill:last-child{border-right:none}.pipe-pill:hover{background:var(--bg);color:var(--text)}.pipe-pill-active{background:var(--text)!important;color:#fff!important}.pipe-select{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);cursor:pointer;padding:5px 10px;font-size:12px}.pipe-filter-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.pipe-add-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:6px 14px;font-size:12px;font-weight:600;transition:opacity .15s}.pipe-add-btn:hover{opacity:.85}.pipe-saving{color:var(--text-muted);font-size:11px}.pipe-source-note{color:var(--text-muted);font-size:11px;font-style:italic}.pipe-add-form{background:var(--card);border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:16px;padding:16px}.pipe-add-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.pipe-add-input{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--input-bg);color:var(--text);padding:6px 10px;font-size:12px}.pipe-add-actions{gap:8px;display:flex}.pipe-add-save{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:6px 16px;font-size:12px;font-weight:600}.pipe-add-save:disabled{opacity:.5;cursor:not-allowed}.pipe-add-cancel{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:6px 16px;font-size:12px}.pipe-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.pipe-header-row{background:var(--bg);border-bottom:1px solid var(--border);letter-spacing:.8px;color:var(--text-muted);text-transform:uppercase;align-items:center;padding:8px 12px;font-size:10px;font-weight:700;display:flex}.pipe-col{box-sizing:border-box;padding:0 6px}.pipe-col-name{flex:2.5;min-width:200px}.pipe-col-q{text-align:center;flex:0 0 48px}.pipe-col-status{text-align:center;flex:0 0 78px}.pipe-col-source{text-align:center;flex:0 0 72px}.pipe-col-num{text-align:right;font-variant-numeric:tabular-nums;flex:1;min-width:100px}.pipe-col-actions{text-align:center;flex:0 0 30px}.pipe-account-group{border-bottom:1px solid var(--border-subtle)}.pipe-account-group:last-child{border-bottom:none}.pipe-account-header{cursor:pointer;background:var(--bg);border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 12px;transition:background .1s;display:flex}.pipe-account-header:hover{background:var(--border-subtle)}.pipe-account-chevron{color:var(--text-muted);flex-shrink:0;width:16px;font-size:12px}.pipe-account-name{color:var(--text);font-size:13px;font-weight:700}.pipe-account-count{color:var(--text-muted);background:var(--border-subtle);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px}.pipe-account-sources{flex:1;align-items:center;gap:6px;display:flex}.pipe-account-rev{color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:700}.pipe-account-fees,.pipe-account-pt{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.pipe-src-tag{white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:9px;font-weight:600}.pipe-src-badge{border-radius:3px;padding:2px 6px;font-size:9px;font-weight:600}.pipe-src-rollup{color:#2e7d32;background:#e8f5e9}.pipe-src-budget{color:#e65100;background:#fff8e1}.pipe-src-manual{color:#7b1fa2;background:#f3e5f5}.pipe-row{border-bottom:1px solid var(--border-subtle);align-items:center;padding:6px 12px;font-size:12px;transition:background .1s;display:flex}.pipe-row:hover{background:var(--bg)}.pipe-row:last-child{border-bottom:none}.pipe-row-cancelled{opacity:.5}.pipe-cell-value{cursor:text;border-radius:3px;min-width:40px;padding:2px 4px;transition:background .1s;display:inline-block}.pipe-cell-value:hover{background:#0000000a}.pipe-cell-input{border:1px solid var(--accent);background:var(--card);width:100%;color:var(--text);font-variant-numeric:tabular-nums;border-radius:3px;outline:none;padding:2px 4px;font-size:12px}.pipe-job-num{color:var(--text-light);margin-left:6px;font-size:10px}.pipe-q-badge{color:var(--text-muted);background:var(--bg);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.pipe-q-badge.pipe-q-q1{color:#157a72;background:#e2f2f0}.pipe-q-badge.pipe-q-q2{color:#7b5ea7;background:#f3ecf8}.pipe-q-badge.pipe-q-q3{color:#b3527a;background:#fbedf2}.pipe-q-badge.pipe-q-q4{color:#4e6272;background:#eceff2}.pipe-status-badge{color:#fff;letter-spacing:.3px;text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:9px;font-weight:700}.pipe-delete-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1;transition:color .1s}.pipe-delete-btn:hover{color:#c62828}.pipe-totals-row{background:var(--bg);border-top:2px solid var(--border);align-items:center;padding:10px 12px;font-size:12px;display:flex}.pipe-totals-label{letter-spacing:1px;color:var(--text);font-weight:800}.pipe-totals-num{color:var(--text);font-weight:700}.pipe-empty-state{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:60px 20px}.pipe-empty-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);margin-bottom:8px;font-size:24px}.pipe-empty-sub{color:var(--text-muted);margin-bottom:20px;font-size:13px}.pipe-seed-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:10px 24px;font-size:13px;font-weight:600;transition:opacity .15s}.pipe-seed-btn:hover{opacity:.85}.pipe-seed-btn:disabled{opacity:.5;cursor:not-allowed}.pipe-seed-result{color:var(--accent);margin-top:12px;font-size:12px}.pnl-tab{margin-top:4px}.pnl-section{margin-bottom:28px}.pnl-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);margin-bottom:12px;font-size:16px}.pnl-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.pnl-header-row{background:var(--bg);border-bottom:1px solid var(--border);letter-spacing:.8px;color:var(--text-muted);text-transform:uppercase;align-items:center;padding:8px 16px;font-size:10px;font-weight:700;display:flex}.pnl-col{font-variant-numeric:tabular-nums;padding:0 6px}.pnl-col-label{font-variant-numeric:normal;flex:2;min-width:200px}.pnl-col-fy{text-align:right;flex:1;min-width:120px;font-weight:700}.pnl-col-q{text-align:right;flex:1;min-width:100px}.pnl-data-row{border-bottom:1px solid var(--border-subtle);color:var(--text);align-items:center;padding:8px 16px;font-size:13px;transition:background .1s;display:flex}.pnl-data-row:hover{background:var(--bg)}.pnl-data-row:last-child{border-bottom:none}.pnl-row-primary .pnl-col-label{font-weight:600}.pnl-row-muted{color:var(--text-muted)}.pnl-row-total{background:var(--bg);border-top:1px solid var(--border);font-weight:700}.pnl-row-expense .pnl-col{color:#c62828}.pnl-row-expense .pnl-col-label{color:var(--text)}.pnl-row-negative .pnl-col{color:#c62828}.pnl-row-negative .pnl-col-label{color:var(--text)}.pnl-row-positive .pnl-col{color:#2d8a4e}.pnl-row-positive .pnl-col-label{color:var(--text)}.pnl-negative{color:#c62828!important}.pnl-positive{color:#2d8a4e!important}.pnl-bold{font-weight:700!important}.pnl-divider{background:var(--border);height:1px;margin:0}.pnl-dept-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.pnl-dept-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:16px}.pnl-dept-bar-wrap{background:var(--bg);border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.pnl-dept-bar{border-radius:3px;height:100%;transition:width .8s}.pnl-dept-label{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:600}.pnl-dept-pct{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:24px}.tp-page{padding:0 0 48px}.tp-toolbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.tp-toolbar-left{align-items:center;gap:12px;display:flex}.tp-page-title{letter-spacing:.04em;color:var(--text);margin:0;font-family:Bebas Neue,sans-serif;font-size:28px}.tp-badge{letter-spacing:.08em;background:var(--tag-inactive-bg);color:var(--text-muted);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.tp-new-btn{background:var(--text);color:var(--card);cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:opacity .15s}.tp-new-btn:hover{opacity:.85}.tp-new-btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.tp-new-btn.secondary:hover{background:var(--tag-inactive-bg);opacity:1}.tp-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;display:flex}.tp-empty-icon{color:var(--text-light);margin-bottom:8px}.tp-empty-title{color:var(--text);font-size:16px;font-weight:600}.tp-empty-sub{color:var(--text-muted);margin-bottom:8px;font-size:13px}.tp-client-sections{flex-direction:column;gap:28px;display:flex}.tp-client-section{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.tp-client-header{border-bottom:1px solid var(--border);background:#1a1a1a;align-items:center;padding:12px 20px;display:flex}.tp-client-accent{background:var(--accent);border-radius:2px;width:4px;height:24px;margin-right:12px}.tp-client-info{align-items:baseline;gap:10px;display:flex}.tp-client-name{letter-spacing:.5px;text-transform:uppercase;color:var(--text);margin:0;font-size:14px;font-weight:700}.tp-client-count{color:var(--text-muted);font-size:11px;font-weight:400}.tp-card-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:16px;display:grid}.tp-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:16px 16px 12px 22px;transition:box-shadow .15s,border-color .15s;position:relative;overflow:hidden}.tp-card:hover{border-color:var(--text-light);box-shadow:0 2px 8px #0000000f}.tp-accent-bar{border-radius:10px 0 0 10px;width:4px;position:absolute;top:0;bottom:0;left:0}.tp-card-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.tp-card:hover .tp-card-actions{opacity:1}.tp-card-action-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:4px;transition:color .15s,background .15s}.tp-card-action-btn:hover{color:var(--text);background:var(--tag-inactive-bg)}.tp-card-action-btn.delete:hover{color:#dc2626;background:#fef2f2}.tp-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.tp-card-client{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:700}.tp-card-name{letter-spacing:.02em;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1.1}.tp-card-top-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.tp-status-pill{letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.tp-card-budget{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.tp-staff-preview{border-top:1px solid var(--border-subtle);margin-top:8px;padding-top:8px}.tp-staff-dept-label{letter-spacing:.08em;color:var(--text-light);text-transform:uppercase;margin-top:4px;margin-bottom:2px;font-size:9px;font-weight:700}.tp-staff-dept-label:first-child{margin-top:0}.tp-staff-row{align-items:center;gap:8px;padding:1px 0;font-size:12px;display:flex}.tp-staff-row.compact{font-size:11px}.tp-staff-role{color:var(--text-muted);min-width:140px}.tp-staff-name{color:var(--text);font-weight:500}.tp-staff-remove{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.tp-staff-remove:hover{color:#dc2626}.tp-card-scope-row{border-top:1px solid var(--border-subtle);justify-content:flex-end;margin-top:10px;padding-top:10px;display:flex}.tp-begin-scope-btn{color:#7c3aed;cursor:pointer;background:#f5f3ff;border:1px dashed #7c3aed;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:all .15s}.tp-begin-scope-btn:hover{background:#ede9fe;border-style:solid}.tp-scope-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:600;transition:opacity .15s}.tp-scope-btn:hover{opacity:.85}.tp-card-expand{max-height:0;transition:max-height .25s;overflow:hidden}.tp-card.expanded .tp-card-expand{max-height:600px}.tp-expand-section{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:12px}.tp-expand-section:first-child{border-top:none;margin-top:8px}.tp-expand-label{letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.tp-expand-row{color:var(--text);justify-content:space-between;align-items:center;padding:2px 0;font-size:12px;display:flex}.tp-expand-row.sub{color:var(--text-muted);padding-left:12px;font-size:11px}.tp-card-chevron{text-align:center;color:var(--text-light);margin-top:4px;font-size:10px;transition:transform .2s}.tp-card.expanded .tp-card-chevron{transform:rotate(180deg)}.tp-scope-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.tp-back-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s}.tp-back-btn:hover{background:var(--tag-inactive-bg)}.tp-scope-project-info{align-items:baseline;gap:8px;display:flex}.tp-scope-client{letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.tp-scope-name{letter-spacing:.02em;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:22px}.tp-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tp-modal{background:var(--card);border-radius:12px;width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.tp-modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.tp-modal-header h3{letter-spacing:.03em;color:var(--text);margin:0;font-family:Bebas Neue,sans-serif;font-size:22px}.tp-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px}.tp-modal-close:hover{color:var(--text)}.tp-modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.tp-modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.tp-field{flex-direction:column;gap:4px;display:flex}.tp-field label{letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.tp-field input,.tp-field select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;outline:none;padding:8px 12px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.tp-field input:focus,.tp-field select:focus{border-color:var(--text-muted)}.tp-field-row{gap:12px;display:flex}.tp-field-row .tp-field{flex:1}.tp-budget-breakdown{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 16px}.tp-breakdown-row{color:var(--text);justify-content:space-between;align-items:center;padding:3px 0;font-size:13px;display:flex}.tp-breakdown-row.sub{color:var(--text-muted);padding-left:12px;font-size:12px}.tp-breakdown-val{font-variant-numeric:tabular-nums;font-weight:600}.tp-breakdown-sub{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:4px}.tp-planning-staff{border:1px solid var(--border-subtle);background:var(--input-bg);border-radius:8px;padding:12px}.tp-staff-dept{margin-bottom:6px}.tp-staff-dept:last-child{margin-bottom:0}.tp-staff-empty{color:var(--text-light);text-align:center;padding:8px 0;font-size:12px}.tp-add-role-btn{color:var(--text-muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;width:100%;margin-top:8px;padding:6px 12px;font-size:12px;font-weight:500;transition:border-color .15s,color .15s}.tp-add-role-btn:hover{border-color:var(--text-muted);color:var(--text)}.tp-autocomplete{position:relative}.tp-autocomplete input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.tp-autocomplete input:focus{border-color:var(--text-muted)}.tp-autocomplete-list{background:var(--card);border:1px solid var(--border);z-index:50;border-radius:6px;max-height:200px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.tp-autocomplete-item{cursor:pointer;color:var(--text);padding:8px 12px;font-size:13px;transition:background .1s}.tp-autocomplete-item:hover{background:var(--tag-inactive-bg)}.tp-staff-autocomplete{margin-top:8px}.tp-staff-autocomplete input{padding:6px 10px;font-size:12px}.tp-card-description{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.tp-expand-description{color:var(--text);font-size:13px;line-height:1.5}.tp-field textarea{border:1px solid var(--border);background:var(--input-bg);color:var(--text);resize:vertical;border-radius:6px;outline:none;min-height:60px;padding:8px 12px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.tp-field textarea:focus{border-color:var(--text-muted)}.tp-empty-actions{gap:10px;margin-top:4px;display:flex}.tp-add-role-inline{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tp-add-role-inline select{border:1px solid var(--border);background:var(--card);border-radius:4px;flex:1;min-width:120px;padding:5px 8px;font-size:12px}.tp-btn-primary{background:var(--text);color:var(--card);cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:opacity .15s}.tp-btn-primary:hover{opacity:.85}.tp-btn-primary:disabled{opacity:.4;cursor:not-allowed}.tp-btn-secondary{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 20px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:background .15s}.tp-btn-secondary:hover{background:var(--tag-inactive-bg)}.tp-btn-small{background:var(--text);color:var(--card);cursor:pointer;border:none;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:600}.tp-btn-small:disabled{opacity:.4;cursor:not-allowed}.tp-btn-small.secondary{background:var(--card);color:var(--text-muted);border:1px solid var(--border)}.scoping-page{padding:0 0 48px}.scoping-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.scoping-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);margin:0;font-size:28px}.scoping-badge{letter-spacing:1px;background:var(--tag-active-bg);color:var(--tag-active-text);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.draft-form-page{width:100%;max-width:920px;margin:0 auto}.draft-header-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.draft-form-subtitle{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);font-size:22px}.draft-header-meta{align-items:center;gap:8px;display:flex}.draft-date-badge,.draft-tier-badge{letter-spacing:.5px;background:var(--input-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.draft-tier-badge{background:var(--tag-active-bg);border-color:var(--tag-active-bg);color:var(--tag-active-text)}.draft-layout{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;display:grid}@media (max-width:800px){.draft-layout{grid-template-columns:1fr}}.draft-section{flex-direction:column;display:flex}.draft-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px;font-size:13px}.draft-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;gap:14px;padding:18px;display:flex}.draft-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.draft-footer{background:var(--card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;margin-top:20px;padding:14px 18px;display:flex}.draft-footer-left{align-items:center;gap:24px;display:flex}.draft-footer-right{align-items:center;gap:12px;display:flex}.draft-upload-compact{align-items:center;gap:8px;display:flex}.draft-upload-compact .draft-label{white-space:nowrap;margin:0}.draft-upload-inline{border-style:dashed;border-width:1px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.draft-upload-inline .draft-upload-icon{margin:0;font-size:14px}.draft-upload-inline .draft-upload-text{font-size:12px}@media (max-width:800px){.draft-footer{flex-direction:column;align-items:stretch;gap:16px}.draft-footer-left,.draft-footer-right{flex-wrap:wrap}}.draft-field{flex-direction:column;gap:5px;display:flex}.draft-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);font-size:12px}.draft-req{color:#e57373}.draft-input,.draft-select{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.draft-input:focus,.draft-select:focus{border-color:var(--accent)}.draft-textarea{resize:vertical;min-height:44px;font-family:Inter,sans-serif;line-height:1.4}.draft-autocomplete{position:relative}.draft-autocomplete-list{background:var(--card-bg,#1a1a1a);z-index:20;border:1px solid #ffffff1f;border-radius:6px;max-height:220px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.draft-autocomplete-item{color:#ffffffd9;cursor:pointer;padding:8px 12px;font-size:.82rem;transition:background .12s}.draft-autocomplete-item:hover{background:#ffffff14}.draft-autocomplete-item:first-child{border-radius:6px 6px 0 0}.draft-autocomplete-item:last-child{border-radius:0 0 6px 6px}.draft-autocomplete-item.highlighted{background:#ffffff1a}.draft-autocomplete-item span{display:inline}.role-assign-autocomplete{width:100%}.role-assign-autocomplete .assign-input{color:#ffffffe6;background:#ffffff0a;border:1px dashed #ffffff2e;border-radius:4px;outline:none;width:100%;padding:2px 18px 2px 5px;font-family:Inter,sans-serif;font-size:.72rem;transition:border-color .15s}.role-assign-autocomplete .assign-input:focus{border-color:#ffffff4d}.role-assign-autocomplete .assign-input::placeholder{color:#ffffff4d;font-style:italic}.assign-clear-btn{color:#ffffff59;cursor:pointer;background:0 0;border:none;padding:0 3px;font-size:.85rem;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.assign-clear-btn:hover{color:#ffffffb3}.assign-fl-tag{color:#fff6;margin-left:8px;font-size:.7rem;font-weight:500}.draft-input::placeholder{color:var(--text-muted);opacity:.5}.draft-input-prefix,.draft-input-suffix{align-items:center;display:flex;position:relative}.draft-prefix{color:var(--text-muted);pointer-events:none;z-index:1;font-size:14px;position:absolute;left:12px}.draft-input-has-prefix{padding-left:24px}.draft-suffix{color:var(--text-muted);pointer-events:none;z-index:1;font-size:14px;position:absolute;right:12px}.draft-input-has-suffix{padding-right:28px}.draft-hint{color:var(--text-muted);opacity:.7;font-size:11px}.draft-hint-inline{letter-spacing:.5px;text-transform:none;color:var(--text-muted);opacity:.6;font-family:inherit;font-size:10px;font-weight:400}.draft-phases{flex-wrap:wrap;gap:8px;display:flex}.draft-phase-btn{border:1px solid var(--border);background:var(--input-bg);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:5px;padding:7px 14px;font-size:12.5px;font-weight:500;transition:all .15s;display:flex}.draft-phase-btn:hover:not(.disabled):not(.active){border-color:var(--accent);color:var(--text);background:var(--input-bg)}.draft-phase-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.draft-phase-btn.active:hover:not(.disabled){opacity:.85}.draft-phase-btn.disabled{opacity:.35;cursor:not-allowed}.draft-phase-check{font-size:11px;font-weight:700}.draft-upload-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:10px;padding:24px;transition:border-color .15s,background .15s}.draft-upload-zone:hover{border-color:var(--accent);background:#ffffff05}.draft-upload-icon{color:var(--text-muted);margin-bottom:6px;font-size:24px}.draft-upload-text{color:var(--text);font-size:13px;font-weight:500}.draft-upload-hint{color:var(--text-muted);margin-top:4px;font-size:11px}.draft-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.draft-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.draft-checkbox-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);font-size:13px}.draft-error{color:#e57373;background:#e5737314;border:1px solid #e5737333;border-radius:8px;padding:10px 14px;font-size:13px}.draft-btn-primary,.draft-btn-secondary{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 28px;font-size:15px;transition:all .15s}.draft-btn-primary{background:var(--accent);color:#fff}.draft-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.draft-btn-primary:disabled{opacity:.5;cursor:not-allowed}.draft-btn-secondary{border:1px solid var(--border);color:var(--text-muted);background:0 0}.draft-btn-secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.draft-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.scoping-tabs{border-bottom:2px solid var(--border);gap:2px;margin-bottom:24px;padding-bottom:0;display:flex;overflow-x:auto}.scoping-tab{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:14px;transition:color .15s,border-color .15s}.scoping-tab:hover{color:var(--text)}.scoping-tab.active{color:var(--text);border-bottom-color:var(--accent)}.scoping-content{min-height:400px}.scoping-placeholder{text-align:center;color:var(--text-muted);padding:80px 24px}.scoping-placeholder .placeholder-icon{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--border);margin-bottom:16px;font-size:48px}.scoping-placeholder h3{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);margin:0 0 8px;font-size:20px}.estimate-builder{width:100%}.estimate-subtabs{align-items:center;gap:4px;margin-bottom:24px;display:flex}.estimate-subtab{letter-spacing:.5px;border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.estimate-subtab:hover:not(:disabled){background:var(--input-bg);color:var(--text)}.estimate-subtab.active{background:var(--tag-active-bg);color:var(--tag-active-text);border-color:var(--tag-active-bg)}.estimate-subtab:disabled{opacity:.4;cursor:not-allowed}.estimate-save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:auto;padding:6px 16px;font-size:12px;font-weight:600;transition:opacity .15s}.estimate-save-btn:hover:not(:disabled){opacity:.9}.estimate-save-btn:disabled{opacity:.5;cursor:not-allowed}.est-topsheet{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:24px}.est-topsheet-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.est-topsheet-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:24px}.est-topsheet-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.est-topsheet-actions{align-items:center;gap:10px;display:flex}.est-version-badge{letter-spacing:1px;border-radius:4px;padding:4px 12px;font-size:10px;font-weight:700}.est-badge-draft{color:#e65100;background:#fff3e0;border:1px solid #ffcc80}.est-badge-active{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7}.est-generate-btn{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 24px;font-size:14px;transition:opacity .15s}.est-generate-btn:hover:not(:disabled){opacity:.9}.est-generate-btn:disabled{opacity:.4;cursor:not-allowed}.est-save-btn{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;background:var(--card);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 18px;font-size:13px;transition:all .15s}.est-save-btn:hover:not(:disabled){background:var(--input-bg)}.est-save-btn:disabled{opacity:.4}.est-budget-health-section{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:20px 24px}.est-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:20px;padding-bottom:20px;display:flex}.est-controls-header{width:100%;margin-bottom:-8px}.est-controls-title{letter-spacing:.08em;color:var(--text);text-transform:uppercase;font-size:12px;font-weight:800}.est-control-group{flex-direction:column;gap:4px;display:flex}.est-control-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);font-size:10px}.est-control-value-lg{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);font-size:28px;line-height:1}.est-fee-lever{align-items:center;gap:10px;display:flex}.est-fee-slider{width:120px;accent-color:var(--accent);cursor:pointer}.est-phase-pills{flex:1;justify-content:flex-end;gap:8px;display:flex}.est-phase-pill{background:var(--input-bg);border-left:3px solid;border-radius:0 6px 6px 0;padding:4px 10px}.est-phase-pill-label{letter-spacing:.5px;text-transform:uppercase;color:var(--text);font-size:10px;font-weight:700}.est-phase-pill-dates{color:var(--text-muted);font-size:11px}.est-phase-pill-weeks{color:var(--text-muted);opacity:.6;font-size:10px}.est-phase-pill-custom{position:relative}.est-phase-pill-name-input{border:none;border-bottom:1px dashed var(--border);color:var(--text);letter-spacing:.5px;text-transform:uppercase;background:0 0;width:90px;padding:0 2px;font-size:11px;font-weight:600}.est-phase-pill-name-input:focus{border-bottom-color:var(--accent);outline:none}.est-phase-pill-date-input{color:var(--text-muted);cursor:pointer;background:0 0;border:none;width:100px;padding:0;font-size:10px}.est-phase-pill-date-input:focus{outline:none}.est-phase-pill-remove{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 4px;font-size:12px;transition:opacity .15s;position:absolute;top:2px;right:2px}.est-phase-pill-custom:hover .est-phase-pill-remove{opacity:.7}.est-phase-pill-remove:hover{color:#c62828;opacity:1!important}.est-add-phase-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-self:center;padding:6px 12px;font-size:11px;transition:all .15s}.est-add-phase-btn:hover{border-color:var(--accent);color:var(--accent)}.draft-custom-phase-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.draft-custom-phase-name{flex:1;min-width:100px}.draft-custom-phase-date{flex:none;width:130px!important}.draft-custom-phase-sep{color:var(--text-muted);font-size:13px}.draft-custom-phase-weeks{color:var(--text-muted);text-align:center;min-width:30px;font-size:11px}.draft-custom-phase-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.draft-custom-phase-remove:hover{color:#c62828}.draft-add-phase-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:6px 12px;font-size:12px;transition:all .15s}.draft-add-phase-btn:hover{border-color:var(--accent);color:var(--accent)}.est-allocation{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;margin-bottom:20px;overflow:hidden}.est-allocation-header{background:#1a1a1a;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.est-allocation-title{letter-spacing:1px;color:#fff;font-size:11px;font-weight:700}.est-allocation-table{border-collapse:collapse;width:100%}.est-allocation-table th{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);background:var(--input-bg);padding:8px 14px;font-size:9px;font-weight:600}.est-allocation-table th:first-child{text-align:left;width:200px}.alloc-col-guide{width:130px}.alloc-col-pct{width:90px;text-align:center!important}.alloc-col-est{width:130px}.alloc-col-delta{width:110px}.est-allocation-table td{border-bottom:1px solid var(--border-subtle);padding:8px 14px;font-size:13px}.alloc-label{color:var(--text);font-size:12px;font-weight:600}.alloc-label.sub{color:var(--text-muted);font-size:11px;font-weight:400;padding-left:12px!important}.alloc-money{text-align:right;font-family:var(--font-mono,monospace);color:var(--text);font-size:13px}.alloc-money.sub{color:var(--text-muted);font-size:11px}.alloc-pct{text-align:center;color:var(--text-muted);font-size:12px}.alloc-delta{text-align:right;color:var(--text-muted);font-size:12px;font-weight:500}.alloc-delta.over{color:#c62828}.alloc-delta.under{color:#2e7d32}.alloc-row-agency td{background:#1565c00a}.alloc-row-prodpost td{background:#2e7d320a}.alloc-row-total td{color:#fff;background:#1a1a1a;border-bottom:none;font-weight:700}.alloc-row-total .alloc-label,.alloc-row-total .alloc-money,.alloc-row-total .alloc-pct{color:#fff}.alloc-row-total .alloc-delta{font-weight:700}.alloc-row-total .alloc-delta.over{color:#ef5350}.alloc-row-total .alloc-delta.under{color:#66bb6a}.alloc-row-subtotal td{border-top:1px solid var(--border);font-weight:600}.alloc-row-subtotal .alloc-money{font-weight:600}.est-allocation-breakdown{border-top:1px solid var(--border);padding:10px 0 4px}.alloc-breakdown-title{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);padding:0 16px 6px;font-size:9px;font-weight:600}.est-allocation-table.sub{margin-bottom:4px}.est-allocation-table.sub th{padding:4px 14px;font-size:8px}.est-allocation-table.sub td{border-bottom:none;padding:4px 14px}.est-summary-row{grid-template-columns:1fr 1fr 1fr 1fr;gap:16px;display:grid}.est-summary-item{text-align:center;background:var(--input-bg);border-radius:8px;padding:12px}.est-summary-total{background:#1b5e34}.est-summary-total .est-summary-label,.est-summary-total .est-summary-value,.est-summary-total .est-summary-sub{color:#fff}.est-summary-label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:600}.est-summary-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);font-size:22px;line-height:1.1}.est-summary-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.est-topsheet-preview{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:24px}.est-preview-doc-header{border-bottom:2px solid var(--text-primary);margin-bottom:16px;padding-bottom:16px}.est-preview-doc-row{align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.est-preview-doc-row:last-child{margin-bottom:0}.est-preview-doc-label{letter-spacing:1.5px;color:var(--text-secondary);flex-shrink:0;width:60px;font-size:9px;font-weight:700}.est-preview-doc-input{border:none;border-bottom:1px dashed var(--border);background:0 0;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:15px;font-weight:600}.est-preview-doc-input:focus{border-bottom-color:var(--accent)}.est-preview-doc-value{color:var(--text-secondary);font-size:13px}.est-preview-controls-row{justify-content:flex-end;align-items:center;margin-bottom:8px;display:flex}.est-preview-auto-tag,.est-preview-manual-tag{letter-spacing:.5px;vertical-align:middle;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:600}.est-preview-auto-tag{color:#2e7d32;background:#2e7d321a}.est-preview-manual-tag{color:#e65100;background:#e651001a}.est-preview-inline-input{color:var(--text-secondary);background:0 0;border:none;border-bottom:1px dashed #0000;outline:none;width:100%;padding:1px 0;font-family:inherit;font-size:13px}.est-preview-inline-input:hover{border-bottom-color:var(--border)}.est-preview-inline-input:focus{border-bottom-color:var(--accent);color:var(--text)}.est-preview-phase-tag{text-align:center;white-space:nowrap;font-size:11px;font-weight:600}.est-preview-row-auto td{color:var(--text-secondary);padding:6px 10px;font-size:13px}.est-preview-row-auto td:first-child{padding-left:24px}.est-preview-qty-price{justify-content:center;align-items:center;gap:4px;display:flex}.est-preview-qty-price .topsheet-input-sm{width:60px}.est-preview-times{color:var(--text-secondary);font-size:12px}.est-preview-col-desc{width:auto}.est-preview-col-phase{text-align:center;width:100px}.est-preview-col-est{text-align:right;width:130px}.est-preview-col-action{width:36px}.est-preview-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.est-preview-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:18px}.est-preview-table{border-collapse:collapse;width:100%}.est-preview-table th{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:2px solid var(--border);padding:6px 10px;font-size:10px;font-weight:600}.est-preview-table th.est-preview-col-phase{text-align:center}.est-preview-table th.est-preview-col-est{text-align:right}.est-preview-table td{color:var(--text);border-bottom:1px solid var(--border);padding:8px 10px;font-size:13px}.est-preview-money{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.est-preview-action{text-align:center}.est-preview-section-header td{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.8px;color:var(--text-secondary);border-bottom:1px solid var(--border);background:0 0;padding:14px 10px 6px;font-size:14px}.est-preview-row-summary td{color:var(--text)}.est-preview-row-editable td{padding:4px 10px}.est-preview-row-editable .topsheet-input{width:100%}.est-preview-row-editable .topsheet-input-sm{text-align:right;width:70px}.est-preview-row-add td{border-bottom:none;padding:4px 10px 8px}.est-preview-subtotal td{border-bottom:1px solid var(--border);padding:8px 10px;font-weight:600}.est-preview-row-fee td{color:var(--text-secondary);padding:4px 10px;font-size:12px}.est-preview-grand-total td{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;border-top:2px solid var(--text);color:var(--text);border-bottom:none;padding:14px 10px;font-size:18px}.est-preview-grand-total .est-preview-money{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--accent);font-size:18px}.est-preview-utilization{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.est-preview-util-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.est-preview-util-label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.est-preview-util-pct{font-variant-numeric:tabular-nums;color:var(--text);font-size:13px;font-weight:600}.est-preview-util-pct.over{color:#c62828}.est-preview-util-track{background:var(--input-bg);border-radius:4px;width:100%;height:8px;overflow:hidden}.est-preview-util-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.est-preview-util-fill.over{background:#c62828}.est-preview-util-warning{color:#c62828;text-align:right;margin-top:6px;font-size:11px;font-weight:600}.estimate-builder>.est-controls{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:20px 24px}.est-scope-info{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:16px 20px}.est-scope-info-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.est-scope-info-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.est-scope-info-grid{grid-template-columns:repeat(3,1fr);gap:10px 16px;display:grid}.est-scope-field{flex-direction:column;gap:3px;display:flex}.est-scope-field-wide{grid-column:1/-1}.est-scope-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.est-scope-input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;outline:none;padding:6px 8px;font-size:13px;transition:border-color .15s}.est-scope-input:focus{border-color:var(--accent)}.est-scope-textarea{resize:vertical;min-height:60px;font-family:inherit;line-height:1.5}.est-scope-value{color:var(--text);padding:6px 0;font-size:13px}.est-section-divider{background:var(--border);opacity:.6;height:1px;margin:20px 0 16px}.est-prod-footer-right{flex-direction:column;align-items:flex-end;gap:6px;padding:8px 0 4px;display:flex}.est-prod-fees-summary{background:var(--bg-secondary);border-radius:6px;min-width:320px;margin-top:4px;padding:8px 12px}.est-prod-fee-row{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.est-post-flat-fees{margin-top:8px;padding:8px 12px}.est-post-flat-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.est-prod-fee-row.est-prod-fee-total{border-top:1px solid var(--border);color:var(--text-primary);margin-top:4px;padding-top:8px;font-weight:600}.est-health{margin-bottom:16px}.est-profit-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;padding:0 2px;display:flex}.est-profit-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.08em;color:var(--text-muted);font-size:14px}.est-profit-total{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.02em;font-size:18px}.est-health-cards{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.est-health-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--border);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px;display:flex}.est-health-gauge{background:var(--input-bg);border-radius:3px;width:100%;height:6px;margin-bottom:8px;overflow:hidden}.est-health-gauge-fill{height:100%;width:var(--gauge-pct);background:var(--gauge-color);border-radius:3px;transition:width .6s ease-out}.est-health-metric{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);font-size:28px;line-height:1}.est-health-label{color:var(--text-muted);letter-spacing:.3px;font-size:11px;font-weight:600}.est-health-target{color:var(--text-muted);opacity:.6;font-size:10px}.est-staffing-section{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.est-staffing-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 20px;transition:background .15s;display:flex}.est-staffing-toggle:hover{background:var(--input-bg)}.est-staffing-toggle-icon{color:var(--text-muted);width:14px;font-size:10px}.est-staffing-toggle-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);font-size:14px}.est-staffing-toggle-summary{color:var(--text-muted);margin-left:auto;font-size:12px}.est-staffing-body{border-top:1px solid var(--border);padding:0 20px 20px}.est-staffing-header-row{padding:12px 0}.est-arrow{color:var(--text-muted)}.est-accent{color:var(--accent);font-weight:600}.est-discount-badge{color:#e65100;background:#fff3e0;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.assign-col{text-align:left;width:180px;min-width:150px}.zero-row{opacity:.4}.fl-checkbox{accent-color:var(--accent);cursor:pointer}.est-dept-breakdown{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.est-dept-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:10px;font-size:12px}.est-dept-bars{flex-direction:column;gap:6px;display:flex}.est-dept-bar-row{grid-template-columns:100px 1fr 80px 50px;align-items:center;gap:8px;font-size:12px;display:grid}.est-dept-bar-label{color:var(--text);font-weight:500}.est-dept-bar-track{background:var(--input-bg);border-radius:4px;height:8px;overflow:hidden}.est-dept-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .4s ease-out}.est-dept-bar-value{text-align:right;color:var(--text);font-weight:600}.est-dept-bar-pct{text-align:right;color:var(--text-muted)}.est-prodpost-budget-bar{background:#2e7d320f;border:1px solid #2e7d3226;border-radius:6px;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex}.ppb-item{align-items:baseline;gap:6px;display:flex}.ppb-label{letter-spacing:.3px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.ppb-value{font-family:var(--font-mono,monospace);color:var(--text);font-size:14px;font-weight:700}.ppb-value.over{color:#c62828}.ppb-value.under{color:#2e7d32}.ppb-divider{color:var(--border);font-size:14px}.est-prod-section{margin-top:20px}.est-prod-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-muted);margin-bottom:8px;font-size:13px}.est-setup-prompt{text-align:center;color:var(--text-muted);padding:60px 24px}.est-setup-icon{opacity:.2;margin-bottom:12px;font-size:48px}.est-setup-text{max-width:400px;margin:0 auto;font-size:14px}.est-setup-hint{color:var(--text-muted);opacity:.6;margin-top:8px;font-size:12px}.est-budget-clickable{cursor:pointer;border-bottom:1px dashed var(--border);transition:border-color .15s}.est-budget-clickable:hover{border-bottom-color:var(--accent)}.est-budget-edit{align-items:center;gap:2px;display:flex}.est-budget-prefix{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text-muted);font-size:24px}.est-budget-input{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);background:var(--input-bg);border:1px solid var(--accent);border-radius:6px;outline:none;width:160px;padding:2px 8px;font-size:28px}.est-fee-input{width:52px;font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);background:var(--input-bg);border:1px solid var(--border);text-align:center;-moz-appearance:textfield;border-radius:6px;outline:none;padding:4px 6px;font-size:20px}.est-fee-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.est-fee-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.est-fee-input:focus{border-color:var(--accent)}.est-fee-pct-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text-muted);margin-right:4px;font-size:18px}.est-discount-controls{margin-top:6px}.est-apply-discount-btn{letter-spacing:1px;border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:10px;font-weight:700;transition:all .15s}.est-apply-discount-btn:hover{background:var(--accent);color:#fff}.est-apply-discount-btn.applied{color:#fff;cursor:pointer;background:#2e7d32;border-color:#2e7d32}.est-live-metrics{border-bottom:1px solid var(--border);align-items:center;gap:20px;margin-bottom:4px;padding:8px 0;display:flex}.est-metric-pill{align-items:baseline;gap:6px;display:flex}.est-margin-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid;border-radius:8px;padding:8px 16px;transition:all .4s}.est-margin-pill .est-metric-label{letter-spacing:2px;font-size:8px}.est-margin-pill .est-metric-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;font-size:22px}.est-margin-warning{color:#ff5252;letter-spacing:.3px;background:#ff52520f;border:1px solid #ff525226;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.est-margin-warning:before{content:"⚠";font-size:13px}.est-metric-label{letter-spacing:1.5px;color:var(--text-secondary);text-transform:uppercase;font-size:9px;font-weight:700}.est-metric-value{font-size:16px;font-weight:800;font-family:var(--font-heading);letter-spacing:-.5px}.est-metric-sub{font-size:11px;font-weight:600}.hrs-discounted{text-align:center;color:#2e7d32;cursor:default;background:#2e7d320f;border-radius:3px;font-weight:700;display:inline-block}.est-export-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);letter-spacing:.06em;cursor:pointer;border-radius:6px;padding:6px 14px;font-size:11px;font-weight:600;transition:all .15s}.est-export-btn:hover{border-color:var(--accent);color:var(--accent)}.est-export-menu{background:var(--card-bg);border:1px solid var(--border);z-index:20;border-radius:8px;min-width:170px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f}.est-export-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:13px;font-weight:500;transition:background .1s;display:block}.est-export-menu button:hover{background:var(--hover-bg)}.est-export-menu button:not(:last-child){border-bottom:1px solid var(--border-subtle)}.est-export-menu button:disabled{opacity:.5;cursor:default}.est-export-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.est-export-modal{background:var(--card-bg);border-radius:12px;width:420px;max-width:90vw;padding:28px 32px;box-shadow:0 8px 32px #0003}.est-export-modal-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:700}.est-export-modal-desc{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.est-export-checkbox{color:var(--text);cursor:pointer;border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;transition:border-color .15s;display:flex}.est-export-checkbox:hover{border-color:var(--accent)}.est-export-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.est-export-note{color:var(--text-light);background:var(--bg-subtle);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:11px}.est-export-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.est-export-modal-cancel{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500}.est-export-modal-cancel:hover{border-color:var(--text-secondary)}.est-export-modal-dl{background:var(--card-bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.est-export-modal-dl:hover{border-color:var(--accent);color:var(--accent)}.est-export-modal-primary{background:var(--accent);border-color:var(--accent);color:#fff}.est-export-modal-primary:hover{opacity:.9;border-color:var(--accent);color:#fff}.est-export-modal-dl:disabled{opacity:.5;cursor:default}.role-name-group{align-items:center;gap:4px;display:flex}.role-name-text{color:var(--text);white-space:nowrap;font-size:12px}.role-dup-btn{border:1px solid var(--border);background:var(--input-bg);width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:opacity .15s;display:flex}tr:hover .role-dup-btn{opacity:.6}.role-dup-btn:hover{border-color:var(--accent);color:var(--accent);opacity:1!important}.assign-select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:4px;max-width:120px;padding:2px 4px;font-size:11px}.assign-select:focus{border-color:var(--accent);outline:none}.est-role-count-label{color:var(--text-muted);letter-spacing:.3px;font-size:11px;font-weight:500}.est-toggle-roles-btn{border:1px solid var(--border);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s}.est-toggle-roles-btn:hover{border-color:var(--accent);color:var(--accent)}.role-separator-row td{padding:0!important}.role-separator-cell{align-items:center;gap:8px;display:flex;padding:8px 0!important}.role-separator-line{background:var(--border);flex:1;height:1px}.role-separator-label{letter-spacing:1px;color:var(--text-muted);opacity:.6;white-space:nowrap;font-size:9px;font-weight:700}.est-prod-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.est-prod-header .est-prod-title{margin-bottom:0}.est-fee-toggle{cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.est-fee-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.est-fee-toggle-label{color:var(--text-secondary);font-weight:500}.est-fee-toggle-hint{color:var(--text-muted);opacity:.7;font-size:10px}.est-client-plan{border-top:1px solid var(--border);margin-top:2px}.est-client-plan-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.est-client-plan-toggle:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.est-client-plan-toggle:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}}.est-client-plan-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.2px;color:var(--text-secondary);font-size:13px}.est-client-plan-summary{color:var(--text-muted);align-items:center;gap:8px;margin-left:auto;font-size:11px;display:flex}.est-client-plan-body{padding:0 12px 14px}.est-client-plan-controls{background:var(--input-bg);border-radius:6px;gap:2px;width:fit-content;margin-bottom:10px;padding:2px;display:flex}.est-client-plan-mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 14px;font-size:11px;font-weight:600;transition:all .15s}.est-client-plan-mode-btn.active{background:var(--card-bg);color:var(--text);box-shadow:0 1px 3px #00000026}.est-client-plan-table{border-collapse:collapse;width:100%;font-size:11px}.est-client-plan-table thead th{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);text-align:right;border-bottom:2px solid var(--border);padding:6px 8px;font-size:10px;font-weight:700}.est-client-plan-table thead th:first-child{text-align:left}.est-client-plan-table tbody td{border-bottom:1px solid var(--border);padding:5px 8px}@supports (color:color-mix(in lab, red, red)){.est-client-plan-table tbody td{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent)}}.est-cp-role{color:var(--text);text-align:left;white-space:nowrap;font-weight:600}.est-cp-rate{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.est-cp-val{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}.est-cp-total{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.est-cp-dollars{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}.est-cp-totals-row{border-top:2px solid var(--border)}.est-cp-totals-row td{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;padding-top:8px;font-weight:700}.est-cp-totals-row td:first-child{text-align:left;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;font-size:12px}.setup-form{max-width:900px}.section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);margin:0 0 16px;font-size:18px}.form-row{gap:16px;margin-bottom:16px;display:flex}.form-row.three-col{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.form-group input,.form-group select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;padding:8px 12px;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);outline:none}.form-hint{color:var(--text-muted);font-size:11px;font-style:italic}.toggle-label{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.phase-preview{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:12px;margin:20px 0;padding:16px}.phase-preview h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 12px;font-size:14px}.phase-preview-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.phase-preview-card{background:var(--card);border-left:3px solid;border-radius:8px;padding:12px}.phase-preview-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.phase-preview-dates{color:var(--text);font-size:13px}.phase-preview-weeks{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text);margin-top:4px;font-size:20px}.form-actions{align-items:center;gap:12px;margin:24px 0;display:flex}.generate-btn{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 32px;font-size:16px;transition:opacity .15s}.generate-btn:hover:not(:disabled){opacity:.9}.generate-btn:disabled{opacity:.4;cursor:not-allowed}.quick-summary{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:20px;padding:16px;display:grid}.summary-card{flex-direction:column;gap:2px;display:flex}.summary-card.accent{background:var(--card);border:1px solid var(--accent);border-radius:8px;padding:8px 12px}.summary-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:10px;font-weight:600}.summary-value{color:var(--text);font-size:14px;font-weight:600}.estimates-list{margin-top:32px}.estimates-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.estimate-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:14px;transition:border-color .15s}.estimate-card:hover{border-color:var(--accent)}.estimate-card-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.estimate-card-meta{color:var(--text-muted);font-size:12px}.estimate-card-date{color:var(--text-light);margin-top:6px;font-size:11px}.internal-plan{width:100%}.plan-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.plan-summary{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.plan-summary .accent{color:var(--accent);font-weight:600}.plan-summary .divider{color:var(--text-light)}.discount-badge{color:#e65100;background:#fff3e0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.staffing-table-wrap{border:1px solid var(--border);background:var(--card);border-radius:10px;overflow-x:auto}.staffing-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.2}.staffing-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;padding:6px;font-size:10px;font-weight:600}.staffing-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:3px 6px}.staffing-table .role-col{min-width:120px;max-width:160px}.role-select{width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;padding:2px 4px;font-size:12px}.role-select:hover{border-color:var(--border);background:var(--input-bg)}.staffing-table .rate-col{width:60px;color:var(--text-muted);font-size:12px}.staffing-table .fl-col{text-align:center;width:30px;color:var(--accent);font-size:12px}.staffing-table .phase-col{text-align:center;border-bottom-width:3px;width:90px}.phase-weeks{color:var(--text-light);font-size:9px;font-weight:400}.phase-dates{color:var(--text-light);white-space:nowrap;opacity:.7;font-size:8px;font-weight:400}.est-mode-toggle{border:1px solid var(--border);background:var(--input-bg);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .15s}.est-mode-toggle:hover{border-color:var(--accent);color:var(--text)}.hrs-input{border:1px solid var(--border);text-align:center;width:44px;color:var(--text);appearance:textfield;background:#fff;border-radius:3px;padding:2px 4px;font-size:12px;transition:border-color .15s,box-shadow .15s}.hrs-input:hover{border-color:#ccc}.hrs-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hrs-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hrs-input:focus{border-color:var(--accent);background:#fff;outline:none}.phase-cell{flex-direction:column;justify-content:flex-start;align-items:center;gap:1px;min-height:36px;display:flex}.phase-total-calc{color:var(--text-light);letter-spacing:.02em;min-height:12px;font-size:9px;font-weight:500;line-height:12px}.staffing-table .total-col{text-align:right;width:70px;font-weight:600}.staffing-table .dollar-col{text-align:right;width:90px;font-weight:600}.staffing-table .action-col{text-align:center;width:30px}.remove-role-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:16px}.remove-role-btn:hover{color:#c62828;background:#fce4ec}.fl-row{background:#f3f8f5}.totals-row td{border-top:2px solid var(--border);padding-top:10px;font-weight:600}.fee-row td{padding:6px 8px;font-size:12px}.fee-pct-cell{text-align:center!important}.fee-warning{color:#c62828;font-weight:600}.fee-target{color:var(--accent);font-weight:600}.add-role-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.add-role-btn:hover{border-color:var(--accent);color:var(--accent)}.topsheet{background:var(--card);border:1px solid var(--border);border-radius:14px;max-width:800px;padding:32px}.topsheet-header{border-bottom:2px solid var(--text);margin-bottom:28px;padding-bottom:16px}.topsheet-logo{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);margin-bottom:12px;font-size:28px}.topsheet-meta{color:var(--text);grid-template-columns:1fr 1fr;gap:4px 24px;font-size:13px;display:grid}.topsheet-section{margin-bottom:24px}.topsheet-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:4px;font-size:15px}.topsheet-table{border-collapse:collapse;width:100%;font-size:13px}.topsheet-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:600}.topsheet-table td{color:var(--text);border-bottom:1px solid var(--border-subtle);padding:6px 8px}.topsheet-table td.money,.topsheet-table th:last-child{text-align:right}.subtotal-row td{border-top:1px solid var(--border);padding-top:8px}.topsheet-input{border:1px solid var(--border-subtle);background:var(--input-bg);border-radius:4px;width:100%;padding:4px 8px;font-size:13px}.topsheet-input:focus{border-color:var(--accent);outline:none}.topsheet-input-sm{border:1px solid var(--border-subtle);background:var(--input-bg);text-align:right;border-radius:4px;width:80px;padding:4px 8px;font-size:13px}.topsheet-input-sm:focus{border-color:var(--accent);outline:none}.topsheet-post-total{border-top:1px solid var(--border);justify-content:space-between;margin-top:12px;padding:10px 8px;font-size:14px;font-weight:600;display:flex}.topsheet-grand-total{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-top:24px;padding:16px}.grand-total-row{color:var(--text);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.grand-total-row.total{border-top:2px solid var(--text);font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;margin-top:8px;padding-top:10px;font-size:20px}.health-view{max-width:800px}.health-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:28px;display:grid}.health-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px}.health-card.accent{border-top:3px solid}.health-card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.health-card-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:28px}.health-card-sub{color:var(--text-muted);font-size:11px}.health-table-section{margin-bottom:24px}.health-table-section h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 8px;font-size:14px}.health-table{border-collapse:collapse;width:100%;font-size:13px}.health-table td{color:var(--text);border-bottom:1px solid var(--border-subtle);padding:6px 12px}.health-table td.money{text-align:right;font-weight:500}.health-table td:last-child{text-align:right;width:100px}.health-table .highlight-row{background:#f3f8f5}.health-table .total-row td{border-top:2px solid var(--border);padding-top:10px;font-weight:600}.checklist-tab{max-width:600px}.checklist-list{flex-direction:column;gap:4px;display:flex}.checklist-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex}.checklist-item:hover{background:var(--input-bg)}.checklist-item.done{opacity:.5}.checklist-item.done .checklist-label{text-decoration:line-through}.checklist-num{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text-muted);min-width:24px;font-size:16px}.checklist-label{color:var(--text);font-size:14px}.checklist-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.checklist-progress{color:var(--text-muted);margin-top:16px;font-size:13px;font-weight:600}.wb-tab{width:100%}.wb-toolbar{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 20px;display:flex;box-shadow:0 1px 3px #0000000a}.wb-toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:24px}.wb-month-nav{align-items:center;gap:8px;display:flex}.wb-month-btn{cursor:pointer;color:var(--text-muted);transition:all .2s var(--ease-out);background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:10px}.wb-month-btn:hover{background:var(--input-bg);color:var(--text)}.wb-month-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;text-align:center;min-width:200px;color:var(--text);font-size:28px}.wb-title-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);font-size:28px}.wb-phase-legend{align-items:center;gap:6px;display:flex}.wb-phase-pill{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:5px;font-size:10px;font-weight:600;display:flex}.wb-phase-pill-dot{border-radius:3px;width:8px;height:8px}.wb-category-legend{flex-shrink:0;align-items:center;gap:5px;display:flex}.wb-cat-badge{letter-spacing:.4px;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:9px;font-weight:700}.wb-cat-filter{letter-spacing:.4px;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease-out);opacity:1;border-radius:20px;padding:3px 10px;font-size:9px;font-weight:700}.wb-cat-filter:not(.active){opacity:.5}.wb-cat-filter:hover{opacity:1;transform:scale(1.05)}.wb-view-toggle{background:var(--input-bg);border-radius:8px;gap:2px;padding:3px;display:flex}.wb-view-btn{color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:5px 10px;display:flex}.wb-view-btn:hover{color:var(--text);background:#00000008}.wb-view-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.wb-action-btn{letter-spacing:.3px;border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;transition:all .15s var(--ease-out);border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.wb-action-btn:hover{color:var(--text);border-color:var(--text-light)}.wb-action-btn:disabled{opacity:.35;cursor:not-allowed}.wb-action-btn svg{flex-shrink:0}.wb-action-btn-primary{color:#fff;background:#10b981;border-color:#059669}.wb-action-btn-primary:hover{color:#fff;background:#059669;border-color:#047857}.cr-summary{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:16px 20px;box-shadow:0 1px 3px #0000000a}.cr-summary h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.2px;color:var(--text-light);text-transform:uppercase;margin:0 0 12px;font-size:14px}.cr-rounds{flex-wrap:wrap;gap:10px;display:flex}.cr-round-card{background:var(--input-bg);border:1px solid var(--border-subtle);border-left:3px solid #1565c0;border-radius:8px;min-width:200px;padding:12px 16px;transition:box-shadow .15s}.cr-round-card:hover{box-shadow:0 2px 8px #0000000f}.cr-round-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:#1565c0;margin-bottom:6px;font-size:20px}.cr-round-detail{color:var(--text);flex-direction:column;gap:4px;font-size:12px;display:flex}.cr-present{font-weight:600}.cr-feedback{color:var(--text-muted);font-size:11px}.wb-cal-table{table-layout:fixed;border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000a}.wb-cal-table .cal-th{letter-spacing:1.5px;color:#ffffffd9;background:#2a2a2a;border-bottom:2px solid #222;padding:10px 4px;font-size:10px;font-weight:700}.wb-td{vertical-align:top;cursor:default;border:1px solid var(--border-subtle);height:140px;padding:7px 7px 8px;transition:background .15s,box-shadow .2s;position:relative;overflow:visible!important}.wb-td:hover{box-shadow:inset 0 0 0 2px #1565c01f}.wb-td-weekend{opacity:.35;background:var(--input-bg)!important}.wb-td-phase{border-color:var(--border-subtle)}.wb-td-today{box-shadow:inset 0 0 0 2px #10b98126;background:#10b9810f!important}.wb-entry-phase-bar{min-height:22px;box-shadow:0 1px 3px #00000026;border:none!important;border-radius:4px!important}.wb-entry-phase-bar .wb-phase-bar-label{letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0003;color:#fff;padding:0 8px;font-size:9px;font-weight:700;line-height:22px;display:block;overflow:hidden}.wb-entry-phase-bar .wb-resize-handle{background:#ffffff4d}.wb-entry-phase-bar .wb-resize-handle:hover{background:#ffffff80}.wb-phase-editor{background:var(--surface-secondary,#f9fafb);border:1px solid var(--border-secondary,#e5e7eb);border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:10px 16px;display:flex}.wb-phase-editor-label{letter-spacing:.12em;color:var(--text-tertiary,#9ca3af);min-width:48px;padding-top:6px;font-size:9px;font-weight:700}.wb-phase-editor-grid{flex-wrap:wrap;flex:1;gap:6px 16px;display:flex}.wb-phase-editor-item{background:var(--surface-primary,#fff);border:1px solid var(--border-secondary,#e5e7eb);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;transition:border-color .15s;display:flex}.wb-phase-editor-item:hover{border-color:var(--border-primary,#d1d5db)}.wb-phase-editor-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.wb-phase-editor-name{color:var(--text-primary,#111827);white-space:nowrap;min-width:70px;font-size:11px;font-weight:600}.wb-phase-editor-dates{align-items:center;gap:4px;display:flex}.wb-phase-date-input{width:120px;color:var(--text-primary,#111827);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 4px;font-family:inherit;font-size:11px;transition:all .15s}.wb-phase-date-input:hover{border-color:var(--border-primary,#d1d5db);background:var(--surface-secondary,#f9fafb)}.wb-phase-date-input:focus{background:#fff;border-color:#1565c0;outline:none}.wb-phase-editor-sep{color:var(--text-tertiary,#9ca3af);font-size:10px}.wb-phase-editor-range{color:var(--text-tertiary,#9ca3af);white-space:nowrap;font-size:10px;display:none}.wb-bottom-nav{border-top:1px solid var(--border-secondary,#e5e7eb);justify-content:space-between;align-items:center;margin-top:8px;padding:12px 16px;display:flex}.wb-bottom-nav-btn{border:1px solid var(--border-secondary,#e5e7eb);background:var(--surface-primary,#fff);color:var(--text-secondary,#6b7280);letter-spacing:.03em;cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.wb-bottom-nav-btn:hover{background:var(--surface-secondary,#f9fafb);color:var(--text-primary,#111827);border-color:var(--border-primary,#d1d5db)}.wb-bottom-nav-label{letter-spacing:.1em;color:var(--text-tertiary,#9ca3af);text-transform:uppercase;font-size:11px;font-weight:700}.wb-phase-dot{border-radius:2px;flex-shrink:0;width:6px;height:6px;display:inline-block}.wb-td .cal-td-num{color:var(--text-light);font-size:11px;font-weight:700}.wb-td .cal-td-num-today{color:#fff;background:#10b981;width:22px;height:22px;font-size:10px;font-weight:800}.wb-day-entries{flex-direction:column;gap:3px;margin-top:4px;display:flex}.wb-entry{white-space:normal;cursor:grab;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:9px;line-height:1.35;transition:background .1s,box-shadow .15s;display:flex;position:relative}.wb-entry:active{cursor:grabbing}.wb-entry:hover{box-shadow:0 1px 3px #00000014}.wb-entry:hover .wb-entry-delete{opacity:1}.wb-entry-kamp{color:#7a5d00;background:#fff8e1;border-left:3px solid #f9a825;font-weight:500}.wb-entry-client{color:#0d47a1;background:#e3f2fd;border-left:3px solid #1976d2;font-weight:500}.wb-entry-marker{color:#b71c1c;text-transform:uppercase;letter-spacing:.3px;background:#fce4ec;border-left:3px solid #c62828;font-weight:700}.wb-entry-custom{color:var(--text);background:#f5f5f5;border-left:3px solid #78909c}.wb-entry-label{text-overflow:ellipsis;flex:1;overflow:hidden}.wb-entry-delete{opacity:0;color:#c62828;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:12px;line-height:1;transition:opacity .15s}.wb-edit-input{border:1.5px solid var(--accent);width:100%;color:var(--text);background:#fff;border-radius:4px;outline:none;padding:2px 4px;font-family:inherit;font-size:9px}.wb-edit-input-list{flex:1;padding:4px 8px;font-size:12px}.wb-add-area{margin-top:auto;padding-top:3px}.wb-add-btn{border:1px dashed var(--border);width:100%;color:var(--text-light);cursor:pointer;opacity:0;background:0 0;border-radius:4px;padding:2px 0;font-size:13px;font-weight:300;transition:all .15s}.wb-td:hover .wb-add-btn{opacity:.6}.wb-add-btn:hover{color:var(--accent);border-color:var(--accent);background:#1565c008;opacity:1!important}.wb-add-form{width:100%}.wb-add-cat-row{gap:2px;margin-top:3px;display:flex}.wb-add-cat-btn{background:var(--cat-bg);width:18px;height:16px;color:var(--cat-color);cursor:pointer;text-align:center;opacity:.5;border:1px solid #0000;border-radius:3px;padding:0;font-size:8px;font-weight:700;line-height:14px;transition:all .15s}.wb-add-cat-btn:hover{opacity:.8}.wb-add-cat-btn.active{opacity:1;border-color:var(--cat-color);box-shadow:0 0 0 1px var(--cat-color)}.wb-cat-dot-clickable{cursor:pointer;transition:transform .15s}.wb-cat-dot-clickable:hover{transform:scale(1.5)}.wb-add-input{border:1.5px solid var(--accent);width:100%;color:var(--text);background:#fff;border-radius:4px;outline:none;padding:3px 6px;font-family:inherit;font-size:9px}.wb-undo-disabled{opacity:.35;cursor:not-allowed!important}.wb-list{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px 24px;box-shadow:0 1px 3px #0000000a}.wb-list-month{margin-bottom:28px}.wb-list-month:last-child{margin-bottom:0}.wb-list-month .cal-list-month-header{letter-spacing:1.5px;border-bottom:2px solid var(--border);margin-bottom:10px;padding-bottom:8px;font-size:18px}.wb-list-item{border-bottom:1px solid #0000000a;border-left:3px solid #0000;border-radius:4px;align-items:center;gap:12px;margin:0 -4px;padding:10px 12px;font-size:13px;transition:background .1s;display:flex;position:relative}.wb-list-item:last-child{border-bottom:none}.wb-list-item:hover{background:var(--input-bg)}.wb-list-item:hover .wb-list-delete{opacity:1}.wb-list-date{min-width:130px;color:var(--text-muted);letter-spacing:.2px;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.wb-list-date-clickable{cursor:pointer;border-radius:4px;margin:-3px -8px;padding:3px 8px;transition:background .15s}.wb-list-date-clickable:hover{background:#0000000f}.wb-date-input{border:1.5px solid var(--accent);border-radius:6px;outline:none;min-width:130px;padding:3px 6px;font-family:inherit;font-size:12px}.wb-cat-badge-sm{cursor:pointer;letter-spacing:.5px;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:8px;font-weight:800;transition:transform .1s}.wb-cat-badge-sm:hover{transform:scale(1.1)}.wb-list-label{cursor:pointer;color:var(--text);border-radius:4px;flex:1;margin:-3px 0;padding:3px 8px;font-size:13px;transition:background .15s}.wb-list-label:hover{background:#0000000a}.wb-list-label.bold{font-weight:700}.wb-entry-range{border-radius:4px;overflow:visible}.wb-entry-resizable{overflow:visible}.wb-resize-handle{cursor:col-resize;z-index:10;width:18px;transition:background .15s,opacity .15s;position:absolute;top:-1px;bottom:-1px}.wb-resize-left{border-radius:3px 0 0 3px;left:-6px}.wb-resize-right{border-radius:0 3px 3px 0;right:-6px}.wb-entry-resizable:hover .wb-resize-handle{background:#1565c01a}.wb-resize-handle:hover{background:#1565c040!important}.wb-entry-resizable:hover .wb-resize-right:after{content:"⋮";color:#1565c099;font-size:12px;font-weight:700;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.wb-entry-resizable:hover .wb-resize-left:after{content:"⋮";color:#1565c099;font-size:12px;font-weight:700;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.wb-td-resize-hover{outline-offset:-2px;background:#1565c00f!important;outline:2px solid #1565c0!important}.wb-td-move-hover{outline-offset:-2px;background:#2e7d320f!important;outline:2px solid #2e7d32!important}.wb-entry-resizing{opacity:.7;box-shadow:0 0 0 2px #1565c0}.wb-cat-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-right:3px;display:inline-block}.wb-export-group{gap:4px;display:flex}.wb-list-phase{text-transform:uppercase;letter-spacing:.6px;background:var(--input-bg);border-radius:10px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:9px;font-weight:700}.wb-list-delete{opacity:0;flex-shrink:0;transition:opacity .15s}.wb-list-add{margin-top:16px;padding:0 12px}.wb-list-add-input{border:1px dashed var(--border);width:100%;color:var(--text);background:0 0;border-radius:8px;outline:none;padding:10px 14px;font-size:12px;transition:all .15s}.wb-list-add-input:focus{border-color:var(--accent);background:var(--input-bg);border-style:solid}.wb-list-add-input::placeholder{color:var(--text-light)}.wb-linear-scroll{border:1px solid var(--border);border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.wb-linear-table{border-collapse:collapse;width:100%;min-width:900px}.wb-linear-table thead th{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;text-align:center;color:#ffffffd9;z-index:1;white-space:nowrap;background:#2a2a2a;border-bottom:2px solid #222;padding:12px 8px;font-size:13px;position:sticky;top:0}.wb-linear-ws-col{min-width:170px;text-align:left!important;padding-left:16px!important;font-weight:700!important}.wb-linear-week-col{min-width:110px}.wb-linear-row td{border-bottom:1px solid var(--border-subtle)}.wb-linear-ws-label{color:var(--text);background:var(--card);white-space:nowrap;border-right:1px solid var(--border);letter-spacing:.2px;padding:10px 16px;font-size:12px;font-weight:700}.wb-linear-cell{vertical-align:top;background:var(--card);min-height:44px;padding:5px}.wb-linear-entry{cursor:grab;background:#00000006;border-left:3px solid #78909c;border-radius:4px;margin-bottom:3px;padding:4px 6px;font-size:9px;transition:all .1s}.wb-linear-entry:hover{background:#0000000f;box-shadow:0 1px 3px #0000000f}.wb-linear-entry:active{cursor:grabbing}.wb-linear-label{font-size:9px;line-height:1.35}.wb-linear-add-row td{border-bottom:none}.wb-add-ws-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:11px;font-weight:600;transition:color .15s}.wb-add-ws-btn:hover{color:var(--accent)}.sow-tab{max-width:800px}.sow-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.sow-format-badge{background:var(--tag-inactive-bg);color:var(--tag-inactive-text);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.sow-document{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:36px}.sow-doc-header{text-align:center;border-bottom:2px solid var(--text);margin-bottom:24px;padding-bottom:20px}.sow-logo{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:4px;color:var(--text);font-size:32px}.sow-doc-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-muted);margin-top:4px;font-size:20px}.sow-section{margin-bottom:24px}.sow-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:4px;font-size:14px}.sow-field-grid{grid-template-columns:1fr 1fr;gap:6px 24px;font-size:13px;display:grid}.sow-field{color:var(--text)}.sow-textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px}.sow-textarea:focus{border-color:var(--accent);outline:none}.sow-timeline-table,.sow-budget-table{border-collapse:collapse;width:100%;font-size:13px}.sow-timeline-table th,.sow-budget-table th{text-transform:uppercase;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:600}.sow-timeline-table td,.sow-budget-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:6px 8px}.sow-budget-table td.money{text-align:right}.sow-budget-table .total-row td{border-top:2px solid var(--border);padding-top:8px}.sow-select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px}.sow-sig-grid{grid-template-columns:1fr 1fr;gap:32px;margin-top:12px;display:grid}.sow-sig-block{padding:12px 0}.sow-sig-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:24px;font-size:11px;font-weight:600}.sow-sig-line{border-bottom:1px solid var(--text);margin-bottom:6px}.sow-sig-name{color:var(--text);font-size:12px}.sow-sig-date{color:var(--text-muted);margin-top:4px;font-size:12px}.rollup-tab{max-width:800px}.rollup-project{color:var(--text-muted);margin-top:-12px;margin-bottom:20px;font-size:13px;display:block}.rollup-slot{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:16px}.rollup-slot-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rollup-slot-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:16px}.rollup-checks{color:var(--text-muted);gap:12px;font-size:11px;display:flex}.rollup-checks label{cursor:pointer;align-items:center;gap:4px;display:flex}.rollup-checks input[type=checkbox]{accent-color:var(--accent)}.rollup-table{border-collapse:collapse;width:100%;font-size:13px}.rollup-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px;font-weight:600}.rollup-table th:first-child{text-align:left}.rollup-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:6px 10px}.rollup-table td.money{text-align:right}.rollup-table td.money.total{font-weight:600}.rollup-table .total-row td{border-top:2px solid var(--border);padding-top:8px}.rollup-grand{background:var(--input-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:16px}.rollup-grand-row{color:var(--text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.rollup-grand-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;font-size:28px}.rollup-phases h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 10px;font-size:14px}.rollup-phase-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.rollup-phase-item{background:var(--card);border:1px solid var(--border);border-left:3px solid;border-radius:8px;padding:10px 12px}.rollup-phase-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:600}.rollup-phase-dates{color:var(--text);margin-top:2px;font-size:13px}.co-tab{max-width:900px}.co-header{margin-bottom:20px}.co-project{color:var(--text-muted);margin-top:-12px;font-size:13px;display:block}.co-summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.co-summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.co-summary-card.accent{border-top:3px solid var(--accent)}.co-summary-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.co-summary-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);font-size:22px}.co-summary-delta{margin-top:2px;font-size:11px}.co-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.co-card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.co-card.approved{border-left:3px solid #2e7d32}.co-card.pending_approval{border-left:3px solid #f57f17}.co-card.rejected{border-left:3px solid #c62828}.co-card.draft{border-left:3px solid #9e9e9e}.co-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .15s;display:flex}.co-card-header:hover{background:var(--input-bg)}.co-card-left{align-items:center;gap:10px;display:flex}.co-number{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);font-size:14px}.co-card-title{color:var(--text);font-size:14px;font-weight:500}.co-card-right{align-items:center;gap:12px;display:flex}.co-amount{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;font-size:16px}.co-status-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.co-expand-icon{color:var(--text-muted);font-size:12px}.co-card-body{border-top:1px solid var(--border-subtle);padding:0 16px 16px}.co-meta-grid{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.co-meta-grid .co-field.full{grid-column:1/-1}.co-field label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.co-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px}.co-input:focus{border-color:var(--accent);outline:none}.co-input-sm{border:1px solid var(--border);background:var(--input-bg);width:100px;color:var(--text);text-align:right;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px}.co-input-sm:focus{border-color:var(--accent);outline:none}.co-select{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px}.co-select-sm{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;padding:7px 8px;font-size:12px}.co-textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px}.co-textarea:focus{border-color:var(--accent);outline:none}.co-items-section{margin-top:12px}.co-items-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 8px;font-size:12px}.co-items-table{border-collapse:collapse;width:100%;font-size:13px}.co-items-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:600}.co-items-table td{border-bottom:1px solid var(--border-subtle);padding:6px 8px}.co-card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.co-date{color:var(--text-muted);font-size:12px}.co-card-actions{align-items:center;gap:16px;display:flex}.co-total{color:var(--text);font-size:14px}.co-remove-btn{color:#c62828;cursor:pointer;background:0 0;border:1px solid #c62828;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px}.co-remove-btn:hover{color:#fff;background:#c62828}.co-add-btn{background:var(--card);border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;border-radius:10px;width:100%;padding:12px 20px;font-family:inherit;font-size:13px;transition:all .15s}.co-add-btn:hover{border-color:var(--accent);color:var(--accent)}.co-add-btn.small{border-radius:6px;width:auto;padding:6px 12px;font-size:11px}.billing-tab{max-width:950px}.billing-header{margin-bottom:20px}.billing-project{color:var(--text-muted);margin-top:-12px;font-size:13px;display:block}.billing-type-toggle{border:1px solid var(--border);border-radius:8px;gap:0;width:fit-content;margin-bottom:20px;display:flex;overflow:hidden}.billing-type-btn{background:var(--card);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);cursor:pointer;border:none;padding:8px 20px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.billing-type-btn.active{background:var(--accent);color:#fff}.billing-type-btn:not(.active):hover{background:var(--input-bg)}.billing-summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.billing-summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.billing-summary-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:600}.billing-summary-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);font-size:22px}.billing-summary-delta{margin-top:2px;font-size:11px}.billing-progress{margin-bottom:24px}.billing-progress-bar{background:var(--border);border-radius:4px;height:8px;display:flex;overflow:hidden}.billing-progress-paid{background:#2e7d32;transition:width .3s}.billing-progress-invoiced{background:#f57f17;transition:width .3s}.billing-progress-labels{color:var(--text-muted);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.billing-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:16px}.billing-table-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.billing-table-header h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);margin:0;font-size:14px}.billing-table{border-collapse:collapse;width:100%;font-size:13px}.billing-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:600}.billing-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:6px 8px}.billing-table td.money{text-align:right}.billing-row.paid td:first-child{position:relative}.billing-row.paid td:first-child:before{content:"✓";color:#2e7d32;margin-right:6px;font-weight:700}.billing-total-row td{border-top:2px solid var(--border);padding-top:10px}.billing-footer{color:var(--text-muted);gap:24px;padding:12px 0;font-size:12px;display:flex}.billing-footer-field strong{color:var(--text)}.wrap-tab{max-width:900px}.wrap-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.wrap-header-left{flex:1}.wrap-project{color:var(--text-muted);margin-top:-12px;font-size:13px;display:block}.wrap-status-select{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px}.wrap-section{margin-bottom:28px}.wrap-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 12px;padding-bottom:6px;font-size:14px}.wrap-recon-table{border-collapse:collapse;width:100%;font-size:13px}.wrap-recon-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);padding:6px 10px;font-size:11px;font-weight:600}.wrap-recon-table th:first-child{text-align:left}.wrap-recon-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:8px 10px}.wrap-recon-table td.money{text-align:right}.wrap-recon-table .wrap-total-row td{border-top:2px solid var(--border);padding-top:10px}.wrap-pct{font-size:11px;font-weight:400}.wrap-input{border:1px solid var(--border);background:var(--input-bg);width:120px;color:var(--text);text-align:right;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:13px}.wrap-input:focus{border-color:var(--accent);outline:none}.wrap-metrics-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:28px;display:grid}.wrap-metric-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:14px 16px}.wrap-metric-card.accent{border-top:3px solid var(--accent)}.wrap-metric-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.wrap-metric-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);font-size:22px}.wrap-metric-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.wrap-metric-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);text-align:center;font-size:18px;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;border-radius:6px;padding:6px 8px}.wrap-metric-input:focus{border-color:var(--accent);outline:none}.wrap-phase-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.wrap-phase-item{background:var(--card);border:1px solid var(--border);border-left:3px solid;border-radius:8px;padding:10px 12px}.wrap-phase-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:600}.wrap-phase-dates{color:var(--text);margin-top:2px;font-size:13px}.wrap-retro-field{margin-bottom:16px}.wrap-retro-field label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.wrap-textarea{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13px}.wrap-textarea:focus{border-color:var(--accent);outline:none}.wrap-sat-selector{align-items:center;gap:6px;display:flex}.wrap-sat-btn{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.wrap-sat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.wrap-sat-btn:not(.active):hover{border-color:var(--accent);color:var(--accent)}.wrap-sat-label{color:var(--text-muted);margin-left:8px;font-size:12px}.so-page{padding:0 0 48px}.so-empty{text-align:center;color:var(--text-secondary);padding:60px 20px}.so-empty-icon{margin-bottom:12px;font-size:48px}.so-empty h3{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);margin-bottom:8px;font-size:22px}.so-empty p{margin-bottom:20px;font-size:14px}.so-go-estimate{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600}.so-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:24px 0;display:flex}.so-client{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:2px;font-size:12px;font-weight:600}.so-project{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);font-size:32px;line-height:1.1}.so-job{color:var(--text-muted);margin-top:4px;font-size:12px}.so-header-right{text-align:right}.so-budget-big{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--accent);font-size:36px}.so-budget-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px}.so-section{margin-bottom:28px}.so-section-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:6px;font-size:15px}.so-timeline{margin-bottom:8px}.so-timeline-bar{border-radius:8px;gap:2px;height:36px;display:flex;overflow:hidden}.so-timeline-segment{justify-content:center;align-items:center;min-width:40px;transition:opacity .15s;display:flex}.so-timeline-segment:hover{opacity:.85}.so-segment-label{color:#fff;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-size:11px;font-weight:700;overflow:hidden}.so-timeline-dates{margin-top:6px;display:flex}.so-timeline-date-col{flex-direction:column;align-items:center;gap:1px;display:flex}.so-date-range{color:var(--text-secondary);font-size:11px}.so-date-weeks{color:var(--text-muted);font-size:10px}.so-custom-phases{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.so-custom-phase{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.so-cp-name{color:var(--text);font-weight:600}.so-cp-dates,.so-cp-weeks{color:var(--text-secondary)}.so-budget-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.so-budget-card{background:var(--bg-secondary);border:1px solid var(--border);text-align:center;border-radius:10px;padding:16px}.so-budget-card.accent{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.so-budget-card.accent{background:color-mix(in srgb, var(--accent) 6%, var(--bg-secondary))}}.so-card-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);margin-bottom:2px;font-size:24px}.so-budget-card.accent .so-card-value{color:var(--accent)}.so-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px;font-size:11px}.so-card-pct{color:var(--text-muted);font-size:12px}.so-metrics-row{flex-wrap:wrap;gap:10px;display:flex}.so-metric{text-align:center;border:1px solid;border-radius:8px;flex:1;min-width:120px;padding:12px 16px}.so-metric-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;margin-bottom:2px;font-size:22px}.so-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:11px}.so-staffing{flex-direction:column;gap:16px;display:flex}.so-dept-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.so-dept-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.so-dept-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);font-size:15px}.so-dept-total{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--accent);font-size:16px}.so-dept-roles{flex-direction:column;gap:4px;display:flex}.so-role-row{grid-template-columns:1fr 70px 70px 90px;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:grid}.so-role-name{color:var(--text);align-items:center;gap:6px;font-weight:500;display:flex}.so-fl-tag{color:#fff;letter-spacing:.05em;background:#7c3aed;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.so-role-hrs{color:var(--text-secondary);text-align:right}.so-role-rate{color:var(--text-muted);text-align:right;font-size:12px}.so-role-cost{color:var(--text);text-align:right;font-weight:600}.so-phase-fees{flex-direction:column;gap:10px;display:flex}.so-phase-fee-row{align-items:center;gap:10px;display:flex}.so-pf-color{border-radius:3px;flex-shrink:0;width:12px;height:12px}.so-pf-name{width:110px;color:var(--text);flex-shrink:0;font-size:13px;font-weight:500}.so-pf-bar-track{background:var(--bg-secondary);border-radius:4px;flex:1;height:20px;overflow:hidden}.so-pf-bar-fill{border-radius:4px;height:100%;transition:width .3s}.so-pf-value{text-align:right;width:90px;color:var(--text);flex-shrink:0;font-size:13px;font-weight:600}.so-pf-pct{text-align:right;width:50px;color:var(--text-muted);flex-shrink:0;font-size:12px}.so-quick-nav{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.so-nav-card{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;transition:all .15s;display:flex}.so-nav-card:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.so-nav-card:hover{background:color-mix(in srgb, var(--accent) 4%, var(--bg-secondary))}}.so-nav-card:hover{transform:translateY(-1px)}.so-nav-icon{font-size:20px}.so-nav-label{color:var(--text);font-size:13px;font-weight:600}.so-nav-desc{color:var(--text-muted);font-size:11px}@media (max-width:768px){.so-budget-grid,.so-quick-nav{grid-template-columns:repeat(2,1fr)}.so-role-row{grid-template-columns:1fr 60px 70px}.so-role-rate{display:none}}.biz-page{opacity:0;transition:opacity .3s var(--ease-out);padding:0 8px}.biz-loaded{opacity:1}.biz-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding:0 0 20px;display:flex}.biz-title-row{align-items:center;gap:10px;display:flex}.biz-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);font-size:34px;line-height:1}.biz-wip-tag{background:var(--accent);color:#fff;letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-xs);padding:3px 10px;font-size:10px;font-weight:700}.biz-subtitle{color:var(--text-muted);letter-spacing:.5px;margin-top:4px;font-size:13px}.biz-header-right{align-items:center;gap:12px;display:flex}.biz-tab-bar{border:1px solid var(--border);border-radius:var(--radius-sm);gap:0;display:flex;overflow:hidden}.biz-tab{background:var(--card);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-out);letter-spacing:.5px;text-transform:uppercase;border:none;border-right:1px solid var(--border);align-items:center;gap:6px;padding:7px 16px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.biz-tab:last-child{border-right:none}.biz-tab:hover{background:var(--input-bg);color:var(--text)}.biz-tab.active{background:var(--tag-active-bg);color:var(--tag-active-text)}.biz-badge{background:var(--accent);color:#fff;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:700}.biz-add-btn{background:var(--accent);color:#fff;border-radius:var(--radius-xs);cursor:pointer;letter-spacing:.3px;transition:all .2s var(--ease-out);border:none;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600}.biz-add-btn:hover{opacity:.9}.biz-add-btn.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.biz-add-btn.secondary:hover{background:var(--bg);border-color:var(--text-muted);opacity:1}.biz-metrics{gap:10px;margin-bottom:24px;display:flex}.biz-metric-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:box-shadow .2s var(--ease-out);flex:1;min-width:0;padding:10px 8px;position:relative;overflow:hidden}.biz-metric-card:before{content:"";background:var(--text-muted);height:2px;position:absolute;top:0;left:0;right:0}.biz-metric-card.accent:before{background:var(--accent)}.biz-metric-card:hover{box-shadow:0 2px 8px #0000000a}.biz-metric-value{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:.5px;color:var(--text);font-size:28px;line-height:1.1}.biz-metric-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-top:4px;font-size:10px;font-weight:700}.biz-metric-sub{color:var(--accent);margin-top:2px;font-size:10px;font-weight:600}.biz-docs-summary-row{border-top:1px solid var(--border);gap:12px;margin-top:10px;padding-top:10px;display:flex}.biz-docs-summary-row>:first-child{flex:none}.biz-summary-card{background:var(--surface-raised,#ffffff05);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:0;padding:10px 12px}.biz-summary-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.biz-summary-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);font-size:10px;font-weight:700}.biz-summary-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;font-weight:500}.biz-summary-toggle:hover{text-decoration:underline}.biz-summary-text{color:var(--text);white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.biz-summary-text.expanded{-webkit-line-clamp:unset;display:block}.biz-btn-sm{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:11px;transition:all .15s}.biz-btn-sm:hover{background:var(--bg);border-color:var(--text-muted)}.biz-btn-sm:disabled{opacity:.5;cursor:not-allowed}.biz-summary-modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.biz-summary-modal-header h4{margin:0}.biz-summary-textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;min-height:120px;color:var(--text);resize:vertical;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.biz-summary-textarea:focus{border-color:var(--accent);outline:none}.biz-summary-textarea::placeholder{color:var(--text-muted)}.biz-section{margin-bottom:32px}.biz-section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.biz-section-header.clickable{cursor:pointer}.biz-section-header h2{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-light);margin:0;font-size:20px}.biz-section-count{color:var(--text-muted);font-size:11px;font-weight:500}.biz-gng-grid{gap:16px;display:grid}.biz-gng-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);border-left:3px solid #0000;padding:24px 26px}.biz-gng-card:hover{border-left-color:var(--accent);box-shadow:0 2px 12px #0000000f}.biz-gng-top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.biz-chip-row{align-items:center;gap:8px;display:flex}.biz-gng-client{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:600}.biz-gng-project{color:var(--text);margin-top:3px;font-size:16px;font-weight:700}.biz-gng-details{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:24px;margin-bottom:16px;padding-bottom:16px;display:flex}.biz-gng-detail{font-size:12px;line-height:1}.biz-gng-detail span{color:var(--text-muted);margin-right:5px;font-size:11px}.biz-gng-detail strong{color:var(--text);font-weight:700}.biz-link{color:var(--accent);font-size:11px;font-weight:600;text-decoration:none}.biz-link:hover{text-decoration:underline}.biz-gng-tags{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.biz-priority-tag{color:var(--accent);border-radius:var(--radius-xs);letter-spacing:.3px;background:#2d8a4e14;padding:3px 10px;font-size:10px;font-weight:600}.biz-chip{border-radius:var(--radius-xs);letter-spacing:.5px;text-transform:uppercase;padding:2px 10px;font-size:10px;font-weight:600;display:inline-block}.biz-chip.type{background:var(--tag-inactive-bg);color:var(--tag-inactive-text)}.biz-chip-go{color:#2d8a4e;background:#2d8a4e1f}.biz-chip-no_go{color:#b71c1c;background:#b71c1c1a}.biz-chip-pending{color:#b8860b;background:#b8860b1a}.biz-gng-badge{border-radius:var(--radius-xs);vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;margin-left:6px;padding:2px 7px;font-size:8px;font-weight:700}.biz-status-chip{border-radius:var(--radius-xs);letter-spacing:.5px;text-transform:uppercase;padding:2px 10px;font-size:10px;font-weight:600;display:inline-block}.biz-status-chip.awarded{color:#2d8a4e;background:#2d8a4e1f}.biz-status-chip.pitched,.biz-status-chip.rfp_reviewing{color:#b8860b;background:#b8860b1a}.biz-status-chip.not_yet_briefed,.biz-status-chip.on_hold{color:#777;background:#7777771a}.biz-status-chip.passed,.biz-status-chip.not_awarded{color:#b71c1c;background:#b71c1c1a}.biz-status-chip.scope_complete{color:#2e7d32;background:#2e7d321f}.biz-status-chip.doubtful{color:#c17900;background:#c179001a}.biz-gng-scoring{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px 18px}.biz-gng-scoring-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.biz-score-total{color:var(--text);font-size:14px;font-weight:700}.biz-gng-scoring-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.biz-gng-reviewer{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);text-align:center;cursor:pointer;transition:all .2s var(--ease-out);padding:12px 10px}.biz-gng-reviewer:hover{border-color:var(--border);transform:translateY(-1px);box-shadow:0 1px 6px #0000000d}.biz-gng-reviewer.rec-go{background:#2d8a4e0f;border-color:#2d8a4e66}.biz-gng-reviewer.rec-no{background:#b71c1c0d;border-color:#b71c1c59}.biz-gng-reviewer.rec-discuss{background:#e696000f;border-color:#e6960066}.biz-reviewer-name{color:var(--text);font-size:12px;font-weight:700}.biz-reviewer-dept{color:var(--text-muted);letter-spacing:.5px;margin-top:1px;font-size:9px}.biz-reviewer-score{margin-top:6px}.biz-score-num{color:var(--accent);font-size:14px;font-weight:700}.biz-score-empty{color:var(--text-light);font-size:14px}.biz-rec{border-radius:3px;margin-left:4px;padding:2px 6px;font-size:9px;font-weight:700}.biz-rec.go{color:#2d8a4e;background:#2d8a4e1f}.biz-rec.no{color:#b71c1c;background:#b71c1c1a}.biz-rec.discuss{color:#cc8400;background:#e696001f}.biz-gng-votes{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.biz-votes-left{flex-wrap:wrap;gap:10px;display:flex}.biz-vote-dan{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-xs);align-items:center;gap:6px;margin-left:auto;padding:6px 12px;display:flex}.biz-vote-chip{border-radius:var(--radius-xs);background:var(--input-bg);border:1px solid var(--border);color:var(--text-muted);padding:3px 10px;font-size:11px;font-weight:700}.biz-vote-chip.vote-go{color:#2d8a4e;background:#2d8a4e1f;border-color:#2d8a4e4d}.biz-vote-chip.vote-no{color:#e53935;background:#e539351a;border-color:#e5393540}.biz-nyc-badge{text-transform:uppercase;letter-spacing:.5px;color:#4a90d9;background:#4a90d91a;border:1px solid #4a90d940;border-radius:3px;margin-top:4px;padding:2px 6px;font-size:9px;font-weight:700;display:inline-block}.biz-nyc-check{color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:8px 0 4px;font-size:13px;display:flex}.biz-nyc-check input[type=checkbox]{accent-color:#4a90d9}.biz-vote-group{align-items:center;gap:6px;display:flex}.biz-vote-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.biz-vote-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:600}.biz-vote-select.vote-go{color:#2d8a4e;border-color:#2d8a4e4d}.biz-vote-select.vote-no{color:#b71c1c;border-color:#b71c1c4d}.biz-vote-select.vote-discuss{color:#cc8400;border-color:#e696004d}.biz-gng-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.biz-dan-priority{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-xs);align-items:center;gap:8px;padding:6px 14px;display:flex}.biz-gng-actions{gap:8px;display:flex}.biz-btn{background:var(--card);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;transition:all .2s var(--ease-out);padding:7px 16px;font-family:inherit;font-size:11px;font-weight:600}.biz-btn:hover{background:var(--input-bg);color:var(--text);border-color:var(--text-muted)}.biz-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.biz-btn.primary:hover{opacity:.9}.biz-btn.go-create{color:#2d8a4e;background:#2d8a4e0f;border-color:#2d8a4e33}.biz-btn.go-create:hover{color:#fff;background:#2d8a4e;border-color:#2d8a4e}.biz-btn.danger{color:#b71c1c;background:#b71c1c0f;border-color:#b71c1c33}.biz-btn.danger:hover{color:#fff;background:#b71c1c;border-color:#b71c1c}.biz-btn.sm{padding:5px 10px;font-size:10px}.biz-pipeline-table{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.biz-table-header{background:var(--input-bg);color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);grid-template-columns:110px 1fr 80px 90px 80px 130px 80px 100px 130px 40px;gap:4px;padding:8px 12px;font-size:10px;font-weight:700;display:grid}.biz-row{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .15s var(--ease-out);grid-template-columns:110px 1fr 80px 90px 80px 130px 80px 100px 130px 40px;align-items:center;gap:4px;padding:8px 12px;font-size:12px;display:grid}.biz-row:last-child{border-bottom:none}.biz-row:hover{background:var(--input-bg)}.biz-row.expanded{background:var(--input-bg);border-bottom:none}.biz-row.archived{opacity:.5;cursor:default}.biz-row.archived:hover{opacity:.7}.biz-archive-table .biz-table-header,.biz-archive-table .biz-row{grid-template-columns:110px 1fr 80px 80px 100px 40px}.biz-pipeline-table .col-client{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.biz-pipeline-table .col-project{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.biz-pipeline-table .col-type,.biz-pipeline-table .col-timeline,.biz-pipeline-table .col-budget{color:var(--text-muted);font-size:11px}.biz-pipeline-table .col-responsible,.biz-pipeline-table .col-source{color:var(--text-muted);min-width:0;font-size:11px}.biz-pipeline-table .col-actions{justify-content:flex-end;gap:2px;display:flex}.biz-responsible-display{cursor:pointer;border-radius:var(--radius-xs);white-space:nowrap;text-overflow:ellipsis;padding:2px 4px;transition:background .15s;display:block;overflow:hidden}.biz-responsible-display:hover{background:var(--bg)}.biz-responsible-picker{position:relative}.biz-responsible-input{border:1px solid var(--accent);border-radius:var(--radius-xs);background:var(--card);width:100%;color:var(--text);outline:none;padding:3px 6px;font-family:inherit;font-size:11px}.biz-responsible-dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xs);box-shadow:var(--shadow-md);z-index:50;max-height:180px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.biz-responsible-option{cursor:pointer;padding:5px 8px;font-size:11px;transition:background .1s}.biz-responsible-option:hover{background:var(--input-bg)}.biz-responsible-option.active{color:var(--accent);font-weight:600}.biz-source-picker{flex-direction:column;gap:3px;display:flex}.biz-source-select,.biz-source-detail-select{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--input-bg);width:100%;color:var(--text-muted);cursor:pointer;padding:3px 4px;font-family:inherit;font-size:10px;font-weight:600}.biz-source-select:focus,.biz-source-detail-select:focus{border-color:var(--accent);outline:none}.biz-source-detail-input{border:1px solid var(--accent);border-radius:var(--radius-xs);background:var(--card);width:100%;color:var(--text);outline:none;padding:3px 6px;font-family:inherit;font-size:10px}.biz-icon-btn{color:var(--text-light);cursor:pointer;transition:color .2s var(--ease-out);background:0 0;border:none;padding:2px 4px;font-size:14px}.biz-icon-btn:hover{color:var(--text)}.biz-icon-btn.danger:hover{color:#b71c1c}.biz-status-select,.biz-priority-select{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;width:100%;color:var(--text-muted);padding:4px 6px;font-family:inherit;font-size:10px;font-weight:600}.biz-status-select:focus,.biz-priority-select:focus{border-color:var(--accent);outline:none}.biz-status-select.awarded{color:#2d8a4e;border-color:#2d8a4e4d}.biz-status-select.pitched,.biz-status-select.rfp_reviewing,.biz-status-select.awaiting_go_no_go{color:#b8860b;border-color:#b8860b4d}.biz-status-select.not_yet_briefed,.biz-status-select.on_hold{color:#777}.biz-status-select.passed,.biz-status-select.not_awarded{color:#b71c1c;border-color:#b71c1c33}.biz-status-select.scope_complete{color:#2e7d32;border-color:#2e7d324d}.biz-status-select.doubtful{color:#c17900;border-color:#c179004d}.biz-row-detail{background:var(--input-bg);border-bottom:1px solid var(--border);padding:16px 16px 12px}.biz-detail-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;display:grid}.biz-detail-notes{grid-column:1/-1}.biz-detail-scoring{gap:8px;margin-bottom:8px;display:flex}.biz-detail-actions{justify-content:flex-end;gap:8px;display:flex}.biz-inline-field{cursor:pointer}.biz-inline-field.wide{grid-column:1/-1}.biz-inline-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;font-size:9px;font-weight:600;display:block}.biz-inline-value{color:var(--text);font-size:12px}.biz-inline-input{background:var(--card);border:1px solid var(--accent);color:var(--text);border-radius:var(--radius-xs);width:100%;transition:border-color .2s var(--ease-out);outline:none;padding:4px 8px;font-family:inherit;font-size:12px}.biz-filter-row{align-items:center;gap:8px;display:flex}.biz-search{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);width:200px;transition:border-color .2s var(--ease-out);outline:none;padding:7px 14px;font-family:inherit;font-size:12px}.biz-search:focus{border-color:var(--accent)}.biz-filter-select{background:var(--input-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;padding:7px 10px;font-family:inherit;font-size:12px}.biz-filter-select:focus{border-color:var(--accent);outline:none}.biz-empty{text-align:center;color:var(--text-light);padding:48px;font-size:13px}.biz-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.biz-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:600px;max-height:80vh;box-shadow:var(--shadow-lg);overflow-y:auto}.biz-modal.wide{width:780px}.biz-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.biz-modal-header h3{color:var(--text);margin:0;font-size:15px;font-weight:700}.biz-modal-close{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:18px;transition:color .2s}.biz-modal-close:hover{color:var(--text)}.biz-modal-body{padding:24px}.biz-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 24px;display:flex}.biz-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.biz-form-group{flex-direction:column;gap:4px;display:flex}.biz-form-group.wide{grid-column:1/-1}.biz-form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.biz-form-group input,.biz-form-group select{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);transition:border-color .2s var(--ease-out);outline:none;padding:8px 10px;font-family:inherit;font-size:12px}.biz-form-group input:focus,.biz-form-group select:focus{border-color:var(--accent)}.biz-form-upload-section{flex-direction:column;gap:6px;margin-top:14px;display:flex}.biz-form-upload-section label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.biz-pending-files{flex-wrap:wrap;gap:6px;display:flex}.biz-pending-file{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-secondary);align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex}.biz-pending-file-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px;line-height:1}.biz-pending-file-remove:hover{color:var(--danger)}.biz-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.biz-checkbox input{accent-color:var(--accent)}.biz-scoring-section{margin-bottom:18px}.biz-scoring-section h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-light);margin:0 0 10px;font-size:14px}.biz-type-grid{flex-wrap:wrap;gap:6px;display:flex}.biz-type-chip{color:var(--text-muted);background:var(--input-bg);border-radius:var(--radius-xs);cursor:pointer;transition:all .2s var(--ease-out);border:1px solid var(--border);align-items:center;gap:4px;padding:5px 12px;font-size:10px;font-weight:500;display:flex}.biz-type-chip input{display:none}.biz-type-chip.selected{color:var(--accent);border-color:var(--accent);background:#2d8a4e14;font-weight:600}.biz-scoring-reviewer{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:12px;padding:16px}.biz-scoring-reviewer-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.biz-scoring-reviewer-header strong{color:var(--text);font-size:13px}.biz-scoring-dept{color:var(--text-muted);letter-spacing:.5px;margin-left:6px;font-size:10px}.biz-scoring-reviewer-total{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.biz-rec-select{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;color:var(--text-muted);padding:4px 8px;font-family:inherit;font-size:11px;font-weight:700}.biz-rec-select.vote-go{color:#2d8a4e}.biz-rec-select.vote-no{color:#b71c1c}.biz-rec-select.vote-discuss{color:#cc8400}.biz-scoring-criteria{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.biz-criteria-row{border-bottom:1px solid var(--border-subtle,#ffffff0a);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.biz-criteria-row:last-child{border-bottom:none}.biz-criteria-label{flex-direction:column;flex:1;gap:1px;min-width:0;padding-right:12px;display:flex}.biz-criteria-name{color:var(--text);font-size:12px;font-weight:600}.biz-criteria-desc{color:var(--text-muted);font-size:10px;line-height:1.3}.biz-score-dots{gap:5px;display:flex}.biz-dot{background:var(--card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-light);cursor:pointer;transition:all .15s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.biz-dot.filled{background:var(--accent);border-color:var(--accent);color:#fff}.biz-dot:hover{border-color:var(--accent);color:var(--accent)}.biz-scoring-notes{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);width:100%;transition:border-color .2s var(--ease-out);outline:none;padding:8px 12px;font-family:inherit;font-size:11px}.biz-scoring-notes:focus{border-color:var(--accent)}.biz-scoring-total{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-top:10px;padding:14px 16px;display:flex}.biz-scoring-total span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.biz-scoring-total strong{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--accent);letter-spacing:1px;font-size:24px}.biz-briefing-docs{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-width:340px;margin-bottom:16px;padding:14px 16px}.biz-briefing-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:6px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.biz-briefing-folder-link{color:var(--text-light);margin-left:auto;font-size:13px;text-decoration:none;transition:color .2s}.biz-briefing-folder-link:hover{color:var(--accent)}.biz-briefing-list{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.biz-briefing-file{color:var(--accent);border-radius:var(--radius-xs);background:var(--card);border:1px solid var(--border-subtle);transition:all .15s var(--ease-out);align-items:center;gap:6px;padding:5px 10px;font-size:12px;text-decoration:none;display:inline-flex}.biz-briefing-file:hover{border-color:var(--accent);background:#2d8a4e0a}.biz-briefing-drop{border:1.5px dashed var(--border);border-radius:var(--radius-xs);text-align:center;color:var(--text-light);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;padding:12px;font-size:11px}.biz-briefing-drop:hover{border-color:var(--text-muted);color:var(--text-muted);background:#00000004}.biz-briefing-drop.drag-over{border-color:var(--accent);color:var(--accent);background:#2d8a4e0a}.biz-briefing-drop.uploading{opacity:.6;pointer-events:none}.biz-archive-group-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;margin:12px 0 6px;padding-left:4px;font-size:14px}.biz-archive-group-label.go{color:var(--accent)}.biz-archive-group-label.no-go{color:var(--text-muted)}@media (max-width:1100px){.biz-metrics{flex-wrap:wrap}.biz-metric-card{flex:0 0 calc(33.3% - 8px)}.biz-gng-scoring-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.biz-metric-card{flex:0 0 calc(50% - 6px)}.biz-header{flex-direction:column;gap:12px}.biz-gng-scoring-grid{grid-template-columns:repeat(2,1fr)}}.rg-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:20px 22px}.rg-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.rg-subtitle{color:var(--text-tertiary);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.rg-legend-item{align-items:center;gap:5px;display:inline-flex}.rg-legend-box{border-radius:2px;width:10px;height:10px;display:inline-block}.rg-legend-striped{border:1px solid var(--border);background:repeating-linear-gradient(45deg,#999 0 3px,#0000 3px 6px)}.rg-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rg-hide-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:11px;display:inline-flex}.rg-hide-toggle input{accent-color:#3a7ca5;cursor:pointer}.rg-axis{border-bottom:1px solid var(--border);background:var(--card);z-index:50;margin-bottom:10px;padding:8px 0 6px;display:flex;position:sticky;top:0;box-shadow:0 6px 14px -8px #0000002e}.rg-axis-labelcol{flex:0 0 240px}.rg-axis-now{color:var(--text-tertiary);letter-spacing:.5px;font-size:10px}.rg-axis-track{flex:1;height:16px;position:relative}.rg-axis-month{letter-spacing:1px;color:var(--text-tertiary);text-transform:uppercase;font-size:10px;font-weight:600;position:absolute;top:0;transform:translate(2px)}.rg-axis-today{letter-spacing:1px;color:#d45050;font-size:9px;font-weight:700;position:absolute;top:0;transform:translate(-50%)}.rg-person-card{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;transition:box-shadow .15s;overflow:hidden}.rg-person-header{cursor:pointer;background:var(--card);align-items:center;gap:14px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.rg-person-header{background:color-mix(in srgb, var(--card) 96%, var(--text-primary) 4%)}}.rg-person-header{flex-wrap:wrap}.rg-collapse-icon{color:var(--text-tertiary);width:10px;font-size:10px}.rg-person-id{flex-direction:column;flex:0 0 200px;display:flex}.rg-person-name{color:var(--text-primary);font-size:13px;font-weight:700}.rg-person-title{color:var(--text-tertiary);font-size:10px}.rg-person-load{flex:0 0 170px;align-items:center;gap:8px;display:flex}.rg-load-bar{background:var(--border);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.rg-load-fill{border-radius:3px;height:100%;transition:width .6s}.rg-load-text{white-space:nowrap;font-size:10px;font-weight:700}.rg-insights{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.rg-chip{letter-spacing:.3px;white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:600}.rg-chip-now{color:#2e7d32;background:#2e7d321f}.rg-chip-soon{color:#3a7ca5;background:#3a7ca51f}.rg-chip-later{color:#6a5acd;background:#6a5acd1f}.rg-chip-booked{color:#d45050;background:#d450501f}.rg-chip-pipeline{color:#d4805a;background:#d4805a24;border:1px dashed #d4805a80}.rg-person-body{padding:8px 14px 12px;position:relative}.rg-gantt{position:relative}.rg-grid{pointer-events:none;z-index:0;display:flex;position:absolute;inset:0}.rg-grid-labelcol{flex:0 0 226px}.rg-grid-track{flex:1;position:relative}.rg-grid-line{background:var(--border);opacity:.55;width:1px;position:absolute;top:0;bottom:0}.rg-today-line{opacity:.65;z-index:1;background:#d45050;width:2px;position:absolute;top:0;bottom:0}.rg-proj-row{z-index:1;align-items:center;height:28px;display:flex;position:relative}.rg-proj-label{flex:0 0 226px;align-items:center;gap:6px;min-width:0;padding-right:10px;display:flex}.rg-proj-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.rg-proj-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:600;text-decoration:none;overflow:hidden}.rg-proj-name:hover{color:#3a7ca5;text-decoration:underline}.rg-proj-hrs{color:var(--text-tertiary);flex-shrink:0;font-size:9px;font-weight:700}.rg-status-chip{letter-spacing:.8px;color:#d4805a;background:#d4805a26;border:1px dashed #d4805a80;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8px;font-weight:800}.rg-status-upcoming{color:#3a7ca5;background:#3a7ca51f;border:1px solid #3a7ca54d}.rg-proj-track{flex:1;height:16px;position:relative}.rg-seg{cursor:default;border-radius:3px;justify-content:center;align-items:center;min-width:3px;height:16px;transition:opacity .15s;display:flex;position:absolute;top:0}.rg-seg:hover{opacity:.85;z-index:2}.rg-seg-hrs{color:#fff;text-shadow:0 1px 2px #0006;pointer-events:none;font-size:9px;font-weight:700}.rg-seg-pipeline{opacity:.55;background-blend-mode:overlay;border:1px dashed #00000040;background-image:repeating-linear-gradient(45deg,#ffffff59 0 4px,#0000 4px 8px)!important}.rg-seg-pipeline:hover{opacity:.8}.rg-seg-estimated{border:1.5px dashed var(--text-tertiary);opacity:.6;background:0 0}.rg-pipeline-divider{letter-spacing:1.5px;color:#d4805a;border-top:1px dashed var(--border);margin-top:6px;padding:8px 0 4px;font-size:9px;font-weight:800}.rg-empty{color:var(--text-tertiary);padding:8px 0;font-size:11px;font-style:italic}@media (max-width:900px){.rg-person-id{flex-basis:140px}.rg-proj-label,.rg-grid-labelcol{flex-basis:150px}.rg-axis-labelcol{flex-basis:164px}.rg-insights{justify-content:flex-start}}.rg-axis-track{height:30px;overflow:hidden}.rg-axis-band,.rg-grid-band{background:var(--text-primary);position:absolute;top:0;bottom:0}@supports (color:color-mix(in lab, red, red)){.rg-axis-band,.rg-grid-band{background:color-mix(in srgb, var(--text-primary) 3.5%, transparent)}}.rg-axis-band,.rg-grid-band{pointer-events:none}.rg-axis-week{color:var(--text-tertiary);opacity:.75;font-size:8.5px;font-weight:500;position:absolute;top:16px;transform:translate(-50%)}.rg-grid-weekline{background:var(--border);opacity:.28;width:1px;position:absolute;top:0;bottom:0}.rg-track-note{color:var(--text-tertiary);opacity:.6;font-size:9px;font-style:italic;position:absolute;top:1px;left:4px}.rg-plan-btn{letter-spacing:.5px;color:var(--text-secondary);border:1px dashed var(--text-tertiary);cursor:pointer;background:0 0;border-radius:14px;flex-shrink:0;padding:3px 10px;font-size:10px;font-weight:700;transition:all .15s}.rg-plan-btn:hover{color:var(--text-primary);background:#9e9e9e1f;border-style:solid}.rg-plan-form{background:var(--card);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.rg-plan-form{background:color-mix(in srgb, var(--card) 92%, #9e9e9e 8%)}}.rg-plan-form{border-bottom:1px dashed var(--border)}.rg-plan-form-title{letter-spacing:1.2px;color:var(--text-tertiary);font-size:9px;font-weight:800}.rg-plan-input{background:var(--card);min-width:180px;color:var(--text-primary);border:1px solid var(--border);border-radius:6px;flex:1;padding:5px 10px;font-size:12px}.rg-plan-input:focus{border-color:#9e9e9e;outline:none}.rg-plan-date{background:var(--card);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:11px}.rg-plan-arrow{color:var(--text-tertiary);font-size:11px}.rg-plan-save{color:#fff;cursor:pointer;background:#616161;border:none;border-radius:6px;padding:5px 14px;font-size:11px;font-weight:700}.rg-plan-save:disabled{opacity:.5;cursor:default}.rg-plan-save:not(:disabled):hover{background:#4a4a4a}.rg-plan-cancel{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:11px}.rg-plan-cancel:hover{color:var(--text-primary)}.rg-plan-error{color:#d45050;flex-basis:100%;font-size:10px}.rg-status-planning{color:#757575;background:#9e9e9e2e;border:1px solid #9e9e9e66}.rg-planning-name{color:var(--text-secondary);font-style:italic}.rg-seg-planning{opacity:.75;background:repeating-linear-gradient(45deg,#9e9e9e 0 6px,#8a8a8a 6px 12px);border:1px solid #00000026}.rg-seg-planning-label{letter-spacing:1px;font-size:8px}.rg-planning-divider{color:#757575}.rg-bar-delete{text-align:center;width:16px;height:16px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;flex-shrink:0;font-size:12px;line-height:14px;transition:opacity .15s}.rg-planning-row:hover .rg-bar-delete{opacity:1}.rg-bar-delete:hover{color:#d45050;background:#d4505026}.rg-track-range{color:var(--text-tertiary);background:var(--text-primary);font-size:9px;font-style:normal;font-weight:600;position:absolute;top:0}@supports (color:color-mix(in lab, red, red)){.rg-track-range{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.rg-track-range{border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:1px 8px;line-height:12px}.rg-track-past{left:0}.rg-track-future{right:0}.rg-track-nodates{opacity:.55;border-style:dashed;font-style:italic;left:0}.rg-seg-window{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.rg-seg-window{background:color-mix(in srgb, var(--text-primary) 10%, transparent)}}.rg-seg-window{border:1px solid var(--border);opacity:.9}.rg-seg-window-label{letter-spacing:.5px;color:var(--text-tertiary);white-space:nowrap;font-size:8px;font-weight:600;overflow:hidden}.cal-btn-kamp.active{color:#4a3b00!important;background:#fbc02d!important;border-color:#fbc02d!important}.cal-btn-client.active{color:#fff!important;background:#1e88e5!important;border-color:#1e88e5!important}.wk-wrap{margin-top:8px}.wk-people-bar{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.wk-people-toggle{background:var(--card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.wk-people-toggle:hover,.wk-people-toggle.active{color:var(--text-primary);border-color:var(--text-tertiary)}.wk-people-clear{color:var(--text-tertiary);cursor:pointer;margin-left:4px;font-size:13px;line-height:1}.wk-people-clear:hover{color:#d45050}.wk-people-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.wk-person-chip{background:var(--card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:14px;padding:4px 11px;font-size:11px;font-weight:500;transition:all .12s}.wk-person-chip:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.wk-person-chip.active{background:var(--text-primary);color:var(--card);border-color:var(--text-primary);font-weight:600}.wk-scroll{overflow-x:auto}.wk-table{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;width:100%}.wk-table th,.wk-table td{border:1px solid var(--border)}.wk-proj-col{text-align:left;letter-spacing:1px;width:200px;min-width:170px;color:var(--text-tertiary);text-transform:uppercase;padding:8px 12px;font-size:10px;font-weight:700}.wk-day-th{text-align:center;min-width:110px;color:var(--text-tertiary);vertical-align:top;padding:7px 6px 6px;font-size:10px}.wk-day-name{letter-spacing:1px;font-weight:700;display:block}.wk-day-num{color:var(--text-secondary);margin-top:1px;font-size:15px;font-weight:600;display:block}.wk-day-num-today{color:#fff;background:#d45050;border-radius:50%;width:24px;height:24px;margin:2px auto 0;line-height:24px}.wk-day-holiday{color:#2e7d32;white-space:nowrap;text-overflow:ellipsis;background:#e8f5e9;border-radius:4px;margin-top:3px;padding:1px 4px;font-size:8.5px;font-weight:600;display:block;overflow:hidden}.wk-today{background:#d450500a}.wk-weekend{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.wk-weekend{background:color-mix(in srgb, var(--text-primary) 2.5%, transparent)}}.wk-account-row td{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-secondary);background:var(--text-primary);padding:6px 12px;font-size:14px}@supports (color:color-mix(in lab, red, red)){.wk-account-row td{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}}.wk-proj-cell{vertical-align:top;padding:8px 12px}.wk-proj-name{font-size:12px;font-weight:700;line-height:1.3;text-decoration:none;display:block}.wk-proj-name:hover{text-decoration:underline}.wk-proj-staff{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;margin-top:2px;font-size:9.5px;display:block;overflow:hidden}.wk-day-cell{vertical-align:top;padding:4px 5px}.wk-ms{border-radius:4px;margin-bottom:3px;padding:3px 7px;font-size:10.5px;line-height:1.35}.wk-ms-kamp{color:#8d6e00;background:#fff8e1;border-left:3px solid #fbc02d}.wk-ms-client{color:#1565c0;background:#e3f2fd;border-left:3px solid #1e88e5}.wk-empty{text-align:center;color:var(--text-tertiary);padding:32px;font-size:12px;font-style:italic}.wk-ta{flex:1;max-width:560px;position:relative}.wk-ta-box{background:var(--card);border:1px solid var(--border);cursor:text;border-radius:20px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.wk-ta-box-open{border-color:var(--text-tertiary);box-shadow:0 2px 10px #00000012}.wk-ta-icon{color:var(--text-tertiary);flex-shrink:0;margin-left:2px}.wk-ta-input{min-width:140px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:3px 2px;font-size:12px}.wk-ta-input::placeholder{color:var(--text-tertiary)}.wk-ta-token{background:var(--text-primary);color:var(--card);border-radius:14px;align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:11px;font-weight:600;animation:.15s wk-token-in;display:inline-flex}@keyframes wk-token-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.wk-ta-token-x{text-align:center;width:14px;height:14px;color:inherit;cursor:pointer;background:#ffffff40;border:none;border-radius:50%;padding:0;font-size:12px;line-height:12px}.wk-ta-token-x:hover{color:#fff;background:#d45050}.wk-ta-clearall{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:10px;font-weight:600}.wk-ta-clearall:hover{color:#d45050}.wk-ta-dropdown{z-index:30;background:var(--card);border:1px solid var(--border);border-radius:10px;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #0000001f}.wk-ta-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:9px;padding:8px 12px;font-size:12px;display:flex}.wk-ta-option-hl{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.wk-ta-option-hl{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.wk-ta-option-avatar{letter-spacing:.5px;background:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.wk-ta-option-avatar{background:color-mix(in srgb, var(--text-primary) 10%, transparent)}}.wk-ta-option-avatar{color:var(--text-secondary);flex-shrink:0}.wk-ta-option-add{color:var(--text-tertiary);opacity:0;margin-left:auto;font-size:9px;transition:opacity .1s}.wk-ta-option-hl .wk-ta-option-add{opacity:1}.wk-ta-nomatch{color:var(--text-tertiary);cursor:default;font-style:italic}.wk-range-toggle{margin-left:10px}.wk-role-filter{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wk-role-label{letter-spacing:1.2px;color:var(--text-tertiary);margin-right:2px;font-size:9px;font-weight:800}.wk-week-range{color:var(--text-secondary);margin-top:1px;font-size:10px;font-weight:600;display:block}.wk-ms-day{letter-spacing:.5px;opacity:.75;text-transform:uppercase;margin-right:5px;font-size:9px;font-weight:800}.wk-ms-past{opacity:.55}.wk-ta-option-name{flex-direction:column;line-height:1.2;display:flex}.wk-ta-option-role{color:var(--text-tertiary);font-size:9px}.wk-person-section{margin-bottom:22px}.wk-person-header{border-bottom:2px solid var(--text-primary);align-items:center;gap:10px;margin-bottom:6px;padding:8px 2px;display:flex}.wk-person-avatar{letter-spacing:.5px;background:var(--text-primary);width:28px;height:28px;color:var(--card);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.wk-person-header .wk-person-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text-primary);font-size:18px}.wk-person-role{color:var(--text-secondary);background:var(--text-primary);font-size:10px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.wk-person-role{background:color-mix(in srgb, var(--text-primary) 7%, transparent)}}.wk-person-role{border-radius:10px;padding:2px 9px}.wk-person-count{color:var(--text-tertiary);margin-left:auto;font-size:11px}.wk-person-empty{color:var(--text-tertiary);padding:12px 4px 4px;font-size:11.5px;font-style:italic}.wk-table-fixed{table-layout:fixed;min-width:900px}.wk-table-fixed .wk-day-th{min-width:0}.wk-table-fixed .wk-ms{overflow-wrap:break-word}.wk-table-fixed .wk-proj-cell{overflow:hidden}.wk-nodates-cell{vertical-align:middle}.wk-nodates{color:var(--text-tertiary);opacity:.7;padding-left:6px;font-size:10px;font-style:italic}.lwb-page{padding:0 0 40px}.lwb-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.lwb-back{color:var(--text-tertiary);font-size:11px;text-decoration:none}.lwb-back:hover{color:var(--text-primary)}.lwb-title-row{align-items:center;gap:10px;margin-top:6px;display:flex}.lwb-account-dot{border-radius:50%;width:12px;height:12px}.lwb-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-primary);margin:0;font-size:28px}.lwb-live-badge{letter-spacing:1px;color:#2e7d32;background:#2e7d321a;border-radius:12px;padding:3px 10px;font-size:10px;font-weight:800;animation:2.5s infinite lwb-pulse}@keyframes lwb-pulse{0%,to{opacity:1}50%{opacity:.55}}.lwb-subtitle{color:var(--text-tertiary);margin-top:3px;font-size:12px}.lwb-sheet-link{color:var(--text-secondary)}.lwb-hero{background:var(--card);border:1px dashed var(--border);text-align:center;border-radius:14px;max-width:620px;margin:40px auto;padding:40px}.lwb-hero-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-primary);margin-bottom:12px;font-size:22px}.lwb-hero-text{color:var(--text-secondary);margin-bottom:22px;font-size:13px;line-height:1.6}.lwb-enable-btn{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;padding:10px 26px;font-size:13px;font-weight:700}.lwb-enable-btn:hover:not(:disabled){background:#256b29}.lwb-enable-btn:disabled{opacity:.6}.lwb-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.lwb-controls-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lwb-status{color:#2e7d32;background:#2e7d3214;border-radius:8px;margin-bottom:10px;padding:6px 12px;font-size:11px}.lwb-error{color:#d45050;padding:8px 0;font-size:12px}.lwb-loading{color:var(--text-tertiary);padding:20px 0;font-size:12px}.lwb-cal-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px}.lwb-table{border-collapse:collapse;table-layout:fixed;width:100%}.lwb-table th{letter-spacing:1px;color:var(--text-tertiary);border-bottom:2px solid var(--border);padding:6px 4px;font-size:10px;font-weight:700}.lwb-td{border:1px solid var(--border);vertical-align:top;height:92px;min-height:92px;padding:4px 5px;transition:background .12s}.lwb-td-empty{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.lwb-td-empty{background:color-mix(in srgb, var(--text-primary) 2%, transparent)}}.lwb-td-today{background:#d450500a}.lwb-td-droppable:hover{background:#2e7d3214}.lwb-td-top{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.lwb-td-num-today{color:#fff;background:#d45050;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.lwb-td-add{width:18px;height:18px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:4px;font-size:13px;line-height:16px;transition:opacity .12s}.lwb-td:hover .lwb-td-add{opacity:1}.lwb-td-add:hover{border-color:var(--border);color:var(--text-primary)}.lwb-chip{cursor:grab;overflow-wrap:break-word;border-radius:4px;margin-bottom:3px;padding:3px 7px;font-size:10.5px;line-height:1.3}.lwb-chip:active{cursor:grabbing}.lwb-chip-dragging{opacity:.4}.lwb-chip-internal{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.lwb-chip-internal{background:color-mix(in srgb, var(--text-primary) 7%, transparent)}}.lwb-chip-internal{color:var(--text-secondary);border-left:3px solid #9e9e9e}.lwb-key-star{color:#d4805a;margin-right:3px;font-size:9px}.lwb-hint{color:var(--text-tertiary);text-align:center;margin-top:10px;font-size:10px}.lwb-modal{max-width:460px}.lwb-form{flex-direction:column;gap:14px;padding:16px 20px 20px;display:flex}.lwb-form-label{letter-spacing:1px;color:var(--text-tertiary);flex-direction:column;flex:1;gap:5px;font-size:10px;font-weight:700;display:flex}.lwb-form-input{border:1px solid var(--border);background:var(--card);color:var(--text-primary);border-radius:7px;padding:8px 10px;font-size:13px}.lwb-form-input:focus{border-color:var(--text-tertiary);outline:none}.lwb-form-row{align-items:flex-end;gap:12px;display:flex}.lwb-form-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding-bottom:8px;font-size:12px;display:flex}.lwb-form-actions{align-items:center;gap:8px;display:flex}.lwb-btn-save{background:var(--text-primary);color:var(--card);cursor:pointer;border:none;border-radius:7px;padding:8px 20px;font-size:12px;font-weight:700}.lwb-btn-save:disabled{opacity:.5}.lwb-btn-cancel{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:12px}.lwb-btn-delete{color:#d45050;cursor:pointer;background:0 0;border:1px solid #d4505066;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:600}.lwb-btn-delete:hover{background:#d4505014}.lwb-month-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text-primary);padding:0 18px;font-size:42px;line-height:1}.lwb-month-year{color:var(--text-tertiary);letter-spacing:2px;font-size:22px}.lwb-cal-wrap{padding:0;overflow:hidden}.lwb-grid-header{background:#111;border-radius:12px 12px 0 0;grid-template-columns:repeat(7,1fr);display:grid}.lwb-grid-th{letter-spacing:1.5px;color:#fff;text-align:center;padding:8px 4px;font-size:11px;font-weight:800}.lwb-week{border-left:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid;position:relative}.lwb-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);min-height:104px;padding:3px 4px 6px;transition:background .12s}.lwb-cell-empty{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.lwb-cell-empty{background:color-mix(in srgb, var(--text-primary) 6%, var(--card))}}.lwb-cell-weekend{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.lwb-cell-weekend{background:color-mix(in srgb, var(--text-primary) 3.5%, var(--card))}}.lwb-cell-today{background:#d45050}@supports (color:color-mix(in lab, red, red)){.lwb-cell-today{background:color-mix(in srgb, #d45050 4%, var(--card))}}.lwb-cell-droppable:hover{background:#2e7d32}@supports (color:color-mix(in lab, red, red)){.lwb-cell-droppable:hover{background:color-mix(in srgb, #2e7d32 8%, var(--card))}}.lwb-td-num{color:var(--text-secondary);font-size:11px;font-weight:700}.lwb-td-top{flex-direction:row-reverse;justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.lwb-phase-band{z-index:2;letter-spacing:1px;pointer-events:none;white-space:nowrap;border:none;border-radius:0;justify-content:center;align-items:center;height:18px;font-size:9.5px;font-weight:800;display:flex;position:absolute;top:26px;overflow:hidden}.lwb-band-start{border-top-left-radius:3px;border-bottom-left-radius:3px}.lwb-band-end{border-top-right-radius:3px;border-bottom-right-radius:3px}.lwb-chip-kamp{color:#111;background:#ffd966;border-left:none}.lwb-chip-client{color:#111;background:#9fc5e8;border-left:none}.lwb-chip-internal{color:#444;background:#e8e8e8;border-left:none;font-style:italic}.lwb-chip{border-radius:2px;padding:3px 6px;font-size:10.5px}.lwb-chip-key{font-weight:700}.lwb-key-star{color:#c00}.lwb-span{z-index:3;white-space:nowrap;text-overflow:ellipsis;align-items:center;height:20px;margin:0;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0000001f}.lwb-span-cont-l{opacity:.92;border-top-left-radius:0;border-bottom-left-radius:0}.lwb-span-cont-r{opacity:.92;border-top-right-radius:0;border-bottom-right-radius:0}.lwb-hint{padding:8px 0 12px}.lwb-phase-nudge{color:var(--text-secondary);background:#d4805a;align-items:center;gap:12px;font-size:12px;display:flex}@supports (color:color-mix(in lab, red, red)){.lwb-phase-nudge{background:color-mix(in srgb, #d4805a 8%, var(--card))}}.lwb-phase-nudge{border:1px dashed #d4805a80;border-radius:10px;margin-bottom:12px;padding:10px 14px}.lwb-phase-nudge-btn{color:#fff;cursor:pointer;background:#d4805a;border:none;border-radius:6px;padding:5px 14px;font-size:11px;font-weight:700}.lwb-phase-nudge-btn:hover{background:#c06f4c}.lwb-phase-form-name{letter-spacing:.8px;text-align:center;border-radius:4px;flex:0 0 150px;padding:5px 8px;font-size:9px;font-weight:800}.lwb-phase-nudge-btn:disabled{opacity:.6}.lwb-phase-nudge-alt{color:#d4805a;background:0 0;border:1px solid #d4805a80}.lwb-phase-nudge-alt:hover{background:#d4805a1a}.lwb-phase-band{pointer-events:auto;cursor:pointer}.lwb-rp-modal{max-width:380px}.lwb-rp-body{padding:14px 18px 18px}.lwb-rp-nav{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lwb-rp-month{color:var(--text-primary);font-size:14px;font-weight:700}.lwb-rp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.lwb-rp-dow{text-align:center;color:var(--text-tertiary);padding:4px 0;font-size:9px;font-weight:800}.lwb-rp-day{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);border-radius:6px;padding:7px 0;font-size:12px;transition:background 80ms}.lwb-rp-day:hover:not(.lwb-rp-day-empty){outline:1.5px solid var(--text-tertiary)}.lwb-rp-day-empty{cursor:default}.lwb-rp-inrange{border-radius:0}.lwb-rp-endpoint{border-radius:6px;font-weight:800}.lwb-rp-summary{color:var(--text-secondary);padding:12px 2px 10px;font-size:12.5px}.lwb-rp-count{color:var(--text-tertiary);font-size:11px}.lwb-cell-holiday{background:#d9d9d9!important}.lwb-holiday-label{color:#555;text-align:center;letter-spacing:.5px;padding:10px 0 4px;font-size:10px;font-weight:600}.lwb-modal{max-height:88vh;overflow-y:auto}.lwb-sheet-btn{color:#2e7d32!important;border-color:#2e7d3266!important}.lwb-sheet-btn:hover:not(:disabled){background:#2e7d3214!important}.lwb-sheet-btn:disabled{opacity:.55}.rg-axis{z-index:5;box-shadow:0 2px 4px #0000000a}.wk-pto-row td{border:1px solid var(--border)}.wk-pto-labelcell{letter-spacing:1px;color:#8e24aa;text-align:right;vertical-align:middle;padding:2px 12px 2px 0;font-size:8px;font-weight:800}.wk-pto-empty{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.wk-pto-empty{background:color-mix(in srgb, var(--text-primary) 1.5%, transparent)}}.wk-pto-cell{background:#8e24aa0d;padding:2px 4px}.wk-pto-chip{text-align:center;color:#8e24aa;white-space:nowrap;text-overflow:ellipsis;background:#8e24aa1f;border:1px dashed #8e24aa73;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;display:block;overflow:hidden}.card-account-prefix{color:var(--text-tertiary);font-weight:600}.pl-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:20px 22px}.pl-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.pl-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pl-gap-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.pl-gap-chip{border-radius:12px;padding:3px 10px;font-size:10px;font-weight:700}.pl-gap-bad{color:#d45050;background:#d450501a}.pl-gap-ok{color:#2e7d32;background:#2e7d3214}.pl-table-wrap{overflow-x:auto}.pl-table{border-collapse:collapse;width:100%}.pl-table th{letter-spacing:1px;color:var(--text-tertiary);text-align:left;border-bottom:2px solid var(--border);padding:6px 10px;font-size:9px;font-weight:800}.pl-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px;font-size:12px}.pl-row-gap{background:#d4505006}.pl-td-proj{align-items:center;gap:7px;min-width:220px;display:flex}.pl-proj-link{color:var(--text-primary);font-weight:700;text-decoration:none}.pl-proj-link:hover{color:#3a7ca5}.pl-td-start{color:var(--text-secondary);white-space:nowrap;font-size:11px}.pl-status{letter-spacing:.8px;border-radius:4px;padding:2px 8px;font-size:8.5px;font-weight:800}.pl-status-awarded{color:#2e7d32;background:#2e7d321a}.pl-status-potential{color:#8e24aa;background:#ba68c81f}.pl-status-rfp{color:#1565c0;background:#1565c01a}.pl-lead{color:var(--text-primary);background:var(--text-primary);font-size:11.5px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.pl-lead{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}}.pl-lead{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:3px 10px}.pl-lead:hover{border-color:var(--border)}.pl-lead-implied{color:var(--text-secondary);font-style:italic}.pl-assign{color:#d45050;cursor:pointer;background:0 0;border:1px dashed #d4505080;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600}.pl-assign:hover{background:#d4505012}.pl-select{background:var(--card);color:var(--text-primary);border:1px solid #3a7ca5;border-radius:6px;max-width:190px;padding:3px 6px;font-size:11.5px}.pl-roster{flex-direction:column;gap:2px;display:flex}.pl-roster-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding:8px 4px;display:flex}.pl-roster-person{flex-direction:column;flex:0 0 230px;display:flex}.pl-roster-name{color:var(--text-primary);font-size:12.5px;font-weight:700}.pl-roster-title{color:var(--text-tertiary);font-size:10px}.pl-roster-meta{color:var(--text-secondary);margin-top:2px;font-size:10px}.pl-roster-projects{flex-wrap:wrap;flex:1;gap:6px;display:flex}.pl-roster-chip{color:var(--text-primary);background:var(--text-primary);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.pl-roster-chip{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}}.pl-roster-chip{border:1px solid var(--border);border-radius:14px;padding:3px 10px;text-decoration:none}.pl-roster-chip:hover{border-color:var(--text-tertiary)}.pl-roster-role{color:var(--text-tertiary);font-size:9px;font-weight:500}.am-wrap{margin-top:8px}.am-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.am-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.am-card{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--border);border-radius:10px;padding:14px 16px}.am-card-gap{box-shadow:inset 0 0 0 1px #d450502e}.am-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.am-account-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;font-size:18px}.am-revenue{color:var(--text-secondary);font-size:12px;font-weight:700}.am-counts{flex-wrap:wrap;gap:6px;margin:7px 0 10px;display:flex}.am-empty-note{color:var(--text-tertiary);font-size:10px;font-style:italic}.am-leads{flex-direction:column;gap:5px;display:flex}.am-lead-row{align-items:center;gap:10px;display:flex}.am-lead-label{letter-spacing:1px;color:var(--text-tertiary);flex:0 0 82px;font-size:9px;font-weight:800}.am-lead{color:var(--text-primary);background:var(--text-primary);font-size:12px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.am-lead{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}}.am-lead{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:3px 10px}.am-lead:hover{border-color:var(--border)}.am-lead-missing{color:#d45050;background:0 0;border:1px dashed #d4505080;font-size:11px;font-weight:600}.am-lead-missing:hover{background:#d4505012}.am-lead-input{background:var(--card);color:var(--text-primary);border:1px solid #3a7ca5;border-radius:6px;width:170px;padding:3px 8px;font-size:12px}.am-people{flex-direction:column;display:flex}.am-person-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding:10px 4px;display:flex}.am-person-info{flex-direction:column;flex:0 0 220px;display:flex}.am-person-name{color:var(--text-primary);font-size:13px;font-weight:700}.am-person-count{color:var(--text-tertiary);font-size:10px}.am-person-accounts{flex-wrap:wrap;gap:6px;display:flex}.am-person-chip{color:var(--text-primary);background:var(--text-primary);font-size:11px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.am-person-chip{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}}.am-person-chip{border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:3px 10px}.am-person-role{letter-spacing:.6px;color:var(--text-tertiary);margin-left:6px;font-size:8.5px;font-weight:800}.am-chiprow{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.am-lead-chip{align-items:center;gap:5px;padding-right:5px;display:inline-flex}.am-chip-x{text-align:center;width:14px;height:14px;color:inherit;cursor:pointer;opacity:0;background:#00000014;border:none;border-radius:50%;padding:0;font-size:11px;line-height:12px;transition:opacity .12s}.am-lead-chip:hover .am-chip-x{opacity:1}.am-chip-x:hover{color:#d45050;background:#d4505033}.am-lead-legacy{color:var(--text-tertiary);border:1px dashed var(--border);background:0 0;font-style:italic}.am-add-btn{text-align:center;width:20px;height:20px;color:var(--text-tertiary);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;font-size:13px;font-weight:700;line-height:17px}.am-add-btn:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.am-partners{color:var(--text-tertiary);margin-left:6px;font-size:9px;font-style:italic}.person-account-leads{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.person-account-lead-badge{color:var(--text-secondary);background:var(--text-primary);font-size:9.5px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.person-account-lead-badge{background:color-mix(in srgb, var(--text-primary) 3.5%, transparent)}}.person-account-lead-badge{border:1px solid var(--border);border-left-width:3px;border-radius:5px;padding:2px 7px}.pal-dept{letter-spacing:.5px;color:var(--text-tertiary);margin-left:3px;font-size:8px;font-weight:800}.pal-with{color:var(--text-tertiary);margin-left:5px;font-size:8.5px;font-style:italic}.am-card{padding:0 0 12px;overflow:visible}.am-card-head{border-bottom:1px solid var(--border);margin-bottom:8px;padding:12px 16px 6px}.am-counts{margin:0 0 10px;padding:0 16px}.am-lead-row{grid-template-columns:78px 1fr;align-items:center;min-height:26px;display:grid}.am-lead-chip{color:var(--text-primary);background:var(--text-primary);align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.am-lead-chip{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}}.am-lead-legacy{color:var(--text-tertiary);border:1px dashed var(--border);border-radius:13px;padding:3px 10px;font-size:11px;font-style:italic}.am-chiprow{position:relative}.am-search{display:inline-flex;position:relative}.am-search-input{background:var(--card);width:150px;color:var(--text-primary);border:1.5px solid #3a7ca5;border-radius:13px;outline:none;padding:4px 10px;font-size:11.5px}.am-search-drop{z-index:40;background:var(--card);border:1px solid var(--border);border-radius:9px;flex-direction:column;min-width:210px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 22px #00000024}.am-search-opt{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.am-search-opt:hover{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.am-search-opt:hover{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.am-search-dept{letter-spacing:.5px;color:var(--text-tertiary);font-size:9px;font-weight:700}.sp-icon-planning{background:#8e24aa!important}.wk-pto-cover{color:#2e7d32;margin-left:7px;font-style:normal;font-weight:700}.wk-pto-cover-none{color:#d45050;opacity:.75;font-weight:600}.wk-pto-nocover{border-color:#d4505073}.wk-week-divider{border-bottom:2px solid var(--text-primary);align-items:center;gap:12px;margin:18px 0 8px;padding-bottom:5px;display:flex}.wk-week-divider-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-primary);font-size:15px}.wk-week-divider-now{border-bottom-color:#d45050}.wk-week-divider-now .wk-week-divider-label{color:#d45050}.wk-week-empty{padding:10px 4px 16px}.wk-cellnum{color:var(--text-tertiary,#8a8a8a);text-align:right;letter-spacing:.02em;margin:0 0 3px;font-size:9px;font-weight:600;line-height:1;display:block}.wk-cellnum-today{color:#fff;float:right;background:#d45050;border-radius:8px;margin-bottom:3px;padding:2px 5px;display:inline-block}.wk-weekrow-cont .wk-day-cell{border-top:2px solid var(--border-strong,#3a3a3a)}.wk-proj-cell{vertical-align:top}.am-leads{gap:0;padding:0 16px 2px}.am-lead-row{grid-template-columns:84px 1fr;align-items:start;min-height:32px;padding:5px 0;display:grid}.am-lead-row+.am-lead-row{border-top:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.am-lead-row+.am-lead-row{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent)}}.am-lead-label{padding-top:6px;line-height:1}.am-chiprow{flex-wrap:wrap;align-items:center;gap:5px;min-height:24px;display:flex}.am-lead-chip{box-sizing:border-box;height:24px;color:var(--text-primary);background:var(--text-primary);align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.am-lead-chip{background:color-mix(in srgb, var(--text-primary) 5%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent)}}.am-lead-chip{border-radius:12px;padding:0 7px 0 11px;line-height:1}.am-lead-legacy{box-sizing:border-box;height:24px;color:var(--text-tertiary);border:1px dashed var(--border);border-radius:12px;align-items:center;padding:0 11px;font-size:11px;font-style:italic;line-height:1;display:inline-flex}.am-add-btn{box-sizing:border-box;width:24px;height:24px;color:var(--text-tertiary);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.am-search-input{box-sizing:border-box;border-radius:12px;height:24px;padding:0 10px}.am-chip-x{flex:none}.am-lead-chip{background:var(--text-primary);gap:0;padding:0 10px;position:relative}@supports (color:color-mix(in lab, red, red)){.am-lead-chip{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.am-lead-chip{border:1px solid var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.am-lead-chip{border:1px solid color-mix(in srgb, var(--text-primary) 10%, transparent)}}.am-chip-x{background:var(--card);width:15px;height:15px;color:var(--text-secondary);border:1px solid var(--border);border-radius:50%;font-size:10px;line-height:13px;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 3px #0000001f}.am-chip-x:hover{color:#fff;background:#d45050;border-color:#d45050}.lwb-pto{z-index:3;letter-spacing:.4px;color:#7b4fa0;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;background:#8e24aa12;border:1px dashed #8e24aa73;border-radius:9px;align-items:center;height:17px;padding:0 7px;font-size:9px;font-weight:700;display:flex;position:absolute;overflow:hidden}.lwb-pto-travel{color:#2e6da4;background:#3a7ca514;border-color:#3a7ca573}.lwb-paste-banner{color:var(--text-primary);background:#d4805a1a;border:1px dashed #d4805a99;border-radius:8px;align-items:center;gap:12px;margin:0 0 10px;padding:8px 14px;font-size:12px;display:flex}.lwb-paste-done{color:#d4805a;cursor:pointer;background:0 0;border:1px solid #d4805a99;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.lwb-paste-done:hover{background:#d4805a26}.lwb-cell-pastable{cursor:copy}.lwb-cell-pastable:hover{box-shadow:inset 0 0 0 2px #d4805a80}.lwb-chip-excluded{opacity:.62}.lwb-chip-excluded:after{content:"⌀";opacity:.9;margin-left:4px;font-size:9px}.rf-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:18px 20px}.rf-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.rf-counts{gap:8px;margin-top:6px;display:flex}.rf-count{letter-spacing:.6px;border-radius:10px;padding:2px 9px;font-size:10px;font-weight:800}.rf-count-major{color:#c62828;background:#d450501a}.rf-count-minor{color:#b07020;background:#e6a03c1f}.rf-count-aware{color:var(--text-tertiary);background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.rf-count-aware{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}}.rf-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (max-width:900px){.rf-grid{grid-template-columns:1fr}}.rf-col{flex-direction:column;gap:8px;min-width:0;display:flex}.rf-col-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.8px;border-bottom:2px solid var(--border);padding-bottom:5px;font-size:13px}.rf-col-major{color:#c62828;border-bottom-color:#d4505080}.rf-col-minor{color:#b07020;border-bottom-color:#e6a03c80}.rf-clear{color:var(--text-tertiary);padding:8px 2px;font-size:11px;font-style:italic}.rf-card{border:1px solid var(--border);background:var(--text-primary);border-left-width:4px;border-radius:8px;padding:9px 12px}@supports (color:color-mix(in lab, red, red)){.rf-card{background:color-mix(in srgb, var(--text-primary) 1.5%, transparent)}}.rf-major{border-left-color:#d45050}.rf-minor{border-left-color:#e6a03c}.rf-secondary{opacity:.72;border-left-style:dashed}.rf-card-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.rf-person{color:var(--text-primary);font-size:12.5px;font-weight:800}.rf-role{letter-spacing:.5px;color:var(--text-tertiary);text-transform:uppercase;font-size:9px;font-weight:700}.rf-date{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:10px;font-weight:700}.rf-pto-line{color:#c62828;margin-top:5px;font-size:10.5px;font-weight:700}.rf-items{flex-direction:column;gap:3px;margin-top:6px;display:flex}.rf-item{color:var(--text-primary);border-radius:5px;align-items:center;gap:6px;min-width:0;padding:2px 4px;font-size:11px;text-decoration:none;display:flex}.rf-item:hover{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.rf-item:hover{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}}.rf-item-kind{letter-spacing:.5px;color:var(--text-secondary);background:var(--text-primary);border-radius:4px;flex:none;padding:1px 5px;font-size:8px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.rf-item-kind{background:color-mix(in srgb, var(--text-primary) 7%, transparent)}}.rf-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rf-item-date{color:var(--text-tertiary);flex:none;margin-left:auto;font-size:9.5px;font-weight:600}.rf-aware-wrap{margin-top:12px}.rf-aware-toggle{cursor:pointer;letter-spacing:.8px;color:var(--text-tertiary);background:0 0;border:none;padding:4px 0;font-size:10px;font-weight:800}.rf-aware-toggle:hover{color:var(--text-primary)}.rf-aware-wrap .rf-grid{margin-top:8px}.rd-section{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;padding:18px 20px}.rd-list{flex-direction:column;display:flex}.rd-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 2px;display:flex}@supports (color:color-mix(in lab, red, red)){.rd-row{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent)}}.rd-row{font-size:11.5px}.rd-row:last-child{border-bottom:none}.rd-icon{text-align:center;width:18px;height:18px;color:var(--text-secondary);background:var(--text-primary);border-radius:50%;flex:none;font-size:10px;font-weight:800;line-height:17px}@supports (color:color-mix(in lab, red, red)){.rd-icon{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.rd-icon-entry_added{color:#2e7d32;background:#2e7d321a}.rd-icon-entry_deleted{color:#c62828;background:#d450501a}.rd-icon-entry_updated{color:#b07020;background:#e6a03c1f}.rd-icon-sheet_pulled{color:#2e6da4;background:#3a7ca51a}.rd-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);overflow:hidden}.rd-who{font-weight:800}.rd-detail{color:var(--text-tertiary)}.rd-proj{color:var(--text-secondary);font-weight:600}.rd-sheet-tag{letter-spacing:.5px;color:#2e6da4;background:#3a7ca51a;border-radius:8px;margin-left:7px;padding:1px 6px;font-size:8.5px;font-weight:800}.rd-time{color:var(--text-tertiary);flex:none;margin-left:auto;font-size:10px;font-weight:600}.pl-slots{flex-direction:column;align-items:flex-start;gap:3px;min-width:150px;display:flex}.pl-slot{background:var(--text-primary);border-radius:7px;align-items:center;gap:6px;max-width:100%;padding:2px 6px 2px 4px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.pl-slot{background:color-mix(in srgb, var(--text-primary) 3.5%, transparent)}}.pl-slot{border:1px solid var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.pl-slot{border:1px solid color-mix(in srgb, var(--text-primary) 7%, transparent)}}.pl-slot-lead{border-color:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.pl-slot-lead{border-color:color-mix(in srgb, var(--text-primary) 25%, transparent)}}.pl-slot-lead{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.pl-slot-lead{background:color-mix(in srgb, var(--text-primary) 7%, transparent)}}.pl-slot-open{background:0 0;border-style:dashed}.pl-slot-star{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex:none;padding:0;font-size:11px;line-height:1}.pl-slot-lead .pl-slot-star,.pl-slot-star:hover{color:#b07020}.pl-slot-openmark{color:var(--text-tertiary);cursor:default;font-size:10px}.pl-slot-body{flex-direction:column;min-width:0;line-height:1.15;display:flex}.pl-slot-name{color:var(--text-primary);font-size:11px;font-weight:700}.pl-slot-open .pl-slot-name{color:var(--text-tertiary);letter-spacing:.5px;font-size:9.5px;font-style:italic}.pl-slot-role{letter-spacing:.3px;color:var(--text-tertiary);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:8.5px;font-weight:600;overflow:hidden}.pl-slot-x{text-align:center;cursor:pointer;width:13px;height:13px;color:var(--text-tertiary);opacity:0;background:0 0;border:none;border-radius:50%;flex:none;font-size:10px;line-height:11px;transition:opacity .12s}.pl-slot:hover .pl-slot-x{opacity:1}.pl-slot-x:hover{color:#d45050;background:#d4505026}.pl-slot-actions{align-items:center;gap:5px;display:inline-flex}.pl-slot-plus{text-align:center;width:18px;height:18px;color:var(--text-tertiary);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:50%;font-size:12px;font-weight:700;line-height:15px}.pl-slot-plus:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.pl-slot-form{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.pl-slot-roleinput{border:1px solid var(--border);background:var(--card);width:130px;color:var(--text-primary);border-radius:6px;padding:3px 8px;font-size:11px}.pl-slot-add-go{border:1px solid var(--border);color:#2e7d32;cursor:pointer;background:0 0;border-radius:6px;width:22px;height:22px;font-weight:800}.rg-role-filter{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:560px;display:flex}.rf-summary{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:700}.rf-summary-major{color:#c62828}.rf-item-proj{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:130px;font-size:10px;font-weight:800;overflow:hidden}.rf-week-group{flex-direction:column;gap:8px;display:flex}.rf-week-group+.rf-week-group{margin-top:10px}.rf-week-divider{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.6px;color:var(--text-tertiary);align-items:center;gap:8px;font-size:11px;display:flex}.rf-week-divider:after{content:"";background:var(--border);flex:1;height:1px}.rd-group{padding:4px 0 8px}.rd-group+.rd-group{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}.rd-group-head{letter-spacing:.4px;color:var(--text-primary);align-items:baseline;gap:8px;margin-bottom:3px;font-size:11px;font-weight:800;display:flex}.rd-group-count{color:var(--text-tertiary);font-size:9px;font-weight:700}.rd-group .rd-row{border-bottom:none;padding:4px 0 4px 6px}.pl-table td{vertical-align:top}.pl-td-proj{display:table-cell}.pl-proj-inner{align-items:center;gap:7px;min-width:220px;padding-top:2px;display:flex}.pl-table td:nth-child(2),.pl-table td:nth-child(3){padding-top:10px}.rg-role-select{border:1px solid var(--border);background:var(--card);color:var(--text-primary);border-radius:7px;max-width:190px;padding:4px 8px;font-size:11px}.project-card .card-details{align-items:flex-start}.project-card .card-details>svg{flex:none;margin-top:2px}.project-card .card-details .card-details-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.project-card.expanded .card-details .card-details-text{-webkit-line-clamp:unset}.teams-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.teams-header-clickable:hover{filter:brightness(.97)}.teams-collapse-chev{color:var(--text-tertiary);margin-left:auto;padding-right:6px;font-size:10px}.teams-account-header .teams-account-count{margin-left:0}.rd-row-error{background:#d450500f;border-radius:6px;padding-left:6px!important}.rd-row-error .rd-text{white-space:normal}.rd-icon-sync_error{color:#fff;background:#d45050}.rd-error-msg{color:#c62828;font-weight:600}.sp-btn-retire{border:1px solid var(--border);width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:5px;margin-right:4px;font-size:11px;line-height:1}.sp-btn-retire:hover{color:#b07020;background:#e6a03c14;border-color:#e6a03c99}.sp-row-retired{opacity:.6}.sp-row-retired td{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.sp-row-retired td{background:color-mix(in srgb, var(--text-primary) 1.5%, transparent)}}.sp-retired-role{color:var(--text-tertiary);font-size:11px;font-style:italic}.sp-retired-name{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--text-primary);-webkit-text-decoration-color:var(--text-primary);-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary);font-size:12px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.sp-retired-name{-webkit-text-decoration-color:color-mix(in srgb, var(--text-primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-primary) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text-primary) 30%, transparent)}}.sp-retired-badge{letter-spacing:.6px;color:#b07020;background:#e6a03c1f;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:8px;font-weight:800}.sp-retired-divider span{color:var(--text-tertiary)!important}.sp-btn-unretire{border:1px solid var(--border);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;font-size:11px;line-height:1}.sp-btn-unretire:hover{color:#2e7d32;border-color:#2e7d3280}.pl-slot-na{opacity:.65;background:0 0;border:none;padding-left:0}.pl-slot-na .pl-slot-name{color:var(--text-tertiary);font-style:italic;font-weight:600}.pl-slot-na .pl-slot-role{text-transform:none}.rg-plan-typeahead{flex:1;min-width:240px;display:inline-flex;position:relative}.rg-plan-typeahead .rg-plan-input{width:100%}.rg-plan-suggest{z-index:60;background:var(--card);border:1px solid var(--border);border-radius:9px;flex-direction:column;min-width:300px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 22px #00000024}.rg-plan-suggest-head{letter-spacing:.6px;color:var(--text-tertiary);border-bottom:1px solid var(--border);padding:6px 12px 4px;font-size:8.5px;font-weight:800}.rg-plan-suggest-opt{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.rg-plan-suggest-opt:hover{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.rg-plan-suggest-opt:hover{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.rg-plan-suggest-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sp-ov-input{text-align:center;width:44px;color:var(--text-primary);-moz-appearance:textfield;background:#e6a03c0d;border:1px dashed #e6a03c8c;border-radius:5px;padding:2px 4px;font-size:11px}.sp-ov-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sp-ov-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sp-ov-input:focus{border-style:solid;border-color:#b07020;outline:none}.sp-ov-total{color:#b07020;font-weight:700}.rg-overage-badge{letter-spacing:.5px;color:#b07020;background:#e6a03c1f;border:1px dashed #e6a03c80;border-radius:4px;flex:none;margin-left:5px;padding:1px 5px;font-size:7.5px;font-weight:800}.person-acct-leadership{border:1px solid var(--border);background:var(--text-primary);border-radius:8px;margin-top:8px;padding:7px 10px 8px}@supports (color:color-mix(in lab, red, red)){.person-acct-leadership{background:color-mix(in srgb, var(--text-primary) 2%, transparent)}}.pal-box-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.6px;color:var(--text-tertiary);margin-bottom:4px;font-size:10px}.pal-box-row{align-items:baseline;gap:6px;min-width:0;padding:1.5px 0;display:flex}.pal-box-dot{border-radius:50%;flex:none;align-self:center;width:7px;height:7px}.pal-box-account{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.pal-box-row .pal-with{flex:none}.rfx-page>*{margin-bottom:16px}.rfx-hero{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}@media (max-width:1000px){.rfx-hero{grid-template-columns:repeat(2,1fr)}}.rfx-stat{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1px;padding:14px 16px 12px;transition:transform .12s,box-shadow .12s;animation:.35s both rfx-rise;display:flex;position:relative}.rfx-stat:nth-child(2){animation-delay:40ms}.rfx-stat:nth-child(3){animation-delay:80ms}.rfx-stat:nth-child(4){animation-delay:.12s}.rfx-stat:nth-child(5){animation-delay:.16s}@keyframes rfx-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rfx-stat:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000014}.rfx-stat-num{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:var(--text-primary);font-size:34px;line-height:1}.rfx-stat-bad .rfx-stat-num{color:#c62828}.rfx-stat-warn .rfx-stat-num{color:#b07020}.rfx-stat-good .rfx-stat-num{color:#2e7d32}.rfx-stat-free .rfx-stat-num{color:#2e6da4}.rfx-stat-label{letter-spacing:1.2px;color:var(--text-secondary);margin-top:4px;font-size:9.5px;font-weight:800}.rfx-stat-sub{color:var(--text-tertiary);font-size:9.5px}.rfx-stat-bad:after,.rfx-stat-warn:after{content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:12px;right:12px}.rfx-stat-bad:after{background:#d45050;animation:2s infinite rfx-pulse}.rfx-stat-warn:after{background:#e6a03c}@keyframes rfx-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.rfx-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.rfx-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.rfx-card-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text-primary);font-size:16px}.rfx-card-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rfx-pill{letter-spacing:.4px;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:14px;padding:4px 12px;font-size:10px;font-weight:700;transition:all .12s}.rfx-pill:hover{border-color:var(--text-tertiary)}.rfx-pill.active{background:var(--text-primary);color:var(--card);border-color:var(--text-primary)}.rfx-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;padding:2px;display:grid}.rfx-more-tile{cursor:pointer;border:1px dashed var(--border);min-height:72px;color:var(--text-tertiary);letter-spacing:.5px;text-transform:uppercase;background:0 0;border-radius:10px;justify-content:center;align-items:center;font-size:11px;font-weight:800;transition:color .12s,border-color .12s,background .12s;display:flex}.rfx-more-tile:hover{color:var(--text-primary);border-color:var(--text-tertiary);background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.rfx-more-tile:hover{background:color-mix(in srgb, var(--text-primary) 3%, transparent)}}.rfx-key{gap:14px;margin-top:5px;display:flex}.rfx-key-item{letter-spacing:.5px;text-transform:uppercase;color:#8a877f;align-items:center;gap:5px;font-size:9.5px;font-weight:700;display:inline-flex}.rfx-key-dot{border-radius:50%;width:8px;height:8px}.rfx-key-major{background:#d45050}.rfx-key-minor{background:#e6a03c}.rfx-aware-section{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}.rfx-aware-btn{cursor:pointer;text-align:center;letter-spacing:.7px;text-transform:uppercase;color:#8a877f;background:0 0;border:none;width:100%;padding:4px 0 6px;font-size:10px;font-weight:800;transition:color .12s;display:block}.rfx-aware-btn:hover{color:#141414}.rfx-aware-grid{margin-top:8px}.rfx-flag{cursor:pointer}.rfx-flag-open{grid-column:1/-1;box-shadow:0 8px 24px #00000014}.rfx-flag-open:hover{transform:none}.rfx-item-proj{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:130px;font-weight:800;overflow:hidden}.rfx-flag-item{color:inherit;text-decoration:none}.rfx-item-link{border-radius:6px;margin:-2px -4px;padding:2px 4px}.rfx-item-link:hover{background:#0000000d}.rfx-item-link:hover .rfx-item-label{text-decoration:underline}.rfx-flag-open .rfx-item-proj{max-width:220px}.rfx-cov-chip{letter-spacing:.3px;color:#2e7d32;background:#2e7d3217;border-radius:8px;align-self:flex-start;padding:3px 8px;font-size:9.5px;font-weight:800}.rfx-cov-list{flex-direction:column;gap:3px;display:flex}.rfx-cov-line{color:#2e7d32;align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.rfx-cov-check{background:#2e7d321f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:800;display:inline-flex}.rfx-note-peek{color:#8a877f;white-space:nowrap;text-overflow:ellipsis;border-top:1px dashed var(--border);padding-top:6px;font-size:10px;font-style:italic;overflow:hidden}.rfx-note-block{border-top:1px dashed var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.rfx-note-view{flex-direction:column;gap:3px;display:flex}.rfx-note-text{color:#55534d;font-size:11px;font-style:italic;line-height:1.4}.rfx-note-meta{color:#8a877f;align-items:center;gap:8px;font-size:9.5px;font-weight:700;display:flex}.rfx-note-edit{cursor:pointer;letter-spacing:.5px;text-transform:uppercase;color:#8a877f;background:0 0;border:none;padding:0;font-size:9px;font-weight:800}.rfx-note-edit:hover{color:#141414}.rfx-note-add{border:1px dashed var(--border);cursor:pointer;color:#8a877f;background:0 0;border-radius:8px;align-self:flex-start;padding:3px 10px;font-size:10px;font-weight:700}.rfx-note-add:hover{color:#141414;border-color:#8a877f}.rfx-note-input{resize:vertical;width:100%;font:inherit;border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;line-height:1.4}.rfx-note-input:focus{border-color:#8a877f;outline:none}.rfx-note-actions{gap:8px;display:flex}.rfx-note-save{cursor:pointer;background:var(--text,#141414);color:#fff;letter-spacing:.4px;border:none;border-radius:8px;padding:4px 12px;font-size:10px;font-weight:800}.rfx-note-cancel{cursor:pointer;color:#8a877f;background:0 0;border:none;font-size:10px;font-weight:700}.rfx-flag-timeline{cursor:pointer;letter-spacing:.5px;text-transform:uppercase;color:#8a877f;background:0 0;border:none;align-self:flex-end;padding:0;font-size:9.5px;font-weight:800}.rfx-flag-timeline:hover{color:#141414}.rd-glance{padding:2px}.rd-glance .rd-row{border-bottom:none;padding:4px 2px}.rd-proj-tag{letter-spacing:.4px;text-transform:uppercase;color:#8a877f;white-space:nowrap;background:#0000000d;border-radius:6px;margin-left:7px;padding:1px 6px;font-size:8.5px;font-weight:800}.rfx-flag{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--text-primary);border-left-width:4px;border-radius:10px;min-width:0;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.rfx-flag{background:color-mix(in srgb, var(--text-primary) 1.5%, transparent)}}.rfx-flag{flex-direction:column;gap:7px;transition:transform .12s,box-shadow .12s;display:flex}.rfx-flag:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000017}.rfx-major{border-left-color:#d45050}.rfx-minor{border-left-color:#e6a03c}.rfx-aware{opacity:.68;border-left-style:dashed}.rfx-flag-top{align-items:center;gap:8px;display:flex}.rfx-avatar{letter-spacing:.3px;background:var(--text-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:9.5px;font-weight:800;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.rfx-avatar{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}}.rfx-avatar{color:var(--text-primary)}.rfx-flag-who{flex-direction:column;min-width:0;line-height:1.2;display:flex}.rfx-flag-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.rfx-flag-role{letter-spacing:.4px;color:var(--text-tertiary);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;font-weight:700;overflow:hidden}.rfx-flag-week{letter-spacing:.6px;color:var(--text-tertiary);border:1px solid var(--border);border-radius:8px;flex:none;margin-left:auto;padding:2px 6px;font-size:8px;font-weight:800}.rfx-week-now{color:#c62828;border-color:#d4505066}.rfx-flag-summary{color:var(--text-primary);font-size:11.5px;font-weight:700;line-height:1.3}.rfx-major .rfx-flag-summary{color:#c62828}.rfx-minor .rfx-flag-summary{color:#b07020}.rfx-flag-items{flex-direction:column;gap:3px;display:flex}.rfx-flag-item{color:var(--text-secondary);align-items:center;gap:5px;min-width:0;font-size:10px;display:flex}.rfx-item-kind{background:var(--text-primary);border-radius:3px;flex:none;padding:1px 4px;font-size:7.5px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.rfx-item-kind{background:color-mix(in srgb, var(--text-primary) 7%, transparent)}}.rfx-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rfx-item-date{color:var(--text-tertiary);flex:none;margin-left:auto;font-size:8.5px;font-weight:700}.rfx-flag-more{color:var(--text-tertiary);font-size:9px;font-weight:700}.rfx-clear{color:var(--text-tertiary);align-items:center;gap:10px;padding:14px 4px;font-size:12px;display:flex}.rfx-clear-mark{color:#2e7d32;background:#2e7d321a;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:800;display:inline-flex}.rd-cols{column-width:380px;column-gap:14px;padding:2px}.rd-group-panel{break-inside:avoid;-webkit-column-break-inside:avoid;border:1px solid var(--border);background:var(--text-primary);border-radius:10px;margin:0 0 10px;padding:8px 12px 10px!important}@supports (color:color-mix(in lab, red, red)){.rd-group-panel{background:color-mix(in srgb, var(--text-primary) 1.5%, transparent)}}.rd-cols .rd-group+.rd-group{border-top:none;margin-top:0;padding-top:8px}.rd-cols .rd-text{white-space:normal;text-overflow:unset;overflow:visible}.rd-cols .rd-row{align-items:flex-start}.rd-cols .rd-time{flex:none}.rfx-switch{cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:4px 2px;display:inline-flex}.rfx-switch-track{background:#d8d5ce;border-radius:17px;flex:none;width:30px;height:17px;transition:background .18s;position:relative}.rfx-switch-knob{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .18s cubic-bezier(.2,.9,.3,1.2);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.rfx-switch.on .rfx-switch-track{background:var(--text,#141414)}.rfx-switch.on .rfx-switch-knob{transform:translate(13px)}.rfx-switch-label{letter-spacing:.6px;text-transform:uppercase;color:#8a877f;font-size:10px;font-weight:800;transition:color .15s}.rfx-switch:hover .rfx-switch-label{color:#55534d}.rfx-switch.on .rfx-switch-label{color:var(--text,#141414)}.pl-acct-row td{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.8px;color:var(--text-primary);background:var(--text-primary);font-size:13px;border-bottom:none!important;padding:10px 10px 5px!important}@supports (color:color-mix(in lab, red, red)){.pl-acct-row td{background:color-mix(in srgb, var(--text-primary) 2%, transparent)}}.pl-acct-count{color:var(--text-tertiary);letter-spacing:0;margin-left:6px;font-family:inherit;font-size:10px}.pl-proj-tr{transition:background .12s}.pl-proj-tr:hover{background:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.pl-proj-tr:hover{background:color-mix(in srgb, var(--text-primary) 2.5%, transparent)}}.pl-proj-meta{align-items:center;gap:8px;margin-top:3px;display:flex}.pl-dept-pam{background:#2e7d3206}.pl-dept-creative{background:#1565c006}.pl-dept-production{background:#e6510008}.pl-gap-chips button{cursor:pointer;appearance:none;letter-spacing:.3px;border:none;font-size:10px;font-weight:700;line-height:1.4}.pl-slot-av{letter-spacing:.2px;background:var(--text-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:8.5px;font-weight:800;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.pl-slot-av{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}}.pl-slot-av{color:var(--text-primary);cursor:pointer;border:none;transition:transform .1s}.pl-slot-av:hover{transform:scale(1.12)}.pl-slot-av-lead{color:#8a5a14;background:#b0702029}.pl-av-star{color:#b07020;background:var(--card);border-radius:50%;width:12px;height:12px;font-size:9px;line-height:12px;position:absolute;top:-4px;right:-4px}.pl-slot-av-open{border:1px dashed var(--border);color:var(--text-tertiary);cursor:default;background:0 0}@keyframes rg-flash{0%{box-shadow:0 0 0 3px #d450508c}to{box-shadow:0 0 0 3px #d4505000}}.rg-focus-flash{border-radius:10px;animation:2.2s rg-flash}.rg-person-card{transition:box-shadow .12s}.rg-person-card:hover{box-shadow:0 4px 14px #0000000f}.dg-shell{color:#141414;min-height:100vh;font-family:var(--font-inter), Inter, sans-serif;background:#f5f4f1}.dg-masthead{color:#f5f4f1;background:#1c4a2e;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px clamp(20px,6vw,72px) 20px;display:flex}.dg-wordmark{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:3px;font-size:clamp(28px,4.5vw,40px);line-height:.95}.dg-masthead-sub{letter-spacing:3px;color:#f5f4f199;margin-top:6px;font-size:10px;font-weight:700}.dg-person{align-items:center;gap:12px;display:flex}.dg-avatar{letter-spacing:.5px;color:#f5f4f1;background:#f5f4f11f;border:1px solid #f5f4f140;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:inline-flex}.dg-avatar-sm{color:#141414;background:#14141412;border:none;width:26px;height:26px;font-size:9.5px}.dg-person-meta{flex-direction:column;line-height:1.25;display:flex}.dg-person-name{font-size:15px;font-weight:700}.dg-person-title{letter-spacing:1.2px;text-transform:uppercase;color:#f5f4f18c;font-size:10px;font-weight:600}.dg-body{max-width:1080px;margin:0 auto;padding:34px clamp(16px,4vw,40px) 60px}.dg-blurb{border-left:3px solid #2d8a4e;max-width:860px;margin-bottom:42px;padding:4px 0 4px 22px;font-size:clamp(16px,2.2vw,19px);font-weight:500;line-height:1.65}.dg-section-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2.5px;align-items:center;gap:12px;margin:40px 0 14px;font-size:19px;display:flex}.dg-section-label:after{content:"";background:#dcd9d2;flex:1;height:1px}.dg-days{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}@media (max-width:860px){.dg-days{grid-template-columns:1fr}}.dg-day{background:#fff;border:1px solid #e4e2dc;border-radius:12px;min-height:120px;padding:12px 13px;transition:box-shadow .15s}.dg-day-today{border-color:#2d8a4e;box-shadow:0 6px 18px #2d8a4e24}.dg-day-big{border-width:2px;border-color:#141414}.dg-day-head{align-items:baseline;gap:6px;margin-bottom:10px;display:flex}.dg-day-name{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1.5px;font-size:16px}.dg-day-date{letter-spacing:.8px;color:#8a877f;font-size:9.5px;font-weight:700}.dg-day-badge{letter-spacing:.8px;color:#f5f4f1;background:#2d8a4e;border-radius:7px;margin-left:auto;padding:2px 7px;font-size:8px;font-weight:800}.dg-badge-big{background:#d45050}.dg-day-items{flex-direction:column;gap:9px;display:flex}.dg-day-proj{min-width:0}.dg-day-projname{letter-spacing:.4px;text-transform:uppercase;color:#55534d;align-items:center;gap:6px;margin-bottom:2px;font-size:10px;font-weight:800;display:flex}.dg-day-ms{color:#33322e;padding-left:13px;font-size:12px;line-height:1.45}.dg-ms-exec{color:#141414;font-weight:700}.dg-day-empty{color:#b4b2a9;font-size:12px}.dg-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dg-dot-lg{width:9px;height:9px}.dg-projects{flex-direction:column;gap:8px;display:flex}.dg-proj{background:#fff;border:1px solid #e4e2dc;border-radius:12px;transition:box-shadow .15s;overflow:hidden}.dg-proj:hover{box-shadow:0 4px 14px #0000000d}.dg-proj-open{box-shadow:0 8px 22px #00000012}.dg-proj-row{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;min-width:0;padding:15px 18px;font-family:inherit;display:flex}.dg-proj-name{color:#141414;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.dg-proj-role{letter-spacing:.7px;text-transform:uppercase;color:#8a877f;background:#f1efe8;border-radius:7px;flex:none;padding:3px 8px;font-size:9px;font-weight:800}.dg-proj-next{color:#55534d;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11.5px;overflow:hidden}.dg-proj-toggle{letter-spacing:.7px;text-transform:uppercase;color:#141414;flex:none;font-size:9.5px;font-weight:800}.dg-workback{column-width:300px;border-top:1px solid #eeece6;column-gap:34px;padding:14px 18px 18px}.dg-wb-month{break-inside:avoid;margin-bottom:14px}.dg-wb-monthname{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:#8a877f;margin-bottom:5px;font-size:14px}.dg-wb-row{gap:10px;font-size:12px;line-height:1.7;display:flex}.dg-wb-date{color:#55534d;font-variant-numeric:tabular-nums;flex:none;width:74px;font-weight:700}.dg-wb-label{color:#33322e}.dg-wb-exec .dg-wb-label{color:#141414;font-weight:700}.dg-wb-past{opacity:.42}.dg-pto-header{justify-content:space-between}.dg-pto-header:after{display:none}.dg-pto-header span:first-child{flex:1;align-items:center;gap:12px;display:flex}.dg-pto-header span:first-child:after{content:"";background:#dcd9d2;flex:1;height:1px}.dg-toggle{cursor:pointer;letter-spacing:.6px;text-transform:uppercase;color:#55534d;background:0 0;border:1px solid #cfccc4;border-radius:16px;flex:none;padding:5px 13px;font-family:inherit;font-size:10px;font-weight:800;transition:all .14s}.dg-toggle:hover{color:#141414;border-color:#141414}.dg-pto{background:#fff;border:1px solid #e4e2dc;border-radius:12px;padding:6px 18px}.dg-pto-row{padding:12px 0}.dg-pto-row+.dg-pto-row{border-top:1px solid #eeece6}.dg-pto-head{align-items:center;gap:10px;display:flex}.dg-pto-name{font-size:13.5px;font-weight:700}.dg-pto-tag{letter-spacing:.7px;color:#55534d;background:#f1efe8;border-radius:7px;padding:2px 8px;font-size:8.5px;font-weight:800}.dg-tag-travel{color:#185fa5;background:#e6f1fb}.dg-pto-range{color:#55534d;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px;font-weight:700}.dg-pto-shared{flex-direction:column;gap:4px;margin:8px 0 0 36px;display:flex}.dg-pto-proj{color:#33322e;align-items:center;gap:7px;font-size:12px;display:flex}.dg-pto-projname{font-weight:600}.dg-cov-ok{color:#2e7d32;font-size:11px;font-weight:700}.dg-cov-open{color:#c62828;font-size:11px;font-weight:700}.dg-empty{color:#8a877f;padding:14px 2px;font-size:12.5px;font-style:italic}.dg-nextweek-bar{justify-content:center;margin-top:44px;display:flex}.dg-nextweek-btn{cursor:pointer;font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:#55534d;background:0 0;border:1px solid #cfccc4;border-radius:20px;padding:9px 26px;font-size:15px;transition:all .14s}.dg-nextweek-btn:hover{color:#1c4a2e;border-color:#1c4a2e}.dg-nextweek{animation:.25s dgSlide}@keyframes dgSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dg-footer{flex-direction:column;align-items:center;gap:6px;margin-top:56px;display:flex}.dg-footer-mark{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:6px;color:#cfccc4;font-size:26px}.dg-footer-note{letter-spacing:1px;text-transform:uppercase;color:#b4b2a9;font-size:9.5px;font-weight:700}.dg-invalid{text-align:center;color:#55534d;max-width:560px;margin:80px auto;padding:0 20px;font-size:15px}.dgm-list{border:1px solid var(--border);border-radius:8px;max-height:260px;margin-top:8px;overflow-y:auto}.dgm-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px;display:flex}.dgm-item:hover{background:#0000000a}.dgm-item+.dgm-item{border-top:1px solid var(--border)}.dgm-link-box{gap:8px;margin-top:14px;display:flex}.dgm-link-input{border:1px solid var(--border);color:#333;background:#faf9f7;border-radius:8px;flex:1;padding:9px 11px;font-family:inherit;font-size:12px}.dgm-copy{cursor:pointer;color:#fff;letter-spacing:.5px;background:#141414;border:none;border-radius:8px;padding:0 16px;font-family:inherit;font-size:11px;font-weight:800}.sp-pad{padding:0;overflow:hidden}.sp-pad-head{cursor:pointer;text-align:left;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:16px 20px;font-family:inherit;display:flex}.sp-pad-head:hover .sp-pad-arrow{color:#141414}.sp-pad-lock{letter-spacing:.8px;color:#1c4a2e;background:#2d8a4e1f;border-radius:8px;flex:none;padding:3px 9px;font-size:8.5px;font-weight:800}.sp-pad-sub{color:#8a877f;flex:1;min-width:220px;font-size:11px}.sp-pad-arrow{color:#8a877f;flex:none;font-size:12px}.sp-pad-body{padding:0 20px 20px}.sp-pad-empty{color:#8a877f;padding:16px 2px;font-size:12.5px;font-style:italic}.sp-pad-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.sp-tab{cursor:pointer;border:1px solid var(--border);color:#55534d;background:#fff;border-radius:16px;align-items:center;gap:6px;padding:6px 15px;font-family:inherit;font-size:11.5px;font-weight:700;transition:all .13s;display:inline-flex}.sp-tab:hover{color:#141414;border-color:#b4b2a9}.sp-tab.active{color:#f5f4f1;background:#141414;border-color:#141414}.sp-tab-dot{background:#2d8a4e;border-radius:50%;width:5px;height:5px}.sp-tab.active .sp-tab-dot{background:#7fd6a1}.sp-save-state{color:#b4b2a9;margin-left:auto;font-size:10.5px;font-weight:600}.sp-save-state.saving{color:#8a877f;font-style:italic}.sp-save-state.saved{color:#2d8a4e;font-weight:700}.sp-editor{border:1px solid var(--border);background:#fff;border-radius:12px;transition:box-shadow .15s,border-color .15s;overflow:hidden}.sp-editor:focus-within{border-color:#b4b2a9;box-shadow:0 6px 20px #0000000d}.sp-editor-body{resize:vertical;width:100%;min-height:240px;color:var(--text);background:0 0;border:none;outline:none;padding:16px 18px;font-family:inherit;font-size:13.5px;line-height:1.7;display:block}.sp-editor-body::placeholder{color:#b4b2a9}.sp-editor-foot{background:#fbfaf8;border-top:1px solid #f1efe8;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.sp-share-summary{min-width:0;font-size:11px}.sp-share-private{color:#8a877f;font-weight:600}.sp-share-with{color:#1c4a2e;font-weight:700}.sp-share-btn{cursor:pointer;letter-spacing:.4px;color:#55534d;background:#fff;border:1px solid #cfccc4;border-radius:14px;flex:none;padding:5px 14px;font-family:inherit;font-size:10.5px;font-weight:800;transition:all .13s}.sp-share-btn:hover:not(:disabled){color:#1c4a2e;border-color:#1c4a2e}.sp-share-btn:disabled{opacity:.45;cursor:default}.sp-share-box{background:#fbfaf8;border-top:1px solid #f1efe8;padding:12px 14px}.sp-share-chips{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.sp-share-chip{color:#1c4a2e;background:#2d8a4e1c;border-radius:12px;align-items:center;gap:4px;padding:4px 6px 4px 11px;font-size:11px;font-weight:700;display:inline-flex}.sp-share-chip button{cursor:pointer;color:#1c4a2e;background:0 0;border:none;padding:0 3px;font-size:13px;line-height:1}.sp-share-chip button:hover{color:#d45050}.sp-share-none{color:#8a877f;font-size:11px;font-style:italic}.sp-share-input{border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;width:100%;padding:8px 11px;font-family:inherit;font-size:12px}.sp-share-input:focus{border-color:#8a877f}.sp-share-suggest{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;margin-top:4px;display:flex;overflow:hidden}.sp-share-suggest button{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;padding:8px 11px;font-family:inherit;font-size:12px;font-weight:600}.sp-share-suggest button+button{border-top:1px solid #f1efe8}.sp-share-suggest button:hover{background:#f6f5f2}.sp-share-suggest button span{color:#8a877f;margin-left:7px;font-size:11px;font-weight:400}.sp-share-hint{color:#8a877f;padding:8px 11px;font-size:11px}.sp-shared-section{margin-top:14px}.sp-shared-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:#8a877f;margin-bottom:7px;font-size:13px}.sp-shared-note{border:1px solid var(--border);background:#fff;border-left:3px solid #185fa5;border-radius:0 10px 10px 0;padding:10px 14px}.sp-shared-note+.sp-shared-note{margin-top:8px}.sp-shared-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.sp-shared-from{letter-spacing:.5px;text-transform:uppercase;color:#185fa5;font-size:10px;font-weight:800}.sp-shared-time{color:#b4b2a9;font-size:10px}.sp-shared-body{color:#33322e;white-space:pre-wrap;font-size:12.5px;line-height:1.65}.rwb-page{flex-direction:column;min-height:calc(100vh - 150px);display:flex}.rwb-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:4px 0 14px;display:flex}.rwb-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;font-size:28px}.rwb-subtitle{color:#8a877f;margin-top:2px;font-size:11px;display:block}.rwb-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rwb-zoom{border:1px solid var(--border);background:#fff;border-radius:18px;align-items:center;gap:2px;padding:2px;display:inline-flex}.rwb-zoom button{cursor:pointer;color:#55534d;background:0 0;border:none;border-radius:50%;width:28px;height:28px;font-size:15px;font-weight:700;transition:background .12s}.rwb-zoom button:hover{color:#141414;background:#f1efe8}.rwb-zoom span{color:#55534d;text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:11px;font-weight:700}.rwb-gantt-btn{font-weight:700}.rwb-rolefilter{flex-wrap:wrap;align-items:center;gap:7px;padding:2px 2px 12px;animation:.22s rwbSlideIn;display:flex}@keyframes rwbSlideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.rwb-rolefilter-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:#8a877f;margin-right:4px;font-size:12px}.rwb-rolepill{cursor:pointer;border:1px solid var(--border);color:#55534d;background:#fff;border-radius:15px;align-items:center;gap:6px;padding:5px 7px 5px 13px;font-family:inherit;font-size:11px;font-weight:700;transition:all .13s;animation:.25s cubic-bezier(.3,1.2,.5,1) both rwbPillIn;display:inline-flex}@keyframes rwbPillIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rwb-rolepill:hover{color:#141414;border-color:#b4b2a9;transform:translateY(-1px)}.rwb-rolepill.active{color:#f5f4f1;background:#141414;border-color:#141414}.rwb-rolepill-n{color:#8a877f;background:#f1efe8;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:800}.rwb-rolepill.active .rwb-rolepill-n{color:#f5f4f1;background:#f5f4f12e}.st-card{background:#fff;border:1px solid #e3e1d8;border-radius:14px;margin-bottom:18px;padding:16px 20px 8px}.st-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.st-now{text-align:right}.st-now-num{color:#141414;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1;display:block}.st-now-sub{letter-spacing:.7px;color:#8a877f;margin-top:4px;font-size:9.5px;font-weight:700;display:block}.st-leg-line{background:#141414;border-radius:1px;width:14px;height:2px;display:inline-block}.st-empty{color:#8a877f;padding:10px 2px 12px;font-size:11.5px}.srs-controls{align-items:center;gap:12px;display:flex}.srs-badge{text-align:right;border-radius:10px;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 14px;display:flex}.srs-badge-num{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1}.srs-badge-sub{letter-spacing:.8px;font-size:9px;font-weight:800}.srs-detail{font-variant-numeric:tabular-nums;background:#faf9f6;border:1px solid #e9e7de;border-radius:8px;flex-wrap:wrap;gap:26px;margin:12px 0 6px;padding:9px 14px;display:flex}.srs-detail>div{flex-direction:column;gap:2px;display:flex}.srs-d-label{letter-spacing:.9px;color:#b4b2a9;font-size:9px;font-weight:800}.srs-d-val{color:#141414;font-size:14px;font-weight:700}.srs-fees-toggle:hover{opacity:.75!important}.person-booked-thru{letter-spacing:.4px;text-transform:uppercase;color:#6d6a62;background:#f1efe8;border:1px solid #e3e1d8;border-radius:6px;align-items:center;gap:6px;margin-top:7px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.person-booked-thru .pbt-dot{background:#8a877f;border-radius:50%;width:6px;height:6px}.person-booked-thru.soon{color:#8a6414;background:#faf3e0;border-color:#ecd9a8}.person-booked-thru.soon .pbt-dot{background:#e6a03c}.person-booked-thru.urgent,.person-booked-thru.ended{color:#9c3535;background:#faeaea;border-color:#eccaca}.person-booked-thru.urgent .pbt-dot,.person-booked-thru.ended .pbt-dot{background:#d45050}.rg-contract-line{z-index:6;pointer-events:none;border-left:2px dashed #d45050;width:0;position:absolute;top:0;bottom:0}.rg-contract-label{letter-spacing:.6px;color:#9c3535;white-space:nowrap;background:#faeaeaeb;border:1px solid #eccaca;border-radius:4px;padding:1px 5px;font-size:8px;font-weight:800;position:absolute;top:2px;left:4px}.rg-contract-after{z-index:5;pointer-events:none;background:repeating-linear-gradient(-45deg,#d450500d,#d450500d 6px,#0000 6px 12px);position:absolute;top:0;bottom:0;right:0}.rwb-legend{flex-wrap:wrap;align-items:center;gap:14px;padding:0 2px 12px;display:flex}.rwb-leg-key{letter-spacing:1.2px;color:#b4b2a9;font-size:9px;font-weight:800}.rwb-leg-sep{background:#dedcd3;width:1px;height:12px}.rwb-leg{letter-spacing:.55px;color:#6d6a62;cursor:default;align-items:center;gap:6px;font-size:9.5px;font-weight:700;display:inline-flex}.rwb-leg-dot{border-radius:50%;width:8px;height:8px}.rwb-leg-chip{letter-spacing:.5px;color:#8a877f;border:1px dashed #b4b2a9;border-radius:6px;padding:1px 5px;font-size:8px;font-weight:800}.rwb-leg-halo{border-radius:4px;width:12px;height:12px}.rwb-leg-star{color:#b8860b;font-size:13px}.rwb-lead-star{color:#b8860b;flex:none;font-size:11px}.rwb-make-lead{cursor:pointer;color:#b8860b;background:#f7f3e7;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1}.rwb-make-lead:hover{color:#fff;background:#b8860b}.rwb-na-btn{cursor:pointer;color:inherit;letter-spacing:.5px;background:0 0;border:1px dashed;border-radius:8px;margin-left:8px;padding:1px 7px;font-family:inherit;font-size:8px;font-weight:800}.rwb-na-btn:hover{background:#0000000f}.rwb-na-chip{letter-spacing:.5px;color:#8a877f;background:#f1efe8;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:3px 5px 3px 9px;font-size:8.5px;font-weight:800;display:inline-flex}.rwb-na-chip button{cursor:pointer;color:#8a877f;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.rwb-na-chip button:hover{color:#d45050}.rwb-leg-halo-none{border:2px solid #d45050;box-shadow:0 0 0 3px #d4505040}.rwb-leg-halo-planned{border:2px solid #e6a03c;box-shadow:0 0 0 3px #e6a03c40}.rwb-stage{flex:1;align-items:flex-start;gap:14px;min-height:0;display:flex}.rwb-viewport{border:1px solid var(--border);background:#fbfaf7 radial-gradient(circle,#dedbd3 1px,#0000 1px) 0 0/22px 22px;border-radius:14px;flex:1;min-width:0;min-height:480px;overflow-x:auto}.rwb-canvas{transform-origin:0 0;padding:22px;transition:transform .22s cubic-bezier(.25,.9,.3,1)}.rwb-loading{color:#8a877f;padding:40px;font-size:13px;font-style:italic}.rwb-section{margin-bottom:26px}.rwb-section-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2.5px;color:#55534d;align-items:center;gap:9px;margin-bottom:10px;font-size:17px;display:flex}.rwb-section-label:after{content:"";background:#e0ddd5;flex:1;height:1px}.rwb-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.rwb-person{background:#fff;border:1px solid #e4e2dc;border-radius:14px;flex-direction:column;gap:8px;padding:12px 13px 10px;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;box-shadow:0 1px 3px #1414140a}.rwb-person:hover{box-shadow:0 8px 22px #14141414}.rwb-person.rwb-target{border-color:#2d8a4e;transform:scale(1.02);box-shadow:0 0 0 3px #2d8a4e38,0 10px 26px #2d8a4e2e}.rwb-st-green{border-color:#2d8a4e8c;box-shadow:0 0 0 2px #2d8a4e29}.rwb-st-orange{border-color:#e6a03c99;box-shadow:0 0 0 2px #e6a03c2e}.rwb-st-red{border-color:#d450508c;box-shadow:0 0 0 2px #d4505029}.rwb-person-head{align-items:center;gap:9px;display:flex}.rwb-avatar{color:#141414;letter-spacing:.3px;background:#f1efe8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;transition:box-shadow .15s;display:inline-flex}.rwb-avatar-sm{width:24px;height:24px;font-size:9px}.rwb-avatar-green{box-shadow:0 0 0 2px #fff,0 0 0 4px #2d8a4e}.rwb-avatar-orange{box-shadow:0 0 0 2px #fff,0 0 0 4px #e6a03c}.rwb-avatar-red{box-shadow:0 0 0 2px #fff,0 0 0 4px #d45050}.rwb-person-who{flex-direction:column;min-width:0;line-height:1.25;display:flex}.rwb-person-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.rwb-person-title{letter-spacing:.5px;text-transform:uppercase;color:#8a877f;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700;overflow:hidden}.rwb-status{cursor:pointer;background:0 0;border:1.5px dashed #cfccc4;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;transition:all .13s;display:inline-flex}.rwb-status:hover{border-color:#8a877f;transform:scale(1.12)}.rwb-status-dot{background:0 0;border-radius:50%;width:10px;height:10px;transition:background .13s}.rwb-status-green{border-style:solid;border-color:#2d8a4e}.rwb-status-green .rwb-status-dot{background:#2d8a4e}.rwb-status-orange{border-style:solid;border-color:#e6a03c}.rwb-status-orange .rwb-status-dot{background:#e6a03c}.rwb-status-red{border-style:solid;border-color:#d45050}.rwb-status-red .rwb-status-dot{background:#d45050}.rwb-load{align-items:center;gap:8px;display:flex}.rwb-load-bar{background:#f1efe8;border-radius:4px;flex:1;height:4px;overflow:hidden}.rwb-load-fill{background:#2d8a4e;border-radius:4px;height:100%;transition:width .3s;display:block}.rwb-load-fill.hot{background:#d45050}.rwb-load-num{color:#8a877f;font-variant-numeric:tabular-nums;font-size:9.5px;font-weight:700}.rwb-person-body{flex-direction:column;gap:5px;display:flex}.rwb-chip{border-radius:9px;align-items:center;gap:7px;min-width:0;padding:5px 9px;font-size:11px;display:flex}.rwb-chip-real{color:#33322e;background:#f7f6f2}.rwb-chip-planned{color:#141414;background:#fff;border:1.5px dashed #9ec8ab;animation:.22s cubic-bezier(.3,1.4,.5,1) rwbPop}@keyframes rwbPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.rwb-chip-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.rwb-chip-hrs{color:#5b6672;letter-spacing:.2px;background:#78869624;border-radius:5px;flex:none;margin-left:2px;padding:1px 5px;font-size:10px;font-weight:700}.rwb-chip-tag{letter-spacing:.6px;color:#1c4a2e;background:#2d8a4e1f;border-radius:5px;flex:none;padding:2px 5px;font-size:7.5px;font-weight:800}.rwb-chip-actions{flex:none;gap:3px;display:inline-flex}.rwb-chip-confirm{cursor:pointer;color:#fff;background:#2d8a4e;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;font-weight:800;line-height:1;transition:transform .12s,background .12s}.rwb-chip-confirm:hover{background:#1c4a2e;transform:scale(1.15)}.rwb-chip-remove{cursor:pointer;color:#8a877f;background:#f1efe8;border:none;border-radius:50%;width:20px;height:20px;font-size:12px;line-height:1}.rwb-chip-remove:hover{color:#d45050;background:#fce9e9}.rwb-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.rwb-chip-col{flex-direction:column;align-items:stretch;gap:2px}.rwb-chip-row{align-items:center;gap:7px;min-width:0;display:flex}.rwb-chip-gantt{opacity:.8;padding-left:15px}.rwb-chip-gantt .mini-gantt{padding:1px 0}.rwb-chip-gantt .mini-gantt-track{background:#0000000f;border-radius:2px;height:3px}.rwb-chip-gantt .mini-gantt-today-pin{transform:scale(.75)}.rwb-dot-lg{width:10px;height:10px}.rwb-dropzone{letter-spacing:.5px;text-transform:uppercase;color:#c4c1b8;text-align:center;border:1.5px dashed #dedbd3;border-radius:9px;padding:6px;font-size:9.5px;font-weight:700;transition:all .15s}.rwb-armed{color:#2d8a4e;background:#2d8a4e0d;border-color:#2d8a4e}.rwb-proj{background:#fff;border:1px solid #e4e2dc;border-radius:14px;flex-direction:column;gap:8px;padding:12px 13px 10px;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;box-shadow:0 1px 3px #1414140a}.rwb-proj:hover{box-shadow:0 8px 22px #14141414}.rwb-proj.rwb-target{border-color:#2d8a4e;transform:scale(1.02);box-shadow:0 0 0 3px #2d8a4e38,0 10px 26px #2d8a4e2e}.rwb-proj-head{align-items:center;gap:8px;min-width:0;display:flex}.rwb-proj-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.rwb-proj-name-link,.rwb-chip-label-link{cursor:pointer}.rwb-proj-name-link:hover,.rwb-chip-label-link:hover{text-underline-offset:2px;text-decoration:underline}.rwb-open-spin{opacity:.6;font-weight:600}.rwb-proj-pill{letter-spacing:.6px;border-radius:6px;flex:none;margin-left:auto;padding:2px 7px;font-size:7.5px;font-weight:800}.rwb-pill-awarded{color:#1c4a2e;background:#e8f3ec}.rwb-pill-potential{color:#534ab7;background:#f3edfb}.rwb-pill-rfp{color:#854f0b;background:#fdf1e3}.rwb-proj-body{flex-direction:column;gap:5px;display:flex}.rwb-tinyperson{color:#55534d;align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}.rwb-tiny-avatar{background:#f1efe8;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:7px;font-weight:800;display:inline-flex}.rwb-tiny-name{font-weight:700}.rwb-tiny-title{letter-spacing:.4px;text-transform:uppercase;color:#b4b2a9;white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:8px;font-weight:700;overflow:hidden}.rwb-more{color:#8a877f;font-size:9.5px;font-weight:700}.rwb-mini-count{color:#8a877f;font-size:10px;font-weight:700}.rwb-expandable{cursor:pointer}.rwb-morechips{cursor:pointer;letter-spacing:.5px;text-transform:uppercase;color:#55534d;background:#f1efe8;border:none;border-radius:9px;align-self:flex-start;padding:4px 11px;font-family:inherit;font-size:9.5px;font-weight:800;transition:all .12s}.rwb-morechips:hover{color:#f5f4f1;background:#141414}.rwb-halo{animation:2.2s ease-in-out infinite rwbHalo}.rwb-halo-none{--hc:212, 80, 80;border-color:#d45050!important}.rwb-halo-planned{--hc:230, 160, 60;border-color:#e6a03c!important}@keyframes rwbHalo{0%,to{box-shadow:0 0 0 3px rgba(var(--hc), .28), 0 0 18px rgba(var(--hc), .3)}50%{box-shadow:0 0 0 4px rgba(var(--hc), .42), 0 0 26px rgba(var(--hc), .5)}}.rwb-halo-note{letter-spacing:.8px;font-size:8.5px;font-weight:800}.rwb-halo-note-none{color:#c62828}.rwb-halo-note-planned{color:#b47410}.rwb-dir{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;flex:0 0 250px;height:calc(100vh - 24px);max-height:calc(100vh - 24px);display:flex;position:sticky;top:12px;overflow:hidden}.rwb-dir-head{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:13px 15px 9px;font-size:16px;display:flex}.rwb-dir-hint{font-family:var(--font-inter), Inter, sans-serif;letter-spacing:.3px;color:#b4b2a9;text-transform:none;font-size:9px;font-weight:600}.rwb-dir-scroll{flex:1;padding:8px 10px 14px;overflow-y:auto}.rwb-dir-dept{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;color:#8a877f;margin:12px 4px 4px;font-size:13px}.rwb-dir-group{letter-spacing:.8px;text-transform:uppercase;color:#b4b2a9;margin:8px 4px 3px;font-size:8.5px;font-weight:800}.rwb-dir-person{cursor:grab;border-radius:9px;align-items:center;gap:8px;padding:6px 8px;transition:background .12s,transform .12s;display:flex}.rwb-dir-person:hover{background:#f7f6f2;transform:translate(2px)}.rwb-dir-person:active{cursor:grabbing}.rwb-dir-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.rwb-dir-load{color:#b4b2a9;font-variant-numeric:tabular-nums;flex:none;font-size:9.5px;font-weight:700}.rwb-dir-search{padding:8px 12px 2px}.rwb-dir-search input{border:1px solid var(--border);background:#fbfaf7;border-radius:16px;outline:none;width:100%;padding:7px 11px;font-family:inherit;font-size:12px}.rwb-dir-search input:focus{border-color:#8a877f}.rwb-bankcard-side{cursor:grab;width:100%;max-width:none;margin-bottom:8px}.rwb-real-remove{opacity:0;transition:opacity .12s}.rwb-chip-real:hover .rwb-real-remove,.rwb-tinyperson:hover .rwb-real-remove{opacity:1}.rwb-bank{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:14px;box-shadow:0 -6px 24px #1414140d}.rwb-bank-head{align-items:center;gap:14px;padding:10px 16px 4px;display:flex}.rwb-bank-title{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:2px;font-size:16px}.rwb-bank-search{border:1px solid var(--border);background:#fbfaf7;border-radius:16px;outline:none;width:220px;padding:6px 11px;font-family:inherit;font-size:12px}.rwb-bank-search:focus{border-color:#8a877f}.rwb-bank-hint{letter-spacing:.5px;text-transform:uppercase;color:#b4b2a9;margin-left:auto;font-size:9.5px;font-weight:700}.rwb-bank-scroll{gap:10px;padding:10px 16px 14px;display:flex;overflow-x:auto}.rwb-bank-scroll::-webkit-scrollbar{height:7px}.rwb-bank-scroll::-webkit-scrollbar-thumb{background:#dedbd3;border-radius:4px}.rwb-bankcard{cursor:grab;background:#fff;border:1px solid #e4e2dc;border-radius:11px;flex:none;align-items:center;gap:9px;max-width:250px;padding:8px 12px 8px 8px;transition:transform .13s,box-shadow .13s;display:flex}.rwb-bankcard:hover{transform:translateY(-3px);box-shadow:0 8px 18px #1414141a}.rwb-bankcard:active{cursor:grabbing;transform:scale(.97)}.rwb-bank-rail{border-radius:4px;flex:none;align-self:stretch;width:5px}.rwb-bank-meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.rwb-bank-account{letter-spacing:.7px;text-transform:uppercase;color:#8a877f;font-size:8px;font-weight:800}.rwb-bank-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.rwb-min{gap:5px;padding:9px 11px 8px}.rwb-min .rwb-person-name,.rwb-min .rwb-proj-name{font-size:15px}.rwb-min .rwb-dropzone{padding:3px}.rwb-gantt-wrap{margin-top:4px}.rwb-toast{color:#f5f4f1;z-index:200;background:#141414;border-radius:22px;padding:11px 22px;font-size:12.5px;font-weight:600;animation:.25s cubic-bezier(.3,1.3,.5,1) rwbToast;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 12px 34px #0000004d}@keyframes rwbToast{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.rwb-toast-undo{cursor:pointer;color:#f5f4f1;letter-spacing:.5px;text-transform:uppercase;background:0 0;border:1px solid #f5f4f166;border-radius:14px;margin-left:14px;padding:4px 13px;font-family:inherit;font-size:11px;font-weight:800;transition:all .12s}.rwb-toast-undo:hover{color:#141414;background:#f5f4f1}.rwb-proj-gantt{margin:-2px 0 2px}.rwb-proj-gantt .mini-gantt{margin:0}.rwb-bank-gantt{width:150px;margin-top:3px;display:block}.rwb-bank-gantt .mini-gantt{margin:0}.filter-pill,.status-toggle-btn{letter-spacing:.3px;border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600;line-height:1.35}.month-pill{padding:5px 13px}.filter-pills,.status-toggles,.month-pills{gap:6px}.search-wrap{border-radius:18px;padding:7px 14px}.search-input{font-size:12px}.fin-year-btn{letter-spacing:1.5px;padding:8px 16px;font-size:14px}.fin-edit-btn{padding:7px 16px;font-size:12px}.filter-pill,.status-toggle-btn,.month-pill,.cal-view-btn,.bw-filter-btn,.fin-tab-btn,.fin-year-btn,.view-toggle-btn,.btn-new-project,.btn-add-person,.fin-edit-btn,.rwb-zoom button,.rfx-switch,.rwb-gantt-btn{transition:background .15s,color .15s,transform .1s,box-shadow .15s}.filter-pill:active,.status-toggle-btn:active,.month-pill:active,.cal-view-btn:active,.bw-filter-btn:active,.fin-tab-btn:active,.fin-year-btn:active,.view-toggle-btn:active,.btn-new-project:active,.btn-add-person:active,.fin-edit-btn:active,.rwb-zoom button:active{transform:scale(.95)}.filter-pill:not(.active):hover,.status-toggle-btn:not(.active):hover,.month-pill:not(.active):hover{filter:brightness(.96)}.controls-bar .month-pills{gap:4px;margin-bottom:0}.controls-bar .month-pill{padding:5px 10px}.biz-title,.fin-kamp-title{letter-spacing:2px;font-size:28px}.biz-subtitle,.fin-kamp-subtitle{letter-spacing:.5px;margin-top:3px;font-size:12px}.fin-section-title{letter-spacing:1.5px;color:var(--text-secondary);font-size:16px}.biz-header,.fin-kamp-header{margin-bottom:0;padding-bottom:20px}.ac-card{background:#fff;border:1px solid #e3e1d8;border-radius:14px;margin-bottom:20px;padding:18px 22px}.ac-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.ac-sub{color:#8a877f;margin-top:4px;font-size:11.5px}.ac-add{align-items:center;gap:8px;display:flex}.ac-add-input{border:1px solid var(--border);background:var(--card);border-radius:18px;width:220px;padding:7px 14px;font-size:12px}.ac-add-btn{border:1px solid var(--border);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:18px;padding:7px 16px;font-size:12px;font-weight:600}.ac-add-btn:hover{background:#f1efe8}.ac-error{color:#9c3535;background:#faeaea;border:1px solid #eccaca;border-radius:8px;margin-bottom:10px;padding:8px 12px;font-size:12px}.ac-table{flex-direction:column;display:flex}.ac-row{border-bottom:1px solid #f1efe8;align-items:center;gap:18px;padding:10px 4px;display:flex}.ac-row:last-child{border-bottom:none}.ac-row-head{border-bottom:1px solid #e3e1d8;padding:4px}.ac-row-head span{letter-spacing:1px;color:#b4b2a9;font-size:9px;font-weight:800}.ac-col-person{flex:0 0 260px;align-items:center;gap:10px;min-width:0;display:flex}.ac-col-sections{flex-wrap:wrap;flex:1;gap:5px;display:flex}.ac-col-admin{text-align:center;flex:0 0 48px}.ac-avatar{color:#55534d;background:#f1efe8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:inline-flex}.ac-who{flex-direction:column;min-width:0;display:flex}.ac-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ac-email{color:#8a877f;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.ac-chip{letter-spacing:.6px;border:1px solid var(--border);background:var(--card);color:#b4b2a9;cursor:pointer;border-radius:14px;padding:4px 10px;font-size:9px;font-weight:700;transition:all .15s}.ac-chip:active{transform:scale(.95)}.ac-chip.on{color:#085041;background:#e1f5ee;border-color:#9fe1cb}.ac-chip:not(.on):hover{color:#55534d;border-color:#b4b2a9}.ac-chip.locked{cursor:default;opacity:.85}.ac-admin-toggle{cursor:pointer;color:#d3d1c7;background:0 0;border:none;font-size:17px;transition:color .15s,transform .1s}.ac-admin-toggle.on{color:#b8860b}.ac-admin-toggle:not(:disabled):hover{color:#b8860b;transform:scale(1.15)}.ac-admin-toggle:disabled{cursor:default}.fpv-wrap{background:#fff;border:1px solid #e3e1d8;border-radius:14px;padding:16px 18px}.fpv-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.fpv-controls{align-items:center;gap:10px;display:flex}.fpv-scroll{overflow-x:auto}.fpv-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.fpv-table th{letter-spacing:.8px;color:#8a877f;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:2;background:#faf9f6;border-bottom:1px solid #e3e1d8;padding:8px;font-size:9px;font-weight:800;position:sticky;top:0}.fpv-table th:hover,.fpv-table th.fpv-sorted{color:#141414}.fpv-table td{white-space:nowrap;color:var(--text);border-bottom:1px solid #f1efe8;padding:6px 8px}.fpv-table tbody tr:hover td{background:#faf9f6}.fpv-name{text-overflow:ellipsis;max-width:320px;font-weight:600;overflow:hidden}.fpv-money{text-align:right}.fpv-status{letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:700}.fpv-dupe td{background:#fdf6e7}.fpv-dupe:hover td{background:#faf0d8!important}.fpv-cancelled td{opacity:.45}.fpv-table tfoot td{letter-spacing:.5px;color:#55534d;border-top:2px solid #e3e1d8;border-bottom:none;padding-top:10px;font-size:10px;font-weight:700}.filter-pill:focus-visible,.status-toggle-btn:focus-visible,.month-pill:focus-visible,.cal-view-btn:focus-visible,.bw-filter-btn:focus-visible,.fin-tab-btn:focus-visible,.fin-year-btn:focus-visible,.view-toggle-btn:focus-visible{outline-offset:1px;outline:2px solid #2d8a4e73}.fin-input-modal-wide{width:92vw;max-width:860px}.fin-input-section-label{letter-spacing:1.5px;color:var(--text-secondary);margin:18px 0 8px;font-size:11px;font-weight:700}.fin-input-field-desc{color:var(--text-muted,#8a877f);margin-top:2px;font-size:10.5px;font-weight:400;line-height:1.35;display:block}.fin-input-label-cell{min-width:220px}.fin-input-fy-cell{color:var(--text-secondary);white-space:nowrap;justify-content:flex-end;align-items:center;padding-right:4px;font-size:12px;font-weight:600;display:flex}.fin-input-targets{flex-wrap:wrap;gap:16px;display:flex}.fin-input-target{flex-direction:column;flex:1;gap:5px;min-width:200px;display:flex}.pb-wrap{border:1px solid var(--border);background:var(--card,#fff);border-radius:10px;margin-bottom:16px;padding:12px 14px}.pb-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:10px;display:flex}.pb-meta{color:var(--text-muted,#8a877f);font-size:11.5px}.pb-rows{flex-direction:column;gap:7px;display:flex}.pb-row{grid-template-columns:82px minmax(0,1fr) 120px;align-items:center;gap:10px;display:grid}.pb-dept{color:var(--text-secondary);font-size:12px}.pb-bar{background:#0000000f;border-radius:4px;height:8px;position:relative}.pb-fill{border-radius:4px;height:8px;transition:width .4s}.pb-tick{background:#00000073;width:2px;height:12px;position:absolute;top:-2px}.pb-num{color:var(--text-secondary);text-align:right;white-space:nowrap;font-size:11.5px}.pb-flag{border-top:1px solid var(--border);color:#c0392b;margin-top:10px;padding-top:9px;font-size:12px}.ut-panel{border:1px solid var(--border);background:var(--card,#fff);border-radius:12px;margin-bottom:18px;padding:14px 16px}.ut-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.ut-title{letter-spacing:1.5px;color:var(--text-primary);font-size:12px;font-weight:700}.ut-sub{color:var(--text-muted,#8a877f);margin-top:2px;font-size:11px;display:block}.ut-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}@media (max-width:800px){.ut-cards{grid-template-columns:repeat(2,1fr)}}.ut-card{background:#00000006;border-radius:8px;padding:10px 12px}.ut-card-label{letter-spacing:1px;color:var(--text-secondary);font-size:10px;font-weight:700}.ut-card-value{margin-top:2px;font-size:22px;font-weight:600}.ut-card-sub{color:var(--text-muted,#8a877f);margin-top:1px;font-size:10.5px}.ut-legend{color:var(--text-muted,#8a877f);gap:16px;margin-bottom:8px;font-size:11px;display:flex}.ut-swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.ut-rows{flex-direction:column;gap:8px;display:flex}.ut-row{grid-template-columns:140px minmax(0,1fr) 92px;align-items:center;gap:10px;display:grid}.ut-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ut-bars{flex-direction:column;gap:3px;display:flex}.ut-bar{border-radius:3px;min-width:2px;height:6px;transition:width .4s}.ut-num{color:var(--text-secondary);text-align:right;white-space:nowrap;font-size:11.5px}.ut-expand{margin-top:10px;font-size:11.5px}.person-logged{border-top:1px solid var(--border);cursor:default;margin-top:10px;padding-top:8px}.person-logged-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.person-logged-label{letter-spacing:1px;color:var(--text-secondary);font-size:9.5px;font-weight:700}.person-logged-avg{color:var(--text-secondary);font-size:11px}.person-logged-spark{align-items:flex-end;gap:3px;height:34px;margin-bottom:6px;display:flex}.person-logged-bar{border-radius:2px 2px 0 0;flex:1;min-height:2px}.person-logged-proj{color:var(--text-secondary);justify-content:space-between;gap:8px;padding:1.5px 0;font-size:11px;display:flex}.person-logged-proj-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.person-logged-proj-hrs{white-space:nowrap;color:var(--text-muted,#8a877f)}@keyframes actGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pb-wrap{border:1px solid var(--border);background:linear-gradient(#00000003,#0000);border-radius:12px;padding:14px 16px 13px}.pb-title{letter-spacing:1.8px;color:var(--text-primary);font-size:11px;font-weight:700}.pb-meta{color:var(--text-muted,#8a877f);font-variant-numeric:tabular-nums;font-size:11.5px}.pb-meta strong{color:var(--text-secondary);font-weight:600}.pb-dept{letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.pb-bar{background:#0000000e;border-radius:4px;height:7px}.pb-fill{transform-origin:0;height:7px;animation:.7s cubic-bezier(.22,1,.36,1) actGrow}.pb-tick{background:#00000080;border-radius:1px;width:1.5px;height:13px;top:-3px}.pb-num{font-variant-numeric:tabular-nums;font-size:11.5px}.pb-row{grid-template-columns:88px minmax(0,1fr) 128px}.pb-flag{color:#a33226;background:#c0392b0f;border:1px solid #c0392b2e;border-radius:8px;align-items:center;gap:8px;margin-top:11px;padding:7px 10px;font-size:12px;display:flex}.pb-flag-chip{letter-spacing:1px;color:#a33226;white-space:nowrap;background:#c0392b1f;border-radius:9px;padding:2px 7px;font-size:9px;font-weight:700}.ut-panel{background:var(--card,#fff);border-radius:12px;padding:15px 18px 14px}.ut-title{letter-spacing:1.8px;font-size:11.5px}.ut-cards{gap:12px;margin-bottom:14px}.ut-card{border:1px solid var(--border);background:0 0;border-radius:10px;padding:11px 13px 10px;transition:border-color .15s}.ut-card:hover{border-color:var(--border-strong,#0000002e)}.ut-card-label{letter-spacing:1.2px;color:var(--text-muted,#8a877f);font-size:9.5px}.ut-card-value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:24px;font-weight:650}.ut-legend{margin-bottom:10px}.ut-rows{gap:0}.ut-row{border-radius:7px;grid-template-columns:150px minmax(0,1fr) 96px;margin:0 -8px;padding:5.5px 8px;transition:background .12s}.ut-row:hover{background:#00000007}.ut-name{font-size:12.5px;font-weight:500}.ut-bar{transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) actGrow}.ut-num{font-variant-numeric:tabular-nums}.ut-expand{letter-spacing:.5px;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:16px;margin-top:10px;padding:5px 14px;font-size:11px;font-weight:600;transition:all .15s}.ut-expand:hover{border-color:var(--border-strong,#0003);color:var(--text-primary)}.ut-expand:active{transform:scale(.96)}.person-logged-label{letter-spacing:1.2px;color:var(--text-muted,#8a877f)}.person-logged-avg{font-variant-numeric:tabular-nums;color:var(--text-muted,#8a877f)}.person-logged-avg strong{color:var(--text-secondary);font-weight:600}.person-logged-spark{border-bottom:1px solid var(--border);gap:2.5px;margin-bottom:7px;padding-bottom:3px}.person-logged-bar{transform-origin:bottom;border-radius:2.5px 2.5px 0 0;animation:.6s cubic-bezier(.22,1,.36,1) actGrow}.person-logged-proj{font-variant-numeric:tabular-nums}.ut-split{transform-origin:0;border-radius:3px;height:6px;animation:.7s cubic-bezier(.22,1,.36,1) actGrow;display:flex;overflow:hidden}.ut-seg{height:6px}.ut-legend{flex-wrap:wrap;row-gap:4px}.pb-split{transform-origin:0;border-radius:4px;height:7px;animation:.7s cubic-bezier(.22,1,.36,1) actGrow;display:flex;overflow:hidden}.pb-seg{height:7px}.pb-legend{color:var(--text-muted,#8a877f);flex-wrap:wrap;gap:14px;margin-top:9px;font-size:10.5px;display:flex}.pb-swatch{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:4px;display:inline-block}.pb-legend-tick{color:var(--text-muted,#8a877f)}.person-logged-col{flex-direction:column;flex:1;justify-content:flex-end;min-height:2px;display:flex}.pem-summary{border:1px solid var(--border);background:var(--card,#fff);border-radius:12px;margin-bottom:16px;padding:14px 16px 13px}.pem-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pem-name{letter-spacing:-.2px;font-size:17px;font-weight:650;line-height:1.25}.pem-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:7px;margin-top:5px;font-size:12px;display:flex}.pem-client{letter-spacing:.4px;text-transform:uppercase;font-size:11px;font-weight:600}.pem-dot{color:var(--text-muted,#b5b1a6)}.pem-job{font-variant-numeric:tabular-nums;color:var(--text-muted,#8a877f)}.pem-status{letter-spacing:.8px;text-transform:uppercase;border:1px solid #0000;border-radius:10px;padding:2.5px 9px;font-size:10px;font-weight:700}.pem-desc{color:var(--text-secondary);max-width:70ch;margin-top:7px;font-size:12.5px;line-height:1.45}.pem-edit-btn{letter-spacing:.4px;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:15px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.pem-edit-btn:hover{border-color:var(--border-strong,#00000038);color:var(--text-primary)}.pem-edit-btn:active{transform:scale(.96)}.pem-links{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:11px;padding-top:11px;display:flex}.pem-link{border:1px solid var(--border);color:var(--text-primary);border-radius:15px;align-items:center;gap:6px;padding:5px 13px;font-size:11.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.pem-link:hover{border-color:var(--border-strong,#00000040);background:#00000006}.pem-link:active{transform:scale(.97)}.pem-arrow{color:var(--text-muted,#8a877f);font-size:10px}.pem-editing{border:1px solid var(--border-strong,#00000029);background:#00000004;border-radius:12px;margin-bottom:16px;padding:14px 16px}.pem-editing-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pem-editing-title{letter-spacing:1.8px;color:var(--text-secondary);font-size:11px;font-weight:700}.pem-done-btn{letter-spacing:.4px;border:1px solid var(--border);background:var(--text-primary);color:var(--bg,#f5f3ee);cursor:pointer;border-radius:15px;padding:5px 14px;font-size:11px;font-weight:600;transition:all .15s}.pem-done-btn:active{transform:scale(.96)}.pb-other-note{color:var(--text-muted,#8a877f);margin-top:9px;font-size:10.5px;line-height:1.5}.pb-other-label{letter-spacing:.8px;color:var(--text-secondary);font-weight:700}.pb-other-hint{color:var(--text-muted,#b5b1a6)}.project-edit-form .edit-label{letter-spacing:1.2px;color:var(--text-muted,#8a877f);font-size:10px}.project-edit-form .edit-phase-title{letter-spacing:1.8px;color:var(--text-primary);font-size:11px;font-weight:700}.project-edit-form .edit-phase-section{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}.bw-health-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.bw-health-row>div{flex:0 auto}.bw-health-card{border:1px solid var(--border);background:0 0;border-radius:16px;align-items:baseline;gap:7px;display:inline-flex;min-width:0!important;padding:6px 13px!important}.bw-health-card .bw-health-value{font-weight:700;font-size:15px!important}.bw-health-card .bw-health-pct{display:none}.bw-health-card .bw-health-label{letter-spacing:.6px;white-space:nowrap;font-weight:600;font-size:10.5px!important}.bw-health-card .bw-health-sub{display:none}.bw-health-card .bw-health-expand-hint{margin:0 0 0 2px;font-size:9.5px}.bw-health-card-active{border-color:var(--border-strong,#0000004d);background:#00000008}.bw-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.bw-breakdown-grid .bw-dept-section,.bw-breakdown-grid .bw-tier-section{margin:0!important}.dgm-mode-toggle{border:1px solid var(--border);border-radius:8px;gap:0;width:fit-content;margin-bottom:12px;display:flex;overflow:hidden}.dgm-mode-btn{letter-spacing:.4px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 16px;font-size:11.5px;font-weight:600;transition:all .15s}.dgm-mode-btn.active{background:var(--text-primary);color:var(--bg,#f5f3ee)}.dgm-dept-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.dgm-dept-btn{border:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:9px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;transition:all .15s;display:flex}.dgm-dept-btn:hover{border-color:var(--border-strong,#00000040);background:#00000005}.dgm-dept-btn.active{border-color:var(--text-primary)}.dg-week-switch{align-self:center}.dg-dept-members{flex-direction:column;gap:22px;display:flex}.dg-dept-member-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.dg-dept-member-name{letter-spacing:.2px;font-size:14px;font-weight:700}.dg-dept-member-title{color:#8a877f;font-size:11px}.dg-dept-out-tag{color:#a3462e!important;background:#f5e2de!important}.dg-dept-member-projects{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.dg-dept-proj-chip{color:#6b6a63;white-space:nowrap;border:1px solid #00000014;border-radius:9px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.dg-dept-proj-more{color:#a29f95;font-size:10px}.dg-heat{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:6px;display:grid}.dg-heat-day{text-align:center}.dg-heat-label{letter-spacing:1px;color:#8a877f;margin-bottom:6px;font-size:10px;font-weight:700}.dg-heat-date{color:#b5b1a6;margin-left:5px;font-weight:600}.dg-heat-cell{border-radius:10px;justify-content:center;align-items:center;height:54px;transition:transform .15s;display:flex;position:relative}.dg-heat-cell:hover{transform:translateY(-1px)}.dg-heat-count{font-variant-numeric:tabular-nums;font-size:20px;font-weight:750}.dg-heat-peak{letter-spacing:.8px;color:#2c5238;background:#ffffffd9;border-radius:7px;padding:1.5px 6px;font-size:8px;font-weight:800;position:absolute;top:5px;right:6px}.dg-heat-today .dg-heat-label{color:#141414}.dg-heat-today .dg-heat-cell{outline-offset:2px;outline:2px solid #141414}.dg-heat-sub{color:#a29f95;margin-top:5px;font-size:9.5px}.dg-flags{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.dg-flag{background:#b8860b0f;border:1px solid #b8860b4d;border-radius:10px;align-items:baseline;gap:10px;padding:9px 13px;font-size:12.5px;line-height:1.5;display:flex}.dg-flag-red{background:#c0392b0d;border-color:#c0392b4d}.dg-flag-chip{letter-spacing:.8px;white-space:nowrap;color:#8a6508;background:#b8860b24;border-radius:8px;padding:2.5px 8px;font-size:9px;font-weight:800}.dg-flag-red .dg-flag-chip{color:#a3462e;background:#c0392b1f}.dg-flag-text{color:#4a4842}.dg-day-clickable{cursor:pointer;transition:transform .12s,box-shadow .12s}.dg-day-clickable:hover{transform:translateY(-1px)}.dg-day-expanded{outline-offset:1px;outline:2px solid #141414}.dg-day-detail{background:#fff;border:1px solid #00000024;border-radius:10px;margin-top:8px;padding:12px 15px}.dg-day-detail-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.dg-day-detail-title{letter-spacing:1px;color:#141414;font-size:11px;font-weight:800}.dg-day-detail-proj{margin-bottom:8px}.dg-day-detail-projname{align-items:center;gap:6px;margin-bottom:3px;font-size:11px;font-weight:700;display:flex}.dg-day-detail-ms{color:#4a4842;padding:2.5px 0 2.5px 16px;font-size:12.5px}.dg-day-detail-ms.dg-ms-exec{color:#141414;font-weight:700}.dg-expand-hint{color:#a29f95;margin-top:10px;font-size:10.5px}.dg-week-switch{cursor:pointer;white-space:nowrap;transition:all .18s;color:#f5f3ee!important;letter-spacing:1.4px!important;background:0 0!important;border:1px solid #f5f3ee73!important;border-radius:18px!important;padding:8px 18px!important;font-size:10.5px!important;font-weight:700!important}.dg-week-switch:hover{background:#f5f3ee24!important;border-color:#f5f3eecc!important}.dg-week-switch:active{transform:scale(.96)}.dg-heat-keys{text-align:left;flex-direction:column;gap:2.5px;margin-top:6px;display:flex}.dg-heat-key{color:#55534c;align-items:baseline;gap:5px;font-size:9.5px;line-height:1.35;display:flex}.dg-heat-key .dg-dot{flex:none;width:5px;height:5px}.dg-heat-key-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dg-heat-key-more{color:#a29f95;font-size:9px}.dg-heat-key-none{color:#a29f95;text-align:center;font-size:9.5px}.pto-person-emoji{margin-right:2px;font-size:12px;line-height:1}.stats-row-people{margin:14px 0 4px}.person-logged-col{position:relative}.person-logged-col:hover{filter:brightness(1.06)}.plc-tip{z-index:30;color:#f5f3ee;white-space:nowrap;pointer-events:none;background:#1d1c1a;border-radius:8px;flex-direction:column;padding:7px 11px;font-size:11px;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.plc-tip:after{content:"";border:5px solid #0000;border-top-color:#1d1c1a;position:absolute;top:100%;left:50%;transform:translate(-50%)}.plc-tip strong{font-size:11.5px;font-weight:700}.plc-tip-line{color:#f5f3eed9;align-items:center;gap:6px;display:flex}.plc-tip-dot{border-radius:2px;width:7px;height:7px;display:inline-block}.person-logged-col:hover .plc-tip{display:flex}.chm-panel{border:1px solid var(--border);background:var(--card,#fff);border-radius:12px;margin-bottom:18px;padding:15px 18px 13px}.chm-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.chm-title{letter-spacing:1.8px;color:var(--text-primary);font-size:11.5px;font-weight:700}.chm-sub{color:var(--text-muted,#8a877f);margin-top:2px;font-size:11px;display:block}.chm-nt{color:var(--text-secondary);border:1px solid var(--border);border-radius:14px;padding:5px 13px;font-size:11.5px}.chm-nt-bad{color:#a3462e;background:#c0392b0d;border-color:#c0392b59}.chm-nt-count{font-weight:700}.chm-grid{flex-direction:column;gap:4px;display:flex}.chm-row{grid-template-columns:168px repeat(8,minmax(0,1fr)) 74px;align-items:center;gap:4px;display:grid}.chm-row-head .chm-week{letter-spacing:.6px;color:var(--text-muted,#8a877f);text-align:center;font-size:9.5px;font-weight:700}.chm-track-col{letter-spacing:.8px;color:var(--text-muted,#8a877f);text-align:right;font-size:8.5px;font-weight:700}.chm-label{letter-spacing:.4px;white-space:nowrap;align-items:baseline;gap:6px;font-size:11.5px;font-weight:650;display:flex;overflow:hidden}.chm-row-sub .chm-label{color:var(--text-secondary);padding-left:16px;font-size:11px;font-weight:500}.chm-count{color:var(--text-muted,#b5b1a6);font-size:9.5px;font-weight:500}.chm-expand{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}.chm-cell{font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;height:26px;font-size:11.5px;font-weight:650;transition:transform .12s;display:flex}.chm-cell:hover{transform:translateY(-1px)}.chm-track{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10.5px}.chm-track-partial{color:#9c7a2e}.chm-legend{color:var(--text-muted,#8a877f);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:10.5px;display:flex}.pbc-wrap{border-top:1px solid #00000012;margin-top:16px;padding-top:14px}.pbc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.pbc-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:var(--text-primary,#2b2b2b);font-size:14px}.pbc-meta{color:var(--text-secondary,#6b6860);font-size:11.5px}.pbc-meta strong{font-variant-numeric:tabular-nums;color:var(--text-primary,#2b2b2b)}.pbc-chart{background:#00000005;border-radius:8px;height:128px;position:relative;overflow:hidden}.pbc-chart svg{width:100%;height:100%;display:block;position:absolute;inset:0}.pbc-budget-lbl{letter-spacing:.08em;color:#2b2b2b;opacity:.65;pointer-events:none;background:#ffffffb3;border-radius:4px;padding:1px 5px;font-size:9.5px;font-weight:700;position:absolute;right:8px;transform:translateY(-125%)}.pbc-spent-lbl{font-variant-numeric:tabular-nums;pointer-events:none;background:#fffc;border-radius:4px;padding:1px 5px;font-size:10.5px;font-weight:800;position:absolute}.pbc-today-lbl{letter-spacing:.1em;color:#8ca3b8;pointer-events:none;font-size:8.5px;font-weight:700;position:absolute;bottom:5px;transform:translate(-50%)}.pbc-axis{letter-spacing:.08em;color:var(--text-muted,#8a877f);justify-content:space-between;margin-top:5px;font-size:9.5px;font-weight:600;display:flex}.pbc-band{opacity:.07;pointer-events:auto;position:absolute;top:0;bottom:0}.pbc-band:hover{opacity:.14}.pbc-plan-lbl{letter-spacing:.08em;color:#5c7183;pointer-events:none;background:#ffffffb3;border-radius:4px;padding:1px 5px;font-size:9.5px;font-weight:700;position:absolute;left:8px;transform:translateY(-125%)}.pbc-phase-legend{color:var(--text-secondary,#6b6860);flex-wrap:wrap;gap:14px;margin-top:7px;font-size:10px;display:flex}.pbc-phase-legend .pb-swatch{opacity:.55}.pbc-phase-legend strong{font-variant-numeric:tabular-nums;color:var(--text-primary,#2b2b2b)}.ut-tgt{letter-spacing:.04em;color:#1d6e50;font-variant-numeric:tabular-nums;vertical-align:1px;background:#5dcaa529;border-radius:4px;margin-left:7px;padding:0 5px;font-size:9px;font-weight:700;display:inline-block}.ut-tgt-miss{color:#8a6716;background:#e0b45c33}.chm-week-proj{opacity:.75;font-style:italic}.chm-cell-proj{opacity:.82;border:1px dashed #00000047;font-style:italic}.chm-proj-first{position:relative}.chm-row .chm-proj-first:before{content:"";border-left:2px solid #0000002e;position:absolute;top:-2px;bottom:-2px;left:-3px}.chm-swatch-proj{border:1px dashed #0006;background:0 0!important}.chm-cell-past{opacity:.45}.chm-cell-recent{font-weight:700;box-shadow:inset 0 0 0 1px #0000001a}.chm-row:hover .chm-cell-past{opacity:.8}.sp-move-select{color:#4a6b57;cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:5px;max-width:180px;margin-top:4px;padding:2px 4px;font-size:10px;display:block}.sp-move-select:hover{border-color:#2d8a4e}.sp-btn-oversight{cursor:pointer;opacity:.28;filter:grayscale();background:0 0;border:none;padding:1px 3px;font-size:11px}.sp-btn-oversight:hover{opacity:.7}.sp-btn-oversight.sp-oversight-on{opacity:1;filter:none}.rwb-tinyperson.rwb-oversight{opacity:.62;border-style:dashed!important}.rwb-oversight-eye{margin-left:2px;font-size:10px}.rwb-toggle-oversight{filter:grayscale();opacity:.5;font-size:10px}.rwb-toggle-oversight:hover{opacity:1;filter:none}.pac-panel{border:1px solid var(--border,#0000001a);background:var(--card-bg,#fff);border-radius:10px;margin-bottom:18px;overflow:hidden}.pac-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:baseline;gap:10px;width:100%;padding:12px 16px;display:flex}.pac-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:var(--text-primary,#2b2b2b);font-size:15px}.pac-sub{color:var(--text-muted,#8a877f);font-size:10.5px}.pac-chevron{color:var(--text-muted);margin-left:auto}.pac-body{padding:0 16px 16px}.pac-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.pac-person{max-width:280px}.pac-date{max-width:150px}.pac-arrow{color:var(--text-muted)}.pac-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pac-chip{border:1px solid #0000;border-radius:20px;padding:4px 9px;font-size:10.5px}.pac-chip strong{font-variant-numeric:tabular-nums}.pac-chip-ok{color:#1d6e3f;background:#2d8a4e17;border-color:#2d8a4e33}.pac-chip-warn{color:#8a6716;background:#e0b45c24;border-color:#e0b45c4d}.pac-chip-bad{color:#a13327;background:#c0392b17;border-color:#c0392b38}.pac-grid{align-items:center;gap:2px;margin-bottom:12px;display:grid;overflow-x:auto}.pac-gh{color:var(--text-muted);text-align:center;padding-bottom:3px;font-size:8.5px;font-weight:700}.pac-wknd{opacity:.45}.pac-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;padding-right:8px;font-size:10.5px;overflow:hidden}.pac-name em{letter-spacing:.06em;color:#2d8a4e;margin-left:4px;font-size:8.5px;font-style:normal;font-weight:700}.pac-name-req{font-weight:700}.pac-group{color:var(--text-secondary);background:#0000000f;border-radius:3px;margin-left:5px;padding:0 4px;font-size:8px;font-weight:700;display:inline-block}.pac-group-same{color:#a13327;background:#c0392b1f}.pac-cov{margin-left:5px;font-size:8px;font-weight:700;display:inline-block}.pac-cov-ok{color:#1d6e3f}.pac-cov-bad{color:#a13327}.pac-cov-na{color:var(--text-muted)}.pac-cell{background:#00000006;border-radius:2px;height:14px;position:relative}.pac-bar{border-radius:2px;display:block;position:absolute;inset:2px 0}.pac-bar-req{opacity:.85;background:#2d8a4e}.pac-bar-same{opacity:.75;background:#c0392b}.pac-bar-other{opacity:.75;background:#8ca3b8}.pac-miles{border-top:1px solid #00000012;padding-top:10px}.pac-miles-title{letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:9px;font-weight:700}.pac-mile{align-items:baseline;gap:10px;padding:2px 0;font-size:11px;display:flex}.pac-mile-date{font-variant-numeric:tabular-nums;min-width:52px;color:var(--text-secondary);font-weight:700}.pac-mile-proj{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.pac-mile-label{color:var(--text-primary)}.pac-mile-key .pac-mile-label{font-weight:700}.pac-mile-tag{letter-spacing:.08em;color:#a13327;background:#c0392b1a;border-radius:3px;padding:1px 5px;font-size:8px;font-weight:800}.pac-note{color:var(--text-muted);margin-top:6px;font-size:10px}.pac-clear{color:var(--text-secondary,#6b6860);cursor:pointer;background:#0000000d;border:1px solid #0000001f;border-radius:6px;padding:6px 10px;font-size:10.5px;font-weight:700}.pac-clear:hover{background:#00000017}.pac-cal{margin-bottom:16px}.pac-cal-month{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.05em;color:var(--text-primary,#2b2b2b);margin-bottom:6px;font-size:16px}.pac-cal-dow{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px;display:grid}.pac-cal-dow span{letter-spacing:.08em;color:var(--text-muted,#8a877f);text-align:left;padding-left:6px;font-size:8.5px;font-weight:700}.pac-cal-week{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px;display:grid}.pac-cal-cell{background:var(--card-bg,#fff);border:1px solid #00000014;border-radius:6px;min-height:68px;padding:4px 5px;overflow:hidden}.pac-cal-out{opacity:.35;background:#00000005}.pac-cal-wknd{background:#00000008}.pac-cal-req{background:#2d8a4e14;border-color:#2d8a4e73;box-shadow:inset 0 0 0 1px #2d8a4e40}.pac-cal-daynum{color:var(--text-secondary,#6b6860);justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:2px;font-size:10px;font-weight:700;display:flex}.pac-cal-reqtag{letter-spacing:.03em;color:#1d6e3f;white-space:nowrap;text-overflow:ellipsis;font-size:8px;font-weight:800;overflow:hidden}.pac-cal-person{color:#46586a;white-space:nowrap;text-overflow:ellipsis;background:#8ca3b82e;border-radius:3px;margin-bottom:2px;padding:1px 4px;font-size:9px;font-weight:600;overflow:hidden}.pac-cal-same{color:#a13327;background:#c0392b21}.pac-cal-mile{color:var(--text-secondary,#6b6860);white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;line-height:1.35;overflow:hidden}.pac-cal-milekey{color:#a13327;font-weight:700}.pac-cal-more{color:var(--text-muted,#8a877f);font-size:8px;font-style:italic}.pac-legend{color:var(--text-secondary,#6b6860);flex-wrap:wrap;gap:14px;margin-top:2px;font-size:10px;display:flex}.pac-sw{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.pac-sw-req{background:#2d8a4e40;border:1px solid #2d8a4e80}.pac-sw-other{background:#8ca3b859}.pac-sw-same{background:#c0392b4d}.pac-head2{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 8px;display:flex}.pac-head2 .pac-title{margin-right:8px}.pac-monthnav{align-items:center;gap:8px;display:flex}.pac-monthnav button{background:var(--card-bg,#fff);cursor:pointer;width:26px;height:26px;color:var(--text-secondary);border:1px solid #00000024;border-radius:6px;font-size:14px;line-height:1}.pac-monthnav button:hover{background:#0000000d}.pac-monthlabel{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.05em;text-align:center;min-width:130px;font-size:16px}.pac-cal-today{box-shadow:inset 0 0 0 2px #2b2b2b59}.admin-tab-link{opacity:.7;margin-left:auto;text-decoration:none}.admin-tab-link:hover{opacity:1}.pto-cov-ms-nested{border-left:2px solid #0000000f;margin:2px 0 8px 18px;padding-left:10px}.pac-panel{box-shadow:0 1px 3px #0000000a}.pac-head-left{align-items:baseline;gap:10px;display:flex}.pac-cal-dow span{text-align:right;padding-right:8px;font-size:9px}.pac-cal-cell{border-color:#00000012;border-radius:8px;min-height:82px}.pac-cal-daynum{flex-direction:row-reverse;justify-content:flex-end}.pac-cal-num{text-align:center;border-radius:9px;min-width:18px;padding:0 2px;display:inline-block}.pac-cal-num-today{color:#fff;background:#2b2b2b}.pac-cal-today{box-shadow:none;border-color:#2b2b2b66}.pac-search{flex:1;max-width:340px;position:relative}.pac-search-input{background:var(--card-bg,#fff);border:1px solid #00000024;border-radius:8px;width:100%;padding:8px 12px;font-size:12px}.pac-search-input:focus{border-color:#2b2b2b;outline:none}.pac-search-drop{z-index:40;background:#fff;border:1px solid #0000001f;border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.pac-search-row{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:8px 12px;display:flex}.pac-search-row:hover{background:#0000000b}.pac-search-avatar{color:#fff;letter-spacing:.03em;background:#2b2b2b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:inline-flex}.pac-search-name{color:var(--text-primary);font-size:12px;font-weight:600}.pac-search-meta{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:10px}.pac-selected{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pac-selected-avatar{background:#2d8a4e}.pac-selected-name{color:var(--text-primary);font-size:12.5px;font-weight:700}.pac-rolefilter{max-width:190px;font-size:11px}.pmc-wrap{background:#00000004;border:1px solid #00000014;border-radius:10px;margin:12px 0 16px;padding:12px}.pmc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.pmc-title{letter-spacing:.09em;color:var(--text-muted,#8a877f);font-size:9.5px;font-weight:700}.pmc-month{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.05em;margin:6px 0 4px;font-size:14px}.pac-cal-mini .pac-cal-cell{border-radius:6px;min-height:52px;padding:3px 4px}.pac-cal-mini .pac-cal-person{margin-bottom:1px;padding:0 3px;font-size:8px}.pac-cal-mini .pac-cal-mile{font-size:7.5px}.pac-cal-mini .pac-cal-num{min-width:15px;font-size:9px}.pac-cal-mini .pac-cal-dow span{font-size:8px}.pmc-legend{margin-top:6px;font-size:9px}.pac-week-rel{position:relative}.pac-bar{white-space:nowrap;text-overflow:ellipsis;z-index:2;pointer-events:auto;box-sizing:border-box;border-radius:5px;height:17px;padding:0 6px;font-size:9.5px;font-weight:600;line-height:17px;position:absolute;overflow:hidden}.pac-bar-mini{border-radius:4px;height:14px;padding:0 4px;font-size:8.5px;line-height:14px}.pac-bar-out{color:#3d5468;background:#8ca3b84d;border:1px solid #8ca3b866}.pac-bar-same{color:#a13327;background:#c0392b26;border:1px solid #c0392b52}.pac-bar-req{color:#1d6e3f;background:#2d8a4e33;border:1px solid #2d8a4e73;font-weight:700}.pac-bar-mile{color:#7a5c1e;background:#e0b45c38;border:1px solid #e0b45c6b}.pac-bar-milekey{color:#a13327;background:#c0392b1a;border:1px solid #c0392b4d;font-weight:700}.pac-bar-clipl{border-left-style:dotted;border-top-left-radius:0;border-bottom-left-radius:0}.pac-bar-clipr{border-right-style:dotted;border-top-right-radius:0;border-bottom-right-radius:0}.pac-cal-clickable{cursor:pointer;transition:background .12s}.pac-cal-clickable:hover{background:#0000000b}.pac-cal-req.pac-cal-clickable:hover{background:#2d8a4e21}.pac-cal-cell-sel{box-shadow:inset 0 0 0 2px #2b2b2b8c!important}.pac-cal-plus{color:var(--text-muted,#8a877f);font-size:8px;font-style:italic;font-weight:700;position:absolute;bottom:3px;right:5px}.pac-cal-cell{position:relative}.pac-legend-hint{color:var(--text-muted,#8a877f);font-style:italic}.pac-day-detail{background:#00000005;border:1px solid #0000001a;border-radius:8px;margin:10px 0 6px;padding:10px 14px}.pac-day-detail-head{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.05em;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;display:flex}.pac-day-row{border-top:1px solid #0000000d;flex-wrap:wrap;align-items:baseline;gap:5px;padding:3px 0;font-size:11px;display:flex}.pac-day-row:first-of-type{border-top:none}.pac-day-row-req strong{color:#1d6e3f}.pac-day-row-same strong{color:#a13327}.pac-day-meta{color:var(--text-muted,#8a877f);font-size:10.5px}.pac-day-cov{color:#2e7d32;margin-left:auto;font-size:9.5px;font-weight:700}.pac-day-cov-bad{color:#a13327}.pmc-day-detail{margin-top:8px}.pmc-day-detail .pac-day-detail-head{font-size:13px}.hq-view{padding:4px 0 40px}.hq-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.hq-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.04em;margin:0;font-size:34px}.hq-sub{color:var(--text-muted,#8a877f);margin-top:2px;font-size:11px}.hq-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hq-dept-tabs{background:#0000000d;border-radius:8px;gap:4px;padding:3px;display:flex}.hq-dept-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:11px;font-weight:600}.hq-dept-tab.active{color:#fff;background:#2b2b2b}.hq-digest-btn{letter-spacing:.06em;color:#1d6e3f;cursor:pointer;background:#2d8a4e14;border:1px solid #2d8a4e;border-radius:8px;padding:8px 14px;font-size:10.5px;font-weight:700}.hq-digest-btn:hover{background:#2d8a4e29}.hq-digest-url{color:var(--text-secondary);margin:-10px 0 14px;font-size:11px}.hq-loading{color:var(--text-muted);padding:30px 0;font-size:12px}.hq-chips{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:18px;display:grid}.hq-chip{border:1px solid #0000;border-radius:10px;padding:12px 14px}.hq-chip-ok{background:#2d8a4e12;border-color:#2d8a4e2e}.hq-chip-warn{background:#e0b45c1f;border-color:#e0b45c4d}.hq-chip-bad{background:#c0392b14;border-color:#c0392b38}.hq-chip-num{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;font-size:26px;line-height:1}.hq-chip-label{color:var(--text-secondary);margin-top:3px;font-size:10px}.hq-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:14px;display:grid}@media (max-width:900px){.hq-grid{grid-template-columns:1fr}}.hq-col{flex-direction:column;gap:14px;display:flex}.hq-panel{border:1px solid var(--border,#0000001a);background:var(--card-bg,#fff);border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}.hq-panel-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;margin-bottom:10px;font-size:14px}.hq-person{grid-template-columns:150px 1fr 44px 58px auto auto;align-items:center;gap:8px;padding:3px 0;font-size:11px;display:grid}.hq-person-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.hq-person-bar{background:#0000000d;border-radius:4px;height:8px;overflow:hidden}.hq-person-bar div{border-radius:4px;height:100%}.hq-person-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.hq-person-bill{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.hq-person-flag{letter-spacing:.05em;color:#8a6716;background:#e0b45c2e;border-radius:8px;padding:1px 6px;font-size:8.5px;font-weight:800}.hq-flag-red{color:#a13327;background:#c0392b1a}.hq-burn{color:inherit;border-bottom:1px solid #0000000a;justify-content:space-between;gap:10px;padding:6px 0;font-size:11.5px;text-decoration:none;display:flex}.hq-burn:hover .hq-burn-name{text-decoration:underline}.hq-burn-name{font-weight:600}.hq-burn-num{color:#a13327;font-variant-numeric:tabular-nums;white-space:nowrap}.hq-out{align-items:baseline;gap:8px;padding:3px 0;font-size:11.5px;display:flex}.hq-out-name{font-weight:600}.hq-out-dates{color:var(--text-secondary)}.hq-out-week{letter-spacing:.05em;color:var(--text-muted);margin-left:auto;font-size:9px;font-weight:700}.hq-empty{color:var(--text-muted);padding:4px 0;font-size:11px}.hq-link{color:#1d6e3f;margin-top:8px;font-size:10.5px;font-weight:600;text-decoration:none;display:inline-block}.hq-link:hover{text-decoration:underline}.dg-life{column-width:250px;column-gap:14px;margin-bottom:26px}.dg-life-col{break-inside:avoid;background:var(--card-bg,#fff);border:1px solid #00000012;border-radius:12px;margin-bottom:14px;padding:12px 14px 10px;box-shadow:0 1px 3px #0000000d}.dg-life-head{letter-spacing:.09em;color:var(--text-secondary,#6b6860);border-bottom:2px solid;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:8px;font-size:9.5px;font-weight:800;display:flex}.dg-life-rail{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dg-life-count{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.03em;color:var(--text-primary,#2b2b2b);margin-left:auto;font-size:15px}.dg-life-item{border-bottom:1px solid #00000009;align-items:baseline;gap:7px;padding:4px 0;font-size:11.5px;display:flex}.dg-life-item:last-child{border-bottom:none}.dg-life-dot{border-radius:50%;flex-shrink:0;align-self:center;width:6px;height:6px}.dg-life-name{color:var(--text-primary,#2b2b2b);font-weight:600;line-height:1.35}.dg-life-note{letter-spacing:.03em;color:var(--text-muted,#8a877f);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:9.5px;font-weight:700}.hq-flagrow{border-bottom:1px solid #0000000a;align-items:baseline;gap:8px;padding:5px 0;font-size:11px;display:flex}.hq-flagrow:last-child{border-bottom:none}.hq-flag-kind{letter-spacing:.06em;white-space:nowrap;border-radius:8px;padding:1px 6px;font-size:8.5px;font-weight:800}.hq-kind-collision{color:#a13327;background:#c0392b1a}.hq-kind-out{color:#8a6716;background:#e0b45c2e}.hq-flag-text{color:var(--text-secondary);line-height:1.45}.hq-flag-text strong{color:var(--text-primary)}.dg-role-group{letter-spacing:.1em;color:var(--text-muted,#8a877f);align-items:baseline;gap:8px;margin:14px 0 8px;font-size:9.5px;font-weight:800;display:flex}.dg-role-count{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;color:var(--text-secondary,#6b6860);font-size:13px}.rwb-chip.rwb-oversight{opacity:.65;border-style:dashed!important}.hq-flag-counts{gap:6px;margin-left:8px;font-size:10px;font-weight:700;display:inline-flex}.hq-flag-counts span{border-radius:9px;padding:1px 7px}.hq-flag-section{letter-spacing:.08em;color:var(--text-muted);margin:10px 0 4px;font-size:9px;font-weight:800}.hq-flag-hint{letter-spacing:.02em;text-transform:none;font-weight:500}.hq-flagline{border-bottom:1px solid #00000009;grid-template-columns:82px 46px auto 1fr auto;align-items:baseline;gap:8px;padding:3px 0;font-size:10.5px;display:grid}.hq-flagline:last-child{border-bottom:none}.hq-fl-who{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.hq-fl-date{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.hq-fl-badge{color:#a13327;background:#c0392b1a;border-radius:7px;padding:0 5px;font-size:8.5px;font-weight:800}.hq-fl-what{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hq-fl-week{letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;font-size:8.5px;font-weight:700}.dg-heat-groups{flex-direction:column;gap:4px;margin-top:10px;display:flex}.dg-heat-grow{grid-template-columns:170px repeat(5,1fr);align-items:center;gap:6px;display:grid}.dg-heat-glabel{letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.dg-heat-gcount{color:var(--text-muted);margin-left:5px;font-size:9px;font-weight:500}.dg-heat-gcell{font-variant-numeric:tabular-nums;border-radius:5px;justify-content:center;align-items:center;height:22px;font-size:10px;font-weight:700;display:flex}.dg-heat-gtoday{box-shadow:inset 0 0 0 1.5px #2b2b2b59}.tw-hq-tabs{background:#0000000d;border-radius:9px;gap:4px;width:fit-content;margin-bottom:14px;padding:3px;display:flex}.tw-hq-tab{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:var(--text-secondary,#6b6860);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;transition:all .12s}.tw-hq-tab:hover{color:var(--text-primary,#2b2b2b)}.tw-hq-tab.active{color:#fff;background:#2b2b2b}.hq-flags-wrap{margin-bottom:14px}.hq-flags-wrap .rfx-card{margin-bottom:0}.dg-hot{flex-direction:column;gap:3px;display:flex}.dg-hot-row{grid-template-columns:minmax(140px,1.1fr) 2fr 52px 64px;align-items:center;gap:10px;padding:3px 0;font-size:11px;display:grid}.dg-hot-name{color:var(--text-primary,#2b2b2b);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-weight:600;display:flex;overflow:hidden}.dg-hot-bar{background:#0000000d;border-radius:4px;height:8px;overflow:hidden}.dg-hot-bar span{background:#5dcaa5;border-radius:4px;height:100%;display:block}.dg-hot-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.dg-hot-people{color:var(--text-muted,#8a877f);white-space:nowrap;font-size:9.5px}.rwb-section-hint{letter-spacing:.05em;color:var(--text-muted,#8a877f);text-transform:lowercase;margin-left:10px;font-size:9.5px;font-weight:600}.rwb-proj-account{letter-spacing:.07em;color:var(--text-muted,#8a877f);text-transform:uppercase;font-size:8.5px;font-weight:700;line-height:1.1;display:block}.rwb-rolebank{border-bottom:1px solid #00000012;flex-wrap:wrap;gap:5px;padding:8px 10px 12px;display:flex}.rwb-rolechip{letter-spacing:.03em;cursor:grab;-webkit-user-select:none;user-select:none;color:#a34a68;background:#c4587a0d;border:1.5px dashed #c4587a8c;border-radius:6px;padding:4px 9px;font-size:10px;font-weight:700;transition:all .12s}.rwb-rolechip:hover{color:#8e3c58;background:#c4587a1a;border-color:#c4587a;transform:translateY(-1px)}.rwb-rolechip:active{cursor:grabbing}.rwb-slot{background:#c4587a0d;border:1.5px dashed #c4587a8c;border-radius:7px;align-items:center;gap:6px;margin-top:4px;padding:4px 7px;font-size:10px;display:flex}.rwb-slot-filled{background:#2d8a4e0d;border-style:solid;border-color:#2d8a4e73}.rwb-slot.rwb-target{background:#c4587a24;border-color:#c4587a}.rwb-slot-role{letter-spacing:.05em;color:#a34a68;white-space:nowrap;font-size:9px;font-weight:800}.rwb-slot-filled .rwb-slot-role{color:#1d6e3f}.rwb-slot-hint{color:#b87e93;flex:1;font-size:9px;font-style:italic}.rwb-slot-person{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;min-width:0;font-weight:600;display:flex;overflow:hidden}.rwb-slot-del{margin-left:auto}.rg-person-name-link{cursor:pointer}.rg-person-name-link:hover{text-underline-offset:2px;text-decoration:underline}.rwb-pcard-overlay{z-index:1200;background:#00000073;justify-content:center;align-items:flex-start;padding:60px 16px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.rwb-pcard-box{width:380px;max-width:94vw;position:relative}.rwb-pcard-box .person-card{box-shadow:0 20px 60px #00000059;cursor:default!important}.rwb-pcard-close{z-index:2;color:#fff;cursor:pointer;background:#2b2b2b;border:none;border-radius:15px;width:30px;height:30px;font-size:13px;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 12px #0000004d}.scoped-oversight{opacity:.62}.scoped-oversight-eye{font-size:10px}.scoped-hours-status-label.pipeline{color:#3d6a94;background:#5b8db824}.scoped-hours-status-label.coverage{color:#1d6e4f;background:#5dcaa52e;font-weight:700}.dg-pulse{background:linear-gradient(135deg,#232220 0%,#2e2c28 60%,#26302a 100%);border-radius:16px;margin-bottom:18px;padding:22px 24px 18px;animation:.5s cubic-bezier(.2,.8,.3,1) both pulseIn;box-shadow:0 12px 34px #0000002e}@keyframes pulseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dg-pulse-stat{border-left:2px solid #ffffff1f;padding-left:12px}.dg-pulse-mix-track{background:#ffffff14;border-radius:6px;height:12px;display:flex;overflow:hidden}.dg-pulse-seg{height:100%;transition:width .9s cubic-bezier(.2,.8,.3,1)}.dg-pulse-mix-legend{flex-wrap:wrap;gap:12px;margin-top:9px;display:flex}.dg-pulse-leg{letter-spacing:.07em;color:#ffffffb8;font-size:9px;font-weight:700}.dg-pulse-dot{vertical-align:-1px;border-radius:4px;width:8px;height:8px;margin-right:5px;display:inline-block}.hq-section-head{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.08em;border-bottom:2px solid #000000d9;margin:22px 0 10px;padding-bottom:5px;font-size:20px}.hq-attn .rfx-card{margin-bottom:0}.hq-fin{flex-direction:column;gap:10px;display:flex}.hq-fin-row{border-bottom:1px solid #0000000d;flex-direction:column;gap:4px;padding:7px 0;display:flex}.hq-fin-row:last-child{border-bottom:none}.hq-fin-name{color:var(--text-primary,#2b2b2b);font-size:12px;font-weight:700;text-decoration:none}.hq-fin-name:hover{text-decoration:underline}.hq-fin-bars{flex-direction:column;gap:3px;display:flex}.hq-fin-bar{grid-template-columns:62px 1fr 44px;align-items:center;gap:8px;display:grid}.hq-fin-bar-lbl{letter-spacing:.07em;color:var(--text-muted,#8a877f);text-align:right;font-size:8px;font-weight:800}.hq-fin-track{background:#0000000f;border-radius:4px;height:7px;overflow:hidden}.hq-fin-fill{background:#5dcaa5;border-radius:4px;height:100%;transition:width .9s cubic-bezier(.2,.8,.3,1)}.hq-fin-fill.warm{background:#d97a29}.hq-fin-fill.over{background:#c0392b}.hq-fin-pct{font-variant-numeric:tabular-nums;font-size:10px;font-weight:800}.hq-fin-pct.over{color:#c0392b}.hq-fin-meta{color:var(--text-muted,#8a877f);font-size:9.5px}.hq-fees-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px;display:grid}.hq-fees-num{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.hq-fees-lbl{letter-spacing:.1em;color:var(--text-muted,#8a877f);margin-top:3px;font-size:8px;font-weight:800}.hq-fees-chart{width:100%;height:170px;display:block}.hq-fees-sold{stroke:#2b2b2b;stroke-width:.5px;stroke-dasharray:1.6 1.2;vector-effect:non-scaling-stroke;opacity:.7}.hq-fees-line{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px}.hq-fees-line.on{animation:1.4s cubic-bezier(.3,.7,.3,1) forwards feeDraw}.hq-fees-spent.on{animation-delay:.25s}@keyframes feeDraw{to{stroke-dashoffset:0}}.hq-fees-booked{stroke:#8ca3b8}.hq-fees-spent{stroke:#2d8a4e}.hq-fees-area{fill:#8ca3b81a;opacity:0;transition:opacity 1s .8s}.hq-fees-area.on{opacity:1}.hq-fees-axis{letter-spacing:.05em;color:var(--text-muted,#8a877f);justify-content:space-between;margin-top:4px;font-size:8.5px;font-weight:700;display:flex}.hq-fees-legend{letter-spacing:.04em;color:var(--text-secondary,#6b6860);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:9px;font-weight:700;display:flex}.hq-leg-swatch{vertical-align:2px;border-radius:2px;width:14px;height:4px;margin-right:5px;display:inline-block}.hq-leg-dash{background:repeating-linear-gradient(90deg,#2b2b2b 0 3px,#0000 3px 6px)}.dg-out-split{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:760px){.dg-out-split{grid-template-columns:1fr}}.dg-out-subhead{letter-spacing:.1em;color:var(--text-muted,#8a877f);border-bottom:1px solid #00000014;margin-bottom:6px;padding-bottom:3px;font-size:10px;font-weight:800}.dg-out-block{margin-bottom:8px}.dg-out-cov{margin:2px 0 0 2px;font-size:9.5px}.dg-out-covered{color:#1d6e3f;font-weight:700}.dg-out-needs{color:#c0392b;font-weight:800}.dg-out-na{color:var(--text-muted,#8a877f);font-style:italic}.dg-pulse{box-shadow:none;background:0 0;border-radius:0;margin-bottom:18px;padding:0;animation:.5s cubic-bezier(.2,.8,.3,1) both pulseIn}.dg-pulse-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px;display:grid}.dg-pulse-stat{text-align:center;background:var(--card,#fff);border-left:none;border:1px solid var(--border,#0000001a);border-radius:10px;padding:16px 12px}.dg-pulse-num{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;color:var(--text-primary,#2b2b2b);font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.dg-pulse-label{letter-spacing:.1em;color:var(--text-muted,#8a877f);margin-top:5px;font-size:8.5px;font-weight:700}.dg-pulse-mix{background:var(--card,#fff);border:1px solid var(--border,#0000001a);border-radius:10px;padding:14px 16px}.dg-pulse-mix-track{background:#0000000f}.dg-pulse-leg{color:var(--text-secondary,#6b6860)}.dg-pulse-leg strong{color:var(--text-primary,#2b2b2b)}.dg-pulse-leg-dim{color:var(--text-muted,#8a877f)}.dg-pulse-leg-dim strong{color:var(--text-secondary,#6b6860)}.hqb-line{opacity:0;transition:opacity .7s .15s}.hqb-line.on{opacity:1}.hqb-spend{transition-delay:.35s}.hqb-axis{letter-spacing:.05em;color:var(--text-muted,#8a877f);pointer-events:none;justify-content:space-between;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:2px;left:6px;right:6px}.hq-fin-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.hq-leg-dash-slate{background:repeating-linear-gradient(90deg,#8ca3b8 0 3px,#0000 3px 6px)}.dg-life-badge{letter-spacing:.06em;color:#3d6a94;vertical-align:1px;background:#5b8db829;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:7.5px;font-weight:800}.dg-cov-plan{color:#d97a29;font-size:11px;font-weight:700}.dg-out-plan{color:#d97a29;font-weight:800}.hq-wrap-row{border-bottom:1px solid #0000000d;flex-direction:column;gap:1px;padding:6px 0;text-decoration:none;display:flex}.hq-wrap-row:last-of-type{border-bottom:none}.hq-wrap-row:hover .hq-wrap-name{text-decoration:underline}.hq-wrap-name{color:var(--text-primary,#2b2b2b);font-size:12px;font-weight:700}.hq-wrap-meta{color:#9c6a1e;font-variant-numeric:tabular-nums;font-size:10px}.hq-wrap-meta strong{color:#7a4d0e}.hq-wrap-people{color:var(--text-secondary,#6b6860);font-variant-numeric:tabular-nums;font-size:9.5px}.sp-ov-nudge{letter-spacing:.04em;color:#d97a29;margin-left:6px;font-size:8.5px;font-weight:800;animation:2s ease-in-out infinite nudgePulse}@keyframes nudgePulse{0%,to{opacity:1}50%{opacity:.45}}.sp-temp-dates{align-items:center;gap:4px;margin-left:6px;display:inline-flex}.sp-temp-date{background:#fff;border:1px solid #00000026;border-radius:4px;padding:1px 3px;font-size:9.5px}.sp-temp-arrow{color:var(--text-muted,#8a877f);font-size:9px}.pem-status-quick{cursor:pointer;border:1px solid;border-radius:6px;padding:4px 6px;font-size:10.5px;font-weight:700}.card-pitched-btn{letter-spacing:.05em;color:#1d6e3f;cursor:pointer;background:#2d8a4e14;border:1px solid #2d8a4e80;border-radius:6px;margin-top:3px;padding:3px 7px;font-size:8.5px;font-weight:800}.card-pitched-btn:hover{background:#2d8a4e29}.rg-temp-badge{letter-spacing:.06em;color:#9c5a14;background:#d97a2926;border:1px dashed #d97a2980;border-radius:4px;padding:1px 5px;font-size:7.5px;font-weight:800}.rg-seg-temp{letter-spacing:.12em;color:#fffffff2;text-shadow:0 1px 2px #00000059;pointer-events:none;font-size:8px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ppx-wrap{border:1px solid var(--border,#0000001a);background:var(--card-bg,#fff);border-radius:10px;margin:14px 0;padding:14px}.ppx-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.ppx-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.08em;color:#b3730f;font-size:15px}.ppx-meta{letter-spacing:.05em;color:var(--text-muted,#8a877f);font-size:10px;font-weight:600}.ppx-meta strong{color:var(--text-primary,#2b2b2b);font-variant-numeric:tabular-nums}.ppx-table{border-collapse:collapse;width:100%;font-size:11px}.ppx-table th{text-align:left;letter-spacing:.08em;color:var(--text-muted,#8a877f);border-bottom:1px solid #0000001a;padding:3px 8px 5px 0;font-size:8.5px;font-weight:800}.ppx-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #0000000a;padding:4px 8px 4px 0}.ppx-table td:first-child{font-weight:600}.ppx-table tr:last-child td{border-bottom:none}.bw-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:stretch;gap:14px}.bw-breakdown-grid>div{background:var(--card);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;height:100%;padding:16px 18px 14px}.bw-breakdown-grid .bw-section-title{margin-bottom:12px}.bw-breakdown-grid .bw-fte-fl-row{background:0 0;border:none;border-radius:0;gap:18px;padding:4px 0 0}.bw-breakdown-grid .bw-tier-bars{background:0 0;border:none;border-radius:0;padding:0}.bw-breakdown-grid .bw-gauge-row{justify-content:space-evenly;gap:10px 18px}.bw-breakdown-grid .bw-gauge{min-width:118px}.bw-breakdown-grid .bw-gauge-label{margin-top:5px;font-size:12px}.bw-breakdown-grid .bw-gauge-detail{margin-top:2px;font-size:9.5px}.bw-breakdown-grid .bw-fte-fl-col{gap:10px;max-width:none}.bw-breakdown-grid .bw-fte-fl-stats{gap:14px}.bw-breakdown-grid .bw-fte-fl-stat-value{font-size:15px}.bw-breakdown-grid .bw-fte-fl-stat-label{white-space:nowrap;font-size:8.5px}.bw-breakdown-grid .bw-tier-row{grid-template-columns:118px 1fr 104px;gap:10px;padding:6px 0}.pipe-name-link{cursor:pointer;color:var(--text-primary,#2b2b2b);font-weight:600}.pipe-name-link:hover{text-underline-offset:2px;text-decoration:underline}.pipe-status-selectable{color:#fff;cursor:pointer;appearance:none;text-align:center;border:none;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.pipe-status-selectable option{color:#2b2b2b;background:#fff}.pto-travel-toggle{color:#5c7183;letter-spacing:.02em;cursor:pointer;background:#fff;border:1px solid #d5dde3;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:600;transition:all .15s}.pto-travel-toggle:hover{color:#2c3e4a;border-color:#9fb3c2}.pto-travel-toggle.on{color:#21618c;background:#eaf4fb;border-color:#7fb3d5}.pto-days-chip{color:#5c7183;white-space:nowrap;background:#f2f5f7;border:1px solid #e2e8ec;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:600}.mdc-panel{background:#fff;border:1px solid #e2e8ec;border-radius:10px;margin-top:4px;padding:14px 16px 12px}.mdc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.mdc-head-left{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mdc-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.04em;color:#2c3e4a;font-size:18px}.mdc-sub{color:#8ca3b8;font-size:11px}.mdc-head-right{align-items:center;gap:10px;display:flex}.mdc-add-btn{color:#5c7183;letter-spacing:.03em;cursor:pointer;background:#fff;border:1px solid #d5dde3;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700}.mdc-add-btn:hover{color:#2c3e4a;border-color:#9fb3c2}.mdc-add-btn.on{color:#8a5b08;background:#fdf3e3;border-color:#d9a75a}.mdc-form{background:#f8f6f2;border:1px dashed #d9c9a8;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.mdc-form-label{flex:2 220px}.mdc-form-person{flex:130px}.mdc-form-cat{flex:170px}.mdc-form-date{width:130px}.mdc-save-btn{color:#fff;letter-spacing:.03em;cursor:pointer;background:#2c3e4a;border:none;border-radius:6px;padding:6px 14px;font-size:11px;font-weight:700}.mdc-save-btn:disabled{opacity:.4;cursor:default}.mdc-cal{margin-top:2px}.pac-bar.mdc-bar-ooo{color:#33507e;background:#cdd9f2}.pac-bar.mdc-bar-travel{color:#33581f;background:#cfe3c2}.pac-bar.mdc-bar-fl{color:#1e6275;background:#c8e6ee}.pac-bar.mdc-bar-manual,.pac-bar.pac-bar-manual{border:1.5px dashed;font-weight:700}.mdc-day-swatch,.mdc-key-swatch{vertical-align:-1px;border:1px solid #0000;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.mdc-key-swatch.mdc-key-manual{border-style:dashed}.mdc-key-swatch.mdc-bar-ooo{background:#cdd9f2}.mdc-key-swatch.mdc-bar-travel{background:#cfe3c2}.mdc-key-swatch.mdc-bar-fl{background:#c8e6ee}.mdc-key{color:#5c7183;border-top:1px solid #eef1f3;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:10px;font-size:10.5px;display:flex}.mdc-key-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:#2c3e4a;font-size:13px}.mdc-del-btn{color:#c62828;cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0 4px;font-size:11px}.mdc-del-btn:hover{font-weight:700}.pac-bar.pac-bar-trav:not(.pac-bar-same){color:#33581f;background:#cfe3c2;border:1px solid #a8c795}.pac-sw-trav{background:#cfe3c2;border:1px solid #a8c795}.pac-head-controls{align-items:center;gap:10px;display:flex}.dg-hot-people-hover{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted #8ca3b899;text-decoration:underline dotted #8ca3b899}.biz-gng-title-click{cursor:pointer;border-radius:6px;margin:-4px;padding:4px}.biz-gng-title-click:hover{background:#8ca3b81f}.pac-bar.mdc-bar-win{color:#253f14;background:#a8c795;font-weight:700}.mdc-key-swatch.mdc-bar-win{background:#a8c795}.cwb-shell{color:#22313c;background:#fbfaf7;max-width:1060px;min-height:100vh;margin:0 auto;padding:34px 28px 60px;font-family:Inter,-apple-system,sans-serif}@keyframes cwbRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.cwb-rise{opacity:0}.cwb-in .cwb-rise{animation:.55s cubic-bezier(.22,.9,.3,1) forwards cwbRise;animation-delay:var(--d,0s)}.cwb-masthead{border-bottom:3px solid #1a252e;justify-content:space-between;align-items:flex-start;padding-bottom:14px;display:flex}.cwb-wordmark{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:#1a252e;font-size:34px;line-height:1}.cwb-mast-sub{letter-spacing:.34em;color:#8ca3b8;margin-top:3px;font-size:10.5px;font-weight:700}.cwb-mast-right{align-items:center;gap:14px;display:flex}.cwb-live{letter-spacing:.14em;color:#2d8a4e;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.cwb-live-dot{background:#2d8a4e;border-radius:50%;width:9px;height:9px;animation:1.8s ease-in-out infinite cwbPulse}@keyframes cwbPulse{0%,to{box-shadow:0 0 #2d8a4e73}50%{box-shadow:0 0 0 7px #2d8a4e00}}.cwb-pdf-btn{color:#1a252e;letter-spacing:.08em;cursor:pointer;background:#fff;border:1.5px solid #1a252e;border-radius:999px;padding:7px 16px;font-size:11px;font-weight:800;transition:all .15s}.cwb-pdf-btn:hover{color:#fff;background:#1a252e}.cwb-titleblock{margin:26px 0 8px}.cwb-project{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.02em;color:#1a252e;margin:0;font-size:52px;line-height:1.02}.cwb-client{letter-spacing:.16em;text-transform:uppercase;color:#8ca3b8;margin-top:6px;font-size:15px;font-weight:700}.cwb-updated{color:#5c7183;margin-top:10px;font-size:12px}.cwb-section{background:#fff;border:1px solid #e5e1d8;border-radius:14px;margin-top:20px;padding:20px 22px 18px;box-shadow:0 1px 3px #1a252e0a}.cwb-section-head{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:#1a252e;border-bottom:1px solid #eee9de;justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:8px;font-size:19px;display:flex}.cwb-progress-chip{color:#2d8a4e;letter-spacing:.02em;background:#e9f5ee;border-radius:999px;padding:3px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:700}.cwb-gantt{position:relative}.cwb-axis{height:18px;margin-left:128px;position:relative}.cwb-axis-tick{letter-spacing:.06em;color:#9aa8b5;border-left:1px solid #e5e1d8;height:14px;padding-left:5px;font-size:10px;font-weight:700;line-height:14px;position:absolute;transform:translate(2px)}.cwb-lanes{position:relative}.cwb-lane{align-items:center;margin:7px 0;display:flex}.cwb-lane-label{color:#5c7183;text-align:right;flex:0 0 120px;width:120px;padding-right:10px;font-size:11px;font-weight:700}.cwb-lane-track{background:#f4f1ea;border-radius:7px;flex:1;height:26px;position:relative}.cwb-phase-bar{white-space:nowrap;border-radius:5px;align-items:center;min-width:6px;transition:width .9s cubic-bezier(.22,.9,.3,1);display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.cwb-phase-dates{color:#ffffffeb;letter-spacing:.02em;padding:0 8px;font-size:9.5px;font-weight:700}.cwb-lane-keys .cwb-lane-track{background:0 0;height:30px}.cwb-diamond{opacity:0;cursor:default;font-size:15px;transition:all .4s cubic-bezier(.34,1.4,.5,1);position:absolute;top:50%;transform:translate(-50%,-50%)scale(.2)}.cwb-diamond.cwb-d-in{opacity:1;transform:translate(-50%,-50%)scale(1)}.cwb-d-kamp{color:#1a252e}.cwb-d-client{color:#3b7bbf}.cwb-today{z-index:3;background:#c0392b;width:2px;position:absolute;top:-4px;bottom:-4px}.cwb-today-chip{letter-spacing:.1em;color:#fff;background:#c0392b;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:800;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.cwb-legend{color:#5c7183;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:11px;display:flex}.cwb-legend>span{align-items:center;gap:6px;display:inline-flex}.cwb-sw{border-radius:3px;width:14px;height:9px;display:inline-block}.cwb-dsw{font-size:13px}.cwb-keys-grid{grid-template-columns:1.3fr 1fr;gap:26px;display:grid}.cwb-keys-sub{letter-spacing:.18em;color:#8ca3b8;margin-bottom:8px;font-size:10.5px;font-weight:800}.cwb-key-row{border-bottom:1px solid #f2efe8;align-items:baseline;gap:10px;padding:7px 0;font-size:13px;display:flex}.cwb-owner-chip{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex:none;padding:2px 9px;font-size:9.5px;font-weight:800}.cwb-owner-chip.kamp{color:#fff;background:#1a252e}.cwb-owner-chip.client{color:#2a5e93;background:#e2edf8}.cwb-key-label{color:#22313c;font-weight:600}.cwb-key-date{color:#5c7183;white-space:nowrap;margin-left:auto;font-size:12px}.cwb-key-count{color:#b3752c;white-space:nowrap;font-size:11px;font-weight:700}.cwb-key-done{opacity:.55}.cwb-key-check{color:#2d8a4e;font-weight:800}.cwb-empty{color:#9aa8b5;padding:8px 0;font-size:12px}.cwb-cal-dow{letter-spacing:.1em;color:#9aa8b5;grid-template-columns:repeat(7,1fr);padding-bottom:5px;font-size:10px;font-weight:800;display:grid}.cwb-cal-dow span{text-align:center}.cwb-cal-week{grid-template-columns:repeat(7,1fr);display:grid;position:relative}.cwb-cal-cell{background:#fff;border:1px solid #efece4;padding:4px 6px}.cwb-cal-out{background:#faf8f3}.cwb-cal-out .cwb-cal-num{opacity:.3}.cwb-cal-wknd{background:#f7f4ed}.cwb-cal-num{color:#5c7183;font-size:11px;font-weight:700}.cwb-cal-num-today{color:#fff;background:#c0392b;border-radius:999px;padding:1px 7px}.cwb-cal-today{background:#fdf6f4}.cwb-cal-plus{color:#9aa8b5;font-size:9px;position:absolute;bottom:2px}.cwb-bar{white-space:nowrap;text-overflow:ellipsis;z-index:2;border-radius:4px;height:18px;padding:0 7px;font-size:10.5px;font-weight:600;line-height:18px;position:absolute;overflow:hidden}.cwb-bar-kamp{color:#fff;background:#2c3e4a}.cwb-bar-client{color:#21527f;background:#dcebf9;border:1px solid #b9d5ee}.cwb-bar-key{box-shadow:inset 3px 0 #d9a75a}.cwb-bar-clipl{border-left:2px dotted #ffffffb3;border-top-left-radius:0;border-bottom-left-radius:0}.cwb-bar-clipr{border-right:2px dotted #ffffffb3;border-top-right-radius:0;border-bottom-right-radius:0}.cwb-footer{text-align:center;margin-top:44px}.cwb-footer-mark{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.14em;color:#d8d2c4;font-size:44px}.cwb-footer-sub{color:#9aa8b5;margin-top:2px;font-size:11px}.cwb-invalid{text-align:center;color:#5c7183;padding:80px 20px;font-size:15px}.lwb-client-share{color:#2c3e4a;letter-spacing:.06em;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #2c3e4a;border-radius:999px;align-self:flex-start;padding:7px 14px;font-size:11px;font-weight:800}.lwb-client-share:hover{color:#fff;background:#2c3e4a}@media print{.cwb-shell{background:#fff;max-width:none;padding:0}.cwb-noprint{display:none!important}.cwb-rise{opacity:1!important;animation:none!important}.cwb-phase-bar{transition:none!important}.cwb-diamond{opacity:1!important;transition:none!important;transform:translate(-50%,-50%)scale(1)!important}.cwb-live-dot{animation:none!important}.cwb-section{box-shadow:none;break-inside:avoid}.cwb-month{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cwb-month-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.04em;color:#1a252e;margin-bottom:10px;font-size:30px}.cwb-month-year{color:#9aa8b5}.cwb-lwb-dow{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cwb-lwb-dow span{text-align:center;letter-spacing:.12em;color:#fff;background:#1a252e;border-right:1px solid #ffffff1f;padding:6px 0;font-size:10px;font-weight:800}.cwb-lwb-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:relative}.cwb-lwb-cell{background:#fff;border:1px solid #e3ded2;min-width:0;min-height:74px;padding:4px 5px;overflow:hidden}.cwb-lwb-num{margin-bottom:2px;display:inline-block}.cwb-lwb-out{background:#f6f3ec}.cwb-lwb-out .cwb-lwb-num{opacity:.3}.cwb-lwb-wknd{background:#f4f1e8}.cwb-lwb-today{background:#fdf5f3}.cwb-lwb-num{color:#5c7183;font-size:11px;font-weight:700}.cwb-lwb-num-today{color:#fff;background:#c0392b;border-radius:999px;padding:1px 7px}.cwb-lwb-band{letter-spacing:.06em;white-space:nowrap;z-index:2;border:1.5px solid;border-radius:3px;height:18px;padding:0 8px;font-size:9.5px;font-weight:800;line-height:16px;position:absolute;overflow:hidden}.cwb-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:2px;margin-top:3px;padding:3px 6px;font-size:10.5px;font-weight:600;line-height:1.35;overflow:hidden}.cwb-chip-kamp{color:#111;background:#ffd966}.cwb-chip-client{color:#111;background:#9fc5e8}.cwb-chip-key{font-weight:700}.cwb-key-star{color:#c00;margin-right:3px;font-size:10px}.cwb-lwb-span{z-index:2;height:18px;margin-top:0;padding:0 7px;line-height:18px;position:absolute}.cwb-lane-keys .cwb-lane-track{overflow:visible}.cwb-diamond{z-index:4}.cwb-tip{color:#fff;z-index:20;pointer-events:none;background:#1a252e;border-radius:8px;flex-direction:column;gap:2px;min-width:150px;max-width:300px;padding:8px 12px;animation:.15s ease-out cwbTipIn;display:flex;position:absolute;bottom:calc(100% + 10px);transform:translate(-14px);box-shadow:0 6px 18px #1a252e47}@keyframes cwbTipIn{0%{opacity:0;transform:translate(-14px)translateY(4px)}to{opacity:1;transform:translate(-14px)translateY(0)}}.cwb-tip:after{content:"";border:6px solid #0000;border-top-color:#1a252e;position:absolute;top:100%;left:14px}.cwb-tip-flip{transform:translate(calc(14px - 100%))}.cwb-tip-flip:after{left:auto;right:14px}@keyframes cwbTipInFlip{0%{opacity:0;transform:translate(calc(14px - 100%))translateY(4px)}to{opacity:1;transform:translate(calc(14px - 100%))translateY(0)}}.cwb-tip-flip{animation-name:cwbTipInFlip}.cwb-tip-owner{letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.cwb-tip-owner.kamp{color:#ffd966}.cwb-tip-owner.client{color:#9fc5e8}.cwb-tip-label{white-space:normal;font-size:12.5px;font-weight:700}.cwb-tip-date{color:#b9c6d0;font-size:11px}.cwb-lane-track{overflow:visible}.cwb-diamond{text-shadow:0 0 3px #fff,0 0 3px #fff,0 1px 2px #1a252e40;cursor:pointer}.cwb-diamond:hover,.cwb-d-hot{z-index:6;transform:translate(-50%,-50%)scale(1.45)!important}.cwb-track-ghost{border-top:1px dashed #e3ded2;border-radius:0;background:0 0!important;height:24px!important}.cwb-copy-btn.cwb-copied{color:#fff;background:#2d8a4e;border-color:#2d8a4e}.fin-feemix-total{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;color:#2c3e4a;text-align:center;margin:2px 0 8px;font-size:34px;line-height:1}.fin-feemix-pct{color:#8ca3b8;font-size:20px}.fin-feemix-bar{background:#eef1f3;border-radius:999px;height:8px;margin:0 4px 10px;display:flex;overflow:hidden}.fin-feemix-seg{transform-origin:0;height:100%;animation:.7s cubic-bezier(.3,.85,.3,1) backwards feemixGrow}@keyframes feemixGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fin-feemix{flex-direction:column;gap:3px;margin:0 2px 4px;display:flex}.fin-feemix-row{color:#5c7183;justify-content:space-between;align-items:baseline;gap:12px;font-size:11.5px;display:flex}.fin-feemix-row>span{align-items:center;gap:6px;display:inline-flex}.fin-feemix-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.fin-feemix-row strong{color:#2c3e4a;font-variant-numeric:tabular-nums;font-size:13px}.pipe-col-num{min-width:84px!important}.lwb-header-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.lwb-doc-link{color:#5c7183;font-size:11px;font-weight:600;text-decoration:none}.lwb-doc-link:hover{color:#2c3e4a;text-decoration:underline}.act-section{background:var(--card,#fff);border:1px solid #e2e8ec;border-radius:12px;margin-top:22px;padding:18px 20px 16px}.act-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.act-sub{color:#8ca3b8;margin-top:2px;font-size:11px}.act-picker{min-width:220px;position:relative}.act-input{background:#fff;border:1.5px solid #d5dde3;border-radius:999px;outline:none;width:100%;padding:7px 14px;font-size:12px;transition:border-color .15s}.act-input:focus{border-color:#2c7fb8}.act-drop{z-index:30;background:#fff;border:1px solid #d5dde3;border-radius:10px;width:300px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 28px #1a252e29}.act-opt{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:12.5px;display:flex}.act-opt:hover{background:#f2f6f9}.act-opt-name{color:#2c3e4a;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.act-opt-rev{color:#8ca3b8;font-variant-numeric:tabular-nums;font-size:11px}.act-chips{flex-wrap:wrap;gap:8px;margin:14px 0 6px;display:flex}.act-chip{background:#fff;border:1.5px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:12px;font-weight:700;display:inline-flex}.act-chip-dot{border-radius:50%;width:8px;height:8px}.act-chip-x{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;padding:0 3px;font-size:14px}.act-chip-x:hover{opacity:1}.act-growth{letter-spacing:.02em;border-radius:999px;padding:1px 6px;font-size:9.5px;font-weight:800}.act-up{color:#2d8a4e;background:#e9f5ee}.act-down{color:#c0392b;background:#fbeaea}.act-new{color:#5c7183;background:#eef1f4}.act-empty{color:#9aa8b5;font-size:12px}.act-panels{grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;display:grid}@media (max-width:900px){.act-panels{grid-template-columns:1fr}}.act-panel-title{letter-spacing:.16em;color:#8ca3b8;margin-bottom:8px;font-size:10.5px;font-weight:800}.act-chart-wrap{gap:8px;display:flex}.act-ylabels{color:#9aa8b5;text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;min-width:42px;padding-bottom:16px;font-size:9.5px;display:flex}.act-chart{flex:1}.act-svg{width:100%;height:190px;display:block}.act-grid{stroke:#eef1f3;stroke-width:1px;vector-effect:non-scaling-stroke}.act-wipe-rect{width:0;animation:1.15s cubic-bezier(.3,.85,.3,1) .1s forwards actWipe}@keyframes actWipe{to{width:100px}}.act-cross{stroke:#b9c6d0;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.act-chart{cursor:crosshair;position:relative}.act-tip{color:#fff;z-index:20;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1a252ef0;border-radius:9px;min-width:168px;padding:9px 12px;animation:.12s ease-out actTip;position:absolute;top:6px;transform:translate(12px);box-shadow:0 8px 22px #1a252e4d}.act-tip-left{transform:translate(calc(-100% - 12px))}@keyframes actTip{0%{opacity:0}to{opacity:1}}.act-tip-year{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:#ffd966;margin-bottom:5px;font-size:16px}.act-tip-row{align-items:center;gap:7px;padding:1.5px 0;font-size:11.5px;display:flex}.act-tip-dot{border-radius:50%;flex:none;width:8px;height:8px}.act-tip-name{color:#d5dde3;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.act-tip-val{font-variant-numeric:tabular-nums;font-weight:700}.act-xl-hot{font-weight:800;color:#2c3e4a!important}.act-xlabels{color:#8ca3b8;justify-content:space-between;margin-top:4px;padding:0 2px;font-size:10px;font-weight:700;display:flex}.fin-acc-strip{background:#fbfcfd;border:1px solid #e8ecef;border-radius:10px;flex-wrap:wrap;align-items:stretch;gap:0;margin-bottom:14px;padding:10px 4px;display:flex}.fin-acc-stat{border-right:1px solid #e8ecef;flex-direction:column;gap:3px;min-width:110px;padding:2px 18px;display:flex}.fin-acc-stat:last-child{border-right:none}.fin-acc-stat-label{letter-spacing:.14em;color:#8ca3b8;font-size:9px;font-weight:800}.fin-acc-stat-val{color:#2c3e4a;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.fin-acc-stat-awarded .fin-acc-stat-val{font-size:16px}.fin-acc-stat-awarded .fin-acc-stat-label{color:#2d8a4e}.fin-acc-trend{flex-direction:column;gap:2px;min-width:170px;margin-left:auto;padding:2px 18px;display:flex}.fin-acc-trend-top{align-items:baseline;gap:8px;display:flex}.fin-acc-yoy{font-size:11px;font-weight:800}.fin-acc-spark{width:100%;height:26px;display:block}.fin-acc-trend-sub{color:#9aa8b5;font-variant-numeric:tabular-nums;font-size:9.5px}.pipe-col-num .pipe-cell-empty{text-align:center;color:#c3ccd3;display:block}.cwb-lwb-holiday{background:repeating-linear-gradient(-45deg,#f4f1e8,#f4f1e8 6px,#ece7d8 6px 12px)}.cwb-holiday-label{letter-spacing:.06em;color:#8a7a4e;white-space:nowrap;text-overflow:ellipsis;background:#f3ecd9;border:1px solid #e0d5b5;border-radius:3px;max-width:100%;margin:2px 0 1px;padding:1px 5px;font-size:8.5px;font-weight:800;display:inline-block;overflow:hidden}.mdc-cell-holiday{background:repeating-linear-gradient(-45deg,#f7f4ec,#f7f4ec 6px,#efe9da 6px 12px)}.mdc-holiday-tag{letter-spacing:.08em;color:#8a7a4e;background:#f3ecd9;border:1px solid #e0d5b5;border-radius:3px;margin-left:4px;padding:0 4px;font-size:8px;font-weight:800}.cwb-phase-dates-out{white-space:nowrap;z-index:2;letter-spacing:.02em;font-size:9.5px;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.cwb-phase-dates{z-index:5;background:#ffffffb8;border-radius:4px;margin-left:4px;position:relative;padding:1px 6px!important}.pipe-group{background:#fbfcfd;border-left:3px solid #d9e2e8;border-radius:4px;margin:4px 0 8px}.pipe-group-head{border-radius:4px 4px 0 0;font-weight:700;background:#f2f6f9!important}.pipe-group-name{color:#22313c;font-weight:800}.pipe-group-count{letter-spacing:.06em;color:#5c7183;background:#e4ebf0;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:9.5px;font-weight:800}.pipe-group-qs{flex-wrap:wrap;gap:3px;display:flex}.pipe-group-muted{color:#8ca3b8;font-size:10.5px;font-weight:600}.pipe-group-total{color:#22313c;font-variant-numeric:tabular-nums;font-weight:800}.pipe-row-child{padding-left:14px}.pipe-row-child .pipe-col-name{opacity:.92}.pipe-row-child .pipe-col-name:before{content:"└";color:#b9c6d0;margin-right:6px}.admin-view-insights{margin-bottom:28px}.avi-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.avi-card{background:var(--bg-card,#fff);border:1px solid var(--border,#e3e7ea);border-radius:10px;padding:14px 16px}.avi-card-title{font-family:var(--font-bebas,"Bebas Neue"), sans-serif;letter-spacing:.06em;color:var(--text-muted,#6b7683);margin-bottom:8px;font-size:15px}.avi-row{border-bottom:1px dotted var(--border,#e8ecef);justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0;font-size:12px;display:flex}.avi-row:last-child{border-bottom:none}.avi-name{color:var(--text,#1f2a36);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.avi-meta{color:var(--text-muted,#6b7683);white-space:nowrap;font-size:11px}@media (max-width:760px){.avi-grid{grid-template-columns:1fr}}.hq-tcf-group{margin-bottom:12px}.hq-tcf-label{letter-spacing:.08em;color:var(--text-muted,#6b7683);margin-bottom:6px;font-size:10px;font-weight:700}.hq-tcf-chips{flex-wrap:wrap;gap:6px;display:flex}.hq-tcf-chip{border:1px solid;border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.hq-tcf-red{color:#c0392b;background:#fdf1ef;border-color:#e5b4ad}.hq-tcf-amber{color:#8a6d1f;background:#fbf6e7;border-color:#e6d29b}.hq-tcf-when{opacity:.75;font-size:10px;font-weight:500}.hq-tcf-none{color:var(--text-muted,#6b7683);font-size:12px}.hq-tcf-foot{color:var(--text-muted,#6b7683);border-top:1px dotted var(--border,#e3e7ea);margin-top:6px;padding-top:8px;font-size:11px}.nav-viewas-banner{color:#ede4ff;background:#2c1a4d;border-bottom:1px solid #43307a;align-items:center;gap:8px;padding:8px 18px;font-size:13px;display:flex}.nav-viewas-banner strong{color:#fff}.nav-viewas-eye{font-size:14px}.nav-viewas-real{color:#b9a9e0}.nav-viewas-exit{color:#2c1a4d;cursor:pointer;background:#fff;border:none;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:12px;font-weight:700}.nav-viewas-exit:hover{background:#ede4ff}.ac-viewas-btn{border:1px solid var(--border,#d5dbe1);color:var(--text-muted,#6b7683);cursor:pointer;background:0 0;border-radius:6px;margin-right:8px;padding:3px 9px;font-size:11px;font-weight:600}.ac-viewas-btn:hover:not(:disabled){color:#7b5ea7;border-color:#7b5ea7}.ac-viewas-btn:disabled{opacity:.35;cursor:default}@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-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}
