@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}body.body-scroll-locked{overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.app-container{max-width:980px;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.app-container{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width:1024px){.app-container{padding-left:var(--space-8);padding-right:var(--space-8)}}.app-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.app-grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media (max-width:767px){.app-grid-2col,.app-grid-3col{grid-template-columns:1fr}}.app-grid-4col{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.app-grid-auto-fill-160{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.app-overlay{position:fixed;inset:0;background-color:var(--color-overlay);z-index:var(--z-overlay)}.app-hover-row{transition:background-color var(--duration-fast) var(--ease-default)}.app-hover-row:hover{background-color:var(--white-alpha-4)}.app-group .app-group-hover-show{opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.app-group:hover .app-group-hover-show{opacity:1}.app-divide-y>*+*{border-top:.5px solid var(--color-border)}.app-hidden{display:none}.app-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-transition{transition:all var(--duration-fast) var(--ease-default)}.app-transition-colors{transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.app-whitespace-pre-wrap{white-space:pre-wrap}.app-whitespace-nowrap{white-space:nowrap}.app-pointer-events-none{pointer-events:none}.app-cursor-pointer{cursor:pointer}.app-overflow-y-auto{overflow-y:auto}.app-overflow-hidden{overflow:hidden}.app-line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.border-t{border-top:.5px solid var(--color-border)}.border-b{border-bottom:.5px solid var(--color-border)}.border-l{border-left:.5px solid var(--color-border)}.border-r{border-right:.5px solid var(--color-border)}.app-shell{min-height:100vh;padding-bottom:var(--space-20)}.app-shell .app-main{padding-top:var(--space-4);padding-bottom:var(--space-24)}.app-layout .app-main{padding-top:var(--space-4);padding-bottom:var(--space-6)}.app-layout .app-container{max-width:1200px}.app-layout .app-fade-bottom{display:none}.app-floating-pill{padding:var(--space-2);background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-lg)}.app-fixed-top-right{position:fixed;top:var(--space-6);right:var(--space-6);z-index:var(--z-overlay)}.app-fixed-bottom-right{right:var(--space-4)}.app-fixed-bottom-center,.app-fixed-bottom-right{position:fixed;bottom:var(--space-4);z-index:var(--z-overlay)}.app-fixed-bottom-center{left:50%;transform:translateX(-50%)}.app-nav-btn{width:40px;height:40px;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary)}.app-nav-btn-active{color:var(--color-text)}@media (max-width:767px){.task-board-grid{grid-template-columns:1fr!important;gap:var(--space-2)!important;overflow-x:visible!important}.task-board-grid>div{min-height:auto!important}.task-list-table{min-width:0!important}.task-list-table td:nth-child(4),.task-list-table td:nth-child(6),.task-list-table th:nth-child(4),.task-list-table th:nth-child(6){display:none}.project-tab-actions{width:100%}.project-tab-actions .row{flex-wrap:wrap}}@media (min-width:768px) and (max-width:1023px){.task-board-grid{grid-template-columns:repeat(5,minmax(200px,1fr))!important}}.app-fade-bottom{position:fixed;bottom:0;left:0;right:0;height:8rem;background:linear-gradient(to top,var(--color-bg),transparent 100%);pointer-events:none;z-index:var(--z-overlay)}.settings-avatar-remove{position:absolute;top:-2px;right:-2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:2px solid var(--color-surface);background:var(--color-neutral-200);color:var(--color-text-secondary);cursor:pointer;padding:0;z-index:1}.settings-avatar-remove:hover{background:var(--color-neutral-300);color:var(--color-text)}@media (hover:hover){.settings-avatar-remove{opacity:0;transition:opacity .15s ease}.settings-avatar-wrap:hover .settings-avatar-remove{opacity:1}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .settings-avatar-remove{background:var(--color-neutral-700);border-color:var(--color-surface);color:var(--color-text-secondary)}:root:not([data-theme=light]) .settings-avatar-remove:hover{background:var(--color-neutral-600);color:var(--color-text)}}[data-theme=dark] .settings-avatar-remove{background:var(--color-neutral-700);border-color:var(--color-surface);color:var(--color-text-secondary)}[data-theme=dark] .settings-avatar-remove:hover{background:var(--color-neutral-600);color:var(--color-text)}.mobile-tab-bar{display:none}@media (max-width:767px){.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-surface);border-top:.5px solid var(--color-border);z-index:50;align-items:stretch}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--color-text-tertiary);text-decoration:none;background:none;border:none;cursor:pointer;padding:6px 4px 2px;font-size:10px;letter-spacing:.01em;transition:color var(--duration-fast) var(--ease-default);-webkit-tap-highlight-color:transparent}.mobile-tab.active{color:var(--color-text)}.mobile-tab svg{flex-shrink:0}.mobile-tab-bar-overflow{position:fixed;bottom:calc(60px + env(safe-area-inset-bottom) + 8px);left:var(--space-3);right:var(--space-3);background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:51;padding:var(--space-1-5)}.mobile-tab-bar-overflow-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;background:none;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default);-webkit-tap-highlight-color:transparent}.mobile-tab-bar-overflow-item.active,.mobile-tab-bar-overflow-item:hover{background-color:var(--color-surface-raised);color:var(--color-text)}.app-fade-bottom,.app-fixed-bottom-center,.app-fixed-bottom-right,.app-fixed-top-right{display:none!important}.app-layout .app-main,.app-shell .app-main{padding-bottom:calc(60px + env(safe-area-inset-bottom) + var(--space-6))}}.timesheet-desktop-view{display:block}.timesheet-mobile-view{display:none}@media (max-width:767px){.timesheet-project-col{min-width:130px!important;max-width:130px!important}.timesheet-week-nav{display:flex!important;flex-wrap:wrap!important;gap:var(--space-2)!important;align-items:center!important}.timesheet-week-nav>:first-child{order:1;flex:0 0 auto}.timesheet-week-nav>:nth-child(2){order:2;flex:1 1 auto}.timesheet-week-nav>:nth-child(3){order:3;flex:1 1 100%;justify-content:flex-end}.timesheet-desktop-view{display:none}.timesheet-mobile-view{display:block}.timesheet-day-nav{margin-bottom:var(--space-4);padding:var(--space-1) 0}.timesheet-day-nav,.timesheet-mobile-row{display:flex;align-items:center;justify-content:space-between}.timesheet-mobile-row{padding:var(--space-3) var(--space-2);border-bottom:.5px solid var(--color-border);gap:var(--space-3)}.timesheet-mobile-row-info{flex:1;min-width:0}.timesheet-mobile-total{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-2);border-top:2px solid var(--color-border);margin-top:var(--space-1)}.budget-sub-header{flex-direction:column!important;align-items:flex-start!important;gap:var(--space-3)!important}.budget-stats-row{gap:var(--space-4)!important}}.user-detail-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-6)}@media (max-width:767px){.user-detail-grid{grid-template-columns:1fr;gap:var(--space-5)}}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.block{display:block}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.p-0{padding:0}.p-0-5{padding:var(--space-0-5)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-12{padding:var(--space-12)}.px-1-5{padding-left:var(--space-1-5);padding-right:var(--space-1-5)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-0{padding-top:0;padding-bottom:0}.py-0-5{padding-top:var(--space-0-5);padding-bottom:var(--space-0-5)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-1-5{padding-top:var(--space-1-5);padding-bottom:var(--space-1-5)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-2-5{padding-top:var(--space-2-5);padding-bottom:var(--space-2-5)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-4{padding-bottom:var(--space-4)}.pb-8{padding-bottom:var(--space-8)}.pb-12{padding-bottom:var(--space-12)}.pl-2{padding-left:var(--space-2)}.pl-4{padding-left:var(--space-4)}.pl-6{padding-left:var(--space-6)}.pr-4{padding-right:var(--space-4)}.pr-6{padding-right:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-1-5{margin-bottom:var(--space-1-5)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mt-0-5{margin-top:var(--space-0-5)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-auto{margin-left:auto}.mr-1{margin-right:var(--space-1)}.mr-4{margin-right:var(--space-4)}.w-full{width:100%}.w-auto{width:auto}.w-40{width:160px}.h-full{height:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.self-center{align-self:center}.self-start{align-self:flex-start}.gap-0-5{gap:var(--space-0-5)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration:underline}.underline-offset-2{text-underline-offset:2px}.no-underline{text-decoration:none}.line-through{text-decoration:line-through}.tabular-nums{font-variant-numeric:tabular-nums}.tracking-widest{letter-spacing:.05em}.bg-transparent{background:transparent}.bg-none{background:none}.bg-surface{background-color:var(--color-surface)}.bg-surface-raised{background-color:var(--color-surface-raised)}.bg-accent-subtle{background-color:var(--color-accent-subtle)}.bg-bg{background-color:var(--color-bg)}.bg-border{background-color:var(--color-border)}.bg-error-light{background-color:var(--color-error-light)}.bg-warning-light{background-color:var(--color-warning-light)}.app-warning-accent{border:2px solid var(--color-warning)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.border{border:.5px solid var(--color-border)}.border-none{border:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-lg{box-shadow:var(--shadow-lg)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.resize-vertical{resize:vertical}.z-raised{z-index:var(--z-raised)}.z-dropdown{z-index:var(--z-dropdown)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.resourcing-date-jump{min-width:calc(var(--space-24) + var(--space-14));text-align:center}.resourcing-day-row{--row-gap:var(--space-0)}.resourcing-subrow{align-items:stretch}.resourcing-subrow-label{display:flex;align-items:center;min-width:0}.resourcing-subrow-label .truncate{min-width:0}.resourcing-client-header{display:flex;align-items:center;gap:var(--space-2);min-width:0}.resourcing-client-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.resourcing-chevron{flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-default)}.resourcing-chevron-open{transform:rotate(90deg)}.resourcing-day-totals{position:absolute;inset:0;pointer-events:none}.resourcing-day-total-cell{flex:1;display:flex;align-items:center;justify-content:center}.resourcing-bar-done{opacity:.55}.resourcing-bar-check{flex-shrink:0;margin-right:var(--space-1);vertical-align:middle}@media (max-width:767px){.resourcing-date-jump{flex:1 1 100%;min-width:0;text-align:left}.resourcing-date-jump .btn{width:100%;justify-content:flex-start}}.app-day-cell{cursor:cell;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-default)}.app-day-cell:hover{background-color:color-mix(in srgb,var(--color-accent-500) 8%,var(--color-surface-raised))!important}.resourcing-day-weekend{background-color:var(--color-surface-raised)}.app-cursor-grab{cursor:grab}.app-cursor-grab:active{cursor:grabbing}.app-scroll-y{overflow-y:auto;overflow-x:hidden}.app-col{display:flex;flex-direction:column}.app-self-stretch{align-self:stretch}.resourcing-grid-scroll{overflow:auto;max-height:calc(100vh - 220px)}.resourcing-grid-inner{position:relative}.resourcing-header-sticky{position:sticky;top:0;z-index:8}.resourcing-corner-cell{position:sticky;left:0;z-index:9;background:var(--color-surface-raised)}.resourcing-today-daynum{color:var(--color-text-accent);font-weight:var(--weight-medium)}.resourcing-today-line{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:color-mix(in srgb,var(--color-accent-500) 45%,transparent);pointer-events:none;z-index:5}.resourcing-capacity-arch{position:absolute;inset:0;pointer-events:none;overflow:hidden}.resourcing-capacity-arch svg{display:block;width:100%;height:100%}.resourcing-rail-col{width:240px;flex-shrink:0}.resourcing-day-col{flex:1}.resourcing-section-label{position:sticky;left:0;width:240px;background:var(--color-surface-raised)}.resourcing-rail-sticky{width:240px;flex-shrink:0;position:sticky;left:0;z-index:6;background:var(--color-surface)}.resourcing-client-header.resourcing-rail-sticky{padding-left:16px}.resourcing-subrow-label.resourcing-rail-sticky{align-items:flex-start}.resourcing-lane-band,.resourcing-rail-stack{width:100%;min-width:0}.resourcing-lane-band{height:26px;display:flex;align-items:center}.resourcing-capacity-bar{width:90px}.resourcing-create-floor{min-height:34px}.resourcing-create-floor-sm{min-height:26px}.resourcing-cell{flex:1;height:100%}.resourcing-day-track{max-height:140px}.resourcing-bar-handle{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.resourcing-bar-handle-l{left:0}.resourcing-bar-handle-r{right:0}.resourcing-placeholder-track{position:relative;flex:1;height:34px}.resourcing-placeholder-cells{height:100%}.resourcing-create-overlay{position:absolute;margin-left:2px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent-500) 22%,transparent);border:1px solid var(--color-accent-500,var(--color-text-accent));display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:4}.resourcing-create-overlay-full{top:4px;bottom:4px}.resourcing-context-menu{position:fixed;z-index:1000;display:block}.resourcing-jump-scrim{position:fixed;inset:0;z-index:var(--z-overlay)}.resourcing-jump-popover{position:absolute;top:calc(100% + var(--space-1));left:50%;transform:translateX(-50%);z-index:var(--z-modal)}.opacity-60{opacity:.6}.opacity-50{opacity:.5}.opacity-40{opacity:.4}.opacity-0{opacity:0}.border-collapse{border-collapse:collapse}.rotate-180{transform:rotate(180deg)}.min-h-board-col{min-height:400px}.app-loading-page{min-height:60vh}.app-line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cal-grid-7{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.ts-th-project{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:.5px solid var(--color-border);min-width:200px;position:sticky;left:0;background:var(--color-surface);z-index:1}.ts-th-day{min-width:72px}.ts-th-day,.ts-th-total{text-align:center;padding:var(--space-2);border-bottom:.5px solid var(--color-border)}.ts-th-total{min-width:64px}.ts-td-project{padding:var(--space-2) var(--space-3);border-bottom:.5px solid var(--color-border);text-align:left;font-weight:400;position:sticky;left:0;background:var(--color-surface);z-index:1}.ts-td-day{padding:var(--space-1)}.ts-td-day,.ts-td-total{border-bottom:.5px solid var(--color-border);text-align:center}.ts-td-total{padding:var(--space-2)}.ts-tfoot-project{padding:var(--space-2) var(--space-3);border-top:2px solid var(--color-border);text-align:left;position:sticky;left:0;background:var(--color-surface);z-index:1}.ts-tfoot-day,.ts-tfoot-total{text-align:center;padding:var(--space-2);border-top:2px solid var(--color-border)}.ts-tfoot-total{background:var(--color-surface-raised)}.confirm-dialog-icon{width:2.5rem;height:2.5rem}.error-boundary-container{min-height:100vh;padding:var(--space-8)}.mobile-tab-bar-backdrop{position:fixed;inset:0;z-index:49}.notif-bell-btn{width:40px;height:40px;border-radius:var(--radius-full);background:transparent;position:relative;border:none;cursor:pointer}.notif-unread-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;padding:0;font-size:10px;justify-content:center;color:#fff;background-color:var(--color-error)}.notif-panel-base{position:absolute;width:380px;max-height:480px;background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:var(--z-dropdown)}.notif-panel-pill-up{bottom:calc(100% + var(--space-4));left:50%;transform:translateX(-50%)}.notif-panel-pill-down{top:calc(100% + var(--space-4));right:0}.notif-scroll{overflow-y:auto;max-height:460px}.notif-empty{text-align:center;padding:var(--space-8)}.mention-dropdown{position:absolute;bottom:100%;left:0;right:0;margin-bottom:var(--space-1);background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow:auto;z-index:100}.mention-item{width:100%;padding:var(--space-2) var(--space-3);border:none;text-align:left;cursor:pointer}.mention-item-active{background:var(--color-surface-raised)}.mention-avatar{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent-100);color:var(--color-accent-700)}.toast-container{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:100}.toast-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.toast-success{background:var(--color-success);color:var(--color-white)}.toast-error{background:var(--color-error);color:var(--color-white)}.toast-info{background:var(--color-surface);border:.5px solid var(--color-border);color:var(--color-text)}.toast-dismiss{margin-left:var(--space-2);opacity:.75;color:inherit}.settings-avatar-btn,.toast-dismiss{background:none;border:none;cursor:pointer}.settings-avatar-btn{padding:0}.settings-hidden-input{display:none}.report-stats-2{grid-template-columns:repeat(2,1fr)}.report-stats-3{grid-template-columns:repeat(3,1fr)}.report-stats-4{grid-template-columns:repeat(4,1fr)}.report-stats-auto-160{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.report-stats-auto-200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.report-grid-hours{grid-template-columns:1fr 60px 60px}.report-grid-capacity{grid-template-columns:1fr 52px 40px}.report-grid-project{grid-template-columns:1fr 74px 74px 40px}.report-grid-allocation{grid-template-columns:1fr 56px 56px 56px}.report-summary-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.report-period-nav{grid-template-columns:1fr auto 1fr}.report-multiselect-trigger{min-width:120px}.report-multiselect-scrim{position:fixed;inset:0;z-index:var(--z-overlay)}.report-multiselect-menu{position:absolute;top:100%;left:0;margin-top:var(--space-1);min-width:200px;max-height:280px;overflow-y:auto;z-index:var(--z-modal);padding:var(--space-2)}.report-health-track{height:6px;background:var(--color-surface-raised)}.report-health-bar{height:100%;transition:width var(--duration-normal) var(--ease-default)}.report-team-grid{padding:var(--space-2) var(--space-4);border-bottom:.5px solid var(--color-border)}.report-team-grid,.report-team-row{display:grid;grid-template-columns:1fr 52px 80px;gap:var(--space-2)}.report-team-row{padding:var(--space-2-5) var(--space-4);align-items:center}.report-team-grid-hours-only,.report-team-row-hours-only{grid-template-columns:1fr 80px}.report-col-header{font-weight:600;text-transform:uppercase;letter-spacing:.05em}.font-tabular{font-variant-numeric:tabular-nums}.cap-pill{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:400;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-default);white-space:nowrap}.cap-pill-active{font-weight:600;border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.cap-bar-track{flex:1;border-radius:var(--radius-full);overflow:hidden;height:8px;background:var(--color-track)}.cap-bar-track>div{height:100%;border-radius:var(--radius-full)}.cap-util-label{width:40px;text-align:right}.cap-table{min-width:540px}.cap-th-util{min-width:200px}.tl-bulk-bar{padding:var(--space-2) var(--space-3);background:var(--color-accent-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.tl-inline-select{padding:var(--space-1) var(--space-2);border:.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.tl-td{padding:var(--space-2) var(--space-3)}.tl-td-check{padding:var(--space-2)}.tl-chevron-btn{background:transparent;border:none;padding:0;cursor:pointer;color:var(--color-text-tertiary);display:flex;align-items:center;flex-shrink:0;transition:transform .15s ease,opacity .15s ease}.tl-subtask-badge{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:var(--radius-sm);background:var(--color-surface-raised);font-size:11px;color:var(--color-text-secondary);font-weight:500}.tl-add-subtask-btn,.tl-subtask-badge{border:.5px solid var(--color-border);cursor:pointer;white-space:nowrap}.tl-add-subtask-btn{background:transparent;border-radius:var(--radius-sm);padding:0 var(--space-1);margin-left:auto}.tl-subtask-td{padding:var(--space-2) var(--space-3);padding-left:var(--space-8);border-left:1px solid var(--color-border)}.tl-add-task-btn{background:transparent;border:none;padding:0}.tl-service-tag{padding:0 var(--space-1);border-radius:var(--radius-sm);font-weight:500;white-space:nowrap}.wiki-title-input{background:none;border:none;font-size:var(--text-2xl);font-weight:var(--weight-medium);color:var(--color-text);font-family:var(--font-sans);padding:0;flex:1;min-width:0}.wiki-title-input::placeholder{color:var(--color-text-tertiary)}.wiki-editor-toolbar-sep{width:1px;height:18px;background:var(--color-border);margin:0 var(--space-1)}.wiki-editor-content{min-height:60vh}.wiki-editor-content .ProseMirror{min-height:60vh;padding:var(--space-4);font-size:var(--text-sm);line-height:1.7;color:var(--color-text)}.wiki-editor-content .ProseMirror p{margin-bottom:var(--space-3)}.wiki-editor-content .ProseMirror h1{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-3);margin-top:var(--space-5)}.wiki-editor-content .ProseMirror h2{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2);margin-top:var(--space-4)}.wiki-editor-content .ProseMirror h3{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2);margin-top:var(--space-3)}.wiki-editor-content .ProseMirror ul{padding-left:var(--space-5);margin-bottom:var(--space-3)}.wiki-editor-content .ProseMirror li{margin-bottom:var(--space-1)}.wiki-editor-content .ProseMirror a{color:var(--color-accent-600);text-decoration:underline;text-underline-offset:2px}.wiki-editor-content .ProseMirror hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}.wiki-editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-tertiary);pointer-events:none;float:left;height:0}.wiki-page-content{max-width:720px;line-height:1.7}.wiki-page-content h1{font-size:var(--text-2xl);font-weight:var(--weight-medium);margin:var(--space-6) 0 var(--space-3)}.wiki-page-content h2{font-size:var(--text-xl);font-weight:var(--weight-medium);margin:var(--space-5) 0 var(--space-2)}.wiki-page-content h3{font-size:var(--text-md);font-weight:var(--weight-medium);margin:var(--space-4) 0 var(--space-2)}.wiki-page-content h4{font-size:var(--text-base);font-weight:var(--weight-medium);margin:var(--space-3) 0 var(--space-1)}.wiki-page-content p{margin:var(--space-3) 0;color:var(--color-text)}.wiki-page-content ol,.wiki-page-content ul{padding-left:var(--space-6);margin:var(--space-3) 0}.wiki-page-content li{margin:var(--space-1) 0}.wiki-page-content code{background:var(--color-surface-raised);padding:2px var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em}.wiki-page-content pre{background:var(--color-surface-raised);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-4) 0}.wiki-page-content pre code{background:none;padding:0}.wiki-page-content a{color:var(--color-text-accent);text-decoration:underline}.wiki-page-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.wiki-page-content blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-4);color:var(--color-text-secondary);margin:var(--space-4) 0}.wiki-page-content img{max-width:100%;border-radius:var(--radius-md)}.wiki-page-content table{width:100%;border-collapse:collapse;margin:var(--space-4) 0}.wiki-page-content td,.wiki-page-content th{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.wiki-page-content th{background:var(--color-surface-raised);font-weight:var(--weight-medium)}.wiki-hero-banner{background:#0f172a url(/wiki-banner.png) 50%/cover no-repeat;color:var(--color-white)}.wiki-hero-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.85),rgba(15,23,42,.5))}.checkbox-icon{width:16px;height:16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-icon.checked{background:var(--color-accent-500,#00fe7f);border-color:var(--color-accent-500,#00fe7f);color:#000}.rev-legend-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.rev-tl-scroll{max-height:400px;overflow-y:auto;position:relative}.rev-tl-header{display:flex;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-1);margin-bottom:var(--space-1);position:sticky;top:0;z-index:var(--z-raised);background:var(--color-surface)}.rev-tl-month{flex:1;text-align:center;color:#8b877f}.rev-tl-month-current{color:#00d46b;font-weight:var(--weight-medium)}.rev-tl-body{position:relative}.rev-tl-row{display:flex;align-items:center;height:28px}.rev-tl-label{width:100px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rev-tl-track{flex:1;position:relative;height:100%}.rev-tl-bar{position:absolute;top:4px;height:20px;border-radius:var(--radius-sm);opacity:.7}.rev-tl-now{width:0;border-left:1px dashed #ef4444;z-index:var(--z-raised)}.rev-tl-grid-line,.rev-tl-now{position:absolute;top:0;bottom:0;pointer-events:none}.rev-tl-grid-line{width:1px;background:var(--color-border)}.rev-kpi-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3)}.rev-kpi-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.rev-kpi-card{min-width:0;width:100%;padding:var(--space-3) var(--space-4);border:none;text-align:left}.rev-kpi-card .stat-label{white-space:normal;line-height:var(--leading-tight)}.rev-kpi-card .stat-description,.rev-kpi-card .stat-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rev-kpi-card .stat-value{font-size:var(--text-2xl)}@media (max-width:1100px){.rev-kpi-grid-6{grid-template-columns:repeat(3,1fr)}.rev-kpi-grid-4{grid-template-columns:repeat(2,1fr)}}.rev-lock-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-xs)}.rev-legend-circle{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.rev-table-scroll{overflow:auto;max-height:calc(100vh - 220px)}.rev-sticky-col{position:sticky;z-index:2;background:var(--color-surface)}.data-table thead th.rev-sticky-col{position:sticky;top:0;z-index:5;background:var(--color-neutral-25)}.rev-sticky-thead th{position:sticky;top:0;background:var(--color-neutral-25);z-index:3}.rev-sticky-last{box-shadow:4px 0 8px -2px rgba(0,0,0,.35)}.app-hover-row:hover .rev-sticky-col{background:var(--color-surface-raised)}@media (max-width:767px){.rev-table-scroll{max-height:none}.data-table thead th.rev-sticky-col,.rev-sticky-col{position:static}.rev-sticky-last{box-shadow:none}.modal-size-xl{max-width:100%}}.iverson-logo{filter:brightness(0) invert(1)}@media (prefers-color-scheme:light){.iverson-logo{filter:brightness(0)}}[data-theme=light] .iverson-logo{filter:brightness(0)}.app-row-overdue{background-color:color-mix(in srgb,var(--color-error) 6%,transparent)}.app-row-overdue:hover{background-color:color-mix(in srgb,var(--color-error) 10%,transparent)}.app-overdue-alert{background:color-mix(in srgb,var(--color-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent)}.cash-forecast-scroll{overflow-x:auto;min-width:0;width:100%;max-width:100%}.cash-forecast-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:1200px}.cash-forecast-table thead th{padding:var(--space-3) var(--space-2);text-align:right;font-weight:var(--weight-normal);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:var(--z-sticky)}.cash-forecast-table thead th.cash-forecast-label-col{text-align:left}.cash-forecast-label-col{text-align:left;padding:var(--space-2) var(--space-3);min-width:220px;max-width:280px;position:sticky;left:0;background:var(--color-surface);z-index:var(--z-raised);border-right:1px solid var(--color-border)}.cash-forecast-week-col{min-width:100px}.cash-forecast-cell{padding:0;text-align:right;font-variant-numeric:tabular-nums}.cash-forecast-cell,.cash-forecast-row td{border-bottom:1px solid var(--color-border)}.cash-forecast-row:hover .cash-forecast-cell,.cash-forecast-row:hover .cash-forecast-label-col{background:var(--color-surface-raised)}.cash-forecast-cell-display{width:100%;height:36px;padding:0 var(--space-3);background:transparent;border:none;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);cursor:text;font-size:var(--text-sm)}.cash-forecast-cell-display:hover{background:var(--color-surface-raised)}.cash-forecast-cell-input{width:100%;text-align:right;font-variant-numeric:tabular-nums;border-radius:0}.cash-forecast-label-input{border:none;background:transparent;padding-left:var(--space-1);flex:1;min-width:0}.cash-forecast-label-input:focus,.cash-forecast-section-header td{background:var(--color-surface-raised)}.cash-forecast-section-header td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.cash-forecast-section-header .cash-forecast-label-col{background:var(--color-surface-raised);text-align:left}.cash-forecast-section-total{font-weight:var(--weight-medium);color:var(--color-text)}.cash-forecast-chevron{transition:transform var(--duration-fast) var(--ease-default)}.cash-forecast-chevron[data-collapsed=true]{transform:rotate(-90deg)}.cash-forecast-summary-row td{padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-raised);text-align:right;font-variant-numeric:tabular-nums}.cash-forecast-summary-row-strong td{border-top:2px solid var(--color-text);font-weight:var(--weight-medium);color:var(--color-text)}.cash-forecast-summary-cell{font-variant-numeric:tabular-nums}.cash-forecast-loading{padding:var(--space-12)}.cash-forecast-row-auto td{background:color-mix(in srgb,var(--color-accent-500) 5%,transparent)}.cash-forecast-row-auto:hover .cash-forecast-cell,.cash-forecast-row-auto:hover .cash-forecast-label-col{background:color-mix(in srgb,var(--color-accent-500) 8%,transparent)}.cash-forecast-auto-label{flex:1;min-width:0}.cash-forecast-cell-overridden .cash-forecast-cell-display{font-weight:var(--weight-medium)}.cash-forecast-cell-override-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-accent-500,var(--color-text-accent,var(--color-text)));margin-right:var(--space-2);vertical-align:middle}.cash-forecast-cell-auto-wrap{position:relative;display:flex;align-items:center;justify-content:flex-end}.cash-forecast-cell-reset{position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.cash-forecast-cell-reset:hover{background:var(--color-surface-raised);color:var(--color-text)}.cash-forecast-summary-row-sweep td{background:color-mix(in srgb,var(--color-accent-500) 8%,transparent)}.cash-forecast-empty-hint{padding:var(--space-2) var(--space-3);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);text-align:left!important;position:static!important;max-width:none!important}.cash-forecast-inline-spinner{display:inline-block;vertical-align:middle;margin-left:var(--space-1)}.cash-forecast-settings-field{width:100%;font-variant-numeric:tabular-nums}.approvals-chevron-icon{transition:transform var(--duration-fast) var(--ease-default)}.approvals-chevron-icon[data-expanded=true]{transform:rotate(90deg)}.approvals-breakdown-category td,.approvals-breakdown-project td{background:var(--color-surface-raised);border-bottom:none}.approvals-breakdown-project+.approvals-breakdown-category td{background:var(--color-surface-raised)}.approvals-breakdown-indent{padding-left:var(--space-8);align-items:center}.approvals-category-indent{padding-left:var(--space-12)}.approvals-project-dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.approvals-table td.approvals-day,.approvals-table th.approvals-day{text-align:center}.approvals-table td.approvals-action,.approvals-table th.approvals-action{text-align:right}.approvals-task-trigger{min-width:calc(var(--space-24) * 2.5)}.approvals-task-picker{max-height:calc(var(--space-24) * 4 + var(--space-4))}.approvals-day-input{width:calc(var(--control-height-sm) * 2)}.approvals-fill-input{width:var(--space-12)}.clients-row-grid{display:grid;grid-template-columns:minmax(0,1fr) 132px 220px 96px;align-items:center;gap:var(--space-4)}.clients-col-header{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.clients-summary-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.clients-summary-pill{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:2px var(--space-2-5);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-xs)}.clients-summary-meta{color:var(--color-text-secondary)}.health-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.health-dot-off-track{background:var(--color-error)}.health-dot-at-risk{background:var(--color-warning)}.health-dot-on-track{background:var(--color-success)}.health-dot-on-hold{background:var(--color-text-tertiary)}.health-dot-completed{background:var(--color-accent-500,var(--color-text-secondary))}.health-dot-lead{background:var(--color-neutral-400)}.health-dot-onboarding{background:var(--color-accent-600,var(--color-accent-500))}.util-target-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.util-target-dot-under{background:var(--color-warning)}.util-target-dot-on{background:var(--color-success)}.util-target-dot-over{background:var(--color-error)}.util-target-label{font-size:var(--text-xs);color:var(--color-text-tertiary);white-space:nowrap}.cap-row-non-billable{opacity:.55}.cap-row-non-billable:hover{opacity:.85}.timeline-cell{font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-cell,.timeline-days{color:var(--color-text-secondary)}.timeline-days-overdue{color:var(--color-error);font-weight:var(--weight-medium)}.clients-type-cell{font-size:var(--text-xs);color:var(--color-text-secondary)}@media (max-width:767px){.clients-row-grid{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.clients-col-header{display:none}}.app-card-allow-overflow{overflow:visible}.booking-swatch{width:var(--space-6);height:var(--space-6);padding:0;border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;outline:1px solid var(--color-border);outline-offset:-1px;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.booking-swatch:hover{transform:scale(1.1)}.booking-swatch[data-focus-visible-added],:root:not([data-focus-ring-managed]) .booking-swatch:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.booking-swatch-active{border-color:var(--color-text);box-shadow:var(--shadow-sm)}.booking-color-popover{position:absolute;top:calc(100% + var(--space-1));left:0;width:max-content}.planning-section-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.planning-section-head:hover{box-shadow:var(--shadow-sm)}.planning-section-head:hover,.planning-section-head[data-open=true]{border-color:var(--color-border-hover)}.planning-section-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:rgba(0,254,127,.12);color:var(--color-text-accent);flex-shrink:0}.planning-section-cue{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-tertiary);letter-spacing:.02em}.btn-accent{background:var(--color-accent-500);color:var(--color-neutral-950);border-color:var(--color-accent-500);font-weight:var(--weight-medium)}.btn-accent:hover{filter:brightness(.94)}.info-tip{position:relative;display:inline-flex;align-items:center;color:var(--color-text-tertiary);cursor:help}.info-tip:hover{color:var(--color-text-secondary)}.info-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:0;width:280px;max-width:78vw;white-space:normal;text-align:left;line-height:var(--leading-normal);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-default);z-index:var(--z-tooltip)}.info-tip:hover:after{opacity:1}.planning-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}@media (max-width:767px){.planning-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}.cap-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-gantt{display:flex;align-items:stretch}.cc-gantt-labels{flex:0 0 200px;border-right:1px solid var(--color-border);background:var(--color-surface)}.cc-gantt-scroll{flex:1 1 auto;min-width:0;overflow-x:auto}.cc-gantt-row,.cc-gantt-scroll,.cc-gantt-track{position:relative}.cc-gantt-row{height:52px;box-sizing:border-box;border-bottom:.5px solid var(--color-border)}.cc-gantt-labels .cc-gantt-row:last-child,.cc-gantt-track .cc-gantt-row:last-child{border-bottom:none}.cc-gantt-headrow{height:32px;background:var(--color-surface-raised)}.cc-gantt-labelcell{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 var(--space-3);overflow:hidden}.cc-gantt-month{position:absolute;top:0;height:32px;display:flex;align-items:center;padding-left:6px;font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500;border-left:.5px solid var(--color-border);white-space:nowrap;overflow:hidden}.cc-gantt-now{color:var(--color-text-error);font-weight:600}.cc-gantt-grid{position:absolute;top:0;bottom:0;width:0;border-left:.5px solid color-mix(in srgb,var(--color-border) 40%,transparent)}.cc-gantt-bar{position:absolute;top:50%;transform:translateY(-50%);height:22px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-text-secondary) 28%,transparent);border-left:3px solid var(--color-text-secondary);z-index:1}.cc-gantt-bar-active{background:color-mix(in srgb,var(--color-accent-500) 40%,transparent);border-left-color:var(--color-accent-600)}.cc-gantt-today{position:absolute;top:0;bottom:0;width:2px;background:var(--color-error);z-index:3;pointer-events:none}.project-code-page{padding-top:var(--space-6);padding-bottom:var(--space-12)}.project-code-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.project-code-chip:hover{background:var(--color-surface-raised)}.project-code-chip .project-code-copy-icon{opacity:0;color:var(--color-text-tertiary);transition:opacity var(--duration-fast) var(--ease-default)}.project-code-chip:hover .project-code-copy-icon,.project-code-chip[data-focus-visible-added] .project-code-copy-icon,:root:not([data-focus-ring-managed]) .project-code-chip:focus-visible .project-code-copy-icon{opacity:1}.pb-producer-select{min-width:160px}.pb-hours-input{width:84px;text-align:right;margin-left:auto}.pb-col-hours{width:120px}.pb-col-producer{width:200px}.pb-client-row td{background:var(--color-surface);border-top:.5px solid var(--color-border);border-bottom:.5px solid var(--color-border)}.pb-client-row:first-child td{border-top:none}.pb-project-cell{padding-left:var(--space-8)}.pb-client-count{font-variant-numeric:tabular-nums}.project-code-msg-cell{text-align:center;color:var(--color-text-tertiary);padding:var(--space-10) var(--space-4)}.app-fieldset-reset{border:none;margin:0;padding:0;min-width:0;display:block}.app-fieldset-reset:disabled{opacity:.75}.crm-field .input:not(.w-auto){width:100%}.staffing-cell-actual{font-size:var(--text-xs);line-height:1.2;text-align:center;padding:3px 2px 0;color:var(--color-text-accent);font-variant-numeric:tabular-nums}.staffing-cell-plan-past{font-size:10px;border-top:.5px dashed var(--color-border);margin:0 3px}.forecast-person-row td{background-color:var(--color-surface-raised)}.forecast-person-row td:first-child{color:var(--color-text-tertiary)}.crm-row-actions{width:44px;text-align:right;padding-left:0}.crm-companies-table th:first-child,.crm-contacts-table th:first-child{min-width:180px}.crm-companies-table td,.crm-contacts-table td{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-min-w-56{min-width:224px}.resourcing-alloc-chip{margin-left:var(--space-2);font-size:10px;padding:0 var(--space-1)}.resourcing-alloc-hours{color:var(--color-text-tertiary);opacity:.85}.resourcing-unstaffed-note{position:absolute;top:50%;left:var(--space-3);right:var(--space-3);transform:translateY(-50%);pointer-events:none;flex-wrap:wrap}.resourcing-unstaffed-summary{background:var(--color-surface-raised);border-radius:0;position:sticky;left:0}.tl-estimate-input{width:100%;max-width:72px;padding-inline:var(--space-2)}