@import"https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700;800&family=Nunito:wght@400;500;600;700;800&display=swap";:root{--color-dark-blue: #0B507D;--color-blue: #00AFEF;--color-yellow: #FFBA19;--color-white: #FFFFFF;--color-black: #393A43;--color-grey: #666666;--color-dark-blue-50: #e6f1f8;--color-dark-blue-100: #b0d4eb;--color-dark-blue-200: #8abfe1;--color-dark-blue-500: #0073bd;--color-dark-blue-700: #005286;--color-dark-blue-800: #003f68;--color-blue-50: #e6f7fd;--color-blue-100: #b0e6fa;--color-blue-200: #8adaf8;--color-blue-600: #009fd9;--color-blue-700: #007caa;--color-yellow-50: #fff8e8;--color-yellow-100: #ffeab8;--color-yellow-500: #ffba19;--color-success: #22c55e;--color-danger: #ef4444;--color-bg: #f7f9fc;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text-muted: #6b7280;--font-heading: "Lexend", sans-serif;--font-body: "Nunito", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(11, 80, 125, .06);--shadow-md: 0 4px 6px rgba(11, 80, 125, .08);--shadow-lg: 0 10px 15px rgba(11, 80, 125, .1);--shadow-xl: 0 20px 25px rgba(11, 80, 125, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-black);background:var(--color-bg)}.app{max-width:1400px;margin:0 auto;padding:var(--space-4);height:100vh;display:grid;gap:var(--space-3);grid-template-columns:260px 1fr;transition:grid-template-columns .2s ease}.app.sidebar-closed{grid-template-columns:0 1fr}.main-pane{display:flex;flex-direction:column;min-height:0;min-width:0}.sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;overflow:hidden;transition:opacity .15s ease,visibility .15s ease}.app.sidebar-closed .sidebar{opacity:0;visibility:hidden}.sidebar-header{padding:var(--space-3);border-bottom:1px solid #e5e7eb;display:flex;gap:var(--space-2);align-items:center;background:var(--color-dark-blue);color:#fff}.sidebar-toggle{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);width:28px;height:28px;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff26}.sidebar-new{flex:1;background:#fff;color:var(--color-dark-blue);border:none;border-radius:8px;padding:8px 12px;font-weight:600;font-family:inherit;cursor:pointer;font-size:14px}.sidebar-new:hover:not(:disabled){background:#f0f9ff}.sidebar-new:disabled{opacity:.5;cursor:not-allowed}.sidebar-search{position:relative;padding:var(--space-2) var(--space-3);border-bottom:1px solid #e5e7eb}.sidebar-search input{width:100%;padding:7px 28px 7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;outline:none}.sidebar-search input:focus{border-color:var(--color-light-blue, #00AFEF);box-shadow:0 0 0 2px #00afef26}.sidebar-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:16px;color:#9ca3af;cursor:pointer;padding:0 4px}.sidebar-search-clear:hover{color:#4b5563}.sidebar-list{flex:1;overflow-y:auto;padding:var(--space-2)}.sidebar-group{margin-bottom:var(--space-3)}.sidebar-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;padding:8px 12px 4px}.sidebar-rename-input{width:100%;padding:4px 6px;border:1px solid var(--color-light-blue, #00AFEF);border-radius:4px;font-size:13px;font-family:inherit;font-weight:500;color:#1f2937;outline:none;margin-bottom:4px}.sidebar-action{background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:14px;line-height:1;padding:2px 5px;border-radius:4px;opacity:0;transition:opacity .15s}.sidebar-item:hover .sidebar-action{opacity:1}.sidebar-action:hover{color:var(--color-dark-blue);background:#e5e7eb}.sidebar-action.sidebar-del:hover{color:#ef4444;background:#fee2e2}.citation-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.citation-chip{background:#f0f9ff;border:1px solid #bae6fd;color:#075985;padding:4px 10px;border-radius:14px;font-size:11px;line-height:1.3;font-weight:500;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.citation-chip:hover{background:#e0f2fe}.stop-btn{background:#ef4444!important;color:#fff!important}.stop-btn:hover{background:#dc2626!important}.retry-btn{background:#fff!important;color:var(--color-dark-blue)!important;border:1px solid #d1d5db!important;font-size:18px!important;min-width:44px!important;padding:0!important}.retry-btn:hover{background:#f0f9ff!important}.shortcuts-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);width:32px;height:32px;border-radius:50%;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px}.shortcuts-btn:hover{background:#ffffff40}.shortcuts-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .15s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.shortcuts-card{background:#fff;border-radius:var(--radius-xl);padding:var(--space-5);max-width:480px;width:90%;box-shadow:var(--shadow-md)}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.shortcuts-header h3{margin:0;color:var(--color-dark-blue);font-size:18px}.shortcuts-header button{background:transparent;border:none;color:#9ca3af;font-size:24px;cursor:pointer;padding:0 8px;line-height:1}.shortcuts-header button:hover{color:#1f2937}.shortcuts-card table{width:100%;border-collapse:collapse}.shortcuts-card td{padding:8px 0;font-size:14px;border-bottom:1px solid #f3f4f6}.shortcuts-card td:first-child{width:130px;white-space:nowrap}.shortcuts-card kbd{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;color:#1f2937}.shortcuts-hint{margin-top:var(--space-3);font-size:12px;color:#6b7280;text-align:center}.streaming-cursor{display:inline-block;color:var(--color-dark-blue);font-weight:700;animation:blink 1s steps(2,start) infinite;margin-left:2px}@keyframes blink{to{visibility:hidden}}.sidebar-item-meta{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b7280}.sidebar-item-meta>span:nth-child(2){margin-right:auto}.sidebar-empty{text-align:center;color:#9ca3af;font-size:13px;padding:var(--space-4)}.sidebar-item{padding:10px 12px;border-radius:8px;cursor:pointer;margin-bottom:4px;border:1px solid transparent;transition:background .1s}.sidebar-item:hover{background:#f3f4f6}.sidebar-item.active{background:#e0f2fe;border-color:var(--color-light-blue, #00AFEF)}.sidebar-item-title{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.sidebar-item-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7280}.sidebar-pill{background:#e5e7eb;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600}.sidebar-item.active .sidebar-pill{background:var(--color-dark-blue);color:#fff}.sidebar-del{margin-left:auto;background:transparent;border:none;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:0 4px;border-radius:4px;opacity:0;transition:opacity .15s}.sidebar-item:hover .sidebar-del{opacity:1}.sidebar-del:hover{color:#ef4444;background:#fee2e2}.sidebar-reopen{position:fixed;top:50%;left:0;transform:translateY(-50%);background:var(--color-dark-blue);color:#fff;border:none;border-radius:0 8px 8px 0;width:24px;height:60px;font-size:18px;cursor:pointer;z-index:100;box-shadow:var(--shadow-md)}.sidebar-reopen:hover{background:var(--color-dark-blue-700)}.header{background:linear-gradient(135deg,var(--color-dark-blue) 0%,var(--color-dark-blue-700) 100%);color:#fff;padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.brand-row{display:flex;align-items:center;gap:var(--space-4)}.brand-icon{width:48px;height:48px;flex-shrink:0}.header h1{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin:0 0 var(--space-1);color:#fff}.header h1 .tag{color:var(--color-yellow);font-weight:800}.header p{font-size:var(--text-sm);opacity:.85;margin:0;color:var(--color-blue-50)}.lang-switch,.curriculum-switch{display:flex;gap:2px;background:#ffffff26;padding:3px;border-radius:var(--radius-full)}.curriculum-switch button{padding:6px 14px}.lang-switch button,.curriculum-switch button{padding:6px 14px;border-radius:var(--radius-full);border:none;background:transparent;color:#fffc;font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all .15s ease}.lang-switch button.active,.curriculum-switch button.active{background:#fff;color:var(--color-dark-blue);box-shadow:var(--shadow-sm)}.lang-switch button:hover:not(.active){color:#fff}.quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.quick-actions button{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-weight:600;color:var(--color-dark-blue);transition:all .15s ease}.quick-actions button:hover{background:var(--color-blue-50);border-color:var(--color-blue-200);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.quick-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-actions .new-chat{margin-left:auto;background:var(--color-yellow-50);border-color:var(--color-yellow-100);color:var(--color-dark-blue-800)}.quick-actions .new-chat:hover{background:var(--color-yellow-100);border-color:var(--color-yellow-500)}.chat{flex:1;overflow-y:auto;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm)}.chat-empty{color:var(--color-text-muted);text-align:center;margin-top:var(--space-8);font-size:var(--text-sm)}.chat-empty .icon{font-size:32px;margin-bottom:var(--space-3);opacity:.5}.msg{margin-bottom:var(--space-5)}.msg.user{text-align:right}.msg.user .bubble{background:var(--color-dark-blue);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) var(--space-1) var(--radius-xl);font-weight:500}.msg.user .bubble{white-space:pre-wrap}.msg.assistant .bubble{background:var(--color-bg);color:var(--color-black);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--space-1);border:1px solid var(--color-border)}.msg .bubble{display:inline-block;padding:var(--space-3) var(--space-5);max-width:92%;text-align:left;word-wrap:break-word;line-height:1.6;font-size:var(--text-base)}.msg .bubble>*:first-child{margin-top:0}.msg .bubble>*:last-child{margin-bottom:0}.msg .bubble h1,.msg .bubble h2,.msg .bubble h3,.msg .bubble h4{font-family:var(--font-heading);color:var(--color-dark-blue);font-weight:700;margin:var(--space-4) 0 var(--space-2);line-height:1.3}.msg.user .bubble h1,.msg.user .bubble h2,.msg.user .bubble h3,.msg.user .bubble h4{color:#fff}.msg .bubble h1{font-size:var(--text-xl)}.msg .bubble h2{font-size:var(--text-lg)}.msg .bubble h3{font-size:var(--text-base);font-weight:600}.msg .bubble h4{font-size:var(--text-sm);font-weight:600}.msg .bubble p{margin:var(--space-2) 0}.msg .bubble strong{font-weight:700;color:var(--color-dark-blue)}.msg.user .bubble strong{color:#fff}.msg .bubble em{font-style:italic}.msg .bubble ul,.msg .bubble ol{margin:var(--space-2) 0;padding-left:var(--space-6)}.msg .bubble li{margin:var(--space-1) 0}.msg .bubble li::marker{color:var(--color-blue)}.msg .bubble code{background:var(--color-yellow-50);color:var(--color-dark-blue-800);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:SF Mono,Menlo,Consolas,monospace;font-weight:600}.msg.user .bubble code{background:#fff3;color:var(--color-yellow)}.msg .bubble pre{background:var(--color-dark-blue-800);color:var(--color-blue-50);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-3) 0;font-size:var(--text-sm)}.msg .bubble pre code{background:transparent;color:inherit;padding:0;font-weight:400}.msg .bubble table{border-collapse:collapse;margin:var(--space-3) 0;width:100%;font-size:var(--text-sm);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.msg .bubble thead{background:var(--color-dark-blue);color:#fff}.msg .bubble th{font-family:var(--font-heading);font-weight:600;padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm)}.msg .bubble td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.msg .bubble tbody tr:nth-child(2n){background:var(--color-blue-50)}.msg .bubble tbody tr:hover{background:var(--color-yellow-50)}.msg .bubble tr:last-child td{border-bottom:none}.msg .bubble blockquote{border-left:4px solid var(--color-yellow);background:var(--color-yellow-50);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);color:var(--color-dark-blue-800);border-radius:0 var(--radius-md) var(--radius-md) 0}.msg .bubble a{color:var(--color-blue-700);text-decoration:none;font-weight:600;border-bottom:1px dotted var(--color-blue-200)}.msg .bubble a:hover{color:var(--color-dark-blue);border-bottom-style:solid}.msg.user .bubble a{color:var(--color-yellow);border-bottom-color:var(--color-yellow)}.msg .bubble hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.tool-call{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg);border-left:3px solid var(--color-blue);padding:var(--space-2) var(--space-3);margin:var(--space-1) 0;font-family:SF Mono,Menlo,monospace;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2);font-weight:500}.meta .cached-badge{background:var(--color-success);color:#fff;padding:1px 8px;border-radius:var(--radius-full);font-weight:700;margin-left:var(--space-2);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.meta .provider-badge{background:var(--color-blue);color:#fff;padding:1px 8px;border-radius:var(--radius-full);font-weight:700;font-size:10px;letter-spacing:.05em}details summary{cursor:pointer;color:var(--color-blue-700);font-size:var(--text-xs);font-weight:600;-webkit-user-select:none;user-select:none}details summary:hover{color:var(--color-dark-blue)}.input-row{display:flex;gap:var(--space-2);align-items:stretch}.input-row textarea{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);resize:vertical;min-height:64px;max-height:200px;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.input-row textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-100)}.input-row textarea::placeholder{color:var(--color-text-muted)}.input-row button{padding:var(--space-3) var(--space-6);background:var(--color-blue);color:#fff;border:none;border-radius:var(--radius-lg);font-family:var(--font-body);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:all .15s ease;min-width:100px}.input-row button:hover:not(:disabled){background:var(--color-blue-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.input-row button:disabled{background:var(--color-grey);cursor:not-allowed;opacity:.6}.loading-dots{display:inline-flex;gap:4px;align-items:center}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-blue);animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width: 768px){.app{padding:var(--space-2)}.header{padding:var(--space-3) var(--space-4)}.header h1{font-size:var(--text-lg)}.header p{font-size:var(--text-xs)}.brand-icon{width:36px;height:36px}.msg .bubble{max-width:98%;padding:var(--space-3) var(--space-4)}.quick-actions{gap:var(--space-1)}.quick-actions button{padding:6px 10px;font-size:var(--text-xs)}.input-row button{padding:var(--space-2) var(--space-4);min-width:auto}}@media (max-width: 480px){.header-inner{flex-direction:column;align-items:stretch}.lang-switch{align-self:flex-end}.quick-actions .new-chat{margin-left:0}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--space-4)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:var(--space-8);max-width:420px;width:100%;text-align:center}.auth-card h1{font-family:var(--font-heading);color:var(--color-dark-blue);margin:var(--space-3) 0 0;font-size:var(--text-2xl)}.auth-sub{color:var(--color-blue);font-weight:700;margin:0 0 var(--space-4)}.auth-msg{color:var(--color-black);margin:var(--space-4) 0;line-height:1.5}.auth-note{color:var(--color-text-muted);font-size:var(--text-sm)}.auth-btn-wrap{display:flex;justify-content:center;margin:var(--space-4) 0}.auth-error{color:var(--color-danger);font-size:var(--text-sm)}.auth-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700}.auth-badge-pending{background:var(--color-yellow-50);color:#8c660e}.auth-badge-rejected{background:#fde8e8;color:var(--color-danger)}.user-menu{position:relative}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);border:2px solid var(--color-blue-200);background:var(--color-blue);color:var(--color-white);font-weight:700;cursor:pointer;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown{position:absolute;right:0;top:44px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:220px;z-index:50;overflow:hidden}.user-dropdown-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.user-dropdown-head strong{color:var(--color-dark-blue);font-family:var(--font-heading)}.user-dropdown-head span{color:var(--color-text-muted);font-size:var(--text-xs)}.user-dropdown-item{display:block;width:100%;text-align:left;padding:var(--space-3) var(--space-4);background:none;border:none;cursor:pointer;color:var(--color-black);font-family:var(--font-body);font-size:var(--text-sm);text-decoration:none}.user-dropdown-item:hover{background:var(--color-blue-50);color:var(--color-dark-blue)}.admin-page{max-width:1000px;margin:0 auto;padding:var(--space-8) var(--space-6)}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.admin-header h1{font-family:var(--font-heading);color:var(--color-dark-blue);font-size:var(--text-2xl);margin:0}.admin-header p{color:var(--color-text-muted);margin:var(--space-1) 0 0}.admin-back{color:var(--color-blue);text-decoration:none;font-weight:700;white-space:nowrap}.admin-back:hover{color:var(--color-dark-blue)}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.admin-tabs button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-black);cursor:pointer;font-family:var(--font-body)}.admin-tabs button.active{background:var(--color-dark-blue);color:var(--color-white);border-color:var(--color-dark-blue)}.admin-error{color:var(--color-danger)}.admin-empty{color:var(--color-text-muted);padding:var(--space-6) 0}.admin-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.admin-table th{background:var(--color-dark-blue-50);color:var(--color-dark-blue);font-family:var(--font-heading);font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-user-cell{display:flex;align-items:center;gap:var(--space-2)}.admin-user-cell img{width:28px;height:28px;border-radius:var(--radius-full)}.role-pill,.status-pill{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;text-transform:capitalize}.role-admin{background:var(--color-dark-blue);color:var(--color-white)}.role-user{background:var(--color-border);color:var(--color-black)}.status-approved{background:#dcfce7;color:#166534}.status-pending{background:var(--color-yellow-50);color:#8c660e}.status-rejected{background:#fde8e8;color:var(--color-danger)}.admin-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.admin-actions button{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;font-size:var(--text-xs);font-family:var(--font-body);font-weight:700;background:var(--color-surface)}.btn-approve{background:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.btn-reject{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}.btn-role{background:var(--color-surface);color:var(--color-dark-blue);border-color:var(--color-dark-blue-200)}.feedback-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.feedback-label{font-size:var(--text-xs);color:var(--color-text-muted)}.feedback-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);width:28px;height:28px;cursor:pointer;font-size:.8rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.feedback-btn:hover{background:var(--color-bg)}.feedback-btn.active.up{background:#dcfce7;border-color:var(--color-success)}.feedback-btn.active.down{background:#fde8e8;border-color:var(--color-danger)}.admin-view-switch{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.admin-view-switch button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);color:var(--color-dark-blue)}.admin-view-switch button.active{background:var(--color-dark-blue);color:var(--color-white);border-color:var(--color-dark-blue)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:var(--color-dark-blue);line-height:1.1}.stat-label{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-black)}.stat-sub{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-muted)}.chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.chart-card.wide{grid-column:1 / -1}.chart-card h3{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-dark-blue);margin:0 0 var(--space-2)}.lowrated-q{max-width:380px;white-space:normal;word-break:break-word}@media (max-width: 860px){.chart-grid{grid-template-columns:1fr}}
