@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}.visible{visibility:visible}.relative{position:relative}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.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)}.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}.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-rfp:#b8860b;--status-rfp-bg:#fdf6e3;--status-rfp-border:#f0dfa0;--status-upcoming:#3b7d5a;--status-upcoming-bg:#eef7f1;--status-upcoming-border:#c9e4d4;--status-potential:#9e5a8e;--status-potential-bg:#f8eef5;--status-potential-border:#e6cde0;--status-onhold:#777;--status-onhold-bg:#f2f2f0;--status-onhold-border:#ddd;--status-rfp-active:#c47a10;--status-rfp-active-bg:#fef3e0;--status-rfp-active-border:#f5d98c;--status-paused:#999;--status-paused-bg:#f0f0ee;--status-paused-border:#ddd;--status-opportunity:#c4713b;--status-opportunity-bg:#fdf0e6;--status-opportunity-border:#f0d0b0;--status-completed:#2e7d32;--status-completed-bg:#e8f5e9;--status-completed-border:#a5d6a7;--status-cancelled:#b71c1c;--status-cancelled-bg:#ffebee;--status-cancelled-border:#ef9a9a;--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:hidden}.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)}.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:#00000005;border-width:2px}.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:480px;max-width:95vw;max-height:85vh;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-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-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-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{padding:0 4px}.pipe-col-name{flex:2;min-width:180px}.pipe-col-q{text-align:center;flex:0 0 50px}.pipe-col-status{text-align:center;flex:0 0 80px}.pipe-col-num{text-align:right;font-variant-numeric:tabular-nums;flex:1;min-width:90px}.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);width:16px;font-size:12px}.pipe-account-name{color:var(--text);flex:1;font-size:13px;font-weight:700}.pipe-account-count{color:var(--text-muted);font-size:11px}.pipe-account-rev{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.pipe-account-fees{color:var(--text-muted);font-size:11px}.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-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}.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}.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}.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:13px}.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:10px 8px;font-size:11px;font-weight:600}.staffing-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:6px 8px}.staffing-table .role-col{min-width:180px}.role-select{width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px;font-size:13px}.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:80px}.phase-weeks{color:var(--text-light);font-size:10px;font-weight:400}.hrs-input{border:1px solid var(--border-subtle);text-align:center;background:var(--input-bg);width:52px;color:var(--text);border-radius:4px;padding:4px 6px;font-size:13px}.hrs-input:focus{border-color:var(--accent);background:#fff;outline:none}.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}.workback-tab{width:100%}.workback-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.workback-project{color:var(--text-muted);font-size:13px;font-weight:500}.cr-summary{background:var(--input-bg);border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:20px;padding:14px}.cr-summary h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 10px;font-size:13px}.cr-rounds{flex-wrap:wrap;gap:12px;display:flex}.cr-round-card{background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:200px;padding:10px 14px}.cr-round-label{font-family:var(--font-bebas), "Bebas Neue", sans-serif;color:#1565c0;margin-bottom:4px;font-size:18px}.cr-round-detail{color:var(--text);flex-direction:column;gap:2px;font-size:12px;display:flex}.cr-present{font-weight:600}.cr-feedback{color:var(--text-muted)}.workback-legend{color:var(--text-muted);gap:16px;margin-bottom:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-swatch{border-radius:2px;width:14px;height:6px;display:inline-block}.workback-grid-wrap{border:1px solid var(--border);background:var(--card);border-radius:10px;margin-bottom:24px;overflow-x:auto}.workback-grid{border-collapse:collapse;width:100%;font-size:12px}.workback-grid th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:center;padding:6px 8px;font-size:10px;font-weight:600}.workback-grid th.workback-week-label{text-align:left;width:80px}.workback-week-row td{border-bottom:1px solid var(--border-subtle)}td.workback-week-label{color:var(--text-muted);white-space:nowrap;padding:4px 8px;font-size:11px;font-weight:500}.workback-day{vertical-align:top;width:13%;min-width:90px;height:60px;padding:3px 4px;position:relative}.workback-day.weekend{background:var(--input-bg);opacity:.4}.workback-day.holiday{background:#fef3e0}.workback-day-num{color:var(--text-light);margin-bottom:2px;font-size:10px}.workback-phase-bar{border-radius:2px;height:5px;margin-bottom:2px}.workback-milestone{white-space:nowrap;text-overflow:ellipsis;border-radius:2px;margin-bottom:1px;padding:1px 3px;font-size:9px;line-height:1.2;overflow:hidden}.workback-milestone.cr_present{color:#1565c0;background:#e3f2fd;font-weight:600}.workback-milestone.cr_feedback{color:#7b1fa2;background:#f3e5f5}.workback-milestone.marker{font-weight:700}.milestone-text{font-size:9px}.workback-holiday-mark{text-align:center;margin-top:4px;font-size:12px}.workback-milestone-list{margin-top:8px}.workback-milestone-list h4{font-family:var(--font-bebas), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text-muted);margin:0 0 10px;font-size:14px}.milestone-items{flex-direction:column;gap:4px;display:flex}.milestone-item{border-radius:6px;gap:12px;padding:6px 10px;font-size:13px;display:flex}.milestone-item:hover{background:var(--input-bg)}.milestone-date{min-width:120px;color:var(--text-muted);font-size:12px}.milestone-label{color:var(--text)}.milestone-label.bold{font-weight:600}.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}@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}
