:root{--font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "Monaco", "Consolas", "Courier New", monospace;--t-2xs: .733rem;--t-xs: .8rem;--t-sm: .933rem;--t-base: 1rem;--t-md: 1.133rem;--t-lg: 1.5rem;--t-xl: 1.8rem;--t-2xl: 2rem;--leading-body: 1.5;--leading-heading: 1.2;--space-0: 0;--space-half: .25rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--space-6: 4rem;--bg-color: oklch(1 0 0);--card-bg: oklch(1 0 0);--surface-subtle: oklch(.97 0 0);--text-primary: oklch(.218 0 0);--text-secondary: oklch(.528 0 0);--border-color: oklch(0 0 0 / .12);--tick-color: oklch(.749 .007 17.3);--filter-color: oklch(.973 0 0);--primary-color: oklch(.218 0 0);--secondary-color: oklch(.722 .006 264.5);--discussion-color: oklch(67.227% .17305 36.346);--proposal-color: oklch(.808 .151 80);--confirmed-color: oklch(.68 .143 289.4);--completed-color: oklch(.845 .09 217.7);--paid-color: oklch(.88 .142 154.4);--success-color: oklch(.84 .151 153.7);--warning-color: oklch(.705 .187 47.6);--danger-color: oklch(.718 .134 21);--text-on-color: oklch(1 0 0);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 1px 2px oklch(0 0 0 / .04);--shadow: 0 2px 8px oklch(0 0 0 / .08);--shadow-lg: 0 8px 32px oklch(0 0 0 / .12);--shadow-float: 0 12px 48px oklch(0 0 0 / .15);--page-inset: clamp(var(--space-1), 2vw, var(--space-2));--header-height: 108px;--sidebar-width: 480px;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .25s;--ease-default: ease}[data-theme=dark]{--bg-color: oklch(.191 0 0);--card-bg: oklch(.218 0 0);--surface-subtle: oklch(.252 0 0);--text-primary: oklch(.955 0 0);--text-secondary: oklch(.627 0 0);--border-color: oklch(0 0 0);--tick-color: oklch(.389 0 0);--filter-color: oklch(.278 0 0);--primary-color: oklch(.955 0 0);--secondary-color: oklch(.627 0 0);--success-color: oklch(.8 .182 151.7);--warning-color: oklch(.758 .159 55.9);--danger-color: oklch(.711 .166 22.2);--text-on-color: var(--bg-color);--shadow-sm: none;--shadow: none;--shadow-lg: none;--shadow-float: 0 12px 48px oklch(0 0 0 / .35)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-size:93.75%;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:var(--leading-body);font-family:var(--font-family);font-size:var(--t-base);color:var(--text-primary);background-color:var(--surface-subtle);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:var(--leading-heading)}ul,ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.panel{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle}.panel--rounded{border-radius:var(--radius-md)}.panel--pill{border-radius:var(--radius-xl)}.panel--flush{overflow:hidden}.panel--raised{box-shadow:var(--shadow)}.panel--float{box-shadow:var(--shadow-float)}.panel--keyline{background-color:var(--border-color)}.panel--subtle{background-color:var(--surface-subtle)}.form-field,.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-1) 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);background-color:var(--card-bg);color:var(--text-primary);font-family:inherit;transition:outline-color var(--duration-fast) var(--ease-default)}.form-field:focus-visible,.form-group input:focus-visible,.form-group textarea:focus-visible,.form-group select:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}.form-field--compact{padding:var(--space-half) var(--space-1)}.form-label,.form-group label{display:block;font-size:var(--t-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:500;margin-bottom:6px}.form-label--compact{font-size:10px;margin-bottom:2px}.btn-remove{background:none;border:none;color:var(--danger-color);cursor:pointer;padding:var(--space-half);font-size:1.1rem;line-height:1;opacity:.6;transition:opacity var(--duration-fast) var(--ease-default)}.btn-remove:hover{opacity:1}.tab{padding:var(--space-1) var(--space-2);background:none;border:none;font-family:inherit;font-size:var(--t-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;white-space:nowrap;flex-shrink:0;transition:color var(--duration-fast) var(--ease-default)}.tab:hover{color:var(--text-primary)}.app-layout{padding-top:calc(var(--header-height) + var(--page-inset) + var(--page-inset));padding-inline:var(--page-inset)}.main-header{position:fixed;top:var(--page-inset);left:var(--page-inset);right:var(--page-inset);z-index:100}.header-content{display:flex;align-items:center}.main-header h1{font-size:var(--t-lg);font-weight:500;white-space:nowrap;flex-shrink:0;width:260px;text-align:center}[data-theme=dark] .main-header h1{color:#fff}h1 sup{font-size:10px;font-weight:400;margin-inline-start:var(--space-half);vertical-align:super}.metrics-bar{display:flex;align-items:stretch;flex:1;min-width:0;margin-inline-start:1px}.metric-block{text-align:center;border-left:1px solid var(--border-color);flex:1;padding:var(--space-4);color:var(--text-secondary);background-color:var(--card-bg);transition:background-color var(--duration-fast) var(--ease-default);display:flex;flex-direction:column;justify-content:center;gap:2px;position:relative;cursor:pointer}.metric-block--active{background-color:var(--surface-subtle)}#metricTarget,#metricDays{cursor:default}.metric-block__header{display:flex;align-items:center;gap:4px;position:absolute;top:var(--space-1);left:var(--space-1)}.metric-block__icon{width:18px;height:18px;opacity:.5;flex-shrink:0;transition:opacity .2s ease,color .2s ease}.metric-block__label{font-size:9px;text-transform:uppercase;letter-spacing:.05em}.metric-block__header .metric-block__label{opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .2s ease,max-width .2s ease}.metric-block:hover .metric-block__header .metric-block__label,.metric-block--active .metric-block__header .metric-block__label{opacity:1;max-width:6rem}.metric-block:hover .metric-block__icon,.metric-block--active .metric-block__icon{opacity:1}#metricTarget:hover .metric-block__icon,#metricTarget.metric-block--active .metric-block__icon{color:var(--danger-color)}#metricPaid:hover .metric-block__icon,#metricPaid.metric-block--active .metric-block__icon{color:var(--paid-color)}#metricInvoiced:hover .metric-block__icon,#metricInvoiced.metric-block--active .metric-block__icon{color:var(--completed-color)}#metricUnbilled:hover .metric-block__icon,#metricUnbilled.metric-block--active .metric-block__icon{color:var(--confirmed-color)}#metricProposal:hover .metric-block__icon,#metricProposal.metric-block--active .metric-block__icon{color:var(--proposal-color)}#metricDiscussion:hover .metric-block__icon,#metricDiscussion.metric-block--active .metric-block__icon{color:var(--discussion-color)}.metric-block__primary{font-size:var(--t-lg);font-weight:500;color:var(--text-primary);white-space:nowrap}.metric-block__super{display:inline-block;width:0;overflow:visible;white-space:nowrap;vertical-align:super;font-size:10px;font-weight:400;color:var(--text-secondary);margin-inline-start:2px}.metric-block__super.trajectory--on-track{color:var(--success-color)}.metric-block__super.trajectory--behind{color:var(--warning-color)}.metric-block__super.trajectory--at-risk{color:var(--danger-color)}.metric-block__support{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-financial-filter=paid] .project-card:not(.billing--paid),[data-financial-filter=invoiced] .project-card:not(.billing--invoiced),[data-financial-filter=unbilled] .project-card:not(.billing--unbilled),[data-financial-filter=proposal] .project-card:not(.billing--proposal),[data-financial-filter=discussion] .project-card:not(.billing--discussion){background-color:var(--filter-color);color:var(--filter-color);transition:background-color .2s ease,color .2s ease}[data-financial-filter=paid] tr:not(.billing--paid) td,[data-financial-filter=invoiced] tr:not(.billing--invoiced) td,[data-financial-filter=unbilled] tr:not(.billing--unbilled) td,[data-financial-filter=proposal] tr:not(.billing--proposal) td,[data-financial-filter=discussion] tr:not(.billing--discussion) td{background-color:var(--filter-color);color:var(--filter-color);transition:background-color .2s ease,color .2s ease}[data-financial-filter=paid] tr:not(.billing--paid) .project-status,[data-financial-filter=invoiced] tr:not(.billing--invoiced) .project-status,[data-financial-filter=unbilled] tr:not(.billing--unbilled) .project-status,[data-financial-filter=proposal] tr:not(.billing--proposal) .project-status,[data-financial-filter=discussion] tr:not(.billing--discussion) .project-status{background-color:var(--filter-color);color:var(--filter-color)}[data-financial-filter=paid] .timeline-view__project-label:not(.billing--paid),[data-financial-filter=invoiced] .timeline-view__project-label:not(.billing--invoiced),[data-financial-filter=unbilled] .timeline-view__project-label:not(.billing--unbilled),[data-financial-filter=proposal] .timeline-view__project-label:not(.billing--proposal),[data-financial-filter=discussion] .timeline-view__project-label:not(.billing--discussion){color:var(--filter-color);transition:color .2s ease}[data-financial-filter=paid] :is(.timeline-view__bar,.timeline-view__invoice-block):not(.billing--paid),[data-financial-filter=invoiced] :is(.timeline-view__bar,.timeline-view__invoice-block):not(.billing--invoiced),[data-financial-filter=unbilled] :is(.timeline-view__bar,.timeline-view__invoice-block):not(.billing--unbilled),[data-financial-filter=proposal] :is(.timeline-view__bar,.timeline-view__invoice-block):not(.billing--proposal),[data-financial-filter=discussion] :is(.timeline-view__bar,.timeline-view__invoice-block):not(.billing--discussion){background-color:var(--filter-color);color:var(--filter-color);transition:background-color .2s ease,color .2s ease}#gapAmount.gap--on-track{color:var(--success-color)}#gapAmount.gap--behind{color:var(--text-primary)}.utility-btn-wrap{position:relative}.utility-popover{position:absolute;bottom:calc(100% + var(--space-1));right:0;min-width:160px;z-index:200;box-shadow:var(--shadow-lg);padding:var(--space-half)}.utility-popover__item{display:block;width:100%;padding:var(--space-1) var(--space-2);border:none;background:none;text-align:left;font-size:var(--t-sm);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);corner-shape:squircle;font-family:inherit;transition:background-color var(--duration-fast) var(--ease-default)}.utility-popover__item:hover{background-color:var(--surface-subtle)}[data-share-mode=true] .blur{filter:blur(8px);transition:filter .3s var(--ease-default);-webkit-user-select:none;user-select:none}[data-share-mode=true] .blur:hover{filter:blur(0)}.controls-section{padding:var(--space-2)}.controls-container{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.controls-hidden{display:none}.search-wrapper{position:relative;flex:1;min-width:min(250px,100%);max-width:400px}.search-input{padding:var(--space-1) var(--space-5) var(--space-1) var(--space-2);background-color:var(--surface-subtle)}.search-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.filter-controls{display:flex;gap:var(--space-3);align-items:center;flex:1}.filter-group{display:flex;gap:var(--space-1);flex-wrap:wrap}.filter-chip{padding:6px var(--space-2);border:1px solid var(--border-color);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);white-space:nowrap}.filter-chip:hover{color:var(--text-primary)}.filter-chip.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-on-color)}.sort-wrapper{margin-inline-start:auto}.sort-select{padding:6px var(--space-4) 6px var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);background-color:var(--surface-subtle);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-1) center}.sort-select:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}.archive-toggle{display:flex;align-items:center;gap:var(--space-1);padding:6px var(--space-2);border:1px solid var(--border-color);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.archive-toggle:hover{color:var(--text-primary)}.archive-toggle.active{background-color:var(--surface-subtle);color:var(--text-primary)}.view-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;overflow:hidden}.view-toggle__btn{padding:6px var(--space-1);border:none;background:var(--surface-subtle);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.view-toggle__btn:not(:last-child){border-right:1px solid var(--border-color)}.view-toggle__btn:hover{color:var(--text-primary);background-color:var(--surface-subtle)}.view-icon__shape-1,.view-icon__shape-2,.view-icon__shape-3,.view-icon__shape-4{transition:fill var(--duration-fast) var(--ease-default)}.view-toggle__btn:not(.view-toggle__btn--active):hover .view-icon__shape-1{fill:var(--discussion-color)}.view-toggle__btn:not(.view-toggle__btn--active):hover .view-icon__shape-2{fill:var(--proposal-color)}.view-toggle__btn:not(.view-toggle__btn--active):hover .view-icon__shape-3{fill:var(--confirmed-color)}.view-toggle__btn:not(.view-toggle__btn--active):hover .view-icon__shape-4{fill:var(--paid-color)}.view-toggle__btn--active,.view-toggle__btn--active:hover{background-color:var(--primary-color);color:var(--text-on-color)}.type-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;overflow:hidden;width:fit-content}.type-toggle__btn{padding:var(--space-1) var(--space-3);border:none;background:var(--card-bg);color:var(--text-secondary);cursor:pointer;font-size:var(--t-sm);font-weight:500;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);font-family:inherit}.type-toggle__btn:not(:last-child){border-right:1px solid var(--border-color)}.type-toggle__btn:hover{color:var(--text-primary);background-color:var(--surface-subtle)}.type-toggle__btn--active,.type-toggle__btn--active:hover{background-color:var(--primary-color);color:var(--text-on-color)}.export-controls{position:relative}.export-btn{display:flex;align-items:center;gap:var(--space-1);padding:6px var(--space-2);border:1px solid var(--border-color);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);font-weight:500;color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.export-btn:hover{background-color:var(--surface-subtle)}.export-menu{position:absolute;top:100%;right:0;margin-top:var(--space-1);min-width:160px;z-index:10;box-shadow:var(--shadow-lg)}.export-menu.hidden{display:none}.export-option{display:block;width:100%;padding:var(--space-1) var(--space-2);border:none;background:none;text-align:left;font-size:var(--t-sm);color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.export-option:hover{background-color:var(--surface-subtle)}main{padding-block:var(--space-2)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--space-1)}.empty-state{grid-column:1 / -1;text-align:center;padding:var(--space-5);color:var(--text-secondary)}.project-card{padding:var(--space-3);cursor:move;transition:box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-default);aspect-ratio:3 / 4;display:flex;flex-direction:column;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-card.dragging{opacity:.5;cursor:grabbing}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.project-title{flex:1}.project-client{font-size:var(--t-xs);font-weight:400;color:var(--text-primary);margin-bottom:var(--space-4)}.project-name{font-size:1.867rem;font-weight:300;color:var(--primary-color);line-height:var(--leading-heading)}.project-status{border-radius:var(--radius-sm);corner-shape:squircle;font-size:9px;font-weight:500;color:#000000a6;padding:6px var(--space-1) 4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-discussion{background-color:var(--discussion-color)}.status-proposal{background-color:var(--proposal-color)}.status-confirmed{background-color:var(--confirmed-color)}.status-completed{background-color:var(--completed-color)}.status-paid{background-color:var(--paid-color)}.project-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.project-description{font-size:var(--t-sm);color:var(--text-secondary);margin-bottom:var(--space-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-grow:1}.project-dates{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-1);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-xs)}.date-item{display:flex;align-items:center;gap:var(--space-half)}.date-label{color:var(--text-secondary);font-weight:500}.date-value{color:var(--text-primary);font-weight:600}.project-footer{margin-top:auto;padding-top:var(--space-2)}.project-financial{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.financial-label{color:var(--text-secondary);font-size:var(--t-sm)}.financial-value{font-weight:300}.project-title .financial-value{font-size:var(--t-xl);color:var(--secondary-color)}.project-card .financial-value{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-top:var(--space-1)}.earned-value-display{background-color:var(--surface-subtle);padding:var(--space-2);border-radius:var(--radius-sm);corner-shape:squircle}.earned-value-text{font-size:var(--t-md);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1)}.earned-value-progress{margin-bottom:var(--space-1)}.earned-value-details{font-size:var(--t-xs);color:var(--text-secondary)}.project-tasks{margin-top:var(--space-1)}.tasks-progress{display:flex;align-items:center;gap:var(--space-1);font-size:var(--t-xs);color:var(--text-secondary)}.billing-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);corner-shape:squircle;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;background-color:var(--surface-subtle);color:var(--text-secondary);border:1px solid var(--border-color);margin-top:var(--space-half)}.card-contact{font-size:var(--t-xs);color:var(--text-secondary);margin-top:var(--space-half)}.progress-bar{height:4px;background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;overflow:hidden;flex-grow:1}.progress-fill{height:100%;background-color:var(--success-color);transition:width .3s var(--ease-default)}.progress-container{margin:var(--space-2) 0}.progress-container .progress-bar{height:8px;border-radius:var(--radius-sm);corner-shape:squircle}.row-view{width:100%;padding:0;overflow-x:auto}.row-view__grid{display:grid;grid-template-columns:auto 1fr auto auto auto auto auto auto;gap:1px;font-size:var(--t-sm);min-width:800px}.row-view__th{padding:var(--space-2);font-weight:600;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background-color:var(--surface-subtle);white-space:nowrap}.row-view__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-default)}.row-view__th--sortable:hover{color:var(--text-primary)}.row-view__th--sorted-asc:after{content:" ↑"}.row-view__th--sorted-desc:after{content:" ↓"}.row-view__body{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;gap:1px}.row-view__row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;cursor:pointer}.row-view__cell{padding:var(--space-2);background-color:var(--card-bg);transition:background-color var(--duration-fast) var(--ease-default)}.row-view__row:hover .row-view__cell{background-color:var(--surface-subtle)}.row-view__cell--fee{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.row-view__cell--status{white-space:nowrap}.row-view__cell--status .project-status{display:inline-block}.row-view__cell--code{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.row-view__cell--entity,.row-view__cell--account{font-size:13px;color:var(--text-secondary)}.row-view__cell--date{font-size:13px;color:var(--text-secondary);white-space:nowrap}.row-view__empty{grid-column:1 / -1;padding:var(--space-4);text-align:center;color:var(--text-secondary);background-color:var(--card-bg)}.timeline-view__nav{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.timeline-view__nav-btn{padding:var(--space-half);border:1px solid var(--border-color);background:var(--card-bg);border-radius:var(--radius-sm);corner-shape:squircle;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-default)}.timeline-view__nav-btn:hover{color:var(--text-primary)}.timeline-view__year{font-size:var(--t-md);font-weight:600}.timeline-view__grid{display:grid;grid-template-columns:min(200px,20vw) repeat(12,1fr);gap:1px;min-width:900px}.timeline-view__header{background-color:var(--surface-subtle);padding:4px var(--space-1);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.timeline-view__header-month{display:block}.timeline-view__header-totals{display:block;font-size:var(--t-2xs);letter-spacing:0;text-transform:none;font-weight:600}.timeline-view__header-committed{color:#2e9e5a}.timeline-view__header-potential{color:var(--text-secondary);opacity:.6}.timeline-view__header--label{text-align:left;font-size:var(--t-xs);font-weight:600;color:var(--text-primary)}.timeline-view__now-label{background-color:var(--card-bg)}.timeline-view__now-track{grid-column:2 / -1;background-color:var(--card-bg);display:grid;grid-template-columns:repeat(12,1fr);position:relative}.timeline-view__now-track:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--border-color) 1px);background-size:calc(100% / 12) 100%}.timeline-view__now-month{display:flex;align-items:center;justify-content:space-evenly;padding-block:4px}.timeline-view__now-tick{width:4px;height:4px;border-radius:50%;background-color:var(--tick-color)}.timeline-view__now-tick--active{width:6px;height:6px;background-color:var(--text-primary)}.timeline-view__now-line{position:absolute;bottom:0;width:1px;transform:translate(-1px);background:repeating-linear-gradient(to bottom,var(--text-secondary) 0 3px,transparent 3px 6px);opacity:.3;pointer-events:none;z-index:2}.timeline-view__row{display:contents}.timeline-view__project-label{background-color:var(--card-bg);padding:var(--space-2);font-size:var(--t-xs);display:flex;align-items:center;cursor:pointer;white-space:nowrap;overflow:hidden;position:relative;transition:background-color var(--duration-fast) var(--ease-default)}.timeline-view__project-label:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:32px;background:linear-gradient(to right,transparent,var(--card-bg));pointer-events:none}.timeline-view__row:has(:hover)>.timeline-view__project-label{background-color:var(--surface-subtle)}.timeline-view__row:has(:hover)>.timeline-view__project-label:after{background:linear-gradient(to right,transparent,var(--surface-subtle))}.timeline-view__row:has(:hover)>.timeline-view__bar-track{background-color:var(--surface-subtle)}.timeline-view__bar-track{grid-column:2 / -1;background-color:var(--card-bg);position:relative;min-height:32px;transition:background-color var(--duration-fast) var(--ease-default)}.timeline-view__bar-track:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--border-color) 1px);background-size:calc(100% / 12) 100%}.timeline-view__bar{position:absolute;top:4px;bottom:4px;border-radius:6px;corner-shape:squircle;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-inline:var(--space-1);font-size:var(--t-2xs);font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--duration-fast) var(--ease-default)}.timeline-view__bar:hover{opacity:.85}.timeline-view__bar-track[data-draggable=true] .timeline-view__bar:hover{outline:1.5px dashed oklch(0 0 0 / .35);outline-offset:-1.5px}.timeline-view__bar-track[data-draggable=false] .timeline-view__bar{cursor:not-allowed}.timeline-view__bar--discussion{background-color:var(--discussion-color)}.timeline-view__bar--proposal{background-color:var(--proposal-color)}.timeline-view__bar--confirmed{background-color:var(--confirmed-color)}.timeline-view__bar--completed{background-color:var(--completed-color)}.timeline-view__bar--paid{background-color:var(--paid-color)}.timeline-view__bar--has-invoices{background-color:var(--border-color)}.timeline-view__invoice-month{position:absolute;top:0;bottom:0;display:flex;flex-direction:row;gap:2px;z-index:1}.timeline-view__invoice-block{flex:1;min-height:0;border-radius:4px;corner-shape:squircle;display:flex;align-items:center;justify-content:center;font-size:var(--t-2xs);font-weight:500;cursor:pointer;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-inline:4px;transition:opacity var(--duration-fast) var(--ease-default)}.timeline-view__invoice-block:hover{opacity:.85}.timeline-view__invoice-block--paid{background-color:var(--paid-color)}.timeline-view__invoice-block--invoiced{background-color:var(--completed-color)}.timeline-view__invoice-block--confirmed{background-color:var(--confirmed-color)}.timeline-view__invoice-block--pending{background-color:var(--confirmed-color);opacity:.5;border:1px dashed var(--text-secondary)}.timeline-view__pip{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:auto;cursor:default;border:2px solid var(--card-bg)}.timeline-view__pip--paid{background-color:var(--paid-color)}.timeline-view__pip--invoice{background-color:var(--secondary-color)}.timeline-view--dragging{-webkit-user-select:none;user-select:none}.timeline-view__bar--dragging{z-index:10;opacity:.8;box-shadow:var(--shadow);transition:none}.timeline-view__bar--retainer{padding-inline:0;display:flex;align-items:stretch;gap:0}.timeline-view__retainer-cell{flex:1;display:flex;align-items:center;justify-content:center;font-size:var(--t-2xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.timeline-view__empty{grid-column:1 / -1;background-color:var(--card-bg);padding:var(--space-4);text-align:center;color:var(--text-secondary)}.timeline-view{overflow-x:auto;-webkit-overflow-scrolling:touch}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sidebar{position:fixed;top:var(--page-inset);right:var(--page-inset);bottom:var(--page-inset);width:min(var(--sidebar-width),calc(100vw - var(--page-inset) * 2));z-index:200;display:flex;flex-direction:column;transform:translate(calc(100% + var(--page-inset) * 2));will-change:transform;transition:transform .3s cubic-bezier(.32,.72,0,1)}.sidebar--open{transform:translate(0)}.sidebar__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar__header h2{font-size:var(--t-md);font-weight:500}.sidebar__close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-half);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-default)}.sidebar__close:hover{color:var(--text-primary)}.sidebar__body{flex:1;overflow-y:auto;padding:var(--space-3)}.sidebar__actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;flex-shrink:0;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.sidebar__actions-left,.sidebar__actions-right{display:flex;gap:var(--space-1)}.btn{padding:var(--space-2) var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);corner-shape:squircle;font-weight:500;font-size:var(--t-xs);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);white-space:nowrap;line-height:1}.btn-primary{background-color:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.btn-primary:hover{opacity:.85}.btn-secondary{background-color:transparent;border-color:transparent;color:var(--text-primary)}.btn-secondary:hover{background-color:var(--surface-subtle)}.btn-cancel{background-color:transparent;color:var(--text-secondary)}.btn-cancel:hover{background-color:var(--surface-subtle)}.btn-danger{background-color:transparent;color:var(--danger-color);border-color:var(--danger-color)}.btn-danger:hover{background-color:var(--danger-color);color:var(--text-on-color)}.header-content .btn{flex-shrink:0}.status-button-group{display:flex;gap:var(--space-half);font-size:var(--t-xs);margin-bottom:var(--space-3);padding:var(--space-1);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle}.status-button-group__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center}.status-button-group input[type=radio]{display:none}.status-btn{width:100%;padding:var(--space-1) var(--space-2);text-align:center;border-radius:var(--radius-sm);corner-shape:squircle;font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);background-color:var(--card-bg);color:var(--text-secondary);border:1px solid transparent}.status-btn:hover{background-color:var(--surface-subtle)}.status-btn--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.status-button-group input[type=radio]:checked+.status-btn{color:var(--text-on-color);border-color:transparent;background-color:var(--primary-color)}.status-date-tooltip{position:absolute;top:calc(100% + var(--space-half));left:50%;transform:translate(-50%);z-index:10;padding:var(--space-1);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.status-button-group__item:hover .status-date-tooltip:not([hidden]){opacity:1;pointer-events:auto}.status-date-tooltip:hover{opacity:1;pointer-events:auto}.status-date-tooltip--editing{opacity:1!important;pointer-events:auto!important}.status-date-tooltip__date{display:block;font-size:var(--t-2xs);color:var(--text-secondary);cursor:pointer;padding:2px var(--space-half);border-radius:2px;transition:color var(--duration-fast) var(--ease-default)}.status-date-tooltip__date:hover{color:var(--text-primary)}.status-date-tooltip--editing .status-date-tooltip__date{display:none}.status-date-tooltip__edit{display:flex;align-items:center;gap:var(--space-half)}.status-date-tooltip .status-date-input{font-size:var(--t-2xs);padding:2px var(--space-half);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);width:120px}.status-date-tooltip__update{font-size:var(--t-2xs);padding:2px var(--space-1);white-space:nowrap;background:var(--primary-color);color:var(--bg-color);border:none;border-radius:var(--radius-sm);cursor:pointer}[data-theme=dark] .status-date-tooltip__update{background:var(--text-primary);color:var(--bg-color)}[data-theme=dark] .status-date-tooltip{background:var(--card-bg);border-color:var(--border-color)}[data-theme=dark] .status-date-tooltip .status-date-input{color-scheme:dark}.modal-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-color);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.modal-tabs::-webkit-scrollbar{display:none}.modal-tab{padding:var(--space-2) var(--space-3)}.modal-tab.active{color:var(--primary-color)}.modal-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--primary-color)}.tab-panels{min-height:300px}.tab-panel{display:none}.tab-panel.active{display:block}.form-section{margin-bottom:var(--space-4)}.form-section h3{font-size:var(--t-base);font-weight:500;margin-bottom:var(--space-3);color:var(--text-primary)}.form-group{margin-bottom:var(--space-2)}.form-group input[readonly]{background-color:var(--surface-subtle);cursor:not-allowed;color:var(--text-secondary)}.form-group input.calculated-field{background-color:#fef3c7;border-color:#f59e09}[data-theme=dark] .form-group input.calculated-field{background-color:#422006;border-color:#d97708}.form-group small{display:block;margin-top:var(--space-half);font-size:11px;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:var(--space-2)}.notes-timeline{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2);max-height:min(320px,50vh);overflow-y:auto}.notes-timeline__empty{color:var(--text-muted);font-size:var(--t-sm)}.notes-timeline__entry{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) var(--space-2);background-color:var(--surface-subtle);border-radius:var(--radius-sm);border-inline-start:3px solid var(--border-color)}.notes-timeline__date{font-size:var(--t-xs);color:var(--text-muted);font-weight:600}.notes-timeline__text{font-size:var(--t-sm);line-height:1.5;white-space:pre-wrap}.notes-add{display:flex;flex-direction:column;gap:var(--space-1)}.notes-add__input{resize:vertical}.invoices-list{margin-bottom:var(--space-2)}.invoice-row,.expense-row{padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.invoice-row__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.invoice-row__number{font-weight:600;font-size:var(--t-sm)}.invoice-row__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.invoices-actions{display:flex;gap:var(--space-1)}.expenses-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-color)}.expenses-section>label{display:block;font-weight:600;margin-bottom:var(--space-1)}.expense-row__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.expense-row__label{font-weight:600;font-size:var(--t-sm)}.expense-row__fields{display:grid;grid-template-columns:2fr 1fr auto;gap:var(--space-1);align-items:end}.expense-row__passthrough{display:flex;align-items:center;gap:4px;padding-bottom:4px}.expense-row__passthrough input[type=checkbox]{margin:0}.expense-row__passthrough label{font-size:var(--t-xs);margin-bottom:0}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:start;padding-top:10vh;z-index:1000}.modal-content{width:min(600px,90vw);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{font-size:var(--t-md);font-weight:500}.modal-close{background:none;border:none;font-size:21px;color:var(--text-secondary);cursor:pointer;padding:var(--space-half);line-height:1;transition:color var(--duration-fast) var(--ease-default)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-3);overflow-y:auto}.modal-actions{display:flex;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-color)}.modal-actions-left{display:flex;gap:var(--space-1)}.modal-actions-right{display:flex;gap:var(--space-2)}.modal-wide{width:min(960px,95vw)}.invoice-modal-body{padding:0}.invoice-container{display:grid;grid-template-columns:1fr 1fr;height:calc(90vh - 120px)}.invoice-form{padding:var(--space-3);overflow-y:auto;border-right:1px solid var(--border-color)}.invoice-preview{background-color:var(--surface-subtle);padding:var(--space-3);overflow-y:auto;display:flex;justify-content:center}.invoice-paper{background-color:#fff;width:min(600px,100%);padding:var(--space-4);box-shadow:0 0 10px #0000001a;font-family:var(--font-family);color:#1a1a1a}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.invoice-header h1{font-size:var(--t-2xl);font-weight:400}.invoice-meta{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--t-sm);color:#666}.invoice-meta span{margin-bottom:var(--space-half)}.invoice-body h2{font-size:var(--t-xl);font-weight:500;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid oklch(0 0 0)}.invoice-line-items{margin-bottom:var(--space-4)}.invoice-line-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid oklch(.898 0 0)}.invoice-line-item:last-child{border-bottom:none}.invoice-totals{border-top:2px solid oklch(0 0 0);padding-top:var(--space-2)}.total-row{display:flex;justify-content:space-between;font-size:var(--t-md);font-weight:500;margin-bottom:var(--space-1)}.tax-note{text-align:right;color:#666;font-size:var(--t-xs)}.invoice-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid oklch(.898 0 0)}.payment-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.bill-to strong,.bank-details strong{display:block;margin-bottom:var(--space-1)}.bill-to div,.bank-details div{font-size:var(--t-sm);line-height:var(--leading-body);color:#333}.line-items-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-2)}.line-items-table th{text-align:left;padding:var(--space-1);border-bottom:1px solid var(--border-color);font-weight:600;font-size:var(--t-sm)}.line-items-table td{padding:var(--space-1);border-bottom:1px solid var(--border-color)}.line-items-table input{width:100%;padding:var(--space-half);border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm)}.line-items-table input[type=number]{text-align:right}.line-items-table .amount-cell{text-align:right;font-weight:500}.line-items-table tfoot td{border-bottom:none;padding-top:12px}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.metrics-modal-body{padding:0;display:flex;flex-direction:column;height:calc(90vh - 120px)}.focus-modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3);overflow-y:auto}.focus-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-color);padding-block-end:0}.focus-tabs__btn{border-bottom:2px solid transparent;margin-block-end:-1px}.focus-tabs__btn.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.focus-tab-panel{display:none}.focus-tab-panel.active{display:flex;flex-direction:column;gap:var(--space-4)}.focus-scorecard__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.focus-metric{padding:var(--space-2) var(--space-3);background-color:var(--card-bg);border:none;border-radius:0;cursor:pointer;position:relative;transition:background-color .2s ease}.focus-metric:hover,.focus-metric:focus-visible{background-color:var(--surface-subtle)}.focus-metric:focus-visible{outline:2px solid var(--accent-color, var(--text-secondary));outline-offset:2px}.focus-metric[aria-expanded=true]{background-color:var(--surface-subtle)}.focus-metric__value{font-size:var(--t-lg);font-weight:500;color:var(--text-primary);line-height:var(--leading-heading)}.focus-metric__label{font-size:var(--t-sm);color:var(--text-secondary);margin-top:var(--space-half)}.focus-metric__status{font-size:var(--t-xs);font-weight:500;margin-top:var(--space-half)}.focus-metric__status--good{color:var(--success-color)}.focus-metric__status--warning{color:var(--warning-color)}.focus-metric__status--danger{color:var(--danger-color)}.focus-metric__insight{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease,margin-top .25s ease,padding-top .25s ease;font-size:var(--t-xs);color:var(--text-secondary);line-height:1.5}.focus-metric__insight-text{overflow:hidden}.focus-metric[aria-expanded=true] .focus-metric__insight{grid-template-rows:1fr;margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--border-color)}.focus-section__title{font-size:var(--t-base);font-weight:600;color:var(--text-primary);margin:0}.focus-attention__list{margin-top:var(--space-2);display:flex;flex-direction:column;gap:1px}.attention-item{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-1) var(--space-2);background-color:var(--card-bg);border:none;border-radius:0;font-size:var(--t-sm)}.attention-item__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.attention-item__dot--danger{background-color:var(--danger-color)}.attention-item__dot--warning{background-color:var(--warning-color)}.attention-item__dot--info{background-color:var(--secondary-color)}.attention-item__text{flex:1;color:var(--text-primary);min-width:0}.attention-item__text strong{font-weight:600}.attention-item__amount{font-weight:600;color:var(--text-primary);white-space:nowrap}.attention-item__action-btn{font-size:var(--t-xs);color:var(--accent-color, oklch(.629 .199 264.4));background:none;border:none;cursor:pointer;padding:var(--space-half) var(--space-1);white-space:nowrap;border-radius:var(--radius-sm);transition:background-color .15s ease}.attention-item__action-btn:hover{background-color:var(--surface-subtle)}.attention-item__action-btn:focus-visible{outline:2px solid var(--accent-color, oklch(.629 .199 264.4));outline-offset:2px}.attention-item__inline-action{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease;width:100%}.attention-item__inline-content{overflow:hidden;display:flex;flex-direction:column;gap:var(--space-1);padding-top:0;transition:padding-top .25s ease}.attention-item__inline-action.is-open{grid-template-rows:1fr}.attention-item__inline-action.is-open>.attention-item__inline-content{padding-top:var(--space-1)}.attention-item__instruction{width:80%;padding:var(--space-1) var(--space-2);font-size:var(--t-sm);font-family:inherit;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-primary)}.attention-item__instruction:focus{outline:2px solid var(--accent-color, oklch(.629 .199 264.4));outline-offset:1px;border-color:transparent}.attention-item__controls{display:flex;gap:var(--space-1)}.attention-item__execute,.attention-item__snooze{font-size:var(--t-xs);padding:var(--space-half) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);transition:background-color .15s ease,border-color .15s ease}.attention-item__execute:hover{background-color:var(--accent-color, oklch(.629 .199 264.4));color:var(--text-on-color);border-color:var(--accent-color, oklch(.629 .199 264.4))}.attention-item__snooze:hover{background-color:var(--surface-subtle)}.attention-item__execute:focus-visible,.attention-item__snooze:focus-visible{outline:2px solid var(--accent-color, oklch(.629 .199 264.4));outline-offset:2px}.attention-item__execute:disabled{opacity:.5;cursor:not-allowed}.attention-item__result{font-size:var(--t-xs);line-height:1.5;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.attention-item__result:empty{display:none}.attention-item__result--loading{color:var(--text-secondary);font-style:italic}.attention-item__result--success{color:var(--success-color);background-color:color-mix(in oklch,var(--success-color) 8%,transparent)}.attention-item__result--error{color:var(--danger-color);background-color:color-mix(in oklch,var(--danger-color) 8%,transparent)}.attention-clear{padding:var(--space-3);text-align:center;color:var(--text-secondary);font-size:var(--t-sm);background-color:var(--card-bg);border:none;border-radius:0}.focus-coach__header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.focus-coach__modes{display:flex;gap:var(--space-1)}.focus-coach__mode{padding:var(--space-half) var(--space-2);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);border-radius:var(--radius-sm);corner-shape:squircle;cursor:pointer;font-size:var(--t-sm);font-weight:500;transition:background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.focus-coach__mode:hover{background:var(--surface-subtle);color:var(--text-primary)}.focus-coach__mode.active{background:var(--primary-color);color:var(--text-on-color);border-color:var(--primary-color)}.btn--sm{padding:var(--space-1) var(--space-1);font-size:var(--t-xs)}.btn--xs{padding:2px var(--space-half);font-size:var(--t-xs);line-height:1.4}.focus-coach__content{margin-top:var(--space-2);padding:var(--space-3);background:var(--surface-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;min-height:120px;color:var(--text-primary);line-height:1.6}.focus-coach__content h3{font-size:var(--t-md);margin:var(--space-2) 0 var(--space-1)}.focus-coach__content h3:first-child{margin-top:0}.focus-coach__content p{margin:var(--space-1) 0}.focus-coach__content ul,.focus-coach__content ol{margin:var(--space-1) 0;padding-left:var(--space-3);list-style:revert}.focus-coach__content li{margin:var(--space-half) 0}.focus-coach__content strong{font-weight:600}.focus-coach__controls{display:flex;align-items:center;gap:var(--space-1);flex:1}.coach-onboarding{margin-top:var(--space-2);padding:var(--space-3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.coach-onboarding__message{font-size:var(--t-sm);color:var(--text-secondary)}.onboarding-modal{align-items:center;padding-top:0;z-index:1100}.onboarding-modal__container{max-width:420px;width:90%;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);position:relative}.onboarding-modal__progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.onboarding-modal__step-label{font-size:var(--t-xs);color:var(--text-secondary)}.onboarding-modal__dots{display:flex;gap:var(--space-1)}.onboarding-modal__dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);transition:background .2s ease}.onboarding-modal__dot--active{background:var(--text-primary)}.onboarding-modal__dot--done{background:var(--text-secondary)}.onboarding-card{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);corner-shape:squircle;box-shadow:var(--shadow-float);width:100%;min-height:360px;display:flex;flex-direction:column;transition:opacity .2s ease,transform .2s ease}.onboarding-card__body{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4) var(--space-2);text-align:center}.onboarding-card__question{font-size:var(--t-lg);font-weight:500;color:var(--text-primary);line-height:var(--leading-heading);max-width:32ch}.onboarding-card__footer{padding:var(--space-3);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-card__textarea{width:100%;padding:var(--space-1) 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);background:var(--card-bg);color:var(--text-primary);font-family:inherit;resize:vertical;min-height:2.5rem;max-height:8rem;line-height:1.5}.onboarding-card__textarea:focus-visible{outline:2px solid var(--border-color);outline-offset:2px}.onboarding-card--summary{min-height:0;max-height:80vh}.onboarding-card--summary .onboarding-card__body{align-items:flex-start;text-align:left;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow-y:auto}.onboarding-card--summary .onboarding-card__footer{align-items:center}.onboarding-summary__title{font-size:var(--t-md);font-weight:600;color:var(--text-primary)}.onboarding-summary__intro{font-size:var(--t-sm);color:var(--text-secondary)}.onboarding-summary__list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-half) var(--space-2);width:100%}.onboarding-summary__list dt{font-size:var(--t-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;padding-top:2px}.onboarding-summary__list dd{font-size:var(--t-sm);color:var(--text-primary);line-height:1.5}.onboarding-summary__section-title{font-size:var(--t-sm);font-weight:600;color:var(--text-primary)}.onboarding-summary__bullets{list-style:none;padding:0}.onboarding-summary__bullets li{font-size:var(--t-sm);color:var(--text-secondary);padding-block:var(--space-half);padding-inline-start:var(--space-2);position:relative}.onboarding-summary__bullets li:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background-color:var(--border-color);transform:translateY(-50%)}.onboarding-modal__close{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:var(--space-half);line-height:1}.onboarding-modal__close:hover{color:var(--text-primary)}.onboarding-modal__close:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.onboarding-card__thinking{display:flex;align-items:center;justify-content:center}.onboarding-card__thinking .loading-spinner{width:24px;height:24px;border-width:2px;margin:0}.onboarding-card--exiting{opacity:0;transform:translateY(-16px)}.onboarding-card--entering{opacity:0;transform:translateY(16px)}@media (prefers-reduced-motion: reduce){.onboarding-card{transition:none}.onboarding-card--exiting,.onboarding-card--entering{opacity:1;transform:none}}.coach-checkin,.coach-weekly-review{margin-top:var(--space-2);padding:var(--space-3)}.coach-checkin__greeting{font-size:var(--t-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.coach-checkin__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.coach-checkin__actions{display:flex;gap:var(--space-1);margin-top:var(--space-2);justify-content:flex-end}.coach-weekly-review__intro{font-size:var(--t-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.coach-weekly-review__fields{display:flex;flex-direction:column;gap:var(--space-2)}.coach-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;text-align:center;color:var(--text-secondary)}.coach-loading .loading-spinner{width:24px;height:24px;border:2px solid var(--surface-subtle);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-1)}.coach-empty{color:var(--text-secondary);font-size:var(--t-sm);text-align:center;padding:var(--space-3)}.coach-error{color:var(--danger-color);font-size:var(--t-sm);text-align:center;padding:var(--space-3)}.coach-chat{margin-top:var(--space-2)}.coach-chat__history{display:flex;flex-direction:column;gap:var(--space-1);max-height:min(320px,50vh);overflow-y:auto;padding:var(--space-2);background:var(--surface-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);corner-shape:squircle;margin-bottom:var(--space-1)}.coach-chat__history:empty{display:none}.coach-chat__message{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);line-height:1.5;max-width:85%}.coach-chat__message--user{align-self:flex-end;background:var(--primary-color);color:var(--text-on-color)}.coach-chat__message--assistant{align-self:flex-start;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary)}.coach-chat__message--assistant h3,.coach-chat__message--assistant h4{font-size:var(--t-sm);margin:var(--space-1) 0 var(--space-half)}.coach-chat__message--assistant h3:first-child,.coach-chat__message--assistant h4:first-child{margin-top:0}.coach-chat__message--assistant ul,.coach-chat__message--assistant ol{margin:var(--space-half) 0;padding-left:var(--space-3);list-style:revert}.coach-chat__message--assistant li{margin:var(--space-half) 0}.coach-chat__message--assistant strong{font-weight:600}.coach-chat__message--typing{align-self:flex-start;font-style:italic;color:var(--text-secondary);font-size:var(--t-sm);padding:var(--space-1) var(--space-2)}.coach-chat__input{display:flex;gap:var(--space-1);align-items:flex-end}.coach-chat__input textarea{flex:1;resize:vertical;min-height:2.5rem;max-height:8rem;line-height:1.5}.status-indicator{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-half) 12px;border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-sm);font-weight:500}.status-good{background-color:#71e79c33;color:var(--success-color)}.status-warning{background-color:#f9731533;color:var(--warning-color)}.status-danger{background-color:#ec7f7f33;color:var(--danger-color)}.risk-item{background-color:var(--surface-subtle);padding:var(--space-2);border-radius:var(--radius-sm);corner-shape:squircle;margin-bottom:12px;border:1px solid var(--border-color)}.risk-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.risk-item-title{font-weight:500}.risk-badge{padding:var(--space-half) var(--space-1);border-radius:var(--radius-sm);corner-shape:squircle;font-size:var(--t-xs);font-weight:600;text-transform:uppercase}.risk-high{background-color:var(--danger-color);color:var(--text-on-color)}.risk-medium{background-color:var(--warning-color);color:var(--text-on-color)}.risk-low{background-color:var(--success-color);color:var(--text-on-color)}.contacts-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.contact-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--space-1);align-items:start;padding:12px}.contact-row__fields{display:contents}.contact-row__field{width:100%}.contact-row__field input,.contact-row__field select{font-size:13px}.contact-row__field label{font-size:11px;letter-spacing:.025em;margin-bottom:var(--space-half)}.contact-row__meta{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-1)}.contact-row__actions{display:flex;align-items:center;gap:var(--space-1);padding-top:20px}.contact-row__primary{display:flex;align-items:center;gap:var(--space-half);font-size:var(--t-xs);color:var(--text-secondary);padding-top:20px;white-space:nowrap}.contact-row__primary input[type=checkbox]{width:1rem;height:1rem}.project-contacts{display:flex;flex-direction:column;gap:6px;padding:var(--space-1);background-color:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;min-height:var(--space-4);border:1px solid var(--border-color)}.project-contacts .text-muted{color:var(--text-secondary);font-size:13px}.project-contact-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--t-sm)}.project-contact-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;border:2px solid var(--border-color);border-radius:6px;corner-shape:squircle;background-color:var(--card-bg);cursor:pointer;position:relative;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.project-contact-item input[type=checkbox]:after{content:"";position:absolute;inset:0;opacity:0;width:5px;height:9px;border-right:2px solid var(--text-on-color);border-bottom:2px solid var(--text-on-color);margin:auto;transform:rotate(45deg) translateY(-1px);transition:opacity var(--duration-fast) var(--ease-default)}.project-contact-item input[type=checkbox]:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.project-contact-item input[type=checkbox]:checked:after{opacity:1}.project-contact-item input[type=checkbox]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.project-contact-item input[type=checkbox]:hover:not(:checked){border-color:var(--text-secondary)}.project-contact-item__role{color:var(--text-secondary);font-size:var(--t-xs)}.loading-spinner{width:40px;height:40px;border:3px solid var(--surface-subtle);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-2)}@keyframes spin{to{transform:rotate(360deg)}}.ai-insight-btn{margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--primary-color);color:var(--text-on-color);border:none;border-radius:var(--radius-sm);corner-shape:squircle;cursor:pointer;font-size:var(--t-sm);font-weight:500;display:flex;align-items:center;gap:var(--space-1);transition:opacity var(--duration-fast) var(--ease-default);width:100%;justify-content:center}[data-theme=dark] .ai-insight-btn{background:var(--card-bg);color:var(--primary-color);border:1px solid var(--border-color)}.ai-insight-btn:hover{opacity:.85}.ai-insight-btn svg{width:16px;height:16px}.project-insights-modal{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-2)}.insights-modal-content{width:min(800px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.insights-modal-header{padding:var(--space-3);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.insights-modal-header h2{font-size:var(--t-xl);font-weight:500;color:var(--text-primary)}.insights-modal-close{background:none;border:none;font-size:var(--t-xl);color:var(--text-secondary);cursor:pointer;padding:var(--space-1);line-height:1;transition:color var(--duration-fast) var(--ease-default)}.insights-modal-close:hover{color:var(--text-primary)}.insights-modal-body{flex:1;padding:var(--space-3);overflow-y:auto}.insights-modal-footer{padding:var(--space-3);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;gap:var(--space-2)}.project-insights-container{display:flex;flex-direction:column;gap:var(--space-3)}.project-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--space-2);padding:var(--space-2);background:var(--surface-subtle);border-radius:var(--radius-sm);corner-shape:squircle;border:1px solid var(--border-color)}.summary-item{display:flex;flex-direction:column;gap:var(--space-half)}.summary-label{font-size:var(--t-sm);color:var(--text-secondary)}.summary-value{font-weight:600;color:var(--text-primary)}.insights-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-1)}.insight-tab{border-radius:var(--radius-sm);corner-shape:squircle;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.insight-tab:hover{background:var(--surface-subtle)}.insight-tab.active{color:var(--primary-color);background:var(--surface-subtle);border-bottom:2px solid var(--primary-color)}.insights-content{padding:var(--space-2) 0}.insight-tab-content{display:none}.insight-tab-content.active{display:block}.recommendation-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);corner-shape:squircle;font-weight:600;font-size:var(--t-sm);margin-bottom:var(--space-2)}.recommendation-accept{background:var(--success-color);color:var(--text-on-color)}.recommendation-reject{background:var(--danger-color);color:var(--text-on-color)}.recommendation-review{background:var(--warning-color);color:var(--text-on-color)}.insight-content-text{color:var(--text-primary);line-height:1.6}.insight-content-text h3{margin:var(--space-3) 0 12px}.insight-content-text h4{margin:var(--space-2) 0 var(--space-1)}.insight-content-text ul,.insight-content-text ol{margin:12px 0;padding-left:var(--space-3);list-style:revert}.insight-content-text li{margin:var(--space-1) 0}.insights-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.insights-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:var(--danger-color)}.insights-error svg{margin-bottom:var(--space-2)}.insights-error h3{margin-bottom:var(--space-1)}.refresh-insights-btn{display:flex;align-items:center;gap:var(--space-1)}.refresh-insights-btn svg{width:16px;height:16px}.utility-buttons{position:fixed;bottom:clamp(var(--space-2),3vw,var(--space-3));right:clamp(var(--space-2),3vw,var(--space-3));display:flex;flex-direction:column;gap:var(--space-1);z-index:100}.utility-btn{width:40px;height:40px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default);border-radius:var(--radius-lg);corner-shape:squircle;box-shadow:var(--shadow-sm)}.utility-btn:hover,.utility-btn--active{color:var(--text-primary);background-color:var(--surface-subtle)}.utility-btn svg{width:18px;height:18px}.demo-banner{position:fixed;bottom:0;z-index:1000;width:100dvw;display:flex;align-items:center;gap:var(--space-2);padding-block:var(--space-1);padding-inline:var(--space-3);background-color:#e5f0fc;border-block-end:1px solid oklch(.85 .04 250);font-size:var(--t-sm)}.demo-banner__label{font-weight:600;color:#224a71;letter-spacing:.02em;text-transform:uppercase;font-size:var(--t-xs)}.demo-banner__hint{color:var(--text-secondary);flex:1}.demo-banner__exit{padding:var(--space-half) var(--space-2);border:1px solid oklch(.85 .04 250);border-radius:4px;background:transparent;color:#224a71;font-size:var(--t-xs);font-weight:600;cursor:pointer;transition:background-color .15s ease}.demo-banner__exit:hover{background-color:#d0e0f2}.demo-banner__exit:focus-visible{outline:2px solid oklch(.5 .1 250);outline-offset:2px}[data-theme=dark] .demo-banner{background-color:#1a222b;border-block-end-color:#2a3c4f}[data-theme=dark] .demo-banner__label{color:#87b2df}[data-theme=dark] .demo-banner__exit{border-color:#374a5d;color:#87b2df}[data-theme=dark] .demo-banner__exit:hover{background-color:#222f3c}.hidden{display:none}[hidden]{display:none!important}@media print{body *{visibility:hidden}.invoice-paper,.invoice-paper *{visibility:visible}.invoice-paper{position:absolute;left:0;top:0;width:100%;max-width:none;box-shadow:none;margin:0;padding:40px}}@media (max-width: 768px){.metrics-bar{display:none}.controls-container{gap:var(--space-2)}.search-wrapper{max-width:none}.filter-controls{width:100%;flex-direction:column;gap:var(--space-2);align-items:stretch}.sort-wrapper{margin-inline-start:0;width:100%}.sort-select{width:100%}.invoice-container{grid-template-columns:1fr}.invoice-form{border-right:none;border-bottom:1px solid var(--border-color)}.invoice-preview{display:none}.focus-scorecard__grid{grid-template-columns:repeat(2,1fr)}.focus-coach__header{flex-direction:column;align-items:stretch}.focus-coach__controls{flex-wrap:wrap}.focus-coach__modes{justify-content:center}.coach-checkin__fields{grid-template-columns:1fr}.insights-modal-content{max-height:100vh;height:100%}}.chat-panel{position:fixed;top:var(--header-height);right:0;bottom:0;width:clamp(320px,30vw,480px);background-color:var(--card-bg);border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:500;transform:translate(100%);transition:transform var(--duration-normal) ease-in}.chat-panel--open{transform:translate(0);transition-timing-function:ease-out}.chat-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);border-bottom:1px solid var(--border-color);flex-shrink:0}.chat-panel__title{font-size:var(--t-md);font-weight:600;line-height:var(--leading-heading)}.chat-panel__close{background:none;border:none;cursor:pointer;padding:var(--space-half);font-size:var(--t-lg);line-height:1;color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-default)}.chat-panel__close:hover{color:var(--text-primary)}.chat-panel__close:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.chat-panel__history{flex:1;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.chat-panel__message{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);max-width:85%;font-size:var(--t-sm);line-height:var(--leading-body)}.chat-panel__message--user{align-self:flex-end;background-color:var(--confirmed-color);color:var(--text-on-color)}.chat-panel__message--assistant{align-self:flex-start;background-color:var(--surface-subtle);color:var(--text-primary)}.chat-panel__message--streaming:after{content:"|";display:inline;font-weight:700;animation:chat-cursor-blink .8s steps(2,start) infinite}@keyframes chat-cursor-blink{to{opacity:0}}.chat-panel__message--error{align-self:flex-start;background-color:oklch(from var(--danger-color) l c h / .12);color:var(--danger-color);border:1px solid oklch(from var(--danger-color) l c h / .25)}[data-theme=dark] .chat-panel__message--error{background-color:#442322;color:var(--danger-color);border-color:#6c3434}:root .chat-panel__message--error{background-color:#ffe8e7;background-color:oklch(.95 .03 21);color:var(--danger-color);border-color:#f7cbc9}.chat-panel__tools{display:flex;flex-flow:row wrap;gap:var(--space-half);margin-bottom:var(--space-half)}.chat-panel__tool-indicator{font-size:var(--t-2xs);background-color:var(--surface-subtle);color:var(--text-secondary);border-radius:var(--radius-md);padding:2px var(--space-1);opacity:.7;line-height:1.4}.chat-panel__tool-indicator--pending{animation:chat-tool-pulse 1.5s ease-in-out infinite}@keyframes chat-tool-pulse{0%,to{opacity:.7}50%{opacity:.35}}.chat-panel__content h3{font-size:var(--t-sm);font-weight:600;margin:var(--space-1) 0 var(--space-half)}.chat-panel__content h3:first-child{margin-top:0}.chat-panel__content h4{font-size:var(--t-sm);font-weight:600;margin:var(--space-1) 0 var(--space-half)}.chat-panel__content p{margin:var(--space-half) 0}.chat-panel__content ul,.chat-panel__content ol{margin:var(--space-half) 0;padding-left:var(--space-3);list-style:disc}.chat-panel__content ol{list-style:decimal}.chat-panel__content li{margin:2px 0}.chat-panel__content strong{font-weight:600}.chat-panel__content code{font-family:var(--font-mono);font-size:.9em;background-color:var(--surface-subtle);padding:1px var(--space-half);border-radius:4px}.chat-panel__message--assistant .chat-panel__content code{background-color:var(--border-color)}.chat-panel__input-area{display:flex;align-items:flex-end;gap:var(--space-1);padding:var(--space-2);border-top:1px solid var(--border-color);flex-shrink:0}.chat-panel__input{flex:1;resize:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-family:inherit;font-size:var(--t-sm);line-height:var(--leading-body);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-default)}.chat-panel__input::placeholder{color:var(--text-secondary)}.chat-panel__input:focus{outline:none;border-color:var(--text-secondary)}.chat-panel__input:focus-visible{outline:2px solid var(--text-secondary);outline-offset:-1px;border-color:transparent}.chat-panel__send{width:40px;height:40px;flex-shrink:0;border:none;border-radius:var(--radius-sm);background-color:var(--text-primary);color:var(--bg-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--duration-fast) var(--ease-default)}.chat-panel__send:hover{opacity:.85}.chat-panel__send:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.chat-panel__send:disabled{opacity:.4;cursor:not-allowed}[data-theme=dark] .chat-panel{box-shadow:var(--shadow-float)}[data-theme=dark] .chat-panel__input{background-color:var(--surface-subtle)}@media (prefers-reduced-motion: reduce){.chat-panel{transition:none}.chat-panel__message--streaming:after{animation:none;opacity:1}.chat-panel__tool-indicator--pending{animation:none;opacity:.5}}
