.calendar-page{height:100%;display:flex;flex-direction:column}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-nav h2{margin-left:.5rem;font-size:1.25rem;white-space:nowrap}.calendar-controls{display:flex;gap:1rem;align-items:center}.view-switcher{display:flex;gap:.25rem}.view-switcher button,.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.loading-dot{color:var(--color-primary);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.calendar-filters{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.calendar-type-filters{display:flex;gap:.375rem}.filter-chip{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;opacity:.5}.filter-chip.active{opacity:1;border-color:var(--chip-color);color:var(--color-text)}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-color)}.tag-filter-select{padding:.25rem .5rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.75rem}.week-event.priority-critical,.day-event.priority-critical{box-shadow:inset 0 0 0 2px #ef4444}.week-event.priority-high,.day-event.priority-high{box-shadow:inset 0 0 0 2px #f59e0b}.calendar-body{flex:1;background-color:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);overflow:auto;min-height:0}.month-grid{display:flex;flex-direction:column;min-height:100%;height:auto}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border)}.weekday-label{text-align:center;padding:.5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.month-cells{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(calc((100vw - 280px) / 7 * .65),auto);flex:1;min-height:0}.month-cell{position:relative;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:.25rem 0;padding-bottom:0;min-height:0;transition:background-color .1s;overflow:hidden;display:flex;flex-direction:column}.month-cell:hover{background-color:var(--color-surface-hover)}.month-cell:nth-child(7n){border-right:none}.month-cell.other-month{opacity:.4}.month-cell.today .day-number{background-color:var(--color-primary);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.day-number{font-size:.8rem;font-weight:500;margin-bottom:.125rem;display:inline-block;padding:0 .375rem}.cell-events{display:grid;grid-template-columns:1fr;grid-auto-rows:18px;gap:1px;min-height:0;overflow:hidden;position:relative}.event-chip{font-size:.65rem;line-height:14px;height:18px;box-sizing:border-box;padding:0 4px;border-radius:3px;background-color:#6366f126;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.event-chip:hover{background-color:#6366f14d}.event-bar{background-color:#6366f11f;border-radius:0;margin:0;padding:1px 4px;border-top:2px solid transparent;border-bottom:2px solid transparent}.event-bar.bar-start{border-top-left-radius:3px;border-bottom-left-radius:3px;margin-left:2px;border-left:2px solid transparent}.event-bar.bar-end{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-right:2px;border-right:2px solid transparent}.event-bar.bar-mid{color:transparent}.event-lane-spacer{height:18px;visibility:hidden}.more-events-btn{position:absolute;bottom:2px;right:2px;z-index:3;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-primary);font-size:.6rem;font-weight:600;cursor:pointer;padding:1px 6px;line-height:1.4;box-shadow:0 1px 3px #00000026;-webkit-user-select:none;user-select:none}.more-events-btn:hover{background:var(--color-surface-hover)}.more-events-btn:active{background:#6366f126}.expanded-day-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px 4px;margin-bottom:2px;border-bottom:1px solid var(--color-border);font-size:.8rem;font-weight:600}.popover-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:0 2px;line-height:1}.popover-close:hover{color:var(--color-text)}.month-cell.expanded{overflow:visible;z-index:10;position:relative}.month-cell.expanded .cell-events{overflow:visible;position:absolute;top:0;min-width:260px;max-width:340px;max-height:320px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:8px;padding:8px 6px;box-shadow:0 8px 24px #0000004d;z-index:20;gap:3px}.month-cell.expanded.align-center .cell-events{left:50%;transform:translate(-50%)}.month-cell.expanded.align-left .cell-events{left:0}.month-cell.expanded.align-right .cell-events{right:0}.month-cell.expanded .cell-events .event-chip{white-space:normal;word-break:break-word;padding:3px 6px;font-size:.72rem}.month-cell.expanded .cell-events .event-bar{margin:0}.week-grid{display:flex;flex-direction:column;height:100%}.week-header{display:flex;border-bottom:1px solid var(--color-border);position:sticky;top:0;background-color:var(--color-surface);z-index:2}.time-gutter-header{width:60px;flex-shrink:0}.week-day-header{flex:1;text-align:center;padding:.5rem 0;cursor:pointer;transition:background-color .1s}.week-day-header:hover{background-color:var(--color-surface-hover)}.week-day-header.today{background-color:#6366f11a}.week-day-name{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;display:block}.week-day-num{font-size:1.1rem;font-weight:600}.week-day-header.today .week-day-num{color:var(--color-primary)}.week-body{display:flex;flex:1;overflow-y:auto}.time-gutter{width:60px;flex-shrink:0;border-right:1px solid var(--color-border)}.time-slot-label{height:48px;font-size:.65rem;color:var(--color-text-muted);text-align:right;padding-right:8px;padding-top:2px}.week-day-col,.day-col{flex:1;position:relative;border-right:1px solid var(--color-border)}.week-day-col:last-child,.day-col:last-child{border-right:none}.time-slot{height:48px;border-bottom:1px solid var(--color-border)}.time-slot:nth-child(odd){border-bottom-style:dashed;border-bottom-color:#33415580}.week-event,.day-event{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 6px;font-size:.7rem;color:#fff;cursor:pointer;overflow:hidden;z-index:1}.week-event:hover,.day-event:hover{opacity:.85}.week-event-title{font-weight:500}.day-event{display:flex;flex-direction:column;gap:2px}.day-event strong{font-size:.8rem}.day-event span{font-size:.65rem;opacity:.9}.day-grid{height:100%}.day-body{display:flex;height:100%;overflow-y:auto}.placeholder{color:var(--color-text-muted);text-align:center;padding:4rem 0}.chat-page{height:100%;display:flex;gap:0}.chat-sidebar{width:260px;min-width:260px;background-color:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:margin-left .2s ease}.chat-sidebar:not(.open){margin-left:-260px;min-width:0;width:0;overflow:hidden}.chat-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}.chat-sidebar-header h3{margin:0;font-size:1rem}.chat-session-list{flex:1;overflow-y:auto;padding:.5rem}.chat-session-empty{text-align:center;color:var(--color-text-muted);font-size:.8rem;padding:2rem 1rem}.chat-session-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.625rem .75rem;border:none;background:none;color:var(--color-text);border-radius:var(--radius);cursor:pointer;text-align:left;margin-bottom:2px;transition:background-color .15s}.chat-session-item:hover{background-color:var(--color-surface-hover)}.chat-session-item.active{background-color:var(--color-surface);border:1px solid var(--color-border)}.session-preview{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.session-top-row{display:flex;align-items:center;gap:6px;min-width:0}.session-source-badge{font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:4px;flex-shrink:0;text-transform:uppercase}.session-source-badge.telegram{background-color:#2aabee;color:#fff}.session-source-badge.routine{background-color:#f59e0b;color:#fff}.session-date{font-size:.65rem;color:var(--color-text-muted);margin-top:2px}.session-bottom-row{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.session-delete{opacity:0;padding:2px;color:var(--color-text-muted);transition:opacity .15s,color .15s}.chat-session-item:hover .session-delete{opacity:1}.session-delete:hover{color:#ef4444}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 1rem}.chat-header-left{display:flex;align-items:center;gap:.5rem}.chat-header-right{display:flex;align-items:center;gap:.75rem}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--color-text-muted);border-radius:var(--radius);cursor:pointer;transition:background-color .15s,color .15s}.btn-icon:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.status{font-size:.75rem;padding:.25rem .75rem;border-radius:999px;font-weight:500}.status.connected{background-color:#22c55e26;color:var(--color-success)}.status.disconnected,.status.error{background-color:#ef444426;color:var(--color-danger)}.chat-messages{flex:1;overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-welcome{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.chat-welcome h3{color:var(--color-primary);margin-bottom:.5rem;font-size:1.25rem}.chat-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.5rem}.suggestion{font-size:.8rem;padding:.5rem 1rem}.message{max-width:75%;padding:.625rem 1rem;border-radius:var(--radius);line-height:1.5;font-size:.875rem;position:relative}.message.user{align-self:flex-end;background-color:var(--color-primary);color:#fff}.message.assistant{align-self:flex-start;background-color:var(--color-surface-hover);color:var(--color-text)}.message.system{align-self:center;background-color:transparent;color:var(--color-text-muted);font-size:.75rem;font-style:italic;padding:.25rem .5rem;max-width:90%}.message-content{white-space:pre-wrap;word-break:break-word}.message-time{display:block;font-size:.6rem;opacity:.6;margin-top:.25rem}.cursor-blink{animation:blink .8s infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message.thinking{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem}.thinking-indicator{display:flex;gap:4px;align-items:center}.thinking-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-primary);animation:thinking-bounce 1.4s infinite ease-in-out both}.thinking-dot:nth-child(1){animation-delay:-.32s}.thinking-dot:nth-child(2){animation-delay:-.16s}.thinking-dot:nth-child(3){animation-delay:0s}@keyframes thinking-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.thinking-text{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.checking-indicator{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 0}.checking-spinner{width:14px;height:14px;border:2px solid var(--color-primary, #7c5cbf);border-top-color:transparent;border-radius:50%;animation:checking-spin .8s linear infinite}@keyframes checking-spin{to{transform:rotate(360deg)}}.checking-text{font-size:.82rem;color:var(--color-primary, #7c5cbf);font-style:italic}.chat-input{display:flex;gap:.5rem;margin-top:1rem;align-items:flex-end}.chat-input textarea{flex:1;resize:none;min-height:3.2rem;max-height:12rem;line-height:1.5;padding:.5rem .75rem;font-family:inherit;font-size:inherit;border:1px solid var(--color-border, #ccc);border-radius:8px;overflow-y:auto}.chat-input textarea:disabled{opacity:.6}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.chat-input button{white-space:nowrap}.btn-stop{background:var(--color-error, #e74c3c);color:#fff;border:none;border-radius:6px;padding:.5rem 1.2rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-stop:hover{background:#c0392b}.schedule-editor{max-width:640px}.schedule-editor h2{margin-bottom:1.5rem}.editor-error{background-color:#ef444426;color:var(--color-danger);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{width:100%}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.form-actions button:disabled{opacity:.5;cursor:not-allowed}.reminders-page{height:100%;display:flex;flex-direction:column}.reminders-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.reminders-header h2{margin:0}.reminders-actions{display:flex;gap:1rem;align-items:center}.filter-group{display:flex;gap:.25rem}.filter-group button{font-size:.75rem}.reminder-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.reminder-form .form-group{flex:1;min-width:200px}.reminder-form label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.25rem}.reminder-form input{width:100%}.reminders-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.section-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:.75rem 0 .25rem}.section-label:first-child{margin-top:0}.reminder-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:background-color .15s}.reminder-card:hover{background-color:var(--color-surface-hover)}.reminder-card.overdue{border-left:3px solid var(--color-danger)}.reminder-card.past{opacity:.6}.reminder-card.done{opacity:.7;border-left:3px solid var(--color-success, #22c55e)}.reminder-card.sent{border-left:3px solid var(--color-primary, #a78bfa)}.reminder-icon{font-size:1.25rem;flex-shrink:0}.reminder-body{flex:1;min-width:0}.reminder-message{font-weight:500;margin-bottom:.125rem}.reminder-time{font-size:.75rem;color:var(--color-text-muted)}.overdue-label{color:var(--color-danger);font-weight:600}.reminder-actions{display:flex;gap:.375rem;flex-shrink:0}.reminders-loading,.reminders-empty{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.reminders-empty p:first-child{font-size:1.5rem;margin-bottom:.5rem}.text-muted{color:var(--color-text-muted);font-size:.85rem}.btn-sm{font-size:.75rem;padding:.25rem .625rem}.btn-danger{background:none;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius);cursor:pointer;transition:background-color .15s}.btn-danger:hover{background-color:#ef44441a}.btn-success{background:none;border:1px solid var(--color-success, #22c55e);color:var(--color-success, #22c55e);border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background-color .15s}.btn-success:hover{background-color:#22c55e1a}.sent-label{color:var(--color-primary, #a78bfa);font-weight:600}.ideas-page{max-width:800px}.ideas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ideas-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.ideas-filters select{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.825rem}.ideas-list{display:flex;flex-direction:column;gap:.75rem}.idea-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;transition:border-color .15s}.idea-card:hover{border-color:var(--color-primary)}.idea-card.done,.idea-card.archived{opacity:.5}.idea-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.idea-title{font-weight:600;font-size:.95rem;color:var(--color-text)}.idea-badges{display:flex;gap:.4rem;flex-shrink:0}.idea-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.idea-badge.status-open{background:#dbeafe;color:#1d4ed8}.idea-badge.status-in_progress{background:#fef3c7;color:#92400e}.idea-badge.status-done{background:#d1fae5;color:#065f46}.idea-badge.status-archived{background:#e5e7eb;color:#6b7280}.idea-badge.priority-high{background:#fee2e2;color:#991b1b}.idea-badge.priority-low{background:#f3f4f6;color:#6b7280}.idea-description{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.5rem;line-height:1.5;white-space:pre-wrap}.idea-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--color-text-muted)}.idea-project{background:var(--color-bg);padding:.15rem .5rem;border-radius:4px;border:1px solid var(--color-border);font-weight:500}.idea-tag{background:var(--color-bg);padding:.1rem .4rem;border-radius:3px;font-size:.72rem}.idea-source{font-style:italic}.idea-actions{display:flex;gap:.4rem;margin-left:auto}.idea-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.idea-form h3{margin-bottom:1rem}.idea-form .form-group{margin-bottom:.75rem}.idea-form label{display:block;font-size:.825rem;font-weight:500;margin-bottom:.3rem;color:var(--color-text-muted)}.idea-form input,.idea-form textarea,.idea-form select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.idea-form textarea{resize:vertical}.idea-form .form-row{display:flex;gap:.75rem}.idea-form .form-row .form-group{flex:1}.idea-form .form-actions{display:flex;gap:.5rem;margin-top:1rem}.idea-form .form-error{color:#dc2626;font-size:.825rem;margin-bottom:.75rem}.tag-input-wrapper{display:flex;gap:.4rem}.tag-input-wrapper input{flex:1}.tag-input-wrapper button{flex-shrink:0}.tags-list{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.tag-chip button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:0;line-height:1}.placeholder{text-align:center;padding:3rem 1rem;color:var(--color-text-muted);font-size:.9rem}.memories-page{max-width:800px}.memories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tab-bar{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.tab{padding:.75rem 1.25rem;background:none;color:var(--color-text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.core-prompt-section{display:flex;flex-direction:column;gap:.75rem}.prompt-description{color:var(--color-text-secondary);font-size:.85rem;margin:0}.prompt-editor{width:100%;min-height:500px;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.5;resize:vertical;box-sizing:border-box}.prompt-editor:focus{outline:none;border-color:var(--color-primary)}.prompt-actions{display:flex;align-items:center;gap:1rem}.save-confirm{color:#10b981;font-size:.85rem;font-weight:500}.prompt-updated{color:var(--color-text-secondary);font-size:.8rem}.prompt-version-badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;background:var(--color-primary);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600}.prompt-versions{margin-top:1.5rem;border-top:1px solid var(--color-border);padding-top:1rem}.prompt-versions h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-text)}.versions-list{display:flex;flex-direction:column;gap:.5rem}.version-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s}.version-item.active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.version-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.version-number{font-weight:700;font-size:.85rem;font-family:monospace}.version-active-tag{padding:.1rem .4rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.version-date{color:var(--color-text-secondary);font-size:.8rem}.version-chars{color:var(--color-text-muted);font-size:.75rem}.version-preview{width:100%;color:var(--color-text-secondary);font-size:.8rem;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-restore{padding:.35rem .75rem;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-restore:hover{background:var(--color-primary);color:#fff}.btn-restore:disabled{opacity:.5;cursor:not-allowed}.memory-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-chip{padding:.25rem .75rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.filter-chip:hover{border-color:var(--color-primary);color:var(--color-text)}.filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.item-card:hover{border-color:var(--color-primary)}.item-main{flex:1;min-width:0}.item-content{font-size:.875rem;line-height:1.5;margin-top:.25rem}.category-badge{display:inline-block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .5rem;border-radius:999px;background-color:#6366f126;color:var(--color-primary)}.category-badge.fact{background-color:#22c55e26;color:var(--color-success)}.category-badge.routine{background-color:#f59e0b26;color:var(--color-warning)}.category-badge.relationship{background-color:#ef444426;color:var(--color-danger)}.behavior-name{font-size:.925rem}.status-badge{font-size:.7rem;font-weight:600;padding:.125rem .5rem;border-radius:999px}.status-badge.active{background-color:#22c55e26;color:var(--color-success)}.status-badge.inactive{background-color:#94a3b826;color:var(--color-text-muted)}.item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;flex-shrink:0}.item-source,.item-priority{font-size:.7rem;color:var(--color-text-muted)}.item-actions{display:flex;gap:.375rem}.item-form{background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.item-form h3{margin-bottom:1rem;font-size:1rem}.item-form .form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem}.item-form .form-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.item-form .form-row{display:flex;gap:1rem}.item-form .form-row .form-group{flex:1}.item-form .form-actions{display:flex;gap:.75rem;margin-top:1rem}.placeholder{color:var(--color-text-muted);text-align:center;padding:3rem 1rem;font-size:.9rem}.routine-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.routine-prompt{color:var(--color-text-muted);font-style:italic;max-height:3em;overflow:hidden;text-overflow:ellipsis}.routine-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.routine-details span{white-space:nowrap}.routine-freq{color:var(--color-primary);font-weight:500}.routine-card.paused{opacity:.6}.routine-card.paused .behavior-name{text-decoration:line-through}.day-picker{display:flex;gap:6px;flex-wrap:wrap}.day-btn{padding:6px 12px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary, #666);cursor:pointer;font-size:.8rem;transition:all .15s ease}.day-btn:hover{border-color:var(--primary-color, #007bff)}.day-btn.selected{background:var(--primary-color, #007bff);color:#fff;border-color:var(--primary-color, #007bff)}.templates-page{max-width:900px}.templates-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.templates-subtitle{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.templates-empty{text-align:center;padding:4rem 2rem;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius)}.templates-empty h3{margin-bottom:.5rem}.templates-empty p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.875rem}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.template-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.25rem;transition:border-color .15s}.template-card:hover{border-color:var(--color-primary)}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.template-card-header h3{font-size:1rem}.template-priority{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:.125rem .5rem;border-radius:999px;background-color:#6366f126;color:var(--color-primary)}.template-priority[data-priority=critical]{background-color:#ef444426;color:var(--color-danger)}.template-priority[data-priority=high]{background-color:#f59e0b26;color:var(--color-warning)}.template-desc{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem;line-height:1.4}.template-fields{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.template-field{font-size:.7rem;color:var(--color-text-muted);background-color:var(--color-surface-hover);padding:.25rem .5rem;border-radius:4px}.template-actions{display:flex;gap:.375rem}.btn-xs{padding:.25rem .5rem;font-size:.7rem}.template-form{background-color:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem}.template-form h3{margin-bottom:1rem}.form-error{background-color:#ef444426;color:var(--color-danger);border-radius:var(--radius);padding:.5rem .75rem;margin-bottom:1rem;font-size:.8rem}.template-form .form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.875rem}.template-form .form-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.template-form .form-row{display:flex;gap:1rem}.template-form .form-row .form-group{flex:1}.template-form .form-actions{display:flex;gap:.75rem;margin-top:1rem}.placeholder{color:var(--color-text-muted);text-align:center;padding:3rem 1rem}.settings{max-width:720px}.settings-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text)}.settings-subtitle{color:var(--color-text-muted);font-size:.875rem;margin-top:.25rem}.settings-loading{color:var(--color-text-muted);padding:2rem 0}.settings-message{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;margin:1rem 0}.settings-message.success{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.settings-message.error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.settings-sections{margin-top:1.5rem;display:flex;flex-direction:column;gap:2rem}.settings-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.settings-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.section-description{color:var(--color-text-muted);font-size:.8rem;margin-bottom:1.25rem}.setting-field{margin-bottom:1.25rem}.setting-field:last-child{margin-bottom:0}.setting-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.setting-field-header label{font-size:.875rem;font-weight:500;color:var(--color-text)}.setting-status{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px}.setting-status.set{background-color:#22c55e1a;color:#22c55e}.setting-status.unset{background-color:#ef44441a;color:#ef4444}.setting-description{color:var(--color-text-muted);font-size:.75rem;margin-bottom:.5rem}.setting-input-wrapper{display:flex;gap:.5rem}.setting-input{flex:1;padding:.5rem .75rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:.875rem;font-family:SF Mono,Fira Code,monospace}.setting-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #6366f126}.setting-input::placeholder{color:var(--color-text-muted);opacity:.5}.btn-toggle-visibility{padding:.5rem .75rem;background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:all .15s ease}.btn-toggle-visibility:hover{color:var(--color-text);background-color:var(--color-border)}.settings-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-tabs{display:flex;gap:.5rem;margin-top:1rem;border-bottom:1px solid var(--color-border);padding-bottom:0}.settings-tab{padding:.625rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.settings-tab:hover{color:var(--color-text)}.settings-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-card{display:flex;align-items:center;justify-content:space-between;padding:.875rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-bg)}.user-card.pending{border-left:3px solid #f59e0b}.user-card.approved{border-left:3px solid #22c55e}.user-card.blocked{border-left:3px solid #ef4444;opacity:.7}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.user-name{font-size:.875rem;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.user-email{font-size:.75rem;color:var(--color-text-muted)}.user-date{font-size:.7rem;color:var(--color-text-muted);opacity:.7}.user-badge{font-size:.65rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px}.user-badge.admin{background-color:#6366f126;color:#818cf8}.user-actions{display:flex;gap:.5rem}.btn-approve{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.btn-approve:hover{background-color:#22c55e33}.btn-reject{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.btn-reject:hover{background-color:#ef444433}.btn-block{background-color:#ef44440d;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.75rem}.btn-block:hover{background-color:#ef44441a;color:#ef4444}.spotify-connect-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.spotify-status{display:flex;align-items:center;justify-content:space-between;gap:1rem}.spotify-connected{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.spotify-badge{font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:9999px}.spotify-badge.connected{background-color:#1ed7601f;color:#1ed760}.spotify-badge.disconnected{background-color:#ef44441a;color:#ef4444}.spotify-user{font-size:.875rem;color:var(--color-text);font-weight:500}.spotify-product{font-size:.7rem;color:var(--color-text-muted);text-transform:capitalize}.btn-spotify{background-color:#1ed760;color:#000;font-weight:600;padding:.625rem 1.25rem;border-radius:6px;border:none;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-spotify:hover{background-color:#1db954}.btn-spotify:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline{background:none;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:.5rem 1rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.btn-danger-outline:hover{background-color:#ef44441a}.admin-page{max-width:900px}.admin-header h2{margin:0 0 1rem}.admin-page .tab-bar{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.admin-page .tab{padding:.75rem 1.25rem;background:none;color:var(--color-text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.admin-page .tab:hover{color:var(--color-text)}.admin-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.prompt-analysis-description{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:1rem}.prompt-logs-list{display:flex;flex-direction:column;gap:.5rem}.prompt-log-item{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);overflow:hidden;transition:border-color .15s}.prompt-log-item.expanded{border-color:var(--color-primary)}.prompt-log-header{padding:.75rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.4rem}.prompt-log-header:hover{background:color-mix(in srgb,var(--color-primary) 3%,var(--color-surface))}.prompt-log-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem}.prompt-log-source{padding:.1rem .4rem;background:var(--color-primary);color:#fff;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.prompt-log-time{color:var(--color-text-secondary)}.prompt-log-session{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.prompt-log-preview{color:var(--color-text);font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prompt-log-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.token-badge{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.token-badge.total{background:var(--color-primary);color:#fff}.token-badge.system{background:color-mix(in srgb,#9b59b6 15%,var(--color-surface));color:#9b59b6}.token-badge.chat{background:color-mix(in srgb,#3498db 15%,var(--color-surface));color:#3498db}.token-badge.user{background:color-mix(in srgb,#27ae60 15%,var(--color-surface));color:#27ae60}.char-count{color:var(--color-text-muted);font-size:.7rem;margin-left:.25rem}.prompt-log-detail{border-top:1px solid var(--color-border);padding:.75rem 1rem}.section-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:.75rem}.section-tab{padding:.5rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--color-text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.section-tab:hover{color:var(--color-text)}.section-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.section-content{max-height:600px;overflow-y:auto}.prompt-section{display:flex;flex-direction:column;gap:.5rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.section-header h4{margin:0;font-size:.9rem;color:var(--color-text)}.section-stat{color:var(--color-text-muted);font-size:.75rem;font-family:monospace;white-space:nowrap}.prompt-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;padding:.75rem;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-y:auto;max-height:500px;color:var(--color-text);margin:0}.variables-grid{display:flex;flex-direction:column;gap:.75rem}.variable-item{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.variable-name{padding:.4rem .75rem;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-size:.85rem;color:var(--color-text);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.variable-label{font-weight:600}.variable-key{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-background));padding:.1rem .4rem;border-radius:4px}.variable-item.empty{opacity:.6}.variable-stats{padding:.25rem .75rem;font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.variable-value{padding:.5rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;background:var(--color-background);margin:0;color:var(--color-text)}.chat-messages-log{display:flex;flex-direction:column;gap:.4rem}.chat-log-msg{border-radius:6px;border:1px solid var(--color-border);overflow:hidden}.chat-log-role{display:block;padding:.3rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;border-bottom:1px solid var(--color-border)}.chat-log-msg.user .chat-log-role{background:color-mix(in srgb,#27ae60 10%,var(--color-surface));color:#27ae60}.chat-log-msg.assistant .chat-log-role{background:color-mix(in srgb,#9b59b6 10%,var(--color-surface));color:#9b59b6}.chat-log-content{padding:.5rem .75rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;background:var(--color-background);margin:0;color:var(--color-text)}.empty-section{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.happiness-page{padding:2rem;max-width:800px;margin:0 auto}.happiness-loading{text-align:center;color:var(--color-text-muted);padding:3rem}.happiness-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.happiness-header h2{margin:0}.happiness-score-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;text-align:center;margin-bottom:1.5rem}.score-emoji{font-size:3rem;margin-bottom:.5rem}.score-info{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:1rem}.score-number{font-size:2.5rem;font-weight:700;color:var(--color-text)}.score-max{font-size:1.2rem;color:var(--color-text-muted)}.score-label{margin-left:.75rem;font-size:1.1rem;color:var(--color-text-muted);font-style:italic}.score-bar-container{height:12px;background:var(--color-surface-hover);border-radius:6px;overflow:hidden}.score-bar-fill{height:100%;border-radius:6px;transition:width .5s ease,background .5s ease}.happiness-page .tab-bar{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:1rem}.happiness-page .tab{padding:.6rem 1.2rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--color-text-muted);font-weight:500;transition:color .15s,border-color .15s}.happiness-page .tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.happiness-page .tab:hover{color:var(--color-text)}.happiness-list{display:flex;flex-direction:column;gap:.75rem}.happiness-empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-style:italic}.happiness-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;border-left:4px solid var(--color-border)}.happiness-item.positive{border-left-color:#2ecc71}.happiness-item.negative{border-left-color:#e74c3c}.happiness-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.happiness-points{font-weight:700;font-size:1.1rem}.happiness-points.positive{color:#2ecc71}.happiness-points.negative{color:#e74c3c}.happiness-date{font-size:.8rem;color:var(--color-text-muted)}.happiness-reason{color:var(--color-text);margin-bottom:.4rem;line-height:1.4}.happiness-meta{display:flex;gap:1.5rem;font-size:.75rem;color:var(--color-text-muted)}.devices-page{max-width:800px}.devices-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.devices-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.devices-filters select{padding:.4rem .75rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.825rem}.devices-count{font-size:.825rem;color:var(--color-text-muted)}.devices-list{display:flex;flex-direction:column;gap:.75rem}.device-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;transition:border-color .15s}.device-card:hover{border-color:var(--color-primary)}.device-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.device-icon{font-size:1.2rem}.device-name{font-weight:600;font-size:.95rem;color:var(--color-text);flex:1}.device-badges{display:flex;gap:.4rem;flex-shrink:0}.device-badge{padding:.15rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:uppercase}.type-badge{background:#e0e7ff;color:#4338ca}.online-badge{background:#dcfce7;color:#166534}.offline-badge{background:#fee2e2;color:#991b1b}.device-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--color-text-muted)}.device-room{font-weight:500}.device-mac{font-family:monospace;font-size:.75rem;opacity:.7}.device-model{font-size:.75rem;opacity:.6}.device-actions{margin-left:auto;display:flex;gap:.4rem}.device-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.device-form h3{margin-bottom:1rem;font-size:1rem}.device-form .form-group{margin-bottom:.75rem}.device-form label{display:block;font-size:.8rem;font-weight:500;margin-bottom:.25rem;color:var(--color-text-muted)}.device-form input,.device-form select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:.875rem}.device-form input:disabled{opacity:.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-buttons{display:flex;gap:.5rem;margin-top:1rem}.form-error{background:#fee2e2;color:#991b1b;padding:.5rem .75rem;border-radius:6px;font-size:.825rem;margin-bottom:.75rem}.auth-page{height:100%;display:flex;align-items:center;justify-content:center}.auth-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:3rem;text-align:center;box-shadow:var(--shadow)}.auth-logo{font-size:2.5rem;font-weight:700;color:var(--color-primary)}.auth-subtitle{color:var(--color-text-muted);margin:.5rem 0 2rem}.auth-btn{width:100%;padding:.75rem 1.5rem;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.google-icon{flex-shrink:0}.layout{display:flex;height:100%}.layout-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--color-text-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{width:240px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1.5rem 0;flex-shrink:0}.sidebar-header{padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--color-border)}.logo{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.logo-subtitle{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.nav-links{list-style:none;padding:1rem 0;flex:1}.nav-links li a{display:block;padding:.625rem 1.5rem;color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:all .15s ease}.nav-links li a:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.nav-links li a.active{color:var(--color-primary);background-color:#6366f11a;border-right:3px solid var(--color-primary)}.sidebar-footer{padding:1rem 1.5rem 0;border-top:1px solid var(--color-border)}.user-info{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem}.user-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.65rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:100%;font-size:.8rem}.main-content{flex:1;overflow-y:auto;padding:2rem}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #334155;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6}#root{height:100%;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:var(--font-sans);border:none;border-radius:var(--radius);padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s ease}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover)}.btn-danger{background-color:var(--color-danger);color:#fff}input,textarea,select{font-family:var(--font-sans);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;outline:none;transition:border-color .15s ease}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}
