:root{--bg:#f3f7f8;--panel:#fff;--ink:#172126;--muted:#68777e;--line:#dce6e9;--aqua:#08b8ca;--aqua-dark:#087f91;--nav:#10282e;--danger:#d74343;--success:#16845b;--shadow:0 14px 40px rgba(22,50,57,.09)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:var(--aqua-dark);text-decoration:none}button,input,textarea,select{font:inherit}button,.button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;display:flex;flex-direction:column;padding:25px 18px;color:#fff;background:linear-gradient(180deg,#123139,#0c2228);box-shadow:8px 0 35px rgba(12,34,40,.18)}.brand{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 12px;padding:0 10px 28px;color:#fff}.brand>span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:27px;font-weight:900;background:linear-gradient(145deg,#33deeb,#05a7ba);box-shadow:0 9px 20px rgba(1,186,205,.24)}.brand strong{align-self:end;font-size:19px}.brand small{align-self:start;color:#a8c6cc}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:13px 15px;border-radius:11px;color:#c9dadd;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(63,218,232,.14)}.sidebar-account{margin-top:auto;padding:17px 13px;border-top:1px solid rgba(255,255,255,.13)}.sidebar-account strong,.sidebar-account small{display:block}.sidebar-account small{margin:3px 0 13px;color:#9bb9bf}.sidebar-account button{padding:0;border:0;color:#d9e8ea;background:transparent}.main{min-height:100vh;margin-left:255px;padding:0 38px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:104px}.topbar p{margin:0 0 4px;color:var(--aqua-dark);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.topbar h1{margin:0;font-size:30px}.topbar>a{padding:10px 15px;border:1px solid var(--line);border-radius:10px;background:#fff}.panel{margin-bottom:24px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:var(--shadow)}.panel.narrow{max-width:650px}.panel-head{padding:22px 24px;border-bottom:1px solid var(--line)}.panel-head.split{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel-head h2{margin:0;font-size:20px}.panel-head p{margin:5px 0 0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stats>*{padding:22px;border:1px solid var(--line);border-radius:15px;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.stats span,.stats strong{display:block}.stats span{color:var(--muted);font-size:14px}.stats strong{margin-top:9px;font-size:34px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:#f9fbfb}tbody tr:last-child td{border-bottom:0}td strong,td small{display:block}td small{margin-top:3px;color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#edf2f3}.badge.admin{color:#a85b00;background:#fff0d6}.badge.verified{color:#08728c;background:#dff7fb}.badge.danger{color:#a51f29;background:#ffe1e3}.badge.ok{color:#116b4c;background:#dcf5e9}.button,.primary,.danger-button,.small-danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;font-weight:750}.button{padding:9px 13px;border:1px solid var(--line);color:#33464c;background:#fff}.primary{padding:12px 18px;color:#fff;background:linear-gradient(135deg,var(--aqua),#078fa2);box-shadow:0 8px 18px rgba(8,184,202,.18)}.danger-button{padding:12px 18px;color:#fff;background:var(--danger)}.small-danger{padding:8px 10px;color:#a51f29;background:#ffe1e3}.flash{margin:0 0 20px;padding:13px 16px;border-radius:11px;font-weight:650}.flash.success{color:#106c4b;border:1px solid #aee0cb;background:#e4f8ef}.flash.error{color:#9e2730;border:1px solid #efb6bb;background:#fff0f1}.stack,.community-form{display:grid;gap:17px;padding:24px}.stack label,.community-form label,.upload-panel>label{display:grid;gap:7px;font-weight:700}.stack small,.community-form small{color:var(--muted);font-weight:400}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cbd9dd;border-radius:9px;color:var(--ink);background:#fff;outline:0}input:focus,textarea:focus,select:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(8,184,202,.12)}textarea{min-height:105px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:11px}.check{display:flex!important;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:11px}.check input{width:auto;margin-top:4px}.check span,.check strong,.check small{display:block}.actions{display:flex;justify-content:flex-end;gap:12px}.search{display:flex;gap:9px}.search input{min-width:280px}.search button{padding:9px 13px;border:0;border-radius:9px}.pager{display:flex;justify-content:center;align-items:center;gap:14px;padding:18px}.empty{padding:28px;color:var(--muted);text-align:center}.breadcrumbs{display:flex;gap:9px;margin:-6px 0 18px;color:var(--muted)}.user-summary{display:flex;justify-content:space-between;align-items:center;padding:22px}.user-summary>div:first-child{display:flex;align-items:center;gap:17px}.user-summary img{width:82px;height:82px;border:1px solid var(--line);border-radius:15px;object-fit:cover}.user-summary h2,.user-summary p{margin:0}.user-summary p{margin-top:5px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.warning-form{display:grid;grid-template-columns:180px 1fr auto;align-items:start;gap:13px;padding:24px}.warning-form textarea{min-height:90px}.ban-info{margin:24px;padding:16px;border-radius:10px;background:#fff4f4}.ban-info p{margin:6px 0}.danger-zone{border-color:#efc3c6}.timeline{display:grid;gap:0}.timeline article{padding:18px 24px;border-bottom:1px solid var(--line)}.timeline article:last-child{border-bottom:0}.timeline p{margin:8px 0}.timeline small{color:var(--muted)}.upload-panel{padding-bottom:24px}.upload-panel>.form-grid,.upload-panel>.primary,.upload-panel>.upload-result{margin:22px 24px 0}.dropzone{margin:22px 24px 0;padding:30px;border:2px dashed #afd2d8;border-radius:14px;text-align:center;background:#f7fcfc}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone span{color:var(--muted);font-weight:400}.upload-result{padding:0}.upload-result.success{padding:13px;border-radius:10px;color:#106c4b;background:#e4f8ef}.upload-result.error{padding:13px;border-radius:10px;color:#9e2730;background:#fff0f1}.thumb{width:70px;height:48px;border-radius:8px;object-fit:cover;background:#e7eff1}.auth-page{display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top,#d9fbfd 0,#f3f7f8 48%)}.auth-card{width:min(430px,100%);padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 28px 70px rgba(20,66,75,.15)}.auth-logo{width:64px;height:64px;display:grid;place-items:center;margin-bottom:22px;border-radius:20px;color:#fff;font-size:34px;font-weight:900;background:linear-gradient(145deg,#33deeb,#05a7ba)}.auth-card .eyebrow{margin:0;color:var(--aqua-dark);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.auth-card h1{margin:7px 0 8px}.auth-card .muted{color:var(--muted)}.auth-card .stack{padding:14px 0 0}.auth-card .button{margin-top:12px}.auth-card .flash{margin-top:18px}
@media(max-width:1000px){.sidebar{position:static;width:auto;min-height:auto}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar-account{display:none}.main{margin:0;padding:0 18px 40px}.stats{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.topbar{min-height:90px}}@media(max-width:650px){.sidebar nav{grid-template-columns:1fr 1fr}.stats,.form-grid,.checks{grid-template-columns:1fr}.panel-head.split{align-items:stretch;flex-direction:column}.search{flex-direction:column}.search input{min-width:0}.warning-form{grid-template-columns:1fr}.topbar>a{display:none}.user-summary{align-items:flex-start;gap:12px}.main{padding-inline:10px}.auth-card{padding:25px}}


/* Discord community announcements */
.discord-announcement-form{display:grid;gap:22px;padding:24px}.announcement-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px}.announcement-controls label{display:grid;gap:7px;font-weight:700}.announcement-status{min-width:230px;display:grid;justify-items:end;gap:7px}.announcement-status small{color:var(--muted)}.discord-preview{padding:24px;border-radius:14px;color:#dbdee1;background:#313338}.discord-content{margin:0 0 12px;font-size:21px;font-weight:800;color:#f2f3f5}.discord-embed{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:14px;max-width:650px;padding:16px;border-left:4px solid var(--danger);border-radius:4px;background:#2b2d31}.discord-copy{min-width:0}.discord-copy>a{display:block;color:#00a8fc;font-size:19px;font-weight:750}.discord-copy>p{margin:7px 0 15px;white-space:pre-wrap}.discord-icon{grid-column:2;width:80px;height:80px;border-radius:8px;object-fit:cover}.discord-icon[hidden],.discord-banner[hidden]{display:none}.discord-fields{display:flex;gap:40px;margin:8px 0 14px}.discord-fields span{display:grid;gap:2px}.discord-fields small,.discord-footer{color:#b5bac1}.discord-fields strong{color:#f2f3f5}.discord-banner{grid-column:1/3;width:100%;max-height:250px;border-radius:5px;object-fit:cover}.announcement-note{display:grid;gap:3px;padding:14px 16px;border:1px solid #b9dce1;border-radius:11px;color:#31545b;background:#f2fbfc}.announcement-note span{color:var(--muted)}.primary:disabled{cursor:not-allowed;opacity:.5}@media(max-width:750px){.announcement-controls{grid-template-columns:1fr}.announcement-status{min-width:0;justify-items:start}.discord-preview{padding:14px}.discord-embed{grid-template-columns:minmax(0,1fr) 60px}.discord-icon{width:58px;height:58px}.discord-fields{gap:18px;flex-wrap:wrap}}


/* Reports workflow */
.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.report-filters{display:flex;gap:8px;flex-wrap:wrap}.report-filters .active{color:#fff;border-color:var(--aqua-dark);background:var(--aqua-dark)}.report-list{display:grid;gap:16px;padding:20px}.report-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.report-card>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:#f5f9fa}.report-card>header>div{display:flex;align-items:center;gap:10px}.report-card time{color:var(--muted);font-size:13px}.report-status.pending{color:#9b5e00;background:#fff0ce}.report-status.reviewing{color:#126780;background:#dff5fa}.report-status.actioned{color:#116b4c;background:#dcf5e9}.report-status.dismissed{color:#5c6870;background:#e8edef}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:17px}.report-grid>div{display:grid;gap:3px}.report-grid small{color:var(--muted)}.report-card blockquote{margin:0 17px 17px;padding:14px 16px;border-left:4px solid var(--aqua);border-radius:0 9px 9px 0;white-space:pre-wrap;background:#f0f7f8}.report-resolution{margin:0;padding:0 17px 17px;color:#42545a}.report-actions{display:grid;gap:11px;padding:17px;border-top:1px solid var(--line)}.report-actions textarea{min-height:70px}.report-actions>div{display:flex;gap:9px;flex-wrap:wrap}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}.panel-head.split{align-items:flex-start;flex-direction:column}}

/* Moderation appeals admin */
.appeal-list{display:grid;gap:16px;padding:20px}.appeal-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.appeal-card>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:#f5f9fa}.appeal-card>header>div{display:flex;align-items:center;gap:10px}.appeal-card time{color:var(--muted);font-size:13px}.appeal-status.pending{color:#9b5e00;background:#fff0ce}.appeal-status.reviewing{color:#126780;background:#dff5fa}.appeal-status.accepted{color:#116b4c;background:#dcf5e9}.appeal-status.rejected{color:#a51f29;background:#ffe1e3}.appeal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:17px}.appeal-grid>div{display:grid;gap:3px}.appeal-grid small{color:var(--muted)}.appeal-warning{margin:0 17px 14px;padding:13px 15px;border-radius:9px;background:#fff5df}.appeal-warning p{margin:6px 0 0;white-space:pre-wrap}.appeal-card blockquote{margin:0 17px 17px;padding:14px 16px;border-left:4px solid var(--aqua);border-radius:0 9px 9px 0;white-space:pre-wrap;background:#f0f7f8}.appeal-response{margin:0;padding:0 17px 17px;color:#42545a}.appeal-actions{display:grid;gap:11px;padding:17px;border-top:1px solid var(--line)}.appeal-actions textarea{min-height:80px}.appeal-actions>div{display:flex;gap:9px;flex-wrap:wrap}@media(max-width:1100px){.appeal-grid{grid-template-columns:1fr}}
.danger-panel{border:2px solid var(--danger);background:rgba(220,38,38,.06)}.danger-panel .panel-head h2{color:var(--danger)}.danger-panel .panel-head p{color:var(--danger);opacity:.8}.danger-panel label{font-weight:700;display:grid;gap:7px}.danger-panel input[type=text]{padding:10px 14px;border:1px solid var(--danger);border-radius:8px;font-size:15px}
