:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh;width:100%}.auth-layout{display:flex;height:100vh;overflow:hidden}.auth-form-pane{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;background:#fff;overflow-y:auto}.auth-form-content{width:100%;max-width:360px}.auth-form-content h2{font-size:1.75rem;font-weight:700;color:#111;margin-bottom:8px;letter-spacing:-.02em}.auth-subtitle{font-size:.9rem;color:#6b7280;margin-bottom:32px}.auth-form-content .form-group{margin-bottom:16px}.auth-form-content .form-group label{display:block;font-size:.85rem;font-weight:500;color:#374151;margin-bottom:6px}.auth-form-content .form-group input{width:100%;padding:11px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#f9fafb;color:#111;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-form-content .form-group input:focus{outline:none;border-color:#111;background:#fff;box-shadow:0 0 0 3px #1111110f}.auth-form-content .form-group input:disabled{opacity:.6;cursor:not-allowed}.auth-submit-btn{width:100%;padding:12px;margin-top:8px;background:#111;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;letter-spacing:.01em}.auth-submit-btn:hover:not(:disabled){background:#333}.auth-submit-btn:active:not(:disabled){transform:scale(.99)}.auth-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.auth-error{padding:10px 14px;margin-bottom:16px;background:#fef2f2;color:#dc2626;border-radius:6px;font-size:.875rem;border:1px solid #fecaca}.auth-success{padding:10px 14px;margin-bottom:16px;background:#f0fdf4;color:#16a34a;border-radius:6px;font-size:.875rem;border:1px solid #bbf7d0}.auth-switch{margin-top:24px;text-align:center;font-size:.875rem;color:#6b7280}.auth-switch a{color:#111;font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-brand-pane{flex:1;display:flex;align-items:center;justify-content:center;background:#111;padding:48px}.auth-brand-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;max-width:420px}.auth-brand-logo{width:450px;height:auto}.auth-brand-tagline{font-size:1.35rem;font-weight:300;color:#ffffffb3;line-height:1.6;letter-spacing:-.01em}.auth-brand-tagline strong{color:#fff;font-weight:600}.onboarding-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;background-color:#f5f5f5}.onboarding-card{background:#fff;padding:32px;border-radius:15px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:520px}.onboarding-header h2{margin:0 0 16px;color:#333}.step-indicator{display:flex;gap:8px;margin-bottom:24px}.step-dot{flex:1;text-align:center;padding:8px 0;font-size:13px;color:#999;border-bottom:3px solid #ddd}.step-dot.active{color:#333;font-weight:600;border-bottom-color:#333}.step-dot.done{color:#666;border-bottom-color:#999}.step-content{min-height:200px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;font-size:16px;background-color:#f5f5f5;color:#000;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#555}.button-group{display:flex;gap:8px}.button-group.vertical{flex-direction:column}.button-group.wrap{flex-wrap:wrap}.option-button{padding:10px 16px;border:1px solid #ddd;border-radius:10px;background:#fff;color:#333;font-size:14px;cursor:pointer;transition:all .15s}.option-button:hover{border-color:#999}.option-button.selected{background-color:#333;color:#fff;border-color:#333}.review{display:flex;flex-direction:column;gap:12px}.review-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee;font-size:14px}.review-row span:first-child{color:#666;font-weight:500}.review-row span:last-child{color:#333}.onboarding-nav{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.nav-button{padding:12px 24px;border:none;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.nav-button.back{background-color:#eee;color:#333}.nav-button.back:hover{background-color:#ddd}.nav-button.next{background-color:#333;color:#fff;margin-left:auto}.nav-button.next:hover:not(:disabled){background-color:#555}.nav-button:disabled{background-color:#ccc;color:#999;cursor:not-allowed}.error-message{padding:12px;margin-bottom:16px;background-color:#fee;color:#c33;border-radius:4px;font-size:14px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;line-height:1;flex-shrink:0;-webkit-user-select:none;user-select:none}.user-menu{position:relative}.user-menu-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background-color:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 16px #0000001a;padding:4px;z-index:100;animation:menuSlideUp .15s cubic-bezier(.4,0,.2,1)}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:none;border-radius:7px;font-size:.875rem;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s}.user-menu-item:hover{background-color:var(--hover-color)}.user-menu-item--danger{color:#dc2626}.user-menu-item--danger:hover{background-color:#fef2f2}.user-menu-divider{height:1px;background-color:var(--border-color);margin:4px 0}:root{--sidebar-width-open: 260px;--sidebar-width-closed: 68px;--bg-sidebar: #f9f9f8;--border-color: #e5e5e0;--hover-color: #efeee9;--text-primary: #1a1a1a;--text-secondary: #6b7280;--accent-color: #3b82f6;--transition-speed: .3s;--transition-curve: cubic-bezier(.4, 0, .2, 1)}.sidebar{height:100vh;display:flex;flex-direction:column;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);transition:width var(--transition-speed) var(--transition-curve);overflow:hidden;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sidebar.open{width:var(--sidebar-width-open)}.sidebar.closed{width:var(--sidebar-width-closed)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:64px;transition:padding var(--transition-speed)}.sidebar.closed .sidebar-header{justify-content:center;padding:0}.branding{display:flex;align-items:center;gap:12px;animation:slideIn .2s var(--transition-curve);white-space:nowrap;flex:1;min-width:0}.branding img{height:120px;width:auto;max-width:none;object-fit:contain;display:block}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.logo-text{font-weight:600;font-size:1.1rem;letter-spacing:-.01em}.icon-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--text-secondary);transition:background .2s,color .2s;flex-shrink:0}.icon-button:hover{background-color:var(--hover-color);color:var(--text-primary)}.action-group{padding:8px;display:flex;flex-direction:column;gap:4px}.action-button{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--text-primary);width:100%;transition:background .2s}.sidebar.closed .action-button{justify-content:center;padding:10px 0}.action-button:hover{background-color:var(--hover-color)}.action-button.primary{background-color:#fff;border-color:var(--border-color);box-shadow:0 1px 2px #0000000d;font-weight:500}.sidebar-content{flex:1;overflow-y:auto;padding:0 8px;margin-top:10px}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}.sidebar-content:hover::-webkit-scrollbar-thumb{background:#d1d5db}.section-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);margin:16px 0 8px 12px;text-transform:uppercase;letter-spacing:.05em}.history-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;border:none;background:transparent;cursor:pointer;color:#4b5563;margin-bottom:2px;text-align:left}.sidebar.closed .history-item{justify-content:center;padding:10px 0}.history-item:hover{background-color:var(--hover-color)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.sidebar-footer{padding:12px;border-top:1px solid var(--border-color);background-color:var(--bg-sidebar)}.user-card{width:100%;display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;border:none;background:transparent;cursor:pointer;transition:background .2s}.sidebar.closed .user-card{justify-content:center;padding:8px 0}.user-card:hover{background-color:var(--hover-color)}.user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3;overflow:hidden}.user-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.user-plan{font-size:.75rem;color:var(--text-secondary)}.search-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.search-modal-content{background-color:#fff;padding:24px;border-radius:15px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:600px;font:inherit}.search-modal-input{position:relative;display:flex;align-items:center}.search-modal-icon{position:absolute;left:12px;color:#888;pointer-events:none;flex-shrink:0}.search-modal-input input{width:100%;padding:12px 12px 12px 36px;border:1px solid #ddd;border-radius:15px;font-size:16px;transition:border-color .2s;background-color:#f5f5f5;color:#000;box-sizing:border-box}.search-modal-input input:focus{outline:none;border-color:#555}.recent-chats{margin-top:16px}.recent-chats-label{display:block;font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.recent-chats-list{display:flex;flex-direction:column;gap:2px}.recent-chat-item{display:block;width:100%;text-align:left;padding:8px 0;background:none;border:none;border-radius:8px;font-size:14px;font-weight:500!important;color:#333;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s}.recent-chat-item:hover{background-color:#f0f0f0}.no-results{display:block;padding:8px 12px;font-size:14px;color:#aaa}.message-bubble-wrapper{display:flex;width:100%}.message-bubble-wrapper--user{justify-content:flex-end}.message-bubble-wrapper--assistant,.message-bubble-wrapper--system{justify-content:flex-start}.message-bubble{max-width:70%;padding:10px 14px;border-radius:16px;font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message-bubble--user{background-color:#333;color:#fff;border-bottom-right-radius:4px}.message-bubble--assistant{background-color:var(--bg-sidebar, #f9f9f8);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-color, #e5e5e0);border-bottom-left-radius:4px}.message-bubble--assistant>:first-child{margin-top:0}.message-bubble--assistant>:last-child{margin-bottom:0}.message-bubble--system{background-color:transparent;color:var(--text-secondary, #6b7280);font-style:italic;font-size:.85rem;border:none;max-width:100%;text-align:center}.message-bubble-actions{margin-top:6px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:70%}.message-save-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border-color, #e5e5e0);border-radius:14px;background:#fff;font-size:.75rem;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s;opacity:0}.message-bubble-wrapper:hover .message-save-btn{opacity:1}.message-save-btn:hover{background-color:var(--hover-color, #efeee9);color:var(--text-primary, #1a1a1a)}.message-save-btn--saved{opacity:1;color:#15803d;border-color:#86efac;background-color:#f0fdf4}.message-save-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border-color, #e5e5e0);border-radius:10px;background:#fff;width:280px}.message-save-input{padding:7px 10px;border:1px solid var(--border-color, #e5e5e0);border-radius:6px;font-size:.85rem;outline:none;font-family:inherit}.message-save-input:focus{border-color:#6b7280}.message-save-types{display:flex;gap:6px}.message-save-type-btn{padding:4px 10px;border:1px solid var(--border-color, #e5e5e0);border-radius:12px;font-size:.75rem;background:#fff;cursor:pointer;transition:all .15s}.message-save-type-btn:hover{background-color:var(--hover-color, #efeee9)}.message-save-type-btn--selected{background-color:#000;color:#fff;border-color:#000}.message-save-error{font-size:.75rem;color:#ef4444;margin:0}.message-save-row{display:flex;justify-content:flex-end;gap:6px}.message-save-cancel{padding:5px 12px;border:1px solid var(--border-color, #e5e5e0);border-radius:6px;background:#fff;font-size:.8rem;cursor:pointer;transition:background .15s}.message-save-cancel:hover{background-color:var(--hover-color, #efeee9)}.message-save-confirm{padding:5px 12px;border:none;border-radius:6px;background-color:#000;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.message-save-confirm:hover:not(:disabled){opacity:.8}.message-save-confirm:disabled{opacity:.4;cursor:not-allowed}.plan-create-card{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-top:6px;background:#fff;border:1px solid var(--border-color, #e5e5e0);border-radius:10px;max-width:480px}.plan-create-card__meta{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.plan-create-card__title{font-size:.875rem;font-weight:600;color:var(--text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-create-card__btn{padding:6px 14px;background:#000;color:#fff;border:none;border-radius:7px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s;flex-shrink:0}.plan-create-card__btn:hover:not(:disabled){opacity:.8}.plan-create-card__btn:disabled{opacity:.45;cursor:not-allowed}.plan-create-card__saved{font-size:.875rem;font-weight:500;color:#16a34a;flex:1}.plan-create-card__view{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0;white-space:nowrap}.plan-create-card__error{font-size:.8rem;color:#ef4444;margin:0}.message-thread{flex:1;overflow-y:auto;padding:24px max(16px,calc((100% - 800px)/2));display:flex;flex-direction:column;gap:8px}.message-thread__loading{display:flex;justify-content:flex-start;gap:6px;padding:8px 0}.message-thread__dot{width:8px;height:8px;border-radius:50%;background-color:var(--text-secondary, #6b7280);animation:message-thread-pulse 1.2s ease-in-out infinite}.message-thread__dot:nth-child(2){animation-delay:.2s}.message-thread__dot:nth-child(3){animation-delay:.4s}@keyframes message-thread-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chatbox-container{display:flex;flex-direction:column;width:100%;max-width:720px;margin:0 auto;background-color:#eaeaea;border-radius:8px;border:1.5px solid transparent;transition:border-color .15s}.chatbox-container:hover,.chatbox-container:focus-within{border-color:#9d9d9d}.chatbox-input-area{display:flex;padding:10px}.chatbox-input{flex:1;padding:10px;border:none;border-radius:4px;font-size:14px;background:#eaeaea;outline:none;resize:none;overflow-y:auto;min-height:40px;max-height:200px;line-height:1.5;font-family:inherit}.chatbox-actions{display:flex;padding:10px}.actions-left{display:flex;gap:10px;margin-right:0}.actions-right{display:flex;gap:10px;margin-left:auto}.chatbox-actions .chatbox-action-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;border-radius:4px;transition:background-color .2s}.chatbox-actions .chatbox-action-btn:hover{background-color:#efefef}.paywall{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:var(--hover-color, #f5f5f5);border:1px solid var(--border-color, #e5e5e5);border-radius:8px}.paywall__message{font-size:.95rem;color:var(--text-secondary, #6b7280);margin:0;text-align:center}.paywall__cta{padding:8px 18px;background:#333;color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s}.paywall__cta:hover{background:#111}.chat-page{display:flex;flex-direction:column;height:100%;width:100%}.chat-page__input{padding:16px max(16px,calc((100% - 800px)/2))}.chat-page__status{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #6b7280);font-size:.95rem}.chat-page__error{padding:12px 16px;background-color:#fef2f2;color:#ef4444;font-size:.875rem;border-bottom:1px solid #fecaca}.chat-page__paywall{padding:16px max(16px,calc((100% - 800px)/2));border-bottom:1px solid var(--border-color, #e5e5e5)}.chats{display:flex;flex-direction:column;height:100%;width:100%;max-width:1000px;margin:0 auto;padding:24px;gap:12px;font:inherit}.chats-header{display:flex;justify-content:space-between;align-items:center}.new-chat-btn{display:flex;align-items:center;gap:6px;border-radius:8px;border:none;background-color:#000;color:#fff;padding:8px 14px;cursor:pointer;transition:background-color .2s;font:inherit;font-size:14px;font-weight:500}.new-chat-btn:hover{background-color:#333}.search-bar{display:flex;width:100%;padding:10px;border-radius:8px;background-color:#eaeaea;border:1.5px solid transparent;transition:border-color .15s}.search-bar svg{margin-top:6px;color:#6b7280}.search-bar input{flex:1;padding:8px;border:none;border-radius:4px;font-size:14px;background:#eaeaea;outline:none;resize:none;overflow-y:auto;font-family:inherit}.search-bar:hover,.search-bar:focus-within{border-color:#9d9d9d}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#6b7280}.empty-state p{font-size:1rem;font-weight:500;margin:0}.chat-list{flex:1;overflow-y:auto;padding:0 8px}.recents-nav{display:flex;width:100%;flex-direction:column;background:transparent;font:inherit}.recent-item{position:relative;border-bottom:1px solid #e5e5e0;background-color:transparent;padding:0 12px;display:flex;align-items:center;gap:10px;width:100%;height:52px;transition:background-color .2s;font:inherit;font-weight:600;cursor:pointer}.recent-item:first-child{border-top:1px solid #e5e5e0}.recent-item:last-child{border-bottom:none}.recent-item:hover{background-color:#efefef}.recent-item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}.recent-item-right{position:relative;display:flex;align-items:center;min-width:80px;justify-content:flex-end}.timestamp{font-size:.875rem;color:#6b7280;transition:opacity .15s}.recent-item:hover .timestamp{opacity:0}.row-actions{position:absolute;right:0;display:flex;gap:4px;opacity:0;transition:opacity .15s}.recent-item:hover .row-actions{opacity:1}.row-action-btn{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:none;cursor:pointer;border-radius:4px;color:#6b7280;transition:background-color .15s,color .15s}.row-action-btn:hover{background-color:#e5e5e0;color:#1a1a1a}.app{display:flex;height:100vh}.app-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto}.new-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;gap:12px;width:100%;max-width:800px;margin:0 auto}.new-chat__title{font-size:1.75rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 8px;letter-spacing:-.02em}.new-chat__error{color:#ef4444;font-size:.875rem}.new-chat__loading{color:var(--text-secondary, #6b7280);font-size:.875rem;margin:0}.new-chat__paywall{width:100%;max-width:400px}.settings-layout{display:flex;height:100%;width:100%}.settings-sidebar{background-color:#fff}.settings-sidebar-header{padding:24px 16px 8px}.settings-sidebar-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.settings-content{flex:1;display:flex;flex-direction:column;background-color:#fff;overflow-y:auto}.settings-index{flex:1;display:flex;align-items:center;justify-content:center}.settings-content-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.settings-content-description{font-size:.9rem;color:var(--text-secondary);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;font-weight:500;cursor:pointer;transition:background-color .2s;line-height:1}.btn:disabled{background-color:#ccc;color:#999;cursor:not-allowed}.btn--small{padding:8px 14px;font-size:13px}.btn--medium{padding:10px 16px;font-size:14px}.btn--large{padding:12px 24px;font-size:16px}.btn--primary{background-color:#333;color:#fff}.btn--primary:hover:not(:disabled){background-color:#555}.btn--secondary{background-color:#eee;color:#333}.btn--secondary:hover:not(:disabled){background-color:#ddd}.btn--option{background-color:#fff;color:#333;border:1px solid #ddd;transition:all .15s}.btn--option:hover:not(:disabled){border-color:#999}.btn--option.btn--selected{background-color:#333;color:#fff;border-color:#333}.btn--full-width{width:100%}.grid-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.grid-layout-loading,.grid-layout-empty,.grid-layout-error{font-size:.875rem;color:var(--text-secondary);padding:8px 0}.grid-layout-error{color:#dc2626}.grid-card{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:12px;background-color:#fff;overflow:hidden}.grid-card-image-container{width:100%;height:140px;display:flex;align-items:center;justify-content:center;overflow:hidden}.grid-card-image{width:100%;height:100%;object-fit:contain;padding:12px}.grid-card-body{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 16px;text-align:center}.grid-card-provider{font-size:.95rem;font-weight:600;color:var(--text-primary)}.grid-card-connected-date,.grid-card-last-sync{font-size:.78rem;color:var(--text-secondary);margin:0}.grid-card-actions{margin-top:8px;width:100%}.grid-card-actions .btn{width:100%}.connections-page{padding:24px 32px;display:flex;flex-direction:column;gap:24px;max-width:720px}.connections-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.connections-header-text{display:flex;flex-direction:column;gap:4px}.connections-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.connections-description{font-size:.875rem;color:var(--text-secondary);margin:0}.connections-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;font-size:.875rem}.connections-banner--success{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.connections-banner--error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.connections-banner-dismiss{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;color:inherit;padding:0 4px;opacity:.7}.connections-banner-dismiss:hover{opacity:1}.connections-loading{font-size:.875rem;color:var(--text-secondary)}.connections-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;border:1px dashed var(--border-color);border-radius:12px;text-align:center}.connections-empty-icon{color:var(--text-secondary);opacity:.5}.connections-empty-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0}.connections-empty-subtitle{font-size:.85rem;color:var(--text-secondary);margin:0 0 4px}.connections-section{display:flex;flex-direction:column;gap:12px}.connections-section-title{font-size:.75rem;font-weight:700;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.05em}.connections-modal-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.connections-modal{background:#fff;border-radius:14px;padding:24px;width:100%;max-width:420px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;gap:16px}.connections-modal-header{display:flex;align-items:center;justify-content:space-between}.connections-modal-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.connections-modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .15s}.connections-modal-close:hover{background:var(--hover-color);color:var(--text-primary)}.connections-modal-subtitle{font-size:.85rem;color:var(--text-secondary);margin:0}.connections-modal-list{display:flex;flex-direction:column;gap:8px}.connections-modal-option{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;background-color:#fff;cursor:pointer;text-align:left;transition:background .15s,border-color .15s;width:100%}.connections-modal-option:hover{background-color:var(--hover-color);border-color:var(--text-secondary)}.connections-modal-option-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.connections-modal-option-logo{width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1)}.connections-modal-option-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.connections-modal-option-name{font-size:.9rem;font-weight:600;color:var(--text-primary)}.connections-modal-option-desc{font-size:.8rem;color:var(--text-secondary)}.general-settings{padding:24px 32px;display:flex;flex-direction:column;gap:0;max-width:640px}.general-header{display:flex;flex-direction:column;gap:4px;padding-bottom:24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.general-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.general-description{font-size:.875rem;color:var(--text-secondary);margin:0}.general-section{display:flex;flex-direction:column;gap:16px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--border-color)}.general-section-title{font-size:.7rem;font-weight:700;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.06em}.general-section-subtitle{font-size:.8rem;font-weight:600;color:var(--text-primary);margin:1rem 0 .5rem}.general-field{display:flex;flex-direction:column;gap:6px;flex:1}.general-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.general-input{height:36px;padding:0 10px;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;color:var(--text-primary);background-color:#fff;outline:none;font-family:inherit;transition:border-color .15s}.general-input:focus{border-color:#555}.general-input:disabled{background-color:#f5f5f5;color:var(--text-secondary);cursor:not-allowed}.general-field-hint{font-size:.75rem;color:var(--text-secondary);margin:0}.general-row{display:flex;gap:16px}.general-option-group{display:flex;gap:8px;flex-wrap:wrap}.general-option-group.vertical{flex-direction:column;flex-wrap:nowrap}.general-option-group.wrap{flex-wrap:wrap}.general-option-btn{padding:6px 14px;border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;font-family:inherit;background-color:#fff;color:var(--text-primary);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;white-space:nowrap}.general-option-btn:hover{background-color:var(--hover-color)}.general-option-btn.selected{background-color:#333;border-color:#333;color:#fff}.general-save-row{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding-top:4px}.general-save-status{font-size:.875rem}.general-save-status.success{color:#15803d}.general-save-status.error{color:#dc2626}.general-save-btn{padding:8px 18px;background-color:#333;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:background-color .15s}.general-save-btn:hover{background-color:#111}.general-save-btn:disabled{opacity:.5;cursor:not-allowed}.billing-settings{padding:24px 32px;display:flex;flex-direction:column;max-width:640px}.billing-header{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.billing-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.billing-description{font-size:.875rem;color:var(--text-secondary);margin:0}.billing-redirect-message{font-size:.875rem;padding:12px 16px;background:#f0fdf4;color:#15803d;border-radius:6px;margin-bottom:20px}.billing-redirect-message--cancel{background:#fefce8;color:#854d0e}.billing-section{display:flex;flex-direction:column;gap:12px;padding-bottom:28px}.billing-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}.billing-plan-card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--border-color);border-radius:8px}.billing-plan-info{display:flex;flex-direction:column;gap:4px}.billing-plan-name{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.billing-plan-detail{font-size:.8rem;color:var(--text-secondary);margin:0}.billing-plan-actions{display:flex;gap:8px;flex-shrink:0}.billing-badge{font-size:.7rem;padding:2px 8px;background:var(--border-color);border-radius:10px;color:var(--text-secondary);font-weight:500}.billing-btn{padding:8px 18px;border-radius:6px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.billing-btn:disabled{opacity:.5;cursor:not-allowed}.billing-btn--primary{background:#333;color:#fff;border:none}.billing-btn--primary:hover:not(:disabled){background:#111}.billing-btn--secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.billing-btn--secondary:hover:not(:disabled){background:var(--hover-color)}.billing-loading{font-size:.875rem;color:var(--text-secondary);padding:16px 0;margin:0}.billing-error{font-size:.875rem;color:#dc2626;margin:8px 0 0}.account-settings{padding:24px 32px;display:flex;flex-direction:column;max-width:640px}.account-header{display:flex;flex-direction:column;gap:4px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.account-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.account-description{font-size:.875rem;color:var(--text-secondary);margin:0}.account-section{display:flex;flex-direction:column;gap:12px;padding-bottom:28px}.account-section--last{padding-bottom:0}.account-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0}.account-info-card{padding:16px;border:1px solid var(--border-color);border-radius:8px}.account-email{font-size:.875rem;color:var(--text-primary);margin:0}.account-devices-card{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--hover-color)}.account-devices-icon{color:var(--text-secondary);flex-shrink:0;margin-top:1px}.account-devices-text{display:flex;flex-direction:column;gap:3px}.account-devices-title{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0}.account-devices-subtitle{font-size:.8rem;color:var(--text-secondary);margin:0}.account-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border-color);border-radius:8px}.account-action-info{display:flex;flex-direction:column;gap:3px}.account-action-label{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0}.account-action-desc{font-size:.8rem;color:var(--text-secondary);margin:0}.account-action-desc--warning{color:#d97706}.account-confirm-row{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--hover-color)}.account-confirm-text{font-size:.875rem;color:var(--text-primary);margin:0}.account-confirm-actions{display:flex;gap:8px}.account-btn{padding:8px 18px;border-radius:6px;font-size:.875rem;font-family:inherit;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap;align-self:flex-start}.account-btn:disabled{opacity:.5;cursor:not-allowed}.account-btn--secondary{background:var(--hover-color);color:var(--text-primary);border:1px solid var(--border-color)}.account-btn--secondary:hover:not(:disabled){background:var(--border-color)}.account-btn--danger{background:#dc2626;color:#fff;border:none}.account-btn--danger:hover:not(:disabled){background:#b91c1c}.account-error{font-size:.875rem;color:#dc2626;margin:16px 0 0}.dashboard-page{padding:1.5rem 2rem;max-width:1100px}.dashboard-layout{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:start}@media(max-width:768px){.dashboard-layout{grid-template-columns:1fr}}.dashboard-charts{min-width:0}.dashboard-logs{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:1.5rem}.dashboard-logs .dashboard-log-section{margin-bottom:0}.dashboard-log-hint{color:var(--color-text-muted, #64748b);font-size:.8rem;margin:0 0 .75rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-title{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.dashboard-description{color:var(--color-text-muted, #64748b);margin:0;font-size:.9rem}.dashboard-section-title{font-size:1rem;font-weight:600;margin:0 0 .75rem}.dashboard-section-subtitle{font-size:.9rem;font-weight:600;margin:1rem 0 .5rem}.dashboard-macros-label{font-size:.9rem;color:var(--color-text-muted, #64748b);align-self:center}.dashboard-log-section{margin-bottom:2rem}.dashboard-log-form{display:flex;flex-direction:column;gap:.5rem}.dashboard-log-form .dashboard-input{width:100%;max-width:100%}.dashboard-input{padding:.5rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;font-size:.9rem}.dashboard-input:focus{outline:none;border-color:var(--color-primary, #6366f1)}.dashboard-chart-section{margin-bottom:2rem}.dashboard-chart-container{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;padding:1rem}.dashboard-loading,.dashboard-empty,.dashboard-error{margin:1rem 0;font-size:.9rem}.dashboard-error{color:var(--color-error, #dc2626)}.dashboard-empty{color:var(--color-text-muted, #64748b)}.plans-page{display:flex;height:100%;overflow:hidden}.plans-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--border-color, #e5e5e0);display:flex;flex-direction:column;overflow:hidden}.plans-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 12px;border-bottom:1px solid var(--border-color, #e5e5e0)}.plans-sidebar-header h2{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary, #1a1a1a)}.plans-new-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;background-color:#000;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity .15s}.plans-new-btn:hover{opacity:.8}.plans-nav{flex:1;overflow-y:auto;padding:8px 0}.plans-list-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 16px;background:none;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:background .15s}.plans-list-item:hover{background-color:var(--hover-color, #efeee9)}.plans-list-item--active{background-color:var(--hover-color, #efeee9);border-left-color:#000}.plans-list-item-header{display:flex;align-items:center;gap:6px}.plans-list-item-title{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.plans-list-item-date{font-size:.75rem;color:var(--text-secondary, #6b7280)}.plans-list-loading{padding:8px 16px;display:flex;flex-direction:column;gap:8px}.plans-skeleton-item{height:58px;background:var(--hover-color, #efeee9);border-radius:6px;animation:plans-pulse 1.5s ease-in-out infinite}@keyframes plans-pulse{0%,to{opacity:1}50%{opacity:.4}}.plans-list-empty{padding:24px 16px;text-align:center;color:var(--text-secondary, #6b7280);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:12px}.plans-list-empty p{margin:0}.plans-list-empty-btn{background:none;border:none;color:#3b82f6;font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline}.plans-list-error{padding:12px 16px;font-size:.875rem;color:#ef4444}.plans-type-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.plans-type-badge--workout{background-color:#dbeafe;color:#1d4ed8}.plans-type-badge--nutrition{background-color:#dcfce7;color:#15803d}.plans-type-badge--general{background-color:#f3f4f6;color:#4b5563}.plans-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.plans-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary, #6b7280);padding:48px 32px;text-align:center}.plans-empty-state h2{font-size:1.4rem;font-weight:600;margin:0;color:var(--text-primary, #1a1a1a)}.plans-empty-state p{font-size:.9rem;margin:0;max-width:380px}.plans-generate-form{max-width:680px;width:100%;padding:40px 48px;display:flex;flex-direction:column;gap:24px}.plans-generate-form h2{font-size:1.4rem;font-weight:600;margin:0;color:var(--text-primary, #1a1a1a)}.plans-form-field{display:flex;flex-direction:column;gap:8px}.plans-form-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #6b7280)}.plans-form-input{padding:10px 12px;border:1px solid var(--border-color, #e5e5e0);border-radius:8px;font-size:.9rem;color:var(--text-primary, #1a1a1a);background:#fff;outline:none;transition:border-color .15s}.plans-form-input:focus{border-color:#6b7280}.plans-form-textarea{padding:10px 12px;border:1px solid var(--border-color, #e5e5e0);border-radius:8px;font-size:.9rem;color:var(--text-primary, #1a1a1a);background:#fff;outline:none;resize:vertical;font-family:inherit;line-height:1.5;transition:border-color .15s}.plans-form-textarea:focus{border-color:#6b7280}.plans-type-selector{display:flex;gap:8px}.plans-type-btn{padding:7px 16px;border:1px solid var(--border-color, #e5e5e0);border-radius:20px;font-size:.875rem;font-weight:500;background:#fff;color:var(--text-primary, #1a1a1a);cursor:pointer;transition:all .15s}.plans-type-btn:hover{background-color:var(--hover-color, #efeee9)}.plans-type-btn--selected{background-color:#000;color:#fff;border-color:#000}.plans-form-actions{display:flex;justify-content:flex-end;gap:10px}.plans-form-cancel{padding:9px 18px;border:1px solid var(--border-color, #e5e5e0);border-radius:8px;background:#fff;font-size:.875rem;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:background .15s}.plans-form-cancel:hover{background-color:var(--hover-color, #efeee9)}.plans-generate-submit{display:flex;align-items:center;gap:6px;padding:9px 20px;background-color:#000;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s}.plans-generate-submit:hover:not(:disabled){opacity:.8}.plans-generate-submit:disabled{opacity:.45;cursor:not-allowed}.plans-gen-error{color:#ef4444;font-size:.875rem;margin:0}.plans-paywall-link{color:#3b82f6;text-decoration:underline}.plans-detail{display:flex;flex-direction:column;height:100%}.plans-detail-header{padding:28px 40px 20px;border-bottom:1px solid var(--border-color, #e5e5e0);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.plans-detail-title-row{display:flex;align-items:center;gap:8px}.plans-detail-title{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary, #1a1a1a);cursor:pointer;border-radius:4px;padding:2px 4px;transition:background .15s}.plans-detail-title:hover{background-color:var(--hover-color, #efeee9)}.plans-title-edit{display:flex;align-items:center;gap:6px;flex:1}.plans-title-input{flex:1;font-size:1.4rem;font-weight:600;border:1px solid var(--border-color, #e5e5e0);border-radius:6px;padding:4px 8px;outline:none;font-family:inherit;color:var(--text-primary, #1a1a1a)}.plans-title-input:focus{border-color:#6b7280}.plans-title-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color, #e5e5e0);border-radius:6px;background:#fff;cursor:pointer;color:var(--text-secondary, #6b7280);transition:all .15s;flex-shrink:0}.plans-title-action:hover{background-color:var(--hover-color, #efeee9)}.plans-detail-meta{display:flex;align-items:center;gap:10px}.plans-detail-date{font-size:.8rem;color:var(--text-secondary, #6b7280)}.plans-detail-actions{display:flex;align-items:center;gap:8px}.plans-action-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border-color, #e5e5e0);border-radius:6px;background:#fff;font-size:.8rem;font-weight:500;cursor:pointer;color:var(--text-primary, #1a1a1a);transition:background .15s}.plans-action-btn:hover{background-color:var(--hover-color, #efeee9)}.plans-action-btn--danger{color:#dc2626;border-color:#fca5a5}.plans-action-btn--danger:hover{background-color:#fef2f2}.plans-delete-confirm{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary, #6b7280)}.plans-detail-body{flex:1;overflow-y:auto;padding:28px 40px 40px}.plans-no-content{color:var(--text-secondary, #6b7280);font-style:italic}.plans-weekly{display:flex;flex-direction:column;gap:40px;max-width:860px}.plans-week-section{display:flex;flex-direction:column;gap:16px}.plans-week-heading{font-size:1.05rem;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0;padding-bottom:10px;border-bottom:2px solid var(--border-color, #e5e5e0);text-transform:uppercase;letter-spacing:.04em}.plans-week-intro{font-size:.875rem;color:var(--text-secondary, #6b7280);line-height:1.6}.plans-week-intro p{margin:0}.plans-days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.plans-day-card{background:#fff;border:1px solid var(--border-color, #e5e5e0);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-height:120px}.plans-day-card--rest{background:var(--hover-color, #f9f9f7);border-style:dashed;opacity:.8}.plans-day-header{display:flex;align-items:center;gap:5px}.plans-day-rest-icon{color:var(--text-secondary, #9ca3af);flex-shrink:0}.plans-day-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary, #1a1a1a)}.plans-day-card--rest .plans-day-heading{color:var(--text-secondary, #9ca3af)}.plans-day-body{font-size:.825rem;line-height:1.55;color:var(--text-primary, #1a1a1a);flex:1}.plans-day-body p{margin:0 0 6px}.plans-day-body ul,.plans-day-body ol{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:3px}.plans-day-body li{margin:0}.plans-day-body strong{font-weight:600}.plans-day-body h4{font-size:.775rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6b7280);margin:8px 0 4px}.plans-day-empty{font-size:.8rem;color:var(--text-secondary, #9ca3af);font-style:italic;margin:0}.plans-markdown{font-size:.925rem;line-height:1.7;color:var(--text-primary, #1a1a1a);max-width:720px}.plans-markdown h1,.plans-markdown h2,.plans-markdown h3,.plans-markdown h4{margin:1.4em 0 .5em;font-weight:600;line-height:1.3}.plans-markdown h1{font-size:1.4rem}.plans-markdown h2{font-size:1.2rem}.plans-markdown h3{font-size:1rem}.plans-markdown h1:first-child,.plans-markdown h2:first-child,.plans-markdown h3:first-child{margin-top:0}.plans-markdown p{margin:0 0 .9em}.plans-markdown ul,.plans-markdown ol{margin:0 0 .9em;padding-left:1.5em}.plans-markdown li{margin-bottom:.3em}.plans-markdown strong{font-weight:600}.plans-markdown table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:.875rem}.plans-markdown th,.plans-markdown td{border:1px solid var(--border-color, #e5e5e0);padding:8px 12px;text-align:left}.plans-markdown th{background-color:var(--hover-color, #efeee9);font-weight:600}.plans-markdown code{background-color:var(--hover-color, #efeee9);padding:2px 5px;border-radius:3px;font-size:.875em;font-family:monospace}.plans-markdown hr{border:none;border-top:1px solid var(--border-color, #e5e5e0);margin:1.2em 0}
