:root{--bg:#0d1117;--bg-surface:#161b22;--bg-overlay:#1c2128;--border:#30363d;--text:#e6edf3;--text-muted:#7d8590;--primary:#58a6ff;--primary-hover:#79b8ff;--success:#3fb950;--error:#f85149;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}ul{list-style:none}.layout{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:24px;display:flex}.topbar-right{align-items:center;gap:12px;display:flex}.brand{color:var(--text);font-size:1.1rem;font-weight:700}.brand:hover{text-decoration:none}.nav-links{gap:16px;display:flex}.nav-links a{color:var(--text-muted);border-bottom:2px solid #0000;padding:4px 0;font-size:.9rem;transition:color .15s,border-color .15s}.nav-links a:hover,.nav-links a.active{color:var(--text);border-bottom-color:var(--primary);text-decoration:none}.username{color:var(--text-muted);font-size:.9rem}.content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px}.avatar{border-radius:50%;width:28px;height:28px}.avatar-lg{border-radius:50%;width:64px;height:64px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-overlay);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:6px 16px;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--bg-surface)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);text-decoration:none}.btn-lg{padding:10px 24px;font-size:1rem}.btn-sm{padding:4px 12px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.center-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{text-align:center;max-width:420px}.login-card h1{margin-bottom:12px}.login-card p{color:var(--text-muted);margin-bottom:24px}.welcome{align-items:center;gap:20px;margin-bottom:32px;display:flex}.welcome h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.stat-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.stat-card h3{color:var(--primary);font-size:2rem}.installations h1{margin-bottom:20px}.install-list{flex-direction:column;gap:12px;display:flex}.install-card{padding:0;overflow:hidden}.install-header{width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:16px 20px;display:flex}.install-header:hover{background:var(--bg-overlay)}.install-info{flex-direction:column;flex:1;display:flex}.chevron{font-size:1.2rem;transition:transform .15s}.chevron.open{transform:rotate(90deg)}.install-repos{border-top:1px solid var(--border);padding:16px 20px}.repo-list{flex-direction:column;gap:8px;display:flex}.repo-list li{flex-direction:column;gap:2px;display:flex}.repo-desc{font-size:.85rem}.repo-filter{width:100%;font-size:.875rem;font-family:var(--font);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:8px 12px}.repo-filter:focus{border-color:var(--primary);outline:none}.repo-filter::placeholder{color:var(--text-muted)}.pagination{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.pagination-info{white-space:nowrap;font-size:.85rem}.repo-config h1{margin-bottom:4px;font-size:1.3rem}.repo-config h2{color:var(--text-muted);margin-bottom:20px;font-size:1rem;font-weight:400}.config-editor{width:100%;min-height:300px;font-family:var(--font-mono);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;margin-bottom:12px;padding:16px;font-size:.875rem;line-height:1.6}.config-editor:focus{border-color:var(--primary);outline:none}.menu-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;display:none}.hamburger{background:var(--text);width:20px;height:2px;transition:background .2s;display:block;position:relative}.hamburger:before,.hamburger:after{content:"";background:var(--text);width:20px;height:2px;transition:transform .2s;display:block;position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hamburger.open{background:0 0}.hamburger.open:before{top:0;transform:rotate(45deg)}.hamburger.open:after{top:0;transform:rotate(-45deg)}.muted{color:var(--text-muted)}.error-text{color:var(--error)}.success-text{color:var(--success);margin-bottom:12px}.loading{color:var(--text-muted);padding:32px 0}@media (width<=640px){.topbar{flex-wrap:wrap;height:auto;min-height:56px;padding:0 12px}.topbar-left{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px}.menu-toggle{display:flex}.nav-links{flex-direction:column;order:3;gap:0;width:100%;padding-bottom:8px;display:none}.nav-links.nav-open{display:flex}.nav-links a{border-bottom:none;padding:10px 0;font-size:1rem}.topbar-right{display:none}.welcome{text-align:center;flex-direction:column}.content{padding:20px 12px}.avatar-lg{width:48px;height:48px}.welcome h1{font-size:1.2rem}.installations h1{font-size:1.3rem}.install-header,.install-repos{padding:12px 14px}.card{padding:16px}.config-editor{min-height:200px;font-size:.8rem}.repo-config h1{word-break:break-all;font-size:1.1rem}.btn-lg{width:100%}.stats-grid{grid-template-columns:1fr}.pagination{gap:8px}.pagination-info{font-size:.8rem}}
