@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#1b2636;background-color:#f4efe6;--text-primary: #1b2636;--text-muted: #6c7a89;--panel: rgba(246, 241, 231, .94);--panel-alt: #efe7da;--border: #d8cfc2;--accent: #8a6f62;--accent-deep: #6f564c;--accent-muted: #d8ccc4;--danger: #8f5e5e;--danger-bg: #f1e3e0;--danger-border: #ddc6c1;--surface: #f6f1e7;--surface-raised: #ffffff;--surface-hover: #efe6d8;--surface-active: #e6dbc8;--surface-warm: #f1e6d2;--ink-inverse: #f9f6ef;--shadow-soft: 0 12px 30px rgba(27, 38, 54, .12);--sidebar-bg: #141a22;--sidebar-border: #2a313b;--sidebar-text: #e6ebf0;--sidebar-muted: #9aa4ae;--sidebar-hover: #1c232d;--sidebar-active: #222b36;--sidebar-chip: #10161d;--sidebar-accent: #8c6f62;--divider: rgba(20, 26, 34, .08);--divider-strong: rgba(20, 26, 34, .14);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(circle at top,#f8f3ea,#f1eadf 55%,#e6edf2)}#root{min-height:100svh}button,input,textarea{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tentative-plan{display:flex;flex-direction:column;height:100%;background:transparent;overflow:hidden}.tentative-plan.empty{display:flex;align-items:center;justify-content:center}.plan-empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary);animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.4;filter:grayscale(.3)}.plan-empty-state h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.plan-empty-state p{font-size:.9rem;color:var(--text-secondary)}.plan-header{display:flex;flex-direction:column;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--surface-raised);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.header-top{display:flex;align-items:center;justify-content:space-between}.plan-hint{margin:0;padding:8px 12px;background:#6366f11a;border-left:3px solid #6366f1;border-radius:4px;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.plan-hint.confirmed{background:#10b9811a;border-left:3px solid #10b981;color:#059669;font-weight:500}@media(prefers-color-scheme:dark){.plan-header{background:#1e232df2}.plan-hint{background:#6366f126;color:#ffffffb3}}.plan-header h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary)}.plan-badge{padding:6px 14px;border-radius:16px;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;white-space:nowrap}.plan-badge.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.plan-badge.confirmed{background:linear-gradient(135deg,#10b981,#059669)}.confirm-plan-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #6366f140;display:flex;align-items:center;justify-content:center;gap:8px;line-height:1.5}.confirm-plan-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f159;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.confirm-plan-btn:active:not(:disabled){transform:translateY(0)}.confirm-plan-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-plan-btn.confirmed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98140;color:#fff}.confirm-plan-btn.confirmed:hover{transform:none;box-shadow:0 2px 8px #10b98140}.confirm-error{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:.85rem;animation:fadeIn .3s ease}.plan-content{padding:24px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;flex:1}.plan-content::-webkit-scrollbar{width:6px}.plan-content::-webkit-scrollbar-track{background:transparent}.plan-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.plan-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.plan-section{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;transition:background .2s ease}.plan-section:hover{background:var(--bg-tertiary)}.section-header{display:flex;align-items:center;gap:8px}.section-icon{font-size:1.2rem}.section-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.count-badge{padding:2px 8px;border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:600}.section-text{margin:0;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;color:var(--text-primary);line-height:1.6}.plan-meta{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border-radius:8px;font-size:.9rem}.meta-label{color:var(--text-secondary);font-weight:500}.meta-value{color:var(--text-primary);font-weight:600}.plan-message{padding:12px 16px;background:var(--accent-subtle);border-left:3px solid var(--accent-primary);border-radius:8px}.plan-message p{margin:0;color:var(--text-primary);line-height:1.6}.milestone-list{display:flex;flex-direction:column;gap:12px}.milestone-item{padding:16px;background:var(--bg-secondary);border-radius:12px;border-left:4px solid var(--accent-primary);transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.milestone-item:hover{transform:translate(4px);box-shadow:0 4px 6px #0000001a}.milestone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.milestone-title{font-weight:600;color:var(--text-primary)}.milestone-date{font-size:.85rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 8px;border-radius:6px}.milestone-description{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.task-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.task-item{padding:12px 16px;background:#ffffff80;border-radius:10px;border-left:3px solid transparent;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.task-item:hover{border-left-color:var(--accent-primary);background:#fffc;transform:translate(2px)}@media(prefers-color-scheme:dark){.task-item{background:#0003}.task-item:hover{background:#0000004d}}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.task-title{font-weight:500;color:var(--text-primary)}.priority-badge{padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.priority-badge.priority-high{background:#ef44441a;color:#ef4444}.priority-badge.priority-medium{background:#fbbf241a;color:#fbbf24}.priority-badge.priority-low{background:#22c55e1a;color:#22c55e}.task-meta{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.insight-block{padding:12px 16px;background:var(--bg-secondary);border-radius:8px}.insight-block.precautions{background:#fbbf240d;border-left:3px solid #fbbf24}.insight-block p{margin:0;color:var(--text-primary);line-height:1.6}.insight-subtitle{font-size:.9rem;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.insight-list{margin:0;padding-left:20px;list-style:disc}.insight-list li{margin-bottom:6px;color:var(--text-secondary);line-height:1.5}.resource-list{display:flex;flex-direction:column;gap:10px}.resource-link{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border-radius:12px;text-decoration:none;color:var(--accent-primary);transition:all .25s ease;border:1px solid var(--border-subtle);position:relative;overflow:hidden}.resource-link:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--accent-primary);transform:scaleY(0);transition:transform .3s ease}.resource-link:hover:before{transform:scaleY(1)}.resource-link:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-primary)}.resource-title{flex:1;font-weight:500}.resource-category{padding:2px 8px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.7rem;text-transform:uppercase}.external-icon{opacity:.5}.warnings .warning-list{display:flex;flex-direction:column;gap:8px}.warning-item{padding:12px 16px;background:#ef44440d;border-left:3px solid #ef4444;border-radius:8px;color:var(--text-primary);line-height:1.5}.tentative-plan::-webkit-scrollbar{width:8px}.tentative-plan::-webkit-scrollbar-track{background:transparent}.tentative-plan::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}.tentative-plan::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-shell{display:flex;min-height:100vh;min-height:100svh;color:var(--text-primary);position:relative;overflow-x:hidden;background:linear-gradient(90deg,#1117200a,#11172000 18%)}.sidebar{width:clamp(220px,22vw,280px);display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);position:sticky;top:0;height:100vh;overflow-x:hidden}.sidebar,.sidebar .logo-mark,.sidebar .history-title{color:var(--sidebar-text)}.sidebar .history-preview,.sidebar .menu-button,.sidebar .history-menu-button{color:var(--sidebar-muted)}.sidebar-header{display:flex;flex-direction:column;gap:12px}.sidebar-header:after{content:"";height:1px;width:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}.logo-button{border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.logo-mark{font-size:1.3rem;font-weight:700;letter-spacing:.02em}.new-chat{padding:10px 14px;border-radius:10px;border:1px solid transparent;background:var(--sidebar-accent);color:var(--ink-inverse);font-weight:600;cursor:pointer}.chat-search{display:grid;gap:6px}.chat-search input{width:100%;border:1px solid var(--sidebar-border);border-radius:10px;padding:8px 14px;background:var(--sidebar-chip);color:var(--sidebar-text);font:inherit}.chat-search input::placeholder{color:var(--sidebar-muted)}.history-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;padding-right:6px}.history-item-wrapper{position:relative;display:flex;align-items:center;gap:4px;width:100%;max-width:100%}.history-item-wrapper:hover .history-menu-button{opacity:1}.history-item{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:12px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;border-radius:8px;transition:background .2s;min-width:0;height:56px}.history-item:hover{background:var(--sidebar-hover)}.history-item.active{background:var(--sidebar-active);border-color:#ffffff0f}.history-item.pinned{background:#1b2533}.pin-icon{font-size:14px;flex-shrink:0}.history-content{flex:1;min-width:0}.history-title{font-weight:500;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.history-preview{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;width:100%}.history-menu-button{opacity:0;padding:8px;background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--text-muted);border-radius:4px;transition:opacity .2s,background .2s;flex-shrink:0}.history-menu-button:hover{background:var(--sidebar-active);color:var(--sidebar-text)}.history-menu{position:fixed;background:#121924;border:1px solid var(--sidebar-border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2000;min-width:150px;overflow:hidden}.history-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:14px;color:var(--sidebar-text);transition:background .2s}.history-menu-item:hover{background:var(--sidebar-hover)}.history-menu-item.delete{color:#e07a7a}.history-menu-item.delete:hover{background:#e07a7a2e}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px}.sidebar-profile{display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-tab{padding:10px 12px;border-radius:10px;border:1px solid var(--sidebar-border);background:var(--sidebar-chip);text-align:left;font-weight:600;cursor:pointer;color:var(--sidebar-text)}.nav-tab:hover{border-color:var(--sidebar-accent)}.profile-chip{background:var(--sidebar-chip);color:var(--sidebar-text);padding:8px 12px;border-radius:999px;font-size:.85rem;width:fit-content}.settings-button{border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-text);padding:6px 10px;border-radius:10px;font-weight:600;cursor:pointer}.settings-button:hover{border-color:var(--sidebar-accent)}.chat-panel{flex:1;min-height:100%;padding:28px clamp(20px,4vw,40px);gap:18px;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:linear-gradient(180deg,#ffffffd1,#f4efe6eb)}.chat-panel.panel-scroll{overflow-y:auto}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--divider);flex-shrink:0}.chat-header h1{font-size:clamp(1.4rem,2vw,1.9rem);margin:0 0 6px;transition:color .2s}.menu-button{border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);width:36px;height:36px;border-radius:10px;font-weight:600;cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-soft)}.menu-icon{display:block;width:18px;height:2px;background:currentColor;border-radius:999px;position:relative;margin:0 auto}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:999px}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.chat-header p{margin:0;color:var(--text-muted)}.ghost-button{border:1px solid var(--border);padding:10px 16px;border-radius:999px;background:transparent;cursor:pointer;font-weight:600}.chat-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 120px)}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.message-bubble{max-width:min(560px,90%);padding:12px 16px;border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-soft);position:relative}.chat-message.user .message-bubble{background:var(--text-primary);color:var(--ink-inverse)}.message-bubble p{margin:0 0 8px;line-height:1.5}.message-time{font-size:.72rem;color:var(--text-muted)}.chat-message.user .message-time{color:#ffffffb3}.chat-input{display:flex;gap:12px;align-items:center;background:var(--surface-raised);border-radius:16px;padding:10px 12px;box-shadow:var(--shadow-soft);border:1px solid var(--border);flex-shrink:0}.chat-input textarea{flex:1;resize:none;border:none;font-family:inherit;font-size:1rem;outline:none;background:transparent;max-height:160px;overflow-y:auto}.send-button{border:none;background:var(--accent);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600;cursor:pointer}.dashboard{display:flex;flex-direction:column;gap:18px;min-height:100%}.dashboard-header{display:flex;align-items:center;gap:16px}.dashboard-title-section{flex:1}.dashboard-title-row{display:flex;align-items:center;gap:16px;margin-bottom:6px}.dashboard-header h1{margin:0;font-size:clamp(1.5rem,2.2vw,2rem)}.plan-selector{padding:8px 16px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none;max-width:300px}.plan-selector:hover{border-color:var(--accent-primary);background:var(--bg-primary)}.plan-selector:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.plan-selector option{padding:8px}.dashboard-header p{margin:0;color:var(--text-muted)}.back-button{border:none;background:var(--text-primary);color:var(--ink-inverse);padding:8px 12px;border-radius:10px;cursor:pointer;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dashboard-footer{margin-top:auto;display:flex;justify-content:flex-start}.settings{display:flex;flex-direction:column;gap:18px;min-height:100%}.settings-header{display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--divider)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-toggle{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text-primary)}.settings-toggle input{width:16px;height:16px}.settings-footer{margin-top:auto;display:flex;justify-content:flex-start}.calendar{display:flex;flex-direction:column;gap:18px;min-height:100%}.calendar-header{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding-bottom:12px;border-bottom:1px solid var(--divider)}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.calendar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-cta{display:flex;gap:8px}.calendar-cta-button{padding:8px 14px;font-size:.9rem;min-width:96px;justify-content:center}.calendar-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:var(--surface-active);border:1px solid var(--border)}.calendar-toggle-button{border:none;background:transparent;padding:6px 14px;border-radius:999px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.calendar-toggle-button.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-soft)}.calendar-controls{display:flex;gap:12px;flex-wrap:wrap}.calendar-field{display:grid;gap:6px;font-size:.85rem;color:var(--text-muted)}.calendar-field input,.calendar-field select{border:1px solid var(--border);border-radius:10px;padding:6px 10px;background:var(--surface-raised);color:var(--text-primary);font:inherit;min-width:120px}.calendar-content{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:20px}.calendar-month{display:grid;gap:16px}.month-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.month-subtitle{color:var(--text-muted);font-size:.9rem}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.weekday{text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day-card{min-height:92px;padding:10px;border-radius:14px;border:1px solid var(--border);background:var(--surface-raised);display:grid;gap:8px;box-shadow:var(--shadow-soft)}.day-card.empty{border-color:transparent;background:transparent;box-shadow:none}.day-card.has-event{border-color:var(--accent-muted);background:var(--surface)}.day-number{font-weight:600;color:var(--text-primary)}.day-event{font-size:.78rem;color:var(--accent-deep);line-height:1.3}.calendar-year{display:grid;gap:16px}.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.year-card{border-radius:14px;padding:12px;border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft);display:grid;gap:10px;text-align:left;cursor:pointer;font:inherit}.year-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.year-card-header{display:flex;justify-content:space-between;align-items:center;font-weight:600}.year-card-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.year-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.year-card-cell{height:16px;border-radius:6px;background:var(--surface-active)}.calendar-timeline{border-left:1px solid var(--divider);padding-left:18px;display:grid;gap:16px;align-content:start}.timeline-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text-muted)}.timeline-list{display:grid;gap:12px;align-content:start}.timeline-item{display:grid;gap:8px;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.timeline-date-pill{width:fit-content;padding:4px 10px;border-radius:999px;background:var(--accent-muted);color:var(--accent-deep);font-size:.75rem;font-weight:600}.timeline-info{display:grid;gap:4px;color:var(--text-primary)}.timeline-info span{color:var(--text-muted);font-size:.85rem}.calendar-footer{margin-top:auto;display:flex;justify-content:flex-start}.dash-card{background:var(--surface-raised);border-radius:16px;padding:18px;border:1px solid var(--border);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px}.dash-card.warning{border-color:var(--danger-border);background:var(--danger-bg)}.dash-card-header{display:flex;justify-content:space-between;align-items:center}.dash-card-header h2{margin:0;font-size:1.1rem}.dash-card-subtitle{margin:0;color:var(--text-muted)}.pill{background:var(--text-primary);color:var(--ink-inverse);padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.pill.ghost{background:var(--surface-active);color:var(--text-primary)}.pill.alert{background:var(--danger)}.progress{height:8px;background:var(--surface-active);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:var(--accent)}.dash-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meta-label{font-size:.75rem;color:var(--text-muted);display:block}.meta-value{font-weight:600;display:block}.dash-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.dash-list li{display:flex;align-items:center;gap:10px}.list-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;flex-shrink:0}.timeline{display:grid;gap:12px}.timeline-row{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start}.timeline-date{background:var(--text-primary);color:var(--ink-inverse);text-align:center;padding:6px 0;border-radius:10px;font-weight:600;font-size:.8rem}.timeline-title{margin:0;font-weight:600}.timeline-note{margin:4px 0 0;color:var(--text-muted);font-size:.9rem}.alert-list{display:grid;gap:10px}.alert-item{background:var(--surface-raised);border-radius:12px;padding:10px 12px;border:1px solid var(--danger-border)}@media(max-width:900px){.sidebar{width:190px;padding:16px}.chat-panel{padding:20px}.history-preview{display:none}.calendar-content{grid-template-columns:minmax(0,1fr)}.calendar-timeline{border-left:none;padding-left:0;border-top:1px solid var(--divider);padding-top:16px}.calendar-top{align-items:flex-start}.dashboard-grid,.settings-grid{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{position:fixed;left:0;top:0;height:100vh;width:90vw;transform:translate(-100%);transition:transform .3s ease;z-index:20}.sidebar.open{transform:translate(0)}.chat-panel{transition:transform .3s ease;padding:16px}.app-shell.mobile-open .chat-panel{transform:translate(90vw)}.chat-header{justify-content:flex-start}.dashboard-header{align-items:flex-start;flex-direction:column}.history-title{font-size:.9rem}.new-chat{padding:8px 10px;font-size:.85rem}.calendar-content{gap:16px}.calendar-top{flex-direction:column;align-items:flex-start}.month-grid{gap:6px}.day-card{min-height:70px;padding:8px}}.chat-title-edit{width:100%;max-width:400px;padding:4px 8px;border:2px solid var(--accent);border-radius:4px;font-size:24px;font-weight:600;background:var(--surface-raised)}.chat-title-edit:focus{outline:none;border-color:var(--accent-deep)}.history-title-edit{width:100%;padding:4px;border:1px solid var(--accent);border-radius:4px;font-size:14px;font-weight:500;background:var(--surface-raised)}.history-title-edit:focus{outline:none;border-color:var(--accent-deep)}@media print{body{background:#fff}.sidebar,.chat-input,.ghost-button,.menu-button,.history-menu{display:none!important}.app-shell{background:none}@page{margin:16mm}html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.chat-panel{padding:12mm;height:auto;background:none}.chat-header{padding-bottom:10px;border-bottom:1px solid #dcdcdc}.message-bubble{border:1px solid #e4e4e4;box-shadow:none}.chat-message.user .message-bubble{background:#111827;color:#fff}.chat-scroll{max-height:none;overflow:visible;padding:0}}@media print{.calendar{height:auto}.calendar-content{grid-template-columns:minmax(0,1fr)}.calendar-controls,.calendar-toggle,.calendar-actions .menu-button,.calendar-cta{display:none!important}.calendar-header{padding-bottom:8px;border-bottom:1px solid #dcdcdc}.month-grid{gap:4px}.day-card{min-height:54px;padding:6px;box-shadow:none}.day-event{font-size:.7rem}}.calendar-timeline{display:block;border-left:none;padding-left:0;border-top:1px solid #dcdcdc;padding-top:12px;page-break-before:always}.chat-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.chat-content{flex:1;display:flex;gap:0;overflow:hidden;min-height:0}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%}.chat-content.split-view .chat-main{flex:0 0 58%;padding-right:24px}.plan-panel{flex:0 0 42%;padding:20px;display:flex;flex-direction:column;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.plan-panel .tentative-plan{background:var(--surface-raised);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #0000000d;overflow:hidden;height:100%;display:flex;flex-direction:column;transition:box-shadow .2s ease}.plan-panel .tentative-plan:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000d}.header-actions{display:flex;gap:8px;align-items:center}@media(max-width:900px){.chat-content.split-view{flex-direction:column}.chat-content.split-view .chat-main{flex:0 0 50%;padding-right:0}.plan-panel{flex:0 0 50%;padding:16px}.plan-panel .tentative-plan{border-radius:12px}}@media(max-width:600px){.plan-panel{padding:12px}.plan-panel .tentative-plan{border-radius:8px}}.chat-content.split-view .chat-scroll{height:100%}@media(max-width:1024px){.plan-panel{width:40vw}}@media(max-width:768px){.chat-content.split-view{flex-direction:column}.plan-panel{width:100%;height:40vh;border-left:none;border-top:1px solid var(--border-subtle)}}@media(max-width:640px){.plan-panel{position:fixed;top:0;right:-100%;width:100%;height:100vh;z-index:1000;transition:right .3s ease;border-left:none}.chat-content.split-view .plan-panel{right:0}}
