:root{--ci-blue: #2b4c6e;--ci-ink: #3b3838;--ci-secondary: #607a96;--ci-grey: #b4b3ba;--ci-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root{--radius-card: 20px;--radius-field: 10px;--wf-radius-card: 10px;--wf-radius-field: 6px;--wf-bg: color-mix(in srgb, var(--ci-grey) 14%, #fff);--wf-card: #fff;--wf-card-alt: color-mix(in srgb, var(--ci-secondary) 12%, #fff);--wf-row-alt: color-mix(in srgb, var(--ci-grey) 9%, #fff);--wf-border: color-mix(in srgb, var(--ci-grey) 55%, #fff);--wf-border-soft: color-mix(in srgb, var(--ci-grey) 30%, #fff);--wf-primary: var(--ci-blue);--wf-secondary: var(--ci-secondary);--wf-ink: var(--ci-ink);--wf-muted: var(--ci-secondary);--wf-muted-2: color-mix(in srgb, var(--ci-ink) 75%, #fff);--wf-primary-hover: color-mix(in srgb, var(--ci-blue) 82%, #fff);--wf-sidebar-bg: var(--ci-ink);--wf-sidebar-text: #fff;--wf-sidebar-muted: color-mix(in srgb, var(--ci-grey) 80%, var(--ci-ink));--wf-sidebar-active-bg: var(--wf-primary);--wf-sidebar-hover-bg: rgba(255, 255, 255, .06);--wf-scrim: color-mix(in srgb, var(--ci-ink) 55%, transparent);--color-navy-bg: var(--ci-ink);--color-navy-button: var(--ci-blue);--color-navy-button-hover: var(--wf-primary-hover);--color-navy-text: var(--ci-ink);--color-accent: var(--ci-secondary);--color-border: var(--wf-border);--color-muted: var(--ci-secondary);--color-error: var(--wf-badge-behind);--wf-tier-min: var(--ci-grey);--wf-tier-target: #2e7a55;--wf-tier-excellent: #b08a1e;--wf-badge-on-track: var(--ci-blue);--wf-badge-watch: #e8a05b;--wf-badge-behind: #96261a;--wf-badge-on-track-soft: color-mix(in srgb, var(--wf-badge-on-track) 12%, #fff);--wf-badge-watch-soft: color-mix(in srgb, var(--wf-badge-watch) 22%, #fff);--wf-badge-watch-text: color-mix(in srgb, var(--wf-badge-watch) 70%, var(--ci-ink));--wf-badge-behind-soft: color-mix(in srgb, var(--wf-badge-behind) 12%, #fff);--wf-tier-target-on-dark: color-mix(in srgb, var(--wf-tier-target) 55%, #fff);--wf-tier-excellent-on-dark: color-mix(in srgb, var(--wf-tier-excellent) 62%, #fff);--wf-shortfall-hatch: color-mix(in srgb, var(--wf-badge-behind) 42%, #fff);--wf-shortfall-hatch-on-dark: color-mix(in srgb, var(--wf-badge-behind) 32%, #fff);--wf-col-consolidated: var(--ci-blue);--wf-col-nsw: #78a3cc;--wf-col-sa: #7a5c9e;--wf-col-qld: #b08a1e;font-family:var(--ci-font-sans)}*{box-sizing:border-box}body{margin:0;color:var(--color-navy-text)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-navy-bg);background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px}.auth-card{width:100%;max-width:380px;background:#fff;border-radius:var(--radius-card);box-shadow:0 20px 60px #00000059;padding:2.5rem 2rem;text-align:center}.auth-logo{height:44px;width:auto;margin:0 auto 1.5rem;display:block}.auth-title{margin:0 0 .25rem;font-size:1.4rem;font-weight:700}.auth-subtitle{margin:0 0 1.75rem;color:var(--color-accent);font-size:.95rem}.field{text-align:left;margin-bottom:1rem}.field-label{display:block;font-size:.85rem;color:var(--color-muted);margin-bottom:.35rem}.field-input{display:block;width:100%;padding:.65rem .85rem;font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius-field);outline:none;font-family:inherit}.field-input:focus{border-color:var(--color-accent)}.auth-error{color:var(--color-error);font-size:.9rem;margin:0 0 1rem;text-align:left}.btn-primary{width:100%;padding:.75rem;border:none;border-radius:var(--radius-field);background:var(--color-navy-button);color:#fff;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .12s ease}.btn-primary:hover:not(:disabled){background:var(--color-navy-button-hover)}.btn-primary:disabled{opacity:.6;cursor:default}.mfa-form{display:flex;flex-direction:column;gap:1rem}.auth-hint{margin:0;font-size:.82rem;line-height:1.5;color:var(--color-muted);text-align:left}.mfa-qr{align-self:center;border-radius:var(--radius-field);border:1px solid rgba(0,0,0,.08)}.mfa-secret-details{text-align:left;font-size:.78rem;color:var(--color-muted)}.mfa-secret-details summary{cursor:pointer;-webkit-user-select:none;user-select:none}.mfa-secret{display:block;margin-top:.4rem;padding:.4rem .55rem;background:var(--wf-card-alt);border-radius:var(--radius-field);font-size:.8rem;letter-spacing:.08em;word-break:break-all}.mfa-code-input{text-align:center;letter-spacing:.4em;font-size:1.1rem}.auth-link{border:none;background:none;color:var(--color-muted);font-size:.82rem;cursor:pointer;padding:0}.auth-link:hover{text-decoration:underline}.app-shell{min-height:100vh;background:var(--wf-bg)}.btn-secondary{padding:.45rem .9rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-field);background:transparent;color:var(--wf-sidebar-text);font-family:inherit;font-size:.85rem;cursor:pointer;transition:background-color .12s ease}.btn-secondary:hover{background:var(--wf-sidebar-hover-bg)}.view-only-note{color:var(--wf-muted);font-size:.9rem}.app-body{display:flex;min-height:100vh;background:var(--wf-bg)}.sidebar-nav{width:220px;flex-shrink:0;background:var(--wf-sidebar-bg);padding:1.25rem 1rem;display:flex;flex-direction:column;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:.5rem;margin-bottom:1.5rem}.sidebar-logo{width:42px;height:42px;flex-shrink:0}.sidebar-title{margin:0;font-size:1rem;font-weight:700;color:var(--wf-sidebar-text);line-height:1.2}.sidebar-subtitle{margin:0;font-size:.75rem;color:var(--wf-sidebar-muted);line-height:1.2}.sidebar-group{margin-bottom:1.5rem}.sidebar-group-title{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--wf-sidebar-muted);margin-bottom:.5rem;padding:0 .5rem}.sidebar-group-title:after{content:"";flex:1;height:1px;background:#ffffff24}.sidebar-tabs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.sidebar-tab{display:block;width:100%;text-align:left;padding:.55rem .65rem;border-radius:var(--wf-radius-card);border:none;background:transparent;font-family:inherit;font-size:.88rem;font-weight:500;color:var(--wf-sidebar-muted);cursor:pointer;transition:background-color .12s ease,color .12s ease}.sidebar-tab:hover:not(.sidebar-tab-active){background:var(--wf-sidebar-hover-bg);color:var(--wf-sidebar-text)}.sidebar-tab-active{background:var(--wf-sidebar-active-bg);color:#fff;font-weight:600}.sidebar-tab-active:hover{background:var(--wf-primary-hover)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}.sidebar-user-email{font-size:.78rem;color:var(--wf-sidebar-muted);padding:0 .5rem;word-break:break-all}.app-main{flex:1;min-width:0;padding:1.75rem 2rem}.nav-pill-button{padding:.4rem .85rem;border-radius:999px;background:var(--wf-card);border:1px solid var(--wf-border);font-size:.85rem;font-family:inherit;color:var(--wf-ink);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.nav-pill-button:hover{border-color:var(--wf-primary)}.nav-pill-active{background:var(--wf-primary);border-color:var(--wf-primary);color:#fff}.quarter-toggle{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.page-header-title{margin:0 0 .25rem;font-size:1.3rem;color:var(--wf-ink)}.page-header-subtitle{margin:0;color:var(--wf-muted);font-size:.88rem;max-width:640px}.quarter-timeline{margin-bottom:.5rem;padding-left:var(--plot-inset-left, 0);padding-right:var(--plot-inset-right, 0)}.quarter-timeline-groups{display:flex}.quarter-timeline-group{text-align:center}.quarter-timeline-label{display:block;font-size:.78rem;font-weight:600;color:var(--wf-muted);margin-bottom:.3rem}.quarter-timeline-line{height:5px;background:none;border-top:1px solid var(--wf-border);border-left:1px solid var(--wf-border);border-right:1px solid var(--wf-border)}.quarter-timeline-dark .quarter-timeline-label{color:#ffffffbf}.quarter-timeline-dark .quarter-timeline-line{border-color:#ffffff4d}.quarter-timeline-months{display:flex;margin-top:.35rem}.quarter-timeline-month{flex:1;min-width:0;text-align:center;font-size:.8rem;font-weight:600;color:var(--wf-muted)}.quarter-timeline-dark .quarter-timeline-month{color:#ffffffd9}.chart-legend-label{font-size:15px;font-weight:500;fill:var(--wf-ink)}.chart-legend-svg-dark .chart-legend-label{fill:#fff}.revenue-chart-card{background:var(--wf-primary);border-radius:var(--wf-radius-card);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.revenue-chart-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.revenue-chart-card-light{background:var(--wf-card);border:1px solid var(--wf-border);border-top:3px solid var(--chart-accent, var(--wf-primary))}.chart-gridline{stroke:var(--wf-border);stroke-width:1}.chart-gridline-dark{stroke:#ffffff24}.revenue-chart-title{margin:0;font-size:1.05rem;font-weight:700;color:#fff}.revenue-chart-card-light .revenue-chart-title{color:var(--chart-accent, var(--wf-primary))}.revenue-chart-subtitle{margin:.1rem 0 0;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--wf-muted)}.revenue-chart-card-light .chart-value-chip-box{background:var(--wf-primary);color:#fff}.revenue-chart-card-light .chart-empty-note{color:var(--wf-muted)}.revenue-chart-body{display:flex;gap:1.25rem}.revenue-chart-plot{position:relative;flex:1;min-width:0}.revenue-chart-plot>svg{display:block;width:100%}.chart-value-chip-box{background:#fff;color:var(--wf-ink);font-size:.85rem;font-weight:700;border-radius:6px;padding:.15rem .4rem;text-align:center;white-space:nowrap;box-shadow:0 1px 3px #00000040;font-variant-numeric:tabular-nums}.chart-verdict{color:var(--wf-ink);font-size:.92rem;margin:0 0 1rem}.chart-axis-label{font-size:15px;fill:var(--wf-muted)}.chart-value-chip{font-size:10px;font-weight:600;fill:var(--wf-ink)}.chart-delta-up{font-size:13px;fill:var(--wf-tier-target)}.chart-delta-down{font-size:13px;fill:var(--wf-badge-behind)}.chart-crosshair{stroke:var(--wf-muted);stroke-width:1;stroke-dasharray:2 2}.chart-hover-dot{fill:var(--wf-primary);stroke:#fff;stroke-width:2}.chart-hover-dot-dark{fill:#fff;stroke:var(--wf-primary)}.chart-crosshair-dark{stroke:#fff6}.chart-tooltip{background:var(--wf-ink);color:#fff;border-radius:6px;padding:.35rem .5rem;font-size:.72rem;line-height:1.3;pointer-events:none}.chart-stat{flex:0 0 6.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:.25rem}.chart-stat-value{font-size:1.3rem;font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.chart-stat-label{margin-top:.3rem;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1.3;color:#ffffffa6}.revenue-chart-card-light .chart-stat-value{color:var(--wf-ink)}.revenue-chart-card-light .chart-stat-label{color:var(--wf-muted)}@media (max-width: 900px){.revenue-chart-body{flex-direction:column}.chart-stat{flex:none;flex-direction:row;gap:.5rem;align-items:baseline;justify-content:flex-start;padding-left:0}.chart-stat-label{margin-top:0}}.show-offices-row{display:flex;justify-content:flex-end;margin:1rem 0}.month-select-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.page-header-actions{display:flex;align-items:center;flex-shrink:0}.quarter-toggle-tight{margin-bottom:0}.btn-page-action{padding:.55rem 1.2rem;font-size:.92rem;font-weight:600;white-space:nowrap;border-color:var(--wf-primary);color:var(--wf-primary)}.btn-page-action:hover:not(:disabled){background:var(--wf-primary);color:#fff}.month-snapshot-card{background:var(--wf-card);border:1px solid var(--wf-border);border-radius:var(--wf-radius-card);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.month-verdict-box{display:flex;gap:.75rem;margin-bottom:.5rem}.month-verdict-accent-bar{width:3px;border-radius:2px;background:var(--wf-badge-behind);flex-shrink:0}.month-verdict-content{flex:1}.month-verdict-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.month-verdict-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--wf-ink)}.month-verdict-caption{font-size:.75rem;color:var(--wf-muted);font-style:italic;white-space:nowrap}.card-heading{margin:0 0 .75rem;font-size:1rem;font-weight:700;color:var(--wf-ink)}.bd-table{width:100%;border-collapse:collapse;table-layout:fixed}.bd-table th,.bd-table td{padding:.85rem .5rem}.bd-table tbody.bd-tbody-people tr:not(.bd-table-section-row) th,.bd-table tbody.bd-tbody-people tr:not(.bd-table-section-row) td{padding-top:.45rem;padding-bottom:.45rem}.bd-table tbody.bd-tbody-people .bd-table-rowhead,.bd-table tbody.bd-tbody-people td.bd-table-section-title{padding-left:1.6rem}.bd-row-encloses .bd-table-rowhead,.bd-table tbody.bd-tbody-people .bd-table-rowhead,.bd-table tbody.bd-tbody-people td.bd-table-section-title{position:relative}.bd-row-encloses .bd-table-rowhead:before,.bd-table tbody.bd-tbody-people .bd-table-rowhead:before,.bd-table tbody.bd-tbody-people td.bd-table-section-title:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:1px;background:var(--wf-border)}.bd-row-encloses .bd-table-rowhead:before{top:auto;height:.6rem}.bd-table tbody.bd-tbody-people .bd-table-rowhead{background-image:linear-gradient(to right,var(--wf-card) .5rem,transparent .5rem)}.bd-table tbody tr.bd-row-encloses,.bd-table tbody.bd-tbody-people tr{border-bottom:none}.bd-table tbody.bd-tbody-people tr:nth-child(odd):not(:first-child){background:var(--wf-row-alt)}.bd-col-label{width:28%}.bd-col-month{width:auto}.bd-table-scroll{overflow-x:auto}.bd-table-scroll .bd-table{min-width:720px}.bd-table th.bd-table-quarter{padding-left:0;padding-right:0}.bd-quarter-label{display:block}.bd-quarter-rule{display:block;height:5px;margin-top:.3rem;border-top:1px solid var(--wf-border);border-left:1px solid var(--wf-border);border-right:1px solid var(--wf-border)}.bd-table-quarter,.bd-table-month{text-align:center;font-size:.8rem;font-weight:600;color:var(--wf-muted)}.bd-table-rowhead{text-align:left;font-weight:400}.bd-table-rowhead-inner{display:flex;align-items:center;gap:.75rem;line-height:1.45}.bd-table-swatch{width:10px;height:10px;border-radius:2px;margin-top:.3rem;flex-shrink:0}.bd-table-rowhead-title,.bd-table-person-name,.bd-table-rowhead-description{display:block}.bd-table-rowhead-title{font-weight:700;font-size:.88rem;color:var(--wf-ink)}.bd-table-person-name{font-weight:600;color:var(--wf-primary);font-size:.88rem}.bd-table-rowhead-description{font-size:.78rem;color:var(--wf-muted)}.bd-table tbody tr{border-bottom:1px solid var(--wf-border-soft)}.bd-table-cell{text-align:center;color:var(--wf-ink);font-size:.9rem;border-left:1px solid var(--wf-border-soft)}.bd-table-cell-derived{font-weight:700;color:var(--wf-primary)}.cell-input{padding:.2rem .35rem;border:1px solid transparent;border-radius:var(--wf-radius-field);background:var(--wf-card-alt);font-family:inherit;font-size:.9rem;color:var(--wf-ink);font-variant-numeric:tabular-nums}.cell-input:hover:not(:disabled){border-color:var(--wf-border)}.cell-input:focus{outline:none;border-color:var(--wf-primary);background:var(--wf-card)}.cell-input:disabled{opacity:.6}.bd-cell-input{width:100%;padding-left:.1rem;padding-right:.1rem;text-align:center}.bd-cell-input::placeholder{color:var(--wf-muted);opacity:.5}.bd-edit-bar{display:flex;gap:.5rem}.bd-table td.bd-table-section-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wf-muted);padding:1.6rem .75rem .5rem}.chart-empty-note{color:#ffffffb3;font-size:.9rem;margin:0}.state-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}@media (max-width: 1100px){.state-columns{grid-template-columns:minmax(0,1fr)}}.director-card{background:var(--wf-card);border:1px solid var(--wf-border);border-radius:var(--wf-radius-card);padding:1.25rem 1.5rem}.director-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.avatar{width:36px;height:36px;border-radius:50%;background:var(--wf-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.director-name{font-weight:600;color:var(--wf-ink)}.proportional-bar-track{height:6px;background:var(--wf-border-soft);border-radius:999px;overflow:hidden;margin:.5rem 0 .75rem}.proportional-bar-fill{height:100%;background:var(--wf-primary);border-radius:999px}.proportional-bar-fill.bar-on-track{background:var(--wf-primary)}.proportional-bar-fill.bar-watch{background:var(--wf-muted)}.proportional-bar-fill.bar-behind{background:var(--wf-badge-behind)}.associate-group{margin-top:.75rem}.associate-group-title{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:var(--wf-ink);margin-bottom:.35rem}.person-avatar{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--wf-card-alt);color:var(--wf-muted);font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.person-avatar-name{min-width:0}.associate-group-count{margin-left:auto;font-weight:500;font-size:.78rem;color:var(--wf-muted);white-space:nowrap}.project-row{display:flex;align-items:baseline;gap:.75rem;font-size:.85rem;padding:.4rem 0;border-bottom:1px solid var(--wf-border-soft);color:var(--wf-ink)}.project-row .project-code{flex:0 0 3.75rem;text-align:right}.project-row-identity{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.project-code{font-size:.7rem;color:var(--wf-muted)}.tag-pill{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.tag-team{background:var(--wf-card-alt);color:var(--wf-primary)}.badge{margin-left:auto;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.badge-on-track{background:var(--wf-badge-on-track-soft);color:var(--wf-badge-on-track)}.badge-watch{background:var(--wf-badge-watch-soft);color:var(--wf-badge-watch-text)}.badge-behind{background:var(--wf-badge-behind-soft);color:var(--wf-badge-behind)}.live-project-stat{display:flex;align-items:baseline;gap:.6rem;margin:.4rem 0 .5rem}.live-project-stat-value{font-size:1.9rem;font-weight:700;color:var(--wf-ink)}.live-project-stat-sublines{display:flex;flex-direction:column;font-size:.75rem;color:var(--wf-muted);line-height:1.3}.live-project-meta-row{display:flex;justify-content:space-between;align-items:baseline;margin:.5rem 0 .75rem}.live-project-count{font-weight:700;font-size:.82rem;color:var(--wf-ink)}.admin-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}.card-note{margin:0 0 1rem;font-size:.82rem;color:var(--wf-muted);max-width:46ch}.figure-edit-table{width:100%;border-collapse:collapse}.figure-edit-table th{text-align:left;font-weight:500;font-size:.85rem;color:var(--wf-muted);padding:.45rem 0;border-bottom:1px solid var(--wf-border-soft)}.figure-edit-table td{text-align:right;padding:.45rem 0;border-bottom:1px solid var(--wf-border-soft);font-variant-numeric:tabular-nums}.figure-edit-table tr:last-child th,.figure-edit-table tr:last-child td{border-bottom:none}.figure-field{display:inline-flex;align-items:baseline;gap:.2rem;justify-content:flex-end}.figure-input{width:4.5rem;text-align:right}.figure-input-error{border-color:var(--wf-badge-behind)}.figure-suffix{color:var(--wf-muted);font-size:.85rem}.figure-error{flex-basis:100%;text-align:right;font-size:.75rem;color:var(--wf-badge-behind)}.btn-secondary-small{padding:.3rem .7rem;border:1px solid var(--wf-border);border-radius:var(--wf-radius-field);background:var(--wf-card);color:var(--wf-ink);font-family:inherit;font-size:.8rem;cursor:pointer;transition:background-color .12s ease}.btn-secondary-small:hover:not(:disabled){background:var(--wf-card-alt)}.btn-secondary-small:disabled{opacity:.6;cursor:default}.inline-form{background:var(--wf-card);border:1px solid var(--wf-border);border-radius:var(--wf-radius-card);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.inline-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem 1rem}.checkbox-list{display:flex;flex-direction:column;gap:.3rem;max-height:110px;overflow-y:auto;border:1px solid var(--wf-border);border-radius:var(--wf-radius-field);padding:.5rem .65rem;background:var(--wf-card)}.checkbox-list-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--wf-ink);cursor:pointer}.row-edit-button{display:inline-flex;align-items:center;border:none;background:none;color:var(--wf-muted);line-height:1;cursor:pointer;padding:0 .2rem;opacity:0;transition:opacity .12s ease,color .12s ease}.project-row:hover .row-edit-button,.row-edit-button:focus-visible{opacity:1}.row-edit-button:hover{color:var(--wf-primary)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wf-scrim);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.dialog-card{background:var(--wf-card);border-radius:var(--wf-radius-card);box-shadow:0 18px 48px #00000047;padding:1.5rem;width:100%;max-width:400px}.dialog-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:700;color:var(--wf-ink)}.dialog-message{margin:0 0 1.25rem;font-size:.9rem;line-height:1.5;color:var(--wf-muted-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.btn-primary-small{padding:.3rem .7rem;border:1px solid var(--wf-primary);border-radius:var(--wf-radius-field);background:var(--wf-primary);color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .12s ease}.btn-primary-small:hover:not(:disabled){opacity:.85}.btn-primary-small:disabled{opacity:.6;cursor:default}.btn-danger-small{padding:.3rem .7rem;border:1px solid var(--wf-badge-behind);border-radius:var(--wf-radius-field);background:var(--wf-badge-behind);color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .12s ease}.btn-danger-small:hover:not(:disabled){opacity:.85}.btn-danger-small:disabled{opacity:.6;cursor:default}.inline-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media (max-width: 860px){.mobile-topbar{display:flex;align-items:center;gap:.6rem;position:fixed;top:0;left:0;right:0;height:52px;padding:0 .75rem;background:var(--wf-sidebar-bg);border-bottom:1px solid rgba(255,255,255,.1);z-index:30}.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--wf-radius-field);background:transparent;color:var(--wf-sidebar-text);cursor:pointer}.mobile-menu-button:hover{background:var(--wf-sidebar-hover-bg)}.mobile-topbar-title{font-size:.95rem;font-weight:600;color:var(--wf-sidebar-text)}.sidebar-nav{position:fixed;top:0;left:0;bottom:0;z-index:40;height:100vh;align-self:auto;transform:translate(-100%);transition:transform .18s ease;box-shadow:2px 0 16px #0000004d}.sidebar-nav-open{transform:translate(0)}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#00000073}.app-main{padding:1rem;padding-top:calc(52px + 1rem)}.page-header,.month-select-row{flex-direction:column;align-items:stretch;gap:.75rem}.page-header-actions{flex-shrink:1}.quarter-toggle{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.nav-pill-button{flex-shrink:0}.chart-key{display:flex;flex-wrap:wrap;gap:.35rem 1rem;list-style:none;margin:.75rem 0 0;padding:0;font-size:.78rem;color:var(--wf-muted-2)}.chart-key-item{display:flex;align-items:center;gap:.4rem}.chart-key-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.chart-key-dark{color:#ffffffbf}.revenue-chart-card,.month-snapshot-card,.director-card{padding:1rem}}@media (min-width: 861px){.mobile-topbar,.nav-backdrop{display:none}}
