:root{--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--color-surface:#fff;--color-surface-alt:#f8f9fa;--color-border:#e9ecef;--color-border-light:#f0f0f0;--color-text:#1a1a2e;--color-text-muted:#6c757d;--color-text-light:#adb5bd;--color-success:#00b894;--color-warning:#e17055;--color-danger:#d63031;--color-ledger:#3fbb77;--color-timeline:#53a6d8;--color-action:#d79b35;--color-status-update:#d66b5e;--color-project-update:#7869da;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 4px 16px #00000014;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", monospace;--command-bar-h:3rem;--mobile-dock-h:5rem}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html,body{width:100%;max-width:100%;overflow-x:hidden}body{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface-alt);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:.9375rem;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{width:100%;min-height:100vh;overflow-x:hidden}.command-bar{z-index:100;align-items:center;gap:var(--space-sm);height:var(--command-bar-h);padding:0 var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);display:flex;position:fixed;top:0;left:0;right:0}.command-bar-brand-wrap{flex-shrink:0;position:relative}.command-bar-brand-button{align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);color:var(--color-text);background:0 0;border:1px solid #0000;padding:.35rem .65rem;transition:background .12s,border-color .12s;display:inline-flex}.command-bar-brand-button:hover,.command-bar-brand-button.is-open{background:var(--color-surface-alt);border-color:var(--color-border)}.command-bar-brand-button:focus-visible{outline-offset:2px;outline:2px solid #53a6d833}.command-bar-brand{align-items:center;gap:var(--space-sm);color:var(--color-text);font-size:.9375rem;font-weight:600;display:flex}.command-bar-brand svg{color:var(--color-ledger);flex-shrink:0}.command-bar-brand-caret{color:var(--color-text-muted);flex-shrink:0;transition:transform .12s}.command-bar-brand-button.is-open .command-bar-brand-caret{transform:rotate(180deg)}.command-bar-sep{color:var(--color-border);font-size:1.1rem;font-weight:300}.command-bar-project{min-width:0;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8125rem;overflow:hidden}.command-bar-menu{top:calc(100% + var(--space-sm));z-index:110;width:min(calc(100vw - (var(--space-md) * 2)), 24rem);max-height:min(80vh,34rem);padding:var(--space-md);border:1px solid var(--color-border);background:linear-gradient(#fffffffc,#f8f9faf5);border-radius:1rem;position:absolute;left:0;overflow-y:auto;box-shadow:0 18px 42px #12162124}.command-bar-menu-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.command-bar-menu-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .15rem;font-size:.6875rem;font-weight:700}.command-bar-menu-title{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.command-bar-menu-phase{border-radius:var(--radius-pill);color:var(--color-text);white-space:nowrap;background:#1a1a2e0f;align-items:center;padding:.35rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.command-bar-menu-copy{color:var(--color-text-muted);margin:.55rem 0 0;font-size:.8125rem}.project-actions-list{gap:var(--space-sm);margin-top:var(--space-md);display:grid}.project-actions-item{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;border-radius:1rem;width:100%;padding:.9rem 1rem;transition:border-color .12s,box-shadow .12s,transform .12s}.project-actions-item:hover:not(:disabled){box-shadow:var(--shadow-md);border-color:#d9dde2;transform:translateY(-1px)}.project-actions-item:disabled{opacity:.78;cursor:not-allowed}.project-actions-item.is-current{background:linear-gradient(#fff,#f6f7fb);border-color:#1a1a2e26}.project-actions-item-top,.project-actions-item-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.project-actions-item-name{color:var(--color-text);font-size:.9375rem;font-weight:700}.project-actions-current{color:var(--color-success);align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.project-actions-item-meta{color:var(--color-text-muted);flex-wrap:wrap;margin-top:.35rem;font-size:.75rem}.project-actions-item-milestone{color:var(--color-text);margin-top:.55rem;font-size:.8125rem;display:block}.project-create-form{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);gap:.85rem;display:grid}.project-create-header{justify-content:space-between;align-items:center;gap:var(--space-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);font-size:.75rem;font-weight:700;display:flex}.project-create-field{gap:.35rem;display:grid}.project-create-field span{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.project-create-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);padding:.7rem .8rem}.project-create-field input:focus{border-color:#53a6d880;outline:2px solid #53a6d833}.project-create-actions{gap:var(--space-sm);display:grid}.project-actions-feedback{color:var(--color-danger);margin:0;font-size:.8125rem}.workspace{padding-top:calc(var(--command-bar-h) + var(--space-md));padding-left:var(--space-md);padding-right:var(--space-md);padding-bottom:calc(var(--space-2xl) + var(--mobile-dock-h) + 2rem)}.workspace-grid{gap:var(--space-md);max-width:1440px;margin:0 auto;display:grid}.section{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-md)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.section-title{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.section-eyebrow{margin:0 0 var(--space-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.count-badge{min-width:1.5rem;height:1.5rem;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-surface);justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.project-heading{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.project-heading h2{margin:0;font-size:1.25rem;font-weight:700}.phase-chip{align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);color:var(--color-success);background:#00b8941f;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.project-metrics{gap:var(--space-lg);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.project-metric{flex-direction:column;gap:.1rem;display:flex}.project-metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.project-metric-value{color:var(--color-text);font-size:1.125rem;font-weight:700}.phase-stepper{gap:0;display:grid}.phase-step{gap:var(--space-sm);padding:var(--space-sm) 0;text-align:left;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;grid-template-columns:1.75rem 1fr;transition:background .12s;display:grid}.phase-step:hover{background:var(--color-surface-alt)}.phase-step-number{border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.6875rem;font-weight:700;display:flex}.phase-step.is-done .phase-step-number{background:var(--color-border);color:var(--color-text-muted)}.phase-step.is-current .phase-step-number{background:var(--color-text);color:var(--color-surface)}.phase-step.is-upcoming .phase-step-number{border:1.5px solid var(--color-border);color:var(--color-text-light);background:0 0}.phase-step-label{font-size:.8125rem;font-weight:500;line-height:1.5rem}.phase-step.is-done .phase-step-label{color:var(--color-text-muted)}.phase-step.is-current .phase-step-label{color:var(--color-text);font-weight:700}.phase-step.is-upcoming .phase-step-label{color:var(--color-text-light)}.phase-step-desc{color:var(--color-text-muted);padding-bottom:var(--space-xs);grid-column:2;font-size:.8125rem;line-height:1.4}.phase-step-meta{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);grid-column:2;font-size:.75rem;display:flex}.phase-at-risk{color:var(--color-warning);align-items:center;gap:.2rem;display:inline-flex}.capture-dropzone{justify-content:center;gap:var(--space-sm);padding:var(--space-lg);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);margin-bottom:var(--space-md);text-align:center;cursor:pointer;flex-direction:column;font-size:.875rem;transition:border-color .12s,background .12s;display:flex}.capture-dropzone strong{color:var(--color-text);font-size:.9375rem}.capture-dropzone:hover,.capture-dropzone.is-busy{background:#fcfcfd;border-color:#cbd5dc}.capture-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.capture-dropzone svg{flex-shrink:0}.capture-form{gap:var(--space-sm);margin-bottom:var(--space-md);display:grid}.capture-form textarea{width:100%;min-height:4.5rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);resize:vertical;font-size:.875rem}.capture-form textarea::placeholder{color:var(--color-text-light)}.capture-form-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.capture-feedback{color:var(--color-text-muted);font-size:.8125rem}.doc-list{gap:0;display:grid}.doc-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:.8125rem;display:flex}.doc-row:last-child{border-bottom:0}.doc-row svg{color:var(--color-text-muted);flex-shrink:0}.doc-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);flex:1;font-weight:500;overflow:hidden}.doc-row-date{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.status-chip{border-radius:var(--radius-pill);text-transform:capitalize;white-space:nowrap;align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.status-processed{color:#00956d;background:#00b8941f}.status-review{color:#2980b9;background:#53a6d81f}.status-failed{color:var(--color-danger);background:#d630311f}.proposal-compact-list{gap:var(--space-sm);display:grid}.proposal-compact{border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:box-shadow .12s;overflow:hidden}.proposal-compact:hover{box-shadow:var(--shadow-md)}.proposal-compact-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.proposal-color-bar{border-radius:var(--radius-pill);flex-shrink:0;align-self:stretch;width:3px}.proposal-color-bar.type-ledger_event{background:var(--color-ledger)}.proposal-color-bar.type-timeline_event{background:var(--color-timeline)}.proposal-color-bar.type-action_item{background:var(--color-action)}.proposal-color-bar.type-item_status_update{background:var(--color-status-update)}.proposal-color-bar.type-project_state_update{background:var(--color-project-update)}.proposal-compact-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden}.proposal-confidence{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.proposal-actions{gap:var(--space-xs);flex-shrink:0;display:flex}.proposal-action-btn{border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;color:var(--color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.proposal-action-btn:hover{background:var(--color-surface-alt)}.proposal-action-btn.approve:hover{color:var(--color-success);background:#00b8941f}.proposal-action-btn.reject:hover{color:var(--color-danger);background:#d630311f}.proposal-detail{padding:0 var(--space-md) var(--space-md) calc(3px + var(--space-sm) + var(--space-md));border-top:1px solid var(--color-border-light);animation:.15s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.proposal-detail-summary{margin:var(--space-sm) 0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.5}.proposal-payload{gap:var(--space-sm);margin:var(--space-sm) 0;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.proposal-payload dt{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.1rem;font-size:.6875rem}.proposal-payload dd{color:var(--color-text);margin:0;font-size:.875rem;font-weight:600}.proposal-source{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.75rem}.proposal-duplicate-warn{align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:#8c5718;background:#d79b351a;font-size:.8125rem;display:flex}.proposal-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-lg);font-size:.875rem}.actions-search{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-md);background:var(--color-surface);display:flex}.actions-search svg{color:var(--color-text-muted);flex-shrink:0}.actions-search input{color:var(--color-text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:.875rem}.actions-search input::placeholder{color:var(--color-text-light)}.budget-bar-strip{gap:var(--space-lg);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.budget-bar-item{flex-direction:column;display:flex}.budget-bar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:600}.budget-bar-value{color:var(--color-text);font-size:1rem;font-weight:700}.budget-progress{background:var(--color-border-light);border-radius:var(--radius-pill);height:.375rem;margin-bottom:var(--space-md);overflow:hidden}.budget-progress-fill{border-radius:inherit;background:var(--color-ledger);height:100%;transition:width .3s}.timeline-list{gap:0;display:grid;position:relative}.timeline-entry{gap:var(--space-sm);padding:var(--space-sm) 0;grid-template-columns:1.25rem 1fr;display:grid;position:relative}.timeline-entry:not(:last-child):before{content:"";left:calc(.625rem - .5px);top:calc(var(--space-sm) + .75rem);background:var(--color-border);width:1px;position:absolute;bottom:0}.timeline-dot{border-radius:var(--radius-pill);z-index:1;flex-shrink:0;justify-self:center;width:.625rem;height:.625rem;margin-top:.3rem;position:relative}.timeline-dot.cat-ledger_event{background:var(--color-ledger)}.timeline-dot.cat-timeline_event{background:var(--color-timeline)}.timeline-dot.cat-document{background:var(--color-action)}.timeline-body{min-width:0}.timeline-top{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.timeline-title{color:var(--color-text);font-size:.875rem;font-weight:600}.timeline-date{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem}.timeline-desc{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.8125rem;line-height:1.4}.timeline-tags{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.pill{border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border-light);align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:500;display:inline-flex}.money-pill{border-radius:var(--radius-pill);color:#1a7a4a;background:#3fbb771a;align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.ask-overlay{z-index:210;background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s askSlideUp;display:flex;position:fixed}@keyframes askSlideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.ask-overlay{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border:1px solid var(--color-border-light);border-bottom:0;height:70vh;bottom:0;left:0;right:0}.ask-overlay-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ask-overlay-title{align-items:center;gap:var(--space-sm);font-size:.875rem;font-weight:600;display:flex}.ask-overlay-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;transition:background .1s;display:flex}.ask-overlay-close:hover{background:var(--color-surface-alt)}.ask-chat-list{min-height:0;padding:var(--space-md);gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ask-chat-row{display:flex}.ask-chat-row.is-user{justify-content:flex-end}.ask-chat-row.is-assistant{justify-content:flex-start}.ask-chat-bubble{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;line-height:1.5}.ask-chat-bubble p{margin:0}.ask-chat-bubble.is-user{background:var(--color-text);color:var(--color-surface);border-bottom-right-radius:var(--space-xs)}.ask-chat-bubble.is-assistant{background:var(--color-surface-alt);color:var(--color-text);border-bottom-left-radius:var(--space-xs);border:1px solid var(--color-border-light)}.ask-bubble-icon{color:var(--color-text-muted);margin-bottom:var(--space-xs)}.ask-evidence{margin:var(--space-sm) 0 0;padding-left:var(--space-md);color:var(--color-text-muted);gap:.2rem;font-size:.8125rem;display:grid}.ask-review-card-list{gap:var(--space-sm);margin-top:var(--space-sm);display:grid}.ask-review-card{border-radius:var(--radius-md);padding:var(--space-sm);border:1px solid var(--color-border);background:#ffffffc7}.ask-review-card.type-ledger_event{background:#3fbb7714;border-color:#3fbb7733}.ask-review-card.type-action_item{background:#d79b351a;border-color:#d79b3540}.ask-review-card.type-item_status_update{background:#d66b5e14;border-color:#d66b5e38}.ask-review-card-top,.ask-review-card-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.ask-review-card-chip,.ask-review-card-confidence,.ask-review-card-heading span{letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.ask-review-card-chip{border-radius:var(--radius-pill);color:var(--color-text);background:#1a1a2e14;padding:.18rem .5rem}.ask-review-card-chip.is-approved{color:#0f6b54;background:#00b89424}.ask-review-card-chip.is-rejected{color:#8b2e2f;background:#d630311f}.ask-review-card-confidence,.ask-review-card-heading span{color:var(--color-text-muted)}.ask-review-card-heading{margin-top:var(--space-sm)}.ask-review-card-heading strong{font-size:.9375rem;line-height:1.3}.ask-review-card-summary,.ask-review-card-source p,.ask-review-card-duplicate{margin:var(--space-sm) 0 0;font-size:.8125rem}.ask-review-card-source span{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:700;display:inline-flex}.ask-review-card-source p{color:var(--color-text)}.ask-review-card-payload{margin:var(--space-sm) 0 0;gap:.45rem;display:grid}.ask-review-card-payload div{gap:.1rem;display:grid}.ask-review-card-payload dt{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:700}.ask-review-card-payload dd{color:var(--color-text);margin:0;font-size:.8125rem}.ask-review-card-duplicate{color:var(--color-warning)}.ask-review-card-actions{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.ask-review-card-action{appearance:none;border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;border:0;padding:.65rem .9rem;font-size:.75rem;font-weight:700;transition:transform .12s,background .12s,color .12s,opacity .12s}.ask-review-card-action:hover:not(:disabled){transform:translateY(-1px)}.ask-review-card-action:disabled,.proposal-action-btn:disabled{opacity:.55;cursor:wait}.ask-review-card-action.reject{color:#8b2e2f;background:#d630311a}.ask-review-card-action.reject:hover:not(:disabled){background:#d6303129}.ask-review-card-action.approve{color:#0f6b54;background:#00b8941f}.ask-review-card-action.approve:hover:not(:disabled){background:#00b8942e}.ask-review-card-status-copy{margin:var(--space-sm) 0 0;font-size:.75rem;font-weight:600}.ask-review-card-status-copy.is-approved{color:#0f6b54}.ask-review-card-status-copy.is-rejected{color:#8b2e2f}.ask-voice-status{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-light);background:linear-gradient(#53a6d814,#ffffffeb);display:flex}.ask-voice-status.is-error{background:linear-gradient(#d66b5e1f,#fffffff0)}.ask-voice-status-copy{gap:.25rem;display:grid}.ask-voice-status-label{border-radius:var(--radius-pill);width:fit-content;color:var(--color-text);letter-spacing:.06em;text-transform:uppercase;background:#1a1a2e14;align-items:center;padding:.15rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.ask-voice-status-copy p{color:var(--color-text);margin:0;font-size:.8125rem}.ask-voice-status-action,.ask-voice-btn{border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-text);border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ask-voice-status-action{width:2rem;height:2rem}.ask-chat-form{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border-light);flex-shrink:0;display:flex}.ask-chat-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-text);outline:none;flex:1;font-size:.875rem}.ask-chat-form input::placeholder{color:var(--color-text-light)}.ask-send-btn{border-radius:var(--radius-sm);background:var(--color-text);width:2.25rem;height:2.25rem;color:var(--color-surface);border:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ask-voice-btn{width:2.25rem;height:2.25rem}.ask-send-btn:hover{opacity:.85}.mobile-dock{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-md));z-index:200;align-items:flex-end;gap:var(--space-xs);width:min(calc(100% - (var(--space-md) * 2)), 22rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffffa,#f8f9faeb);border:1px solid #e9eceff2;border-radius:1.6rem;padding:.45rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 36px #1a1a2e24}.mobile-dock-btn{min-width:0;color:var(--color-text-muted);background:0 0;border:0;border-radius:1.15rem;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.55rem .35rem .4rem;transition:background .12s,color .12s,transform .12s;display:flex}.mobile-dock-btn span:last-child{letter-spacing:.02em;font-size:.6875rem;font-weight:600}.mobile-dock-btn.is-active{color:var(--color-text);background:#1a1a2e0f}.mobile-dock-btn-primary{color:var(--color-surface);background:linear-gradient(#2f3348,#121621);transform:translateY(-.75rem);box-shadow:0 14px 28px #1216213d}.mobile-dock-btn-primary.is-active,.mobile-dock-btn-primary:hover{color:var(--color-surface);background:linear-gradient(#454b67,#171c29)}.mobile-dock-primary-icon{border-radius:var(--radius-pill);background:#ffffff1f;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.mobile-project-menu,.voice-sheet{z-index:210;left:var(--space-md);right:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-lg);animation:.18s askSlideUp;position:fixed}.mobile-project-menu{bottom:calc(env(safe-area-inset-bottom,0px) + var(--mobile-dock-h) + 1.35rem);border-radius:1.25rem;overflow:hidden}.voice-sheet{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-lg));border-bottom:0;border-top-left-radius:1.35rem;border-top-right-radius:1.35rem;bottom:0;left:0;right:0}.mobile-sheet-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-border-light);display:flex}.mobile-sheet-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 .15rem;font-size:.6875rem;font-weight:700}.mobile-sheet-title{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.mobile-sheet-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.mobile-sheet-close:hover{background:var(--color-surface-alt)}.mobile-project-list{gap:var(--space-sm);padding:var(--space-md);display:grid}.mobile-project-item{border:1px solid var(--color-border);background:var(--color-surface);text-align:left;border-radius:1rem;width:100%;padding:.9rem 1rem;transition:border-color .12s,box-shadow .12s,transform .12s}.mobile-project-item:hover{box-shadow:var(--shadow-md);border-color:#d9dde2;transform:translateY(-1px)}.mobile-project-item.is-current{background:linear-gradient(#fff,#f6f7fb);border-color:#1a1a2e26}.mobile-project-item-top,.mobile-project-item-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.mobile-project-item-name{color:var(--color-text);font-size:.9375rem;font-weight:700}.mobile-project-current{color:var(--color-success);align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.mobile-project-item-meta{color:var(--color-text-muted);flex-wrap:wrap;margin-top:.35rem;font-size:.75rem}.mobile-project-item-milestone{color:var(--color-text);margin-top:.55rem;font-size:.8125rem;display:block}.voice-sheet-body{padding:var(--space-md);gap:var(--space-md);display:grid}.voice-status-card{background:linear-gradient(160deg,#53a6d81f,#f8f9faeb);border:1px solid #53a6d82e;border-radius:1.1rem;padding:1rem}.voice-status-card.is-recording{background:linear-gradient(160deg,#d66b5e24,#fff4f1f0);border-color:#d66b5e33}.voice-status-label{border-radius:var(--radius-pill);color:var(--color-text);background:#ffffffb3;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.voice-status-time{letter-spacing:-.03em;margin-top:.7rem;font-size:2rem;line-height:1;display:block}.voice-status-copy{color:var(--color-text-muted);margin:.45rem 0 0;font-size:.875rem}.voice-sheet-actions{align-items:center;gap:var(--space-md);display:flex}.voice-sheet-record{border-radius:var(--radius-pill);width:4.5rem;height:4.5rem;color:var(--color-surface);background:linear-gradient(#2f3348,#121621);border:0;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 14px 28px #1216213d}.voice-sheet-record.is-recording{background:linear-gradient(#e57f72,#cd5646)}.voice-sheet-action-copy{color:var(--color-text-muted);gap:.2rem;font-size:.8125rem;display:grid}.voice-sheet-action-copy strong{color:var(--color-text);font-size:.9375rem}.voice-preview{width:100%}.voice-sheet-footer{gap:var(--space-sm);display:flex}.voice-sheet-footer .secondary-button,.voice-sheet-footer .primary-button{flex:1}.voice-error,.voice-notice{margin:0;font-size:.8125rem}.voice-error{color:var(--color-danger)}.voice-notice{color:var(--color-text-muted)}.mobile-toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--mobile-dock-h) + 1.8rem);z-index:215;width:min(calc(100% - (var(--space-md) * 2)), 20rem);color:var(--color-surface);background:#121621f0;border-radius:1rem;padding:.8rem 1rem;font-size:.8125rem;position:fixed;transform:translate(-50%);box-shadow:0 12px 26px #12162147}.ask-backdrop{z-index:205;background:#1116263d;animation:.15s fadeIn;position:fixed;inset:0}.ask-backdrop.is-locked{cursor:default}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.secondary-button{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);white-space:nowrap;font-size:.8125rem;font-weight:600;display:inline-flex}.secondary-button:hover{background:var(--color-surface-alt)}.secondary-button:disabled,.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-surface);white-space:nowrap;border:0;font-size:.8125rem;font-weight:600;transition:opacity .1s;display:inline-flex}.primary-button:hover{opacity:.85}.ask-inline{display:none}@media (width>=768px){.command-bar-menu{width:24rem}.project-create-actions{grid-template-columns:1fr auto;align-items:end}.workspace{padding-left:var(--space-lg);padding-right:var(--space-lg)}.workspace-grid{grid-template-columns:1fr 1fr;grid-template-areas:"project actions""capture ledger"}.section-project{grid-area:project}.section-capture{grid-area:capture}.section-actions{grid-area:actions}.section-ledger{grid-area:ledger}}@media (width<=767px){input,textarea,select{font-size:16px}}@media (width>=1280px){.workspace{padding-bottom:var(--space-2xl)}.workspace-grid{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"project actions ledger""capture actions ask"}.section-project{grid-area:project}.section-capture{grid-area:capture}.section-actions{grid-area:actions}.section-ledger{grid-area:ledger}.section-ask{grid-area:ask}.mobile-dock,.mobile-project-menu,.voice-sheet,.mobile-toast{display:none}.ask-inline{flex-direction:column;display:flex}.ask-inline .ask-chat-list{max-height:24rem}.ask-inline .ask-overlay-header{border-bottom:1px solid var(--color-border-light)}.ask-overlay{bottom:var(--space-lg);right:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);width:24rem;height:28rem;left:auto}}
