:root{--bg-page: #f7f7f8;--bg-white: #ffffff;--bg-subtle: #f0f0f2;--bg-code: #f4f4f7;--bg-user-msg: #e8e6f0;--accent: #4f46e5;--accent-light: #e8e6fb;--accent-hover: #4338ca;--danger: #dc2626;--danger-light: #fee2e2;--text-primary: #1a1a1a;--text-body: #2d2d2d;--text-secondary: #6b6b6b;--text-muted: #9a9a9a;--text-code: #c7254e;--border: #e2e2e5;--border-strong: #d0d0d4;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.header{background:var(--bg-white);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;box-shadow:var(--shadow-sm);position:relative;z-index:10}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:30px;height:30px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:14px;color:#fff;flex-shrink:0}.header h1{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.header h1 span{color:var(--text-muted);font-weight:500;margin-left:6px;font-size:14px}.sidebar-hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.sidebar-hamburger:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.header-controls{display:flex;align-items:center;gap:10px}.branch-selector{position:relative}.branch-selector-trigger{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-white);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);min-width:200px;max-width:320px}.branch-selector-trigger:hover:not(:disabled){border-color:var(--border-strong)}.branch-selector-trigger:disabled{opacity:.5;cursor:not-allowed}.branch-selector-icon{color:var(--accent);font-size:15px;flex-shrink:0}.branch-selector-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-selector-text.placeholder{color:var(--text-muted)}.branch-selector-chevron{flex-shrink:0;font-size:14px;color:var(--text-muted);transform:rotate(-90deg);transition:transform var(--transition)}.branch-selector-chevron.open{transform:rotate(90deg)}.branch-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:400px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000001f;z-index:100;animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.branch-search{padding:8px;border-bottom:1px solid var(--border)}.branch-search input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.branch-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-white)}.branch-search input::placeholder{color:var(--text-muted)}.branch-list{max-height:260px;overflow-y:auto;padding:4px}.branch-list::-webkit-scrollbar{width:6px}.branch-list::-webkit-scrollbar-track{background:transparent}.branch-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.branch-repo-group{margin-bottom:2px}.branch-repo-group+.branch-repo-group{border-top:1px solid var(--border);padding-top:4px;margin-top:4px}.branch-repo-header{display:flex;align-items:center;gap:6px;padding:6px 10px 2px;-webkit-user-select:none;user-select:none}.branch-repo-name{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.branch-repo-updated{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);opacity:.7;margin-left:auto;white-space:nowrap}.branch-repo-fetch-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:all var(--transition);line-height:1}.branch-repo-fetch-btn:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.branch-repo-fetch-btn:disabled{opacity:.4;cursor:not-allowed}.branch-repo-fetch-btn.spinning{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.branch-item{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;text-align:left;cursor:pointer;transition:background var(--transition)}.branch-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-favorite-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:all var(--transition);line-height:1}.branch-favorite-btn:hover{color:var(--accent);background:var(--accent-light)}.branch-favorite-btn.active{color:var(--accent)}.branch-item.release .branch-item-name{font-weight:700}.branch-item:hover{background:var(--bg-subtle)}.branch-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.branch-empty{padding:16px 10px;text-align:center;color:var(--text-muted);font-size:13px}.btn-new{padding:8px 18px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:-.01em}.btn-new:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-new:disabled{opacity:.4;cursor:not-allowed}.main{flex:1;overflow:hidden;display:flex;flex-direction:column}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px}.welcome-icon{width:60px;height:60px;border-radius:14px;background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:24px;color:var(--accent);animation:welcome-float 3s ease-in-out infinite}@keyframes welcome-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.welcome-text{color:var(--text-secondary);font-size:15px;text-align:center;line-height:1.6}.welcome-hint{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);padding:6px 14px;background:var(--bg-white);border-radius:100px;border:1px solid var(--border)}.welcome-notice{font-size:12px;color:var(--text-muted);text-align:center;line-height:1.5;max-width:420px}.welcome-notice-warning{color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:8px 16px}.chat{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:24px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:7px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.messages{display:flex;flex-direction:column;gap:6px;max-width:860px;margin:0 auto;width:100%}.messages-empty{text-align:center;color:var(--text-muted);margin-top:80px;font-size:15px}.message{padding:16px 20px;border-radius:var(--radius-md);animation:msg-in .25s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-user{background:var(--accent);color:#fff;margin-left:auto;max-width:70%;border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md)}.message-user .message-header{display:none}.message-user .message-content{color:#fff;font-size:15px}.message-assistant{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);max-width:100%}.message-header{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;color:var(--accent)}.message-content{font-size:15px;line-height:1.75;color:var(--text-body)}.message-content p{margin-bottom:12px}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3{font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.message-content h1{font-size:20px;margin:20px 0 10px}.message-content h2{font-size:17px;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.message-content h3{font-size:15px;margin:14px 0 6px;color:var(--accent)}.message-content strong{font-weight:700;color:var(--text-primary)}.message-content ul,.message-content ol{padding-left:22px;margin-bottom:12px}.message-content li{margin-bottom:5px}.message-content li::marker{color:var(--accent)}.message-content code{font-family:JetBrains Mono,monospace;font-size:13px;background:#f0edfa;padding:2px 7px;border-radius:4px;color:#6d28d9}.message-content pre{background:#fafafa;border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;overflow-x:auto;margin:12px 0}.message-content pre code{background:none;padding:0;font-size:13px;line-height:1.7;color:#1a1a2e}.message-content pre::-webkit-scrollbar{height:5px}.message-content pre::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.message-content .table-wrapper{overflow-x:auto;margin:16px 0;border:1px solid var(--border);border-radius:var(--radius-sm)}.message-content .table-wrapper::-webkit-scrollbar{height:5px}.message-content .table-wrapper::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.message-content table{width:100%;border-collapse:collapse;font-size:14px}.message-content thead{background:#f5f3ff}.message-content thead th{border-bottom:2px solid var(--accent)}.message-content th,.message-content td{border:1px solid var(--border);padding:10px 14px;text-align:left;white-space:normal;word-break:break-word}.message-content th{font-weight:700;color:var(--text-primary);font-size:13px;text-transform:uppercase;letter-spacing:.03em}.message-content tbody tr:nth-child(2n){background:#fafafa}.message-content tbody tr:hover{background:#f0edfa}.message-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition)}.message-content a:hover{color:var(--accent-hover)}.message-meta{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);display:flex;gap:16px;align-items:flex-start}.referenced-files summary{cursor:pointer;transition:color var(--transition)}.referenced-files summary:hover{color:var(--text-secondary)}.referenced-files ul{margin-top:6px;padding-left:16px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary)}.referenced-files li{margin-bottom:2px}.thinking{display:flex;align-items:center;gap:10px;padding:16px 20px;color:var(--text-secondary);font-size:14px;animation:msg-in .25s ease-out}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.thinking-message{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-timer{font-family:JetBrains Mono,monospace;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.error{color:var(--danger);background:var(--danger-light);border:1px solid #fca5a5;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin:8px 0;animation:msg-in .25s ease-out}.error-detail{padding:16px 20px}.error-detail .error-title{font-weight:700;font-size:14px;margin-bottom:6px}.error-detail .error-reason{font-size:13px;margin-bottom:12px;line-height:1.5}.error-detail .error-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:JetBrains Mono,monospace;font-size:12px;color:#9a3a3a;margin-bottom:10px}.error-detail .error-meta code{background:#dc262614;padding:1px 5px;border-radius:3px;font-size:11px}.error-detail .error-hint{font-size:13px;color:#7a3a3a;font-style:italic}.chat-input{display:flex;align-items:flex-end;gap:10px;padding:16px 24px 20px;background:var(--bg-white);border-top:1px solid var(--border)}.chat-input textarea{flex:1;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);color:var(--text-primary);font-family:Inter,sans-serif;font-size:15px;line-height:1.5;resize:none;overflow-y:auto;min-height:44px;max-height:200px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.chat-input textarea::placeholder{color:var(--text-muted)}.chat-input textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-white)}.chat-input textarea:disabled{opacity:.5}.chat-input button{padding:11px 22px;border:none;border-radius:var(--radius-md);background:var(--accent);color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);flex-shrink:0;min-height:44px}.chat-input button:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.chat-input button:disabled{opacity:.35;cursor:not-allowed}.btn-cancel{padding:11px 22px;border:1px solid var(--danger)!important;border-radius:var(--radius-md);background:transparent!important;color:var(--danger)!important;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);flex-shrink:0;min-height:44px}.btn-cancel:hover{background:var(--danger-light)!important}.chat-model-select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;flex-shrink:0}.chat-model-select:disabled{opacity:.4;cursor:not-allowed}.chat-effort-select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;flex-shrink:0}.chat-effort-select:disabled{opacity:.4;cursor:not-allowed}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-page);padding:24px}.login-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px 36px 36px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px}.login-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.login-header h2{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.login-header h2 span{color:var(--text-muted);font-weight:500;margin-left:6px;font-size:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field span{font-size:13px;font-weight:600;color:var(--text-secondary)}.login-field input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-white)}.login-field input:disabled{opacity:.5}.login-error{color:var(--danger);background:var(--danger-light);border:1px solid #fca5a5;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.login-submit{padding:10px 0;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition)}.login-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.login-submit:disabled{opacity:.4;cursor:not-allowed}.header-user{display:flex;align-items:center;gap:10px;margin-left:8px;padding-left:16px;border-left:1px solid var(--border)}.header-username{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary)}.btn-logout{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition)}.btn-logout:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-light)}.rating-buttons{display:inline-flex;gap:2px;margin-left:auto}.btn-rate{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;min-height:auto!important;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent!important;color:var(--text-muted)!important;cursor:pointer;transition:all var(--transition)}.btn-rate:hover{color:var(--accent)!important;background:var(--accent-light)!important;border-color:var(--accent);box-shadow:none!important}.btn-rate.active{color:var(--accent)!important;background:var(--accent-light)!important;border-color:var(--accent)}.btn-rate-down:hover,.btn-rate-down.active{color:var(--danger)!important;background:var(--danger-light)!important;border-color:var(--danger)}.share-wrapper{position:relative;display:flex;align-items:center}.btn-share{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.btn-share:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.share-panel{position:absolute;top:calc(100% + 6px);right:0;display:flex;align-items:center;gap:4px;padding:6px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;animation:share-panel-in .15s ease-out;z-index:100}.share-panel input{width:280px;padding:5px 8px;font-size:12px;font-family:JetBrains Mono,monospace;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);outline:none}.share-panel input:focus{border-color:var(--accent)}.share-panel button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);flex-shrink:0}.share-panel button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}@keyframes share-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.shared-session-info{display:flex;align-items:center;gap:10px;font-size:13px}.shared-badge{padding:3px 10px;border-radius:100px;background:var(--accent-light);color:var(--accent);font-weight:600;font-size:12px}.shared-branch{font-family:JetBrains Mono,monospace;color:var(--text-secondary)}.shared-date{color:var(--text-muted)}.btn-attach{padding:0;width:44px;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page)!important;color:var(--text-secondary)!important;font-size:18px;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.btn-attach:hover:not(:disabled){border-color:var(--accent);color:var(--accent)!important;background:var(--accent-light)!important;box-shadow:none!important}.btn-attach:disabled{opacity:.35;cursor:not-allowed}.attached-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 24px 0;background:var(--bg-white)}.file-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 6px;background:var(--accent-light);border:1px solid var(--accent);border-radius:100px;font-size:12px;color:var(--accent);max-width:200px}.file-chip-icon{font-size:13px;flex-shrink:0}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:12px}.file-chip-remove{background:none!important;border:none;color:var(--accent)!important;font-size:16px;line-height:1;cursor:pointer;padding:0 2px!important;min-height:auto!important;opacity:.6;transition:opacity var(--transition)}.file-chip-remove:hover{opacity:1;box-shadow:none!important}.chat.drag-over{position:relative}.drag-overlay{position:absolute;inset:0;background:#4f46e50f;border:2px dashed var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none;animation:drag-fade-in .15s ease-out}@keyframes drag-fade-in{0%{opacity:0}to{opacity:1}}.drag-overlay-text{padding:14px 28px;background:var(--bg-white);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--accent);font-size:15px;font-weight:600;box-shadow:var(--shadow-md)}.sidebar{width:280px;min-width:280px;background:var(--bg-white);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,min-width .2s ease}.sidebar-overlay{display:none}.sidebar-collapsed{width:280px;min-width:280px}.sidebar-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.sidebar-new-chat{flex:1;padding:8px 14px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.sidebar-new-chat:hover{background:var(--accent-hover)}.sidebar-ai-error{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fee2e2;border-bottom:1px solid #fca5a5}.sidebar-ai-error-text{flex:1;font-size:12px;font-weight:600;color:#dc2626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-ai-error-btn{flex-shrink:0;padding:2px 8px;font-size:11px;background:#dc2626;color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer}.sidebar-ai-error-btn:hover{background:#b91c1c}.sidebar-search{padding:8px 12px;border-bottom:1px solid var(--border)}.sidebar-search input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-primary);font-size:13px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.sidebar-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-white)}.sidebar-search input::placeholder{color:var(--text-muted)}.sidebar-sessions{flex:1;overflow-y:auto;padding:4px 0}.sidebar-sessions::-webkit-scrollbar{width:5px}.sidebar-sessions::-webkit-scrollbar-track{background:transparent}.sidebar-sessions::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.sidebar-group-label{padding:10px 16px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sidebar-session-item{display:block;width:100%;padding:10px 16px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background var(--transition)}.sidebar-session-item:hover{background:var(--bg-subtle)}.sidebar-session-item.active{background:var(--accent-light)}.sidebar-session-title{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.sidebar-session-item.active .sidebar-session-title{color:var(--accent);font-weight:600}.sidebar-session-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11px;color:var(--text-muted)}.sidebar-session-branch{font-family:JetBrains Mono,monospace;font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-session-count{background:var(--bg-subtle);padding:1px 6px;border-radius:100px;font-size:10px;font-weight:600}.sidebar-session-item.active .sidebar-session-count{background:#4f46e526;color:var(--accent)}.btn-admin-link{padding:6px 14px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-family:Inter,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-admin-link:hover{background:var(--accent-light)}.admin-usage{padding:32px 40px;width:100%;overflow-y:auto;flex:1}.admin-usage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.admin-usage-header h2{font-size:18px;font-weight:700;color:var(--text-primary)}.admin-usage-periods{display:flex;gap:4px;background:var(--bg-subtle);border-radius:var(--radius-sm);padding:3px}.admin-period-btn{padding:6px 16px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.admin-period-btn:hover{color:var(--text-primary)}.admin-period-btn.active{background:var(--bg-white);color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}.admin-usage-table{width:100%;border-collapse:collapse;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.admin-usage-table th{text-align:left;padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border)}.admin-usage-table td{padding:10px 16px;font-size:14px;color:var(--text-body);border-bottom:1px solid var(--border)}.admin-usage-table tr:last-child td{border-bottom:none}.admin-usage-table td:first-child,.admin-usage-table th:first-child{width:50px;text-align:center;color:var(--text-muted)}.admin-usage-table td:nth-child(3),.admin-usage-table th:nth-child(3),.admin-usage-table td:nth-child(4),.admin-usage-table th:nth-child(4){text-align:right;font-family:JetBrains Mono,monospace;font-weight:600}.admin-usage-loading{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}.admin-usage-error{color:var(--danger);background:var(--danger-light);border:1px solid #fca5a5;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px}.admin-usage-empty{text-align:center;color:var(--text-muted);padding:24px 16px}.admin-reviews-section{padding:24px;max-width:900px;margin:0 auto}.admin-reviews-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.admin-reviews-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.admin-reviews-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border)}.admin-reviews-table td{padding:8px 14px;font-size:13px;color:var(--text-body);border-bottom:1px solid var(--border)}.admin-reviews-table tr:last-child td{border-bottom:none}.admin-reviews-pr-title{font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-reviews-repo{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:12px}.admin-reviews-commit{color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-reviews-model{color:var(--text-secondary);font-size:12px;white-space:nowrap}.admin-reviews-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.admin-reviews-status--done{background:#dcfce7;color:#166534}.admin-reviews-status--error{background:var(--danger-light);color:var(--danger)}.admin-reviews-status--running,.admin-reviews-status--pending{background:#fef3c7;color:#92400e}.admin-reviews-date{color:var(--text-muted);white-space:nowrap}.pr-history-row:hover{background:var(--bg-subtle)}.review-prompts-description{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.review-prompts-list{display:flex;flex-direction:column;gap:16px}.review-prompt-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.review-prompt-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}.review-prompt-repo-name{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;color:var(--text-primary)}.review-prompt-meta{font-size:12px;color:var(--text-muted);white-space:nowrap}.review-prompt-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-page);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;resize:vertical;min-height:300px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.review-prompt-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);background:var(--bg-white)}.review-prompt-textarea::placeholder{color:var(--text-muted)}.review-prompt-card-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.btn-review-prompt-save{padding:6px 18px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-review-prompt-save:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-review-prompt-save:disabled{opacity:.4;cursor:not-allowed}.review-prompt-saved-hint{font-size:12px;color:var(--text-muted)}.admin-user-header{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg-white);flex-shrink:0}.admin-user-username{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--text-primary)}.admin-session-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.admin-session-info-branch{padding:1px 6px;border-radius:4px;background:var(--bg-code);font-family:JetBrains Mono,monospace;font-size:12px}.admin-usage-row-clickable{cursor:pointer;transition:background var(--transition)}.admin-usage-row-clickable:hover{background:var(--accent-light)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px;border-bottom:1px solid var(--border)}.sidebar-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);text-align:left;text-decoration:none}.sidebar-nav-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.pr-page-with-sidebar{display:flex;flex:1;overflow:hidden;width:100%}.pr-page{flex:1;overflow-y:auto;padding:24px 32px;max-width:900px;margin:0 auto;width:100%}.pr-repo-sidebar{width:200px;min-width:200px;overflow-y:auto;border-left:1px solid var(--border);padding:16px 12px;background:var(--sidebar-bg)}.pr-repo-sidebar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px;padding:0 4px}.pr-repo-sidebar-list{list-style:none;margin:0;padding:0}.pr-repo-sidebar-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 8px;border:none;background:none;border-radius:4px;cursor:pointer;font-size:12px;font-family:JetBrains Mono,monospace;color:var(--text-primary);text-align:left;gap:6px;transition:background-color .15s}.pr-repo-sidebar-item:hover{background:var(--hover-bg)}.pr-repo-sidebar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.pr-repo-sidebar-count{flex-shrink:0;font-size:11px;color:var(--text-secondary);background:var(--border);border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}@media(max-width:900px){.pr-repo-sidebar{display:none}}.pr-page.pr-page--wide{max-width:none}.pr-page--wide .admin-reviews-table{table-layout:auto}.pr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.pr-header h2{font-size:18px;font-weight:700;color:var(--text-primary)}.pr-loading{display:flex;align-items:center;gap:10px;padding:40px;justify-content:center;color:var(--text-secondary)}.pr-error{color:var(--danger);background:var(--danger-light);border:1px solid #fca5a5;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px}.pr-empty{text-align:center;color:var(--text-muted);padding:40px 16px;font-size:14px}.pr-search-wrapper{margin-bottom:16px}.pr-search-box{position:relative;display:flex;align-items:center}.pr-search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;flex-shrink:0}.pr-search-input{width:100%;padding:10px 36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.pr-search-input::placeholder{color:var(--text-muted);font-size:13px}.pr-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.pr-search-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:var(--bg-subtle);color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;transition:all var(--transition)}.pr-search-clear:hover{background:var(--border);color:var(--text-primary)}.pr-search-stats{margin-top:6px;font-size:12px;color:var(--text-muted);padding-left:4px}.pr-search-highlight{background:#facc1566;color:inherit;border-radius:2px;padding:0 1px}.pr-repo-group{margin-bottom:20px}.pr-repo-name{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--text-secondary);padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.pr-repo-updated{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:auto}.pr-repo-fetch-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:15px;cursor:pointer;transition:all var(--transition);line-height:1}.pr-repo-fetch-btn:hover:not(:disabled){color:var(--accent);background:var(--accent-light)}.pr-repo-fetch-btn:disabled{opacity:.4;cursor:not-allowed}.pr-repo-fetch-btn.spinning{animation:spin .8s linear infinite}.pr-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.pr-item-stale{background-color:#ffb6c140;border-radius:6px;padding:12px 8px}.pr-item-info{flex:1;min-width:0;overflow:hidden}.pr-item-title-row{display:flex;align-items:center;gap:6px;min-width:0}.pr-item-title{font-size:14px;font-weight:500;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-item-title:hover{color:var(--accent)}.pr-review-count{flex-shrink:0;font-size:11px;color:var(--text-muted);background:var(--bg-secondary);border-radius:8px;padding:0 5px;line-height:18px;border:none;cursor:pointer}.pr-review-count-link:hover{color:var(--accent-color);background:var(--bg-hover)}.pr-history-filter{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:12px;font-size:13px}.pr-history-filter-clear{background:none;border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:12px;color:var(--text-muted)}.pr-history-filter-clear:hover{color:var(--text-primary);border-color:var(--text-muted)}.pr-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:4px}.pr-item-branch{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);background:var(--bg-subtle);padding:2px 6px;border-radius:4px}.pr-item-arrow{color:var(--text-muted);margin:0 2px;opacity:.6}.pr-item-ticket{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:4px;font-weight:600}.pr-item-commit{font-size:12px;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-item-commit code{font-family:JetBrains Mono,monospace;background:var(--bg-subtle);padding:1px 4px;border-radius:3px;font-size:11px}.pr-item-commit-date{opacity:.7}.pr-item-author{font-size:12px;color:var(--text-secondary);font-style:italic}.pr-item-ticket-link{text-decoration:none;transition:opacity var(--transition)}.pr-item-ticket-link:hover{opacity:.8;text-decoration:underline}.pr-item-priority{font-size:11px;opacity:.85;margin-left:4px;font-weight:400}.pr-item-priority:before{content:"·"}.pr-item-ticket.priority-blocker{background:#ffebe6;color:#bf2600;border:1px solid #ff8f73}.pr-item-ticket.priority-critical{background:#ffebe6;color:#de350b}.pr-item-ticket.priority-major{background:#fff7e6;color:#ff8b00}.pr-item-ticket.priority-minor{background:#e3fcef;color:#064}.pr-item-ticket.priority-trivial{background:#f4f5f7;color:#6b778c}.pr-item-date{font-size:11px;color:var(--text-muted)}.pr-model-select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;flex-shrink:0}.pr-model-select:disabled{opacity:.4;cursor:not-allowed}.pr-effort-select{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;flex-shrink:0}.pr-effort-select:disabled{opacity:.4;cursor:not-allowed}.btn-pr-review{padding:6px 16px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap;flex-shrink:0}.btn-pr-review:hover:not(:disabled){background:var(--accent);color:#fff}.btn-pr-review:disabled{opacity:.4;cursor:not-allowed}.pr-item-actions{flex-shrink:0;position:relative;z-index:1;display:flex;align-items:center;gap:6px}.btn-pr-copy-curl{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition);flex-shrink:0}.btn-pr-copy-curl:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.pr-item-progress{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;animation:msg-in .25s ease-out}.pr-item-progress-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.btn-pr-history{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-pr-history:hover{border-color:var(--accent);color:var(--accent)}.pr-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0}.pr-pagination-btn{padding:5px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;cursor:pointer}.pr-pagination-btn:disabled{opacity:.3;cursor:not-allowed}.pr-pagination-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.pr-pagination-info{font-size:13px;color:var(--text-secondary);min-width:50px;text-align:center}.btn-pr-back{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.btn-pr-back:hover{border-color:var(--accent);color:var(--accent)}.btn-pr-detail{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:12px;cursor:pointer;transition:all var(--transition)}.btn-pr-detail:hover{border-color:var(--accent);color:var(--accent)}.btn-pr-download{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;transition:all var(--transition)}.btn-pr-download:hover{border-color:var(--accent);color:var(--accent)}.pr-review-progress,.pr-review-error{margin-top:16px}.pr-review-result{margin-top:16px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.pr-review-result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.pr-review-result-header h3{font-size:15px;font-weight:700;color:var(--text-primary)}.pr-review-result-meta{display:flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted)}.pr-review-detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:13px;color:var(--text-muted)}.pr-status{padding:2px 8px;border-radius:100px;font-size:12px;font-weight:600}.pr-status-done{background:#dcfce7;color:#166534}.pr-status-running,.pr-status-pending{background:#fef9c3;color:#854d0e}.pr-status-error{background:var(--danger-light);color:var(--danger)}.pr-review-detail-link{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.pr-review-detail-link a{color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:2px}.pr-review-running{margin-top:16px}.pr-review-error-block{margin-top:16px;padding:12px 16px;background:var(--danger-light, #fef2f2);border:1px solid #fca5a5;border-radius:8px;color:var(--danger, #dc2626);font-size:14px;font-weight:600}.pr-review-log-details{margin-top:12px}.pr-review-log-details summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.pr-review-output-log{background:#1e1e2e;color:#cdd6f4;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.6;padding:12px 16px;border-radius:8px;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.pr-review-output-log div{padding:1px 0}@media(max-width:768px){.sidebar-hamburger{display:flex}.header{height:auto;min-height:48px;padding:8px 12px;gap:6px;z-index:60}.header-brand{gap:6px;flex-shrink:0}.header h1{display:none}.header-controls{flex:1;min-width:0;flex-wrap:wrap;gap:6px;justify-content:flex-end}.branch-selector{flex:1 1 100px;min-width:0;max-width:200px}.branch-selector-trigger{min-width:0;width:100%;padding:6px 8px;font-size:12px;gap:4px}.btn-new{padding:6px 12px;font-size:12px;white-space:nowrap}.btn-share{width:32px;height:32px}.header-user{padding-left:0;border-left:none;margin-left:0;gap:4px}.header-username{display:none}.btn-logout,.btn-admin-link{padding:5px 10px;font-size:11px;white-space:nowrap}.branch-dropdown{left:auto;right:0;width:300px;max-width:calc(100vw - 24px)}.branch-list{max-height:50vh}.share-panel{max-width:calc(100vw - 24px)}.share-panel input{width:auto;min-width:0;flex:1}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:50;background:#0000004d}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:55;width:280px;max-width:calc(100vw - 60px);min-width:0;padding-top:48px;box-shadow:4px 0 20px #00000026}.sidebar-collapsed{display:none;width:0;min-width:0}.chat-messages{padding:12px}.message{padding:12px 14px}.message-user{max-width:88%}.message-content pre{padding:12px}.message-content pre code{font-size:12px}.message-meta{flex-wrap:wrap;gap:6px 12px}.chat-input{padding:8px 10px 12px;gap:6px;flex-wrap:wrap}.chat-input textarea{font-size:16px;padding:10px 12px;min-height:40px;min-width:0;width:100%;flex:1 1 100%;order:-1}.btn-attach{width:36px;min-width:36px;min-height:36px;order:0}.chat-model-select,.chat-effort-select{font-size:11px;padding:4px 6px;min-height:36px}.chat-input button{padding:8px 14px;font-size:13px;min-height:36px;margin-left:auto}.btn-cancel{padding:8px 14px;min-height:36px;margin-left:auto}.attached-files{padding:6px 10px 0}.welcome{padding:24px 16px}.welcome-notice{max-width:100%}.admin-usage{padding:16px;overflow-x:auto}.admin-usage-header{flex-wrap:wrap;gap:12px}.admin-usage-periods{width:100%}.admin-period-btn{flex:1;padding:6px 8px;font-size:12px;text-align:center}.admin-user-header{padding:10px 12px;flex-wrap:wrap;gap:8px}.shared-session-info{flex-wrap:wrap;gap:6px;font-size:12px}.login-card{padding:28px 20px 24px}.login-field input{font-size:16px}}.header-username-link{background:none;border:none;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all var(--transition)}.header-username-link:hover{background:var(--accent-light);color:var(--accent)}.profile-page{padding:40px 24px;max-width:480px;margin:0 auto;width:100%}.profile-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm)}.profile-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:4px 0;margin-bottom:20px;transition:color var(--transition)}.profile-back:hover{color:var(--accent)}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin:0 auto 12px}.profile-username{text-align:center;font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:28px}.profile-section{border-top:1px solid var(--border);padding-top:20px}.profile-section h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.profile-description{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.profile-note{font-size:13px;color:var(--text-muted)}.profile-error{font-size:13px;color:var(--danger);margin-top:10px}.btn-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-secondary);padding:4px 0}.btn-toggle:disabled{opacity:.5;cursor:not-allowed}.btn-toggle-track{width:40px;height:22px;border-radius:11px;background:var(--border-strong);position:relative;transition:background var(--transition);flex-shrink:0}.btn-toggle-on .btn-toggle-track{background:var(--accent)}.btn-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform var(--transition)}.btn-toggle-on .btn-toggle-thumb{transform:translate(18px)}
