@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}}@font-face{font-family:Favorit;src:url(/typefaces/favorit-regular.woff2)format("woff2"),url(/typefaces/favorit-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Favorit;src:url(/typefaces/favorit-regularitalic.woff2)format("woff2"),url(/typefaces/favorit-regularitalic.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Favorit;src:url(/typefaces/favorit-book.woff2)format("woff2"),url(/typefaces/favorit-book.woff)format("woff");font-weight:450;font-style:normal;font-display:swap}@font-face{font-family:Favorit;src:url(/typefaces/favorit-medium.woff2)format("woff2"),url(/typefaces/favorit-medium.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Favorit;src:url(/typefaces/favorit-bold.woff2)format("woff2"),url(/typefaces/favorit-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Monarch Nova;src:url(/typefaces/monarch-nova.woff2)format("woff2"),url(/typefaces/monarch-nova.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--font-display:"Monarch Nova", Georgia, "Times New Roman", serif;--font-body:"Favorit", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.6875rem;--text-sm:.78rem;--text-base:.875rem;--text-md:.985rem;--text-lg:1.108rem;--text-xl:1.246rem;--text-2xl:1.578rem;--text-3xl:2rem;--text-hero:2.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--ink:#1a1a1a;--ink-2:#6b6b6b;--ink-3:#9a9a96;--red:#d2232a;--red-soft:#fdf2f2;--green:#2d6a4f;--green-soft:#eef5f1;--amber:#b47908;--amber-soft:#fbf6ea;--white:#fff;--ivory:#faf9f6;--surface:#fff;--border:#ecebe6;--sidebar-bg:#18181b;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1414140a, 0 1px 3px #1414140d;--shadow-md:0 2px 6px #1414140d, 0 8px 24px #14141412;--ease:cubic-bezier(.4, 0, .2, 1);--dur:.15s;--sidebar-w:220px;--black:var(--sidebar-bg);--neutral:var(--ivory);--gray-light:#f3f2ee;--gray-mid:var(--ink-3);--gray-dark:var(--ink-2);--red-light:var(--red-soft);--green-light:var(--green-soft);--yellow:var(--amber);--yellow-light:var(--amber-soft)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-body);font-size:var(--text-base);background:var(--ivory);color:var(--ink);text-wrap:pretty;min-height:100vh;margin:0;line-height:1.5}.data-table td,.tile-number,.tile-sub,.plain-amount-line,.field-value,.totals-amount,.ytd-amount,.hours-num,.amount-num,.util-big{font-variant-numeric:tabular-nums}.page-greeting,.card-title,.section-title,.form-section-title,.tile-title{text-wrap:balance;line-height:1.25}.sidebar{width:var(--sidebar-w);background:var(--black);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid #ffffff14;padding:24px}.logo-wordmark{background-color:var(--white);width:150px;height:29px;-webkit-mask:url(/brand/logo-wordmark.svg) 0/contain no-repeat;mask:url(/brand/logo-wordmark.svg) 0/contain no-repeat}.logo-subtitle{font-family:var(--font-body), sans-serif;font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-top:var(--space-2);font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:0;min-height:0;padding:16px 12px 0;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);color:#ffffff80;font-size:var(--text-base);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-weight:400;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:#fffc;background:#ffffff0f}.nav-item.active{background:var(--white);color:var(--black);font-weight:600}button.nav-parent{text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.nav-item.expanded{color:#ffffffd9;font-weight:500}.nav-item-child{font-size:var(--text-sm);padding-left:32px}.nav-item .nav-chevron{font-size:var(--text-xs);opacity:.65;flex-shrink:0;line-height:1}.sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:0;margin-top:auto;padding:12px 12px 16px;display:flex}.sign-out-row{text-align:left;border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);color:#ffffff80;cursor:pointer;font-family:var(--font-body), sans-serif;background:0 0;border:none;padding:8px 12px;display:block}.sign-out-row:hover{color:var(--white);background:#ffffff0f}.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh}.page-header{justify-content:space-between;align-items:flex-end;max-width:1180px;margin:0;padding:24px 32px 0;display:flex}.page-greeting{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--ink);letter-spacing:-.01em;font-weight:400}.page-date{font-size:var(--text-sm);color:var(--ink-3);padding-bottom:var(--space-2);font-weight:400}.content{flex-direction:column;gap:16px;width:100%;max-width:1180px;margin:0;padding:16px 32px 32px;display:flex}.content-wide,.page-header-wide{max-width:none}.table-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:320px;max-width:100%;font-size:var(--text-base);font-family:var(--font-body), sans-serif;background:var(--white);color:var(--black);outline:none;padding:8px 12px}.table-search-input:focus{border-color:var(--black)}.red-line{background:var(--red);border-radius:var(--radius-sm);width:32px;height:2px;margin:4px 0 16px}.section-title{font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--gray-mid);margin-bottom:8px;font-weight:600}.section-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);background:0 0;display:flex}.card-title{font-family:var(--font-body);font-size:var(--text-md);letter-spacing:0;color:var(--ink);font-weight:500}.card-body{padding:var(--space-4)}.readonly-banner{background:var(--red-light);border:1px solid var(--red);border-left:4px solid var(--red);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--red);letter-spacing:.2px;padding:12px 16px;font-weight:600}.login-page{background:var(--neutral);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);width:360px;padding:32px}.login-logo{background-color:var(--black);width:190px;height:36px;margin:0 auto 4px;-webkit-mask:url(/brand/logo-wordmark.svg) 50%/contain no-repeat;mask:url(/brand/logo-wordmark.svg) 50%/contain no-repeat}.login-subtitle{font-size:var(--text-sm);letter-spacing:3px;text-transform:uppercase;color:var(--red);text-align:center;margin-bottom:24px;font-weight:500}.login-field{margin-bottom:16px}.login-field label{font-size:var(--text-xs);color:var(--gray-mid);margin-bottom:4px;display:block}.login-field input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);font-family:var(--font-body), sans-serif;background:var(--gray-light);outline:none;padding:8px 12px}.login-field input:focus{border-color:var(--black);background:var(--white)}.login-btn{background:var(--black);width:100%;color:var(--white);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;font-weight:600;font-family:var(--font-body), sans-serif;border:none;margin-top:4px;padding:12px}.login-btn:hover{opacity:.9}.login-error{background:var(--red-light);color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:16px;padding:8px 12px}.login-success{background:var(--green-light);color:var(--green);border:1px solid var(--green);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:16px;padding:8px 12px}.forgot-link{text-align:center;width:100%;font-size:var(--text-sm);color:var(--gray-mid);cursor:pointer;font-family:var(--font-body), sans-serif;background:0 0;border:none;margin-top:12px;text-decoration:underline;display:block}.forgot-link:hover{color:var(--black)}.placeholder-note{font-size:var(--text-sm);color:var(--gray-mid)}.field-value{font-size:var(--text-base);color:var(--gray-dark);font-weight:500}.btn-primary{padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:500;font-family:var(--font-body), sans-serif;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--ink);box-shadow:var(--shadow-sm);transform:scale(1.02)}.btn-primary:active{transform:scale(.99)}.btn-primary:disabled{opacity:.4;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{padding:var(--space-2) var(--space-4);background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:500;font-family:var(--font-body), sans-serif;transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);text-decoration:none;display:inline-block}.btn-secondary:hover{background:var(--gray-light);border-color:var(--ink-3);transform:scale(1.02)}.btn-secondary:active{transform:scale(.99)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.pipeline-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.pipeline-stage{min-width:72px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;align-items:center;display:flex;position:relative}.pipeline-count{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:600}.pipeline-label{font-size:var(--text-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.pipeline-arrow{right:calc(-1 * var(--space-2));color:var(--ink-3);position:absolute;top:50%;transform:translateY(-50%)}.pipeline-designer-row{cursor:pointer;transition:background var(--dur) var(--ease)}.pipeline-designer-row:hover{background:var(--ivory)}.pipeline-project-row td{background:var(--ivory);font-size:var(--text-sm);color:var(--ink-2)}.pipeline-project-name{padding-left:var(--space-4)}.pipeline-total-row td{border-top:1px solid var(--border);font-weight:500}.info-popover-body{max-width:320px;font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.ar-grouped{gap:var(--space-4);flex-direction:column;display:flex}.ar-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding-bottom:var(--space-1);margin-bottom:var(--space-2);border-bottom:1px solid var(--border);display:flex}.ar-group-label{font-weight:500;font-size:var(--text-md)}.ar-group-meta{color:var(--ink-2);font-size:var(--text-sm)}.linklike{color:var(--ink);font-family:var(--font-body), sans-serif;font-size:inherit;cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0}.linklike:hover{color:var(--ink-2);text-decoration:underline}.tabular-nums{font-variant-numeric:tabular-nums}.adjust-block{gap:var(--space-3);flex-direction:column;display:flex}.adjust-actions{gap:var(--space-2);display:flex}.adjust-form{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;display:flex}.adjust-field{gap:var(--space-1);flex-direction:column;display:flex}.adjust-field>label{font-size:var(--text-xs);color:var(--gray-mid)}.adjust-field .currency-input-wrap,.fixedfee-item .currency-input-wrap{max-width:200px}.reason-options{gap:var(--space-1);flex-direction:column;display:flex}.reason-option{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--gray-light);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);display:flex}.reason-option:hover{border-color:var(--ink-3)}.reason-option.is-selected{border-color:var(--ink);background:var(--surface)}.reason-option input{accent-color:var(--ink)}.reason-option-label{font-size:var(--text-sm);color:var(--ink-2);line-height:1.4}.reason-option-label strong{color:var(--ink);font-weight:600}.override-summary{gap:var(--space-2);padding:var(--space-3);background:var(--gray-light);border-radius:var(--radius-sm);flex-direction:column;display:flex}.override-summary-story{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.override-summary-story strong{color:var(--ink);font-weight:600}.override-summary-note{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.override-summary-actions{gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--border);display:flex}.adjust-input-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.req-tag{color:var(--red);font-size:var(--text-xs);font-weight:500}.continue-gate{border:1px solid var(--amber);border-radius:var(--radius-sm);background:var(--amber-tint,var(--surface));padding:var(--space-3);margin:var(--space-3) 0}.continue-gate-heading{margin:0 0 var(--space-1);color:var(--ink);font-weight:600}.continue-gate-detail{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ink-2)}.readiness-list{margin:0 0 var(--space-3);padding-left:var(--space-4);color:var(--ink-2);font-size:var(--text-sm)}.readiness-list li{margin-bottom:var(--space-1)}.toolbar{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.data-table th{text-align:left;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:0 0;font-weight:600}.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border);color:var(--ink)}.th-sort{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0}.th-sort:hover{color:var(--ink)}.data-table tr:last-child td{border-bottom:none}.data-table a{color:var(--black);font-weight:500;text-decoration:none}.data-table a:hover{text-decoration:underline}.data-table th.num,.data-table td.num{text-align:right}.retainer-badge{margin-left:var(--space-2)}.retainer-total-banner{justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding:var(--space-6);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.retainer-attention-toggle{align-items:center;gap:var(--space-2);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.retainer-attention-hint{font-size:var(--text-sm);color:var(--ink-2);text-decoration:underline}.retainer-row-attention{background:var(--amber-soft)}.retainer-pending-note{font-size:var(--text-xs);color:var(--ink-3)}.retainer-status-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.retainer-closeout{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.retainer-closeout-q{font-size:var(--text-sm);color:var(--ink-2)}.retainer-total-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.retainer-total-figure{font-family:var(--font-display), Georgia, serif;font-size:var(--text-hero);color:var(--ink);line-height:1.1}.retainer-total-sub{font-size:var(--text-sm);color:var(--ink-2)}.retainer-total-breakdown{gap:var(--space-6);flex-wrap:wrap;display:flex}.retainer-total-stat{gap:var(--space-1);flex-direction:column;display:flex}.retainer-total-stat-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.retainer-total-stat-value{font-size:var(--text-lg);color:var(--ink);font-weight:600}.unbilled-totals{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.unbilled-total-tile{gap:var(--space-2);padding:var(--space-4);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.unbilled-total-tile--grand{box-shadow:var(--shadow-md)}.unbilled-total-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.unbilled-total-value{font-size:var(--text-2xl);color:var(--ink);font-weight:600}.unbilled-total-note{font-size:var(--text-xs);color:var(--ink-3)}.unbilled-aged-alert{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--amber-soft);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ink);margin-bottom:var(--space-6);display:flex}.retainer-panel-row td{background:var(--gray-light)}.retainer-panel{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.retainer-panel-state{font-size:var(--text-sm);color:var(--ink-2)}.retainer-panel-state strong{color:var(--ink);font-weight:600}.retainer-panel-actions,.retainer-panel-final,.retainer-panel-confirm,.retainer-panel-mark{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.retainer-panel-mark-q{font-size:var(--text-sm);color:var(--ink-2)}.retainer-panel-hint{font-size:var(--text-xs);color:var(--ink-3);max-width:640px;line-height:1.5}.form-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);max-width:760px;padding:32px}.form-section{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-title{font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--black);margin-bottom:16px;font-weight:600}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid.full{grid-template-columns:1fr}.inline-add-form{align-items:flex-end;gap:8px;margin-top:16px;display:flex}.inline-add-form .form-field{margin-bottom:0}.form-field{margin-bottom:16px}.form-field label{font-size:var(--text-xs);color:var(--gray-mid);margin-bottom:4px;display:block}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body), sans-serif;background:var(--gray-light);color:var(--ink);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 3px #1a1a1a14}.form-field input:disabled,.form-field select:disabled{color:var(--gray-mid);cursor:not-allowed}.form-field select,.date-select-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239a9a96' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.form-check{font-size:var(--text-sm);color:var(--gray-dark);align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.form-check input{margin-top:0}.form-actions{gap:8px;margin-top:8px;display:flex}.form-error{background:var(--red-light);color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:16px;padding:8px 12px}.field-error{font-size:var(--text-xs);color:var(--red);margin-top:4px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea,.form-field.has-error .currency-input-wrap,.form-field.has-error .date-select-group select{border-color:var(--red)}.form-check.has-error label{color:var(--red)}.yesno-group{gap:8px;display:flex}.yesno-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white);color:var(--gray-dark);font-size:var(--text-base);cursor:pointer;font-weight:600;font-family:var(--font-body), sans-serif;padding:8px 16px}.yesno-btn.selected{background:var(--black);border-color:var(--black);color:var(--white)}.project-row.has-error{border-color:var(--red)}.optional-tag{color:var(--gray-mid);text-transform:none;letter-spacing:0;font-weight:400}.currency-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--gray-light);align-items:center;transition:border-color .15s,background .15s;display:flex}.currency-input-wrap:focus-within{border-color:var(--black);background:var(--white)}.currency-prefix{color:var(--gray-mid);font-size:var(--text-base);padding-left:12px}.currency-input-wrap input{background:0 0!important;border:none!important;padding:8px 12px 8px 4px!important}.date-select-group{grid-template-columns:1.5fr .8fr 1fr;gap:4px;display:grid}.combobox-dropdown{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:20;max-height:220px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.combobox-option{font-size:var(--text-base);cursor:pointer;color:var(--gray-dark);padding:8px 12px}.combobox-option:hover{background:var(--gray-light)}.combobox-add-option{color:var(--black);border-top:1px solid var(--border);font-weight:600}.combobox-empty{font-size:var(--text-sm);color:var(--gray-mid);padding:8px 12px}.combobox-add-new{padding:12px}.combobox-add-new input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);font-family:var(--font-body), sans-serif;outline:none;padding:8px 12px}.combobox-add-new input:focus{border-color:var(--black)}.tag{font-size:var(--text-xs);border-radius:var(--radius-md);letter-spacing:.3px;padding:0 8px;font-weight:600;display:inline-block}.tag-green{background:var(--green-light);color:var(--green)}.tag-yellow{background:var(--yellow-light);color:var(--yellow)}.tag-red{background:var(--red-light);color:var(--red)}.tag-gray{background:var(--gray-light);color:var(--gray-dark)}.designer-billing-list{flex-direction:column;gap:8px;display:flex}.project-row{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border);transition:all .15s;overflow:hidden}.project-row:hover{border-color:var(--ink-3)}.project-row-body{gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.project-row-main{align-items:center;gap:16px;padding:12px 16px;display:flex}.project-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.project-info{flex:1;min-width:0}.project-name{font-size:var(--text-base);color:var(--black);white-space:nowrap;text-overflow:ellipsis;margin-bottom:0;font-weight:600;overflow:hidden}.project-phase{font-size:var(--text-xs);color:var(--gray-mid)}.project-hours{text-align:right}.hours-num{font-family:var(--font-display), serif;font-size:var(--text-lg);color:var(--black);margin-bottom:0;font-weight:400;line-height:1}.hours-label{font-size:var(--text-xs);color:var(--gray-mid)}.project-amount{text-align:right;min-width:90px}.amount-num{font-family:var(--font-display), serif;font-size:var(--text-lg);color:var(--black);margin-bottom:0;font-weight:500;line-height:1}.amount-type{font-size:var(--text-xs);color:var(--gray-mid)}.confirm-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:600;font-family:var(--font-body), sans-serif;white-space:nowrap;border:none;padding:8px 16px;transition:all .15s}.confirm-btn.green{background:var(--green);color:#fff}.confirm-btn.green:hover{opacity:.85}.confirm-btn.yellow{background:var(--yellow-light);color:var(--yellow);border:1px solid var(--yellow)}.confirm-btn.yellow:hover{background:var(--amber-soft)}.drill-btn{border-radius:var(--radius-sm);background:var(--gray-light);cursor:pointer;width:28px;height:28px;color:var(--gray-mid);font-size:var(--text-base);border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.drill-btn:hover{background:var(--border);color:var(--black)}.project-flag{background:var(--yellow-light);border-top:1px solid var(--border);align-items:flex-start;gap:8px;padding:8px 16px 12px;display:flex}.project-flag--inline{padding:var(--space-3);border-radius:var(--radius-sm);border-top:none}.flag-text-inline{font-size:var(--text-xs);color:var(--gray-dark);flex:1;line-height:1.4}.totals-bar{background:var(--black);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.totals-label{font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:#fff6;margin-bottom:4px}.totals-amount{font-family:var(--font-display), serif;font-size:var(--text-hero);color:var(--white);letter-spacing:-1px;font-weight:400;line-height:1}.totals-ytd{text-align:right}.ytd-label{font-size:var(--text-xs);color:#fff6;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}.ytd-amount{font-family:var(--font-display), serif;font-size:var(--text-2xl);color:#fff9;letter-spacing:-.5px;font-weight:300}.submit-btn{background:var(--red);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;font-weight:600;font-family:var(--font-body), sans-serif;letter-spacing:.3px;border:none;padding:12px 24px;transition:all .15s}.submit-btn:hover{opacity:.9}.submit-btn:disabled{background:var(--gray-mid);opacity:1;cursor:not-allowed}.projection-section{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border);padding:16px}.projection-title{font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;color:var(--gray-mid);margin-bottom:12px;font-weight:600}.projection-inputs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.proj-input-group label{font-size:var(--text-xs);color:var(--gray-mid);margin-bottom:4px;display:block}.proj-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);font-family:var(--font-display), serif;color:var(--black);background:var(--gray-light);outline:none;padding:8px 12px;transition:all .15s}.proj-input:focus{border-color:var(--black);background:var(--white)}.designer-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.util-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:16px;padding:12px 16px;display:flex}.util-big{font-family:var(--font-display), serif;font-size:var(--text-hero);letter-spacing:-2px;font-weight:400;line-height:1}.util-big.green{color:var(--green)}.util-big.yellow{color:var(--yellow)}.util-big.red{color:var(--red)}.billing-status-headline{font-family:var(--font-display), serif;font-size:var(--text-2xl);color:var(--black);margin-bottom:4px;font-weight:500}.billing-status-meta{font-size:var(--text-sm);color:var(--gray-mid)}.util-detail-bench{font-size:var(--text-sm);color:var(--gray-dark);margin-bottom:0}.util-detail-you{font-size:var(--text-sm);color:var(--black);font-weight:600}.view-history{font-size:var(--text-xs);color:var(--gray-mid);cursor:pointer;margin-top:4px;text-decoration:underline}.review-legend{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--gray-dark);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.review-legend-item{align-items:center;gap:8px;display:flex}.review-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.plain-amount-line{font-size:var(--text-base);color:var(--gray-dark);font-family:var(--font-body), sans-serif;margin-top:0}.plain-amount-line strong{color:var(--black);font-weight:600}.flag-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;border:1px solid var(--border);background:var(--white);color:var(--gray-dark);font-weight:600;font-family:var(--font-body), sans-serif;white-space:nowrap;padding:8px 16px}.flag-btn:hover{border-color:var(--red);color:var(--red)}.pct-complete-block{border-top:1px solid var(--border);align-items:center;gap:16px;padding:12px 16px;display:flex}.pct-input-group{align-items:center;gap:8px;display:flex}.pct-input-group label{font-size:var(--text-sm);color:var(--black);font-weight:600}.pct-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:72px;font-size:var(--text-base);font-family:var(--font-body), sans-serif;background:var(--gray-light);text-align:right;outline:none;padding:8px}.pct-input:focus{border-color:var(--black);background:var(--white)}.pct-cumulative{font-size:var(--text-sm);color:var(--gray-dark)}.pct-cumulative strong{color:var(--black)}.retainer-prompt{padding:var(--space-3);align-items:flex-start;gap:var(--space-2);background:var(--gray-light);border-radius:var(--radius-sm);display:flex}.billing-context-strip{font-size:var(--text-sm);color:var(--gray-dark);background:var(--gray-light);border-top:1px solid var(--border);padding:8px 16px}.billing-context-strip strong{color:var(--black)}.totals-count{font-size:var(--text-xs);color:#ffffff80;margin-top:0}.breadcrumb{font-size:var(--text-sm);color:var(--gray-mid);margin-bottom:4px}.breadcrumb a{color:var(--gray-mid);text-decoration:none}.breadcrumb a:hover{color:var(--black);text-decoration:underline}.section-card-link{text-decoration:none;transition:border-color .15s;display:block}.section-card-link:hover{border-color:var(--black)}.settings-collapse>summary{cursor:pointer;list-style:none}.settings-collapse>summary::-webkit-details-marker{display:none}.settings-preview{align-items:center;gap:var(--space-2);color:var(--ink-2);font-size:var(--text-sm);display:flex}.settings-chevron{font-size:var(--text-xs);color:var(--ink-3);transition:transform var(--dur) var(--ease)}.settings-collapse[open] .settings-chevron{transform:rotate(90deg)}.list-search-label{font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;color:var(--gray-mid);margin-bottom:4px;font-weight:600;display:block}.page-explainer{font-size:var(--text-base);color:var(--gray-dark);max-width:640px;margin:8px 0 0;line-height:1.5}.tile{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-4) var(--space-6);text-align:center;align-items:center;gap:var(--space-1);min-width:0;transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;display:flex}.tile-title{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--border);align-self:stretch;font-weight:600}.tile-period{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.tile-number{font-family:var(--font-display);font-size:var(--text-hero);color:var(--ink);letter-spacing:-.02em;margin:var(--space-2) 0 var(--space-1);font-weight:400;line-height:1.1}.tile-sub{font-size:var(--text-sm);color:var(--ink-2);padding:0 var(--space-4)}.tile-empty{font-size:var(--text-sm);color:var(--ink-2);margin:var(--space-3) 0;padding:0 var(--space-4);font-style:italic}a.tile{text-decoration:none}a.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.user-block-btn{cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--white);font-family:var(--font-body), sans-serif;font-size:var(--text-base);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.user-block-btn:hover{background:#ffffff0f}.avatar-circle{width:34px;height:34px;color:var(--white);font-size:var(--text-sm);background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.avatar-circle img{object-fit:cover;width:100%;height:100%}.user-menu-item{border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);color:#fff9;cursor:pointer;text-align:left;font-family:var(--font-body), sans-serif;background:0 0;border:none;padding:8px 12px;text-decoration:none;display:block}.user-menu-item:hover{color:var(--white);background:#ffffff0f}.test-badge{font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;color:var(--gray-dark);background:var(--gray-light);border:1px dashed var(--gray-mid);border-radius:var(--radius-sm);vertical-align:middle;margin-left:8px;padding:0 4px;font-weight:700;display:inline-block}.wizard-overlay{z-index:400;background:#0006;justify-content:center;align-items:flex-start;padding:64px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.wizard-modal{background:var(--white);border-radius:var(--radius-md);width:640px;max-width:100%;overflow:hidden;box-shadow:0 12px 40px #00000040}.wizard-steps{gap:8px;margin-bottom:16px;display:flex}.wizard-step{font-size:var(--text-xs);letter-spacing:.3px;color:var(--gray-mid);background:var(--gray-light);border-radius:var(--radius-lg);padding:4px 12px;font-weight:600}.wizard-step.active{background:var(--black);color:var(--white)}.wizard-step.done{background:var(--green-light);color:var(--green)}.wizard-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.wizard-warn{background:var(--yellow-light);border:1px solid var(--yellow);border-radius:var(--radius-sm);color:var(--gray-dark);padding:12px 16px}.wizard-ok{background:var(--green-light);border:1px solid var(--green);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--green);padding:12px 16px;font-weight:600}.info-affordance{color:var(--gray-mid);cursor:help;font-size:var(--text-base);margin-left:4px}.info-affordance:hover{color:var(--black)}.topbar{justify-content:flex-end;align-items:center;padding:12px 32px 0;display:flex}.notif-bell-wrap{position:relative}.notif-bell-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--white);width:38px;height:38px;color:var(--gray-dark);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.notif-bell-btn:hover{border-color:var(--black);color:var(--black)}.notif-badge{border-radius:var(--radius-md);background:var(--red);min-width:18px;height:18px;color:var(--white);font-size:var(--text-xs);justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.notif-dropdown{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);z-index:300;width:340px;max-width:90vw;position:absolute;top:46px;right:0;overflow:hidden;box-shadow:0 8px 28px #00000024}.notif-dropdown-head{padding:var(--space-3);border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;align-items:center;display:flex}.notif-dropdown-title{color:var(--ink);font-size:var(--text-sm);letter-spacing:0;font-weight:500}.notif-linkbtn{color:var(--ink-2);font-size:var(--text-xs);cursor:pointer;font-family:var(--font-body), sans-serif;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0}.notif-linkbtn:hover{color:var(--ink);text-decoration:underline}.notif-list{max-height:380px;overflow-y:auto}.notif-empty{text-align:center;font-size:var(--text-sm);color:var(--gray-mid);padding:24px 12px}.notif-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;font-family:var(--font-body), sans-serif;background:0 0;align-items:flex-start;gap:8px;padding:12px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--gray-light)}.notif-item.unread{background:var(--red-light)}.notif-item.unread:hover{background:var(--red-soft)}.notif-dot{background:var(--red);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:4px}.notif-dismiss{color:var(--ink-3);font-size:var(--text-md);cursor:pointer;padding:0 var(--space-1);opacity:.45;transition:opacity var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;flex-shrink:0;align-self:flex-start;margin-left:auto;line-height:1}.notif-item:hover .notif-dismiss{opacity:1}.notif-dismiss:hover{color:var(--ink)}.notif-item-body{flex-direction:column;gap:4px;min-width:0;display:flex}.notif-item-title{font-size:var(--text-sm);color:var(--black);line-height:1.35}.notif-item-time{font-size:var(--text-xs);color:var(--gray-mid)}.notif-item:not(.unread) .notif-item-body{margin-left:16px}.project-tile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.project-tile{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-decoration:none;transition:border-color .15s;display:block}.project-tile:hover{border-color:var(--black)}.project-tile-name{font-size:var(--text-base);color:var(--black);margin-bottom:4px;font-weight:600}.project-tile-meta{font-size:var(--text-xs);color:var(--gray-dark)}.list-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.list-controls-main{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.list-controls-right{align-items:flex-end;gap:8px;display:flex}.list-control-field{flex-direction:column;gap:4px;display:flex}.list-control-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.list-control-search{min-width:280px}.list-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:340px;max-width:100%;font-size:var(--text-base);font-family:var(--font-body);background:var(--surface);color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:8px 12px}.list-search-input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1a1a1a14}.list-sort-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:8px 12px}.list-sort-select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1a1a1a14}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:inline-flex;overflow:hidden}.view-toggle-btn{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:none;padding:8px 12px;font-weight:500}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border)}.view-toggle-btn:hover{color:var(--ink)}.view-toggle-btn.active{background:var(--ink);color:var(--white)}.status-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.status-legend-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.status-legend-item{font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:8px;display:flex}.status-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.status-legend-dot.tone-ink{background:var(--ink)}.status-legend-dot.tone-gray{background:var(--ink-3)}.status-legend-dot.tone-green{background:var(--green)}.status-legend-dot.tone-amber{background:var(--amber)}.status-legend-dot.tone-red{background:var(--red)}.info-popover{display:inline-flex;position:relative}.info-popover-trigger{color:var(--ink-3);font-size:var(--text-sm);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.info-popover-trigger:hover,.info-popover-trigger[aria-expanded=true]{color:var(--red)}.info-popover-panel{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:260px;max-width:80vw;box-shadow:var(--shadow-md);font-size:var(--text-sm);color:var(--ink-2);text-transform:none;letter-spacing:normal;padding:12px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 8px)}.info-popover-panel--left{left:0}.info-popover-panel--right{right:0}.row-actions{white-space:nowrap;gap:4px;display:inline-flex}.status-with-info{align-items:center;gap:4px;display:inline-flex}.upload-input-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-dropzone{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--ivory);cursor:pointer;text-align:center;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px 16px;display:flex;position:relative}.upload-dropzone:hover{border-color:var(--ink-3);background:var(--surface)}.upload-dropzone-arrow{font-size:var(--text-lg);color:var(--ink-3);line-height:1}.upload-dropzone-text{font-size:var(--text-sm);color:var(--ink-2);font-weight:500}.upload-filename{font-size:var(--text-sm);color:var(--ink);font-variant-numeric:tabular-nums}.status-sections{flex-direction:column;gap:16px;display:flex}.status-section-strip{cursor:pointer;width:100%;font-family:var(--font-body);border:none;border-bottom:1px solid var(--border);transition:background var(--dur) var(--ease);background:0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.status-section-strip:hover{background:var(--ivory)}.status-section-title{align-items:center;gap:12px;display:flex}.status-section-count{font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.status-section-strip .nav-chevron{color:var(--ink-3);font-size:var(--text-sm)}.client-tax-cell{color:var(--ink-2);font-size:var(--text-sm)}.expand-btn{cursor:pointer;font-family:var(--font-body);font-size:var(--text-base);color:var(--ink);transition:color var(--dur) var(--ease);background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.expand-btn:hover{color:var(--red)}.client-projects-drawer{background:var(--ivory);padding-left:32px}.client-projects-list{flex-direction:column;gap:4px;padding:4px 0;display:flex}.client-project-row{align-items:center;gap:8px;display:flex}.locked-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--ivory);color:var(--ink);font-size:var(--text-base);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.locked-field-note{font-size:var(--text-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.edit-context-banner{border-radius:var(--radius-md);background:var(--amber-soft);border:1px solid var(--border);color:var(--ink-2);font-size:var(--text-sm);margin-bottom:16px;padding:12px 16px}.edit-context-banner strong{color:var(--ink);font-weight:500}.settings-strips{flex-direction:column;gap:16px;display:flex}.review-legends{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 16px;display:flex}.review-legend-buttons{font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;gap:16px;display:flex}.review-legend-buttons strong{color:var(--ink);font-weight:500}.row-amount{padding:0}.amount-pairs{gap:var(--space-6);flex-wrap:wrap;display:flex}.amount-pair{gap:var(--space-1);flex-direction:column;display:flex}.amount-pair-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.amount-pair-value{font-size:var(--text-md);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.fixedfee-block{gap:var(--space-3);flex-direction:column;padding:0;display:flex}.fixedfee-row{gap:var(--space-6);flex-wrap:wrap;align-items:flex-end;display:flex}.fixedfee-item{gap:var(--space-1);flex-direction:column;display:flex}.fixedfee-pct-input{align-items:center;gap:var(--space-1);display:flex}.fixedfee-label-row{align-items:center;gap:var(--space-2);display:flex}.fixedfee-saved-note{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.fixedfee-saved-actions{align-items:center;gap:var(--space-3);display:flex}.fixedfee-saved-actions .saved-note{margin-top:0}.pct-history-table{border-collapse:collapse;font-size:var(--text-sm);min-width:180px}.pct-history-table th,.pct-history-table td{text-align:left;padding:var(--space-1) var(--space-3) var(--space-1) 0}.pct-history-table th{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.pct-history-table td{color:var(--ink-2)}.pct-history-empty{font-size:var(--text-sm);color:var(--ink-2);margin:0}.billing-cumulative{padding:0}.cumulative-line{align-items:baseline;gap:var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.cumulative-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.cumulative-figure{font-size:var(--text-md);color:var(--ink);font-weight:600}.cumulative-of{font-size:var(--text-sm);color:var(--ink-2);font-weight:400}.progress-bar{background:var(--gray-light);border-radius:9999px;max-width:420px;height:6px;margin-top:8px;overflow:hidden}.progress-fill{background:var(--green);border-radius:9999px;height:100%}.projection-block{padding:0}.saved-note{color:var(--green);font-size:var(--text-xs);margin-top:4px}.proj-remove-btn{font-size:var(--text-xs);color:var(--ink-3);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:0;text-decoration:underline}.flag-glyph{font-size:var(--text-base);line-height:1}.deferred-block{padding:var(--space-3);background:var(--amber-soft);border-radius:var(--radius-sm);gap:var(--space-2);flex-direction:column;display:flex}.deferred-headline{font-size:var(--text-sm);color:var(--ink);line-height:1.5}.deferred-reason-line{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.deferred-question{font-size:var(--text-sm);color:var(--ink);font-weight:500}.deferred-block--action{box-shadow:0 0 0 1px var(--amber)}.deferred-resolved{font-size:var(--text-sm);color:var(--green);font-weight:500}.deferred-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.deferred-defer-form{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.deferred-reason-input{min-width:160px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:var(--text-sm);font-family:var(--font-body), sans-serif;background:var(--surface);flex:1}.retainer-body{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.retainer-headline{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.retainer-headline strong{color:var(--ink);font-weight:600}.retainer-note-echo{font-size:var(--text-sm);color:var(--ink-3);line-height:1.5}.retainer-request-note{width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-body), sans-serif;background:var(--surface);color:var(--ink);resize:vertical}.retainer-action{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-panel{padding:0 16px 16px}.review-flag-note{background:var(--amber-soft);border:1px solid var(--amber);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink);gap:var(--space-1);flex-direction:column;margin-bottom:8px;padding:8px 12px;display:flex}.review-flag-guidance{color:var(--ink-2);line-height:1.5}.review-note{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;font-size:var(--text-base);font-family:var(--font-body);margin-bottom:8px;padding:8px 12px}.review-panel-actions{gap:8px;display:flex}.totals-group{flex-direction:column;display:flex}.totals-group .totals-label{margin-bottom:8px}.totals-submit{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.totals-submitted{font-size:var(--text-sm);padding:8px 16px}.totals-submit-hint{font-size:var(--text-sm);color:var(--ink-2);text-align:right;white-space:nowrap}.submit-celebration{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-field{position:absolute;inset:0}.confetti-piece{border-radius:var(--radius-sm);opacity:0;will-change:transform, opacity;width:9px;height:15px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.33,0,.5,1);animation-iteration-count:1;animation-fill-mode:forwards;position:absolute;top:0}.confetti-piece--round{border-radius:50%;width:11px;height:11px}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-12vh)rotate(0)}8%{opacity:1}88%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift,0), 108vh, 0) rotate(var(--confetti-spin,540deg))}}.celebration-card{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-8);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;animation:celebration-float 2.6s var(--ease) forwards;flex-direction:column;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%)}.celebration-text{font-family:var(--font-display), Georgia, serif;font-size:var(--text-xl);color:var(--ink)}.celebration-sub{font-size:var(--text-base);color:var(--ink-2)}@keyframes celebration-float{0%{opacity:0;transform:translate(-50%)translateY(-12px)}15%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(8px)}}@media (prefers-reduced-motion:reduce){.confetti-piece{animation-name:confetti-fall-soft}}@keyframes confetti-fall-soft{0%{opacity:0;transform:translateY(-8vh)}15%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(100vh)}}.util-hero-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.util-hero{flex-direction:column;gap:4px;display:flex}.util-hero-num{font-family:var(--font-display);font-size:var(--text-hero);font-variant-numeric:tabular-nums;font-weight:400;line-height:1}.util-bands-info{vertical-align:middle;margin-left:var(--space-2);font-family:var(--font-body), sans-serif;font-size:var(--text-base);display:inline-flex}.util-bands-popover{gap:var(--space-2);flex-direction:column;min-width:150px;display:flex}.util-bands-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:600}.util-bands-list{gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.util-bands-list li{align-items:center;gap:var(--space-2);display:flex}.util-band-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.util-hero-caption{font-size:var(--text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.util-trend{border-bottom:1px solid var(--border);align-items:flex-end;gap:12px;height:160px;margin-bottom:16px;padding-bottom:8px;display:flex;overflow-x:auto}.util-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:44px;height:100%;display:flex}.util-bar-track{background:var(--gray-light);border-radius:var(--radius-sm);align-items:flex-end;width:100%;max-width:32px;height:100%;display:flex;overflow:hidden}.util-bar-fill{border-radius:var(--radius-sm);width:100%;transition:height var(--dur) var(--ease)}.util-bar-pct{font-size:var(--text-xs);color:var(--ink);font-variant-numeric:tabular-nums}.util-bar-label{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap}.util-table{margin-top:0}.invoice-checklist-note{margin-bottom:16px}.invoice-detail{padding:0 16px 16px}.invoice-hours-detail{margin-top:8px}.invoice-tax-note{font-size:var(--text-sm);color:var(--ink-2);margin-top:8px}.invoice-qb-row{align-items:flex-end;gap:8px;margin-top:16px;display:flex}.invoice-qb-field{flex:1;max-width:240px;margin-bottom:0}.invoice-complete-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.workbench-summary{gap:var(--space-8);padding:var(--space-4) 0 var(--space-6);margin-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.wss-item{gap:var(--space-1);flex-direction:column;display:flex}.wss-num{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.wss-primary .wss-num{color:var(--red)}.wss-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.wss-invoice{text-align:right;margin-left:auto}.designer-card{margin-bottom:var(--space-6);box-shadow:var(--shadow-md)}.designer-card-header{align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.designer-card-header .card-title{font-size:var(--text-lg);font-weight:600}.designer-card--approved{box-shadow:var(--shadow-sm)}.designer-card-expand{cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-2);transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0;text-decoration:none}.designer-card-expand:hover{color:var(--ink);text-decoration:underline}.designer-card-title{gap:var(--space-2);flex-direction:column;display:flex}.designer-card-counts{gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-2);display:flex}.designer-card-counts strong{color:var(--ink);margin-right:var(--space-1)}.dcc-waiting strong{color:var(--red)}.dcc-flagged strong{color:var(--amber)}.designer-card-right{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.designer-card-invoice{gap:var(--space-1);text-align:right;flex-direction:column;display:flex}.dci-value{font-size:var(--text-md);color:var(--ink);font-variant-numeric:tabular-nums}.designer-card-body{padding:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.appr-row{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.appr-row--done{background:var(--gray-light);opacity:.62}.appr-row-designer{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-1)}.appr-row-head{gap:var(--space-4);align-items:flex-start;display:flex}.appr-row-main{flex:1;min-width:0}.appr-row-name{font-size:var(--text-md);color:var(--ink);font-weight:600}.appr-row-sub{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-1)}.appr-row-amount{font-size:var(--text-base);color:var(--ink);margin-top:var(--space-2)}.appr-hrs{font-weight:500}.appr-arrow,.appr-was{color:var(--ink-3)}.appr-reason-tag{margin-left:var(--space-2)}.appr-row-note{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-2);text-wrap:pretty}.appr-row-status{gap:var(--space-2);flex-direction:column;flex-shrink:0;display:flex}.status-pair{gap:var(--space-1);flex-direction:column;align-items:flex-end;display:flex}.status-mini-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.appr-row-tools{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.disclosure-btn{align-items:center;gap:var(--space-1);background:var(--gray-light);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:background var(--dur) var(--ease);margin-top:var(--space-2);display:inline-flex}.appr-row-tools .disclosure-btn{margin-top:0}.disclosure-btn:hover{background:var(--border)}.disclosure-btn-icon{color:var(--ink-2)}.line-people{display:contents}.line-people-panel{width:100%;margin-top:var(--space-2);padding:var(--space-3);background:var(--gray-light);border-radius:var(--radius-md);flex-basis:100%}.line-people-table{background:var(--surface);border-radius:var(--radius-sm);width:100%;margin:0;overflow:hidden}.line-people-table th{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left;font-weight:500}.line-people-table th.num,.line-people-table td.num{text-align:right}.line-people-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink)}.line-people-table tbody td:nth-child(2){color:var(--ink-2)}.line-people-table tbody td:last-child{font-weight:500}.line-people-table tfoot td{border-top:1px solid var(--border);color:var(--ink);font-weight:500}.line-people-warn{color:var(--amber)}.line-people-ff-note{margin-top:var(--space-2)}.action-help{gap:var(--space-2);flex-direction:column;max-width:280px;display:flex}.action-help-row{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}.action-help-row strong{color:var(--ink)}.project-history{gap:var(--space-2);flex-direction:column;min-width:190px;display:flex}.project-history-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:600}.project-history-rows{gap:var(--space-1);flex-direction:column;display:flex}.project-history-row{justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);display:flex}.project-history-label{color:var(--ink-2)}.project-history-value{color:var(--ink)}.appr-flag{margin-top:var(--space-3);padding:var(--space-3);background:var(--amber-soft);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink);line-height:1.5}.appr-flag-line{margin-bottom:var(--space-1)}.appr-flag-next{margin-top:var(--space-2);color:var(--ink-2)}.appr-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.appr-approve{background:var(--green)}.appr-actions .info-popover{margin-top:var(--space-1);flex-basis:100%}.action-help-link{cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-3);transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0;text-decoration:none}.action-help-link:hover{color:var(--ink-2);text-decoration:underline}.approve-note-box{padding:var(--space-3) 0 0}.approve-consequence{font-size:var(--text-sm);color:var(--ink-2);margin:0 0 var(--space-2);line-height:1.5}.approve-note-input{width:100%;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);font-size:var(--text-base);margin-bottom:var(--space-2)}.approve-note-mention{margin-bottom:var(--space-2)}.approve-note-actions{gap:var(--space-2);display:flex}.ff-note{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-2)}.tag-amber{background:var(--amber-soft);color:var(--amber)}.tag-paused{background:var(--amber-soft);color:var(--ink-2)}.director-tiles{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.tile-primary{border-left:3px solid var(--red)}.tile-of{font-size:var(--text-md);color:var(--ink-2)}.tile-action{margin-top:var(--space-3)}.ar-aging-panel{gap:var(--space-2);flex-direction:column;min-width:200px;display:flex}.ar-aging-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.ar-aging-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.ar-aging-val{font-size:var(--text-lg);color:var(--ink);font-variant-numeric:tabular-nums}.ar-aging-link{font-size:var(--text-sm);color:var(--ink-2);margin-top:var(--space-1)}.ar-aging-link:hover{color:var(--ink)}.rf-count{font-size:var(--text-sm);color:var(--ink-2)}.rf-head-right{align-items:center;gap:var(--space-3);display:flex}.rf-past-toggle{cursor:pointer;font-size:var(--text-sm);color:var(--ink-2);background:0 0;border:none;padding:0}.rf-past-toggle:hover{color:var(--ink)}.rf-list{gap:var(--space-2);flex-direction:column;display:flex}.rf-item{gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);color:var(--ink);align-items:flex-start;line-height:1.5;display:flex}.rf-item:hover{background:var(--gray-light)}.rf-item input{margin-top:var(--space-1);flex-shrink:0}.rf-escalated{margin-right:var(--space-2)}.rf-past{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.rf-past-title{margin-bottom:var(--space-2);display:block}.rf-past-item{justify-content:space-between;gap:var(--space-4);padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--ink-2);display:flex}.rf-past-when{color:var(--ink-3);flex-shrink:0}.util-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.util-dot.tone-green{background:var(--green)}.util-dot.tone-amber{background:var(--amber)}.util-dot.tone-red{background:var(--red)}.util-dot.tone-gray{background:var(--gray-mid)}.tone-text-green{color:var(--green)}.tone-text-amber{color:var(--amber)}.tone-text-red{color:var(--red)}.tone-text-gray{color:var(--ink-3)}.util-tile{margin-bottom:var(--space-4)}.util-summary{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.util-summary-hero{gap:var(--space-1);flex-direction:column;display:flex}.util-hero-pct{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.util-summary-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.util-summary-dots{gap:var(--space-2);flex-wrap:wrap;flex:1;display:flex}.util-expand{white-space:nowrap}.util-trend-panel{margin-top:var(--space-4)}.util-trend-table{margin-top:0}.util-trend-cell{font-variant-numeric:tabular-nums}.util-full-link{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-2);display:inline-block}.util-full-link:hover{color:var(--ink)}.pending-panel{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3)}.pending-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.pending-remind-all{cursor:pointer;font-size:var(--text-sm);color:var(--red);background:0 0;border:none;padding:0}.pending-remind-all:disabled{color:var(--ink-3);cursor:default}.pending-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;display:flex}.pending-name{font-size:var(--text-sm);color:var(--ink)}.pending-remind{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--ink);background:0 0}.pending-remind:disabled{color:var(--ink-3);cursor:default}.info-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);font-weight:500;display:inline-flex}.info-pill:hover{background:var(--gray-light);color:var(--ink);border-color:var(--ink-3)}.tile-title-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.tile-sub-link{color:var(--ink-2);transition:color var(--dur) var(--ease)}.tile-sub-link:hover{color:var(--ink)}.project-history-ar{color:var(--amber)}.appr-reject{color:var(--red);border-color:var(--red)}.appr-reject:hover{background:var(--red-soft)}.appr-reverted{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.retainer-panel-reject{margin-top:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.retainer-popup{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--amber);background:var(--amber-soft);border-radius:var(--radius-md);gap:var(--space-3);flex-direction:column;display:flex}.retainer-popup-title{font-size:var(--text-md);color:var(--ink);font-weight:600}.retainer-popup-stats{gap:var(--space-6);flex-wrap:wrap;display:flex}.rp-stat{gap:var(--space-1);flex-direction:column;display:flex}.rp-stat-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.rp-stat-val{font-size:var(--text-md);color:var(--ink);font-variant-numeric:tabular-nums}.retainer-popup-amount-label{gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-2);flex-direction:column;max-width:220px;display:flex}.retainer-popup-amount-input{align-items:center;gap:var(--space-1);display:flex}.retainer-popup-amount-input input{max-width:160px}.retainer-popup-note{font-size:var(--text-sm);color:var(--ink-2);margin:0;line-height:1.5}.retainer-panel--readonly{padding:var(--space-2) 0}.project-history-retainer{gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);flex-direction:column;display:flex}.ph-revert-link{cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);color:var(--red);background:0 0;border:none;align-self:flex-start;padding:0}.ph-revert-link:hover{text-decoration:underline}.ph-revert-box{gap:var(--space-2);flex-direction:column;display:flex}.ph-revert-note{font-size:var(--text-xs);color:var(--ink-3);line-height:1.5}.ph-revert-actions{gap:var(--space-2);display:flex}.money-story-intro{font-size:var(--text-sm);color:var(--ink-2);margin:0 0 var(--space-4);text-wrap:pretty;max-width:70ch;line-height:1.6}.money-story-list{flex-direction:column;display:flex}.money-story-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--ink);transition:background var(--dur) var(--ease);display:flex}.money-story-row:hover{background:var(--gray-light)}.money-story-name{font-weight:500}.money-story-figures{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.msf em{color:var(--ink-3);font-style:normal;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;margin-right:var(--space-1)}.msf-writeoff{color:var(--amber)}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
