:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.app-shell{grid-template-rows:auto 1fr auto;gap:14px;min-height:100vh;padding:20px 24px;display:grid}.app-header{border-bottom:1px solid #d9ded5;justify-content:space-between;align-items:end;gap:16px;padding-bottom:16px;display:flex}.app-header h1,.analysis-workspace h2,.conversation-panel h2{letter-spacing:0;margin:0}.app-header h1{color:#172026;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.1}.eyebrow,.section-label,.phase-label{color:#5d6b66;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.phase-label{text-transform:none;border:1px solid #cfd8d4;border-radius:999px;flex:none;padding:6px 10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.header-actions{flex-wrap:wrap;flex:0 auto;justify-content:end;align-items:center;gap:10px;min-width:0;display:flex}.connection-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.connection-status{color:#53605c;font-size:.9rem;font-weight:700}.connect-link{color:#fff;background:#2f6f56;border:1px solid #2f6f56;border-radius:6px;padding:7px 12px;font-size:.9rem;font-weight:700;text-decoration:none}.secondary-button{color:#172026;cursor:pointer;background:#fff;border:1px solid #cfd8d4;border-radius:6px;padding:7px 12px;font-size:.9rem;font-weight:700}.connect-link:focus-visible,.connect-link:hover,.secondary-button:focus-visible,.secondary-button:hover{color:#fff;background:#265946}.workspace-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:16px;min-height:0;display:grid}.analysis-workspace,.conversation-panel{min-width:0}.analysis-workspace{grid-template-rows:minmax(320px,1fr) auto;gap:12px;display:grid}.trend-chart,.selection-status,.controls-placeholder,.conversation-panel,.status-strip{background:#fff;border:1px solid #d9ded5;border-radius:8px;box-shadow:0 1px 2px #1720260d}.trend-chart{grid-template-rows:auto auto auto 1fr;gap:10px;min-width:0;min-height:320px;margin:0;padding:14px 16px;display:grid}.trend-chart-header{gap:4px;min-width:0;display:grid}.trend-chart-title{gap:2px;min-width:0;display:grid}.trend-chart-title strong{color:#172026;overflow-wrap:anywhere;min-width:0;font-size:1.1rem}.chart-card-controls{grid-template-columns:minmax(0,auto) minmax(180px,1fr);align-items:start;gap:8px 12px;min-width:0;display:grid}.chart-view-controls,.chart-metric-controls,.metric-view-controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.chart-metric-controls{justify-content:end}.metric-view-control{color:#46524e;flex:150px;align-items:center;gap:6px;min-width:0;font-size:.82rem;font-weight:800;display:flex}.metric-view-control select{color:#172026;background:#fff;border:1px solid #cfd8d4;border-radius:6px;flex:1 1 0;min-width:0;max-width:100%;min-height:32px;padding:5px 26px 5px 8px;font-size:.86rem;font-weight:700}.relationship-status{color:#53605c;overflow-wrap:anywhere;min-width:0;margin:0;font-size:.86rem;font-weight:800}.view-switcher{background:#f8faf7;border:1px solid #cfd8d4;border-radius:7px;flex:auto;align-items:center;min-width:0;display:inline-flex;overflow:hidden}.view-switcher-button{color:#46524e;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-right:1px solid #cfd8d4;flex:auto;min-width:0;min-height:32px;padding:6px 10px;font-size:.86rem;font-weight:800}.view-switcher-button:last-child{border-right:0}.view-switcher-button:focus-visible,.view-switcher-button:hover{color:#172026;background:#eef4f0}.view-switcher-button-active,.view-switcher-button-active:focus-visible,.view-switcher-button-active:hover{color:#fff;background:#2f6f56}.trend-chart-container{width:100%;min-width:0;min-height:248px;overflow:hidden}.trend-chart-container svg{max-width:100%;height:auto;display:block}.chart-empty-state{color:#53605c;text-align:center;place-items:center;min-height:240px;display:grid}.relationship-chart .chart-empty-state{background:#f8faf7;border:1px dashed #b7c2bd;border-radius:8px}.conversation-empty,.conversation-placeholder p{color:#53605c;max-width:48rem;margin:0}.controls-placeholder,.conversation-panel{padding:16px}.selection-status{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;justify-content:end;align-items:center;gap:8px 12px;padding:0;display:flex}.chart-card-selection-summary .selection-status{border-top:1px solid #e6ebe8;justify-content:start;padding-top:10px}.selection-status-primary{gap:2px;min-width:188px;display:grid}.selection-status-primary strong{color:#172026;font-size:.98rem}.selection-status-primary span{color:#53605c;font-size:.82rem}.selection-metrics{flex-wrap:wrap;gap:8px;margin:0;display:flex}.selection-metrics div{border-left:1px solid #d9ded5;min-width:92px;padding-left:8px}.selection-metrics dt{color:#6b7773;text-transform:uppercase;font-size:.76rem;font-weight:800}.selection-metrics dd{color:#172026;margin:0;font-weight:800}.composer-placeholder{color:#46524e;background:#f8faf7;border:1px dashed #b7c2bd;border-radius:6px;min-height:42px;padding:10px 12px}.selection-controls{gap:10px;margin-top:10px;display:grid}.selection-controls-primary,.selection-controls-more-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;min-width:0;display:grid}.selection-controls-primary{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.selection-controls-more{background:#fbfcfa;border:1px solid #d9ded5;border-radius:8px;min-width:0}.selection-controls-more summary{cursor:pointer;color:#172026;padding:9px 10px;font-size:.9rem;font-weight:800}.selection-controls-more[open] summary{border-bottom:1px solid #d9ded5}.selection-controls-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.control-group-days{grid-column:1/-1}.control-group{border:1px solid #d9ded5;border-radius:8px;min-width:0;margin:0;padding:9px 10px 10px}.control-group-compact{padding-bottom:8px}.control-group legend{color:#172026;padding:0 4px;font-size:.84rem;font-weight:800}.control-group label{color:#46524e;gap:3px;font-size:.82rem;font-weight:700;display:grid}.control-group input,.control-group select{color:#172026;background:#fff;border:1px solid #cfd8d4;border-radius:6px;width:100%;min-width:0;padding:5px 8px}.bounds-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bounds-row-with-clear{grid-template-columns:minmax(0,1fr) auto;align-items:end}.checkbox-row{flex-wrap:wrap;gap:6px;display:flex}.checkbox-pill{background:#f8faf7;border:1px solid #cfd8d4;border-radius:999px;grid-template-columns:auto auto;grid-auto-flow:column;align-items:center;gap:5px;min-height:29px;padding:4px 8px;font-size:.82rem;display:inline-flex}.checkbox-pill input{width:auto;margin:0}.control-help{color:#6b7773;margin:5px 0 0;font-size:.78rem}.day-checkboxes{color:#46524e;gap:4px;font-size:.82rem;font-weight:700;display:grid}.control-group-activity-type{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.control-group-activity-type legend{grid-column:1/-1}.control-actions-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.compact-button{min-height:29px;padding:4px 8px;font-size:.82rem}.secondary-button:disabled,.secondary-button:disabled:focus-visible,.secondary-button:disabled:hover{color:#87918d;cursor:not-allowed;background:#f3f5f2}.conversation-panel{grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;height:calc(100dvh - 140px);max-height:calc(100dvh - 40px);display:grid;position:sticky;top:20px;overflow:hidden}.conversation-panel-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.conversation-messages{border-top:1px solid #eef1ed;align-content:start;gap:12px;min-height:0;padding-top:14px;display:grid;overflow:auto}.conversation-message{gap:4px;max-width:100%;display:grid}.conversation-message-role{color:#5d6b66;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.conversation-message-content{color:#172026;background:#f8faf7;border:1px solid #d9ded5;border-radius:8px;gap:8px;min-width:0;padding:10px 12px;display:grid}.conversation-message-user .conversation-message-content{background:#eef4f0}.conversation-message-content p{margin:0}.conversation-markdown{gap:8px;min-width:0;display:grid}.conversation-markdown p{margin:0}.conversation-markdown ul,.conversation-markdown ol{margin:0;padding-left:1.25rem}.conversation-markdown li+li{margin-top:4px}.conversation-markdown code{background:#eef4f0;border:1px solid #d9ded5;border-radius:4px;padding:1px 4px;font-size:.88em}.conversation-markdown a{color:#2f6f5e;text-underline-offset:2px;font-weight:700;text-decoration:underline}.conversation-markdown-table-scroll{max-width:100%;overflow-x:auto}.conversation-markdown table{border-collapse:collapse;width:100%;min-width:max-content;font-size:.88rem}.conversation-markdown th,.conversation-markdown td{text-align:left;vertical-align:top;border:1px solid #d9ded5;padding:6px 8px}.conversation-markdown th{background:#eef4f0;font-weight:800}.conversation-tool-status,.conversation-status{color:#53605c;font-size:.84rem;font-weight:700}.conversation-suggestion-card{background:#fff;border:1px solid #cfd8d4;border-radius:8px;gap:10px;padding:10px;display:grid}.conversation-suggestion-title{margin:0;font-weight:800}.conversation-suggestion-rationale{color:#53605c;margin:4px 0 0;font-size:.9rem}.conversation-suggestion-changes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.conversation-suggestion-changes li{border-top:1px solid #eef1ed;justify-content:space-between;gap:10px;padding-top:6px;font-size:.88rem;display:flex}.conversation-suggestion-changes li span:first-child{color:#53605c;font-weight:700}.conversation-suggestion-actions{flex-wrap:wrap;gap:8px;display:flex}.conversation-suggestion-status{color:#53605c;margin:0;font-size:.84rem;font-weight:700}.conversation-error{color:#9b2c2c}.conversation-composer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.conversation-input-label{min-width:0}.conversation-input{resize:vertical;color:#172026;background:#fff;border:1px solid #cfd8d4;border-radius:6px;width:100%;min-height:74px;padding:9px 10px}.conversation-input:disabled{color:#6b7773;background:#f3f5f1}.conversation-placeholder{border-top:1px solid #eef1ed;align-content:start;gap:10px;min-height:0;padding-top:14px;display:grid;overflow:auto}.composer-placeholder{align-items:center;display:flex}.status-strip{color:#53605c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.9rem;display:flex}.data-source-control{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.data-source-select{color:#172026;align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.data-source-select select{color:#172026;background:#fff;border:1px solid #cfd8d4;border-radius:6px;min-width:104px;padding:6px 28px 6px 10px}.data-source-status{color:#53605c;font-size:.9rem}@media (width<=820px){.app-shell{padding:16px}.app-header{flex-direction:column;align-items:start}.header-actions{justify-content:start;width:100%}.workspace-layout{grid-template-columns:1fr;align-items:stretch}.conversation-panel{height:auto;max-height:none;position:static;overflow:visible}.chart-card-controls{grid-template-columns:1fr}.chart-metric-controls{justify-content:start}.selection-controls-primary,.selection-controls-more-grid{grid-template-columns:1fr}}@media (width<=520px){.view-switcher{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.view-switcher-button{border-bottom:1px solid #cfd8d4}.view-switcher-button:nth-child(2n){border-right:0}.view-switcher-button:nth-last-child(-n+2){border-bottom:0}.metric-view-controls,.metric-view-control{width:100%}.bounds-row,.bounds-row-with-clear{grid-template-columns:1fr}.selection-status{flex-direction:column;justify-content:start;align-items:stretch}.selection-metrics{grid-template-columns:1fr;display:grid}.selection-metrics div{border-top:1px solid #d9ded5;border-left:0;padding-top:8px;padding-left:0}}
