:root{--bg:#0a0a0f;--bg-deep:#050507;--surface:#121218;--surface-elevated:#1a1a22;--border:#2a2a35;--border-strong:#33333f;--primary:#a03cf0;--primary-soft:#c77dff;--secondary:#2bd1f0;--chrome:#dfe4f0;--text:#fff;--text-muted:#9a9aa5;--text-faint:#6b6b78;--font-head:"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(18,18,24,.6);justify-content:space-between;align-items:center;padding:.9rem 1.5rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.brand{font-family:var(--font-head);letter-spacing:.3px;color:var(--chrome);font-weight:800}.brand .x{color:var(--primary-soft)}.brand .tag{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin-left:.6rem;font-size:.7rem;font-weight:600}.container{max-width:1080px;margin:0 auto;padding:2rem 1.5rem}.app-shell{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);background:rgba(18,18,24,.5);flex-direction:column;height:100dvh;padding:1.1rem .9rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.side-brand{font-family:var(--font-head);color:var(--chrome);padding:.2rem .5rem 1.1rem;font-size:1.05rem;font-weight:800}.side-brand .x{color:var(--primary-soft)}.side-brand .tag{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:.62rem;font-weight:600}.side-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.nav-link{color:var(--text-muted);border-left:2px solid transparent;border-radius:9px;justify-content:space-between;align-items:center;padding:.55rem .7rem;font-size:.9rem;text-decoration:none;display:flex}a.nav-link:hover{color:var(--text);background:var(--surface)}.nav-link.active{color:var(--text);background:var(--surface);border-left-color:var(--secondary)}.nav-link.disabled{color:var(--text-faint);cursor:default}.soon-dot{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border-strong);border-radius:999px;padding:.05rem .4rem;font-size:.56rem}.side-foot{border-top:1px solid var(--border);flex-direction:column;gap:.6rem;padding-top:.8rem;display:flex}.side-user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;padding:0 .4rem;font-size:.75rem;overflow:hidden}.main{padding:2rem;overflow-x:hidden}.page{max-width:1000px}.page-title{font-family:var(--font-head);color:var(--chrome);font-size:1.5rem;font-weight:800}.page-sub{color:var(--text-muted);max-width:46rem;margin:.35rem 0 1.25rem;font-size:.9rem}@media (max-width:640px){.app-shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;gap:.4rem;height:auto;position:static}.side-brand{width:100%;padding:.3rem .5rem}.side-nav{flex-flow:wrap;flex:initial}.side-foot{border-top:none;flex-direction:row;align-items:center;margin-left:auto;padding-top:0}.main{padding:1.25rem}}.grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin-top:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem}.card h3{font-family:var(--font-head);font-size:1rem;font-weight:700}.card p{color:var(--text-muted);margin-top:.35rem;font-size:.85rem;line-height:1.5}.card .soon{letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);border:1px solid var(--border-strong);border-radius:999px;margin-top:.75rem;padding:.2rem .55rem;font-size:.65rem;display:inline-block}.auth-shell{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:22rem;padding:1.75rem}.auth-card h1{font-family:var(--font-head);color:var(--chrome);font-size:1.35rem;font-weight:800}.auth-card .sub{color:var(--text-muted);margin:.35rem 0 1.25rem;font-size:.85rem}label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;font-size:.72rem;display:block}input{background:var(--bg);border:1px solid var(--border-strong);width:100%;color:var(--text);font-family:var(--font-body);border-radius:10px;margin-bottom:1rem;padding:.7rem .8rem;font-size:.95rem}input:focus{border-color:var(--secondary);outline:none}button.primary{background:var(--secondary);width:100%;color:var(--bg-deep);font-family:var(--font-body);cursor:pointer;border:none;border-radius:999px;padding:.75rem;font-size:.95rem;font-weight:700}button.primary:disabled{opacity:.6;cursor:default}.error{color:#ff6b81;margin-bottom:.9rem;font-size:.82rem}button.ghost{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.45rem .9rem;font-size:.82rem}button.ghost:hover{color:var(--text)}button.ghost.danger{color:#ff8fa3;border-color:#5a2230}button.ghost.danger:hover{color:#ff6b81;border-color:#7a2f40}button.ghost:disabled{opacity:.5;cursor:default}.who{color:var(--text-muted);margin-right:.75rem;font-size:.8rem}a.card-link{color:inherit;text-decoration:none;transition:border-color .12s,transform .12s;display:block}a.card-link:hover{border-color:var(--secondary);transform:translateY(-1px)}.soon.open{color:var(--secondary);border-color:var(--secondary)}.search{background:var(--bg);border:1px solid var(--border-strong);width:100%;color:var(--text);font-family:var(--font-body);border-radius:10px;margin-bottom:1rem;padding:.65rem .8rem;font-size:.95rem}.search:focus{border-color:var(--secondary);outline:none}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}.ops-table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.88rem}.ops-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:.7rem .9rem;font-size:.7rem;font-weight:600}.ops-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.7rem .9rem}.ops-table tr:last-child td{border-bottom:none}.u-email{color:var(--text)}.u-name{color:var(--text-faint);margin-top:.15rem;font-size:.78rem}.u-date{color:var(--text-muted);white-space:nowrap}.pill{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-muted);border-radius:999px;padding:.2rem .5rem;font-size:.68rem;display:inline-block}.pill.role-admin{color:var(--primary-soft);border-color:var(--primary)}.pill.role-staff,.pill.premium{color:var(--secondary);border-color:var(--secondary)}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:inline-flex}.row-actions .ghost{padding:.35rem .6rem;font-size:.78rem}.pill.status-new{color:var(--secondary);border-color:var(--secondary)}.pill.status-replied{color:var(--primary-soft);border-color:var(--primary)}.pill.status-closed{color:var(--text-faint)}.inbox{grid-template-columns:20rem 1fr;align-items:start;gap:1rem;display:grid}.msg-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;max-height:70vh;list-style:none;overflow-x:hidden;overflow-y:auto}.msg-item{border-bottom:1px solid var(--border);cursor:pointer;padding:.75rem .9rem}.msg-item:last-child{border-bottom:none}.msg-item:hover{background:var(--surface-elevated)}.msg-item.active{background:var(--surface-elevated);border-left:2px solid var(--secondary)}.msg-item.unread .msg-subject{color:var(--text);font-weight:600}.msg-top{justify-content:space-between;gap:.5rem;display:flex}.msg-from{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.msg-date{color:var(--text-faint);white-space:nowrap;font-size:.72rem}.msg-subject{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 .4rem;font-size:.82rem;overflow:hidden}.msg-detail{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-height:20rem;padding:1.25rem}.detail-head{border-bottom:1px solid var(--border);margin-bottom:.9rem;padding-bottom:.9rem;position:relative}.detail-head h2{font-family:var(--font-head);font-size:1.15rem;font-weight:700}.detail-meta{color:var(--text-muted);margin-top:.35rem;font-size:.82rem}.detail-actions{position:absolute;top:0;right:0}.msg-text{white-space:pre-wrap;font-family:var(--font-body);color:var(--text);margin:0;font-size:.9rem;line-height:1.6}.msg-html{background:#fff;border:none;border-radius:8px;width:100%;min-height:18rem}.reply-box{border-top:1px solid var(--border);margin-top:1.1rem;padding-top:1rem}.reply-box textarea{background:var(--bg);border:1px solid var(--border-strong);width:100%;color:var(--text);font-family:var(--font-body);resize:vertical;border-radius:10px;margin-bottom:.7rem;padding:.7rem .8rem;font-size:.9rem}.reply-box textarea:focus{border-color:var(--secondary);outline:none}.reply-sent{color:var(--secondary);margin-bottom:.6rem;font-size:.82rem}@media (max-width:720px){.inbox{grid-template-columns:1fr}}.page-head-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:.5rem 0 1.1rem;display:flex}.tab{color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.5rem .9rem;font-size:.9rem}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--secondary)}.build-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.8rem;max-width:34rem;padding:1.25rem;display:flex}.build-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.build-head h3{font-family:var(--font-head);font-size:.98rem;font-weight:700}.build-provider{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;font-size:.68rem}.build-note{color:var(--text-faint);font-size:.82rem}.build-note.err{color:#ff8fa3}.build-last{flex-direction:column;gap:.4rem;display:flex}.build-meta{color:var(--text-muted);flex-wrap:wrap;gap:.3rem;font-size:.78rem;display:flex}.build-msg{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.build-actions{gap:.5rem;margin-top:auto;padding-top:.4rem;display:flex}.build-actions .ghost{text-align:center;flex:1}.gh{flex-direction:column;gap:1.4rem;max-width:44rem;display:flex}.gh-repo{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gh-repo-name{font-family:var(--font-head);color:var(--chrome);font-weight:700;text-decoration:none}.gh-repo-name:hover{text-decoration:underline}.gh-repo-meta{color:var(--text-muted);font-size:.8rem}.gh-section h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.5rem;font-size:.72rem}.gh-section-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.gh-section-head h4{margin-bottom:0}.branch-select{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-body);border-radius:8px;padding:.3rem .5rem;font-size:.8rem}.branch-select:focus{border-color:var(--secondary);outline:none}.gh-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;list-style:none;overflow:hidden}.gh-list li{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.55rem .8rem;font-size:.85rem;display:flex}.gh-list li:last-child{border-bottom:none}.gh-msg{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.gh-msg a{color:var(--text);text-decoration:none}.gh-msg a:hover{text-decoration:underline}.gh-sub{color:var(--text-faint);white-space:nowrap;font-size:.75rem}.gh-empty{color:var(--text-faint)}.gh-branches{flex-wrap:wrap;gap:.4rem;display:flex}.chip{color:var(--text-muted);border:1px solid var(--border-strong);border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.mono{color:var(--secondary);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;text-decoration:none}.mono:hover{text-decoration:underline}
