*{margin:0;padding:0;box-sizing:border-box}
body{background:#0d1117;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;line-height:1.6;padding:20px;max-width:1100px;margin:0 auto}
.hidden{display:none !important}
h2{font-size:.82rem;font-weight:600;color:#8b949e;text-transform:uppercase;letter-spacing:.06em;margin:32px 0 10px}

/* nav */
.nav{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:10px 16px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav .brand{font-weight:700;font-size:1rem;margin-right:4px}
.nav .brand .domain{color:#58a6ff;font-weight:400}
.nav a{color:#8b949e;text-decoration:none;font-size:.88rem;padding:4px 0;border-bottom:2px solid transparent;cursor:pointer}
.nav a:hover{color:#e6edf3}
.nav a.active{color:#58a6ff;border-bottom-color:#58a6ff;font-weight:600}
.nav .spacer{flex:1}
.nav .who{color:#8b949e;font-size:.82rem}

/* login */
.login-wrap{min-height:80vh;display:flex;align-items:center;justify-content:center}
.login-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:32px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}
.login-brand{font-weight:700;font-size:1.3rem}
.login-brand span{color:#58a6ff;font-weight:400}
.login-sub{color:#8b949e;font-size:.88rem;margin-top:-10px}
label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:#8b949e}
input,select,textarea{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:9px 11px;color:#e6edf3;font-size:.92rem;font-family:inherit;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:#58a6ff}

/* buttons */
.btn{background:#21262d;border:1px solid #30363d;border-radius:6px;padding:9px 16px;color:#e6edf3;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit}
.btn:hover:not(:disabled){border-color:#8b949e}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.primary{background:#238636;border-color:#2ea043}
.btn.primary:hover:not(:disabled){background:#2ea043}
.btn.danger{background:#8b2c2c;border-color:#b04a4a}
.btn.small{padding:5px 11px;font-size:.8rem}
.err{color:#f85149;font-size:.82rem;min-height:1em}

/* clock */
.clock-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:28px;text-align:center;margin-bottom:20px}
.clock-state{display:flex;align-items:center;justify-content:center;gap:8px;color:#8b949e;font-size:.88rem}
.dot{width:9px;height:9px;border-radius:50%;background:#484f58;display:inline-block}
.dot.on{background:#3fb950;box-shadow:0 0 0 4px rgba(63,185,80,.15)}
.timer{font-size:3rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;margin:8px 0 18px}
.clock-btn{font-size:1rem;padding:13px 40px;background:#238636;border-color:#2ea043}
.clock-btn.out{background:#8b2c2c;border-color:#b04a4a}
.hint{color:#8b949e;font-size:.8rem;margin-top:10px;min-height:1em}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.stat{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px 16px}
.stat-label{color:#8b949e;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.stat-val{font-size:1.5rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.stat-val.small{font-size:1.1rem}
.stat-val.green{color:#3fb950}
.stat-val.amber{color:#d29922}

/* tables */
.table-wrap{background:#161b22;border:1px solid #30363d;border-radius:8px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th{text-align:left;color:#8b949e;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:10px 14px;border-bottom:1px solid #30363d;white-space:nowrap}
td{padding:10px 14px;border-bottom:1px solid #21262d;white-space:nowrap}
tr:last-child td{border-bottom:none}
tr.clickable{cursor:pointer}
tr.clickable:hover{background:#1c2128}
.empty{padding:22px;text-align:center;color:#8b949e;font-size:.88rem}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* badges */
.badge{font-size:.72rem;padding:2px 9px;border-radius:10px;border:1px solid #30363d;color:#8b949e;display:inline-block}
.badge.pending{color:#d29922;border-color:#9e6a03}
.badge.paid{color:#3fb950;border-color:#238636}
.badge.cancelled{color:#8b949e;text-decoration:line-through}
.badge.live{color:#3fb950;border-color:#238636}
.badge.off{color:#8b949e}
.badge.admin{color:#bc8cff;border-color:#8957e5}

.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:32px 0 10px}
.section-head h2{margin:0}

/* modal */
.modal{position:fixed;inset:0;background:rgba(1,4,9,.75);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto}
.modal-card h3{font-size:1.05rem;margin-bottom:16px}
.modal-card label{margin-bottom:12px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

@media(max-width:600px){
  body{padding:12px}
  .timer{font-size:2.3rem}
  .nav{gap:12px}
  .row2{grid-template-columns:1fr}
}
