:root { --bg:var(--tg-theme-bg-color,#0d0f13); --surface:var(--tg-theme-secondary-bg-color,#17191f); --surface-2:var(--tg-theme-section-bg-color,#202229); --text:var(--tg-theme-text-color,#f5f6f8); --muted:var(--tg-theme-hint-color,#8d919c); --accent:var(--tg-theme-button-color,#ff4567); --accent-text:var(--tg-theme-button-text-color,#fff); --line:color-mix(in srgb,var(--text) 10%,transparent); --safe-top:var(--tg-content-safe-area-inset-top,0px); --safe-bottom:var(--tg-content-safe-area-inset-bottom,0px); color-scheme:var(--tg-color-scheme,dark); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans Myanmar",sans-serif; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body { min-height:100%; margin:0; background:var(--bg); color:var(--text); }
button,input,textarea,select { font:inherit; color:inherit; }
button { cursor:pointer; }
.hidden { display:none!important; }
.gate { position:fixed; z-index:50; inset:0; min-height:100vh; padding:30px; display:grid; place-content:center; justify-items:center; text-align:center; background:var(--bg); }
.gate-mark { width:76px; height:76px; margin-bottom:22px; display:grid; place-items:center; position:relative; border-radius:23px; background:var(--accent); color:var(--accent-text); font:italic 900 38px Georgia,serif; }
.gate-mark span { position:absolute; right:10px; top:8px; font:900 12px Inter,sans-serif; }
.gate-mark.denied { background:color-mix(in srgb,#ff5570 15%,var(--surface)); color:#ff6b82; font:900 32px Inter,sans-serif; }
.gate-mark.channel { background:color-mix(in srgb,#42c782 15%,var(--surface)); color:#42c782; font:900 28px Inter,sans-serif; }
.spinner { width:23px; height:23px; margin-bottom:19px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; }
.gate h1 { margin:0 0 8px; font-size:23px; }
.gate>p:not(.eyebrow) { max-width:320px; margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.gate-actions { width:min(100%,330px); margin-top:22px; display:grid; gap:9px; }
@keyframes spin { to { transform:rotate(360deg); } }
.primary,.secondary { width:100%; min-height:48px; padding:11px 15px; border:0; border-radius:13px; font-weight:800; }
.primary { background:var(--accent); color:var(--accent-text); }
.secondary { background:var(--surface-2); }
.admin-shell { width:min(100%,720px); min-height:100vh; margin:0 auto; }
.admin-header { height:calc(68px + var(--safe-top)); padding:calc(12px + var(--safe-top)) 20px 8px; display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 95%,transparent); backdrop-filter:blur(16px); }
.admin-brand,.header-actions { display:flex; align-items:center; gap:10px; }
.admin-brand>span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--accent); color:var(--accent-text); font:italic 900 20px Georgia,serif; }
.admin-brand div { display:grid; }
.admin-brand small { color:var(--muted); font-size:7px; font-weight:900; letter-spacing:1.5px; }
.admin-brand strong { font-size:15px; }
.secure { padding:6px 8px; border-radius:999px; background:color-mix(in srgb,#42c782 13%,transparent); color:#42c782; font-size:8px; font-weight:850; }
.icon-button { width:40px; height:40px; border:0; border-radius:50%; background:var(--surface-2); font-size:18px; }
main { padding:24px 20px calc(40px + var(--safe-bottom)); }
.eyebrow { margin:0 0 4px; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:1.4px; }
.hero { margin-bottom:18px; }
.hero h1 { margin:0 0 5px; font-size:28px; letter-spacing:-.7px; }
.hero>p:last-child { margin:0; color:var(--muted); font-size:10px; }
.stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.stats-grid article { min-height:106px; padding:14px; display:grid; align-content:space-between; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.stats-grid span,.stats-grid small { color:var(--muted); font-size:9px; }
.stats-grid strong { margin:5px 0 1px; font-size:26px; }
.anon-strip { min-height:67px; margin:9px 0 28px; padding:12px 15px; display:grid; grid-template-columns:1fr 1px 1fr; align-items:center; gap:15px; border-radius:15px; background:var(--surface-2); }
.anon-strip div { display:grid; gap:4px; }
.anon-strip div:last-child { text-align:right; }
.anon-strip span { color:var(--muted); font-size:9px; }
.anon-strip strong { font-size:16px; }
.anon-strip i { width:1px; height:28px; background:var(--line); }
.dashboard-section { margin-top:28px; }
.section-head { margin-bottom:9px; display:flex; align-items:end; justify-content:space-between; }
.section-head h2 { margin:0; font-size:17px; }
.section-head>span { min-width:28px; height:28px; padding:0 8px; display:grid; place-items:center; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:9px; font-weight:800; }
.admin-list { display:grid; gap:7px; }
.admin-row { min-height:68px; padding:12px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:11px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.admin-row strong { display:block; margin-bottom:3px; font-size:11px; }
.admin-row p { margin:0; color:var(--muted); font-size:9px; }
.row-meta { text-align:right; }
.pill { display:inline-block; padding:5px 7px; border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:8px; font-weight:850; }
.pill.pending,.pill.rejected { background:color-mix(in srgb,#ff5570 13%,transparent); color:#ff6b82; }
.pill.approved { background:color-mix(in srgb,#42c782 13%,transparent); color:#42c782; }
.admin-row time { display:block; margin-top:5px; color:var(--muted); font-size:8px; }
.row-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; }
.row-action { min-height:36px; border:1px solid var(--line); border-radius:10px; background:transparent; color:var(--muted); font-size:9px; font-weight:850; }
.row-action.resolve { color:#42c782; }
.row-action.dismiss,.row-action.ban { color:#ff6b82; }
.row-action.ban { background:color-mix(in srgb,#ff5570 7%,transparent); }
.loading-row { min-height:70px; display:grid; place-items:center; color:var(--muted); font-size:10px; }
.broadcast-form { padding:14px; display:grid; gap:12px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.broadcast-form label { display:grid; gap:6px; position:relative; color:var(--muted); font-size:9px; font-weight:800; }
.broadcast-form select,.broadcast-form textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:12px; outline:0; background:var(--surface-2); resize:vertical; }
.broadcast-form textarea { padding-bottom:25px; }
.broadcast-form label>small { position:absolute; right:9px; bottom:8px; font-weight:500; }
.toast { position:fixed; z-index:80; left:50%; bottom:calc(20px + var(--safe-bottom)); transform:translateX(-50%); max-width:calc(100% - 36px); padding:10px 15px; border-radius:12px; background:var(--text); color:var(--bg); font-size:10px; font-weight:800; }
@media(min-width:600px){ main{padding-inline:28px}.stats-grid{grid-template-columns:repeat(4,1fr)} }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important}}
