@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--sidebar-w:240px;--bg:#0a0a0f;--bg-card:#111118;--bg-card-hover:#16161f;--border:#ffffff12;--border-active:#7864ff80;--accent:#7b5ea7;--accent-bright:#a47de8;--accent-glow:#7b5ea740;--text:#f0eeff;--text-muted:#7a7893;--text-dim:#3d3b52;--danger:#e05858;--success:#4ecb8d;--gitlab:#fc6d26;--notion:#fff;--openwebui:#10b981;--radius:12px;--radius-sm:8px;font-family:Syne,sans-serif}[data-theme=light]{--bg:#f7f8fa;--bg-card:#fff;--bg-card-hover:#f2f3f6;--border:#00000017;--border-active:#7b5ea780;--accent:#7b5ea7;--accent-bright:#9860d8;--accent-glow:#7b5ea71f;--text:#1c1c2e;--text-muted:#64647a;--text-dim:#a8a8be;--danger:#c94040;--success:#2ea86f;--notion:#1a1a1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background .3s,color .3s;overflow-x:hidden}#root{min-height:100vh}*,:before,:after{transition-property:background-color,border-color,color,box-shadow;transition-duration:.25s;transition-timing-function:ease}button,a,input,textarea,select{transition-duration:.15s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7b5ea74d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7b5ea780}::selection{color:var(--text);background:#7b5ea74d}[data-theme=light] .proj-grid,[data-theme=light] .dash-grid{background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px)}[data-theme=light] .proj-orb,[data-theme=light] .dash-orb{background:radial-gradient(circle,#7b5ea70d 0%,#0000 70%)}[data-theme=light] .page-header,[data-theme=light] .req-page-header,[data-theme=light] .proj-page-header,[data-theme=light] .admin-page-header{background:#f7f8fae6;border-bottom-color:#00000014}[data-theme=light] .admin-table-wrap{background:#fff;box-shadow:0 1px 4px #00000012}[data-theme=light] .admin-filter-tab,[data-theme=light] .admin-refresh-btn,[data-theme=light] .info-chip,[data-theme=light] .dash-nav-tab,[data-theme=light] .req-nav-tab,[data-theme=light] .dash-btn-back,[data-theme=light] .req-btn-back,[data-theme=light] .req-btn-cancel,[data-theme=light] .req-btn-compare,[data-theme=light] .proj-btn-cancel,[data-theme=light] .chat-new-btn,[data-theme=light] .btn-logout{background:#0000000a;border-color:#0000001a}[data-theme=light] .admin-filter-tab:hover,[data-theme=light] .admin-refresh-btn:hover,[data-theme=light] .dash-btn-back:hover,[data-theme=light] .req-btn-back:hover,[data-theme=light] .req-btn-cancel:hover,[data-theme=light] .req-btn-compare:hover,[data-theme=light] .proj-btn-cancel:hover,[data-theme=light] .chat-new-btn:hover{background:#00000012}[data-theme=light] .status-badge.disconnected{background:#0000000d}[data-theme=light] .icon-notion{color:#1a1a1a;background:#00000012;border-color:#0000001f}[data-theme=light] .admin-table tbody tr{border-bottom-color:#0000000f}[data-theme=light] .admin-table tbody tr:hover{background:#00000006}[data-theme=light] .admin-filter-count{background:#00000012}[data-theme=light] .chat-conv-item:hover{background:#0000000d}[data-theme=light] .chat-conv-item.active{background:#7b5ea71a}[data-theme=light] .proj-field-group input,[data-theme=light] .proj-field-group textarea,[data-theme=light] .proj-edit-form input,[data-theme=light] .proj-edit-form textarea,[data-theme=light] .field-input,[data-theme=light] .dash-field input,[data-theme=light] .dash-field textarea{color:var(--text);background:#00000008;border-color:#0000001a}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:var(--text-dim)}[data-theme=light] .scope-group-card,[data-theme=light] .scope-issue-row,[data-theme=light] .scope-summary{background:#fff;border-color:#00000017}[data-theme=light] .scope-issue-row:hover,[data-theme=light] .req-version-item:hover{background:#00000008}[data-theme=light] .settings-profile-card,[data-theme=light] .settings-billing-card,[data-theme=light] .settings-recharge,[data-theme=light] .settings-empty-icon{background:#fff;box-shadow:0 1px 4px #00000012}[data-theme=light] .settings-tab,[data-theme=light] .settings-copy-btn{color:var(--text-muted);background:#0000000a;border-color:#0000001a}[data-theme=light] .settings-tab:hover,[data-theme=light] .settings-copy-btn:hover{color:var(--text);background:#00000012}[data-theme=light] .chat-sidebar{background:#eef0f4;border-right-color:#00000017}[data-theme=light] .chat-input-area{background:#f7f8faf7;border-top-color:#00000014}[data-theme=light] .chat-window{background:#fff;box-shadow:0 2px 12px #00000014}.sidebar{width:var(--sidebar-w);z-index:50;background:#0d0c19;border-right:1px solid #ffffff12;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar-header{border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:10px;height:60px;padding:0 16px;display:flex}.sidebar-logo{background:#7b5ea726;border:1px solid #7b5ea74d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-brand{color:#f0eeff;letter-spacing:-.02em;white-space:nowrap;font-family:Syne,sans-serif;font-size:.95rem;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 0;display:flex}.sidebar-section{text-transform:uppercase;letter-spacing:.12em;color:#3d3b52;padding:12px 16px 6px;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:500}.sidebar-item{color:#7a7893;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px;padding:9px 16px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-item:hover{color:#f0eeff;background:#ffffff0d}.sidebar-item.active{color:#a47de8;background:#7b5ea72e}.sidebar-item.active:before{content:"";background:#a47de8;border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.sidebar-item-icon{opacity:.7;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-item.active .sidebar-item-icon{opacity:1}.sidebar-back{color:#7a7893;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff12;border-radius:8px;align-items:center;gap:8px;width:calc(100% - 16px);margin:4px 8px 8px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-back:hover{color:#f0eeff;background:#ffffff0f;border-color:#ffffff1f}.sidebar-project-name{color:#f0eeff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;padding:0 24px 6px;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700;overflow:hidden}.sidebar-divider{background:#ffffff12;height:1px;margin:8px 16px}.sidebar-footer{border-top:1px solid #ffffff12;flex-direction:column;flex-shrink:0;gap:8px;padding:12px;display:flex}.sidebar-user{background:#ffffff08;border:1px solid #ffffff12;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#7b5ea7,#3d2d6b);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700;display:flex}.sidebar-user-info{flex-direction:column;gap:1px;min-width:0;display:flex}.sidebar-username{color:#7a7893;white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1;overflow:hidden}.sidebar-balance{color:#a47de8;opacity:.85;font-family:JetBrains Mono,monospace;font-size:.62rem;line-height:1}.sidebar-footer-actions{gap:6px;display:flex}.sidebar-theme-btn{color:#7a7893;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:background .15s,color .15s;display:flex}.sidebar-theme-btn:hover{color:#f0eeff;background:#ffffff12}.sidebar-logout-btn{color:#7a7893;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-logout-btn:hover{color:#e05858;background:#e0585812;border-color:#e058584d}.sidebar-notif-btn{color:#7a7893;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;transition:background .12s,color .12s;display:flex;position:relative}.sidebar-notif-btn:hover{color:#f0eeff;background:#ffffff14}.sidebar-notif-badge{color:#fff;background:#a47de8;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-family:JetBrains Mono,monospace;font-size:.55rem;font-weight:700;line-height:1;display:flex;position:absolute;top:1px;right:1px}.notif-backdrop{z-index:90;position:fixed;inset:0}.notif-panel{left:var(--sidebar-w);z-index:100;background:#0d0c19;border:1px solid #ffffff1a;border-left:none;border-top-right-radius:12px;border-bottom-right-radius:12px;flex-direction:column;width:320px;max-height:480px;animation:.2s notif-slide-in;display:flex;position:fixed;bottom:0;box-shadow:8px 0 32px #0006}@keyframes notif-slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.notif-panel-loading{justify-content:center;align-items:center;min-height:120px;padding:40px}.notif-panel-header{color:#f0eeff;border-bottom:1px solid #ffffff12;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;font-family:Syne,sans-serif;font-size:.85rem;font-weight:700;display:flex}.notif-mark-all{color:#a47de8;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-family:JetBrains Mono,monospace;font-size:.65rem}.notif-mark-all:hover{text-decoration:underline}.notif-close{color:#7a7893;cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:1.2rem;line-height:1}.notif-close:hover{color:#f0eeff}.notif-list{flex:1;overflow-y:auto}.notif-empty{text-align:center;color:#3d3b52;padding:32px 16px;font-family:JetBrains Mono,monospace;font-size:.78rem}.notif-item{cursor:pointer;border-bottom:1px solid #ffffff0d;padding:12px 16px;transition:background .12s}.notif-item:hover{background:#ffffff08}.notif-item.notif-read{opacity:.55;cursor:default}.notif-item.notif-read:hover{background:0 0}.notif-item-top{align-items:center;gap:6px;margin-bottom:3px;display:flex}.notif-type{color:#a47de8;text-transform:uppercase;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:.62rem}.notif-time{color:#3d3b52;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.62rem}.notif-dot{background:#a47de8;border-radius:50%;flex-shrink:0;width:6px;height:6px}.notif-title{color:#f0eeff;font-family:Syne,sans-serif;font-size:.8rem;font-weight:600;line-height:1.35}.notif-body{color:#7a7893;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.4}.notif-spinner{border:2px solid #ffffff1a;border-top-color:#a47de8;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{min-height:100vh;display:flex}.app-main{margin-left:var(--sidebar-w);flex:1;min-width:0;min-height:100vh}.login-root{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{pointer-events:none;position:fixed;inset:0}.grid-lines{background-image:linear-gradient(#7b5ea70f 1px,#0000 1px),linear-gradient(90deg,#7b5ea70f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%)}.glow-orb{filter:blur(90px);opacity:.35;border-radius:50%;animation:8s ease-in-out infinite orb-drift;position:absolute}.orb-1{background:radial-gradient(circle,#5b3d8a 0%,#0000 70%);width:500px;height:500px;animation-delay:0s;top:-100px;left:-100px}.orb-2{background:radial-gradient(circle,#1a1060 0%,#0000 70%);width:400px;height:400px;animation-delay:-4s;bottom:-80px;right:-80px}@keyframes orb-drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,20px)scale(1.05)}}.login-wrapper{z-index:1;flex-direction:column;gap:2rem;width:100%;max-width:420px;padding:2rem 1.5rem;animation:.5s both fade-up;display:flex;position:relative}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-brand{align-items:center;gap:14px;display:flex}.brand-icon{background:#7b5ea726;border:1px solid #7b5ea74d;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.brand-text{flex-direction:column;display:flex}.brand-name{color:var(--text);letter-spacing:-.02em;font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;line-height:1}.brand-sub{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.7rem}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 0 60px #00000080,inset 0 0 0 1px #ffffff08}.login-tabs{background:#ffffff0a;border-radius:8px;margin-bottom:1.75rem;padding:4px;display:flex;position:relative}.tab-btn{color:var(--text-muted);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-family:Syne,sans-serif;font-size:.85rem;font-weight:600;transition:color .25s;position:relative}.tab-btn.active{color:var(--text)}.tab-indicator{background:#7b5ea759;border:1px solid #7b5ea766;border-radius:6px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:4px;left:4px}.tab-indicator.right{transform:translate(100%)}.login-form{flex-direction:column;gap:1rem;display:flex}.field-group{flex-direction:column;gap:6px;animation:.4s both fade-up;display:flex}.field-input-wrap{position:relative}.field-icon{color:var(--text-dim);pointer-events:none;transition:color .2s;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field-input-wrap:focus-within .field-icon{color:var(--accent-bright)}.field-input-wrap input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#ffffff0a;outline:none;padding:11px 12px;font-family:JetBrains Mono,monospace;font-size:.875rem;transition:border-color .2s,background .2s,box-shadow .2s}.field-input-wrap:has(.field-icon) input{padding-left:42px}.field-input-wrap:has(.field-eye-btn) input{padding-right:42px}.field-input-wrap input::placeholder{color:var(--text-dim)}.field-input-wrap input:focus{border-color:var(--border-active);background:#7b5ea70f;box-shadow:0 0 0 3px #7b5ea71a}.field-input-wrap.field-error input{border-color:#e0585880}.field-input-wrap.field-error input:focus{border-color:#e05858b3;box-shadow:0 0 0 3px #e058581f}.field-eye-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;line-height:1;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-eye-btn:hover{color:var(--text)}.field-label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.field-label-row .field-label{margin-bottom:0}.field-mismatch{color:var(--danger,#e05858);font-family:JetBrains Mono,monospace;font-size:.72rem}.login-error{color:var(--danger);border-radius:var(--radius-sm);background:#e058581a;border:1px solid #e0585833;align-items:center;gap:8px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;animation:.35s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-btn{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;background:linear-gradient(135deg,#7b5ea7 0%,#5b3d8a 100%);border:1px solid #a47de84d;justify-content:center;align-items:center;min-height:44px;margin-top:.5rem;padding:12px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s;display:flex;position:relative;overflow:hidden}.login-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .2s;position:absolute;inset:0}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 30px #7b5ea766}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn.loading{opacity:.7;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.field-row-login{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=420px){.field-row-login{grid-template-columns:1fr}}.login-footer-note{color:var(--text-dim);text-align:center;letter-spacing:.05em;margin-top:1.25rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.login-pending{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.login-pending-icon{width:64px;height:64px;color:var(--accent-bright);background:#7b5ea71f;border:1px solid #7b5ea74d;border-radius:50%;justify-content:center;align-items:center;display:flex}.login-pending h3{color:var(--text);margin:0;font-family:Syne,sans-serif;font-size:1.15rem}.login-pending p{color:var(--text-muted);max-width:300px;margin:0;font-size:.85rem;line-height:1.6}.proj-root{min-height:100vh;position:relative}.proj-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.proj-grid{background-image:linear-gradient(#7b5ea70a 1px,#0000 1px),linear-gradient(90deg,#7b5ea70a 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0}.proj-orb{background:radial-gradient(circle,#5b3d8a2e 0%,#0000 70%);border-radius:50%;width:800px;height:800px;position:absolute;top:-200px;right:-200px}.proj-page-header{z-index:1;border-bottom:1px solid var(--border);background:#0a0a0f80;padding:0 2rem;position:relative}.proj-header-inner{justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1100px;margin:0 auto;padding:2rem 0;display:flex}.proj-page-title{letter-spacing:-.03em;color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.75rem;font-weight:800;line-height:1}.proj-page-desc{color:var(--text-muted);letter-spacing:.03em;font-family:JetBrains Mono,monospace;font-size:.75rem}.proj-btn-new{color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#7b5ea74d,#7b5ea726);border:1px solid #7b5ea766;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.proj-btn-new:hover{transform:translateY(-1px);box-shadow:0 6px 24px #7b5ea74d}.proj-main{z-index:1;flex-direction:column;gap:1.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 2rem;animation:.4s both proj-fade-up;display:flex;position:relative}@keyframes proj-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.proj-form-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:16px;padding:1.5rem}.proj-form-title{color:var(--text);margin-bottom:1.25rem;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.proj-form{flex-direction:column;gap:1rem;display:flex}.proj-field-group{flex-direction:column;gap:6px;display:flex}.proj-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.proj-field-group input,.proj-field-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);box-sizing:border-box;resize:vertical;background:#ffffff08;outline:none;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:.82rem;transition:border-color .2s,background .2s,box-shadow .2s}.proj-field-group input::placeholder,.proj-field-group textarea::placeholder{color:var(--text-dim)}.proj-field-group input:focus,.proj-field-group textarea:focus{border-color:var(--border-active);background:#7b5ea70d;box-shadow:0 0 0 3px #7b5ea714}.proj-form-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.proj-btn-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:all .2s}.proj-btn-cancel:hover{color:var(--text);background:#ffffff12}.proj-btn-create{color:var(--accent-bright);cursor:pointer;background:linear-gradient(135deg,#7b5ea74d,#7b5ea726);border:1px solid #7b5ea766;border-radius:8px;align-items:center;gap:8px;padding:9px 18px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.proj-btn-create:disabled{opacity:.5;cursor:not-allowed}.proj-btn-create:hover:not(:disabled){box-shadow:0 4px 16px #7b5ea74d}.proj-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:4rem;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.proj-empty{color:var(--text-dim);border:1px dashed var(--border);background:#ffffff03;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:4rem;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.proj-grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.proj-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;transition:all .25s;display:flex;position:relative;overflow:hidden}.proj-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.proj-card:hover:before{opacity:1}.proj-card:hover{border-color:#7b5ea740;transform:translateY(-2px);box-shadow:0 8px 40px #0006,inset 0 0 0 1px #ffffff08}.proj-card-header{justify-content:space-between;align-items:center;padding:1.25rem 1.25rem 0;display:flex}.proj-card-icon{width:40px;height:40px;color:var(--accent-bright);background:#7b5ea71f;border:1px solid #7b5ea733;border-radius:10px;justify-content:center;align-items:center;display:flex}.proj-card-actions{align-items:center;gap:2px;display:flex}.proj-btn-edit{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:all .2s;display:flex}.proj-btn-edit:hover{color:var(--accent-bright);background:#7b5ea71f}.proj-btn-delete{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:all .2s;display:flex}.proj-btn-delete:hover:not(:disabled){color:var(--danger);background:#e0585814}.proj-btn-delete:disabled{opacity:.4;cursor:wait}.proj-edit-form{flex-direction:column;gap:8px;display:flex}.proj-edit-form input,.proj-edit-form textarea{color:var(--text);resize:none;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:.85rem}.proj-edit-form input:focus,.proj-edit-form textarea:focus{border-color:var(--accent)}.proj-edit-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.proj-card-body{flex:1;padding:1rem 1.25rem}.proj-card-name{color:var(--text);letter-spacing:-.01em;margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:700}.proj-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.5;display:-webkit-box;overflow:hidden}.proj-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding:.75rem 1.25rem 1rem;display:flex}.proj-card-date{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.65rem}.proj-card-arrow{color:var(--accent);opacity:0;font-size:.9rem;transition:opacity .2s,transform .2s}.proj-card:hover .proj-card-arrow{opacity:1;transform:translate(3px)}.proj-spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite proj-spin;display:inline-block}.proj-spinner-sm{border:2px solid #ffffff26;border-top-color:var(--danger);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite proj-spin;display:inline-block}.proj-spinner-lg{border:3px solid #7b5ea733;border-top-color:var(--accent-bright);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite proj-spin;display:inline-block}@keyframes proj-spin{to{transform:rotate(360deg)}}.proj-toast{z-index:999;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 18px;font-family:JetBrains Mono,monospace;font-size:.78rem;animation:.3s cubic-bezier(.34,1.56,.64,1) both proj-toast-in;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 30px #00000080}.proj-toast-success{color:var(--success);background:#4ecb8d26;border:1px solid #4ecb8d4d}.proj-toast-error{color:var(--danger);background:#e0585826;border:1px solid #e058584d}@keyframes proj-toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.proj-members-panel{border-top:1px solid var(--border);background:#00000026;border-radius:0 0 12px 12px;padding:12px 16px 14px}.proj-members-title{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:600}.proj-members-loading{justify-content:center;padding:6px 0;display:flex}.proj-members-list{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.proj-members-empty{color:var(--text-muted);padding:2px 0;font-size:.78rem}.proj-member-item{border:1px solid var(--border);background:#ffffff0a;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.proj-member-email{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.78rem}.proj-member-remove{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:flex}.proj-member-remove:hover{color:var(--danger)}.proj-invite-form{gap:6px;margin-top:4px;display:flex}.proj-invite-form input{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:7px;flex:1;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.8rem}.proj-invite-form input:focus{border-color:var(--accent);outline:none}.proj-btn-active{color:var(--accent-bright)!important;background:#7b5ea726!important}.dash-root{min-height:100vh;position:relative}.dash-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.dash-grid{background-image:linear-gradient(#7b5ea70a 1px,#0000 1px),linear-gradient(90deg,#7b5ea70a 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0}.dash-orb{background:radial-gradient(circle,#5b3d8a2e 0%,#0000 70%);border-radius:50%;width:800px;height:800px;position:absolute;top:-200px;right:-200px}.navbar{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a0fd9;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex;position:sticky;top:0}.nav-brand{align-items:center;gap:10px;display:flex}.nav-logo{background:#7b5ea726;border:1px solid #7b5ea740;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.nav-title{color:var(--text);letter-spacing:-.02em;font-family:Syne,sans-serif;font-size:1rem;font-weight:800}.nav-sep{color:var(--text-dim);font-size:.9rem}.nav-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:.7rem}.nav-right{align-items:center;gap:12px;display:flex}.nav-user{align-items:center;gap:8px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent), #3d2d6b);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700;display:flex}.nav-user-info{flex-direction:column;gap:1px;display:flex}.user-name{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1}.nav-balance{color:var(--accent-bright);opacity:.8;font-family:JetBrains Mono,monospace;font-size:.65rem;line-height:1}.btn-logout{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.btn-logout:hover{color:var(--danger);background:#e0585812;border-color:#e058584d}.dash-btn-back{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.dash-btn-back:hover{color:var(--text);background:#ffffff12}.dash-nav-tabs{border:1px solid var(--border);background:#ffffff08;border-radius:8px;gap:4px;padding:3px;display:flex}.dash-nav-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .2s}.dash-nav-tab:hover{color:var(--text);background:#ffffff0a}.dash-nav-tab.active{color:var(--accent-bright);background:#7b5ea733;border:1px solid #7b5ea74d}.page-header{z-index:1;border-bottom:1px solid var(--border);background:#0a0a0f80;padding:0 2rem;position:relative}.page-header-inner{justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1100px;margin:0 auto;padding:2rem 0;display:flex}.page-title{letter-spacing:-.03em;color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.75rem;font-weight:800;line-height:1}.page-desc{color:var(--text-muted);letter-spacing:.03em;font-family:JetBrains Mono,monospace;font-size:.75rem}.header-badges{gap:8px;display:flex}.info-chip{border:1px solid var(--border);color:var(--text-muted);background:#ffffff0a;border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.chip-dot{border-radius:50%;width:6px;height:6px}.chip-green{background:var(--success);box-shadow:0 0 6px var(--success)}.dash-main{z-index:1;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 2rem;animation:.4s both fade-up;display:grid;position:relative}.int-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;transition:box-shadow .3s;position:relative;overflow:hidden}.int-card:before{content:"";opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.int-card:hover:before{opacity:1}.card-openwebui:before{background:linear-gradient(90deg, transparent, var(--openwebui), transparent)}.card-gitlab:before{background:linear-gradient(90deg, transparent, var(--gitlab), transparent)}.card-notion:before{background:linear-gradient(90deg,#0000,#888,#0000)}.int-card:hover{box-shadow:0 4px 40px #0006,inset 0 0 0 1px #ffffff0a}.card-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:1.5rem 1.75rem;display:flex}.card-icon-wrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.icon-openwebui{color:var(--openwebui);background:#10b9811f;border:1px solid #10b98133}.icon-gitlab{color:var(--gitlab);background:#fc6d261f;border:1px solid #fc6d2633}.icon-notion{color:#fff;background:#ffffff14;border:1px solid #ffffff1f}.card-head-text{flex:1}.card-head-text h2{color:var(--text);margin-bottom:3px;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:700}.card-head-text p{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.7rem}.status-badge{white-space:nowrap;border-radius:100px;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.status-badge.connected{color:var(--success);background:#4ecb8d1a;border:1px solid #4ecb8d40}.status-badge.disconnected{border:1px solid var(--border);color:var(--text-dim);background:#ffffff0a}.status-dot{border-radius:50%;width:6px;height:6px}.connected .status-dot{background:var(--success);box-shadow:0 0 6px var(--success);animation:2s infinite pulse}.disconnected .status-dot{background:var(--text-dim)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.card-body{flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=600px){.field-row{grid-template-columns:1fr}}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.field-hint{color:var(--text-dim);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.67rem}.field-group input,.pw-wrap input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);box-sizing:border-box;background:#ffffff08;outline:none;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:.82rem;transition:border-color .2s,background .2s,box-shadow .2s}.field-group input::placeholder,.pw-wrap input::placeholder{color:var(--text-dim)}.field-group input:focus,.pw-wrap input:focus{border-color:var(--border-active);background:#7b5ea70d;box-shadow:0 0 0 3px #7b5ea714}.mono-input{letter-spacing:.05em}.pw-wrap{position:relative}.pw-wrap input{padding-right:42px}.pw-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text-muted)}.group-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.group-input-wrap:focus-within{border-color:var(--border-active);box-shadow:0 0 0 3px #7b5ea714}.group-prefix{color:var(--text-dim);white-space:nowrap;border-right:1px solid var(--border);background:#ffffff05;padding:10px 10px 10px 14px;font-family:JetBrains Mono,monospace;font-size:.78rem}.group-input-wrap input{flex:1;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding-left:10px!important}.repo-list{flex-direction:column;gap:8px;display:flex}.repo-items{flex-direction:column;gap:6px;display:flex}.repo-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;align-items:center;transition:border-color .2s;display:flex;overflow:hidden}.repo-row:focus-within{border-color:#fc6d264d}.repo-prefix{color:var(--gitlab);opacity:.6;border-right:1px solid var(--border);background:#fc6d260a;padding:10px 8px 10px 14px;font-family:JetBrains Mono,monospace;font-size:.85rem}.repo-row input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:10px;font-family:JetBrains Mono,monospace;font-size:.82rem}.repo-row input::placeholder{color:var(--text-dim)}.repo-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:10px 12px;transition:color .2s,background .2s;display:flex}.repo-remove:hover{color:var(--danger);background:#e058580f}.btn-add-repo{border-radius:var(--radius-sm);color:var(--gitlab);cursor:pointer;background:#fc6d2612;border:1px dashed #fc6d2640;align-self:flex-start;align-items:center;gap:6px;padding:9px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.btn-add-repo:hover{background:#fc6d261f;border-color:#fc6d2666}.gl-tabs{border:1px solid var(--border);background:#ffffff08;border-radius:10px;gap:6px;padding:4px;display:flex}.gl-tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.gl-tab-btn:hover{color:var(--text);background:#ffffff0a}.gl-tab-btn.active{color:var(--gitlab);background:#fc6d261f;border:1px solid #fc6d2633}.gl-tab-count{background:var(--gitlab);color:#fff;border-radius:100px;margin-left:2px;padding:1px 6px;font-size:.62rem;font-weight:700}.gl-groups-form{flex-direction:column;gap:10px;display:flex}.group-form{border:1px solid var(--border);background:#ffffff05;border-radius:10px;transition:border-color .2s;overflow:hidden}.group-form:focus-within{border-color:#fc6d2640}.group-form-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 14px;transition:background .15s;display:flex}.group-form-header:hover{background:#ffffff05}.group-form-title{color:var(--text);align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.group-name-preview{font-weight:500}.group-repo-count{color:var(--text-dim);border:1px solid var(--border);background:#ffffff0d;border-radius:100px;padding:2px 7px;font-size:.65rem}.group-form-actions{align-items:center;gap:4px;display:flex}.btn-remove-group{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:all .2s;display:flex}.btn-remove-group:hover{color:var(--danger);background:#e0585814}.btn-chevron{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:background .2s;display:flex}.btn-chevron:hover{background:#ffffff0d}.group-form-body{flex-direction:column;gap:1rem;padding:0 14px 14px;animation:.2s both fade-up;display:flex}.group-form-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:1rem;margin-top:4px;padding-top:12px;display:flex}.btn-add-group{color:var(--gitlab);opacity:.7;cursor:pointer;background:#fc6d260d;border:1px dashed #fc6d2633;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:all .2s;display:flex}.btn-add-group:hover{opacity:1;background:#fc6d261a;border-color:#fc6d2666}.saved-empty{color:var(--text-dim);border:1px dashed var(--border);background:#ffffff03;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:2rem;font-family:JetBrains Mono,monospace;font-size:.8rem;display:flex}.saved-groups{flex-direction:column;gap:6px;display:flex}.saved-group-row{border:1px solid var(--border);background:#ffffff05;border-radius:10px;transition:border-color .2s;overflow:hidden}.saved-group-row:hover{border-color:#fc6d2633}.saved-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.saved-group-left{align-items:center;gap:8px;display:flex}.saved-group-icon{color:var(--gitlab);opacity:.7;align-items:center;display:flex}.saved-group-name{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:500}.saved-repo-badge{color:var(--gitlab);background:#fc6d261a;border:1px solid #fc6d2633;border-radius:100px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.65rem}.saved-group-right{color:var(--text-dim);align-items:center;gap:8px;display:flex}.btn-delete-saved{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:5px;transition:all .2s;display:flex}.btn-delete-saved:hover{color:var(--danger);background:#e0585814}.saved-group-repos{flex-direction:column;gap:4px;padding:0 14px 12px;animation:.2s both fade-up;display:flex}.saved-repo-item{color:var(--text-muted);border:1px solid var(--border);background:#ffffff05;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.78rem;display:flex}.saved-repo-slash{color:var(--gitlab);opacity:.5;font-size:.9rem}.divider-section{align-items:center;gap:10px;margin:4px 0;display:flex}.divider-section:before,.divider-section:after{content:"";background:var(--border);flex:1;height:1px}.divider-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.notion-hint-box{border-radius:var(--radius-sm);color:var(--text-dim);background:#ffffff08;border:1px solid #ffffff0f;align-items:flex-start;gap:10px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:.71rem;line-height:1.6;display:flex}.notion-hint-box svg{flex-shrink:0;margin-top:2px}.notion-hint-box strong{color:var(--text-muted);font-weight:500}.card-footer{border-top:1px solid var(--border);background:#ffffff03;justify-content:flex-end;align-items:center;gap:1rem;padding:1.25rem 1.75rem;display:flex}.footer-note{color:var(--text-dim);flex:1;font-family:JetBrains Mono,monospace;font-size:.7rem}.footer-note code{color:var(--gitlab);background:#fc6d261a;border-radius:4px;padding:2px 6px;font-size:.7rem}.btn-save{cursor:pointer;white-space:nowrap;color:var(--openwebui);background:linear-gradient(135deg,#10b98133,#10b9811a);border:1px solid #10b9814d;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #10b98133}.btn-gitlab{color:var(--gitlab);background:linear-gradient(135deg,#fc6d2633,#fc6d2614);border-color:#fc6d264d}.btn-gitlab:hover:not(:disabled){box-shadow:0 6px 24px #fc6d2640!important}.btn-sm{padding:8px 16px;font-size:.78rem}.btn-notion{color:var(--text);background:#ffffff12;border-color:#ffffff1f}.btn-notion:hover:not(:disabled){background:#ffffff1a!important;box-shadow:0 6px 24px #ffffff0d!important}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-save.saving{opacity:.8;cursor:wait}.btn-spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.toast{z-index:999;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 18px;font-family:JetBrains Mono,monospace;font-size:.78rem;animation:.3s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 30px #00000080}.toast-success{color:var(--success);background:#4ecb8d26;border:1px solid #4ecb8d4d}.toast-error{color:var(--danger);background:#e0585826;border:1px solid #e058584d}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.days-selector{flex-wrap:wrap;gap:4px;display:flex}.day-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#ffffff0a;border-radius:6px;padding:5px 9px;font-family:JetBrains Mono,monospace;font-size:.68rem;transition:all .15s}.day-btn:hover{color:var(--text);border-color:#fc6d264d}.day-btn.active{color:var(--gitlab);background:#fc6d2626;border-color:#fc6d2666;font-weight:600}.repo-block{border:1px solid var(--border);background:#ffffff05;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.repo-block .repo-row{background:0 0;border:none;border-radius:0}.repo-schedule{flex-wrap:wrap;align-items:center;gap:8px;padding-left:4px;display:flex}.repo-schedule-label{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.68rem}.repo-time-wrap{align-items:center;gap:6px;display:flex}.repo-time-label{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.68rem}.repo-time-input{border:1px solid var(--border);color:var(--text);background:#ffffff0a;border-radius:6px;outline:none;width:90px;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:.78rem}.repo-time-input:focus{border-color:#fc6d2659}.saved-group-body{flex-direction:column;gap:10px;padding:0 14px 14px;display:flex}.webhook-row{background:#fc6d260d;border:1px solid #fc6d2626;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.webhook-label{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.68rem}.webhook-secret{color:var(--gitlab);text-overflow:ellipsis;white-space:nowrap;background:#fc6d2614;border-radius:5px;flex:1;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.72rem;overflow:hidden}.btn-copy-webhook{color:var(--gitlab);cursor:pointer;white-space:nowrap;background:#fc6d261a;border:1px solid #fc6d2640;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;transition:all .2s;display:flex}.btn-copy-webhook:hover{background:#fc6d262e}.saved-repo-block{border:1px solid var(--border);background:#ffffff04;border-radius:8px;flex-direction:column;gap:8px;display:flex;overflow:hidden}.saved-repo-info{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-family:JetBrains Mono,monospace;display:flex}.saved-repo-path{color:var(--text);font-size:.82rem;font-weight:500}.saved-repo-schedule{color:var(--text-dim);border:1px solid var(--border);background:#ffffff0a;border-radius:100px;padding:2px 8px;font-size:.68rem}.saved-repo-lastrun{color:var(--text-dim);font-size:.65rem}.log-monitor{border-top:1px solid var(--border);background:#0003}.log-monitor-header{justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.log-monitor-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:.68rem}.btn-extract{color:var(--gitlab);cursor:pointer;background:#fc6d261a;border:1px solid #fc6d2640;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .2s;display:flex}.btn-extract:hover:not(:disabled){background:#fc6d262e}.btn-extract:disabled{opacity:.6;cursor:not-allowed}.btn-extract.extracting{opacity:.85}.log-output{border-top:1px solid #ffffff0d;flex-direction:column;gap:2px;max-height:220px;padding:8px 12px;display:flex;overflow-y:auto}.log-line{gap:10px;font-family:JetBrains Mono,monospace;font-size:.68rem;line-height:1.5;display:flex}.log-ts{color:#ffffff40;flex-shrink:0}.log-msg{word-break:break-all}.token-active-row{background:#50fa7b12;border:1px solid #50fa7b33;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;display:flex}.token-active-icon{color:#50fa7b;font-size:.9rem}.token-active-text{color:#50fa7b;flex:1;font-family:JetBrains Mono,monospace;font-size:.75rem}.token-invalid-row{background:#ff555512;border:1px solid #f553;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;display:flex}.token-invalid-text{color:#f55;flex:1;font-family:JetBrains Mono,monospace;font-size:.75rem}.btn-link-sm{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:.72rem;text-decoration:underline;transition:color .15s}.btn-link-sm:hover{color:var(--text-primary)}.btn-link-warn{color:#ffb86c}.btn-link-warn:hover{color:#ffcf7c}.field-hint-error{color:#f55!important}.field-label-hint{color:var(--text-dim);margin-left:4px;font-size:.65rem;font-weight:400}.gl-url-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.token-checking-row{background:#8be9fd0d;border:1px solid #8be9fd1a;border-radius:8px;align-items:center;gap:8px;padding:9px 14px;display:flex}input:disabled{opacity:.55;cursor:not-allowed}.extract-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.extract-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:520px;max-width:95vw;max-height:80vh;overflow-y:auto;box-shadow:0 24px 48px #0006}.extract-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.extract-modal-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600}.extract-modal-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.extract-modal-close:hover{color:var(--text-primary)}.extract-modal-desc{color:var(--text-secondary);margin:0;padding:14px 20px 10px;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6}.extract-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;padding:12px 20px 16px;display:flex}.md-message{color:var(--text);word-break:break-word;margin:0;font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.65}.md-message p{margin:0 0 .6em}.md-message p:last-child{margin-bottom:0}.md-message h1,.md-message h2,.md-message h3,.md-message h4,.md-message h5,.md-message h6{color:var(--text);margin:.8em 0 .3em;font-family:Syne,sans-serif;line-height:1.3}.md-message h1{font-size:1.2rem}.md-message h2{font-size:1.05rem}.md-message h3{font-size:.95rem}.md-message ul,.md-message ol{margin:.4em 0 .6em 1.4em;padding:0}.md-message li{margin-bottom:.25em}.md-message code{background:#7b5ea726;border:1px solid #7b5ea733;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.82em}.md-message pre{border:1px solid var(--border);background:#00000059;border-radius:8px;margin:.6em 0;padding:.75rem 1rem;overflow-x:auto}.md-message pre code{background:0 0;border:none;padding:0;font-size:.83rem}.md-message blockquote{color:var(--text-muted);border-left:3px solid #7b5ea780;margin:.5em 0;padding:.2em .8em}.md-message table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.83rem}.md-message th,.md-message td{border:1px solid var(--border);text-align:left;padding:6px 10px}.md-message th{color:var(--accent-bright);background:#7b5ea71a}.md-message a{color:var(--accent-bright);text-decoration:underline}.md-message hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.md-message strong{color:var(--text)}.md-message em{opacity:.85}.chat-search-bar{color:var(--text-muted);background:#7b5ea70f;border:1px solid #7b5ea733;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;animation:.15s searchBarIn;display:flex}@keyframes searchBarIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.chat-search-input::placeholder{color:var(--text-dim,var(--text-muted));opacity:.7}.chat-search-count{color:var(--accent-bright);white-space:nowrap;background:#7b5ea726;border:1px solid #7b5ea740;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.68rem}.chat-search-clear{width:20px;height:20px;color:var(--text-dim,var(--text-muted));cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:flex}.chat-search-clear:hover{color:var(--text);background:#ffffff12}.req-root{min-height:100vh;position:relative}.req-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.req-grid{background-image:linear-gradient(#7b5ea70a 1px,#0000 1px),linear-gradient(90deg,#7b5ea70a 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0}.req-orb{background:radial-gradient(circle,#5b3d8a2e 0%,#0000 70%);border-radius:50%;width:800px;height:800px;position:absolute;top:-200px;right:-200px}.req-btn-back{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .2s;display:flex}.req-btn-back:hover{color:var(--text);background:#ffffff12}.req-nav-tabs{border:1px solid var(--border);background:#ffffff08;border-radius:8px;gap:4px;padding:3px;display:flex}.req-nav-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 14px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .2s}.req-nav-tab:hover{color:var(--text);background:#ffffff0a}.req-nav-tab.active{color:var(--accent-bright);background:#7b5ea733;border:1px solid #7b5ea74d}.req-page-header{z-index:1;border-bottom:1px solid var(--border);background:#0a0a0f80;padding:0 2rem;position:relative}.req-header-inner{justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1100px;margin:0 auto;padding:2rem 0;display:flex}.req-page-title{letter-spacing:-.03em;color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.75rem;font-weight:800;line-height:1}.req-page-desc{color:var(--text-muted);letter-spacing:.03em;font-family:JetBrains Mono,monospace;font-size:.75rem}.req-btn-new-module{color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:#7b5ea71f;border:1px solid #7b5ea74d;border-radius:8px;align-items:center;gap:7px;padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:.76rem;transition:all .2s;display:flex}.req-btn-new-module:hover{background:#7b5ea738;border-color:#7b5ea780}.req-main{z-index:1;max-width:1100px;margin:0 auto;padding:0 2rem;animation:.35s both req-fade-up;position:relative}@keyframes req-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.req-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;padding:4rem;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.req-spinner{border:2px solid #ffffff26;border-top-color:var(--accent-bright);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite req-spin;display:inline-block}.req-spinner-lg{border:3px solid #ffffff1a;border-top-color:var(--accent-bright);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite req-spin;display:inline-block}@keyframes req-spin{to{transform:rotate(360deg)}}.req-empty{color:var(--text-muted);justify-content:center;align-items:center;padding:4rem;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.req-form-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.75rem}.req-form-title{color:var(--text);margin-bottom:1.25rem;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.req-field-group{flex-direction:column;gap:6px;display:flex}.req-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.req-field-group select{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:#ffffff08;border-radius:8px;outline:none;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:.82rem;transition:border-color .2s}.req-field-group select:focus{border-color:var(--border-active)}.req-field-group select option{background:var(--bg-card)}.req-form-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.req-btn-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.76rem;transition:all .2s;display:flex}.req-btn-cancel:hover{color:var(--text);background:#ffffff12}.req-btn-create{color:var(--accent-bright);cursor:pointer;background:#7b5ea726;border:1px solid #7b5ea759;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.76rem;transition:all .2s;display:flex}.req-btn-create:hover:not(:disabled){background:#7b5ea740;border-color:#7b5ea780}.req-btn-create:disabled{opacity:.5;cursor:not-allowed}.req-toast{z-index:999;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 18px;font-family:JetBrains Mono,monospace;font-size:.78rem;animation:.3s cubic-bezier(.34,1.56,.64,1) both req-toast-in;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 30px #00000080}.req-toast-success{color:var(--success);background:#4ecb8d26;border:1px solid #4ecb8d4d}.req-toast-error{color:var(--danger);background:#e0585826;border:1px solid #e058584d}@keyframes req-toast-in{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.req-main-split{padding-top:2rem;padding-bottom:2rem}.req-split-layout{align-items:flex-start;gap:1.25rem;width:100%;display:flex}.req-version-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-shrink:0;width:260px;position:sticky;top:80px;overflow:hidden}.req-version-sidebar-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);padding:14px 16px 10px;font-family:JetBrains Mono,monospace;font-size:.66rem;font-weight:500}.req-version-list{flex-direction:column;max-height:calc(100vh - 260px);display:flex;overflow-y:auto}.req-version-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;flex-direction:column;gap:6px;width:100%;padding:12px 16px;transition:background .15s;display:flex}.req-version-item:last-child{border-bottom:none}.req-version-item:hover{background:#ffffff08}.req-version-item-active{border-left:2px solid var(--accent-bright);padding-left:14px;background:#7b5ea71f!important}.req-version-item-top{align-items:center;gap:7px;display:flex}.req-version-badge{color:var(--accent-bright);white-space:nowrap;background:#7b5ea726;border:1px solid #7b5ea74d;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.req-version-badge-lg{padding:3px 12px;font-size:.9rem}.req-latest-badge{color:var(--success);background:#4ecb8d1a;border:1px solid #4ecb8d40;border-radius:100px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500}.req-version-item-meta{flex-direction:column;gap:2px;display:flex}.req-version-author{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem}.req-version-date{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.62rem}.req-version-detail{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.req-detail-header{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:14px 18px;display:flex}.req-detail-header-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.req-detail-meta{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.7rem}.req-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.req-btn-edit-inline{color:var(--accent-bright);cursor:pointer;background:#7b5ea71a;border:1px solid #7b5ea740;border-radius:8px;align-items:center;gap:6px;padding:7px 13px;font-family:JetBrains Mono,monospace;font-size:.74rem;transition:all .2s;display:flex}.req-btn-edit-inline:hover{background:#7b5ea733}.req-btn-compare{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:7px 13px;font-family:JetBrains Mono,monospace;font-size:.74rem;transition:all .2s;display:flex}.req-btn-compare:hover:not(:disabled){color:var(--text);background:#ffffff12}.req-btn-compare:disabled{opacity:.35;cursor:not-allowed}.req-json-block{border:1px solid var(--border);color:var(--text-muted);white-space:pre;background:#00000073;border-radius:12px;flex:1;margin:0;padding:1.25rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7;overflow-x:auto}.req-json-textarea{border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;box-sizing:border-box;background:#0006;border-radius:10px;outline:none;padding:1rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7;transition:border-color .2s,box-shadow .2s}.req-json-textarea:focus{border-color:var(--border-active);box-shadow:0 0 0 3px #7b5ea714}.req-json-textarea::placeholder{color:var(--text-dim)}.req-edit-area{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.875rem;padding:1.25rem 1.5rem;display:flex}.req-checkbox-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-family:JetBrains Mono,monospace;font-size:.76rem;display:flex}.req-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-bright);cursor:pointer}.req-new-version-form-wrap{z-index:1;box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:0 2rem 1.5rem;position:relative}.req-comparison-panel{background:#0000004d;border:1px solid #7b5ea740;border-radius:12px;overflow:hidden}.req-comparison-header{border-bottom:1px solid var(--border);background:#7b5ea70f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.req-comparison-title{color:var(--text-muted);align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:.76rem;display:flex}.req-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;animation:.15s both req-fade-up;display:flex;position:fixed;inset:0}.req-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:420px;max-width:calc(100vw - 2rem);padding:2rem;box-shadow:0 24px 60px #0009}.req-modal-title{color:var(--text);margin-bottom:.75rem;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:700}.req-modal-desc{color:var(--text-muted);margin-bottom:1.25rem;font-family:JetBrains Mono,monospace;font-size:.76rem}.req-modal-empty{color:var(--text-dim);margin-bottom:1.25rem;font-family:JetBrains Mono,monospace;font-size:.76rem}@media (width<=700px){.req-split-layout{flex-direction:column}.req-version-sidebar{width:100%;position:static}.req-version-list{max-height:220px}}.req-items-list{flex-direction:column;gap:12px;display:flex}.req-item-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:14px 16px;transition:border-color .15s}.req-item-card:hover{border-color:var(--border-active)}.req-item-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.req-item-id{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.68rem}.req-item-priority{text-transform:uppercase;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600}.req-item-priority-critical{color:#e05858;background:#e0585826}.req-item-priority-high{color:#c0813a;background:#c0813a26}.req-item-priority-medium{color:#3a8ec0;background:#3a8ec026}.req-item-priority-low{color:var(--text-muted);background:#ffffff0f}.req-item-status{color:var(--accent-bright);background:#7b5ea71f;border:1px solid #7b5ea733;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem}.req-item-title{color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:.88rem;font-weight:700;line-height:1.35}.req-item-desc{color:var(--text-muted);margin:0;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.55}.req-item-chat-btn{border-radius:var(--radius-sm);color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:#7b5ea714;border:1px solid #7b5ea733;align-items:center;gap:5px;margin-left:auto;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;transition:background .15s,border-color .15s;display:inline-flex}.req-item-chat-btn:hover,.req-item-chat-btn.active{background:#7b5ea733;border-color:#7b5ea766}.req-spec-chat-toggle{justify-content:flex-end;margin-bottom:12px;display:flex}.req-chat-panel{border-radius:var(--radius-sm);background:#7b5ea70a;border:1px solid #7b5ea740;margin-top:12px;overflow:hidden}.req-chat-header{border-bottom:1px solid #7b5ea726;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.req-chat-title{color:var(--accent-bright);align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:flex}.req-chat-close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.req-chat-close:hover{color:var(--text);background:#ffffff14}.req-chat-messages{flex-direction:column;gap:10px;max-height:280px;padding:12px 14px;display:flex;overflow-y:auto}.req-chat-hint{color:var(--text-dim);text-align:center;padding:8px 0;font-family:JetBrains Mono,monospace;font-size:.72rem}.req-chat-msg{flex-direction:column;gap:3px;display:flex}.req-chat-msg-user{align-items:flex-end}.req-chat-msg-assistant{align-items:flex-start}.req-chat-msg-role{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:.62rem}.req-chat-msg-body{border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-width:90%;margin:0;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.55}.req-chat-msg-user .req-chat-msg-body{color:var(--text);background:#7b5ea72e;border:1px solid #7b5ea74d}.req-chat-msg-assistant .req-chat-msg-body{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a}.req-chat-thinking{align-items:center;gap:6px;display:flex}.req-chat-input-row{border-top:1px solid #7b5ea726;gap:8px;padding:10px 14px;display:flex}.req-chat-input{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:none;background:#ffffff0a;outline:none;flex:1;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.4;transition:border-color .15s}.req-chat-input:focus{border-color:#7b5ea766}.req-chat-input:disabled{opacity:.5}.req-chat-send{background:var(--accent);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:36px;height:36px;transition:background .15s,opacity .15s;display:flex}.req-chat-send:hover:not(:disabled){background:var(--accent-bright)}.req-chat-send:disabled{opacity:.4;cursor:not-allowed}.req-spinner-sm{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite req-spin;display:inline-block}.req-canonical{flex-direction:column;gap:20px;display:flex}.req-section-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;font-family:Syne,sans-serif;font-size:.8rem;font-weight:700;display:flex}.req-section-count{color:var(--text-muted);background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.65rem}.req-item-expand-btn{width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:background .15s;display:inline-flex}.req-item-expand-btn:hover,.req-item-expand-btn.active{color:var(--accent-bright);background:#7b5ea726;border-color:#7b5ea74d}.req-item-details{border-top:1px solid #ffffff0d;flex-direction:column;gap:10px;margin-top:12px;padding-top:10px;display:flex}.req-detail-section{flex-direction:column;gap:4px;display:flex}.req-detail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-bright);opacity:.7;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600}.req-detail-item{flex-direction:column;gap:2px;display:flex}.req-detail-desc{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.73rem;line-height:1.5}.req-detail-bullet{color:var(--text-dim);padding-left:8px;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.5}.req-sub-req{align-items:flex-start;gap:6px;padding:4px 0;display:flex}.req-item-essential{color:#e05858;white-space:nowrap;background:#e058581f;border:1px solid #e0585833;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.58rem}.req-sub-req-desc{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.73rem;line-height:1.5}[data-theme=light] .req-item-card{background:#00000005}[data-theme=light] .req-chat-panel{background:#7b5ea708}[data-theme=light] .req-chat-msg-user .req-chat-msg-body{background:#7b5ea71a}[data-theme=light] .req-chat-msg-assistant .req-chat-msg-body{background:#00000008}[data-theme=light] .req-floating-panel{background:#fffffffa;border-color:#7b5ea740}[data-theme=light] .req-floating-panel-header{background:#7b5ea70f;border-color:#7b5ea726}[data-theme=light] .req-floating-panel-body .req-chat-msg-user .req-chat-msg-body{background:#7b5ea71a}[data-theme=light] .req-floating-panel-body .req-chat-msg-assistant .req-chat-msg-body{background:#0000000a}.req-floating-heads{z-index:200;flex-direction:column-reverse;gap:10px;display:flex;position:fixed;bottom:16px;right:16px}.req-chat-head{width:52px;position:relative}.req-chat-head-avatar{width:52px;height:52px;color:var(--accent-bright,#9d7fd4);cursor:pointer;background:#7b5ea733;border:2px solid #7b5ea766;border-radius:50%;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;transition:all .18s;display:flex;position:relative}.req-chat-head-avatar:hover{background:#7b5ea759;border-color:#7b5ea7a6;transform:scale(1.06)}.req-chat-head.active .req-chat-head-avatar{border-color:var(--accent-bright,#9d7fd4);background:#7b5ea759;box-shadow:0 0 0 3px #7b5ea740}.req-chat-head-badge{border:2px solid var(--bg,#0a0a10);background:#e05858;border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:2px}.req-chat-head-close{width:18px;height:18px;color:var(--text-dim);cursor:pointer;opacity:0;background:#1e192df2;border:1px solid #7b5ea759;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s;display:flex;position:absolute;top:-3px;right:-3px}.req-chat-head:hover .req-chat-head-close{opacity:1}.req-chat-head-close:hover{color:#e05858}.req-floating-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:199;background:#0e0d16f7;border:1px solid #7b5ea74d;border-radius:14px;flex-direction:column;width:380px;height:520px;max-height:calc(100vh - 32px);animation:.18s cubic-bezier(.34,1.4,.64,1) floatIn;display:flex;position:fixed;bottom:16px;right:80px;overflow:hidden;box-shadow:0 20px 60px #0000008c}@keyframes floatIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.req-floating-panel-header{background:#7b5ea70f;border-bottom:1px solid #7b5ea726;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.req-floating-panel-title{color:var(--text);align-items:center;gap:7px;min-width:0;display:flex}.req-floating-panel-reqid{color:var(--accent-bright,#9d7fd4);white-space:nowrap;background:#7b5ea71f;border:1px solid #7b5ea740;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.72rem}.req-floating-panel-reqtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-family:Inter,system-ui,sans-serif;font-size:.78rem;overflow:hidden}.req-floating-panel-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.req-floating-panel-btn{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.req-floating-panel-btn:hover{color:var(--text);background:#ffffff14}.req-floating-panel-body{flex-direction:column;flex:1;gap:8px;padding:12px 14px;display:flex;overflow-y:auto}.req-floating-panel-body::-webkit-scrollbar{width:3px}.req-floating-panel-body::-webkit-scrollbar-thumb{background:#7b5ea740;border-radius:3px}.req-floating-panel .req-chat-input-row{border-top:1px solid #7b5ea71f;flex-shrink:0;padding:8px}.req-floating-panel-body .req-chat-messages{max-height:none}.req-root.req-docked{padding-right:420px;transition:padding-right .25s}.req-floating-panel.docked{z-index:210;border:none;border-left:1px solid #7b5ea74d;border-radius:0;width:420px;height:100vh;max-height:100vh;animation:none;position:fixed;top:0;bottom:0;right:0}.req-floating-panel-btn.req-panel-btn-active{color:var(--accent-bright);background:#7b5ea726}.req-chat-search-wrap{border-bottom:1px solid #7b5ea71a;flex-shrink:0;padding:6px 10px}.req-chat-footer{border-top:1px solid #7b5ea71f;flex-shrink:0}.req-chat-model-row{border-bottom:1px solid #7b5ea714;padding:6px 10px 4px}.req-chat-model-fixed{letter-spacing:.02em;color:#b4a0d2bf;cursor:default;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.req-chat-footer .req-chat-input-row{border-top:none}.req-chat-msg-body.req-chat-msg-md{white-space:normal;font-family:Inter,system-ui,sans-serif}.req-chat-msg-body.req-chat-msg-md .md-message{font-size:.8rem;line-height:1.6}.req-chat-msg-body.req-chat-msg-md .md-message h1{font-size:1rem}.req-chat-msg-body.req-chat-msg-md .md-message h2{font-size:.92rem}.req-chat-msg-body.req-chat-msg-md .md-message h3{font-size:.85rem}.scope-root{min-height:100vh;position:relative}.scope-loading{height:calc(100vh - 60px);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.scope-spinner-lg{border:2px solid #7b5ea733;border-top-color:var(--accent-bright);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin;display:inline-block}.scope-spinner{border:1.5px solid #7b5ea733;border-top-color:var(--accent-bright);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:inline-block}.scope-body{z-index:1;max-width:1100px;margin:0 auto;padding:1.5rem 2rem 4rem;position:relative}.scope-summary{border:1px solid var(--border);background:#ffffff08;border-radius:12px;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:1.5rem;padding:.9rem 1.4rem;display:flex}.scope-stat{flex-direction:column;align-items:center;gap:3px;padding:0 1.2rem;display:flex}.scope-stat-value{color:var(--text);font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800;line-height:1}.scope-stat-value.scope-stat-green{color:#4ade80}.scope-stat-value.scope-stat-muted{color:var(--text-muted)}.scope-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.scope-stat-divider{background:var(--border);flex-shrink:0;width:1px;height:32px}.scope-progress-mini{background:#ffffff0f;border-radius:3px;width:80px;height:6px;overflow:hidden}.scope-progress-mini-bar{background:var(--accent-bright);border-radius:3px;height:100%;transition:width .5s}.scope-refresh-btn{color:var(--accent-bright);cursor:pointer;background:#7b5ea71f;border:1px solid #7b5ea740;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:background .15s;display:flex}.scope-refresh-btn:hover{background:#7b5ea738}.scope-error{color:#f87171;background:#ef444414;border:1px solid #ef444440;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.scope-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:1.5rem;padding-bottom:0;display:flex}.scope-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 18px;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:all .15s;display:flex}.scope-tab:hover{color:var(--text)}.scope-tab.active{color:var(--accent-bright);border-bottom-color:var(--accent-bright)}.scope-tab-badge{color:var(--accent-bright);background:#7b5ea72e;border-radius:10px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.65rem}.scope-tab-badge-green{color:#4ade80;background:#4ade801f}.scope-content{position:relative}.scope-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;font-family:JetBrains Mono,monospace;font-size:.85rem;display:flex}.scope-link-btn{color:var(--accent-bright);cursor:pointer;background:#7b5ea71f;border:1px solid #7b5ea740;border-radius:8px;padding:8px 18px;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:background .15s}.scope-link-btn:hover{background:#7b5ea738}.scope-status-chip{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.68rem}.scope-status-approved{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033}.scope-status-review{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433}.scope-status-draft{color:#94a3b8;background:#94a3b81a;border:1px solid #94a3b833}.scope-status-deprecated{color:#f87171;background:#ef444414;border:1px solid #ef444426}.scope-prio-chip{text-transform:uppercase;border-radius:20px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem}.scope-prio-critical{color:#f87171;background:#ef44441f}.scope-prio-high{color:#fb923c;background:#fb923c1f}.scope-prio-medium{color:#fbbf24;background:#fbbf241a}.scope-prio-low{color:#94a3b8;background:#94a3b814}.scope-overview{border:1px solid var(--border);background:#ffffff05;border-radius:10px;flex-direction:column;gap:10px;margin-bottom:1.75rem;padding:1.1rem 1.25rem;display:flex}.scope-overview-row{align-items:center;gap:12px;display:flex}.scope-bar-track{background:#ffffff0d;border-radius:3px;flex:1;height:6px;overflow:hidden}.scope-bar-fill{border-radius:3px;height:100%;transition:width .5s}.scope-bar-approved{background:#4ade80}.scope-bar-review{background:#fbbf24}.scope-bar-draft{background:#64748b}.scope-bar-deprecated{background:#dc2626}.scope-bar-count{color:var(--text-muted);text-align:right;min-width:24px;font-family:JetBrains Mono,monospace;font-size:.8rem}.scope-group{margin-bottom:2rem}.scope-group-header{align-items:center;gap:10px;margin-bottom:.9rem;display:flex}.scope-group-count{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.75rem}.scope-item-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.scope-item-card{border:1px solid var(--border);background:#ffffff08;border-radius:10px;padding:1rem 1.1rem;transition:border-color .15s}.scope-item-card:hover{border-color:#7b5ea74d}.scope-item-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.scope-item-id{color:var(--accent-bright);opacity:.7;font-family:JetBrains Mono,monospace;font-size:.68rem}.scope-item-title{color:var(--text);margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:.83rem;line-height:1.4}.scope-item-desc{color:var(--text-dim);margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.74rem;line-height:1.5}.scope-item-tags{flex-wrap:wrap;gap:4px;display:flex}.scope-tag{color:var(--text-muted);background:#7b5ea71a;border:1px solid #7b5ea726;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem}.scope-filter-bar{gap:6px;margin-bottom:1.25rem;display:flex}.scope-filter-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .15s;display:flex}.scope-filter-btn:hover{color:var(--text);border-color:#7b5ea74d}.scope-filter-btn.active{color:var(--accent-bright);background:#7b5ea71f;border-color:#7b5ea759}.scope-filter-count{background:#ffffff0f;border-radius:10px;padding:1px 6px;font-size:.65rem}.scope-section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.72rem}.scope-issue-list{flex-direction:column;gap:2px;display:flex}.scope-issue-row{background:#ffffff05;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:12px;padding:.7rem 1rem;transition:border-color .15s;display:flex}.scope-issue-row:hover{border-color:var(--border);background:#ffffff0a}.scope-issue-state{flex-shrink:0;padding-top:2px}.scope-issue-state.opened{color:#4ade80}.scope-issue-state.closed{color:#64748b}.scope-issue-body{flex-direction:column;flex:1;gap:4px;display:flex}.scope-issue-title{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.4}.scope-issue-iid{color:var(--text-dim)}.scope-issue-meta{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.72rem}.scope-issue-time{color:var(--text-dim);white-space:nowrap;flex-shrink:0;padding-top:3px;font-family:JetBrains Mono,monospace;font-size:.7rem}.scope-issue-link{color:var(--accent-bright);opacity:.6;flex-shrink:0;padding-top:1px;font-size:.85rem;text-decoration:none;transition:opacity .15s}.scope-issue-link:hover{opacity:1}.scope-sources{flex-direction:column;gap:1.25rem;display:flex}.scope-group-card{border:1px solid var(--border);background:#ffffff05;border-radius:12px;overflow:hidden}.scope-group-card-header{border-bottom:1px solid var(--border);background:#7b5ea70f;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.scope-group-title{color:var(--text);align-items:center;gap:8px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;display:flex}.scope-group-url{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.7rem}.scope-group-repos-count{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.72rem}.scope-repo{border-bottom:1px solid var(--border)}.scope-repo:last-child{border-bottom:none}.scope-repo-header{cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;transition:background .15s;display:flex}.scope-repo-header:hover{background:#ffffff06}.scope-repo-left{align-items:center;gap:8px;display:flex}.scope-repo-path{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.82rem}.scope-repo-badge{text-transform:uppercase;border-radius:10px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem}.scope-repo-badge.active{color:#4ade80;background:#4ade801a}.scope-repo-badge.inactive{color:#94a3b8;background:#94a3b814}.scope-repo-right{align-items:center;gap:12px;display:flex}.scope-repo-sync{color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:flex}.scope-sync-btn{color:var(--accent-bright);cursor:pointer;background:#7b5ea71a;border:1px solid #7b5ea733;border-radius:7px;align-items:center;gap:5px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:background .15s;display:flex}.scope-sync-btn:hover:not(:disabled){background:#7b5ea733}.scope-sync-btn:disabled{opacity:.5;cursor:not-allowed}.scope-sync-btn.syncing{opacity:.7}.scope-logs{border-top:1px solid var(--border);background:#00000040;padding:.75rem 1.25rem}.scope-logs-meta{color:var(--text-dim);margin-bottom:.6rem;font-family:JetBrains Mono,monospace;font-size:.72rem}.scope-logs-empty{color:var(--text-dim);text-align:center;margin:0;padding:1rem 0;font-family:JetBrains Mono,monospace;font-size:.75rem}.scope-log-list{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.scope-log-entry{gap:10px;padding:2px 0;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.5;display:flex}.scope-log-ts{color:var(--text-dim);flex-shrink:0}.scope-log-level{flex-shrink:0;min-width:40px;font-weight:600}.scope-log-msg{color:var(--text-muted)}.scope-log-entry.scope-log-error .scope-log-level{color:#f87171}.scope-log-entry.scope-log-warn .scope-log-level,.scope-log-entry.scope-log-warning .scope-log-level{color:#fbbf24}.scope-log-entry.scope-log-info .scope-log-level{color:#60a5fa}.scope-log-entry.scope-log-debug .scope-log-level{color:var(--text-dim)}.scope-summary-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.scope-summary .scope-refresh-btn{margin-left:0}.scope-history-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .15s;display:flex}.scope-history-btn:hover:not(:disabled){color:var(--text);border-color:#7b5ea74d}.scope-history-btn.active{color:var(--accent-bright);background:#7b5ea71f;border-color:#7b5ea759}.scope-history-btn:disabled{opacity:.6;cursor:not-allowed}.scope-diff-header{background:#7b5ea70d;border:1px solid #7b5ea726;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.scope-diff-title{color:var(--text);align-items:center;gap:8px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:700;display:flex}.scope-diff-version-label{color:var(--text-dim);border:1px solid var(--border);background:#ffffff0d;border-radius:4px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.7rem}.scope-diff-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-diff-stat{border-radius:20px;padding:2px 9px;font-family:JetBrains Mono,monospace;font-size:.72rem}.scope-diff-stat-added{color:#4ade80;background:#4ade801a;border:1px solid #4ade8033}.scope-diff-stat-removed{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.scope-diff-stat-edited{color:#fb923c;background:#fb923c1a;border:1px solid #fb923c33}.scope-diff-stat-unchanged{color:#64748b;background:#94a3b812;border:1px solid #94a3b826}.scope-diff-card-added{background:#4ade800a!important;border-color:#4ade804d!important}.scope-diff-card-added:hover{border-color:#4ade8080!important}.scope-diff-card-removed{background:#ef44440a!important;border-color:#ef44444d!important}.scope-diff-card-removed:hover{border-color:#ef444480!important}.scope-diff-card-edited{background:#fb923c08!important;border-color:#fb923c4d!important}.scope-diff-card-edited:hover{border-color:#fb923c80!important}.scope-diff-strikethrough{opacity:.75;text-decoration:line-through}.scope-diff-text-removed{color:#f87171!important}.scope-diff-text-old{color:#fb923c!important}.scope-diff-text-new{color:#4ade80!important}.scope-diff-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.6rem}.scope-diff-badge-added{color:#4ade80;background:#4ade801f;border:1px solid #4ade8040}.scope-diff-badge-removed{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.scope-diff-badge-edited{color:#fb923c;background:#fb923c1a;border:1px solid #fb923c33}.scope-json-raw{border:1px solid var(--border);color:var(--text-muted);white-space:pre-wrap;background:#00000040;border-radius:8px;max-height:500px;margin:0;padding:1rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.6;overflow:auto}.kb-root{background:var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative}.kb-header-actions{align-items:center;gap:8px;display:flex}.kb-repo-select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:#ffffff0d;outline:none;max-width:280px;padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:.78rem}.kb-repo-select:focus{border-color:var(--border-active)}.kb-btn-outline{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:#ffffff0a;align-items:center;gap:6px;padding:7px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:background .15s,color .15s,border-color .15s;display:flex}.kb-btn-outline:hover:not(:disabled){color:var(--accent-bright);background:#7b5ea71a;border-color:#7b5ea74d}.kb-btn-outline:disabled{opacity:.4;cursor:not-allowed}.kb-stats-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 24px;display:flex}.kb-stat-chip{border:1px solid var(--border);background:#ffffff08;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:flex}.kb-stat-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.kb-stat-label{color:var(--text-muted)}.kb-stat-value{color:var(--text);font-weight:600}.kb-stat-pct{color:var(--text-dim);font-size:.67rem}.kb-stat-progress{background:#ffffff0f;border-radius:2px;flex:1;min-width:80px;height:4px;margin-left:8px;display:flex;overflow:hidden}.kb-stat-progress-bar{opacity:.8;height:100%;transition:width .4s}.kb-board{flex:1;grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;padding:24px;display:grid}.kb-column{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:200px;transition:border-color .15s,box-shadow .15s;display:flex}.kb-column-drop-target{border-color:var(--border-active);box-shadow:0 0 0 2px var(--accent-glow)}.kb-column-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.kb-column-title{color:var(--text);align-items:center;gap:8px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:700;display:flex}.kb-col-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kb-col-dot-todo{background:var(--text-dim)}.kb-col-dot-doing{background:#c0813a}.kb-col-dot-done{background:var(--success)}.kb-col-count{color:var(--text-muted);background:#ffffff0f;border-radius:20px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:.72rem}.kb-column-body{flex-direction:column;gap:8px;min-height:80px;padding:12px;display:flex}.kb-column-loading,.kb-column-empty{color:var(--text-dim);justify-content:center;align-items:center;padding:24px 0;font-family:JetBrains Mono,monospace;font-size:.8rem;display:flex}.kb-card{background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:11px 12px;transition:border-color .15s,box-shadow .15s,opacity .15s;position:relative}.kb-card:hover{border-color:#7b5ea759;box-shadow:0 3px 12px #0000002e}.kb-card-dragging{opacity:.45;cursor:grabbing}.kb-card-top{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.kb-card-meta-left{align-items:center;gap:6px;display:flex}.kb-card-iid{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.68rem}.kb-state-badge{border-radius:20px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:500}.kb-state-open{color:#2ea86f;background:#2ea86f26;border:1px solid #2ea86f40}.kb-state-closed{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff14}.kb-state-badge-lg{padding:3px 10px;font-size:.72rem}.kb-card-moves{opacity:0;gap:2px;transition:opacity .15s;display:flex}.kb-card:hover .kb-card-moves{opacity:1}.kb-card-title{color:var(--text);word-break:break-word;margin-bottom:8px;font-family:Syne,sans-serif;font-size:.83rem;font-weight:600;line-height:1.4}.kb-card-assignee{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.kb-card-label-dots{align-items:center;gap:4px;margin-bottom:8px;display:flex}.kb-label-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kb-label-dot-more{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.6rem}.kb-card-footer{border-top:1px solid #ffffff0a;align-items:center;gap:10px;padding-top:7px;display:flex}.kb-card-foot-item{color:var(--text-dim);align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:.65rem;display:flex}.kb-card-labels{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.kb-label{border:1px solid;border-radius:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500}.kb-icon-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.kb-icon-btn:hover{color:var(--text);background:#ffffff14}.kb-icon-btn:disabled{opacity:.35;cursor:not-allowed}.kb-icon-btn-danger:hover{color:var(--danger);background:#e058581a}.kb-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:background .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.kb-btn:disabled{opacity:.45;cursor:not-allowed}.kb-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.kb-btn-primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright)}.kb-btn-ghost{color:var(--text-muted);border-color:var(--border);background:#ffffff0a}.kb-btn-ghost:hover:not(:disabled){color:var(--text);background:#ffffff14}.kb-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.kb-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;box-shadow:0 24px 64px #0006}.kb-modal-wide{max-width:640px}.kb-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 0;display:flex}.kb-modal-header h3{color:var(--text);font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.kb-modal-subtitle{color:var(--text-muted);margin-top:3px;font-size:.78rem}.kb-modal-form{flex-direction:column;gap:12px;padding:20px;display:flex;overflow-y:auto}.kb-form-label{color:var(--text-muted);margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:block}.kb-form-hint{color:var(--text-dim);font-size:.68rem}.kb-form-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:none;background:#ffffff0a;outline:none;padding:9px 12px;font-family:Syne,sans-serif;font-size:.85rem;transition:border-color .15s}.kb-form-input:focus{border-color:var(--border-active)}.kb-form-textarea{resize:vertical;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.5}.kb-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:16px 20px;display:flex}.kb-detail-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:900px;max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px #00000080}.kb-detail-close{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;z-index:10;background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex;position:absolute;top:14px;right:14px}.kb-detail-close:hover{color:var(--text);background:#ffffff1a}.kb-detail-left{border-right:1px solid var(--border);flex:1;min-width:0;padding:28px 24px;overflow-y:auto}.kb-detail-iid{color:var(--text-dim);margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:.72rem}.kb-detail-title{color:var(--text);word-break:break-word;margin-bottom:20px;padding-right:36px;font-family:Syne,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.35}.kb-detail-section{margin-bottom:24px}.kb-detail-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;display:flex}.kb-detail-desc{color:var(--text);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;margin:0;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.65}.kb-detail-timeline{flex-direction:column;gap:6px;display:flex}.kb-timeline-event{border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:10px;padding:6px 0;display:flex}.kb-timeline-dot{background:var(--border-active);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.kb-timeline-body{color:var(--text-muted);flex:1;font-family:JetBrains Mono,monospace;font-size:.73rem;line-height:1.4}.kb-timeline-date{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.kb-notes-loading{justify-content:center;padding:16px 0;display:flex}.kb-notes-empty{color:var(--text-dim);padding:8px 0;font-family:JetBrains Mono,monospace;font-size:.75rem}.kb-notes-list{flex-direction:column;gap:12px;display:flex}.kb-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05;padding:12px 14px}.kb-note-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.kb-note-author{color:var(--text);font-family:Syne,sans-serif;font-size:.78rem;font-weight:600}.kb-note-username{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem}.kb-note-date{color:var(--text-dim);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.65rem}.kb-note-body{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.55}.kb-detail-right{flex-direction:column;flex-shrink:0;gap:0;width:280px;padding:28px 20px;display:flex;overflow-y:auto}.kb-detail-meta-block{margin-bottom:18px}.kb-detail-meta-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600}.kb-detail-assignee{align-items:center;gap:10px;display:flex}.kb-detail-avatar{width:30px;height:30px;color:var(--accent-bright);background:#7b5ea733;border:1px solid #7b5ea74d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700;display:flex}.kb-detail-assignee-name{color:var(--text);font-family:Syne,sans-serif;font-size:.8rem;font-weight:600}.kb-detail-assignee-user{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem}.kb-detail-none{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.75rem}.kb-detail-dates{flex-direction:column;gap:5px;display:flex}.kb-detail-date-row{justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.kb-detail-date-row span:first-child{color:var(--text-dim)}.kb-detail-date-row span:last-child{color:var(--text-muted)}.kb-detail-gitlab-link{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:#ffffff0a;align-items:center;gap:6px;margin-bottom:18px;padding:7px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.kb-detail-gitlab-link:hover{color:var(--accent-bright);background:#7b5ea71a;border-color:#7b5ea74d}.kb-detail-divider{background:var(--border);height:1px;margin:14px 0}.kb-detail-move-row{align-items:center;gap:6px;display:flex}.kb-detail-select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:#ffffff0a;outline:none;flex:1;padding:7px 8px;font-family:JetBrains Mono,monospace;font-size:.73rem}.kb-detail-select:focus{border-color:var(--border-active)}.kb-detail-action-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;background:#ffffff0a;align-items:center;gap:7px;margin-bottom:8px;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:.73rem;transition:background .12s,color .12s,border-color .12s;display:flex}.kb-detail-action-btn:hover{color:var(--text);background:#ffffff14}.kb-detail-action-danger:hover{color:var(--danger);background:#e058581a;border-color:#e0585833}.kb-plan-list{flex-direction:column;gap:6px;max-height:50vh;padding:12px 20px;display:flex;overflow-y:auto}.kb-plan-toggle-all{border-bottom:1px solid var(--border);color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:4px;padding:8px 0;font-family:JetBrains Mono,monospace;font-size:.75rem;display:flex}.kb-plan-item{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .12s,border-color .12s;display:flex}.kb-plan-item:hover{background:#ffffff08}.kb-plan-item-checked{background:#7b5ea70d;border-color:#7b5ea74d}.kb-plan-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;margin-top:2px}.kb-plan-item-body{flex:1;min-width:0}.kb-plan-item-title{color:var(--text);font-family:Syne,sans-serif;font-size:.83rem;font-weight:600;display:block}.kb-plan-item-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}.kb-plan-count{color:var(--text-muted);margin-right:auto;font-family:JetBrains Mono,monospace;font-size:.72rem}.kb-toast{z-index:500;border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:12px 18px;font-family:JetBrains Mono,monospace;font-size:.78rem;animation:.25s kb-slide-up;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #0000004d}.kb-toast-success{color:var(--success);background:#4ecb8d26;border:1px solid #4ecb8d4d}.kb-toast-error{color:var(--danger);background:#e0585826;border:1px solid #e058584d}@keyframes kb-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes kb-spin{to{transform:rotate(360deg)}}.kb-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:80px 24px;font-family:Syne,sans-serif;font-size:.9rem;display:flex}.kb-empty-hint{color:var(--text-dim);font-size:.78rem}[data-theme=light] .kb-repo-select{color:var(--text);background:#00000008}[data-theme=light] .kb-btn-outline{background:#0000000a;border-color:#0000001a}[data-theme=light] .kb-col-count{background:#0000000f}[data-theme=light] .kb-form-input{background:#00000008}[data-theme=light] .kb-card{box-shadow:0 1px 3px #0000000f}[data-theme=light] .kb-icon-btn:hover{background:#00000012}[data-theme=light] .kb-btn-ghost{background:#0000000a;border-color:#0000001a}[data-theme=light] .kb-stat-chip{background:#00000008}[data-theme=light] .kb-detail-modal{background:var(--bg-card)}[data-theme=light] .kb-detail-select{background:#00000008}[data-theme=light] .kb-detail-action-btn{background:#0000000a}[data-theme=light] .kb-note{background:#00000005}.an-root{background:var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative}.an-header-actions{align-items:center;gap:8px;display:flex}.an-content{z-index:1;flex-direction:column;gap:20px;padding:24px;display:flex;position:relative}.an-kpi-row{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.an-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:20px 22px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.an-stat-card:before{content:"";opacity:.4;background:currentColor;height:2px;position:absolute;top:0;left:0;right:0}.an-stat-card:hover{border-color:var(--border-active)}.an-stat-icon{opacity:.8;align-items:center;margin-bottom:6px;display:flex}.an-stat-value{letter-spacing:-.04em;font-family:Syne,sans-serif;font-size:2.2rem;font-weight:800;line-height:1}.an-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.7rem}.an-stat-sub{color:var(--text-dim);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.65rem}.an-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.an-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.an-card-full{width:100%}.an-card-title{color:var(--text);align-items:center;gap:6px;margin-bottom:14px;font-family:Syne,sans-serif;font-size:.88rem;font-weight:700;display:flex}.an-card-sub{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:400}.an-ring-wrap{align-items:center;gap:24px;display:flex}.an-ring{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:130px;height:130px;display:flex}.an-ring-inner{background:var(--bg-card);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:84px;height:84px;display:flex}.an-ring-pct{color:var(--success);font-family:Syne,sans-serif;font-size:1.25rem;font-weight:800;line-height:1}.an-ring-label{color:var(--text-dim);margin-top:3px;font-family:JetBrains Mono,monospace;font-size:.6rem}.an-ring-legend{flex-direction:column;gap:8px;display:flex}.an-ring-empty{color:var(--text-dim);padding:20px 0;font-family:JetBrains Mono,monospace;font-size:.78rem}.an-legend-item{color:var(--text-muted);align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:flex}.an-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.an-assignee-legend{gap:14px;margin-bottom:12px;display:flex}.an-assignee-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.an-assignee-name{flex-shrink:0;align-items:center;gap:7px;width:140px;display:flex}.an-assignee-avatar{width:24px;height:24px;color:var(--accent-bright);background:#7b5ea733;border:1px solid #7b5ea74d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:.65rem;font-weight:700;display:flex}.an-assignee-name>span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.72rem;overflow:hidden}.an-assignee-bar-wrap{flex:1}.an-assignee-bar{background:#ffffff0a;border-radius:4px;gap:1px;height:16px;display:flex;overflow:hidden}.an-bar-seg{border-radius:2px;height:100%;transition:width .4s}.an-bar-done{background:var(--success);opacity:.85}.an-bar-doing{opacity:.85;background:#c0813a}.an-bar-todo{background:#ffffff2e}.an-assignee-count{color:var(--text-muted);text-align:right;flex-shrink:0;width:24px;font-family:JetBrains Mono,monospace;font-size:.7rem}.an-age-chart{align-items:flex-end;gap:12px;height:120px;margin-top:8px;display:flex}.an-age-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.an-age-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.an-age-bar{background:#7b5ea780;border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:height .3s}.an-age-count{color:var(--text-muted);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.7rem}.an-age-label{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.62rem}.an-age-empty{color:var(--text-dim);padding:20px 0;font-family:JetBrains Mono,monospace;font-size:.78rem}.an-label-cloud{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.an-label-tag{cursor:default;border:1px solid;border-radius:20px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-weight:500;transition:opacity .15s}.an-label-tag:hover{opacity:.75}.an-label-count{opacity:.7;font-size:.8em}.an-recent-list{flex-direction:column;display:flex}.an-recent-item{border-bottom:1px solid #ffffff0a;align-items:center;gap:12px;padding:10px 0;display:flex}.an-recent-item:last-child{border-bottom:none}.an-recent-left{flex-shrink:0;align-items:center;gap:6px;display:flex}.an-recent-iid{color:var(--text-dim);width:36px;font-family:JetBrains Mono,monospace;font-size:.68rem}.an-recent-col{white-space:nowrap;border-radius:20px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.62rem}.an-recent-col-todo{color:var(--text-dim);background:#ffffff0f}.an-recent-col-doing{color:#c0813a;background:#c0813a26}.an-recent-col-done{color:var(--success);background:#2ea86f1f}.an-recent-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:Syne,sans-serif;font-size:.8rem;font-weight:600;overflow:hidden}.an-recent-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.an-recent-assignee{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.68rem}.an-recent-date{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.an-recent-empty{color:var(--text-dim);padding:16px 0;font-family:JetBrains Mono,monospace;font-size:.78rem}.kb-spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite kb-spin;display:inline-block}@media (width<=900px){.an-kpi-row{grid-template-columns:repeat(2,1fr)}.an-grid-2{grid-template-columns:1fr}}[data-theme=light] .an-stat-card,[data-theme=light] .an-card{box-shadow:0 1px 4px #0000000f}[data-theme=light] .an-ring-inner{background:var(--bg-card)}.model-picker{align-self:flex-start;position:relative}.model-trigger{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0d;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .15s;display:inline-flex}.model-trigger:hover{color:var(--text);background:#7b5ea71f;border-color:#7b5ea74d}.model-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:300;background:#0e0d16f7;border:1px solid #7b5ea74d;border-radius:10px;min-width:220px;animation:.12s modelMenuIn;position:absolute;left:0;overflow:hidden;box-shadow:0 12px 40px #00000080}.model-menu-up{bottom:calc(100% + 6px)}.model-menu-down{top:calc(100% + 6px)}@keyframes modelMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.model-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:9px 13px;transition:background .12s;display:flex}.model-item:hover{background:#7b5ea71a}.model-item.active{border-left:3px solid var(--accent-bright,#9d7fd4);background:#7b5ea726}.model-item-name{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.78rem}.model-item-desc{color:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:.68rem}.chat-root{flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden}.chat-body{z-index:1;flex:1;display:flex;position:relative;overflow:hidden}.chat-sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a1099;flex-direction:column;flex-shrink:0;gap:.5rem;width:260px;padding:1rem .75rem;display:flex;overflow:hidden}.chat-new-btn{width:100%;color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:#7b5ea71f;border:1px solid #7b5ea74d;border-radius:9px;align-items:center;gap:7px;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .18s;display:flex}.chat-new-btn:hover{background:#7b5ea733;border-color:#7b5ea780}.chat-conv-list{flex-direction:column;flex:1;gap:2px;padding-right:2px;display:flex;overflow-y:auto}.chat-conv-list::-webkit-scrollbar{width:3px}.chat-conv-list::-webkit-scrollbar-thumb{background:#7b5ea740;border-radius:3px}.chat-sidebar-loading{justify-content:center;padding:1rem;display:flex}.chat-sidebar-empty{color:var(--text-dim);text-align:center;margin:0;padding:1rem .5rem;font-size:.78rem}.chat-conv-item{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:all .15s;display:flex}.chat-conv-item:hover{color:var(--text);background:#ffffff0a}.chat-conv-item.active{color:var(--text);background:#7b5ea71f;border-color:#7b5ea740}.chat-conv-icon{opacity:.5;flex-shrink:0}.chat-conv-item.active .chat-conv-icon{opacity:1;color:var(--accent-bright)}.chat-conv-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chat-conv-title{white-space:nowrap;text-overflow:ellipsis;font-family:Inter,system-ui,sans-serif;font-size:.8rem;display:block;overflow:hidden}.chat-conv-date{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.65rem;display:block}.chat-conv-delete{width:22px;height:22px;color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.chat-conv-item:hover .chat-conv-delete{opacity:1}.chat-conv-delete:hover{color:var(--danger,#e05858);background:#e058581f}.chat-conv-delete:disabled{opacity:.4;cursor:not-allowed}.chat-main{flex:1;justify-content:center;align-items:stretch;min-width:0;padding:1.25rem;display:flex}.chat-window{border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0e0e14bf;border-radius:14px;flex-direction:column;width:100%;min-height:0;display:flex;overflow:hidden}.chat-window-toolbar{flex-shrink:0;justify-content:flex-end;align-items:center;padding:6px 10px 0;display:flex}.chat-toolbar-btn{width:28px;height:28px;color:var(--text-dim,var(--text-muted));cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.chat-toolbar-btn:hover{color:var(--text);background:#ffffff12}.chat-toolbar-btn.active{color:var(--accent-bright);background:#7b5ea726}.chat-search-wrap{flex-shrink:0;padding:0 1rem .5rem}mark.search-hit{color:inherit;background:#ffdc3c59;border-radius:2px;padding:0 2px}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:#7b5ea74d;border-radius:4px}.chat-empty{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:3rem;display:flex}.chat-empty-icon{width:52px;height:52px;color:var(--accent-bright);background:#7b5ea71f;border:1px solid #7b5ea733;border-radius:14px;justify-content:center;align-items:center;display:flex}.chat-empty h3{color:var(--text);margin:0;font-family:Syne,sans-serif;font-size:1.1rem}.chat-empty p{max-width:380px;margin:0;font-size:.85rem;line-height:1.6}.chat-empty strong{color:var(--accent-bright)}.chat-spinner-lg{border-width:3px;width:28px;height:28px}.chat-msg{animation:.2s msgIn;display:flex}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg-user{justify-content:flex-end}.chat-msg-assistant{justify-content:flex-start}.chat-bubble{border-radius:14px;max-width:75%;padding:10px 14px;position:relative}.chat-msg-user .chat-bubble{background:#7b5ea733;border:1px solid #7b5ea74d;border-bottom-right-radius:4px}.chat-msg-assistant .chat-bubble{border:1px solid var(--border);background:#ffffff0a;border-bottom-left-radius:4px}.chat-content{color:var(--text);word-break:break-word;margin:0;font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.65}.chat-msg-user .chat-content{white-space:pre-wrap}.chat-content p{margin:0 0 .6em}.chat-content p:last-child{margin-bottom:0}.chat-content h1,.chat-content h2,.chat-content h3,.chat-content h4,.chat-content h5,.chat-content h6{color:var(--text);margin:.8em 0 .3em;font-family:Syne,sans-serif;line-height:1.3}.chat-content h1{font-size:1.2rem}.chat-content h2{font-size:1.05rem}.chat-content h3{font-size:.95rem}.chat-content ul,.chat-content ol{margin:.4em 0 .6em 1.4em;padding:0}.chat-content li{margin-bottom:.25em}.chat-content code{background:#7b5ea726;border:1px solid #7b5ea733;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.82em}.chat-content pre{border:1px solid var(--border);background:#00000059;border-radius:8px;margin:.6em 0;padding:.75rem 1rem;overflow-x:auto}.chat-content pre code{background:0 0;border:none;padding:0;font-size:.83rem}.chat-content blockquote{color:var(--text-muted);border-left:3px solid #7b5ea780;margin:.5em 0;padding:.2em .8em}.chat-content table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.83rem}.chat-content th,.chat-content td{border:1px solid var(--border);text-align:left;padding:6px 10px}.chat-content th{color:var(--accent-bright);background:#7b5ea71a}.chat-content a{color:var(--accent-bright);text-decoration:underline}.chat-content hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.chat-content strong{color:var(--text)}.chat-content em{opacity:.85}.chat-time{color:var(--text-muted);text-align:right;margin-top:5px;font-family:JetBrains Mono,monospace;font-size:.65rem;display:block}.chat-file-list{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.chat-file-link{color:var(--accent-bright);background:#7b5ea71a;border:1px solid #7b5ea740;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.78rem;text-decoration:none;transition:background .15s;display:inline-flex}.chat-file-link:hover{background:#7b5ea733}.chat-typing{align-items:center;gap:4px;padding:4px 0;display:inline-flex}.chat-typing span{background:var(--accent-bright);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dot}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes dot{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.chat-error{color:var(--danger,#e05858);text-align:center;background:#e0585814;border:1px solid #e0585833;border-radius:8px;padding:10px 14px;font-size:.82rem}.chat-input-area{border-top:1px solid var(--border);background:#0a0a0f80;flex-direction:column;gap:8px;padding:.85rem 1.1rem;display:flex}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-file-chips{flex-wrap:wrap;gap:6px;display:flex}.chat-file-chip{color:var(--accent-bright);background:#7b5ea71a;border:1px solid #7b5ea74d;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.75rem;display:inline-flex}.chat-file-chip-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex}.chat-file-chip-remove:hover{color:var(--danger,#e05858)}.chat-attach-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.chat-attach-btn:hover:not(:disabled){color:var(--text);background:#ffffff17;border-color:#ffffff26}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-attach-btn.uploading{color:var(--accent-bright);border-color:#7b5ea766}.chat-textarea{border:1px solid var(--border);color:var(--text);resize:none;background:#ffffff0a;border-radius:10px;outline:none;flex:1;min-height:42px;max-height:160px;padding:10px 14px;font-family:Inter,system-ui,sans-serif;font-size:.875rem;line-height:1.6;transition:border-color .2s;overflow-y:auto}.chat-textarea:focus{border-color:#7b5ea780}.chat-textarea:disabled{opacity:.5;cursor:not-allowed}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send-btn{background:var(--accent,#7b5ea7);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.chat-send-btn:hover:not(:disabled){background:var(--accent-bright,#9d7fd4)}.chat-send-btn:disabled,.chat-send-btn.disabled{opacity:.4;cursor:not-allowed}.confirm-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:#100e18f2;border:1px solid #7b5ea74d;border-radius:16px;flex-direction:column;align-items:center;gap:1.25rem;min-width:300px;max-width:360px;padding:2rem 2.25rem;animation:.2s cubic-bezier(.34,1.56,.64,1) modalIn;display:flex;box-shadow:0 24px 60px #00000080,0 0 0 1px #7b5ea71a}@keyframes modalIn{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-icon{width:46px;height:46px;color:var(--danger,#e05858);background:#e058581a;border:1px solid #e0585840;border-radius:12px;justify-content:center;align-items:center;display:flex}.confirm-icon svg{width:20px;height:20px}.confirm-message{color:var(--text);text-align:center;margin:0;font-family:Inter,system-ui,sans-serif;font-size:.95rem;line-height:1.5}.confirm-actions{gap:10px;width:100%;display:flex}.confirm-btn-cancel,.confirm-btn-danger{cursor:pointer;border:1px solid #0000;border-radius:9px;flex:1;padding:9px 0;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:all .18s}.confirm-btn-cancel{border-color:var(--border);color:var(--text-muted);background:#ffffff0f}.confirm-btn-cancel:hover{color:var(--text);background:#ffffff1a}.confirm-btn-danger{color:var(--danger,#e05858);background:#e0585826;border-color:#e058584d}.confirm-btn-danger:hover{background:#e0585840;border-color:#e0585880}.chat-save-req-bar{background:#7b5ea714;border:1px solid #7b5ea738;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:9px 13px;display:flex}.chat-save-req-hint{color:var(--accent-bright);opacity:.85;font-family:JetBrains Mono,monospace;font-size:.68rem}.chat-save-req-btn{color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:#7b5ea72e;border:1px solid #7b5ea759;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.chat-save-req-btn:hover:not(:disabled){background:#7b5ea747;border-color:#7b5ea780}.chat-save-req-btn:disabled{opacity:.55;cursor:not-allowed}.chat-save-req-btn.saved{color:var(--success);background:#2ea86f26;border-color:#2ea86f4d}.chat-conv-item{position:relative}.chat-conv-actions{opacity:0;align-items:center;gap:2px;transition:opacity .15s;display:flex}.chat-conv-item:hover .chat-conv-actions{opacity:1}.chat-conv-rename-btn{width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.chat-conv-rename-btn:hover{color:var(--accent-bright);background:#7b5ea726}.chat-conv-title-input{color:var(--text);background:#7b5ea71f;border:1px solid #7b5ea766;border-radius:5px;outline:none;width:100%;padding:2px 6px;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.chat-model-picker{align-self:flex-start;position:relative}.chat-model-trigger{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0d;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .15s;display:inline-flex}.chat-model-trigger:hover{color:var(--text);background:#7b5ea71f;border-color:#7b5ea74d}.chat-model-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50;background:#0e0d16f7;border:1px solid #7b5ea74d;border-radius:10px;min-width:220px;animation:.12s menuIn;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 12px 40px #00000080}@keyframes menuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-model-item{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:9px 13px;transition:background .12s;display:flex}.chat-model-item:hover{background:#7b5ea71a}.chat-model-item.active{border-left:3px solid var(--accent-bright,#9d7fd4);background:#7b5ea726}.chat-model-item-name{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.78rem}.chat-model-item-desc{color:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:.68rem}.chat-conv-files{background:#7b5ea70d;border:1px solid #7b5ea726;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.chat-conv-files-label{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem}.chat-conv-file-link{color:var(--accent-bright);background:#7b5ea71a;border:1px solid #7b5ea733;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:.72rem;text-decoration:none;transition:background .15s;display:inline-flex}.chat-conv-file-link:hover{background:#7b5ea733}.admin-root{flex-direction:column;min-height:100vh;display:flex;position:relative}.admin-forbidden{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.admin-forbidden-icon{width:56px;height:56px;color:var(--danger,#e05858);background:#e0585814;border:1px solid #e0585833;border-radius:14px;justify-content:center;align-items:center;display:flex}.admin-forbidden h3{color:var(--text);margin:0;font-family:Syne,sans-serif;font-size:1.1rem}.admin-forbidden p{margin:0;font-size:.85rem}.admin-toast{z-index:1000;cursor:pointer;border-radius:10px;align-items:center;gap:8px;max-width:420px;padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:.82rem;animation:.25s toastIn;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-toast-success{color:#48c78e;background:#48c78e1f;border:1px solid #48c78e4d}.admin-toast-error{color:var(--danger,#e05858);background:#e058581a;border:1px solid #e0585840}.admin-pending-badge{color:#ffb347;vertical-align:middle;background:#ffb3471f;border:1px solid #ffb3474d;border-radius:20px;align-items:center;margin-left:10px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex}.admin-header-actions{align-items:center;gap:10px;display:flex}.admin-filter-tabs{gap:4px;display:flex}.admin-filter-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .15s;display:flex}.admin-filter-tab:hover{color:var(--text);background:#ffffff12}.admin-filter-tab.active{color:var(--accent-bright);background:#7b5ea726;border-color:#7b5ea766}.admin-filter-tab.active.role-pending{color:#ffb347;background:#ffb3471a;border-color:#ffb34759}.admin-filter-tab.active.role-user{color:#4894ff;background:#4894ff1a;border-color:#4894ff4d}.admin-filter-tab.active.role-admin{color:var(--accent-bright);background:#7b5ea726;border-color:#7b5ea766}.admin-filter-count{background:#ffffff14;border-radius:20px;padding:1px 6px;font-size:.68rem}.admin-refresh-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.admin-refresh-btn:hover:not(:disabled){color:var(--text);background:#ffffff14}.admin-refresh-btn:disabled{opacity:.4;cursor:not-allowed}.admin-content{z-index:1;flex:1;padding:0 2rem 2rem;position:relative}.admin-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:4rem;font-size:.85rem;display:flex}.admin-error-state{text-align:center;color:var(--danger,#e05858);padding:3rem;font-size:.85rem}.admin-empty{text-align:center;color:var(--text-dim);padding:3rem;font-size:.85rem}.admin-table-wrap{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e0e1499;border-radius:14px;overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table thead tr{border-bottom:1px solid var(--border)}.admin-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500}.admin-table tbody tr{border-bottom:1px solid #ffffff0a;transition:background .15s}.admin-table tbody tr:last-child{border-bottom:none}.admin-table tbody tr:hover{background:#ffffff06}.admin-table tbody tr.row-pending{background:#ffb34708}.admin-table tbody tr.row-pending:hover{background:#ffb3470f}.admin-table td{vertical-align:middle;padding:12px 16px}.admin-user-cell{align-items:center;gap:10px;display:flex}.admin-avatar{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:Syne,sans-serif;font-size:.78rem;font-weight:600;display:flex}.admin-avatar.role-pending{color:#ffb347;background:#ffb3471f;border:1px solid #ffb34740}.admin-avatar.role-user{color:#4894ff;background:#4894ff1f;border:1px solid #4894ff40}.admin-avatar.role-admin{color:var(--accent-bright);background:#7b5ea72e;border:1px solid #7b5ea759}.admin-user-name{color:var(--text);font-size:.875rem}.admin-email{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.78rem}.admin-role-badge{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex}.admin-role-badge.role-pending{color:#ffb347;background:#ffb3471a;border:1px solid #ffb3474d}.admin-role-badge.role-user{color:#4894ff;background:#4894ff1a;border:1px solid #4894ff40}.admin-role-badge.role-admin{color:var(--accent-bright);background:#7b5ea726;border:1px solid #7b5ea759}.admin-date{color:var(--text-dim);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.75rem}.admin-actions{align-items:center;gap:6px;display:flex}.admin-action-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .15s;display:inline-flex}.admin-action-btn.approve{color:#48c78e;background:#48c78e1a;border-color:#48c78e4d}.admin-action-btn.approve:hover{background:#48c78e2e;border-color:#48c78e80}.admin-action-btn.promote{color:var(--accent-bright);background:#7b5ea71a;border-color:#7b5ea74d}.admin-action-btn.promote:hover{background:#7b5ea72e;border-color:#7b5ea780}.admin-action-btn.demote{color:#4894ff;background:#4894ff14;border-color:#4894ff40}.admin-action-btn.demote:hover{background:#4894ff26}.admin-action-btn.revoke{color:var(--danger,#e05858);background:#e0585812;border-color:#e0585833}.admin-action-btn.revoke:hover{background:#e0585824;border-color:#e0585866}.admin-perms-row>td{border-top:none!important;padding:0!important}.admin-perms-panel{border-top:1px dashed #7b5ea733;border-bottom:1px solid var(--border);background:#7b5ea70d;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex}.admin-perms-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.68rem}.admin-perms-checks{flex-wrap:wrap;gap:6px;display:flex}.admin-perm-check{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;transition:all .15s;display:flex}.admin-perm-check:hover{background:#7b5ea712;border-color:#7b5ea74d}.admin-perm-check.active{background:#4ade8012;border-color:#4ade8040}.admin-perm-check-box{border:1.5px solid var(--border-active,var(--border));border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:0;transition:all .15s;display:flex}.admin-perm-check.active .admin-perm-check-box{color:#000;background:#4ade80;border-color:#4ade80}.admin-perm-check-label{color:var(--text-muted);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.72rem}.admin-perm-check.active .admin-perm-check-label{color:var(--text)}.admin-action-btn.perms{color:var(--accent-bright);background:#7b5ea714;border-color:#7b5ea733}.admin-action-btn.perms:hover,.admin-action-btn.perms.active{background:#7b5ea72e;border-color:#7b5ea766}.settings-root{flex-direction:column;min-height:100vh;display:flex;position:relative}.settings-tab-bar{gap:4px;display:flex}.settings-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:8px;padding:7px 16px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .15s}.settings-tab:hover{color:var(--text);background:#ffffff12}.settings-tab.active{color:var(--accent-bright);background:#7b5ea726;border-color:#7b5ea766}.settings-content{z-index:1;flex:1;width:100%;max-width:900px;margin:0 auto;padding:2rem 2rem 3rem;position:relative}.settings-section-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.settings-section-title{color:var(--text);margin-bottom:4px;font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.settings-section-subtitle{color:var(--text);margin-bottom:10px;font-family:Syne,sans-serif;font-size:.9rem;font-weight:600}.settings-section-desc{color:var(--text-muted);font-size:.82rem;line-height:1.5}.settings-section{flex-direction:column;gap:0;display:flex}.settings-profile-wrap{max-width:520px}.settings-profile-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e0e1499;border-radius:14px;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.settings-profile-avatar{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:700;display:flex}.settings-profile-avatar.role-admin{color:var(--accent-bright);background:#7b5ea72e;border:1px solid #7b5ea759}.settings-profile-avatar.role-user{color:#4894ff;background:#4894ff1f;border:1px solid #4894ff40}.settings-profile-rows{flex-direction:column;flex:1;gap:12px;display:flex}.settings-info-row{align-items:center;gap:12px;display:flex}.settings-info-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;width:52px;font-family:JetBrains Mono,monospace;font-size:.7rem}.settings-info-value{color:var(--text);font-size:.875rem}.settings-mono{font-family:JetBrains Mono,monospace;font-size:.8rem!important}.settings-balance-highlight{font-family:JetBrains Mono,monospace;color:var(--accent-bright)!important;font-size:.8rem!important}.settings-create-btn{color:var(--accent-bright);cursor:pointer;white-space:nowrap;background:#7b5ea71f;border:1px solid #7b5ea759;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:all .15s;display:inline-flex}.settings-create-btn:hover:not(:disabled){background:#7b5ea733;border-color:#7b5ea78c}.settings-create-btn:disabled{opacity:.5;cursor:not-allowed}.settings-key-form{align-items:center;gap:8px;margin-bottom:1.25rem;display:flex}.settings-key-reveal{background:#ffb3470f;border:1px solid #ffb34740;border-radius:12px;margin-bottom:1.25rem;padding:1rem 1.25rem}.settings-key-reveal-header{color:#ffb347;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;display:flex}.settings-key-warn{color:var(--text-muted);margin-left:auto;font-family:JetBrains Mono,monospace;font-size:.75rem}.settings-key-reveal-body{align-items:center;gap:10px;margin-bottom:10px;display:flex}.settings-key-code{color:var(--text);border:1px solid var(--border);word-break:break-all;background:#0000004d;border-radius:7px;flex:1;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem}.settings-copy-btn{cursor:pointer;white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);background:#ffffff0f;border-radius:7px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .15s;display:inline-flex}.settings-copy-btn:hover{color:var(--text);background:#ffffff1a}.settings-copy-btn.copied{color:#48c78e;background:#48c78e1a;border-color:#48c78e4d}.settings-key-reveal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:color .15s}.settings-key-reveal-close:hover{color:var(--text-muted)}.settings-loading{color:var(--text-muted);justify-content:center;align-items:center;padding:4rem;display:flex}.settings-empty{color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:3rem;font-size:.85rem;display:flex}.settings-empty-icon{border:1px solid var(--border);width:44px;height:44px;color:var(--text-dim);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;display:flex}.settings-billing-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem;display:grid}@media (width<=900px){.settings-billing-grid{grid-template-columns:repeat(2,1fr)}}.settings-billing-card{border:1px solid var(--border);background:#0e0e1499;border-radius:12px;flex-direction:column;gap:4px;padding:1rem 1.25rem;display:flex}.settings-billing-card.accent{background:#7b5ea70f;border-color:#7b5ea74d}.settings-billing-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:.68rem}.settings-billing-value{color:var(--text);font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;line-height:1.1}.settings-billing-card.accent .settings-billing-value{color:var(--accent-bright)}.settings-billing-value-sm{color:var(--text);font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.2}.settings-billing-unit{color:var(--text-muted);font-size:.72rem}.settings-recharge{border:1px solid var(--border);background:#0e0e1480;border-radius:12px;margin-bottom:2rem;padding:1.25rem}.settings-recharge-form{align-items:center;gap:10px;display:flex}.settings-recharge-input{border:1px solid var(--border);max-width:280px;height:38px;color:var(--text);background:#ffffff0a;border-radius:8px;outline:none;flex:1;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:.85rem;transition:border-color .15s}.settings-recharge-input:focus{border-color:#7b5ea780}.settings-recharge-input::placeholder{color:var(--text-dim)}.settings-recharge-btn{color:#48c78e;cursor:pointer;white-space:nowrap;background:#48c78e1a;border:1px solid #48c78e4d;border-radius:8px;align-items:center;gap:6px;height:38px;padding:0 18px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:all .15s;display:inline-flex}.settings-recharge-btn:hover:not(:disabled){background:#48c78e2e;border-color:#48c78e80}.settings-recharge-btn:disabled{opacity:.45;cursor:not-allowed}.settings-usage-section{margin-top:0}.settings-credits-badge{color:var(--danger);white-space:nowrap;background:#e0585814;border:1px solid #e0585833;border-radius:20px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.75rem}.btn-spinner{border:2px solid #fff3;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.settings-gitlab-card{border:1px solid var(--border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:1rem;margin-top:1.25rem;padding:1.25rem 1.5rem;display:flex}.settings-gitlab-header{align-items:flex-start;gap:12px;display:flex}.settings-gitlab-icon{color:#e24c28;background:#e24c281a;border:1px solid #e24c2833;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-top:2px;display:flex}.settings-gitlab-hint{color:var(--text-dim);margin:4px 0 0;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.5}.settings-gitlab-form{align-items:center;gap:8px;display:flex}.settings-gitlab-btn{color:#e24c28;cursor:pointer;white-space:nowrap;background:#e24c281a;border:1px solid #e24c2840;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;height:38px;padding:0 16px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:background .15s;display:inline-flex}.settings-gitlab-btn:hover:not(:disabled){background:#e24c282e}.settings-gitlab-btn:disabled{opacity:.5;cursor:not-allowed}.settings-gitlab-linked{background:#4ade800d;border:1px solid #4ade8026;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.settings-gitlab-linked-label{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.75rem}.settings-gitlab-linked-user{color:#4ade80;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:600}.settings-gitlab-change-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .15s}.settings-gitlab-change-btn:hover{color:var(--accent-bright);border-color:#7b5ea759}.settings-gitlab-form-v2{flex-direction:column;gap:8px;display:flex}.settings-gitlab-token-row{align-items:center;gap:8px;display:flex}.settings-gitlab-token-row .settings-recharge-input{flex:1}.settings-gitlab-verify-result{background:#7b5ea714;border:1px solid #7b5ea733;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.settings-gitlab-verify-info{align-items:center;gap:10px;display:flex}.settings-gitlab-avatar{border:1px solid var(--border);border-radius:50%;width:36px;height:36px}.settings-gitlab-verify-name{color:var(--text);font-size:.9rem;font-weight:600;display:block}.settings-gitlab-verify-user{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.78rem;display:block}.settings-gitlab-verify-prompt{color:var(--text-muted);margin:0;font-size:.82rem}.settings-gitlab-verify-actions{align-items:center;gap:8px;display:flex}
