.usage-counter{display:flex;align-items:center;gap:10px;max-width:180px}.usage-counter.error{font-size:12px;color:var(--red-500, #f87171)}.usage-counter.loading{font-size:12px;color:var(--text-secondary, #888)}.usage-counter-bar{flex:1;height:6px;background:var(--card-bg, #1a1a1a);border:1px solid var(--border-default, #333);border-radius:3px;overflow:hidden;position:relative}.usage-counter-fill{height:100%;background:var(--green-500, #22c55e);transition:width .3s ease,background-color .3s ease;border-radius:2px}.usage-counter-fill.caution{background:var(--yellow-500, #fbbf24)}.usage-counter-fill.warning{background:var(--red-500, #f87171)}.usage-counter-text{font-size:12px;font-weight:500;color:var(--text-secondary, #888);white-space:nowrap}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay, rgba(0, 0, 0, .7));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1000);animation:settingsOverlayFadeIn .2s ease-out}@keyframes settingsOverlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.settings-modal{background:var(--bg-secondary);border-radius:var(--radius-2xl, 12px);box-shadow:var(--shadow-modal),0 0 0 1px var(--border-default);width:90%;max-width:800px;height:600px;margin:20px;display:flex;flex-direction:column;animation:settingsModalSlideUp .25s var(--ease-out, cubic-bezier(.4, 0, .2, 1));overflow:hidden}@keyframes settingsModalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg, 24px) var(--spacing-xl, 28px);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);flex-shrink:0}.settings-modal-title{font-size:var(--font-size-3xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin:0;letter-spacing:var(--letter-spacing-tight, -.02em)}.settings-modal-close{background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:var(--radius-lg, 6px);display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal, .25s)}.settings-modal-close:hover{background:var(--card-bg);border-color:var(--border-default);color:var(--text-primary)}.settings-modal-close:active{transform:scale(.95)}.settings-modal-body{display:flex;flex:1;overflow:hidden;min-height:0}.settings-tabs{width:220px;flex-shrink:0;background:linear-gradient(180deg,var(--bg-tertiary) 0%,rgba(26,26,26,.8) 100%);padding:var(--spacing-lg, 24px) var(--spacing-md, 16px);border-right:1px solid var(--border-default);display:flex;flex-direction:column;gap:6px}.settings-tab{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;border:1px solid transparent;border-radius:var(--radius-lg, 6px);color:var(--text-secondary);font-size:var(--font-size-base, .875rem);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all var(--transition-normal, .25s);text-align:left;width:100%;letter-spacing:.01em}.settings-tab:hover{background:var(--card-bg-hover);border-color:var(--border-default);color:var(--text-primary)}.settings-tab.active{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--accent-primary);box-shadow:inset 0 0 0 1px var(--accent-subtle)}.settings-tab svg{flex-shrink:0;opacity:.8}.settings-tab.active svg{opacity:1}.settings-tab span{flex:1}.settings-content{flex:1;overflow-y:auto;padding:var(--spacing-xl, 28px);min-height:0}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.settings-tab-content{min-height:100%;animation:none!important;transition:none!important}.settings-section-title{font-size:var(--font-size-lg, .9375rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin:0 0 8px;letter-spacing:var(--letter-spacing-tight, -.02em)}.settings-section-desc{color:var(--text-secondary);font-size:var(--font-size-base, .875rem);margin:0 0 var(--spacing-lg, 20px) 0;line-height:var(--line-height-relaxed, 1.5)}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);margin-bottom:var(--spacing-md, 16px)}.settings-item:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.settings-item-info{flex:1}.settings-item-label{font-weight:var(--font-weight-medium, 500);color:var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base, .875rem)}.settings-item-desc{color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.settings-toggle{position:relative;width:48px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:13px;cursor:pointer;transition:all var(--transition-normal, .25s);flex-shrink:0}.settings-toggle:hover{border-color:var(--border-hover)}.settings-toggle.active{background:var(--accent-primary);border-color:var(--accent-primary)}.settings-toggle-slider{position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all var(--transition-normal, .25s);box-shadow:0 1px 3px #0000004d}.settings-toggle.active .settings-toggle-slider{transform:translate(22px);background:#fff}.settings-theme-toggle{display:flex;gap:8px}.settings-theme-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.settings-theme-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary);background:var(--card-bg-hover)}.settings-theme-btn.active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}.settings-theme-btn:disabled{opacity:.4;cursor:not-allowed}.settings-note{color:var(--text-muted);font-size:var(--font-size-sm, .75rem);font-style:italic;padding:var(--spacing-sm, 8px) 0}.settings-api-key-item{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);padding:var(--spacing-lg, 20px);margin-bottom:var(--spacing-md, 16px)}.settings-api-key-item:hover{border-color:var(--border-hover)}.settings-api-key-header{margin-bottom:var(--spacing-md, 16px)}.settings-api-key-label{font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin-bottom:6px;font-size:var(--font-size-base, .875rem)}.settings-api-key-desc{color:var(--text-muted);font-size:var(--font-size-sm, .75rem);line-height:var(--line-height-relaxed, 1.5)}.settings-api-key-desc a{color:var(--accent-primary);text-decoration:none;font-weight:var(--font-weight-medium, 500)}.settings-api-key-desc a:hover{text-decoration:underline}.settings-api-key-input-wrapper{display:flex;gap:8px}.settings-api-key-input{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-primary);font-size:var(--font-size-sm, .75rem);font-family:SF Mono,Fira Code,monospace;transition:all var(--transition-normal, .25s)}.settings-api-key-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.settings-api-key-input::placeholder{color:var(--text-muted)}.settings-api-key-toggle{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-muted);cursor:pointer;padding:12px 14px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal, .25s)}.settings-api-key-toggle:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.settings-api-key-actions{margin-top:var(--spacing-lg, 20px)}.settings-security-note{display:flex;align-items:flex-start;gap:12px;padding:var(--spacing-md, 16px);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);margin-top:var(--spacing-lg, 20px);line-height:var(--line-height-relaxed, 1.5)}.settings-security-note svg{flex-shrink:0;margin-top:2px;color:var(--accent-primary)}.settings-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--accent-primary);border:none;border-radius:var(--radius-lg, 6px);color:#fff;font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all var(--transition-normal, .25s);letter-spacing:.02em}.settings-btn-primary:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.settings-btn-primary:active:not(:disabled){transform:translateY(0)}.settings-btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-primary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.settings-btn-secondary:hover:not(:disabled){background:var(--card-bg-hover);border-color:var(--border-hover)}.settings-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.settings-btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:1px solid var(--red-500, #ef4444);border-radius:var(--radius-lg, 6px);color:var(--red-500, #ef4444);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.settings-btn-danger:hover:not(:disabled){background:var(--red-500, #ef4444);color:#fff}.settings-btn-danger:disabled{opacity:.5;cursor:not-allowed}.settings-telegram-connected{display:flex;flex-direction:column;gap:var(--spacing-lg, 20px)}.settings-telegram-status{display:flex;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px)}.settings-telegram-status-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-default)}.settings-telegram-status-icon.connected{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.settings-telegram-status-title{font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin-bottom:2px}.settings-telegram-status-user{color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.settings-proactivity{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);padding:var(--spacing-lg, 20px)}.settings-proactivity-options{display:flex;gap:8px;margin:var(--spacing-md, 16px) 0}.settings-proactivity-btn{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.settings-proactivity-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.settings-proactivity-btn.active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:var(--font-weight-semibold, 600)}.settings-proactivity-btn:disabled{opacity:.5;cursor:not-allowed}.settings-proactivity-desc{color:var(--text-muted);font-size:var(--font-size-sm, .75rem);line-height:var(--line-height-relaxed, 1.5)}.settings-telegram-disconnected{display:flex;flex-direction:column;align-items:flex-start}.settings-telegram-code-box{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);padding:var(--spacing-xl, 28px);width:100%;text-align:center}.settings-telegram-code-label{color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);margin-bottom:var(--spacing-md, 16px)}.settings-telegram-code-value{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-3xl, 1.25rem);font-weight:var(--font-weight-bold, 700);color:var(--accent-primary);background:var(--bg-tertiary);padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);border-radius:var(--radius-lg, 6px);margin-bottom:var(--spacing-md, 16px);letter-spacing:.15em;display:inline-block}.settings-telegram-code-expiry{color:var(--text-muted);font-size:var(--font-size-xs, .7rem)}.settings-suggestion-details{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);padding:var(--spacing-md, 16px) var(--spacing-lg, 20px)}.settings-detail-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-default)}.settings-detail-item:last-child{border-bottom:none}.settings-detail-label{color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.settings-detail-value{color:var(--text-primary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500)}.settings-data-actions{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.settings-data-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px)}.settings-data-item:hover{border-color:var(--border-hover)}.settings-data-item.danger{border-color:#ef444433}.settings-data-item.danger:hover{border-color:#ef444466;background:#ef444408}.settings-data-label{font-weight:var(--font-weight-medium, 500);color:var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base, .875rem)}.settings-data-desc{color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.openclaw-warning{display:flex;gap:var(--spacing-md, 16px);padding:var(--spacing-lg, 20px);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-xl, 8px);margin-bottom:var(--spacing-lg, 20px)}.openclaw-warning-icon{flex-shrink:0;color:#fbbf24}.openclaw-warning-content{flex:1}.openclaw-warning-title{font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base, .875rem)}.openclaw-warning-desc{color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);margin-bottom:var(--spacing-md, 16px)}.openclaw-key-display{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-sm, .75rem);background:var(--bg-tertiary);padding:var(--spacing-md, 16px);border-radius:var(--radius-lg, 6px);color:var(--accent-primary);word-break:break-all;margin-bottom:var(--spacing-md, 16px);border:1px solid var(--border-default)}.openclaw-warning-actions{display:flex;gap:8px}.openclaw-generate-section{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);padding:var(--spacing-lg, 20px);margin-bottom:var(--spacing-lg, 20px)}.openclaw-generate-form{display:flex;gap:8px;margin-top:var(--spacing-md, 16px)}.openclaw-key-name-input{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-primary);font-size:var(--font-size-sm, .75rem);transition:all var(--transition-normal, .25s)}.openclaw-key-name-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.openclaw-key-name-input::placeholder{color:var(--text-muted)}.openclaw-keys-section{margin-bottom:var(--spacing-lg, 20px)}.openclaw-keys-section h4{margin-bottom:var(--spacing-md, 16px)}.openclaw-key-table{display:flex;flex-direction:column;gap:var(--spacing-md, 12px)}.openclaw-key-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md, 16px) var(--spacing-lg, 20px);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);transition:all var(--transition-normal, .25s)}.openclaw-key-row:hover{border-color:var(--border-hover)}.openclaw-key-row.openclaw-revoked{opacity:.5}.openclaw-key-info{flex:1}.openclaw-key-name{font-weight:var(--font-weight-medium, 500);color:var(--text-primary);margin-bottom:4px;font-size:var(--font-size-base, .875rem);display:flex;align-items:center;gap:8px}.openclaw-revoked-badge{display:inline-flex;padding:2px 8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);letter-spacing:.05em;text-transform:uppercase}.openclaw-key-masked{font-family:SF Mono,Fira Code,monospace;font-size:var(--font-size-sm, .75rem);color:var(--text-muted);margin-bottom:6px}.openclaw-key-meta{color:var(--text-muted);font-size:var(--font-size-xs, .7rem);display:flex;gap:8px;align-items:center}.openclaw-key-meta-separator{opacity:.5}.openclaw-actions{display:flex;gap:8px;flex-shrink:0}.openclaw-btn{padding:10px 16px;border-radius:var(--radius-lg, 6px);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s);border:1px solid var(--border-default)}.openclaw-btn-permissions{background:var(--accent-subtle);color:var(--accent-primary);border-color:var(--accent-primary)}.openclaw-btn-permissions:hover{background:var(--accent-primary);color:#fff}.openclaw-btn-permissions:disabled{opacity:.5;cursor:not-allowed}.openclaw-permissions-panel{margin-top:var(--spacing-md, 12px);padding:var(--spacing-lg, 20px);background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);border-radius:var(--radius-lg, 6px)}.openclaw-permissions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg, 20px);padding-bottom:var(--spacing-md, 16px);border-bottom:1px solid var(--border-default)}.openclaw-permissions-header h4{margin:0;font-size:var(--font-size-base, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary)}.openclaw-template-selector{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.openclaw-template-selector label{font-size:var(--font-size-sm, .75rem);color:var(--text-secondary);font-weight:var(--font-weight-medium, 500)}.openclaw-template-selector select{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-primary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.openclaw-template-selector select:hover{border-color:var(--border-hover)}.openclaw-template-selector select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.openclaw-template-selector select:disabled{opacity:.5;cursor:not-allowed}.openclaw-permission-grid{display:grid;grid-template-columns:1fr auto auto;gap:var(--spacing-md, 12px);align-items:center}.openclaw-permission-row{display:contents}.openclaw-permission-schema{text-transform:capitalize;font-weight:var(--font-weight-medium, 500);color:var(--text-primary);font-size:var(--font-size-sm, .75rem)}.openclaw-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--font-size-sm, .75rem);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.openclaw-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.openclaw-toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.openclaw-toggle:has(input:disabled){opacity:.5;cursor:not-allowed}.openclaw-permissions-hint{margin-top:var(--spacing-md, 16px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background:#3b82f61a;border-left:2px solid var(--accent-primary);border-radius:var(--radius-md, 4px);font-size:var(--font-size-xs, .7rem);color:var(--text-secondary)}.openclaw-rate-limits-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default)}.openclaw-rate-limit-controls{display:flex;flex-direction:column;gap:16px;margin-top:12px}.openclaw-rate-limit-field{display:flex;flex-direction:column;gap:6px}.openclaw-rate-limit-input-row{display:flex;align-items:center;gap:12px}.openclaw-rate-limit-input{width:120px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-primary);font-size:var(--font-size-sm, .75rem);transition:all var(--transition-normal, .25s)}.openclaw-rate-limit-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle)}.openclaw-rate-limit-input:hover{border-color:var(--border-hover)}.openclaw-rate-limit-hint{font-size:12px;color:var(--text-muted)}.openclaw-rate-limit-error{color:#f44;font-size:13px;margin-bottom:8px;padding:8px 12px;background:#ff44441a;border-radius:4px}.openclaw-execution-mode-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-default)}.openclaw-execution-mode-options{display:flex;flex-direction:column;gap:12px;margin-top:12px}.openclaw-execution-mode-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);cursor:pointer;transition:all var(--transition-normal, .25s)}.openclaw-execution-mode-option:hover,.openclaw-execution-mode-option.selected{border-color:var(--accent-primary);background:var(--accent-subtle)}.openclaw-execution-mode-option input[type=radio]{margin-top:4px;accent-color:var(--accent-primary)}.openclaw-execution-mode-info{flex:1}.openclaw-execution-mode-name{display:flex;align-items:center;gap:8px;font-weight:var(--font-weight-semibold, 600);font-size:var(--font-size-base, .875rem);color:var(--text-primary)}.openclaw-execution-mode-icon{font-size:16px}.openclaw-execution-mode-badge{font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px}.openclaw-execution-mode-badge.recommended{background:#22c55e26;color:#22c55e}.openclaw-execution-mode-desc{margin-top:4px;font-size:var(--font-size-sm, .75rem);color:var(--text-muted);line-height:var(--line-height-relaxed, 1.5)}.openclaw-subtab-nav{display:flex;gap:0;border-bottom:1px solid var(--border-default);margin-bottom:24px}.openclaw-subtab-btn{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s);text-transform:uppercase;letter-spacing:.5px}.openclaw-subtab-btn:hover{color:var(--text-primary)}.openclaw-subtab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.openclaw-status-section{margin-bottom:24px}.openclaw-status-card{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px)}.openclaw-status-info{display:flex;align-items:center;gap:12px}.openclaw-status-indicator{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.openclaw-status-indicator.success{background:#22c55e26;color:#22c55e}.openclaw-status-indicator.error{background:#ef444426;color:#ef4444}.openclaw-status-title{font-weight:var(--font-weight-medium, 500);color:var(--text-primary);font-size:var(--font-size-base, .875rem);margin-bottom:2px}.openclaw-status-detail{font-size:var(--font-size-sm, .75rem);color:var(--text-muted)}.openclaw-rate-usage{margin-top:16px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px)}.openclaw-rate-usage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.openclaw-rate-usage-label{font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--text-secondary)}.openclaw-rate-usage-value{font-size:var(--font-size-sm, .75rem);color:var(--text-muted);font-variant-numeric:tabular-nums}.openclaw-rate-usage-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.openclaw-rate-usage-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .3s ease;min-width:0}.openclaw-activity-layout{display:flex;gap:0;min-height:400px}.openclaw-activity-main{flex:1;min-width:0;transition:flex var(--transition-normal, .25s)}.openclaw-activity-main.with-panel{flex:0 0 55%;padding-right:16px}.openclaw-activity-table{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);overflow:hidden;margin-top:12px}.openclaw-activity-header{display:grid;grid-template-columns:110px 1fr 80px 90px;padding:10px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-default);font-weight:var(--font-weight-semibold, 600);font-size:var(--font-size-xs, .7rem);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.openclaw-activity-row{display:grid;grid-template-columns:110px 1fr 80px 90px;padding:10px 16px;border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm, .75rem);transition:background var(--transition-normal, .25s);align-items:center;cursor:pointer}.openclaw-activity-row:last-child{border-bottom:none}.openclaw-activity-row:hover{background:var(--card-bg-hover, var(--bg-tertiary))}.openclaw-activity-row.selected{background:var(--accent-primary-transparent, rgba(99, 102, 241, .1));border-left:2px solid var(--accent-primary)}.openclaw-activity-time{color:var(--text-muted);font-size:var(--font-size-xs, .7rem)}.openclaw-activity-tool{color:var(--text-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:var(--font-size-xs, .7rem)}.openclaw-activity-mode{color:var(--text-muted);font-size:var(--font-size-xs, .7rem)}.openclaw-activity-status{text-align:right;font-weight:var(--font-weight-medium, 500);font-size:var(--font-size-xs, .7rem)}.openclaw-activity-status.success{color:#22c55e}.openclaw-activity-status.error{color:#ef4444}.openclaw-activity-status.rolled-back{color:var(--text-muted);text-decoration:line-through}.openclaw-activity-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, .75rem);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);margin-top:12px}.openclaw-activity-loading{padding:20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.openclaw-activity-pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:16px;padding:8px 0}.openclaw-page-btn{min-width:32px;height:32px;padding:0 8px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md, 6px);color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);cursor:pointer;transition:all var(--transition-normal, .25s);display:flex;align-items:center;justify-content:center}.openclaw-page-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--text-primary)}.openclaw-page-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:var(--font-weight-semibold, 600)}.openclaw-page-btn:disabled{opacity:.4;cursor:not-allowed}.openclaw-page-ellipsis{padding:0 4px;color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.openclaw-activity-detail-panel{flex:0 0 45%;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);overflow-y:auto;max-height:500px}.openclaw-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);position:sticky;top:0;background:var(--card-bg);z-index:1}.openclaw-detail-title{font-size:var(--font-size-base, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary);margin:0}.openclaw-detail-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md, 6px);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal, .25s)}.openclaw-detail-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.openclaw-detail-loading{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, .75rem)}.openclaw-detail-content{padding:16px 20px}.openclaw-detail-field{margin-bottom:16px}.openclaw-detail-field.full-width{margin-bottom:20px}.openclaw-detail-label{display:block;font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.openclaw-detail-value{font-size:var(--font-size-sm, .75rem);color:var(--text-primary);word-break:break-word}.openclaw-detail-value.mono{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:var(--font-size-xs, .7rem)}.openclaw-detail-value.success{color:#22c55e}.openclaw-detail-value.error{color:#ef4444}.openclaw-detail-value.rolled-back{color:var(--text-muted);text-decoration:line-through}.openclaw-detail-json{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md, 6px);padding:12px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:var(--font-size-xs, .7rem);color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;margin:0}@media (max-width: 768px){.settings-modal{width:100%;height:100%;max-width:none;margin:0;border-radius:0}.settings-modal-body{flex-direction:column}.settings-tabs{width:100%;flex-direction:row;overflow-x:auto;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-right:none;border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);gap:4px}.settings-tab{flex-shrink:0;padding:10px 14px;justify-content:center}.settings-tab span{display:none}.settings-content{padding:var(--spacing-md, 16px)}.settings-proactivity-options{flex-direction:column}.settings-item,.settings-data-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md, 16px)}.settings-api-key-input-wrapper,.openclaw-activity-layout{flex-direction:column}.openclaw-activity-main.with-panel{flex:1;padding-right:0;padding-bottom:16px}.openclaw-activity-detail-panel{flex:none;max-height:300px}.openclaw-activity-header,.openclaw-activity-row{grid-template-columns:80px 1fr 70px}.openclaw-activity-mode{display:none}}@media (max-width: 480px){.settings-modal-header{padding:var(--spacing-md, 16px)}.settings-modal-title{font-size:var(--font-size-xl, 1rem)}}.memory-type-filters{display:flex;gap:6px;margin-bottom:var(--spacing-lg, 20px);flex-wrap:wrap}.memory-filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg, 6px);color:var(--text-secondary);font-size:var(--font-size-sm, .75rem);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-normal, .25s)}.memory-filter-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.memory-filter-btn.active{background:var(--accent-subtle);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:var(--font-weight-semibold, 600)}.memory-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;background:var(--bg-tertiary);border-radius:9px;font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-muted)}.memory-filter-btn.active .memory-filter-count{background:var(--accent-primary);color:#fff}.memory-tab-loading,.memory-tab-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, .75rem);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px)}.memory-list{display:flex;flex-direction:column;gap:var(--spacing-lg, 20px)}.memory-type-group-header{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-sm, 8px)}.memory-type-badge{display:inline-flex;padding:3px 10px;border-radius:4px;font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.5px}.memory-badge-preference{background:#ec489926;color:#ec4899}.memory-badge-goal{background:#eab30826;color:#eab308}.memory-badge-fact{background:#06b6d426;color:#06b6d4}.memory-badge-habit{background:#6366f126;color:#6366f1}.memory-badge-default{background:var(--bg-tertiary);color:var(--text-secondary)}.memory-type-count{font-size:var(--font-size-xs, .7rem);color:var(--text-muted)}.memory-type-items{display:flex;flex-direction:column;gap:6px}.memory-item-card{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl, 8px);transition:all var(--transition-normal, .25s)}.memory-item-card:hover{border-color:var(--border-hover)}.memory-item-content{flex:1;min-width:0}.memory-item-text{font-size:var(--font-size-sm, .75rem);color:var(--text-primary);line-height:var(--line-height-relaxed, 1.5);margin-bottom:6px}.memory-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.memory-item-date{font-size:var(--font-size-xs, .7rem);color:var(--text-muted)}.memory-item-confidence{font-size:var(--font-size-xs, .7rem);font-weight:var(--font-weight-semibold, 600);padding:1px 6px;border-radius:3px}.memory-item-confidence.high{background:#22c55e26;color:#22c55e}.memory-item-confidence.medium{background:#eab30826;color:#eab308}.memory-item-confidence.low{background:#ef444426;color:#ef4444}.memory-item-source{font-size:var(--font-size-xs, .7rem);color:var(--text-muted);font-style:italic}.memory-item-delete{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md, 6px);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal, .25s);margin-top:2px}.memory-item-delete:hover:not(:disabled){background:#ef44441a;color:#ef4444}.memory-item-delete:disabled{opacity:.4;cursor:not-allowed}.memory-deleting{font-size:var(--font-size-xs, .7rem);color:var(--text-muted)}.topnav{position:fixed;top:0;left:0;right:0;height:64px;background:var(--bg-secondary);border-bottom:1px solid var(--border-default);z-index:var(--z-topnav);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;width:100%;max-width:100%;padding:0 2rem}.topnav-left{flex:0 0 auto}.topnav-logo-link{text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:opacity .2s ease}.topnav-logo-link:hover{opacity:.85}.topnav-logo-text{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:.28em;text-transform:uppercase}.topnav-logo-favicon{height:32px;width:32px;display:block;object-fit:contain}.topnav-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.5rem}.topnav-link{position:relative;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-normal);letter-spacing:var(--letter-spacing-normal)}.topnav-link:hover,.topnav-link.active{color:var(--text-primary)}.topnav-link.active:after{content:"";position:absolute;bottom:-4px;left:var(--spacing-md);right:var(--spacing-md);height:2px;background:var(--blue-500);border-radius:1px}.topnav-right{flex:0 0 auto;display:flex;align-items:center;gap:var(--spacing-md)}.topnav-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-full)}.topnav-status-dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);animation:pulse 2s ease-in-out infinite}.topnav-status-text{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.topnav-theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.topnav-theme-toggle:hover{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--accent-primary);transform:rotate(15deg)}.topnav-theme-toggle:active{transform:rotate(15deg) scale(.95)}.topnav-theme-toggle svg{width:18px;height:18px;transition:transform var(--transition-normal)}[data-theme=light] .topnav-theme-toggle:hover svg{transform:rotate(-15deg)}.topnav-settings{position:relative}.topnav-settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.topnav-settings-btn:hover,.topnav-settings-btn.active{background:var(--card-bg);border-color:var(--border-default);color:var(--text-primary)}.topnav-settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:0 4px 12px #00000026;padding:var(--spacing-xs);z-index:100;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topnav-settings-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal);text-align:left}.topnav-settings-item:hover{background:var(--card-bg)}.topnav-settings-item.danger{color:var(--status-error-text)}.topnav-settings-item.danger:hover{background:var(--status-error-bg)}.topnav-settings-item:disabled{opacity:.5;cursor:not-allowed}.topnav-settings-item svg{flex-shrink:0}.topnav-settings-section{padding:var(--spacing-xs) var(--spacing-sm)}.topnav-settings-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.topnav-settings-divider{height:1px;background:var(--border-default);margin:var(--spacing-xs) 0}.topnav-telegram-status{margin-top:var(--spacing-xs)}.topnav-telegram-linked{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--status-success-bg);border-radius:var(--radius-md);color:var(--status-success-text);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.topnav-telegram-code{padding:var(--spacing-sm) var(--spacing-md);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md)}.topnav-telegram-code-label{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:var(--spacing-xs)}.topnav-telegram-code-value{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--blue-500);padding:var(--spacing-xs) 0}.topnav-telegram-code-expiry{font-size:var(--font-size-xs);color:var(--text-muted)}.topnav-proactivity-setting{padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) 0}.topnav-proactivity-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);margin-bottom:var(--spacing-xs)}.topnav-proactivity-options{display:flex;gap:2px;background:var(--card-bg);border-radius:var(--radius-md);padding:2px;border:1px solid var(--border-default)}.topnav-proactivity-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.topnav-proactivity-btn:hover{color:var(--text-primary)}.topnav-proactivity-btn.active{background:var(--blue-500);color:#fff}.topnav-proactivity-btn:disabled{opacity:.5;cursor:not-allowed}.topnav-proactivity-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs);font-style:italic}.topnav-suggestion-setting{padding:var(--spacing-xs) var(--spacing-sm)}.topnav-suggestion-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.topnav-suggestion-label{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.topnav-toggle-btn{position:relative;width:44px;height:24px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:12px;cursor:pointer;transition:all var(--transition-normal);padding:0}.topnav-toggle-btn:hover{border-color:var(--border-hover)}.topnav-toggle-btn.active{background:#8b5cf6;border-color:#8b5cf6}.topnav-toggle-slider{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all var(--transition-normal)}.topnav-toggle-btn.active .topnav-toggle-slider{left:22px;background:#fff}.topnav-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.topnav-suggestion-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs);font-style:italic}.topnav-suggestion-details{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:#8b5cf61a;border-radius:var(--radius-sm);border-left:2px solid #8b5cf6}.topnav-suggestion-info{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5}.topnav-user{display:flex;align-items:center;gap:var(--spacing-sm);padding-left:var(--spacing-md);border-left:1px solid var(--border-default)}.topnav-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topnav-logout{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.topnav-logout:hover{background:var(--card-bg);border-color:var(--border-default);color:var(--text-primary)}@media (max-width: 768px){.topnav-inner{padding:0 var(--spacing-md)}.topnav-center{gap:var(--spacing-sm)}.topnav-link{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.topnav-user-name{display:none}.topnav-user{padding-left:var(--spacing-sm)}}.memory-notification{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px 12px;margin-top:8px;font-size:.9rem}.memory-notification-header{display:flex;align-items:center;gap:6px;color:#ffffff80;font-size:.85rem;font-weight:500;margin-bottom:8px}.memory-notification-header svg{flex-shrink:0}.memory-notification-items{display:flex;flex-direction:column;gap:6px}.memory-notification-item{display:flex;align-items:center;gap:8px}.memory-type-badge{flex-shrink:0;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.memory-type-badge.preference{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.memory-type-badge.goal{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.memory-type-badge.fact{background:#9ca3af33;color:#d1d5db;border:1px solid rgba(156,163,175,.3)}.memory-type-badge.habit{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.memory-summary{color:#fffc;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-inspector{position:relative}.ci-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:.875rem;cursor:pointer;transition:all .2s}.ci-toggle-btn:hover:not(:disabled){background:#ffffff14;color:#ffffffe6;border-color:#fff3}.ci-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.ci-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:9998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:ciFadeIn .2s ease-out}@keyframes ciFadeIn{0%{opacity:0}to{opacity:1}}.ci-panel{position:fixed;top:64px;right:0;width:520px;max-width:90vw;height:calc(100vh - 64px);background:#141414;border-left:1px solid rgba(255,255,255,.12);box-shadow:-8px 0 30px #00000080;z-index:9999;display:flex;flex-direction:column;animation:ciSlideIn .25s ease-out}@keyframes ciSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.ci-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.ci-header h3{margin:0;font-size:1rem;font-weight:600;color:#ffffffe6}.ci-header-actions{display:flex;align-items:center;gap:.5rem}.ci-refresh-btn,.ci-close-btn{padding:.375rem;background:none;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffff80;cursor:pointer;transition:all .2s;display:flex;align-items:center}.ci-refresh-btn:hover,.ci-close-btn:hover{color:#ffffffe6;border-color:#fff3;background:#ffffff0d}.ci-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.ci-body{flex:1;overflow-y:auto;padding:.5rem}.ci-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:#fff9}.ci-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:ciSpin .8s linear infinite}@keyframes ciSpin{to{transform:rotate(360deg)}}.ci-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;color:#fff9}.ci-error svg{color:#ef4444}.ci-error button{padding:.5rem 1rem;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#60a5fa;cursor:pointer;transition:all .2s}.ci-error button:hover{background:#3b82f64d}.ci-error-inline{padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;color:#fca5a5;font-size:.8125rem}.ci-section{margin-bottom:2px;border:1px solid rgba(255,255,255,.06);border-radius:6px;overflow:hidden}.ci-section.expanded{border-color:#ffffff1a}.ci-section-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;background:#ffffff08;border:none;color:#fffc;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s;text-align:left;-webkit-user-select:none;user-select:none}.ci-section-header:focus-visible{outline:1px solid rgba(59,130,246,.5);outline-offset:-1px}.ci-section-header:hover{background:#ffffff0f}.ci-chevron{transition:transform .2s;flex-shrink:0}.ci-section.expanded .ci-chevron{transform:rotate(90deg)}.ci-section-label{flex:1}.ci-section-badge{padding:.1rem .4rem;background:#3b82f626;border-radius:8px;font-size:.7rem;font-weight:500;color:#93c5fd}.ci-copy-btn{padding:.25rem;background:none;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:#ffffff4d;cursor:pointer;transition:all .2s;display:flex;align-items:center}.ci-copy-btn:hover{color:#ffffffb3;border-color:#fff3}.ci-copy-btn.copied{color:#34d399;border-color:#34d3994d}.ci-section-body{padding:.75rem;border-top:1px solid rgba(255,255,255,.06)}.ci-stat-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.8125rem;color:#ffffff80}.ci-stat-row strong{color:#fffc}.ci-danger{color:#ef4444!important}.ci-ok{color:#34d399!important}.ci-code-block{padding:.75rem;background:#00000059;border:1px solid rgba(255,255,255,.05);border-radius:6px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-size:.75rem;line-height:1.5;color:#ffffffb3;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;margin:0}.ci-subsection-title{margin:.75rem 0 .375rem;font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.ci-entries-list{margin-bottom:.75rem}.ci-entry{padding:.5rem .625rem;margin-bottom:.375rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:4px}.ci-entry-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem}.ci-badge{padding:.1rem .375rem;border-radius:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ci-badge-high{background:#ef444433;color:#fca5a5}.ci-badge-normal{background:#3b82f633;color:#93c5fd}.ci-badge-low{background:#94a3b833;color:#94a3b8}.ci-badge-source{background:#8b5cf633;color:#a78bfa}.ci-entry-time{margin-left:auto;font-size:.7rem;color:#ffffff59}.ci-entry-content{font-size:.8125rem;line-height:1.4;color:#ffffffb3}.ci-messages-list{display:flex;flex-direction:column;gap:.375rem}.ci-message{padding:.5rem .625rem;border-radius:4px;font-size:.8125rem;line-height:1.4}.ci-message-user{background:#3b82f614;border:1px solid rgba(59,130,246,.15)}.ci-message-assistant{background:#8b5cf614;border:1px solid rgba(139,92,246,.15)}.ci-message-system{background:#eab30814;border:1px solid rgba(234,179,8,.15)}.ci-message-role{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-right:.5rem}.ci-message-content{color:#ffffffb3}.ci-tools-list{display:flex;flex-direction:column;gap:.375rem}.ci-tool{padding:.5rem .625rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:4px}.ci-tool-name{font-size:.8125rem;font-weight:600;color:#60a5fa;margin-bottom:.25rem}.ci-tool-desc{font-size:.75rem;color:#ffffff80;line-height:1.3;margin-bottom:.25rem}.ci-tool-params{font-size:.7rem;color:#ffffff59;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace}.ci-empty{padding:2rem;text-align:center;color:#fff6;font-size:.875rem}.canvas-layout{display:flex;height:calc(100vh - 64px);animation:layoutFadeIn .4s var(--ease-out) forwards}@keyframes layoutFadeIn{0%{opacity:0}to{opacity:1}}.canvas-sidebar{width:260px;flex-shrink:0;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-default);display:flex;flex-direction:column;animation:sidebarSlideIn .5s var(--ease-out) forwards}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.canvas-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.canvas-sidebar-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.canvas-new-chat-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.canvas-new-chat-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500));opacity:0;transition:opacity .3s ease}.canvas-new-chat-btn:hover{border-color:var(--accent-primary);transform:scale(1.1) rotate(90deg);box-shadow:0 0 15px var(--accent-glow)}.canvas-new-chat-btn:hover:before{opacity:1}.canvas-new-chat-btn svg{position:relative;z-index:1;transition:color .3s ease}.canvas-new-chat-btn:hover svg{color:#fff}.canvas-new-chat-btn:active{transform:scale(.95) rotate(90deg)}.canvas-chat-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-sm);display:flex;flex-direction:column;min-height:0}.canvas-preset-chats{flex-shrink:0;padding:var(--spacing-sm);border-top:1px solid var(--border-default);background:var(--bg-secondary)}.canvas-sidebar-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.canvas-sidebar-spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 10px var(--accent-glow)}.canvas-chat-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:2px;position:relative;overflow:hidden;animation:chatItemSlideIn .3s var(--ease-out) forwards;opacity:0}@keyframes chatItemSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.canvas-chat-item:nth-child(1){animation-delay:.1s}.canvas-chat-item:nth-child(2){animation-delay:.15s}.canvas-chat-item:nth-child(3){animation-delay:.2s}.canvas-chat-item:nth-child(4){animation-delay:.25s}.canvas-chat-item:nth-child(5){animation-delay:.3s}.canvas-chat-item:nth-child(6){animation-delay:.35s}.canvas-chat-item:nth-child(7){animation-delay:.4s}.canvas-chat-item:nth-child(8){animation-delay:.45s}.canvas-chat-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--accent-glow),transparent);opacity:0;transition:opacity .3s ease}.canvas-chat-item:hover{background:var(--card-bg);transform:translate(4px)}.canvas-chat-item:hover:before{opacity:.1}.canvas-chat-item.active{background:var(--card-bg-hover);border-left:2px solid var(--accent-primary)}.canvas-chat-item.active:before{opacity:.15}.canvas-chat-item.preset{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-md);border-radius:var(--radius-lg)}.canvas-chat-item-icon{flex-shrink:0;color:var(--text-muted);transition:all .3s ease}.canvas-chat-item:hover .canvas-chat-item-icon{color:var(--accent-primary);transform:scale(1.1)}.canvas-chat-item.preset .canvas-chat-item-icon{color:var(--accent-primary)}.canvas-chat-item-title{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.canvas-chat-item:hover .canvas-chat-item-title{color:var(--accent-primary)}.canvas-chat-item-delete{display:none;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.canvas-chat-item:hover .canvas-chat-item-delete,.canvas-chat-item.active .canvas-chat-item-delete,.canvas-chat-item:focus-within .canvas-chat-item-delete{display:flex;animation:deleteButtonFadeIn .2s ease forwards}@keyframes deleteButtonFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.canvas-chat-item-delete:hover,.canvas-chat-item-delete:focus{background:var(--status-error-bg);color:var(--status-error-text);transform:rotate(90deg)}@media (hover: none){.canvas-chat-item .canvas-chat-item-delete{display:flex;opacity:.6}.canvas-chat-item.active .canvas-chat-item-delete{opacity:1}}.canvas{flex:1;display:flex;flex-direction:column;height:calc(100vh - 64px);max-width:800px;margin:0 auto;padding:0 var(--spacing-md);min-width:0;animation:canvasFadeIn .5s var(--ease-out) .2s forwards;opacity:0}@keyframes canvasFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.canvas-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl) 0;display:flex;flex-direction:column;gap:var(--spacing-md)}.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary);padding:var(--spacing-2xl);animation:emptyStateFadeIn .6s var(--ease-out) .3s forwards;opacity:0}@keyframes emptyStateFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.canvas-empty-icon{color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.5;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.canvas-empty h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.canvas-empty p{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.canvas-examples{display:flex;flex-direction:column;gap:var(--spacing-sm)}.canvas-example{font-size:var(--font-size-sm);color:var(--text-muted);padding:var(--spacing-sm) var(--spacing-md);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:exampleSlideIn .4s var(--ease-out) forwards;opacity:0}.canvas-example:nth-child(1){animation-delay:.4s}.canvas-example:nth-child(2){animation-delay:.5s}.canvas-example:nth-child(3){animation-delay:.6s}.canvas-example:nth-child(4){animation-delay:.7s}@keyframes exampleSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.canvas-example:hover{background:var(--card-bg-hover);border-color:var(--accent-primary);color:var(--text-primary);transform:translate(5px);box-shadow:0 0 15px var(--accent-glow)}.canvas-message{display:flex;animation:messageSlideIn .4s var(--ease-out) forwards}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.canvas-message.user{justify-content:flex-end}.canvas-message.assistant{justify-content:flex-start}.canvas-message-content{max-width:80%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-2xl);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);white-space:pre-wrap;transition:all .3s ease}.canvas-message.user .canvas-message-content{background:linear-gradient(135deg,#dc143c26,#dc143c14);color:var(--text-primary);border:1px solid rgba(220,20,60,.3);border-bottom-right-radius:var(--radius-md)}.canvas-message.user .canvas-message-content:hover{border-color:#dc143c80;box-shadow:0 4px 20px #dc143c26}.canvas-message.assistant .canvas-message-content{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid var(--glass-border);border-bottom-left-radius:var(--radius-md)}.canvas-message.assistant .canvas-message-content:hover{border-color:var(--border-hover);box-shadow:0 4px 20px #0000001a}.canvas-message.error .canvas-message-content{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text);animation:errorShake .5s ease}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.canvas-message-content p{margin:.5em 0;line-height:1.5}.canvas-message-content p:first-child{margin-top:0}.canvas-message-content p:last-child{margin-bottom:0}.canvas-message-content strong{font-weight:600;color:inherit}.canvas-message-content ul,.canvas-message-content ol{margin:.5em 0;padding-left:1.5em}.canvas-message-content li{margin:.25em 0}.canvas-message-content code{background:#ffffff0d;padding:2px 4px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.canvas-event-created{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-lg);animation:cardPopIn .4s var(--ease-bounce) forwards}@keyframes cardPopIn{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.canvas-event-badge{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--status-success-text);margin-bottom:var(--spacing-sm)}.canvas-event-badge svg{animation:checkmarkPop .5s var(--ease-bounce) forwards}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.canvas-event-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.canvas-event-details strong{font-size:var(--font-size-base);color:var(--text-primary)}.canvas-event-details span{font-size:var(--font-size-sm);color:var(--text-secondary)}.canvas-event-recurring{font-size:var(--font-size-xs);color:var(--status-success-text);font-style:italic}.canvas-event-updated{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#dc143c1a;border:1px solid rgba(220,20,60,.3);border-radius:var(--radius-lg);animation:cardPopIn .4s var(--ease-bounce) forwards}.canvas-event-updated .canvas-event-badge{color:var(--accent-primary);margin-bottom:0}.canvas-color-rule-added{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#a855f71a;border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-lg);animation:cardPopIn .4s var(--ease-bounce) forwards}.canvas-color-rule-added .canvas-event-badge{color:var(--purple-500, #a855f7);margin-bottom:var(--spacing-sm)}.canvas-color-rule-details{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--text-secondary)}.canvas-color-preview{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;margin:0 var(--spacing-xs);border:1px solid rgba(255,255,255,.2);animation:colorPreviewPulse 2s ease-in-out infinite}@keyframes colorPreviewPulse{0%,to{box-shadow:0 0 5px currentColor}50%{box-shadow:0 0 15px currentColor}}.canvas-color-applied{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.canvas-project-items-added{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#dc143c1a;border:1px solid rgba(220,20,60,.3);border-radius:var(--radius-lg);animation:cardPopIn .4s var(--ease-bounce) forwards}.canvas-project-items-added .canvas-event-badge{color:var(--accent-primary);margin-bottom:var(--spacing-sm)}.canvas-project-items-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.canvas-project-items-details strong{font-size:var(--font-size-base);color:var(--text-primary)}.compare-message-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .3s ease}.compare-message-btn:hover{background:var(--card-bg-hover);color:var(--text-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.compare-message-btn svg{opacity:.7;transition:all .3s ease}.compare-message-btn:hover svg{opacity:1;transform:rotate(180deg)}.canvas-message.loading .canvas-typing{display:flex;gap:4px;padding:var(--spacing-md) var(--spacing-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-md)}.canvas-typing span{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite;box-shadow:0 0 10px var(--accent-glow)}.canvas-typing span:nth-child(2){animation-delay:.2s}.canvas-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.canvas-file-input{display:none}.canvas-files{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.canvas-file-chip{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-secondary);animation:fileChipSlideIn .3s var(--ease-out) forwards}@keyframes fileChipSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.canvas-file-chip svg{flex-shrink:0;color:var(--text-muted)}.canvas-file-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.canvas-file-size{color:var(--text-muted);font-size:var(--font-size-xs)}.canvas-file-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all .3s ease}.canvas-file-remove:hover{background:var(--status-error-bg);color:var(--status-error-text);transform:rotate(90deg)}.canvas-pasted-images{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.canvas-pasted-image{position:relative;width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default);animation:imagePopIn .3s var(--ease-bounce) forwards}@keyframes imagePopIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.canvas-pasted-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.canvas-pasted-image:hover img{transform:scale(1.1)}.canvas-pasted-image-remove{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;opacity:0}.canvas-pasted-image:hover .canvas-pasted-image-remove{opacity:1}.canvas-pasted-image-remove:hover{background:var(--red-400);transform:scale(1.1)}.canvas-message-images{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.canvas-message-image{max-width:300px;max-height:200px;border-radius:var(--radius-md);object-fit:contain;border:1px solid var(--border-default);transition:all .3s ease}.canvas-message-image:hover{transform:scale(1.02);box-shadow:0 8px 25px #0003}.canvas-upload-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);color:#9696aab3;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.canvas-upload-btn:hover:not(:disabled){background:#dc143c1f;border-color:#dc143c40;color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 12px #dc143c26}.canvas-upload-btn:active:not(:disabled){transform:scale(.95)}.canvas-upload-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-token-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm)}.canvas-token-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;max-width:120px}.canvas-token-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--purple-500));border-radius:2px;transition:width .5s ease;box-shadow:0 0 10px var(--accent-glow)}.canvas-token-text{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.canvas-input-container{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-xl);background:transparent;animation:inputContainerSlideUp .4s var(--ease-out) .3s forwards;opacity:0;transform:translateY(20px);position:relative}@keyframes inputContainerSlideUp{to{opacity:1;transform:translateY(0)}}.canvas-input-wrapper{display:flex;align-items:flex-end;gap:var(--spacing-sm);background:#191923b3;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-2xl);padding:var(--spacing-sm) var(--spacing-md)}.canvas-input-wrapper:hover{background:#191923b3}.canvas-input-wrapper:focus-within{background:#191923b3}.canvas-input{flex:1;background:transparent;border:none;outline:none!important;color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);padding:var(--spacing-sm) var(--spacing-md);resize:none;max-height:120px;line-height:var(--line-height-relaxed)}.canvas-input:focus,.canvas-input:focus-visible{outline:none!important;box-shadow:none!important}.canvas-input::placeholder{color:#9696aa80}.canvas-input:focus::placeholder{opacity:.3}.canvas-send-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#28283299;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);color:#c8c8dccc;cursor:pointer;transition:all .2s ease}.canvas-send-btn svg{transition:all .2s ease}.canvas-send-btn:hover:not(:disabled){background:#3c3c4bcc;border-color:#ffffff26;color:#fffffff2;transform:translateY(-1px);box-shadow:0 4px 12px #0006}.canvas-send-btn:hover:not(:disabled) svg{transform:translate(2px) rotate(-45deg)}.canvas-send-btn:active:not(:disabled){transform:translateY(0) scale(.95)}.canvas-send-btn:disabled{opacity:.3;cursor:not-allowed;background:#1e1e2366;border-color:#ffffff0a;color:#64647880}.canvas-import-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);color:#9696aab3;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.canvas-import-btn:hover:not(:disabled){background:#fa80721f;border-color:#fa807240;color:salmon;transform:translateY(-1px);box-shadow:0 4px 12px #fa807226}.canvas-import-btn:active:not(:disabled){transform:scale(.95)}.canvas-import-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-import-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);animation:overlayFadeIn .2s ease forwards}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.canvas-import-modal{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;animation:modalSlideIn .3s var(--ease-out) forwards;box-shadow:0 20px 50px #0000004d,0 0 30px var(--accent-glow)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.canvas-import-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-default)}.canvas-import-modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.canvas-import-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all .3s ease}.canvas-import-modal-close:hover{background:var(--card-bg-hover);color:var(--text-primary);transform:rotate(90deg)}.canvas-import-modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.canvas-import-modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.canvas-import-dropzone{position:relative}.canvas-import-dropzone-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);border:2px dashed var(--border-default);border-radius:var(--radius-xl);cursor:pointer;transition:all .3s ease}.canvas-import-dropzone-content:hover{border-color:var(--accent-primary);background:var(--accent-subtle);transform:scale(1.02)}.canvas-import-dropzone-content svg{color:var(--text-muted);margin-bottom:var(--spacing-md);transition:all .3s ease}.canvas-import-dropzone-content:hover svg{color:var(--accent-primary);transform:translateY(-5px)}.canvas-import-dropzone-content p{font-size:var(--font-size-base);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.canvas-import-dropzone-content span{font-size:var(--font-size-sm);color:var(--text-muted)}.canvas-import-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.canvas-import-spinner{width:48px;height:48px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md);box-shadow:0 0 20px var(--accent-glow)}.canvas-import-loading p{font-size:var(--font-size-base);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.canvas-import-loading span{font-size:var(--font-size-sm);color:var(--text-muted)}.canvas-import-preview{display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-import-stats{display:flex;gap:var(--spacing-md)}.canvas-import-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--card-bg);border-radius:var(--radius-lg);transition:all .3s ease}.canvas-import-stat:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.canvas-import-stat.warning{background:var(--status-warning-bg)}.canvas-import-stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.canvas-import-stat.warning .canvas-import-stat-value{color:var(--status-warning-text)}.canvas-import-stat-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.canvas-import-events-list h4,.canvas-import-excluded h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--spacing-sm)}.canvas-import-events-scroll{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xs);padding-right:var(--spacing-sm)}.canvas-import-event-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--card-bg);border-radius:var(--radius-md);transition:all .3s ease}.canvas-import-event-item:hover{background:var(--card-bg-hover);transform:translate(4px)}.canvas-import-event-color{width:4px;height:32px;border-radius:2px;flex-shrink:0}.canvas-import-event-details{flex:1;min-width:0}.canvas-import-event-title{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-import-event-time{display:block;font-size:var(--font-size-xs);color:var(--text-muted)}.canvas-import-excluded-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.canvas-import-excluded-item{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-muted)}.canvas-import-error{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl)}.canvas-import-error svg{color:var(--status-error-text);margin-bottom:var(--spacing-md);animation:errorIconShake .5s ease}@keyframes errorIconShake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.canvas-import-error p{font-size:var(--font-size-base);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.canvas-import-error span{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-md)}.canvas-import-debug{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-top:var(--spacing-xs);max-width:100%;overflow-x:auto}.canvas-import-error button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .3s ease}.canvas-import-error button:hover{background:var(--card-bg-hover);transform:translateY(-2px)}.canvas-import-result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl)}.canvas-import-result.success svg{color:var(--status-success-text);animation:successCheckmark .5s var(--ease-bounce) forwards}@keyframes successCheckmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.canvas-import-result.error svg{color:var(--status-error-text)}.canvas-import-result h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:var(--spacing-md) 0 var(--spacing-xs)}.canvas-import-result p{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.canvas-import-result span{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--spacing-xs)}.canvas-import-confirm-btn,.canvas-import-done-btn,.canvas-import-retry-btn{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s ease}.canvas-import-confirm-btn{background:linear-gradient(135deg,salmon,#e86b5d);border:none;color:#fff;position:relative;overflow:hidden}.canvas-import-confirm-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.canvas-import-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #fa807266}.canvas-import-confirm-btn:hover:not(:disabled):before{left:100%}.canvas-import-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.canvas-import-done-btn{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.canvas-import-done-btn:hover{background:var(--green-500);color:#fff;transform:translateY(-2px)}.canvas-import-retry-btn{background:var(--card-bg);border:1px solid var(--border-default);color:var(--text-primary)}.canvas-import-retry-btn:hover{background:var(--card-bg-hover);transform:translateY(-2px)}@media (max-width: 768px){.canvas-layout{flex-direction:column}.canvas-sidebar{width:100%;height:auto;max-height:200px;border-right:none;border-bottom:1px solid var(--border-default);flex-direction:row;overflow:hidden;animation:none}.canvas-chat-list{display:flex;flex-wrap:nowrap;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs);flex:1;min-width:0}.canvas-preset-chats{display:flex;flex-direction:row;flex-shrink:0;padding:var(--spacing-xs) var(--spacing-sm);border-top:none;border-left:1px solid var(--border-default);gap:var(--spacing-xs)}.canvas-chat-item{flex-shrink:0;margin-bottom:0;animation:none;opacity:1}.canvas-chat-item.preset{margin-bottom:0;padding-bottom:var(--spacing-sm);border-radius:var(--radius-lg);padding-right:var(--spacing-md)}.canvas{padding:0 var(--spacing-sm);height:auto;flex:1;animation:none;opacity:1}.canvas-message-content{max-width:90%}.canvas-empty{padding:var(--spacing-xl);animation:none;opacity:1}}.classification-tag{padding:.15rem .5rem;border-radius:4px;font-size:.65rem;font-weight:500;background:#333;color:#aaa;transition:all .2s ease}.classification-tag:hover{transform:scale(1.05)}.classification-tag.provider{text-transform:uppercase;letter-spacing:.5px;font-weight:600}.classification-tag.provider.vllm{background:#1e293b;color:#94a3b8}.classification-tag.provider.grok{background:#1c1c1c;color:#fff}.classification-tag.provider.gemini{background:#1a237e;color:#5c6bc0}.classification-tag.provider.gemini\+grok{background:linear-gradient(90deg,#1a237e 50%,#1c1c1c 50%);color:#fff}.canvas-admin-controls{display:flex;align-items:center;justify-content:flex-end;padding:8px 16px;background:var(--bg-secondary, #1a1a1a);border-bottom:1px solid var(--border-default, #333);gap:16px}@media (prefers-reduced-motion: reduce){.canvas-layout,.canvas-sidebar,.canvas,.canvas-empty,.canvas-chat-item,.canvas-example,.canvas-message,.canvas-input-container{animation:none;opacity:1;transform:none}}.calendar-page{height:calc(100vh - 64px);display:flex;flex-direction:column;width:100%;animation:pageSlideIn .4s var(--ease-out) forwards}@keyframes pageSlideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.calendar-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0;border-bottom:1px solid var(--border-default)}.calendar-nav{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;justify-content:space-between}.calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.calendar-nav-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-subtle);transform:scale(0);border-radius:var(--radius-md);transition:transform .3s ease}.calendar-nav-btn:hover{background:var(--card-bg-hover);color:var(--accent-primary);border-color:var(--border-accent);transform:scale(1.05)}.calendar-nav-btn:hover:before{transform:scale(1)}.calendar-nav-btn:active{transform:scale(.95)}.calendar-nav-btn svg{position:relative;z-index:1}.calendar-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);text-align:center;margin:0;flex:1}.calendar-view-toggle{display:flex;gap:2px;padding:2px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;margin-top:var(--spacing-xs)}.calendar-view-btn{flex:1;padding:4px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm);position:relative;text-align:center}.calendar-view-btn:hover{color:var(--text-primary);background:var(--card-bg-hover)}.calendar-view-btn.active{background:var(--blue-600);color:var(--text-primary);box-shadow:0 1px 3px #0000004d}.calendar-new-event-btn,.calendar-new-task-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:8px 14px;margin-top:var(--spacing-xs);width:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);justify-content:center;position:relative;overflow:hidden}.calendar-new-task-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}.calendar-new-event-btn:before,.calendar-new-task-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.calendar-new-event-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #3b82f666}.calendar-new-task-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #22c55e66}.calendar-new-event-btn:hover:before,.calendar-new-task-btn:hover:before{left:100%}.calendar-new-event-btn:active,.calendar-new-task-btn:active{transform:translateY(0) scale(.98)}.calendar-content{flex:1;display:flex;gap:0;min-height:0}.day-planning-column{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-default);overflow:hidden}.day-planning-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.day-planning-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary)}.day-planning-header h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.day-planning-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.day-planning-body{flex:1;padding:var(--spacing-lg);overflow-y:auto}.day-planning-placeholder{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-xl)}.calendar-section{flex:1;display:flex;flex-direction:column;min-height:0;padding:var(--spacing-md);width:100%;overflow:hidden}.calendar-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--text-secondary)}.calendar-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--blue-500);border-radius:50%;animation:spin 1s linear infinite}.month-view{flex:1;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;min-height:0;height:100%}.month-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-tertiary);border-bottom:1px solid var(--border-default)}.month-header-cell{padding:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:flex;align-items:center;justify-content:center}.month-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr)}.month-cell{min-height:0;height:100%;padding:var(--spacing-sm);border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;cursor:pointer;position:relative}.month-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-glow);opacity:0;transition:opacity .3s ease;pointer-events:none}.month-cell:nth-child(7n){border-right:none}.month-cell:hover{background:var(--card-bg-hover);z-index:1}.month-cell:hover:after{opacity:.05}.month-cell.other-month{background:var(--bg-primary)}.month-cell.other-month .month-cell-date{color:var(--text-muted)}.month-cell.today .month-cell-date{background:var(--blue-600);color:var(--text-primary);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.month-cell-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.month-cell-events{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:0}.month-event{padding:2px var(--spacing-xs);background:var(--blue-600);color:var(--text-primary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-left:3px solid transparent;animation:eventFadeIn .3s ease forwards}@keyframes eventFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.month-event:hover{filter:brightness(1.15);transform:translate(2px);box-shadow:0 2px 8px #0003}.month-more{font-size:var(--font-size-xs);color:var(--text-muted);padding:2px var(--spacing-xs)}.month-task{display:flex;align-items:center;gap:4px;padding:2px var(--spacing-xs);background:var(--card-bg);border:1px solid var(--border-default);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all var(--transition-normal);color:var(--text-primary)}.month-task:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.month-task.completed{opacity:.6;text-decoration:line-through;color:var(--text-muted)}.month-task-checkbox{flex-shrink:0;color:var(--text-muted);cursor:pointer}.month-task-checkbox:hover{color:var(--blue-500)}.month-task.completed .month-task-checkbox{color:var(--status-success-text)}.week-view{flex:1;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow-y:auto;min-height:0;height:100%}.week-header{display:grid;grid-template-columns:60px repeat(7,1fr);background:var(--bg-tertiary, #1a1a2e);border-bottom:1px solid var(--border-default);position:sticky;top:0;z-index:10}.week-time-gutter{border-right:1px solid var(--border-default);box-sizing:border-box}.week-header-cell{padding:var(--spacing-md);text-align:center;border-left:1px solid var(--border-default);box-sizing:border-box}.week-header-cell:first-of-type{border-left:none}.week-header-cell.today{background:#3b82f61a}.week-header-day{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.week-header-date{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-top:var(--spacing-xs)}.week-header-cell.today .week-header-date{color:var(--blue-500)}.week-grid{flex:1;position:relative}.week-row{display:grid;grid-template-columns:60px repeat(7,1fr);min-height:48px;border-bottom:1px solid var(--border-default)}.week-time-cell{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-muted);text-align:right;border-right:1px solid var(--border-default);box-sizing:border-box}.week-cell{position:relative;border-left:1px solid var(--border-default);min-height:48px;box-sizing:border-box;cursor:pointer;transition:background var(--transition-fast)}.week-cell:hover{background:var(--bg-tertiary)}.week-cell:first-of-type{border-left:none}.week-event{position:absolute;left:2px;right:2px;background:var(--blue-600);border-radius:var(--radius-sm);padding:2px var(--spacing-xs);overflow:hidden;cursor:pointer;transition:all var(--transition-normal);z-index:1;display:flex;flex-direction:column;min-height:0}.week-event:hover{filter:brightness(1.1)}.week-event-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-event.duration-medium .week-event-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.week-event.duration-long .week-event-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;line-height:1.3;flex-shrink:0}.week-event-time{font-size:10px;color:#ffffffb3;line-height:1.2;flex-shrink:1;overflow:hidden}.week-current-time{position:absolute;display:flex;align-items:center;z-index:2;pointer-events:none}.week-current-time-dot{width:10px;height:10px;background:var(--blue-500);border-radius:50%;margin-left:-5px;flex-shrink:0}.week-current-time-line{flex:1;height:2px;background:var(--blue-500)}.week-tasks-row{display:grid;grid-template-columns:60px repeat(7,1fr);background:var(--bg-tertiary, #1a1a2e);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);position:sticky;top:61px;z-index:10}.week-tasks-label{padding:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-muted);text-align:right;border-right:1px solid var(--border-default);display:flex;align-items:flex-start;justify-content:flex-end;padding-top:var(--spacing-sm)}.week-tasks-cell{border-left:1px solid var(--border-default);padding:var(--spacing-xs);padding-bottom:var(--spacing-sm);display:flex;flex-direction:column;gap:4px;min-width:0;min-height:32px}.week-tasks-cell:first-of-type{border-left:none}.week-task{display:flex;align-items:flex-start;gap:var(--spacing-xs);padding:2px var(--spacing-xs);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);min-width:0;width:100%;box-sizing:border-box}.week-task:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.week-task.completed{opacity:.6}.week-task.completed .week-task-title{text-decoration:line-through;color:var(--text-muted)}.week-task-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:0;transition:color var(--transition-normal);margin-top:1px}.week-task-checkbox:hover{color:var(--blue-500)}.week-task.completed .week-task-checkbox{color:var(--status-success-text)}.week-task-content{display:flex;flex-direction:column;min-width:0}.week-task-title{font-size:var(--font-size-xs);color:var(--text-primary);line-height:1.3;word-break:break-word;min-width:0}.week-task-due{font-size:10px;color:var(--text-muted);line-height:1.2}.week-task.completed .week-task-due{color:var(--text-muted)}.task-modal .event-modal-header h3.completed{text-decoration:line-through;color:var(--text-muted)}.task-modal-checkbox{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text-muted);margin-right:var(--spacing-sm);flex-shrink:0}.task-modal-checkbox.completed{color:var(--status-success-text)}.task-modal-footer{display:flex;gap:var(--spacing-sm)}.task-modal-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-lg);color:var(--status-success-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.task-modal-toggle:hover{background:var(--green-500);border-color:var(--green-500);color:var(--text-primary)}.event-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);animation:modalOverlayFade .2s ease forwards}@keyframes modalOverlayFade{0%{opacity:0}to{opacity:1}}.event-modal{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);width:100%;max-width:400px;animation:modalContentSlide .3s var(--ease-out) forwards;box-shadow:0 20px 50px #0000004d,0 0 30px var(--accent-glow)}@keyframes modalContentSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.event-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg);border-bottom:1px solid var(--border-default);border-left:4px solid transparent}.event-modal-color-dot{width:12px;height:12px;border-radius:50%;margin-right:var(--spacing-sm);flex-shrink:0;margin-top:6px}.event-modal-header h3{flex:1;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.event-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal)}.event-modal-close:hover{background:var(--card-bg);color:var(--text-primary)}.event-modal-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.event-modal-row{display:flex;gap:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-base)}.event-modal-row svg{flex-shrink:0;margin-top:2px}.event-modal-time{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:var(--spacing-xs)}.event-modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end}.event-modal-delete{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-lg);color:var(--status-error-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.event-modal-delete:hover{background:var(--red-500);border-color:var(--red-500);color:var(--text-primary)}.event-modal-edit{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);margin-right:auto}.event-modal-edit:hover{background:var(--blue-600);border-color:var(--blue-600)}.event-edit-modal{width:400px;max-width:95vw}.event-edit-body{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:60vh;overflow-y:auto}.event-edit-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.event-edit-field label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.event-edit-field input,.event-edit-field textarea{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.event-edit-field input:focus,.event-edit-field textarea:focus{outline:none;border-color:#fff3}.event-edit-field textarea{resize:vertical;min-height:60px}.event-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.event-color-picker{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.event-color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.event-color-option:hover{transform:scale(1.1)}.event-color-option.selected{border-color:#fff;box-shadow:0 0 0 2px var(--text-primary)}.event-modal-cancel{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.event-modal-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.event-modal-save{padding:var(--spacing-sm) var(--spacing-lg);background:var(--blue-600);border:none;border-radius:var(--radius-lg);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.event-modal-save:hover:not(:disabled){background:var(--blue-500)}.event-modal-save:disabled{opacity:.5;cursor:not-allowed}.event-modal-footer{gap:var(--spacing-sm)}.month-event.llm-generated,.week-event.llm-generated{border-style:dashed;border-width:1px;border-color:#8b5cf6;background:#8b5cf626;position:relative}.month-event.llm-generated{border-left-width:3px;color:#a78bfa}.week-event.llm-generated{border-left-width:3px;border-left-style:dashed}.ai-badge{display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:var(--font-weight-bold);background:#8b5cf64d;color:#c4b5fd;padding:1px 4px;border-radius:var(--radius-sm);margin-right:4px;letter-spacing:.5px;flex-shrink:0}.week-event .ai-badge{position:absolute;top:2px;right:2px;margin-right:0}.ai-badge-modal{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:#8b5cf633;color:#a78bfa;padding:2px 8px;border-radius:var(--radius-sm);margin-right:var(--spacing-sm);flex-shrink:0}.event-modal.llm-generated{border-color:#8b5cf6}.event-modal.llm-generated .event-modal-header{border-left-color:#8b5cf6;border-left-style:dashed;border-left-width:4px;background:#8b5cf60d}.day-planning-events,.day-planning-tasks{margin-bottom:var(--spacing-lg)}.day-planning-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.day-planning-event{padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-left:3px solid var(--blue-600);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);cursor:pointer;transition:all var(--transition-fast)}.day-planning-event:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.day-planning-event-time{font-size:var(--font-size-xs);color:var(--text-muted);margin-bottom:2px}.day-planning-event-title{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.day-planning-task{display:flex;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);cursor:pointer;transition:all var(--transition-fast)}.day-planning-task:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.day-planning-task.completed{opacity:.6}.day-planning-task.completed .day-planning-task-title{text-decoration:line-through;color:var(--text-muted)}.day-planning-task-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:0;transition:color var(--transition-normal);margin-top:1px}.day-planning-task-checkbox:hover{color:var(--blue-500)}.day-planning-task.completed .day-planning-task-checkbox{color:var(--status-success-text)}.day-planning-task-content{flex:1;min-width:0}.day-planning-task-title{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4;word-break:break-word}.day-planning-task-due{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.day-planning-empty{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic;padding:var(--spacing-md) 0}.day-planning-overdue{margin-top:var(--spacing-sm)}.day-planning-overdue-title{color:#ef4444!important}.day-planning-task.overdue .day-planning-task-title{color:#ef4444}.day-planning-task.overdue .day-planning-task-checkbox svg{color:#ef4444}.overdue-date{color:#ef4444!important;font-weight:500}.day-planning-upcoming{margin-top:var(--spacing-sm)}.day-planning-upcoming-title,.upcoming-date{color:var(--text-secondary)!important}.day-planning-reminders{margin-bottom:var(--spacing-lg)}.day-planning-clear-btn{margin-left:auto;background:none;border:none;font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;padding:0;text-decoration:underline;transition:color var(--transition-fast)}.day-planning-clear-btn:hover{color:var(--text-secondary)}.day-planning-task-delete{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);flex-shrink:0;margin-left:auto}.day-planning-task:hover .day-planning-task-delete{opacity:1}.day-planning-task-delete:hover{color:var(--red-400)}.day-planning-add-form{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.day-planning-add-form input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.day-planning-add-form input:focus{outline:none;border-color:#fff3}.day-planning-add-form input::placeholder{color:var(--text-muted)}.day-planning-add-form button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.day-planning-add-form button:hover:not(:disabled){background:var(--card-bg-hover);color:var(--text-primary)}.day-planning-add-form button:disabled{opacity:.5;cursor:not-allowed}.day-planning-add-form button[type=submit]{color:var(--status-success-text)}.day-planning-add-form button[type=submit]:hover:not(:disabled){background:var(--status-success-bg)}.day-planning-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-xs)}.day-planning-add-btn:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-secondary)}.day-planning-add-btn.compact{width:auto;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.calendar-chat-bubble{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500));border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0000004d,0 0 20px var(--accent-glow);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;animation:bubbleAppear .5s var(--ease-bounce) forwards}@keyframes bubbleAppear{0%{opacity:0;transform:scale(.5) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.calendar-chat-bubble:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 20px #0006,0 0 30px var(--accent-glow)}.calendar-chat-bubble:active{transform:scale(.95)}.calendar-chat-bubble.open{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);box-shadow:0 4px 15px #0000004d}.calendar-chat-overlay{position:fixed;bottom:92px;right:24px;width:320px;max-height:500px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;z-index:999;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calendar-chat-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.calendar-chat-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.calendar-chat-title svg{color:var(--blue-400)}.calendar-chat-context{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;margin-right:var(--spacing-sm)}.calendar-chat-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.calendar-chat-close:hover{background:var(--card-bg-hover);color:var(--text-primary)}.calendar-chat-messages{flex:1;min-height:200px;max-height:320px;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.calendar-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.calendar-chat-empty-icon{margin-bottom:var(--spacing-md);opacity:.5}.calendar-chat-empty p{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.calendar-chat-empty span{font-size:var(--font-size-xs);color:var(--text-muted)}.calendar-chat-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5;max-width:85%;word-wrap:break-word}.calendar-chat-message.user{background:linear-gradient(135deg,#dc143c1f,#dc143c0f);border:1px solid rgba(220,20,60,.25);color:var(--text-primary);margin-left:auto;border-bottom-right-radius:var(--radius-sm)}.calendar-chat-message.assistant{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default);border-bottom-left-radius:var(--radius-sm)}.calendar-chat-message.error{background:var(--status-error-bg);color:var(--status-error-text);border-color:var(--status-error-border)}.calendar-chat-message.loading{padding:var(--spacing-md)}.calendar-chat-typing{display:flex;gap:4px}.calendar-chat-typing span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.calendar-chat-typing span:nth-child(1){animation-delay:0s}.calendar-chat-typing span:nth-child(2){animation-delay:.2s}.calendar-chat-typing span:nth-child(3){animation-delay:.4s}.calendar-chat-input-form{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--border-default);background:var(--bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.calendar-chat-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.calendar-chat-input:focus{outline:none;border-color:#fff3}.calendar-chat-input::placeholder{color:var(--text-muted)}.calendar-chat-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--blue-500);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.calendar-chat-send-btn:hover:not(:disabled){background:var(--blue-hover)}.calendar-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1200px){.day-planning-column{width:280px}}@media (max-width: 768px){.calendar-content{flex-direction:column}.day-planning-column{width:100%;border-right:none;border-bottom:1px solid var(--border-default);max-height:300px}.calendar-section{padding:var(--spacing-sm)}.month-cell{min-height:0}.week-header,.week-row,.week-tasks-row{grid-template-columns:50px repeat(7,1fr)}.calendar-chat-overlay{width:calc(100% - 48px);right:24px;left:24px;bottom:92px;max-height:60vh}.calendar-chat-bubble{width:48px;height:48px;bottom:16px;right:16px}}.classification-debug-panel{background:#1a1a2e;border-top:1px solid #333;padding:.75rem;font-size:.75rem;max-height:200px;overflow-y:auto}.classification-debug-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;color:#888;font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.05em}.classification-debug-close{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;padding:0;line-height:1}.classification-debug-close:hover{color:#fff}.classification-section{background:#222;border-radius:6px;padding:.5rem;margin-bottom:.5rem}.classification-section:last-child{margin-bottom:0}.classification-section.semantic{border-left:3px solid #4a9eff}.classification-section.llm{border-left:3px solid #22c55e}.classification-title{color:#888;font-size:.65rem;text-transform:uppercase;margin-bottom:.25rem}.classification-route{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.route-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.route-badge.event{background:#1e3a5f;color:#4a9eff}.route-badge.task{background:#1f3a2f;color:#22c55e}.route-badge.reminder{background:#3a2a1f;color:#f97316}.route-badge.project{background:#1f3a3a;color:#14b8a6}.route-badge.color_rule{background:#3a1f5f;color:#a855f7}.route-badge.memory{background:#3a1f3a;color:#ec4899}.route-badge.general{background:#333;color:#aaa}.route-badge.api{background:#164e63;color:#06b6d4}.route-badge.advisory{background:#451a03;color:#f59e0b}.intent-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;background:#1f3a2f;color:#22c55e}.confidence{color:#aaa;font-size:.7rem}.classification-meta{display:flex;gap:.75rem;color:#666;font-size:.65rem}.category-label{text-transform:capitalize}.context-domains{color:#555}.top-scores{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.35rem}.score-item{display:flex;align-items:center;gap:.25rem;background:#2a2a2a;padding:.1rem .35rem;border-radius:3px}.score-route{color:#888;font-size:.6rem}.score-value{color:#666;font-size:.6rem}.sub-type{color:#666;font-size:.65rem}.inline-classification-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.1)}.classification-tag{padding:.15rem .5rem;border-radius:4px;font-size:.65rem;font-weight:500;background:#333;color:#aaa}.classification-tag.event{background:#1e3a5f;color:#4a9eff}.classification-tag.task{background:#1f3a2f;color:#22c55e}.classification-tag.reminder{background:#3a2a1f;color:#f97316}.classification-tag.project{background:#1f3a3a;color:#14b8a6}.classification-tag.color_rule{background:#3a1f5f;color:#a855f7}.classification-tag.memory{background:#3a1f3a;color:#ec4899}.classification-tag.general{background:#333;color:#888}.classification-tag.api{background:#164e63;color:#06b6d4}.classification-tag.advisory{background:#451a03;color:#f59e0b}.classification-tag.confidence{background:#ffffff1a;color:#888}.classification-tag.intent{background:#1f3a2f;color:#22c55e}.month-event.status-completed,.week-event.status-completed{opacity:.6;text-decoration:line-through}.month-event.status-completed:before,.week-event.status-completed:before{content:"✓ ";font-size:.75em}.month-event.status-skipped,.week-event.status-skipped{opacity:.4;text-decoration:line-through}.month-event.status-skipped:before,.week-event.status-skipped:before{content:"✗ ";font-size:.75em}.month-event.status-in_progress,.week-event.status-in_progress{box-shadow:0 0 0 1px var(--accent-primary)}.month-event.status-partial,.week-event.status-partial{opacity:.7}.month-event.status-partial:before,.week-event.status-partial:before{content:"◐ ";font-size:.75em}.event-status-row{flex-wrap:wrap}.event-status-toggle{display:flex;gap:4px;flex-wrap:wrap}.status-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--border-default);background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all .15s ease;font-family:var(--font-family)}.status-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.status-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#60a5fa1a}.status-btn.active.status-completed{border-color:#22c55e;color:#22c55e;background:#22c55e1a}.status-btn.active.status-skipped{border-color:#ef4444;color:#ef4444;background:#ef44441a}.status-btn.active.status-partial{border-color:#f59e0b;color:#f59e0b;background:#f59e0b1a}.status-btn.active.status-in_progress{border-color:#3b82f6;color:#3b82f6;background:#3b82f61a}.event-completion-notes{color:var(--text-secondary);font-style:italic;font-size:.9em}.journal-page{height:calc(100vh - 64px);display:flex;flex-direction:column;width:100%;animation:journalSlideIn .4s var(--ease-out) forwards}@keyframes journalSlideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.journal-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0;border-bottom:1px solid var(--border-default)}.journal-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.journal-nav-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-subtle);transform:scale(0);border-radius:var(--radius-md);transition:transform .3s ease}.journal-nav-btn:hover{background:var(--card-bg-hover);color:var(--accent-primary);border-color:var(--border-accent);transform:scale(1.05)}.journal-nav-btn:hover:before{transform:scale(1)}.journal-nav-btn:active{transform:scale(.95)}.journal-nav-btn svg{position:relative;z-index:1}.journal-date-title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);text-align:center;margin:0;flex:1}.journal-today-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;letter-spacing:var(--letter-spacing-normal)}.journal-today-btn:hover{background:var(--card-bg-hover);color:var(--accent-primary);border-color:var(--border-accent)}.journal-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.journal-sections{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.journal-section{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:border-color var(--transition-fast)}.journal-section:hover{border-color:var(--border-hover)}.journal-section-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-default)}.journal-section-icon{font-size:var(--font-size-sm);width:20px;text-align:center;color:var(--text-muted)}.journal-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0}.journal-section-meta{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium)}.journal-section-body{padding:var(--spacing-sm) var(--spacing-md)}.journal-block-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast)}.journal-block-row:hover{background:var(--card-bg-hover)}.journal-block-status{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);flex-shrink:0;border-radius:var(--radius-sm);transition:transform .2s ease}.journal-block-row:hover .journal-block-status{transform:scale(1.15)}.journal-block-status.completed{color:var(--green-400)}.journal-block-status.in_progress{color:var(--blue-500)}.journal-block-status.scheduled{color:var(--text-muted)}.journal-block-status.partial{color:var(--amber-400)}.journal-block-status.skipped{color:var(--red-400)}.journal-block-name{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-normal)}.journal-block-name.completed,.journal-block-name.skipped{text-decoration:line-through;color:var(--text-muted)}.journal-block-time{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.journal-block-status-label{font-size:var(--font-size-xs);color:var(--text-muted);min-width:70px;text-align:right}.journal-block-status-label.completed{color:var(--green-400)}.journal-block-status-label.in_progress{color:var(--blue-500)}.journal-block-status-label.partial{color:var(--amber-400)}.journal-block-status-label.skipped{color:var(--red-400)}.journal-completion-bar{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-default);display:flex;align-items:center;gap:var(--spacing-sm)}.journal-completion-track{flex:1;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.journal-completion-fill{height:100%;border-radius:var(--radius-full);transition:width .5s var(--ease-out);background:var(--green-400)}.journal-completion-fill.low{background:var(--red-400)}.journal-completion-fill.medium{background:var(--amber-400)}.journal-completion-fill.high{background:var(--green-400)}.journal-completion-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium);min-width:32px;text-align:right}.journal-task-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.journal-task-check{width:16px;height:16px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:default;transition:border-color var(--transition-fast),background var(--transition-fast)}.journal-task-check.completed{background:var(--green-400);border-color:var(--green-400);color:var(--bg-primary)}.journal-task-check svg{width:10px;height:10px}.journal-task-name{font-size:var(--font-size-sm);color:var(--text-primary)}.journal-task-name.completed{text-decoration:line-through;color:var(--text-muted)}.journal-body-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-xs) var(--spacing-md);align-items:baseline}.journal-body-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.journal-body-value{font-size:var(--font-size-sm);color:var(--text-primary);font-variant-numeric:tabular-nums}.journal-body-delta{font-size:var(--font-size-xs);margin-left:var(--spacing-xs)}.journal-body-delta.positive{color:var(--green-400)}.journal-body-delta.negative{color:var(--red-400)}.journal-body-delta.neutral{color:var(--text-muted)}.journal-nutrition-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.journal-nutrition-item{font-size:var(--font-size-sm);color:var(--text-secondary)}.journal-nutrition-item span{color:var(--text-primary);font-weight:var(--font-weight-medium)}.journal-mood-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.journal-mood-label{font-size:var(--font-size-sm);color:var(--text-secondary);min-width:50px;font-weight:var(--font-weight-medium)}.journal-dots{display:flex;gap:4px}.journal-dot{width:14px;height:14px;border-radius:var(--radius-full);border:1.5px solid var(--border-strong);background:transparent;cursor:pointer;transition:all .2s ease;padding:0}.journal-dot:hover{transform:scale(1.2);border-color:var(--accent-primary)}.journal-dot.filled{background:var(--accent-primary);border-color:var(--accent-primary)}.journal-dot.filled.mood{background:var(--purple-500);border-color:var(--purple-500)}.journal-dot.filled.energy{background:var(--amber-400);border-color:var(--amber-400)}.journal-mood-value{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:var(--spacing-xs);font-variant-numeric:tabular-nums;min-width:28px}.journal-notes-textarea{width:100%;min-height:100px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);line-height:var(--line-height-relaxed);padding:var(--spacing-sm);resize:vertical;transition:border-color var(--transition-fast);box-sizing:border-box}.journal-notes-textarea:focus{outline:none;border-color:var(--border-accent)}.journal-notes-textarea::placeholder{color:var(--text-muted)}.journal-notes-saved{font-size:var(--font-size-xs);color:var(--green-400);margin-top:var(--spacing-xs);opacity:0;transition:opacity .3s ease}.journal-notes-saved.visible{opacity:1}.journal-empty{text-align:center;padding:var(--spacing-md);color:var(--text-muted);font-size:var(--font-size-sm)}.journal-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:var(--font-size-sm)}.journal-error{display:flex;align-items:center;justify-content:center;height:200px;color:var(--red-400);font-size:var(--font-size-sm)}@media (max-width: 768px){.journal-header{padding:var(--spacing-xs) var(--spacing-sm)}.journal-content{padding:var(--spacing-sm)}.journal-sections{gap:var(--spacing-sm)}.journal-block-time{display:none}.journal-nutrition-row{flex-direction:column;gap:var(--spacing-xs)}.journal-body-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}}.inline-editable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s;min-height:24px;display:flex;align-items:center}.inline-editable:hover{background-color:var(--bg-hover, rgba(255, 255, 255, .05))}.inline-editable-value{color:var(--text-secondary);font-size:14px;font-style:italic}.inline-editable-placeholder{color:var(--text-muted, #666);font-size:14px;font-style:italic}.inline-editable-input{font-size:14px;font-style:italic;color:var(--text-primary);background:transparent;border:1px solid var(--border-color, #444);border-radius:4px;padding:4px 8px;width:100%;max-width:400px;outline:none}.inline-editable-input:focus{border-color:var(--accent-color, #646cff)}.module-card{position:relative;background:var(--card-bg);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;animation:moduleSlideIn .4s var(--ease-out) forwards;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes moduleSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.module-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.03),transparent);z-index:1;pointer-events:none;transition:left .5s ease}.module-card:hover:before{left:100%}.module-card.permanent{border:1px solid var(--border-default)}.module-card.configurable{border:1px dashed var(--border-default)}.module-card:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.module-card.permanent:hover{border-color:var(--border-accent);box-shadow:0 8px 30px #00000026,0 0 20px var(--accent-glow)}.module-card.dragging{box-shadow:var(--shadow-card),0 0 30px var(--accent-glow);z-index:100;transform:scale(1.02) rotate(1deg);border-color:var(--accent-primary)}.module-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-default);transition:background .3s ease}.module-card:hover .module-header{background:var(--bg-tertiary)}.module-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.module-header-right{display:flex;align-items:center;gap:var(--spacing-xs)}.module-drag-handle{cursor:grab;color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .3s ease}.module-drag-handle:hover{color:var(--accent-primary);background:var(--accent-subtle);transform:scale(1.1)}.module-drag-handle:active{cursor:grabbing;transform:scale(.95)}.module-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;transition:all .3s ease}.module-card:hover .module-title{color:var(--accent-primary)}.module-title.editable{cursor:pointer;padding:var(--spacing-xs);margin:calc(-1 * var(--spacing-xs));border-radius:var(--radius-sm);transition:all .3s ease}.module-title.editable:hover{background:var(--accent-subtle)}.module-title-input{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);background:var(--bg-tertiary);border:2px solid var(--accent-primary);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);margin:calc(-1 * var(--spacing-xs)) 0;outline:none;font-family:var(--font-family);animation:inputFocusGlow .5s ease forwards;box-shadow:0 0 0 3px var(--accent-subtle)}.module-lock{color:var(--text-muted);display:flex;align-items:center;transition:all .3s ease}.module-card:hover .module-lock{color:var(--accent-primary);animation:lockPulse 1.5s ease-in-out infinite}@keyframes lockPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.module-width-toggle,.module-view-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;position:relative;overflow:hidden}.module-width-toggle:before,.module-view-toggle:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-subtle);transform:scale(0);border-radius:var(--radius-sm);transition:transform .3s ease}.module-width-toggle:hover,.module-view-toggle:hover{color:var(--accent-primary)}.module-width-toggle:hover:before,.module-view-toggle:hover:before{transform:scale(1)}.module-width-toggle svg,.module-view-toggle svg{position:relative;z-index:1;transition:transform .3s ease}.module-width-toggle:hover svg,.module-view-toggle:hover svg{transform:scale(1.1)}.module-width-toggle:active svg,.module-view-toggle:active svg{transform:scale(.9)}.module-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.module-remove:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--status-error-bg);transform:scale(0);border-radius:var(--radius-sm);transition:transform .3s ease}.module-remove:hover{color:var(--red-400)}.module-remove:hover:before{transform:scale(1)}.module-remove svg{position:relative;z-index:1;transition:transform .3s ease}.module-remove:hover svg{transform:rotate(90deg) scale(1.1)}.module-remove:active svg{transform:rotate(90deg) scale(.9)}.module-content{flex:1;padding:var(--spacing-md);overflow:auto;animation:contentFadeIn .3s ease .1s forwards;opacity:0}@keyframes contentFadeIn{to{opacity:1}}.module-resize-handle{height:12px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-top:1px solid var(--border-default);transition:all .3s ease;-webkit-user-select:none;user-select:none}.module-resize-handle:hover{background:var(--accent-subtle)}.module-resize-handle.resizing{background:var(--accent-primary)}.resize-indicator{width:40px;height:3px;background:var(--text-muted);border-radius:2px;transition:all .3s ease}.module-resize-handle:hover .resize-indicator{background:var(--accent-primary);width:60px;box-shadow:0 0 10px var(--accent-glow)}.module-resize-handle.resizing .resize-indicator{background:#fff;width:80px;box-shadow:0 0 20px #ffffff80}.module-card:nth-child(1){animation-delay:0s}.module-card:nth-child(2){animation-delay:.05s}.module-card:nth-child(3){animation-delay:.1s}.module-card:nth-child(4){animation-delay:.15s}.module-card:nth-child(5){animation-delay:.2s}.module-card:nth-child(6){animation-delay:.25s}.module-card:nth-child(7){animation-delay:.3s}.module-card:nth-child(8){animation-delay:.35s}@media (max-width: 768px){.module-card:hover{transform:none}}.simple-chart{position:relative;width:100%;height:100%;overflow:hidden}.simple-chart.empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm)}.simple-chart svg{width:100%;height:100%}.grid-line{stroke:var(--border-default);stroke-width:.5;stroke-dasharray:2 2}.chart-area{opacity:.3}.chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-point{transition:r var(--transition-fast);cursor:pointer}.chart-point.hovered{filter:drop-shadow(0 0 4px currentColor)}.axis-label{fill:var(--text-muted);font-size:3px;font-family:var(--font-family)}.chart-tooltip{position:absolute;transform:translate(-50%,-100%);background:var(--dropdown-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);pointer-events:none;z-index:10;white-space:nowrap}.tooltip-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.tooltip-date{font-size:var(--font-size-xs);color:var(--text-muted)}.tooltip-note{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.data-entry-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:400px;box-shadow:var(--shadow-modal)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.data-entry-modal form{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.form-group input:focus{outline:none;border-color:#fff3}.form-group input::placeholder{color:var(--text-muted)}.form-group input[type=date]{color-scheme:dark}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--blue-hover)}.net-worth-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.net-worth-stats{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-lg)}.net-worth-current .label{display:block;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-xs)}.net-worth-current .value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.net-worth-change{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.net-worth-change.positive{background:var(--status-success-bg);color:var(--status-success-text)}.net-worth-change.negative{background:var(--status-error-bg);color:var(--status-error-text)}.net-worth-change .change-icon{display:flex;align-items:center}.net-worth-change .change-value{font-weight:var(--font-weight-semibold)}.net-worth-change .change-percent{color:inherit;opacity:.8}.net-worth-assets .label,.net-worth-total .label{display:block;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-xs)}.net-worth-assets .value,.net-worth-total .value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.net-worth-total .value.total{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--blue-400)}.net-worth-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.asset-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.asset-summary{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.summary-item.muted .value{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.asset-chart{margin:var(--spacing-sm) 0}.components-table{background:var(--bg-tertiary);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.table-header{display:grid;width:100%;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);position:sticky;top:0;z-index:1}.table-row{display:grid;width:100%;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm);color:var(--text-primary);align-items:center}.components-table.view-extended .table-header,.components-table.view-extended .table-row{grid-template-columns:45px 35px minmax(60px,1fr) minmax(55px,1fr) minmax(60px,1fr) minmax(55px,1fr) minmax(60px,1fr) minmax(75px,1.2fr) 45px}.components-table.view-standard .table-header,.components-table.view-standard .table-row{grid-template-columns:42px 35px minmax(55px,1fr) minmax(60px,1fr) minmax(60px,1fr) minmax(70px,1.2fr) 45px}.components-table.view-compact .table-header,.components-table.view-compact .table-row{grid-template-columns:40px 32px minmax(55px,1fr) minmax(55px,1fr) 42px}.components-table.view-minimal .table-header,.components-table.view-minimal .table-row{grid-template-columns:38px minmax(50px,1fr) minmax(50px,1fr) 40px}.col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-qty{text-align:center;font-variant-numeric:tabular-nums}.col-category{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-purchase-price,.col-purchase-value,.col-current-price,.col-current-value,.col-gain-loss{font-variant-numeric:tabular-nums;text-align:right}.col-gain-loss{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.col-gain-loss.positive{color:var(--status-success-text)}.col-gain-loss.negative{color:var(--status-error-text)}.gain-loss-percent{font-size:var(--font-size-xs);opacity:.8}.asset-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.add-component-btn,.snapshot-btn,.refresh-prices-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-component-btn:hover,.snapshot-btn:hover,.refresh-prices-btn:hover:not(:disabled){background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.refresh-prices-btn:disabled{opacity:.5;cursor:not-allowed}.component-modal form{padding:var(--spacing-lg)}.component-modal .form-group{margin-bottom:0}.component-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.component-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.component-modal .form-group input:focus{outline:none;border-color:#fff3}.component-modal .form-group input::placeholder{color:var(--text-muted)}.component-modal .form-group input[type=date]{color-scheme:dark}.component-modal .form-group input[type=number]::-webkit-inner-spin-button,.component-modal .form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.component-modal .form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.ticker-badge{display:inline-block;padding:2px 6px;background:var(--blue-500);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);font-family:monospace}@media (max-width: 500px){.form-row{grid-template-columns:1fr}.asset-actions{flex-direction:column}}.crypto-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.crypto-summary{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.summary-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.summary-item .value.secondary{color:var(--text-secondary)}.summary-item.positive .value{color:var(--status-success-text)}.summary-item.negative .value{color:var(--status-error-text)}.portfolio-graph{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-md);height:400px;width:100%;position:relative;display:flex;flex-direction:column}.portfolio-graph svg{width:100%;flex:1}.portfolio-graph-empty{background:var(--bg-tertiary);border-radius:var(--radius-lg);height:400px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);padding:var(--spacing-xl)}.graph-tooltip{position:absolute;transform:translate(-50%,-100%);background:var(--dropdown-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;z-index:10;white-space:nowrap;box-shadow:var(--shadow-modal)}.graph-tooltip .tooltip-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:2px}.graph-tooltip .tooltip-date{font-size:var(--font-size-xs);color:var(--text-muted)}.holdings-table{background:var(--bg-tertiary);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.crypto-tracker-module .table-header{display:grid;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;position:sticky;top:0;z-index:1;white-space:nowrap}.crypto-tracker-module .table-row{display:grid;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm);color:var(--text-primary);align-items:center}.crypto-tracker-module .table-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-mode-extended .table-header,.column-mode-extended .table-row{grid-template-columns:minmax(80px,1.2fr) minmax(70px,.8fr) minmax(100px,1.2fr) minmax(70px,1fr) minmax(90px,1.1fr) minmax(70px,.9fr) 60px}.column-mode-standard .table-header,.column-mode-standard .table-row{grid-template-columns:minmax(80px,1.3fr) minmax(70px,1fr) minmax(80px,1fr) minmax(70px,1fr) minmax(90px,1.2fr) 60px}.column-mode-compact .table-header,.column-mode-compact .table-row{grid-template-columns:minmax(70px,1.4fr) minmax(60px,1fr) minmax(60px,1fr) minmax(80px,1.2fr) 55px}.column-mode-minimal .table-header,.column-mode-minimal .table-row{grid-template-columns:minmax(60px,1.5fr) minmax(55px,1fr) minmax(75px,1.3fr) 50px}.crypto-tracker-module .table-row:last-child{border-bottom:none}.coin-info{display:flex;flex-direction:column;gap:2px}.coin-symbol{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.coin-name{font-size:var(--font-size-xs);color:var(--text-muted)}.col-amount{font-variant-numeric:tabular-nums;font-family:monospace;font-size:var(--font-size-xs)}.col-purchase-value{font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:2px}.purchase-price-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.col-price{font-variant-numeric:tabular-nums}.col-value{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}.col-gain{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium)}.col-gain.positive{color:var(--status-success-text)}.col-gain.negative{color:var(--status-error-text)}.gain-percent{font-size:var(--font-size-xs);opacity:.8}.col-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.edit-row,.add-row{display:contents}.edit-row input,.add-row input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.edit-row input:focus,.add-row input:focus{outline:none;border-color:#fff3}.add-row input[type=date]{color-scheme:dark}.edit-row input[type=number]::-webkit-inner-spin-button,.edit-row input[type=number]::-webkit-outer-spin-button,.add-row input[type=number]::-webkit-inner-spin-button,.add-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.edit-row input[type=number],.add-row input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.crypto-actions{display:flex;gap:var(--spacing-sm)}.add-holding-btn,.import-csv-btn,.snapshot-btn,.refresh-prices-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-holding-btn:hover,.import-csv-btn:hover:not(:disabled),.snapshot-btn:hover,.refresh-prices-btn:hover:not(:disabled){background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.refresh-prices-btn:disabled,.import-csv-btn:disabled{opacity:.5;cursor:not-allowed}.crypto-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:600px;box-shadow:var(--shadow-modal)}.crypto-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.crypto-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.crypto-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.crypto-modal .modal-close:hover{color:var(--text-primary)}.crypto-modal form{padding:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.crypto-modal .form-group{margin-bottom:0}.crypto-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.crypto-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.crypto-modal .form-group input:focus{outline:none;border-color:#fff3}.crypto-modal .form-group input::placeholder{color:var(--text-muted)}.crypto-modal .form-group input[type=date]{color-scheme:dark}.field-hint{display:block;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.crypto-modal .form-group input[type=number]::-webkit-inner-spin-button,.crypto-modal .form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.crypto-modal .form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.crypto-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.crypto-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.crypto-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.crypto-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.crypto-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.crypto-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.asset-type-selector{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.radio-option{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-fast)}.radio-option:hover{background:var(--card-bg-hover);border-color:#fff3}.radio-option input[type=radio]{cursor:pointer}.radio-option input[type=radio]:checked+span{color:var(--blue-500);font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.crypto-tracker-module .form-row{grid-template-columns:1fr}}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.pagination-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.pagination-info{font-size:var(--font-size-sm);color:var(--text-muted)}.holdings-summary{display:flex;flex-direction:column;height:100%;overflow-y:auto}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md);padding:var(--spacing-xs)}.summary-card{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.summary-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.summary-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-default)}.summary-asset-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary-symbol{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);font-family:monospace}.summary-name{font-size:var(--font-size-xs);color:var(--text-muted)}.asset-type-badge{display:inline-block;padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);text-transform:uppercase}.asset-type-badge.crypto{background:var(--blue-500);color:#fff}.asset-type-badge.stock{background:var(--green-500);color:#fff}.price-change{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.price-change.positive{color:var(--green-400);background:var(--status-success-bg)}.price-change.negative{color:var(--red-400);background:var(--status-error-bg)}.summary-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.summary-stat.highlight{padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md);margin:var(--spacing-xs) 0}.summary-stat.positive .stat-value{color:var(--green-400)}.summary-stat.negative .stat-value{color:var(--red-400)}.stat-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.stat-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-value.large{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.summary-card-footer{padding-top:var(--spacing-sm);border-top:1px solid var(--border-default)}.last-update{font-size:var(--font-size-xs);color:var(--text-muted)}.summary-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}@media (max-width: 600px){.summary-grid{grid-template-columns:1fr}}.graph-view-container{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.graph-controls{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-md)}.graph-mode-toggle{display:flex;gap:var(--spacing-xs);background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs)}.graph-mode-toggle .toggle-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.graph-mode-toggle .toggle-btn:hover{color:var(--text-primary);background:var(--card-bg-hover)}.graph-mode-toggle .toggle-btn.active{background:var(--blue-500);color:#fff}.historical-fetch-progress{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md)}.progress-info{display:flex;justify-content:space-between;align-items:center}.progress-text{font-size:var(--font-size-sm);color:var(--text-secondary)}.last-fetch-date{font-size:var(--font-size-xs);color:var(--text-muted)}.progress-bar-container{height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--blue-500),var(--blue-400));border-radius:var(--radius-full);transition:width var(--transition-base)}.fetch-historical-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.fetch-historical-btn:hover:not(:disabled){background:var(--blue-hover)}.fetch-historical-btn:disabled{opacity:.5;cursor:not-allowed}.fetch-complete{font-size:var(--font-size-sm);color:var(--green-400);font-weight:var(--font-weight-medium);text-align:center;padding:var(--spacing-xs)}.sleep-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.sleep-stats{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-lg)}.sleep-stat-item{display:flex;flex-direction:column;gap:2px}.sleep-stat-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.sleep-stat-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.sleep-stat-item.main .value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.sleep-stat-item .value.streak{color:var(--blue-400)}.quality-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.sleep-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.sleep-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:450px;box-shadow:var(--shadow-modal)}.sleep-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.sleep-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.sleep-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.sleep-modal .modal-close:hover{color:var(--text-primary)}.sleep-modal form{padding:var(--spacing-lg)}.sleep-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.sleep-modal .form-group{margin-bottom:var(--spacing-md)}.sleep-modal .form-group:last-of-type{margin-bottom:0}.sleep-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.sleep-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.sleep-modal .form-group input:focus{outline:none;border-color:#fff3}.sleep-modal .form-group input::placeholder{color:var(--text-muted)}.sleep-modal .form-group input[type=date]{color-scheme:dark}.quality-options{display:flex;gap:var(--spacing-xs)}.quality-option{flex:1;padding:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.quality-option:hover{background:var(--card-bg-hover);color:var(--text-primary)}.quality-option.selected{background:var(--blue-500);border-color:#fff3;color:#fff}.sleep-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.sleep-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sleep-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.sleep-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.sleep-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.sleep-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 500px){.sleep-modal .form-row{grid-template-columns:1fr}.quality-options{flex-wrap:wrap}.quality-option{flex:1 1 45%}}.diet-tracker-module,.diet-stats{display:flex;flex-direction:column;gap:var(--spacing-md)}.today-macros{display:flex;flex-direction:column;gap:var(--spacing-sm)}.macro-breakdown{display:flex;gap:var(--spacing-lg)}.averages{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--border-default)}.macro-item{display:flex;flex-direction:column;gap:2px}.macro-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.macro-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.macro-item .value.muted{color:var(--text-muted);font-size:var(--font-size-base)}.macro-item.main .value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.macro-item.protein .value{color:var(--blue-400)}.macro-item.carbs .value{color:var(--yellow-400)}.macro-item.fat .value{color:var(--red-400)}.diet-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.add-entry-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-entry-btn:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.diet-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-modal)}.diet-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.diet-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.diet-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.diet-modal .modal-close:hover{color:var(--text-primary)}.diet-modal form{padding:var(--spacing-lg)}.diet-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.diet-modal .macros-row{grid-template-columns:1fr 1fr 1fr}.diet-modal .form-group{margin-bottom:var(--spacing-md)}.diet-modal .form-group:last-of-type{margin-bottom:0}.diet-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.diet-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.diet-modal .form-group input:focus{outline:none;border-color:#fff3}.diet-modal .form-group input::placeholder{color:var(--text-muted)}.diet-modal .form-group input[type=date]{color-scheme:dark}.diet-modal .form-group input[type=number]::-webkit-inner-spin-button,.diet-modal .form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.diet-modal .form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.diet-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.diet-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.diet-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.diet-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.diet-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.diet-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 500px){.diet-modal .form-row{grid-template-columns:1fr}.diet-modal .macros-row{grid-template-columns:1fr 1fr}.macro-breakdown,.averages{flex-wrap:wrap}}.strength-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.strength-stats{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.stat-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.stat-item.highlight .value{color:var(--status-success-text)}.strength-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.exercises-table{background:var(--bg-tertiary);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.table-header{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr 100px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);position:sticky;top:0;z-index:1}.table-row{display:grid;grid-template-columns:2fr 1fr 1.5fr 1fr 100px;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm);color:var(--text-primary);align-items:center}.table-row:last-child{border-bottom:none}.table-row .muted{color:var(--text-muted)}.table-empty{padding:var(--spacing-lg);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.col-name{display:flex;align-items:center;gap:var(--spacing-xs)}.pr-badge{display:inline-block;padding:2px 6px;background:var(--status-success-bg);color:var(--status-success-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);text-transform:uppercase}.category-tag{display:inline-block;padding:2px 8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);text-transform:capitalize}.category-tag.chest{background:var(--red-500);background:#ef444433;color:var(--red-400)}.category-tag.back{background:#3b82f633;color:var(--blue-400)}.category-tag.shoulders{background:#a855f733;color:#a855f7}.category-tag.arms{background:#22c55e33;color:#22c55e}.category-tag.legs{background:#f9731633;color:#f97316}.category-tag.core{background:#ec489933;color:#ec4899}.category-tag.cardio{background:#0ea5e933;color:#0ea5e9}.pr-value{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.pr-reps{font-weight:var(--font-weight-normal);color:var(--text-muted);font-size:var(--font-size-xs)}.col-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.action-btn:hover{color:var(--text-primary);background:var(--card-bg-hover)}.action-btn.log{color:var(--blue-400)}.action-btn.log:hover{background:#3b82f633}.action-btn.delete:hover{color:var(--red-400);background:var(--status-error-bg)}.action-btn.save{color:var(--green-400)}.edit-row{display:contents}.edit-row input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.edit-row input:focus{outline:none;border-color:#fff3}.edit-inputs{display:flex;align-items:center;gap:var(--spacing-xs)}.edit-inputs input{width:70px}.input-separator{color:var(--text-muted);font-size:var(--font-size-sm)}.strength-actions{display:flex;gap:var(--spacing-sm)}.add-exercise-btn,.log-workout-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-exercise-btn:hover,.log-workout-btn:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.log-workout-btn{border-style:solid;background:var(--blue-500);border-color:#fff3;color:#fff}.log-workout-btn:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:#fff}.strength-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-modal)}.strength-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.strength-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.strength-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.strength-modal .modal-close:hover{color:var(--text-primary)}.strength-modal form{padding:var(--spacing-lg)}.strength-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.strength-modal .form-row.triple{grid-template-columns:1fr 1fr 1fr}.strength-modal .form-group{margin-bottom:var(--spacing-md)}.strength-modal .form-group:last-of-type{margin-bottom:0}.strength-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.strength-modal .form-group input,.strength-modal .form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.strength-modal .form-group input:focus,.strength-modal .form-group select:focus{outline:none;border-color:#fff3}.strength-modal .form-group input::placeholder{color:var(--text-muted)}.strength-modal .form-group input[type=date],.strength-modal .form-group select{color-scheme:dark}.strength-modal .form-group input[type=number]::-webkit-inner-spin-button,.strength-modal .form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.strength-modal .form-group input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pr-alert{padding:var(--spacing-sm) var(--spacing-md);background:var(--status-success-bg);color:var(--status-success-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);text-align:center}.strength-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.strength-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.strength-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.strength-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.strength-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.strength-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.table-header,.table-row{grid-template-columns:1.5fr 1fr 1fr 80px}.col-date{display:none}.strength-modal .form-row{grid-template-columns:1fr}.strength-modal .form-row.triple{grid-template-columns:1fr 1fr}}.medication-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.med-tab-switcher{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-primary);padding-bottom:var(--spacing-xs)}.tab-btn{padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:none;color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast);margin-bottom:-1px}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.med-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.med-stat-item{display:flex;flex-direction:column;gap:2px}.med-stat-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.med-stat-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.med-checklist h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.med-checklist-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.med-checklist-item:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.med-checkbox{width:20px;height:20px;min-width:20px;border:2px solid var(--border-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.med-checkbox.checked{background:var(--accent);border-color:var(--accent)}.med-info{display:flex;flex-direction:column;gap:2px;flex:1}.med-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.med-dosage{font-size:var(--font-size-xs);color:var(--text-muted)}.med-timestamp{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic}.med-edit-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.med-edit-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.adherence-calendar{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.calendar-nav-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.calendar-nav-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--spacing-xs)}.calendar-day-label{text-align:center;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--text-primary);border-radius:4px;border:1px solid transparent;transition:border-color var(--transition-fast)}.calendar-day.empty{background:transparent}.calendar-day.today{border:2px solid var(--accent)}.calendar-legend{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-primary)}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-item span{font-size:var(--font-size-xs);color:var(--text-muted)}.med-chart-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.med-chart-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.prn-meds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.prn-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.prn-card-header{display:flex;justify-content:space-between;align-items:flex-start}.prn-card h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.prn-dosage{font-size:var(--font-size-sm);color:var(--text-muted);margin:2px 0 0}.prn-indication{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic;margin:4px 0 0}.prn-warning{background:#facc1526;border:1px solid var(--yellow-400);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--yellow-400);font-weight:var(--font-weight-medium)}.prn-form{display:flex;flex-direction:column;gap:var(--spacing-xs)}.prn-form input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-family)}.prn-form input:focus{outline:none;border-color:#fff3}.prn-form-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.prn-log-btn{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.prn-log-btn:hover:not(:disabled){opacity:.9}.prn-log-btn:disabled{opacity:.5;cursor:not-allowed}.prn-usage-log{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.prn-usage-log h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.prn-log-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.prn-log-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:background var(--transition-fast)}.prn-log-item:hover{background:var(--bg-primary)}.prn-log-info{display:flex;flex-direction:column;gap:2px;flex:1}.prn-log-med{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.prn-log-dose{font-size:var(--font-size-xs);color:var(--text-muted)}.prn-log-time{font-size:var(--font-size-xs);color:var(--text-secondary)}.prn-log-note{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic;margin-top:2px}.prn-delete-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.prn-delete-btn:hover{color:var(--status-error);background:#ef444426}.add-med-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-med-btn:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.add-med-btn.primary{background:var(--accent);border:none;color:var(--text-primary)}.add-med-btn.primary:hover{opacity:.9}.med-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.med-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-modal)}.med-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.med-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.med-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.med-modal .modal-close:hover{color:var(--text-primary)}.med-modal form{padding:var(--spacing-lg)}.med-modal .form-group{margin-bottom:var(--spacing-md)}.med-modal .form-group:last-of-type{margin-bottom:0}.med-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.med-modal .form-group input,.med-modal .form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.med-modal .form-group input:focus,.med-modal .form-group select:focus{outline:none;border-color:#fff3}.med-modal .form-group input::placeholder{color:var(--text-muted)}.radio-group{display:flex;gap:var(--spacing-md)}.radio-option{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.radio-option input[type=radio]{width:auto;margin:0;cursor:pointer}.radio-option span{font-size:var(--font-size-sm);color:var(--text-secondary)}.med-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.med-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.med-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.med-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.med-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.med-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.med-modal .btn-danger{padding:var(--spacing-sm) var(--spacing-md);background:var(--status-error);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.med-modal .btn-danger:hover{opacity:.9}@media (max-width: 600px){.prn-meds-grid{grid-template-columns:1fr}.med-stats{flex-direction:column;gap:var(--spacing-md)}}.expense-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.expense-header{display:flex;align-items:center;justify-content:space-between}.expense-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.btn-add{padding:var(--spacing-xs) var(--spacing-md);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.btn-add:hover{opacity:.85}.expense-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;gap:var(--spacing-md)}.expense-empty-state p{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.monthly-summary{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.summary-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;min-width:150px;text-align:center}.month-nav-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.month-nav-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.total-spent{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center;margin:var(--spacing-sm) 0}.spending-chart{width:100%;margin:var(--spacing-md) 0}.category-breakdown{overflow-x:auto}.category-breakdown table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.category-breakdown thead th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-xs);border-bottom:1px solid var(--border-primary)}.category-breakdown tbody td{padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-primary)}.category-breakdown tbody tr:last-child td{border-bottom:none}.transaction-list-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.filter-bar{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.filter-select,.filter-date-input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:border-color var(--transition-fast)}.filter-select:focus,.filter-date-input:focus{outline:none;border-color:var(--border-hover)}.filter-date-input{flex:1;min-width:140px}.transaction-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.transaction-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast)}.transaction-row:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.txn-date{font-size:var(--font-size-sm);color:var(--text-muted);min-width:60px;font-weight:var(--font-weight-medium)}.txn-details{flex:1;display:flex;flex-direction:column;gap:2px}.txn-merchant{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.txn-note{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.txn-category{display:inline-block;padding:2px var(--spacing-xs);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-xs);width:fit-content}.txn-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:right;min-width:80px}.txn-actions{display:flex;gap:var(--spacing-xs)}.btn-edit,.btn-delete{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn-edit:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.btn-delete:hover{background:#dc143c;color:#fff;border-color:#dc143c}.expense-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-modal)}.expense-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.expense-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.expense-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.expense-modal .modal-close:hover{color:var(--text-primary)}.expense-modal form{padding:var(--spacing-lg)}.expense-modal .form-group{margin-bottom:var(--spacing-md)}.expense-modal .form-group:last-of-type{margin-bottom:0}.expense-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.expense-modal .form-group input,.expense-modal .form-group select,.expense-modal .form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.expense-modal .form-group input:focus,.expense-modal .form-group select:focus,.expense-modal .form-group textarea:focus{outline:none;border-color:#fff3}.expense-modal .form-group textarea{resize:vertical;min-height:60px}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.filter-bar{flex-direction:column;align-items:stretch}.filter-select,.filter-date-input{width:100%}.transaction-row{flex-wrap:wrap}.txn-actions{width:100%;justify-content:flex-end}}.app-portfolio-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.portfolio-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-default);padding-bottom:var(--spacing-xs)}.portfolio-tab-btn{padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);letter-spacing:var(--letter-spacing-normal)}.portfolio-tab-btn:hover{color:var(--text-secondary)}.portfolio-tab-btn.active{color:var(--text-primary);background:var(--card-bg);border-color:var(--border-default)}.portfolio-app-select{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.portfolio-app-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.portfolio-app-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.portfolio-app-btn.active{background:var(--card-bg-selected);border-color:var(--border-active);color:var(--text-primary)}.portfolio-app-btn.dim{opacity:.4;cursor:default}.portfolio-app-btn img{width:14px;height:14px;border-radius:2px}.portfolio-app-placeholder{width:14px;height:14px;border-radius:2px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--text-muted)}.portfolio-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-sm)}.portfolio-kpi{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md)}.portfolio-kpi-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:2px}.portfolio-kpi-val{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.portfolio-kpi-val.green{color:var(--green-400)}.portfolio-kpi-val.red{color:var(--red-400)}.portfolio-table-wrap{overflow-x:auto}.portfolio-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.portfolio-table thead th{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-xs);border-bottom:1px solid var(--border-default)}.portfolio-table tbody td{padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.portfolio-table tbody tr:last-child td{border-bottom:none}.portfolio-stripe-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#635bff0a;border:1px solid rgba(99,91,255,.12);border-radius:var(--radius-md);flex-wrap:wrap}.portfolio-stripe-indicator{display:flex;align-items:center;gap:var(--spacing-xs)}.portfolio-stripe-dot{width:6px;height:6px;border-radius:50%}.portfolio-stripe-dot.on{background:var(--green-400);box-shadow:0 0 6px #22c55e66}.portfolio-stripe-dot.off{background:var(--text-muted)}.portfolio-stripe-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.portfolio-stripe-meta{display:flex;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted)}.portfolio-fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.portfolio-fin-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md)}.portfolio-fin-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.portfolio-fin-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:var(--font-size-sm)}.portfolio-fin-row .label{color:var(--text-secondary)}.portfolio-fin-row .val{font-weight:var(--font-weight-medium);color:var(--text-primary)}.portfolio-fin-row .val.green{color:var(--green-400)}.portfolio-fin-row .val.red{color:var(--red-400)}.portfolio-fin-row.sub{padding-left:var(--spacing-md);font-size:var(--font-size-xs)}.portfolio-fin-row.sub .label{color:var(--text-muted)}.portfolio-fin-row.total{border-top:1px solid var(--border-default);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.portfolio-fin-empty{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--spacing-sm) 0}.portfolio-badge{display:inline-block;font-size:9px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:1px 5px;border-radius:var(--radius-sm);vertical-align:middle}.portfolio-badge.live{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.portfolio-badge.stripe{background:#635bff1a;border:1px solid rgba(99,91,255,.25);color:#635bff}.portfolio-badge.manual{background:var(--card-bg);border:1px solid var(--border-default);color:var(--text-muted)}.portfolio-status{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:1px 5px;border-radius:var(--radius-sm)}.portfolio-status.live{background:var(--status-success-bg);color:var(--status-success-text)}.portfolio-status.pre-launch{background:#fbbf241a;color:var(--amber-400)}.portfolio-status.planned{background:var(--status-pending-bg);color:var(--status-pending-text)}.portfolio-traffic-stats{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.portfolio-tstat{text-align:center}.portfolio-tstat-val{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.portfolio-tstat-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.portfolio-period-row{display:flex;justify-content:flex-end;gap:var(--spacing-xs)}.portfolio-period-btn{padding:2px var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.portfolio-period-btn:hover{border-color:var(--border-hover);color:var(--text-secondary)}.portfolio-period-btn.active{background:var(--card-bg-selected);border-color:var(--border-active);color:var(--text-primary)}.portfolio-chart-wrap{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md)}.portfolio-chart-title{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-sm)}.portfolio-proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.portfolio-proj-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md)}.portfolio-proj-scenario{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-sm)}.portfolio-proj-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm);padding:2px 0;color:var(--text-secondary)}.portfolio-proj-row.highlight{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.portfolio-proj-divider{border-top:1px solid var(--border-default);margin:var(--spacing-xs) 0}.portfolio-tier-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm)}.portfolio-tier{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.portfolio-tier-name{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.portfolio-tier-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.portfolio-tier-interval{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-normal)}.portfolio-tier-desc{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:2px}.portfolio-btn-small{padding:2px var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.portfolio-btn-small:hover{border-color:var(--border-hover);color:var(--text-secondary)}.portfolio-btn-sync{padding:2px var(--spacing-sm);background:#635bff14;border:1px solid rgba(99,91,255,.2);border-radius:var(--radius-sm);color:#635bff;font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.portfolio-btn-sync:hover{background:#635bff29}.portfolio-btn-sync.syncing{opacity:.5;cursor:wait}.portfolio-btn-add{padding:var(--spacing-xs) var(--spacing-md);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-md);color:var(--status-success-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast)}.portfolio-btn-add:hover{opacity:.85}.portfolio-settings{display:flex;flex-direction:column;gap:var(--spacing-lg)}.portfolio-settings-section{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-md)}.portfolio-settings-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.portfolio-form-group{margin-bottom:var(--spacing-sm)}.portfolio-form-group label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.portfolio-form-group input,.portfolio-form-group select{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.portfolio-form-group input:focus,.portfolio-form-group select:focus{outline:none;border-color:var(--border-hover)}.portfolio-test-result{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-top:var(--spacing-xs)}.portfolio-test-result.success{background:var(--status-success-bg);color:var(--status-success-text)}.portfolio-test-result.error{background:var(--status-error-bg);color:var(--status-error-text)}.portfolio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;gap:var(--spacing-md)}.portfolio-empty p{color:var(--text-muted);font-size:var(--font-size-sm)}.portfolio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.portfolio-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.portfolio-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.portfolio-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.portfolio-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-lg)}.portfolio-modal .modal-body{padding:var(--spacing-lg)}.portfolio-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.portfolio-refreshing{font-size:var(--font-size-xs);color:var(--text-muted);display:flex;align-items:center;gap:var(--spacing-xs)}@keyframes portfolio-spin{to{transform:rotate(360deg)}}.portfolio-spinner{width:12px;height:12px;border:2px solid var(--border-default);border-top-color:var(--text-secondary);border-radius:50%;animation:portfolio-spin .8s linear infinite}@media (max-width: 640px){.portfolio-kpi-row{grid-template-columns:repeat(2,1fr)}.portfolio-fin-grid,.portfolio-proj-grid{grid-template-columns:1fr}.portfolio-app-select{overflow-x:auto;flex-wrap:nowrap}}.weight-tracker-module{display:flex;flex-direction:column;gap:var(--spacing-md)}.weight-stats{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-lg)}.weight-stat-item{display:flex;flex-direction:column;gap:2px}.weight-stat-item .label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.weight-stat-item .value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.weight-stat-item.main .value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.weight-stat-item .value.trend,.weight-stat-item .value.change{display:flex;align-items:center;gap:var(--spacing-xs)}.weight-stat-item .value.up{color:var(--status-error-text)}.weight-stat-item .value.down{color:var(--status-success-text)}.weight-stat-item .value.neutral{color:var(--text-muted)}.trend-arrow{display:flex;align-items:center}.weight-empty{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:var(--font-size-sm)}.weight-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:450px;box-shadow:var(--shadow-modal)}.weight-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.weight-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.weight-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.weight-modal .modal-close:hover{color:var(--text-primary)}.weight-modal form{padding:var(--spacing-lg)}.weight-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.weight-modal .form-group{margin-bottom:var(--spacing-md)}.weight-modal .form-group:last-of-type{margin-bottom:0}.weight-modal .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.weight-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.weight-modal .form-group input:focus{outline:none;border-color:#fff3}.weight-modal .form-group input::placeholder{color:var(--text-muted)}.weight-modal .form-group input[type=date]{color-scheme:dark}.weight-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.weight-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.weight-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.weight-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.weight-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.weight-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 500px){.weight-modal .form-row{grid-template-columns:1fr}}.domain-page{display:flex;flex-direction:column;height:100%}.domain-subnav{background:var(--bg-secondary);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.domain-subnav-inner{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);height:48px}.domain-subnav-link{position:relative;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-normal);letter-spacing:var(--letter-spacing-normal)}.domain-subnav-link:hover,.domain-subnav-link.active{color:var(--text-primary)}.domain-subnav-link.active:after{content:"";position:absolute;bottom:-4px;left:var(--spacing-md);right:var(--spacing-md);height:2px;background:var(--blue-500);border-radius:1px}.domain-content{flex:1;overflow:auto}.domain-section{padding:24px;max-width:100%;margin:0}.domain-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.domain-title-area{flex:1}.domain-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.domain-description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.domain-goal{margin-top:2px}.domain-actions{flex-shrink:0}.domain-placeholder{color:var(--text-secondary);margin:0}.domain-loading,.domain-error{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-size:var(--font-size-sm)}.domain-error{color:var(--red-400)}.domain-empty{text-align:center;padding:var(--spacing-2xl);color:var(--text-muted);font-size:var(--font-size-sm)}.domain-empty p{margin:var(--spacing-xs) 0}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.module-card.full-width{grid-column:span 2}.module-card.half-width{grid-column:span 1}@media (max-width: 1024px){.modules-grid{grid-template-columns:1fr}.module-card.full-width,.module-card.half-width{grid-column:span 1}}.module-placeholder{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-xl)}.add-module-dropdown{position:relative}.add-module-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.add-module-btn:hover{background:var(--card-bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-dropdown)}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);min-width:250px;background:var(--dropdown-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);z-index:calc(var(--z-dropdown) + 1);overflow:hidden}.dropdown-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.dropdown-item:hover{background:var(--card-bg-hover)}.dropdown-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.dropdown-item-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.dropdown-group-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;border:none;background:none;width:100%;text-align:left}.dropdown-group-header:hover{color:var(--text-primary)}.group-arrow{font-size:10px;width:12px}.dropdown-item.nested{padding-left:28px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.component-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:500px;box-shadow:var(--shadow-modal)}.component-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.component-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.component-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.component-modal .modal-close:hover{color:var(--text-primary)}.component-modal .modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.component-modal .btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.component-modal .btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary)}.component-modal .btn-primary{padding:var(--spacing-sm) var(--spacing-md);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.component-modal .btn-primary:hover:not(:disabled){background:var(--blue-hover)}.component-modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.config-content{padding:var(--spacing-lg)}.config-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0}.config-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.config-option{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.config-option:hover{background:var(--card-bg-hover);border-color:var(--border-hover)}.config-option.selected{background:var(--card-bg-hover);border-color:#fff3}.config-option input[type=radio]{margin-top:2px;cursor:pointer}.option-content{flex:1;display:flex;flex-direction:column;gap:4px}.option-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.option-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.remove-module-modal{background:var(--bg-card, #1a1a2e);border-radius:8px;padding:20px;width:380px;max-width:90vw}.remove-module-modal .modal-header{display:flex;align-items:center;justify-content:space-between}.remove-module-modal .modal-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.remove-module-modal .modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.remove-module-modal .modal-close:hover{color:var(--text-primary)}.remove-options{display:flex;flex-direction:column;gap:10px;margin-top:16px}.remove-option{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border-color, #333);border-radius:6px;background:transparent;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.remove-option:hover{background:#ffffff08}.hide-option:hover{border-color:var(--accent-color, #646cff)}.delete-option:hover{border-color:#e74c3c}.remove-option-title{font-size:14px;font-weight:600;color:var(--text-primary)}.delete-option .remove-option-title{color:#e74c3c}.remove-option-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}@media (max-width: 768px){.domain-subnav-inner{padding:0 var(--spacing-md);gap:var(--spacing-sm)}.domain-subnav-link{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.domain-section{padding:var(--spacing-md)}.domain-header{flex-direction:column;align-items:stretch}.domain-actions{align-self:flex-start}}.vision-canvas-container{flex:1;overflow:auto;background:var(--bg-primary);position:relative;min-height:0;height:100%;border-radius:var(--radius-md);border:1px solid var(--border-default)}.vision-canvas-container.connecting-mode{cursor:crosshair}.vision-canvas-container.resizing-mode{cursor:default}.vision-canvas-container.dragging-mode{cursor:grabbing}.vision-canvas-container.selecting-mode{cursor:crosshair}.selection-rectangle{position:absolute;background:#3b82f633;border:2px dashed #3b82f6;pointer-events:none;z-index:9999;box-shadow:0 0 10px #3b82f64d}.vision-canvas{position:relative;min-width:100%;min-height:100%;width:max-content;height:max-content;background-image:linear-gradient(to right,rgba(128,128,128,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(128,128,128,.1) 1px,transparent 1px);background-size:24px 24px;background-position:0 0}.vision-canvas-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.connection-group{pointer-events:auto}.connection-line{fill:none;stroke-linecap:round}.connection-line.hierarchy{stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:4 4;opacity:.4}.connection-line.custom{stroke:var(--project-color, var(--blue-500));stroke-width:2;opacity:.7}.connection-line.preview{stroke:var(--project-color, var(--blue-500));stroke-width:2;stroke-dasharray:8 4;opacity:.5}.connection-line-hitbox{fill:none;stroke:transparent;stroke-width:16;cursor:pointer;pointer-events:auto}.connection-line-hitbox:hover+.connection-line.custom,.connection-group:hover .connection-line.custom{stroke-width:3;opacity:1}.group-box{-webkit-user-select:none;user-select:none;touch-action:none;position:relative}.group-box.dragging{z-index:1000!important}.group-box.selected .group-box-inner{box-shadow:0 0 0 3px var(--blue-500)}.group-box-inner{width:100%;height:100%;background:var(--bg-secondary);border:2px dashed var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;position:relative;transition:border-color .1s}.group-box:hover .group-box-inner{border-color:var(--project-color, var(--blue-500))}.group-box-header{display:flex;align-items:center;justify-content:flex-start;padding:10px 14px;background:var(--header-color, var(--project-color, #3b82f6));border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0;min-height:48px;box-sizing:border-box;gap:8px}.group-box-drag-handle{display:flex;align-items:center;justify-content:center;color:#ffffffb3;cursor:grab;padding:4px;border-radius:var(--radius-sm);flex-shrink:0;transition:background .1s,color .1s}.group-box-drag-handle:hover{background:#fff3;color:#fff}.group-box-drag-handle:active{cursor:grabbing}.group-box-title{font-size:14px;font-weight:700;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.01em;padding:4px 8px;border-radius:var(--radius-sm);transition:background .1s;cursor:text}.group-box-title:hover{background:#ffffff26}.group-box-actions{display:none;gap:4px;flex-shrink:0;margin-left:auto}.group-box:hover .group-box-actions{display:flex}.group-box-btn{background:#fff3;border:none;padding:4px;border-radius:var(--radius-sm);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .1s}.group-box-btn:hover{background:#ffffff4d}.group-box-btn.delete:hover{background:#ef4444cc}.group-box-btn.color{padding:3px}.group-box-header .color-swatch-btn{border:2px solid rgba(255,255,255,.5)}.group-box-content{flex:1;position:relative;min-height:80px;overflow:visible;background:repeating-linear-gradient(to right,transparent,transparent 23px,rgba(128,128,128,.05) 23px,rgba(128,128,128,.05) 24px),repeating-linear-gradient(to bottom,transparent,transparent 23px,rgba(128,128,128,.05) 23px,rgba(128,128,128,.05) 24px)}.group-box-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-muted);font-size:12px;font-style:italic;pointer-events:none;opacity:.6}.group-box-count{position:absolute;bottom:8px;right:12px;color:var(--text-muted);font-size:11px;pointer-events:none;background:var(--bg-secondary);padding:2px 8px;border-radius:var(--radius-sm)}.idea-card{-webkit-user-select:none;user-select:none;touch-action:none;position:relative}.idea-card.dragging{z-index:1000!important}.idea-card.selected .idea-card-inner{box-shadow:0 0 0 3px var(--blue-500)}.idea-card-inner{width:100%;height:100%;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .1s,border-color .1s;display:flex;flex-direction:column;position:relative;overflow:hidden}.idea-card:hover .idea-card-inner{box-shadow:0 2px 6px #0000001f;border-color:var(--border-hover)}.idea-card.connecting-from .idea-card-inner{border-color:var(--project-color, var(--blue-500));box-shadow:0 0 0 2px var(--project-color, var(--blue-500))}.idea-card-status-bar{height:4px;background:var(--bar-color, var(--project-color, var(--blue-500)));border-radius:2px;margin-bottom:8px;flex-shrink:0}.idea-card.status-discarded .idea-card-inner{opacity:.6}.idea-card-content{flex:1;font-size:13px;color:var(--text-primary);line-height:1.4;overflow:hidden;min-height:0}.idea-card-content p{margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.idea-card-actions{display:none;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default);align-items:center;flex-shrink:0}.idea-card:hover .idea-card-actions{display:flex}.idea-card-status-select{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;padding:2px 4px;cursor:pointer}.idea-card-status-select:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.idea-card-btn{background:transparent;border:none;padding:4px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.idea-card-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.idea-card-btn.connect:hover{color:var(--blue-500)}.idea-card-btn.delete:hover{color:var(--red-500)}.color-picker-container{position:relative}.idea-card-btn.color{padding:3px}.color-swatch-btn{width:14px;height:14px;border-radius:3px;background:var(--current-color, var(--project-color, var(--blue-500)));border:1px solid rgba(0,0,0,.2)}.color-picker-dropdown{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:4px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;box-shadow:0 4px 12px #00000026;z-index:1000}.color-option{width:20px;height:20px;border-radius:4px;background:var(--swatch-color);border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;padding:0}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary)}.inline-edit-input{flex:1;background:var(--bg-primary);border:1px solid var(--project-color, var(--blue-500));border-radius:var(--radius-sm);padding:4px 8px;font-size:13px;font-weight:600;color:var(--text-primary);font-family:inherit;outline:none;width:100%}.inline-edit-input:focus{box-shadow:0 0 0 2px #3b82f633}.group-box-header .inline-edit-input,.group-box-header .group-header-input{background:#fffffff2;border:2px solid rgba(255,255,255,.5);font-size:14px;font-weight:700;color:#1f2937;flex:1;min-width:0}.group-box-header .inline-edit-input:focus,.group-box-header .group-header-input:focus{box-shadow:0 0 0 2px #ffffff4d;outline:none}.group-box-header .inline-edit-input::placeholder,.group-box-header .group-header-input::placeholder{color:#9ca3af}.inline-edit-textarea{width:100%;height:100%;min-height:40px;background:var(--bg-primary);border:1px solid var(--project-color, var(--blue-500));border-radius:var(--radius-sm);padding:4px 8px;font-size:13px;color:var(--text-primary);font-family:inherit;line-height:1.4;resize:none;outline:none}.inline-edit-textarea:focus{box-shadow:0 0 0 2px #3b82f633}.idea-card.editing .idea-card-content{flex:1;display:flex}.idea-card.editing .idea-card-actions{display:none}.resize-handle{position:absolute;z-index:10;opacity:0;transition:opacity .1s}.idea-card:hover .resize-handle,.group-box:hover .resize-handle{opacity:1}.resize-handle.resize-n{top:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}.resize-handle.resize-s{bottom:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}.resize-handle.resize-e{right:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}.resize-handle.resize-w{left:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}.resize-handle.resize-ne{top:-4px;right:-4px;width:12px;height:12px;cursor:nesw-resize}.resize-handle.resize-nw{top:-4px;left:-4px;width:12px;height:12px;cursor:nwse-resize}.resize-handle.resize-se{bottom:-4px;right:-4px;width:12px;height:12px;cursor:nwse-resize}.resize-handle.resize-sw{bottom:-4px;left:-4px;width:12px;height:12px;cursor:nesw-resize}.resize-handle.resize-se:after,.resize-handle.resize-sw:after,.resize-handle.resize-ne:after,.resize-handle.resize-nw:after{content:"";position:absolute;width:6px;height:6px;background:var(--border-default);border-radius:2px}.resize-handle.resize-se:after{bottom:2px;right:2px}.resize-handle.resize-sw:after{bottom:2px;left:2px}.resize-handle.resize-ne:after{top:2px;right:2px}.resize-handle.resize-nw:after{top:2px;left:2px}.idea-card:hover .resize-handle.resize-se:after,.idea-card:hover .resize-handle.resize-sw:after,.idea-card:hover .resize-handle.resize-ne:after,.idea-card:hover .resize-handle.resize-nw:after,.group-box:hover .resize-handle.resize-se:after,.group-box:hover .resize-handle.resize-sw:after,.group-box:hover .resize-handle.resize-ne:after,.group-box:hover .resize-handle.resize-nw:after{background:var(--project-color, var(--blue-500))}.vision-canvas-toolbar{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:100}.vision-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .1s}.vision-toolbar-btn:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.vision-toolbar-btn svg{flex-shrink:0}.connection-mode-indicator{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 16px;font-size:13px;color:var(--text-secondary);box-shadow:0 4px 12px #00000026;z-index:1000}@media (max-width: 768px){.idea-card-content{font-size:12px}.idea-card-actions,.group-box-actions{display:flex}.resize-handle{opacity:1}.vision-canvas-toolbar{top:8px;right:8px}.vision-toolbar-btn{padding:6px 10px;font-size:11px}}.visionboard{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg);width:100%;height:100%;overflow-y:auto}.visionboard-loading,.visionboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md);color:var(--text-muted)}.visionboard-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--project-color, var(--blue-500));border-radius:50%;animation:spin .8s linear infinite}.visionboard-error button{padding:var(--spacing-sm) var(--spacing-md);background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer}.visionboard-descriptor{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.visionboard-descriptor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.visionboard-descriptor-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.visionboard-edit-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal)}.visionboard-edit-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.visionboard-descriptor-content p{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.6;margin:0}.visionboard-descriptor-content .visionboard-placeholder{color:var(--text-muted);font-style:italic}.visionboard-ai-badge{display:inline-block;margin-top:var(--spacing-sm);padding:2px 8px;background:color-mix(in srgb,var(--project-color, var(--blue-500)) 15%,transparent);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--project-color, var(--blue-500))}.visionboard-descriptor-edit textarea{width:100%;min-height:100px;padding:var(--spacing-sm);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);line-height:1.6;resize:vertical}.visionboard-descriptor-edit textarea:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.visionboard-descriptor-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.visionboard-cancel-btn,.visionboard-save-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal)}.visionboard-cancel-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.visionboard-cancel-btn:hover{background:var(--bg-hover)}.visionboard-save-btn{background:var(--project-color, var(--blue-500));border:none;color:#fff}.visionboard-save-btn:hover{filter:brightness(.9)}.visionboard-timeline{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg);flex:1;min-height:200px}.visionboard-timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.visionboard-timeline-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.visionboard-scale-toggle{display:flex;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:2px}.visionboard-scale-toggle button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.visionboard-scale-toggle button:hover{color:var(--text-secondary)}.visionboard-scale-toggle button.active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 2px #0000001a}.visionboard-timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-muted);text-align:center}.visionboard-timeline-empty p{margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.visionboard-timeline-content{position:relative;padding-left:var(--spacing-xl)}.visionboard-timeline-line{position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--border-default) 0%,var(--project-color, var(--blue-500)) 50%,var(--border-default) 100%)}.visionboard-timeline-empty .visionboard-timeline-line{position:relative;width:100%;max-width:200px;height:2px;background:var(--border-default)}.visionboard-timeline-entry{position:relative;margin-bottom:var(--spacing-md)}.visionboard-timeline-dot{position:absolute;left:calc(-1 * var(--spacing-xl) + 4px);top:4px;width:10px;height:10px;background:var(--project-color, var(--blue-500));border:2px solid var(--card-bg);border-radius:50%}.visionboard-timeline-dot.now{background:var(--status-success-text);animation:pulse 2s infinite}.visionboard-timeline-card{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md)}.visionboard-timeline-date{font-size:var(--font-size-xs);color:var(--text-muted)}.visionboard-timeline-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.visionboard-timeline-desc{font-size:var(--font-size-xs);color:var(--text-secondary)}.visionboard-timeline-now{position:relative;display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-muted)}.visionboard-completed{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.visionboard-completed-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.visionboard-completed-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.visionboard-completed-count{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--spacing-xs);background:color-mix(in srgb,var(--status-success-text) 15%,transparent);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--status-success-text)}.visionboard-completed-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--text-muted);text-align:center}.visionboard-completed-empty p{margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.visionboard-completed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}.visionboard-completed-card{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-normal)}.visionboard-completed-card:hover{background:var(--bg-hover)}.visionboard-completed-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--status-success-text);border-radius:var(--radius-full);color:#fff;flex-shrink:0}.visionboard-completed-info{display:flex;flex-direction:column;gap:2px;min-width:0}.visionboard-completed-title{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visionboard-completed-date{font-size:var(--font-size-xs);color:var(--text-muted)}.kanban-board{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.kanban-loading,.kanban-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:16px}.kanban-error{color:#ef4444}.kanban-columns-container{display:flex;gap:16px;padding:24px;overflow-x:auto;overflow-y:hidden;height:100%;align-items:flex-start}.kanban-column{min-width:320px;max-width:320px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-default);border-left:3px solid var(--border-default);display:flex;flex-direction:column;max-height:calc(100vh - 150px);transition:all .2s}.kanban-column[data-column-name*="To Do"],.kanban-column[data-column-name*=Todo],.kanban-column[data-column-name*=TODO]{border-left-color:var(--red-500);--column-color: var(--red-500);--column-color-bg: rgba(239, 68, 68, .1)}.kanban-column[data-column-name*="In Progress"],.kanban-column[data-column-name*=Progress],.kanban-column[data-column-name*=Doing]{border-left-color:var(--amber-400);--column-color: var(--amber-400);--column-color-bg: rgba(251, 191, 36, .1)}.kanban-column[data-column-name*=Done],.kanban-column[data-column-name*=Complete],.kanban-column[data-column-name*=Finished]{border-left-color:var(--green-500);--column-color: var(--green-500);--column-color-bg: rgba(34, 197, 94, .1)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);position:relative}.kanban-column-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);flex:1}.kanban-column-actions{display:flex;align-items:center;gap:8px;position:relative}.kanban-card-count{padding:4px 8px;background:var(--column-color-bg, var(--bg-tertiary));border-radius:12px;font-size:12px;font-weight:600;color:var(--column-color, var(--text-secondary))}.column-menu-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:18px;transition:all .2s}.column-menu-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.column-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0003;z-index:100;min-width:140px}.column-menu button{width:100%;padding:10px 16px;background:transparent;border:none;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background .2s}.column-menu button:hover{background:var(--bg-secondary)}.column-menu button:first-child{border-radius:6px 6px 0 0}.column-menu button:last-child{border-radius:0 0 6px 6px;color:#ef4444}.color-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:12px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;padding:0}.color-option:hover{border-color:var(--text-primary);transform:scale(1.1)}.kanban-column-cards{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:100px;transition:all .2s ease}.kanban-column-cards.drop-target-active{background:var(--column-color-bg, rgba(220, 20, 60, .05));border:2px dashed var(--column-color, var(--accent-color));border-radius:6px}.empty-column-placeholder{display:flex;align-items:center;justify-content:center;min-height:80px;color:var(--text-muted);font-size:13px;border:2px dashed var(--border-default);border-radius:6px;opacity:0;transition:opacity .2s ease}.kanban-column-cards.drop-target-active .empty-column-placeholder{opacity:1;border-color:var(--column-color, var(--accent-color));color:var(--column-color, var(--accent-color))}.kanban-card{position:relative;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:12px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.kanban-card:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #0000001a}.kanban-card:hover .kanban-card-actions{opacity:1}.kanban-card-dragging{opacity:.9;box-shadow:0 4px 16px #0000004d;transform:rotate(2deg)}.kanban-card-content{display:flex;flex-direction:column;gap:6px}.kanban-card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.kanban-card-description{font-size:13px;color:var(--text-secondary);line-height:1.4;white-space:pre-wrap;word-break:break-word}.kanban-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease;pointer-events:all}.kanban-card-edit,.kanban-card-delete{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.kanban-card-edit:before,.kanban-card-delete:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-sm);transform:scale(0);transition:transform .3s ease}.kanban-card-edit:before{background:var(--accent-subtle)}.kanban-card-delete:before{background:var(--status-error-bg)}.kanban-card-edit svg,.kanban-card-delete svg{position:relative;z-index:1;transition:transform .3s ease;color:var(--text-muted)}.kanban-card-edit:hover:before{transform:scale(1)}.kanban-card-edit:hover svg{color:var(--accent-primary);transform:scale(1.1)}.kanban-card-edit:active svg{transform:scale(.9)}.kanban-card-delete:hover:before{transform:scale(1)}.kanban-card-delete:hover svg{color:var(--red-400);transform:rotate(90deg) scale(1.1)}.kanban-card-delete:active svg{transform:rotate(90deg) scale(.9)}.kanban-card-edit-input{width:100%;padding:8px;background:var(--bg-tertiary);border:2px solid var(--accent-primary);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.4;resize:vertical;box-shadow:0 0 0 3px var(--accent-subtle);animation:inputFocusGlow .5s ease forwards}.kanban-card-edit-input:focus{outline:none}@keyframes inputFocusGlow{0%{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 4px var(--accent-glow)}to{box-shadow:0 0 0 3px var(--accent-subtle)}}.kanban-add-card-form{padding:12px;border-top:1px solid var(--border-default);display:flex;gap:8px;background:#0000001a}.kanban-add-card-input{flex:1;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;transition:all .2s ease}.kanban-add-card-input::placeholder{color:var(--text-muted);opacity:.6}.kanban-add-card-input:hover{border-color:var(--border-hover);background:var(--card-bg)}.kanban-add-card-input:focus{outline:none;border-color:var(--column-color, var(--accent-color));background:var(--bg-primary);box-shadow:0 0 0 3px var(--column-color-bg, rgba(220, 20, 60, .1))}.kanban-add-card-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--column-color, var(--accent-color));border:none;border-radius:6px;color:#fff;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.kanban-add-card-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0003}.kanban-add-card-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.kanban-add-card-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.kanban-add-column-btn{min-width:280px;max-width:280px;height:48px;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.kanban-add-column-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-color)}.card-edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease}.card-edit-modal{background:var(--bg-secondary);border-radius:12px;width:90%;max-width:600px;box-shadow:0 20px 60px #0009;border:1px solid var(--border-default);display:flex;flex-direction:column;max-height:80vh;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-edit-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.card-edit-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.card-edit-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:all .2s}.card-edit-close:hover{background:var(--bg-secondary)}.card-edit-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.card-edit-body label{display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:14px;font-weight:500}.card-edit-input,.card-edit-textarea{padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:all .2s ease}.card-edit-input::placeholder,.card-edit-textarea::placeholder{color:var(--text-muted);opacity:.6}.card-edit-input:hover,.card-edit-textarea:hover{border-color:var(--border-hover);background:var(--card-bg)}.card-edit-input:focus,.card-edit-textarea:focus{outline:none;border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px #dc143c1a}.card-edit-textarea{resize:vertical;min-height:120px}.card-edit-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border-color)}.card-delete-btn{padding:10px 20px;background:transparent;border:1px solid var(--red-500);border-radius:8px;color:var(--red-500);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.card-delete-btn:hover:not(:disabled){background:var(--red-500);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.card-delete-btn:active:not(:disabled){transform:translateY(0)}.card-edit-actions{display:flex;gap:12px}.card-cancel-btn,.card-save-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.card-cancel-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.card-cancel-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.card-save-btn{background:var(--accent-color);border:1px solid var(--accent-color);color:#fff;box-shadow:0 2px 4px #0000001a}.card-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc143c66}.card-save-btn:active:not(:disabled){transform:translateY(0)}.card-cancel-btn:disabled,.card-save-btn:disabled,.card-delete-btn:disabled{opacity:.5;cursor:not-allowed}.view-archived-btn{min-width:200px;max-width:200px;height:48px;background:transparent;border:1px dashed var(--gray-400, #9ca3af);border-radius:6px;color:var(--gray-600, #6b7280);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.view-archived-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-color);color:var(--accent-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.archived-columns-modal{background:var(--bg-primary);border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:70vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;border:1px solid var(--border-color)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:all .2s}.close-btn:hover{background:var(--bg-secondary)}.archived-list{display:flex;flex-direction:column;gap:12px}.archived-column-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color);gap:16px}.archived-column-info{flex:1;display:flex;flex-direction:column;gap:4px}.archived-column-info h4{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.archived-column-info .card-count{font-size:13px;color:var(--text-secondary)}.archived-column-info .archived-date{font-size:12px;color:var(--text-tertiary, #6b7280)}.restore-btn{background:var(--accent-color);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s;flex-shrink:0}.restore-btn:hover{opacity:.9}.projects-layout{display:flex;height:calc(100vh - 64px)}.projects-sidebar{width:260px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border-default);display:flex;flex-direction:column}.projects-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.projects-sidebar-header h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.projects-header-buttons{display:flex;gap:6px}.projects-reorder-btn,.projects-new-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.projects-reorder-btn:hover,.projects-new-btn:hover{background:var(--card-bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.projects-reorder-btn{border:1px solid var(--blue-500)}.projects-reorder-btn:hover{background:var(--blue-500);color:#fff}.projects-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.projects-sidebar-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.projects-sidebar-spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--blue-500);border-radius:50%;animation:spin .8s linear infinite}.projects-sidebar-empty{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);text-align:center}.projects-sidebar-empty p{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-md)}.projects-sidebar-empty button{font-size:var(--font-size-sm);color:var(--blue-500);background:transparent;border:none;cursor:pointer;text-decoration:underline}.projects-sidebar-empty button:hover{color:var(--blue-400)}.projects-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);margin-bottom:2px}.projects-item:hover{background:var(--card-bg)}.projects-item.active{background:var(--card-bg-hover)}.projects-item.dragging{opacity:.5;background:var(--card-bg-hover)}.projects-list>*{transition:transform .2s ease-out,opacity .2s ease-out}.projects-item-color{width:4px;height:28px;border-radius:2px;flex-shrink:0}.projects-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.projects-item-title{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-item-count{font-size:var(--font-size-xs);color:var(--text-muted)}.projects-item-delete{display:none;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal)}.projects-item:hover .projects-item-delete{display:flex}.projects-item-delete:hover{background:var(--status-error-bg);color:var(--status-error-text)}.project-tree-item{margin-bottom:2px}.projects-item-expand{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.project-documents-list{padding-left:28px;padding-bottom:var(--spacing-xs)}.project-document-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-sm);color:var(--text-secondary)}.project-document-item:hover{background:var(--card-bg);color:var(--text-primary)}.project-document-item.selected{background:color-mix(in srgb,var(--doc-project-color, var(--blue-500)) 12%,transparent);border-left:2px solid var(--doc-project-color, var(--blue-500));margin-left:-2px;padding-left:calc(var(--spacing-sm) + 2px);color:var(--text-primary)}.project-document-item.selected:hover{background:color-mix(in srgb,var(--doc-project-color, var(--blue-500)) 15%,transparent)}.project-document-item .doc-type-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.project-document-item:hover .doc-type-icon,.project-document-item.selected .doc-type-icon{color:var(--doc-project-color, var(--text-secondary))}.project-document-item .doc-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-add-document-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-top:var(--spacing-xs);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal);width:100%}.project-add-document-btn:hover{background:var(--card-bg);border-color:var(--border-hover);color:var(--text-secondary)}.project-empty-state{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md) var(--spacing-sm);text-align:center}.project-empty-state .empty-state-icon{color:var(--text-muted);margin-bottom:var(--spacing-xs);opacity:.6}.project-empty-state .empty-state-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--spacing-xs)}.project-empty-state .empty-state-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0 0 var(--spacing-md)}.project-empty-state .empty-state-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.empty-state-type-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal);width:100%}.empty-state-type-btn:hover{background:color-mix(in srgb,var(--project-color, var(--blue-500)) 10%,transparent);border-color:var(--project-color, var(--blue-500));color:var(--text-primary)}.empty-state-type-btn .type-icon{font-size:var(--font-size-sm);opacity:.8}.project-document-item.visionboard{background:color-mix(in srgb,var(--blue-500) 8%,transparent);border-left:2px solid var(--blue-500);margin-left:-2px;padding-left:calc(var(--spacing-sm) + 2px)}.project-document-item.visionboard .doc-type-icon{color:var(--blue-500)}.projects-doc-title{display:flex;align-items:center;gap:var(--spacing-sm)}.projects-doc-title h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.doc-type-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--project-color, var(--blue-500));background:color-mix(in srgb,var(--project-color, var(--blue-500)) 15%,transparent);padding:2px 8px;border-radius:var(--radius-sm)}.doc-type-selector{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.doc-type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal)}.doc-type-option:hover{background:var(--card-bg);border-color:var(--border-hover)}.doc-type-option.selected{background:var(--card-bg-hover);border-color:#fff3;color:var(--text-primary)}.doc-type-option .doc-type-icon{font-size:var(--font-size-xl)}.projects-kanban-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.projects-kanban-placeholder h3{margin:var(--spacing-md) 0 var(--spacing-xs);color:var(--text-secondary)}.projects-kanban-placeholder p{font-size:var(--font-size-sm)}.projects-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary);padding:var(--spacing-2xl)}.projects-empty-icon{color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.5}.projects-empty h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.projects-empty p{font-size:var(--font-size-base);color:var(--text-secondary)}.projects-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.projects-header-info{display:flex;align-items:center;gap:var(--spacing-md)}.projects-header-color{width:6px;height:40px;border-radius:3px;flex-shrink:0}.projects-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.projects-header-desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0}.projects-content-full{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.projects-main-section{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);min-height:0;overflow:hidden}.projects-view-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-default);flex-shrink:0}.projects-view-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:2px;gap:2px}.view-toggle-btn{padding:6px 12px;border:none;background:transparent;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-normal)}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{background:var(--project-color, var(--blue-500));color:#fff}.projects-add-inline-form{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;max-width:300px}.projects-add-inline-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 10px;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.projects-add-inline-input:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.projects-add-inline-input::placeholder{color:var(--text-muted)}.projects-add-inline-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0}.projects-add-inline-btn:hover:not(:disabled){filter:brightness(.9)}.projects-add-inline-btn:disabled{opacity:.5;cursor:not-allowed}.projects-header-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.project-invite-btn-compact{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.project-invite-btn-compact:hover{background:var(--blue-500);border-color:#fff3;color:#fff}.projects-view-content{flex:1;display:flex;flex-direction:column;overflow:auto;min-height:0;padding-bottom:var(--spacing-xl)}.projects-chat-section{display:flex;flex-direction:column;background:var(--bg-primary);min-height:0}.projects-bottom-section{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-default);min-height:0}.projects-checklist-section{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.projects-checklist-full{flex:1;display:flex;flex-direction:column;min-width:0;max-width:800px;margin:0 auto;width:100%}.projects-ideas-section{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.projects-ideas-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-default);flex-shrink:0}.projects-ideas-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;flex-shrink:0}.projects-ideas-header .projects-add-idea-form{flex:1;padding:0;border:none;max-width:300px}.projects-ideas-count{font-size:var(--font-size-xs);color:var(--text-muted)}.projects-ideas-items{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);padding-bottom:var(--spacing-xl)}.projects-ideas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:var(--spacing-xl);background:var(--bg-primary);border-radius:var(--radius-md);margin:var(--spacing-md);border:1px dashed var(--border-default)}.projects-ideas-empty p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.projects-add-idea-form{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-default);background:var(--bg-primary)}.projects-add-idea-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-normal)}.projects-add-idea-input:focus{outline:none;border-color:#fff3}.projects-add-idea-input::placeholder{color:var(--text-muted)}.projects-add-idea-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:background var(--transition-normal);flex-shrink:0}.projects-add-idea-btn:hover:not(:disabled){filter:brightness(.9)}.projects-add-idea-btn:disabled{opacity:.5;cursor:not-allowed}.projects-content{flex:1;display:flex;overflow:hidden}.projects-checklist{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border-default);min-width:0}.projects-checklist-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.projects-checklist-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.projects-checklist-count{font-size:var(--font-size-xs);color:var(--text-muted)}.projects-checklist-items{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);padding-bottom:var(--spacing-xl)}.projects-checklist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--spacing-xl)}.projects-checklist-empty p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-sm)}.projects-checklist-empty span{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.checklist-item{margin-bottom:var(--spacing-xs)}.checklist-item-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.checklist-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:2px;border:2px solid var(--text-muted);border-radius:var(--radius-sm);background:transparent;cursor:pointer;flex-shrink:0;transition:all var(--transition-normal)}.checklist-item input[type=checkbox]:hover{border-color:var(--project-color, var(--blue-400))}.checklist-item input[type=checkbox]:checked{background:var(--project-color, var(--blue-500));border-color:var(--project-color, var(--blue-500))}.checklist-item input[type=checkbox]:checked:after{content:"";display:block;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);margin-left:4px}.checklist-item span{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4}.checklist-item span.completed{text-decoration:line-through;color:var(--text-muted)}.checklist-header-marker{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0;margin-top:2px}.checklist-item.idea-variant{opacity:.95}.checklist-item.idea-variant span{font-style:italic;color:var(--text-secondary)}.idea-status-dropdown{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:auto;min-width:100px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family);flex-shrink:0;transition:all var(--transition-normal)}.idea-status-dropdown:hover{border-color:var(--project-color, var(--blue-500))}.idea-status-dropdown:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.checklist-item.has-children>.checklist-item-row>span:not(.checklist-header-marker){font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.checklist-item-children{margin-left:var(--spacing-lg);padding-left:var(--spacing-md);border-left:1px solid var(--border-default)}.checklist-item.depth-1{margin-left:var(--spacing-lg)}.checklist-item.depth-2{margin-left:calc(var(--spacing-lg) * 2)}.checklist-item.depth-3{margin-left:calc(var(--spacing-lg) * 3)}.checklist-item.depth-4{margin-left:calc(var(--spacing-lg) * 4)}.checklist-linked-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;color:var(--purple-500, #8b5cf6);flex-shrink:0}.checklist-linked-badge svg{width:14px;height:14px}.checklist-item-actions{display:none;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.checklist-item-row:hover .checklist-item-actions{display:flex}.checklist-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal);padding:0}.checklist-btn:hover{background:var(--card-bg);color:var(--text-primary)}.checklist-btn.add-sub:hover{color:var(--project-color, var(--blue-500))}.checklist-btn.delete:hover{background:var(--status-error-bg);color:var(--status-error-text)}.checklist-add-subitem{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs);margin-left:var(--spacing-lg);padding-left:var(--spacing-md)}.checklist-add-subitem input{flex:1;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.checklist-add-subitem input:focus{outline:none;border-color:#fff3}.checklist-add-subitem-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--blue-500);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-normal)}.checklist-add-subitem-btn:hover{background:var(--blue-600)}.checklist-add-subitem-cancel{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal)}.checklist-add-subitem-cancel:hover{background:var(--card-bg);color:var(--text-primary)}.checklist-item-edit{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.checklist-item-edit input{flex:1;background:var(--bg-primary);border:1px solid var(--blue-500);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.checklist-item-edit input:focus{outline:none}.projects-add-item-form{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-default);margin-bottom:var(--spacing-sm)}.projects-add-item-form input{flex:1;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.projects-add-item-form input:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.projects-add-item-form button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background var(--transition-normal)}.projects-add-item-form button:hover:not(:disabled){filter:brightness(.9)}.projects-add-item-form button:disabled{opacity:.5;cursor:not-allowed}.projects-add-item-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-normal)}.projects-add-item-input:focus{outline:none;border-color:#fff3}.projects-add-item-input::placeholder{color:var(--text-muted)}.projects-add-item-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:background var(--transition-normal);flex-shrink:0}.projects-add-item-btn:hover:not(:disabled){filter:brightness(.9)}.projects-add-item-btn:disabled{opacity:.5;cursor:not-allowed}.projects-ideas-toolbar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-default)}.projects-ideas-toolbar .projects-add-idea-form{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.projects-ideas-toolbar .projects-add-idea-form input{flex:1;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family)}.projects-ideas-toolbar .projects-add-idea-form input:focus{outline:none;border-color:var(--project-color, var(--blue-500))}.projects-ideas-toolbar .projects-add-idea-form button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background var(--transition-normal)}.projects-ideas-toolbar .projects-add-idea-form button:hover:not(:disabled){filter:brightness(.9)}.projects-ideas-toolbar .projects-add-idea-form button:disabled{opacity:.5;cursor:not-allowed}.projects-add-group-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.projects-add-group-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--project-color, var(--blue-500))}.projects-chat{flex:1;display:flex;flex-direction:column;min-width:0}.projects-chat-header{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-default)}.projects-chat-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.projects-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.projects-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.projects-chat-empty p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-md)}.projects-chat-examples{display:flex;flex-direction:column;gap:var(--spacing-xs)}.projects-chat-examples span{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--spacing-xs) var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md)}.projects-chat-message{display:flex;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.projects-chat-message.user{justify-content:flex-end}.projects-chat-message.assistant{justify-content:flex-start}.projects-chat-message-content{max-width:85%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-xl);font-size:var(--font-size-sm);line-height:1.5;white-space:pre-wrap}.projects-chat-message.user .projects-chat-message-content{background:linear-gradient(135deg,#60a5fa1f,#60a5fa0f);color:var(--text-primary);border:1px solid rgba(96,165,250,.25);border-bottom-right-radius:var(--radius-sm)}.projects-chat-message.assistant .projects-chat-message-content{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-bottom-left-radius:var(--radius-sm)}.projects-chat-message.error .projects-chat-message-content{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.projects-chat-action-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--status-success-text)}.projects-chat-message.loading .projects-chat-typing{display:flex;gap:4px;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-sm)}.projects-chat-typing span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s ease-in-out infinite}.projects-chat-typing span:nth-child(2){animation-delay:.2s}.projects-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.projects-chat-input-container{display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-default);background:var(--bg-primary)}.projects-chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);resize:none;max-height:100px;line-height:1.5;transition:border-color var(--transition-normal)}.projects-chat-input:focus{outline:none;border-color:var(--border-hover)}.projects-chat-input::placeholder{color:var(--text-muted)}.projects-chat-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.projects-chat-send-btn:hover:not(:disabled){background:var(--card-bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.projects-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.projects-mini-chat{display:flex;flex-direction:column;background:var(--bg-primary);min-width:0;min-height:0}.mini-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.mini-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary)}.mini-chat-empty p{font-size:var(--font-size-sm);margin:0 0 var(--spacing-xs)}.mini-chat-empty span{font-size:var(--font-size-xs);color:var(--text-muted)}.mini-chat-message{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-sm);max-width:90%;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.mini-chat-message.user{align-self:flex-end;background:#60a5fa1f;border:1px solid rgba(96,165,250,.25);color:var(--text-primary)}.mini-chat-message.assistant{align-self:flex-start;background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary)}.mini-chat-message.error{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.mini-chat-message.loading{background:transparent;border:none;padding:var(--spacing-xs) 0}.mini-chat-typing{display:flex;gap:4px}.mini-chat-typing span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s ease-in-out infinite}.mini-chat-typing span:nth-child(2){animation-delay:.2s}.mini-chat-typing span:nth-child(3){animation-delay:.4s}.mini-chat-input-container{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);border-top:1px solid var(--border-default);background:var(--bg-primary)}.mini-chat-input{flex:1;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-normal)}.mini-chat-input:focus{outline:none;border-color:#fff3}.mini-chat-input::placeholder{color:var(--text-muted)}.mini-chat-input:disabled{opacity:.7;cursor:not-allowed}.mini-chat-send-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--project-color, var(--blue-500));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0;transition:all var(--transition-normal)}.mini-chat-send-btn:hover:not(:disabled){filter:brightness(.9)}.mini-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.projects-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md)}.projects-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:440px;display:flex;flex-direction:column;animation:slideUp .2s ease-out}.projects-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-default)}.projects-modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.projects-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal)}.projects-modal-close:hover{background:var(--card-bg);color:var(--text-primary)}.projects-modal-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.projects-modal-body label{display:flex;flex-direction:column;gap:var(--spacing-xs)}.projects-modal-body label span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.projects-modal-body input,.projects-modal-body textarea{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-normal)}.projects-modal-body input:focus,.projects-modal-body textarea:focus{outline:none;border-color:#fff3}.projects-modal-body input::placeholder,.projects-modal-body textarea::placeholder{color:var(--text-muted)}.projects-modal-body textarea{resize:vertical;min-height:80px}.projects-modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.projects-modal-cancel,.projects-modal-create{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.projects-modal-cancel{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.projects-modal-cancel:hover{background:var(--card-bg);color:var(--text-primary)}.projects-modal-create{background:var(--blue-500);border:none;color:#fff}.projects-modal-create:hover:not(:disabled){background:var(--blue-600)}.projects-modal-create:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1024px){.projects-content-full{grid-template-columns:1fr;grid-template-rows:1fr auto}.projects-chat-section{max-height:250px;border-top:1px solid var(--border-default)}.projects-view-header{flex-wrap:wrap}.projects-add-inline-form{max-width:100%;order:2;width:100%;margin-top:var(--spacing-xs)}.projects-ideas-section{max-height:35vh}.projects-bottom-section{grid-template-columns:1fr}.projects-mini-chat{max-height:40vh;border-top:1px solid var(--border-default)}.projects-content{flex-direction:column}.projects-checklist{border-right:none;border-bottom:1px solid var(--border-default);max-height:40vh}.projects-chat{flex:1;min-height:300px}.projects-checklist-full{max-width:100%;padding:0 var(--spacing-md)}}@media (max-width: 768px){.projects-layout{flex-direction:column}.projects-sidebar{width:100%;max-height:150px;border-right:none;border-bottom:1px solid var(--border-default)}.projects-list{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.projects-item{flex-shrink:0;margin-bottom:0}.projects-content-full{grid-template-columns:1fr;grid-template-rows:1fr auto}.projects-chat-section{max-height:200px}.projects-view-toggle{width:100%;justify-content:center}.view-toggle-btn{flex:1;text-align:center}.projects-ideas-section{max-height:30vh}.projects-bottom-section{grid-template-columns:1fr;grid-template-rows:1fr auto}.projects-checklist-section{max-height:35vh}.projects-mini-chat{max-height:35vh;border-top:1px solid var(--border-default)}.projects-content{flex-direction:column}.projects-checklist,.projects-chat{flex:none;height:auto;min-height:200px}.projects-checklist-full{max-width:100%}.checklist-item-actions{display:flex}.checklist-add-subitem{flex-wrap:wrap}.checklist-add-subitem input{min-width:150px}}.color-picker{display:flex;flex-direction:column;gap:var(--spacing-sm)}.color-picker label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.color-palette{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.color-circle{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all var(--transition-normal);background-clip:padding-box}.color-circle:hover{transform:scale(1.1)}.color-circle.selected{border-color:#fff3;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--blue-500)}.context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000004d;z-index:1000;min-width:160px;overflow:hidden;animation:slideIn .15s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-normal);border-bottom:1px solid var(--border-default)}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:var(--card-bg-hover);color:var(--blue-500)}.context-menu-item.delete:hover{color:var(--red-500)}.context-menu-color{padding:var(--spacing-md)}.context-menu-back{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-normal);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-default)}.context-menu-back:hover{color:var(--text-primary)}.ai-chat-bubble{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--project-color, var(--blue-500));border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000004d,0 0 0 0 var(--project-color, var(--blue-500));transition:transform .2s ease,box-shadow .2s ease;z-index:1000}.ai-chat-bubble:hover{transform:scale(1.08);box-shadow:0 6px 24px #00000059}.ai-chat-bubble.open{background:var(--bg-tertiary);color:var(--text-secondary)}.ai-chat-bubble.open:hover{color:var(--text-primary)}.ai-chat-overlay{position:fixed;bottom:92px;right:24px;width:320px;max-height:500px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;z-index:999;animation:slideUp .2s ease-out}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.ai-chat-title{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ai-chat-title svg{color:var(--project-color, var(--blue-500))}.ai-chat-context{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;margin-right:var(--spacing-sm)}.ai-chat-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ai-chat-close:hover{background:var(--card-bg-hover);color:var(--text-primary)}.ai-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:200px;max-height:320px}.ai-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl);color:var(--text-muted)}.ai-chat-empty-icon{color:var(--text-muted);margin-bottom:var(--spacing-md);opacity:.5}.ai-chat-empty p{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.ai-chat-empty span{font-size:var(--font-size-xs);color:var(--text-muted)}.ai-chat-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5;max-width:85%;animation:slideUp .15s ease-out;white-space:pre-wrap;word-break:break-word}.ai-chat-message.user{align-self:flex-end;background:linear-gradient(135deg,#dc143c1f,#dc143c0f);border:1px solid rgba(220,20,60,.25);color:var(--text-primary);border-bottom-right-radius:var(--radius-sm)}.ai-chat-message.assistant{align-self:flex-start;background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm)}.ai-chat-message.error{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.ai-chat-debug-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);margin-left:auto;margin-right:var(--spacing-xs)}.ai-chat-debug-toggle:hover{background:var(--card-bg-hover);color:var(--text-primary)}.ai-chat-debug-toggle.active{background:#8b5cf633;border-color:#8b5cf6;color:#a78bfa}.ai-chat-debug-json{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#0000004d;border-radius:var(--radius-sm);border:1px solid rgba(139,92,246,.3);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:10px;overflow-x:auto}.ai-chat-debug-label{font-size:9px;font-weight:var(--font-weight-semibold);color:#a78bfa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.ai-chat-debug-json pre{margin:0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.ai-chat-message.loading{background:transparent;border:none;padding:var(--spacing-xs) 0}.ai-chat-typing{display:flex;gap:5px;padding:var(--spacing-xs)}.ai-chat-typing span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typingBounce 1.2s infinite ease-in-out}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-chat-input-form{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--border-default);background:var(--bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.ai-chat-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color var(--transition-fast)}.ai-chat-input:focus{outline:none;border-color:#fff3}.ai-chat-input::placeholder{color:var(--text-muted)}.ai-chat-input:disabled{opacity:.7;cursor:not-allowed}.ai-chat-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--blue-500);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.ai-chat-send-btn:hover:not(:disabled){background:var(--blue-hover)}.ai-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 500px){.ai-chat-bubble{bottom:16px;right:16px;width:48px;height:48px}.ai-chat-overlay{bottom:80px;right:16px;left:16px;width:auto;max-height:60vh}}.projects-invitations{padding:var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-default)}.projects-invitations h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0}.invitation-card{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.invitation-info{margin-bottom:var(--spacing-xs)}.invitation-title{font-weight:var(--font-weight-medium);color:var(--text-primary);display:block}.invitation-from{font-size:var(--font-size-xs);color:var(--text-secondary)}.invitation-actions{display:flex;gap:var(--spacing-xs)}.invitation-accept,.invitation-decline{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:all var(--transition-fast)}.invitation-accept{background:var(--green-500);color:#fff}.invitation-accept:hover{background:var(--green-600)}.invitation-decline{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-default)}.invitation-decline:hover{background:var(--bg-tertiary)}.member-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:var(--font-weight-semibold);flex-shrink:0}.project-members{display:flex;align-items:center}.project-members .member-avatar{margin-left:-8px;border:2px solid var(--bg-secondary)}.project-members .member-avatar:first-child{margin-left:0}.project-members-more{margin-left:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-secondary)}.project-leave-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.project-leave-btn:hover{background:var(--red-500);border-color:var(--red-500);color:#fff}.projects-activity-tab{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;max-height:calc(100vh - 300px)}.projects-members-section h4,.projects-activity-section h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.projects-members-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.projects-member-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md)}.projects-member-info{flex:1}.projects-member-name{font-weight:var(--font-weight-medium);color:var(--text-primary);display:block}.projects-member-role{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:capitalize}.projects-member-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.projects-member-remove:hover{background:var(--red-500);color:#fff}.projects-activity-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.projects-activity-empty{text-align:center;padding:var(--spacing-lg);color:var(--text-tertiary)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-md)}.activity-content{flex:1;line-height:1.4}.activity-user{font-weight:var(--font-weight-medium);color:var(--text-primary)}.activity-action{color:var(--text-secondary);margin-left:var(--spacing-xs)}.activity-detail{color:var(--text-primary);font-style:italic;margin-left:var(--spacing-xs);max-width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.activity-time{display:block;font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.projects-modal-hint{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--spacing-sm) 0 0 0}.doc-subtabs{display:flex;align-items:center;gap:4px;padding:0 var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-md);margin-left:var(--spacing-sm)}.doc-subtab-wrapper{display:flex;align-items:center}.doc-subtab{padding:4px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.doc-subtab:hover{color:var(--text-primary);background:var(--bg-secondary)}.doc-subtab.active{color:var(--text-primary);background:var(--project-color, var(--blue-500));color:#fff}.doc-subtab-add{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-left:4px}.doc-subtab-add:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--bg-secondary)}.doc-subtab-rename{padding:4px 8px;background:var(--bg-primary);border:1px solid var(--blue-500);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-family);width:100px}.doc-subtab-rename:focus{outline:none}.doc-context-menu{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000004d;z-index:1001;min-width:120px;overflow:hidden;animation:slideIn .15s ease-out}.doc-context-menu-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-normal)}.doc-context-menu-item:hover{background:var(--card-bg-hover);color:var(--blue-500)}.doc-context-menu-item.delete:hover{background:var(--status-error-bg);color:var(--status-error-text)}@media (max-width: 768px){.doc-subtabs{overflow-x:auto;max-width:200px;scrollbar-width:none;-ms-overflow-style:none}.doc-subtabs::-webkit-scrollbar{display:none}.doc-subtab{max-width:80px}}.persona-editor{background:var(--color-surface, #1a1a2e);border:1px solid var(--color-border, #333);border-radius:8px;padding:16px;margin-bottom:20px}.persona-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.persona-header h3{margin:0;color:var(--color-text, #fff)}.persona-status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.persona-status.enabled{background:#2ed57333;color:#2ed573}.persona-status.disabled{background:#ff6b6b33;color:#ff6b6b}.persona-error{background:#ff6b6b1a;border:1px solid #ff6b6b;color:#ff6b6b;padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:14px}.persona-enabled-toggle{margin-bottom:12px}.persona-enabled-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--color-text-secondary, #aaa)}.persona-enabled-toggle input[type=checkbox]{width:16px;height:16px}.persona-textarea{width:100%;min-height:300px;padding:12px;background:var(--color-input-bg, #0f0f1a);border:1px solid var(--color-border, #333);border-radius:4px;color:var(--color-text, #fff);font-family:monospace;font-size:13px;line-height:1.5;resize:vertical}.persona-textarea:focus{outline:none;border-color:var(--color-primary, #667eea)}.persona-char-count{text-align:right;font-size:12px;color:var(--color-text-secondary, #666);margin-top:4px;margin-bottom:12px}.persona-preview{background:var(--color-input-bg, #0f0f1a);border:1px solid var(--color-border, #333);border-radius:4px;padding:12px;color:var(--color-text, #fff);font-family:monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto;margin:0 0 12px}.persona-actions{display:flex;gap:8px;flex-wrap:wrap}.persona-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s}.persona-btn:disabled{opacity:.5;cursor:not-allowed}.persona-btn-save{background:var(--color-primary, #667eea);color:#fff}.persona-btn-save:hover:not(:disabled){opacity:.9}.persona-btn-cancel{background:var(--color-surface, #2a2a3e);color:var(--color-text, #fff);border:1px solid var(--color-border, #333)}.persona-btn-edit{background:var(--color-primary, #667eea);color:#fff}.persona-btn-reset{background:transparent;color:var(--color-text-secondary, #aaa);border:1px solid var(--color-border, #333);margin-left:auto}.persona-btn-reset:hover:not(:disabled){color:#ff6b6b;border-color:#ff6b6b}.debug-page,.debug-section{padding:24px;max-width:600px;margin:0 auto;color:var(--text-primary)}.debug-section{padding:0;max-width:none}.debug-page h1{font-size:24px;font-weight:600;margin-bottom:32px;color:var(--blue-500);text-align:center}.debug-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.debug-section-header h2{font-size:20px;font-weight:600;color:var(--blue-500);margin:0}.debug-refresh-button{padding:8px 16px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.debug-refresh-button:hover:not(:disabled){background:var(--bg-tertiary);border-color:#fff3}.debug-refresh-button:disabled{opacity:.6;cursor:not-allowed}.debug-loading,.debug-error{text-align:center;padding:48px;color:var(--text-secondary)}.debug-error{color:var(--color-red)}.debug-checkin-container{background:var(--bg-secondary);border-radius:8px;padding:32px;border:1px solid var(--border-default);display:flex;flex-direction:column;gap:24px}.debug-checkin-time,.debug-checkin-countdown,.debug-checkin-reason,.debug-checkin-preview,.debug-checkin-watching,.debug-checkin-snapshot{display:flex;flex-direction:column;gap:8px}.debug-checkin-container .label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.debug-checkin-time .time,.debug-checkin-countdown .countdown{font-size:16px;font-family:JetBrains Mono,monospace;color:var(--blue-500);font-weight:600}.debug-checkin-countdown .countdown{color:var(--blue-hover)}.debug-checkin-reason .reason{font-size:14px;color:var(--text-primary);background:var(--bg-tertiary);padding:12px;border-radius:6px;border-left:3px solid var(--blue-500)}.debug-checkin-preview .preview{font-size:14px;color:var(--text-primary);background:var(--bg-tertiary);padding:12px;border-radius:6px;border-left:3px solid var(--text-tertiary);line-height:1.5;max-height:200px;overflow-y:auto}.debug-checkin-watching .watching-list{margin:0;list-style:none;background:var(--bg-tertiary);padding:12px;border-radius:6px;border-left:3px solid var(--color-green)}.debug-checkin-watching .watching-list li{font-size:13px;color:var(--text-primary);position:relative;padding:4px 0 4px 16px}.debug-checkin-watching .watching-list li:before{content:"•";position:absolute;left:0;color:var(--color-green);font-weight:700}.debug-checkin-snapshot .snapshot-details{display:flex;gap:16px;flex-wrap:wrap;background:var(--bg-tertiary);padding:12px;border-radius:6px;border-left:3px solid var(--text-tertiary)}.debug-checkin-snapshot .snapshot-details span{font-size:12px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.debug-no-checkin{text-align:center;padding:48px 32px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-default)}.debug-no-checkin p{margin:0 0 12px;color:var(--text-secondary)}.debug-no-checkin p.hint{font-size:12px;color:var(--text-tertiary);margin:0}.debug-footer{text-align:center;padding-top:16px;margin-top:16px;border-top:1px solid var(--border-default)}.debug-footer small{color:var(--text-tertiary);font-size:11px;font-family:JetBrains Mono,monospace}.debug-clear-button{align-self:flex-start;padding:8px 16px;background:var(--color-red);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;margin-top:8px}.debug-clear-button:hover:not(:disabled){background:#dc2626}.debug-clear-button:disabled{opacity:.6;cursor:not-allowed}.debug-time-warning{display:flex;align-items:center;gap:16px;padding:16px 24px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;margin-bottom:24px;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.9}}.debug-time-warning .warning-icon{font-size:32px;line-height:1}.debug-time-warning .warning-content{display:flex;flex-direction:column;gap:4px}.debug-time-warning .warning-content strong{color:#92400e;font-size:16px;font-weight:700;letter-spacing:.5px}.debug-time-warning .warning-content span{color:#78350f;font-size:13px}.debug-time-control{background:var(--bg-secondary);border-radius:8px;padding:24px;border:1px solid var(--border-default);margin-bottom:32px}.debug-time-control h2,.debug-time-control h3{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.time-status-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.time-status-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-default)}.time-status-item .label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.time-status-item .time-value{font-size:15px;font-family:JetBrains Mono,monospace;color:var(--text-primary);font-weight:500;display:flex;align-items:center;gap:8px}.time-status-item .time-value.mocked{color:var(--color-orange);font-weight:600}.mocked-badge{font-size:10px;padding:2px 6px;background:var(--color-orange);color:#fff;border-radius:3px;font-weight:700;letter-spacing:.5px}.time-difference{font-size:14px;font-family:JetBrains Mono,monospace;color:var(--blue-500);font-weight:600}.time-control-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.datetime-input-group{display:flex;flex-direction:column;gap:8px}.datetime-input-group label{font-size:12px;color:var(--text-secondary);font-weight:600}.datetime-input{padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;transition:border-color .2s}.datetime-input:focus{outline:none;border-color:#fff3}.time-control-buttons{display:flex;gap:12px;flex-wrap:wrap}.set-time-button,.clear-time-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.set-time-button{background:var(--blue-500);color:#fff}.set-time-button:hover:not(:disabled){background:var(--blue-hover)}.set-time-button:disabled{opacity:.5;cursor:not-allowed}.clear-time-button{background:var(--color-red);color:#fff}.clear-time-button:hover:not(:disabled){background:#dc2626}.clear-time-button:disabled{opacity:.5;cursor:not-allowed}.time-control-help{padding-top:16px;border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:8px}.help-text{font-size:12px;color:var(--text-tertiary);margin:0;line-height:1.5}.help-text.warning{color:var(--color-orange);font-weight:600}.debug-intent-section{background:var(--bg-secondary);border-radius:8px;padding:24px;border:1px solid var(--border-default);margin-bottom:32px}.debug-intent-section h2,.debug-intent-section h3{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.intent-routing-status{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.routing-badge{font-size:11px;padding:4px 8px;border-radius:4px;font-weight:700;letter-spacing:.5px}.routing-badge.enabled{background:#22c55e;color:#fff}.routing-badge.disabled{background:#6b7280;color:#fff}.worker-url{font-size:12px;color:var(--text-tertiary);font-family:JetBrains Mono,monospace}.intent-test-input{display:flex;gap:12px;margin-bottom:16px}.intent-message-input{flex:1;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color .2s}.intent-message-input:focus{outline:none;border-color:#fff3}.test-intent-button{padding:10px 20px;background:var(--blue-500);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.test-intent-button:hover:not(:disabled){background:var(--blue-hover)}.test-intent-button:disabled{opacity:.5;cursor:not-allowed}.intent-error{color:var(--color-red);font-size:13px;padding:12px;background:#ef44441a;border-radius:6px;margin-bottom:16px}.intent-result{background:var(--bg-tertiary);border-radius:8px;padding:16px;border:1px solid var(--border-default)}.intent-result-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.intent-type-badge{padding:6px 12px;border-radius:4px;color:#fff;font-weight:700;font-size:14px;letter-spacing:.5px}.method-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px}.method-badge.semantic{background:#8b5cf6;color:#fff}.method-badge.vllm{background:#f59e0b;color:#fff}.method-badge.error{background:#ef4444;color:#fff}.subtype-badge{padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.confidence-section{margin-bottom:16px}.confidence-label,.scores-label,.reasoning-label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:8px}.confidence-bar-container{position:relative;height:24px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.confidence-bar{height:100%;transition:width .3s ease}.confidence-bar.high{background:linear-gradient(90deg,#22c55e,#16a34a)}.confidence-bar.medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.confidence-bar.low{background:linear-gradient(90deg,#ef4444,#dc2626)}.confidence-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.all-scores-section{margin-bottom:16px}.route-scores{display:flex;flex-direction:column;gap:8px}.route-score-item{display:flex;align-items:center;gap:12px}.route-name{min-width:140px;flex-shrink:0;font-size:12px;font-weight:600}.route-score-bar-container{flex:1;position:relative;height:16px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.route-score-bar{height:100%;transition:width .3s ease}.route-score-bar.high{background:#22c55e}.route-score-bar.medium{background:#f59e0b}.route-score-bar.low{background:#6b7280}.route-score-value{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:600;color:var(--text-primary);font-family:JetBrains Mono,monospace}.reasoning-section{margin-bottom:12px}.reasoning-text{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5;background:var(--bg-secondary);padding:12px;border-radius:6px;border-left:3px solid var(--blue-500)}.clarification-warning{padding:8px 12px;background:#f59e0b26;border:1px solid #f59e0b;border-radius:4px;font-size:12px;color:#d97706;font-weight:600}.debug-conversation-section{margin-bottom:32px}.debug-conversation-section h2{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.debug-persona-section{margin-bottom:32px}.debug-persona-section h2,.debug-persona-section h3{font-size:18px;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.routing-toggles{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:16px;margin:16px 0}.routing-toggle-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-default)}.routing-toggle-item:last-of-type{border-bottom:none}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-label{font-weight:600;color:var(--text-primary);font-size:14px}.toggle-description{font-size:12px;color:var(--text-secondary)}.toggle-button{min-width:60px;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.toggle-button.enabled{background:#22c55e;color:#fff}.toggle-button.disabled{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}.toggle-button:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.toggle-button:disabled{opacity:.6;cursor:not-allowed}.routing-toggle-help{font-size:11px;color:var(--text-tertiary);margin-top:12px;margin-bottom:0;font-style:italic}.debug-usage-section{margin-top:24px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px}.debug-usage-section h3{margin-top:0;margin-bottom:16px;color:var(--text-primary)}.usage-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.usage-time-filters{display:flex;gap:8px}.usage-filter-btn{padding:6px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all .2s}.usage-filter-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.usage-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.usage-filter-btn:disabled{opacity:.5;cursor:not-allowed}.usage-refresh-btn{padding:6px 16px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:13px;transition:all .2s}.usage-refresh-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--border-hover)}.usage-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.usage-error{padding:12px;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#b91c1c;margin-bottom:16px}.usage-data{display:flex;flex-direction:column;gap:20px}.usage-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.usage-total-card{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px}.usage-total-label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.usage-total-value{font-size:24px;font-weight:600;color:var(--text-primary)}.usage-total-value.cost{color:#22c55e}.usage-by-provider h4,.usage-by-user h4{margin-top:0;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.provider-breakdown{display:flex;gap:12px;flex-wrap:wrap}.provider-card{flex:1;min-width:150px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;border-left:3px solid var(--border-default)}.provider-card.grok{border-left-color:#f59e0b}.provider-card.gemini{border-left-color:#3b82f6}.provider-card.vllm{border-left-color:#8b5cf6}.provider-name{display:block;font-size:12px;font-weight:600;color:var(--text-tertiary);margin-bottom:8px}.provider-stats{display:flex;flex-direction:column;gap:4px}.provider-cost{font-size:18px;font-weight:600;color:#22c55e}.provider-tokens,.provider-requests{font-size:12px;color:var(--text-secondary)}.usage-table{width:100%;border-collapse:collapse;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.usage-table th,.usage-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-default)}.usage-table th{background:var(--bg-tertiary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.usage-table tr:last-child td{border-bottom:none}.usage-table .user-name{font-weight:500;color:var(--text-primary)}.usage-table .user-cost{color:#22c55e;font-weight:500}.usage-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-style:italic}.test-profiles-page,.test-profiles-section{padding:24px;max-width:900px;margin:0 auto;color:var(--text-primary)}.test-profiles-section{padding:0;max-width:none}.test-profiles-page h1{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--blue-500)}.test-profiles-description{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.test-profiles-error{background:#ef44441a;border:1px solid var(--color-red);color:var(--color-red);padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.test-profiles-actions{display:flex;gap:12px;margin-bottom:24px}.test-profiles-action-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.test-profiles-action-btn.primary{background:var(--blue-500);color:#fff}.test-profiles-action-btn.primary:hover:not(:disabled){background:var(--blue-hover)}.test-profiles-action-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default)}.test-profiles-action-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary)}.test-profiles-action-btn:disabled{opacity:.6;cursor:not-allowed}.test-profiles-form-container{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:24px;margin-bottom:24px}.test-profiles-form-container h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.test-profiles-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#fff3}.form-group input::placeholder{color:var(--text-tertiary)}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-submit-btn{padding:12px 24px;background:var(--blue-500);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:8px}.form-submit-btn:hover:not(:disabled){background:var(--blue-hover)}.form-submit-btn:disabled{opacity:.6;cursor:not-allowed}.form-cancel-btn{padding:10px 20px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:6px;font-size:14px;cursor:pointer;margin-top:12px}.form-cancel-btn:hover{background:var(--bg-tertiary)}.no-users-message{color:var(--text-secondary);font-size:14px;font-style:italic}.test-profiles-list{margin-top:32px}.test-profiles-list h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.test-profiles-loading,.test-profiles-empty{text-align:center;padding:32px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-default)}.test-profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.test-profile-card{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:16px;transition:border-color .2s}.test-profile-card:hover{border-color:#fff3}.test-profile-card.selected{border-color:#fff3;box-shadow:0 0 0 2px #60a5fa33}.profile-card-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.profile-card-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.profile-date{font-size:11px;color:var(--text-tertiary);font-family:JetBrains Mono,monospace}.profile-card-stats{display:flex;gap:16px;margin-bottom:16px}.profile-card-stats .stat{display:flex;flex-direction:column;gap:2px}.profile-card-stats .stat-value{font-size:18px;font-weight:600;color:var(--blue-500);font-family:JetBrains Mono,monospace}.profile-card-stats .stat-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.profile-card-actions{display:flex;gap:8px}.profile-action-btn{flex:1;padding:8px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.profile-action-btn.view{background:var(--bg-tertiary);color:var(--text-primary)}.profile-action-btn.view:hover:not(:disabled){background:var(--bg-primary)}.profile-action-btn.delete{background:#ef44441a;color:var(--color-red)}.profile-action-btn.delete:hover:not(:disabled){background:#ef444433}.profile-action-btn:disabled{opacity:.6;cursor:not-allowed}.test-profile-detail{margin-top:32px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:24px}.test-profile-detail h2{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.profile-detail-meta{font-size:12px;color:var(--text-tertiary);font-family:JetBrains Mono,monospace;margin-bottom:20px}.profile-data-section{margin-bottom:16px;border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.section-toggle{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.section-toggle:hover{background:var(--bg-primary)}.section-title{font-size:14px;font-weight:600;color:var(--text-primary)}.section-arrow{font-size:12px;color:var(--text-tertiary)}.section-content{padding:16px;background:var(--bg-primary)}.json-data{margin:0;padding:12px;background:var(--bg-secondary);border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace;color:var(--text-primary);overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.no-data{color:var(--text-tertiary);font-size:13px;font-style:italic;margin:0}@media (max-width: 640px){.test-profiles-actions{flex-direction:column}.form-row,.test-profiles-grid{grid-template-columns:1fr}}.memory-section{padding:16px 0}.memory-loading{text-align:center;padding:32px;color:var(--text-secondary)}.memory-error{padding:12px 16px;background:var(--error-bg, #fee);border:1px solid var(--error-border, #fcc);border-radius:4px;color:var(--error-text, #c33);margin-bottom:16px;font-size:14px}.memory-reindex-result{padding:12px 16px;background:var(--success-bg, #efe);border:1px solid var(--success-border, #cfc);border-radius:4px;color:var(--success-text, #363);margin-bottom:16px;font-size:14px}.reindex-breakdown{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap}.reindex-stat{font-size:12px;padding:2px 8px;background:var(--bg-tertiary);border-radius:3px}.memory-stats{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:6px;margin-bottom:16px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:capitalize}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary)}.memory-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.memory-mode-toggle{display:flex;gap:8px}.mode-btn{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mode-btn.active{background:var(--blue-500);color:#fff;border-color:#fff3}.reindex-btn{padding:8px 16px;background:var(--blue-500);border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.reindex-btn:hover:not(:disabled){background:var(--blue-600)}.reindex-btn:disabled{opacity:.5;cursor:not-allowed}.reindex-btn.clear{background:var(--orange-500, #f97316);margin-left:8px}.reindex-btn.clear:hover:not(:disabled){background:var(--orange-600, #ea580c)}.memory-filters{display:flex;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-radius:4px;margin-bottom:16px;align-items:center}.filter-group{display:flex;gap:8px;align-items:center}.filter-group label{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.filter-group select{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:4px;color:var(--text-primary);font-size:14px;cursor:pointer}.filter-group input[type=checkbox]{cursor:pointer}.memory-table-container{overflow-x:auto;border:1px solid var(--border-default);border-radius:6px;margin-bottom:16px}.memory-table{width:100%;border-collapse:collapse}.memory-table thead{background:var(--bg-secondary)}.memory-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.memory-table tbody tr{border-bottom:1px solid var(--border-default)}.memory-table tbody tr:hover{background:var(--bg-secondary)}.memory-table td{padding:12px 16px;font-size:14px;color:var(--text-primary)}.memory-empty{padding:32px;text-align:center;color:var(--text-secondary);font-size:14px}.type-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge.blue{background:#dbeafe;color:#1e40af}.type-badge.green{background:#dcfce7;color:#166534}.type-badge.orange{background:#ffedd5;color:#9a3412}.type-badge.purple{background:#f3e8ff;color:#6b21a8}.type-badge.teal{background:#ccfbf1;color:#115e59}.type-badge.gray{background:#f3f4f6;color:#374151}.deleted-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500;background:#fee2e2;color:#991b1b}.delete-btn{padding:6px 12px;background:transparent;border:1px solid var(--error-border, #fcc);border-radius:4px;color:var(--error-text, #c33);font-size:13px;cursor:pointer;transition:all .2s}.delete-btn:hover:not(:disabled){background:var(--error-bg, #fee)}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.memory-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 0}.pagination-btn{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:var(--text-secondary)}.memory-search{display:flex;gap:8px;margin-bottom:16px}.search-input{flex:1;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;color:var(--text-primary);font-size:14px}.search-input:focus{outline:none;border-color:#fff3}.search-btn{padding:10px 24px;background:var(--blue-500);border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.search-btn:hover:not(:disabled){background:var(--blue-600)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-results{display:flex;flex-direction:column;gap:12px}.search-result-item{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:16px}.result-score-container{display:flex;align-items:center;gap:8px;flex:1}.score-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.score-bar-container{position:relative;flex:1;height:20px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden;max-width:200px}.score-bar{height:100%;transition:width .3s ease;border-radius:10px}.score-value{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--text-primary)}.result-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.result-meta{display:flex;gap:12px;align-items:center;margin-bottom:12px}.result-timestamp{font-size:13px;color:var(--text-secondary)}.source-badge{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:500}.source-explicit{background:#dcfce7;color:#166534}.source-implicit{background:#fef9c3;color:#854d0e}.source-unknown,.source-na{background:#f3f4f6;color:#6b7280}.confidence-value{font-size:13px;font-weight:500}.confidence-high{color:#22c55e}.confidence-medium{color:#eab308}.confidence-low{color:#ef4444}.inactive-badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500;background:#fef3c7;color:#92400e}.type-badge.pink{background:#ec489926;color:#db2777}.type-badge.gold{background:#eab30826;color:#a16207}.type-badge.cyan{background:#06b6d426;color:#0e7490}.type-badge.indigo{background:#6366f126;color:#4338ca}.schema-view{margin-top:16px}.schema-user-list{display:flex;flex-direction:column;gap:8px}.schema-user-card{border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.schema-user-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-secondary);cursor:pointer;transition:background .2s}.schema-user-header:hover{background:var(--bg-tertiary)}.schema-user-header.expanded{border-bottom:1px solid var(--border-default)}.schema-user-info{display:flex;flex-direction:column;gap:2px}.schema-user-name{font-weight:600;font-size:14px;color:var(--text-primary)}.schema-user-email{font-size:12px;color:var(--text-secondary)}.schema-user-counts{display:flex;align-items:center;gap:12px}.schema-user-count{font-size:13px;color:var(--text-secondary);padding:2px 10px;background:var(--bg-tertiary);border-radius:10px}.schema-expand-icon{font-size:10px;color:var(--text-muted)}.schema-user-detail{padding:16px;background:var(--bg-primary)}.schema-sections{display:flex;flex-direction:column;gap:8px}.schema-section{border:1px solid var(--border-default);border-radius:4px;overflow:hidden}.schema-section-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-secondary);cursor:pointer;transition:background .2s}.schema-section-header:hover{background:var(--bg-tertiary)}.schema-section-icon{font-size:10px;color:var(--text-muted);width:12px}.schema-section-name{font-weight:600;font-size:13px;color:var(--text-primary);text-transform:capitalize;flex:1}.schema-section-count{font-size:12px;color:var(--text-secondary);padding:1px 8px;background:var(--bg-tertiary);border-radius:8px}.schema-section-content{padding:8px 14px;display:flex;flex-direction:column;gap:4px}.schema-empty-section{padding:8px 0;color:var(--text-muted);font-size:13px;font-style:italic}.schema-item{padding:6px 0;border-bottom:1px solid var(--border-default);display:flex;gap:8px;align-items:flex-start}.schema-item:last-child{border-bottom:none}.schema-item-key{font-weight:500;font-size:13px;color:var(--text-secondary);white-space:nowrap}.schema-item-text{font-size:13px;color:var(--text-primary);line-height:1.5}.schema-item-json{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary);padding:8px 12px;border-radius:4px;margin:0;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;width:100%}.intent-routes-section{padding:1rem}.intent-routes-loading{text-align:center;padding:2rem;color:#888}.intent-routes-error{background:#2a1f1f;border:1px solid #ff4444;border-radius:6px;padding:1rem;margin-bottom:1rem;color:#f66}.intent-stats{display:flex;gap:1rem;padding:1rem;background:#1e1e1e;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:#888;text-transform:capitalize}.stat-label.cat-blue{color:#4a9eff}.stat-label.cat-green{color:#22c55e}.stat-label.cat-orange{color:#f97316}.stat-label.cat-teal{color:#14b8a6}.stat-label.cat-purple{color:#a855f7}.stat-label.cat-pink{color:#ec4899}.stat-label.cat-gray{color:#888}.stat-label.cat-cyan{color:#06b6d4}.stat-label.cat-amber{color:#f59e0b}.stat-value{font-size:1.25rem;font-weight:600;color:#fff}.test-suite-section{background:#1e1e1e;border-radius:8px;padding:1rem;margin-bottom:1rem}.test-suite-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.test-suite-header h3{margin:0;font-size:1rem;color:#fff}.run-tests-btn{padding:.5rem 1rem;background:#4a9eff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.run-tests-btn:hover:not(:disabled){background:#3a8eef}.run-tests-btn:disabled{opacity:.5;cursor:not-allowed}.run-tests-btn.success{background:#22c55e}.run-tests-btn.warning{background:#eab308}.run-tests-btn.error{background:#ef4444}.test-suite-result{padding:1rem;border-radius:6px;background:#2a2a2a}.test-suite-result.success{border-left:4px solid #22c55e}.test-suite-result.warning{border-left:4px solid #eab308}.test-suite-result.error{border-left:4px solid #ef4444}.test-suite-summary{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.test-suite-summary .accuracy{font-size:1.5rem;font-weight:700;color:#fff}.test-suite-summary .counts{display:flex;gap:.5rem;font-size:.9rem}.test-suite-summary .passed{color:#22c55e}.test-suite-summary .failed{color:#ef4444}.test-suite-summary .total{color:#888}.test-failures{margin-top:1rem}.test-failures h4{margin:0 0 .75rem;font-size:.9rem;color:#ef4444}.failures-table{width:100%;border-collapse:collapse;font-size:.85rem}.failures-table th{text-align:left;padding:.5rem;background:#333;color:#888;font-weight:500}.failures-table td{padding:.5rem;border-bottom:1px solid #333;color:#aaa}.failures-table .query-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intent-test-section{background:#1e1e1e;border-radius:8px;padding:1rem;margin-bottom:1rem}.intent-test-section h3{margin:0 0 .75rem;font-size:1rem;color:#fff}.intent-test-controls{margin-bottom:.75rem}.multi-intent-toggle{display:flex;align-items:center;gap:.5rem;color:#888;font-size:.85rem;cursor:pointer}.multi-intent-toggle input{cursor:pointer}.intent-test-input{display:flex;gap:.5rem}.test-input{flex:1;padding:.75rem 1rem;border:1px solid #333;border-radius:6px;background:#2a2a2a;color:#fff;font-size:.9rem}.test-input:focus{outline:none;border-color:#4a9eff}.test-btn{padding:.75rem 1.5rem;background:#4a9eff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.test-btn:hover:not(:disabled){background:#3a8eef}.test-btn:disabled{opacity:.5;cursor:not-allowed}.test-result{margin-top:1rem;padding:1rem;background:#2a2a2a;border-radius:6px}.test-result-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.test-result-reasoning{color:#aaa;font-size:.85rem;margin-bottom:.75rem}.secondary-intents{margin-bottom:.75rem;padding:.5rem;background:#333;border-radius:4px}.secondary-intents strong{color:#888;font-size:.85rem;margin-right:.5rem}.secondary-item{display:inline-flex;align-items:center;gap:.25rem;margin-right:.75rem}.secondary-confidence{font-size:.75rem;color:#888}.compound-badge{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;background:#3a2a1f;color:#f97316}.test-result-scores{font-size:.85rem}.test-result-scores strong{color:#888}.scores-grid{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.score-item{display:flex;align-items:center;gap:.75rem}.score-bar-container{flex:1;height:20px;background:#333;border-radius:4px;position:relative;overflow:hidden}.score-bar{height:100%;border-radius:4px;transition:width .3s ease}.score-bar.high{background:linear-gradient(90deg,#22c55e,#16a34a)}.score-bar.medium{background:linear-gradient(90deg,#eab308,#ca8a04)}.score-bar.low{background:linear-gradient(90deg,#ef4444,#dc2626)}.score-value{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.route-badge{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;white-space:nowrap}.route-badge.small{padding:.15rem .5rem;font-size:.7rem;min-width:80px;text-align:center}.route-badge.blue{background:#1e3a5f;color:#4a9eff}.route-badge.green{background:#1f3a2f;color:#22c55e}.route-badge.orange{background:#3a2a1f;color:#f97316}.route-badge.teal{background:#1f3a3a;color:#14b8a6}.route-badge.purple{background:#3a1f5f;color:#a855f7}.route-badge.pink{background:#3a1f3a;color:#ec4899}.route-badge.gray{background:#333;color:#aaa}.route-badge.cyan{background:#164e63;color:#06b6d4}.route-badge.amber{background:#451a03;color:#f59e0b}.confidence-badge{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.confidence-badge.high{background:#1f3a2f;color:#22c55e}.confidence-badge.medium{background:#3a3a1f;color:#eab308}.confidence-badge.low{background:#3a1f1f;color:#ef4444}.clarification-badge{padding:.25rem .75rem;border-radius:4px;font-size:.8rem;background:#3a2a1f;color:#f97316}.thresholds-info{background:#1e1e1e;border-radius:8px;padding:1rem;margin-bottom:1rem}.thresholds-info h4{margin:0 0 .75rem;font-size:.9rem;color:#888}.threshold-items{display:flex;gap:1.5rem;flex-wrap:wrap}.threshold-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#aaa}.threshold-dot{width:10px;height:10px;border-radius:50%}.threshold-dot.high{background:#22c55e}.threshold-dot.medium{background:#eab308}.threshold-dot.low{background:#ef4444}.routes-list{background:#1e1e1e;border-radius:8px;padding:1rem}.routes-list h3{margin:0 0 1rem;font-size:1rem;color:#fff}.category-section{margin-bottom:.5rem}.category-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#2a2a2a;border-radius:6px;cursor:pointer;transition:background .2s}.category-header:hover{background:#333}.category-header.cat-blue{border-left:3px solid #4a9eff}.category-header.cat-green{border-left:3px solid #22c55e}.category-header.cat-orange{border-left:3px solid #f97316}.category-header.cat-teal{border-left:3px solid #14b8a6}.category-header.cat-purple{border-left:3px solid #a855f7}.category-header.cat-pink{border-left:3px solid #ec4899}.category-header.cat-gray{border-left:3px solid #888}.category-header.cat-cyan{border-left:3px solid #06b6d4}.category-header.cat-amber{border-left:3px solid #f59e0b}.category-name{font-weight:600;color:#fff;flex:1}.category-count{color:#888;font-size:.85rem}.expand-icon{color:#888;font-size:.75rem}.category-routes{padding:.5rem 0 .5rem 1rem;border-left:1px solid #333;margin-left:.5rem}.route-card{background:#2a2a2a;border-radius:6px;padding:.75rem;margin-bottom:.5rem}.route-card:last-child{margin-bottom:0}.route-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.route-description{color:#888;font-size:.8rem}.route-examples{font-size:.8rem}.route-examples ul{margin:.25rem 0 0;padding-left:1rem;display:flex;flex-wrap:wrap;gap:.25rem 1rem}.example-item{color:#666;padding:.15rem 0;cursor:pointer;transition:color .2s;list-style:none}.example-item:hover{color:#4a9eff}.example-more{color:#555;font-style:italic;list-style:none}.admin-page{padding:24px;max-width:900px;margin:0 auto;color:var(--text-primary)}.admin-header{margin-bottom:24px}.admin-header h1{font-size:24px;font-weight:600;margin-bottom:16px;color:var(--blue-500)}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-default);padding-bottom:0}.admin-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-1px}.admin-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.admin-tab.active{color:var(--blue-500);border-bottom-color:var(--blue-500)}.admin-content{padding-top:24px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--bg-primary);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,var(--accent-glow) 0%,transparent 50%);animation:authBackgroundPulse 8s ease-in-out infinite;opacity:.3;pointer-events:none}@keyframes authBackgroundPulse{0%,to{transform:translate(0) scale(1)}25%{transform:translate(10%,10%) scale(1.1)}50%{transform:translate(-5%,5%) scale(1)}75%{transform:translate(-10%,-10%) scale(1.05)}}.auth-page:after{content:"";position:absolute;top:20%;right:15%;width:300px;height:300px;background:radial-gradient(circle,var(--purple-500) 0%,transparent 70%);opacity:.1;border-radius:50%;filter:blur(60px);animation:orbFloat 10s ease-in-out infinite;pointer-events:none}@keyframes orbFloat{0%,to{transform:translate(0)}50%{transform:translate(-30px,30px)}}.auth-container{width:100%;max-width:420px;position:relative;z-index:1;animation:authContainerSlideIn .6s var(--ease-out) forwards}@keyframes authContainerSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card{position:relative;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);transition:all .4s ease}.auth-card:hover{border-color:var(--border-accent);box-shadow:0 20px 40px #0003,0 0 40px var(--accent-glow)}.auth-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-2xl);padding:2px;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500),var(--accent-secondary),var(--accent-primary));background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;animation:borderGradientFlow 4s linear infinite}.auth-card:hover:before{opacity:1}@keyframes borderGradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.auth-header{text-align:center;margin-bottom:var(--spacing-xl);animation:authHeaderFadeIn .5s ease .2s forwards;opacity:0}@keyframes authHeaderFadeIn{to{opacity:1}}.auth-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm);background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-lg);color:var(--status-error-text);font-size:var(--font-size-sm);animation:errorShake .5s ease,errorFadeIn .3s ease}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-error svg{flex-shrink:0;animation:errorIconPulse 2s ease-in-out infinite}@keyframes errorIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.auth-field{display:flex;flex-direction:column;gap:var(--spacing-xs);animation:fieldSlideIn .4s ease forwards;opacity:0}.auth-field:nth-child(1){animation-delay:.3s}.auth-field:nth-child(2){animation-delay:.4s}.auth-field:nth-child(3){animation-delay:.5s}.auth-field:nth-child(4){animation-delay:.6s}@keyframes fieldSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.auth-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);transition:color .3s ease}.auth-field:focus-within label{color:var(--accent-primary)}.auth-field input{padding:var(--spacing-md);background:var(--card-bg);border:2px solid var(--border-default);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-field input::placeholder{color:var(--text-muted);transition:opacity .3s ease}.auth-field input:focus{outline:none;border-color:var(--accent-primary);background:var(--card-bg-hover);box-shadow:0 0 0 4px var(--accent-subtle),0 0 20px var(--accent-glow)}.auth-field input:focus::placeholder{opacity:.5}.auth-submit{position:relative;margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:var(--radius-xl);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;min-height:52px;overflow:hidden;animation:buttonFadeIn .4s ease .7s forwards;opacity:0}@keyframes buttonFadeIn{to{opacity:1}}.auth-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.auth-submit:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500),var(--accent-secondary));border-radius:var(--radius-xl);z-index:-1;filter:blur(15px);opacity:0;transition:opacity .3s ease}.auth-submit:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 10px 30px var(--accent-glow)}.auth-submit:hover:not(:disabled):before{left:100%}.auth-submit:hover:not(:disabled):after{opacity:.5}.auth-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.auth-submit:disabled{opacity:.7;cursor:not-allowed;background:var(--border-default)}.auth-spinner{width:22px;height:22px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:authSpinnerSpin .8s linear infinite}@keyframes authSpinnerSpin{to{transform:rotate(360deg)}}.auth-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-default);text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);animation:footerFadeIn .4s ease .8s forwards;opacity:0}@keyframes footerFadeIn{to{opacity:1}}.auth-link{position:relative;color:var(--accent-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:all .3s ease}.auth-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-primary);transition:width .3s ease}.auth-link:hover{color:var(--blue-hover);text-shadow:0 0 10px var(--accent-glow)}.auth-link:hover:after{width:100%}.oauth-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--text-muted);font-size:var(--font-size-sm)}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.oauth-provider-row{display:flex;justify-content:center}.oauth-provider{min-height:44px}@media (max-width: 480px){.auth-page{padding:var(--spacing-md)}.auth-page:before,.auth-page:after{display:none}.auth-card{padding:var(--spacing-xl)}}@media (prefers-reduced-motion: reduce){.auth-page:before,.auth-page:after{animation:none}.auth-container,.auth-header,.auth-field,.auth-submit,.auth-footer{animation:none;opacity:1}}.app{min-height:100vh;background:var(--bg-primary);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-primary) 100%);background-size:400% 400%;animation:gradientFlow 15s ease infinite}.app-main{padding-top:64px;min-height:calc(100vh - 64px);animation:fadeIn .3s var(--ease-out)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);animation:fadeIn .3s var(--ease-out)}.app-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--card-bg: rgba(255, 255, 255, .03);--card-bg-hover: rgba(255, 255, 255, .05);--card-bg-selected: rgba(255, 255, 255, .08);--overlay-bg: rgba(10, 10, 10, .95);--dropdown-bg: rgba(20, 20, 20, .98);--modal-overlay: rgba(0, 0, 0, .7);--glass-bg: rgba(255, 255, 255, .02);--glass-border: rgba(255, 255, 255, .06);--text-primary: #ffffff;--text-secondary: #9ca3af;--text-tertiary: #d1d5db;--text-muted: #6b7280;--blue-500: #DC143C;--blue-600: #B8112E;--blue-hover: #F0184A;--accent-primary: #DC143C;--accent-secondary: #B8112E;--accent-glow: rgba(220, 20, 60, .3);--accent-subtle: rgba(220, 20, 60, .1);--purple-500: #a78bfa;--purple-600: #8b5cf6;--red-400: #f87171;--red-500: #ef4444;--red-light: #fca5a5;--green-400: #86efac;--green-500: #22c55e;--amber-400: #fbbf24;--border-default: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .1);--border-active: rgba(255, 255, 255, .15);--border-strong: rgba(255, 255, 255, .2);--border-accent: rgba(220, 20, 60, .3);--sidebar-border: #1f1f1f;--status-success-bg: rgba(34, 197, 94, .1);--status-success-border: rgba(34, 197, 94, .3);--status-success-text: #86efac;--status-error-bg: rgba(239, 68, 68, .1);--status-error-border: rgba(239, 68, 68, .3);--status-error-text: #fca5a5;--status-warning-bg: rgba(220, 20, 60, .1);--status-warning-border: rgba(220, 20, 60, .3);--status-warning-text: #F0184A;--status-pending-bg: rgba(156, 163, 175, .1);--status-pending-border: rgba(156, 163, 175, .3);--status-pending-text: #9ca3af;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .7rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: .9rem;--font-size-lg: .9375rem;--font-size-xl: 1rem;--font-size-2xl: 1.1rem;--font-size-3xl: 1.25rem;--font-size-4xl: 1.5rem;--font-size-5xl: 2rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-semibold-plus: 650;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-normal: .02em;--letter-spacing-wide: .05em;--letter-spacing-wider: .08em;--letter-spacing-widest: .1em;--letter-spacing-logo: .28em;--line-height-tight: 1;--line-height-normal: 1.2;--line-height-relaxed: 1.5;--line-height-loose: 1.6;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-2xl: 12px;--radius-3xl: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-card: 0 4px 20px rgba(0, 0, 0, .3);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .5);--shadow-fab: 0 4px 12px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .05) inset;--shadow-glow: 0 0 20px var(--accent-glow);--shadow-progress: 0 0 8px var(--accent-glow);--glass-blur: 20px;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 1;--z-sidebar: 100;--z-fab: 999;--z-topnav: 1000;--z-dropdown: 1001;--z-modal: 1000;--z-toast: 10000}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f1f3f4;--card-bg: rgba(0, 0, 0, .02);--card-bg-hover: rgba(0, 0, 0, .04);--card-bg-selected: rgba(0, 0, 0, .06);--overlay-bg: rgba(255, 255, 255, .95);--dropdown-bg: rgba(255, 255, 255, .98);--modal-overlay: rgba(0, 0, 0, .4);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #3c4043;--text-muted: #9aa0a6;--blue-500: #1a73e8;--blue-600: #1557b0;--blue-hover: #4285f4;--accent-primary: #1a73e8;--accent-secondary: #4285f4;--accent-glow: rgba(26, 115, 232, .2);--accent-subtle: rgba(26, 115, 232, .08);--red-400: #ea4335;--red-500: #d93025;--red-light: #f28b82;--green-400: #34a853;--green-500: #1e8e3e;--amber-400: #fbbc04;--amber-500: #f9ab00;--border-default: rgba(0, 0, 0, .1);--border-hover: rgba(0, 0, 0, .15);--border-active: rgba(0, 0, 0, .2);--border-strong: rgba(0, 0, 0, .25);--border-accent: rgba(26, 115, 232, .3);--sidebar-border: #e0e0e0;--status-success-bg: rgba(30, 142, 62, .1);--status-success-border: rgba(30, 142, 62, .3);--status-success-text: #1e8e3e;--status-error-bg: rgba(217, 48, 37, .1);--status-error-border: rgba(217, 48, 37, .3);--status-error-text: #d93025;--status-warning-bg: rgba(249, 171, 0, .1);--status-warning-border: rgba(249, 171, 0, .3);--status-warning-text: #f9ab00;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-card: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-modal: 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12);--shadow-fab: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-glow: 0 0 20px var(--accent-glow)}@keyframes neonPulse{0%,to{box-shadow:0 0 5px var(--accent-primary),0 0 10px var(--accent-primary),0 0 20px var(--accent-glow)}50%{box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-primary),0 0 40px var(--accent-glow),0 0 60px var(--accent-glow)}}@keyframes neonFlicker{0%,19%,21%,23%,25%,54%,56%,to{box-shadow:0 0 5px var(--accent-primary),0 0 10px var(--accent-primary),0 0 20px var(--accent-glow);opacity:1}20%,24%,55%{box-shadow:none;opacity:.8}}@keyframes borderNeonTravel{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes neonBorderPulse{0%,to{border-color:var(--accent-primary);box-shadow:inset 0 0 10px var(--accent-glow),0 0 10px var(--accent-glow)}50%{border-color:var(--accent-secondary);box-shadow:inset 0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes morphShape{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 40% 70% 60%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}@keyframes rotate3d{0%{transform:perspective(1000px) rotateY(0)}to{transform:perspective(1000px) rotateY(360deg)}}@keyframes flip3d{0%{transform:perspective(1000px) rotateX(0)}to{transform:perspective(1000px) rotateX(360deg)}}@keyframes tilt3d{0%,to{transform:perspective(1000px) rotateX(0) rotateY(0)}25%{transform:perspective(1000px) rotateX(5deg) rotateY(5deg)}50%{transform:perspective(1000px) rotateX(0) rotateY(-5deg)}75%{transform:perspective(1000px) rotateX(-5deg) rotateY(0)}}@keyframes cardFloat3d{0%,to{transform:perspective(1000px) translateZ(0) rotateX(0)}50%{transform:perspective(1000px) translateZ(20px) rotateX(2deg)}}@keyframes rippleExpand{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}@keyframes rippleMulti{0%{box-shadow:0 0 0 0 var(--accent-glow),0 0 0 0 var(--accent-glow),0 0 0 0 var(--accent-glow)}to{box-shadow:0 0 0 10px transparent,0 0 0 20px transparent,0 0 0 30px transparent}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes waveFlow{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutToTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes elasticSlideIn{0%{opacity:0;transform:translateY(40px) scale(.9)}60%{transform:translateY(-8px) scale(1.02)}80%{transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleInElastic{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}80%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.9}}@keyframes spinnerDots{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes spinnerRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinnerPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1);opacity:1}}@keyframes spinnerDualRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dotPulse{0%,to{transform:scale(.5);opacity:.3}50%{transform:scale(1);opacity:1}}@keyframes glassShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glassFrost{0%,to{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}50%{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}}@keyframes glassGlow{0%,to{box-shadow:0 8px 32px #1f268733,inset 0 0 0 1px var(--glass-border)}50%{box-shadow:0 8px 32px #1f268766,0 0 20px var(--accent-glow),inset 0 0 0 1px var(--border-accent)}}@keyframes inputFocusGlow{0%{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 4px var(--accent-glow)}to{box-shadow:0 0 0 2px var(--accent-subtle)}}@keyframes labelFloat{0%{transform:translateY(0);font-size:var(--font-size-base)}to{transform:translateY(-1.5rem);font-size:var(--font-size-sm)}}@keyframes inputUnderline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes buttonShine{0%{left:-100%}to{left:100%}}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes buttonGlowPulse{0%,to{box-shadow:0 0 5px var(--accent-primary),0 0 10px var(--accent-glow)}50%{box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes buttonNeonBorder{0%,to{border-color:var(--accent-primary)}50%{border-color:var(--accent-secondary)}}@keyframes toggleSlide{0%{transform:translate(0)}to{transform:translate(28px)}}@keyframes toggleGlow{0%,to{box-shadow:0 0 5px var(--accent-primary)}50%{box-shadow:0 0 15px var(--accent-primary),0 0 25px var(--accent-glow)}}@keyframes sunRise{0%{transform:scale(.5) rotate(-90deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes moonRise{0%{transform:scale(.5) rotate(90deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes cardLift{0%{transform:translateY(0) scale(1);box-shadow:var(--shadow-sm)}to{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-card)}}@keyframes cardGlowBorder{0%{border-color:var(--border-default)}to{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}}@keyframes cardShine{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes textGlowPulse{0%,to{text-shadow:0 0 5px var(--accent-glow)}50%{text-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,to{border-right-color:var(--accent-primary)}50%{border-right-color:transparent}}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes letterSpacing{0%{letter-spacing:-.5em;opacity:0}to{letter-spacing:normal;opacity:1}}@keyframes pageSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes contentReveal{0%{opacity:0;transform:translateY(20px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes notificationPop{0%{opacity:0;transform:scale(.8) translateY(-10px)}60%{transform:scale(1.05) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes progressBar{0%{width:100%}to{width:0%}}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes linkUnderline{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes skeletonWave{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menuItemStagger{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}@keyframes modalContentScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes checkMark{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}@keyframes checkboxPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes radioSelect{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes aurora{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes gradientRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-neon-pulse{animation:neonPulse 2s ease-in-out infinite}.animate-neon-flicker{animation:neonFlicker 3s linear infinite}.animate-tilt-3d{animation:tilt3d 6s ease-in-out infinite}.animate-card-float-3d{animation:cardFloat3d 4s ease-in-out infinite}.animate-slide-in-left{animation:slideInFromLeft .4s var(--ease-out) forwards}.animate-slide-in-right{animation:slideInFromRight .4s var(--ease-out) forwards}.animate-slide-in-bottom{animation:slideInFromBottom .4s var(--ease-out) forwards}.animate-elastic-slide{animation:elasticSlideIn .6s var(--ease-bounce) forwards}.animate-scale-elastic{animation:scaleInElastic .5s var(--ease-out) forwards}.animate-pop-in{animation:popIn .4s var(--ease-bounce) forwards}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-text-glow{animation:textGlowPulse 2s ease-in-out infinite}.animate-text-reveal{animation:textReveal .6s var(--ease-out) forwards}.animate-letter-spacing{animation:letterSpacing .5s var(--ease-out) forwards}.animate-page-slide{animation:pageSlideIn .3s var(--ease-out) forwards}.animate-page-fade{animation:pageFadeIn .3s var(--ease-out) forwards}.animate-content-reveal{animation:contentReveal .5s var(--ease-out) forwards}.animate-notification-slide{animation:notificationSlideIn .4s var(--ease-out) forwards}.animate-notification-pop{animation:notificationPop .3s var(--ease-bounce) forwards}.animate-menu-slide{animation:menuSlideDown .2s var(--ease-out) forwards}.animate-modal-backdrop{animation:modalBackdropFade .2s var(--ease-out) forwards}.animate-modal-content{animation:modalContentScale .3s var(--ease-out) forwards}.animate-modal-shake{animation:modalShake .5s ease-in-out}.animate-skeleton-wave{background:linear-gradient(90deg,var(--card-bg) 25%,var(--card-bg-hover) 50%,var(--card-bg) 75%);background-size:200% 100%;animation:skeletonWave 1.5s ease-in-out infinite}.animate-skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out infinite}.animate-aurora{background:linear-gradient(135deg,var(--accent-primary),var(--purple-500),var(--accent-secondary),var(--green-400));background-size:400% 400%;animation:aurora 10s ease infinite}.stagger-delay-1{animation-delay:.05s}.stagger-delay-2{animation-delay:.1s}.stagger-delay-3{animation-delay:.15s}.stagger-delay-4{animation-delay:.2s}.stagger-delay-5{animation-delay:.25s}.stagger-delay-6{animation-delay:.3s}.stagger-delay-7{animation-delay:.35s}.stagger-delay-8{animation-delay:.4s}.stagger-delay-9{animation-delay:.45s}.stagger-delay-10{animation-delay:.5s}.fill-forwards{animation-fill-mode:forwards}.fill-both{animation-fill-mode:both}.duration-fast{animation-duration:.15s}.duration-normal{animation-duration:.3s}.duration-slow{animation-duration:.5s}.duration-slower{animation-duration:.8s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn-neon{position:relative;padding:12px 24px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--accent-primary);background:transparent;border:2px solid var(--accent-primary);border-radius:var(--radius-xl);cursor:pointer;overflow:hidden;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em}.btn-neon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);transition:left .5s ease}.btn-neon:hover{color:var(--bg-primary);background:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow),0 0 40px var(--accent-glow);transform:translateY(-2px)}.btn-neon:hover:before{left:100%}.btn-neon:active{transform:translateY(0) scale(.98)}.btn-neon-purple{color:var(--purple-500);border-color:var(--purple-500)}.btn-neon-purple:hover{background:var(--purple-500);box-shadow:0 0 10px var(--purple-500),0 0 20px #a78bfa80,0 0 40px #a78bfa4d}.btn-neon-red{color:var(--red-400);border-color:var(--red-400)}.btn-neon-red:hover{background:var(--red-400);box-shadow:0 0 10px var(--red-400),0 0 20px #f28b8280,0 0 40px #f28b824d}.btn-neon-green{color:var(--green-400);border-color:var(--green-400)}.btn-neon-green:hover{background:var(--green-400);box-shadow:0 0 10px var(--green-400),0 0 20px #81c99580,0 0 40px #81c9954d}.btn-gradient-glow{position:relative;padding:12px 28px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500));border:none;border-radius:var(--radius-xl);cursor:pointer;overflow:hidden;transition:all .3s ease;z-index:1}.btn-gradient-glow:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500),var(--accent-secondary));border-radius:var(--radius-xl);z-index:-1;filter:blur(15px);opacity:0;transition:opacity .3s ease}.btn-gradient-glow:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-gradient-glow:hover{transform:translateY(-2px) scale(1.02)}.btn-gradient-glow:hover:before{opacity:.7}.btn-gradient-glow:hover:after{left:100%}.btn-gradient-glow:active{transform:translateY(0) scale(.98)}.btn-ripple{position:relative;padding:12px 24px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl);cursor:pointer;overflow:hidden;transition:all .3s ease}.btn-ripple:hover{background:var(--card-bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.btn-ripple .ripple{position:absolute;border-radius:50%;background:var(--accent-glow);transform:scale(0);animation:rippleExpand .6s linear;pointer-events:none}.btn-glass{padding:12px 24px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);cursor:pointer;transition:all .3s ease}.btn-glass:hover{background:#ffffff14;border-color:var(--border-accent);box-shadow:0 8px 32px #0003;transform:translateY(-2px)}.btn-glass:active{transform:translateY(0) scale(.98)}.theme-toggle-animated{position:relative;width:64px;height:32px;background:linear-gradient(135deg,#1a1a2e,#16213e);border:none;border-radius:16px;cursor:pointer;overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1)}[data-theme=light] .theme-toggle-animated{background:linear-gradient(135deg,#87ceeb,#98d8f0)}.theme-toggle-animated .toggle-thumb{position:absolute;top:4px;left:4px;width:24px;height:24px;background:#f5f3ce;border-radius:50%;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:inset -3px -3px 5px #0000001a,0 0 10px #f5f3ce80}[data-theme=light] .theme-toggle-animated .toggle-thumb{left:36px;background:#fbbf24;box-shadow:inset -3px -3px 5px #0000001a,0 0 20px #fbbf2499}.theme-toggle-animated .toggle-thumb:before{content:"";position:absolute;top:5px;left:8px;width:4px;height:4px;background:#0003;border-radius:50%;transition:opacity .3s ease}.theme-toggle-animated .toggle-thumb:after{content:"";position:absolute;top:12px;left:4px;width:3px;height:3px;background:#00000026;border-radius:50%;transition:opacity .3s ease}[data-theme=light] .theme-toggle-animated .toggle-thumb:before,[data-theme=light] .theme-toggle-animated .toggle-thumb:after{opacity:0}.theme-toggle-animated .stars{position:absolute;top:0;left:0;right:0;bottom:0;transition:opacity .3s ease}.theme-toggle-animated .star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;opacity:.8}.theme-toggle-animated .star:nth-child(1){top:8px;left:40px}.theme-toggle-animated .star:nth-child(2){top:15px;left:48px;animation-delay:.3s}.theme-toggle-animated .star:nth-child(3){top:22px;left:42px;animation-delay:.6s}.theme-toggle-animated .star:nth-child(4){top:6px;left:52px;animation-delay:.9s}[data-theme=light] .theme-toggle-animated .stars{opacity:0}.theme-toggle-animated .clouds{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:opacity .3s ease}[data-theme=light] .theme-toggle-animated .clouds{opacity:1}.theme-toggle-animated .cloud{position:absolute;background:#fff;border-radius:10px}.theme-toggle-animated .cloud:nth-child(1){width:12px;height:6px;top:10px;left:8px}.theme-toggle-animated .cloud:nth-child(2){width:10px;height:5px;top:18px;left:14px}.input-animated{position:relative;margin-bottom:24px}.input-animated input{width:100%;padding:16px 16px 8px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--card-bg);border:2px solid var(--border-default);border-radius:var(--radius-xl);outline:none;transition:all .3s ease}.input-animated input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-subtle);background:var(--card-bg-hover)}.input-animated label{position:absolute;top:50%;left:16px;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--text-muted);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-animated input:focus~label,.input-animated input:not(:placeholder-shown)~label{top:8px;transform:translateY(0);font-size:var(--font-size-xs);color:var(--accent-primary)}.input-animated .input-underline{position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent-primary);transition:all .3s ease}.input-animated input:focus~.input-underline{left:0;width:100%}.input-neon{position:relative}.input-neon input{width:100%;padding:14px 16px;font-size:var(--font-size-base);color:var(--text-primary);background:transparent;border:2px solid var(--border-default);border-radius:var(--radius-xl);outline:none;transition:all .3s ease}.input-neon input:focus{border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-glow),0 0 20px var(--accent-glow),inset 0 0 10px var(--accent-glow)}.input-neon input::placeholder{color:var(--text-muted);transition:opacity .3s ease}.input-neon input:focus::placeholder{opacity:.5}.checkbox-animated{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-animated input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-animated .checkmark{position:relative;width:22px;height:22px;background:var(--card-bg);border:2px solid var(--border-default);border-radius:var(--radius-md);transition:all .3s ease}.checkbox-animated input:checked~.checkmark{background:var(--accent-primary);border-color:var(--accent-primary);animation:checkboxPop .3s ease}.checkbox-animated .checkmark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-animated input:checked~.checkmark:after{display:block;animation:checkMark .3s ease forwards}.checkbox-animated:hover .checkmark{border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-glow)}.checkbox-animated .label-text{margin-left:10px;font-size:var(--font-size-base);color:var(--text-primary)}.radio-animated{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.radio-animated input{position:absolute;opacity:0;cursor:pointer}.radio-animated .radio-mark{position:relative;width:22px;height:22px;background:var(--card-bg);border:2px solid var(--border-default);border-radius:50%;transition:all .3s ease}.radio-animated .radio-mark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;background:var(--accent-primary);border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.radio-animated input:checked~.radio-mark{border-color:var(--accent-primary)}.radio-animated input:checked~.radio-mark:after{transform:translate(-50%,-50%) scale(1);animation:radioSelect .3s ease}.radio-animated:hover .radio-mark{border-color:var(--accent-primary);box-shadow:0 0 10px var(--accent-glow)}.card-glass{position:relative;padding:24px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.card-glass:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.card-glass:hover{transform:translateY(-8px);border-color:var(--border-accent);box-shadow:0 20px 40px #0003,0 0 30px var(--accent-glow)}.card-glass:hover:before{left:100%}.card-neon-border{position:relative;padding:24px;background:var(--card-bg);border-radius:var(--radius-2xl);overflow:hidden;transition:all .4s ease}.card-neon-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-2xl);padding:2px;background:linear-gradient(135deg,var(--accent-primary),var(--purple-500),var(--accent-secondary));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease}.card-neon-border:hover:before{opacity:1;animation:borderNeonTravel 3s linear infinite}.card-neon-border:hover{transform:translateY(-4px);box-shadow:0 0 30px var(--accent-glow)}.card-3d-tilt{padding:24px;background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-2xl);transition:all .3s ease;transform-style:preserve-3d;perspective:1000px}.card-3d-tilt:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.spinner-neon-ring{width:48px;height:48px;border:3px solid transparent;border-top-color:var(--accent-primary);border-radius:50%;animation:spinnerRing 1s linear infinite;box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow)}.spinner-dual-ring{position:relative;width:48px;height:48px}.spinner-dual-ring:before,.spinner-dual-ring:after{content:"";position:absolute;border:3px solid transparent;border-radius:50%}.spinner-dual-ring:before{top:0;right:0;bottom:0;left:0;border-top-color:var(--accent-primary);animation:spinnerDualRing 1s linear infinite}.spinner-dual-ring:after{top:8px;right:8px;bottom:8px;left:8px;border-bottom-color:var(--purple-500);animation:spinnerDualRing .8s linear infinite reverse}.spinner-dots{display:flex;gap:8px}.spinner-dots .dot{width:12px;height:12px;background:var(--accent-primary);border-radius:50%;animation:spinnerDots 1.4s infinite ease-in-out both}.spinner-dots .dot:nth-child(1){animation-delay:-.32s}.spinner-dots .dot:nth-child(2){animation-delay:-.16s}.spinner-dots .dot:nth-child(3){animation-delay:0}.spinner-orbit{position:relative;width:48px;height:48px}.spinner-orbit .orbit{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-top-color:var(--accent-primary);border-radius:50%;animation:orbitSpin 1s linear infinite}.spinner-orbit .orbit:nth-child(2){top:6px;right:6px;bottom:6px;left:6px;border-top-color:var(--purple-500);animation-duration:1.5s;animation-direction:reverse}.spinner-orbit .orbit:nth-child(3){top:12px;right:12px;bottom:12px;left:12px;border-top-color:var(--green-400);animation-duration:2s}.spinner-pulse{width:48px;height:48px;background:var(--accent-primary);border-radius:50%;animation:spinnerPulse 1.5s ease-in-out infinite;box-shadow:0 0 20px var(--accent-glow)}.spinner-glass{width:48px;height:48px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--glass-border);border-top-color:var(--accent-primary);border-radius:50%;animation:spinnerRing 1s linear infinite}.progress-animated{width:100%;height:8px;background:var(--card-bg);border-radius:var(--radius-full);overflow:hidden}.progress-animated .progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--purple-500));border-radius:var(--radius-full);transition:width .5s ease;position:relative}.progress-animated .progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:waveFlow 2s linear infinite}.progress-neon{width:100%;height:6px;background:var(--card-bg);border-radius:var(--radius-full);overflow:visible}.progress-neon .progress-bar{height:100%;background:var(--accent-primary);border-radius:var(--radius-full);box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow);transition:width .5s ease}.badge-animated{display:inline-flex;align-items:center;padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--accent-subtle);color:var(--accent-primary);border:1px solid var(--border-accent);border-radius:var(--radius-full);transition:all .3s ease}.badge-animated:hover{background:var(--accent-glow);transform:scale(1.05);box-shadow:0 0 10px var(--accent-glow)}.badge-animated.pulse{animation:breathe 2s ease-in-out infinite}.tooltip-animated{position:relative;display:inline-block}.tooltip-animated .tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 12px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--dropdown-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000}.tooltip-animated .tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--dropdown-bg)}.tooltip-animated:hover .tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(-12px)}.notification-badge{position:relative}.notification-badge .badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:var(--font-weight-semibold);color:#fff;background:var(--red-400);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;animation:popIn .3s ease forwards}.notification-badge .badge.pulse{animation:popIn .3s ease forwards,neonPulse 2s ease-in-out infinite .3s;box-shadow:0 0 10px var(--red-400)}.avatar-animated{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;transition:all .3s ease}.avatar-animated img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.avatar-animated:hover{transform:scale(1.1);box-shadow:0 0 20px var(--accent-glow)}.avatar-animated:hover img{transform:scale(1.1)}.avatar-animated.online:after{content:"";position:absolute;bottom:2px;right:2px;width:10px;height:10px;background:var(--green-400);border:2px solid var(--bg-primary);border-radius:50%;animation:breathe 2s ease-in-out infinite}.tabs-animated{display:flex;gap:4px;padding:4px;background:var(--card-bg);border-radius:var(--radius-xl)}.tabs-animated .tab{padding:10px 20px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;position:relative}.tabs-animated .tab:hover{color:var(--text-primary);background:var(--card-bg-hover)}.tabs-animated .tab.active{color:var(--accent-primary);background:var(--accent-subtle)}.tabs-animated .tab.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--accent-primary);border-radius:var(--radius-full);animation:scaleInElastic .3s ease forwards}.switch-ios{position:relative;width:52px;height:28px;background:var(--border-default);border-radius:14px;cursor:pointer;transition:background .3s ease}.switch-ios input{display:none}.switch-ios .slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.switch-ios input:checked+.slider{transform:translate(24px)}.switch-ios.active{background:var(--accent-primary)}.switch-ios:hover .slider{box-shadow:0 0 10px var(--accent-glow)}.accordion-animated{border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden}.accordion-animated .accordion-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--card-bg);cursor:pointer;transition:all .3s ease}.accordion-animated .accordion-header:hover{background:var(--card-bg-hover)}.accordion-animated .accordion-icon{width:20px;height:20px;transition:transform .3s ease}.accordion-animated.open .accordion-icon{transform:rotate(180deg)}.accordion-animated .accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.accordion-animated.open .accordion-content{max-height:500px;padding:16px 20px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--line-height-relaxed);transition:background-color var(--transition-normal),color var(--transition-fast)}#root{min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGlow{0%,to{border-color:var(--border-default)}50%{border-color:var(--border-accent)}}@keyframes textGlow{0%,to{text-shadow:0 0 5px var(--accent-glow)}50%{text-shadow:0 0 15px var(--accent-glow)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes staggerFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--accent-glow),0 0 10px var(--accent-glow)}50%{box-shadow:0 0 10px var(--accent-glow),0 0 20px var(--accent-glow),0 0 30px var(--accent-glow)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);color:var(--text-primary)}h1{font-size:var(--font-size-5xl);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-4xl);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-3xl)}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-loose)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--blue-hover)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl)}@media (max-width: 768px){.container{padding:var(--spacing-xl) var(--spacing-md)}}.text-center{text-align:center}.text-muted{color:var(--text-secondary)}.text-small{font-size:var(--font-size-sm)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.animate-fadeIn{animation:fadeIn .3s var(--ease-out)}.animate-fadeInUp{animation:fadeInUp .4s var(--ease-out)}.animate-fadeInDown{animation:fadeInDown .4s var(--ease-out)}.animate-fadeInLeft{animation:fadeInLeft .4s var(--ease-out)}.animate-fadeInRight{animation:fadeInRight .4s var(--ease-out)}.animate-scaleIn{animation:scaleIn .3s var(--ease-out)}.animate-bounceIn{animation:bounceIn .6s var(--ease-bounce)}.animate-dropdown{animation:dropdownFadeIn .15s ease-out}.animate-toast{animation:toastSlideIn .3s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-3xl);transition:all var(--transition-normal)}.glass-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.hover-lift{transition:all var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}.hover-glow{transition:all var(--transition-normal)}.hover-glow:hover{box-shadow:var(--shadow-glow);border-color:var(--border-accent)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.02)}.btn-primary{background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--accent-primary);padding:.65rem 1.25rem;border-radius:var(--radius-xl);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);transform:translate(-100%);transition:transform .5s ease}.btn-primary:hover{background:var(--accent-glow);transform:scale(1.02)}.btn-primary:hover:before{transform:translate(100%)}.btn-secondary{background:var(--card-bg);border:1px solid var(--border-default);color:var(--text-secondary);padding:.65rem 1.25rem;border-radius:var(--radius-xl);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background:var(--card-bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.input-field{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:.75rem 1rem;color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-normal)}.input-field:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);background:var(--card-bg-hover)}.input-field::placeholder{color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.skeleton{background:linear-gradient(90deg,var(--card-bg) 25%,var(--card-bg-hover) 50%,var(--card-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-xl)}.theme-toggle{position:relative;width:56px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:14px;cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.theme-toggle:before{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;background:var(--accent-primary);border-radius:50%;transition:transform var(--transition-normal);box-shadow:var(--shadow-sm)}[data-theme=light] .theme-toggle:before{transform:translate(28px);background:var(--amber-400)}.theme-toggle:hover{border-color:var(--border-hover)}.gradient-bg{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-primary) 100%);background-size:400% 400%;animation:gradientFlow 15s ease infinite}.gradient-accent{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:focus-visible{outline:2px solid rgba(255,255,255,.2);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(255,255,255,.2);outline-offset:2px}
