:root{--ink:#111314;--muted:#6e716f;--line:#dedfd9;--paper:#f4f4ef;--panel:#fff;--accent:#ff6038;--accent-soft:#fff0eb;--green:#189a68;--shadow:0 18px 60px rgba(26,28,27,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}
.adminSkip{position:fixed;top:10px;left:10px;z-index:1000;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:#111;color:#fff}.adminSkip:focus{transform:none}
.adminHeader{height:72px;padding:0 max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(17,19,20,.09);background:rgba(244,244,239,.92);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}
.adminBrand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:900;font-size:20px;letter-spacing:-.06em}.adminBrand svg{width:35px;height:35px}.adminBrand em{margin-left:3px;padding:5px 8px;border-radius:6px;background:#17191a;color:#fff;font-style:normal;font-size:10px;letter-spacing:.04em}
.adminHeaderActions{display:flex;align-items:center;gap:18px}.adminHeaderActions a{font-size:13px;color:#565a57;text-decoration:none}.adminHeaderActions button{border:0;background:transparent;color:#8a4d3d;font-size:13px}
main{min-height:calc(100vh - 72px)}.adminShell{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:50px 0 80px}
.adminHero{position:relative;overflow:hidden;min-height:330px;padding:58px 62px;display:flex;align-items:flex-end;justify-content:space-between;border-radius:28px;color:#fff;background:radial-gradient(circle at 83% 28%,rgba(255,96,56,.38),transparent 24%),linear-gradient(135deg,#121415,#1c201e 63%,#27211f);box-shadow:var(--shadow)}
.adminHero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 46%,rgba(255,255,255,.03) 46.5%,transparent 47%);pointer-events:none}.heroEyebrow{display:flex;align-items:center;gap:8px;margin-bottom:22px;font-size:11px;font-weight:800;letter-spacing:.14em;color:#b7bdb8}.heroEyebrow i{width:7px;height:7px;border-radius:50%;background:#52d691;box-shadow:0 0 0 5px rgba(82,214,145,.1)}
.adminHero h1{margin:0;font-size:clamp(40px,5vw,70px);line-height:1.04;letter-spacing:-.075em}.adminHero h1 em{font-style:normal;color:#ff7b59}.adminHero p{max-width:550px;margin:22px 0 0;color:#aeb4b0;font-size:16px;line-height:1.7}.adminHeroMeta{position:relative;z-index:1;min-width:160px;padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.055);backdrop-filter:blur(8px)}.adminHeroMeta span{display:block;color:#9da39f;font-size:11px}.adminHeroMeta strong{display:block;margin:5px 0 15px;font-size:28px}.adminHeroMeta button{width:100%;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:9px;color:#fff;background:rgba(255,255,255,.07)}
.adminStatus{min-height:24px;margin:16px 4px 4px;color:#727673;font-size:13px}.adminStatus[data-tone="success"]{color:#14764f}.adminStatus[data-tone="error"]{color:#b53b25}
.adminSection{margin-top:28px;padding:32px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:0 8px 35px rgba(27,29,28,.035)}.adminSectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.adminSectionHead>div>span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--accent)}.adminSectionHead h2{margin:5px 0 0;font-size:26px;letter-spacing:-.055em}.adminSectionHead>p{margin:0;color:#858986;font-size:13px}
.metricCards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metricCards article{padding:23px;border:1px solid #e5e6e1;border-radius:15px;background:#fafaf7}.metricCards article.accent{border-color:#ffd2c5;background:var(--accent-soft)}.metricCards span{display:block;color:#696d6a;font-size:12px;font-weight:700}.metricCards strong{display:block;margin:7px 0 5px;font-size:34px;letter-spacing:-.055em}.metricCards small{color:#a0a39f;font-size:10px}
.trafficPanel{margin-top:14px;padding:26px;border:1px solid #e7e8e3;border-radius:16px}.trafficHead{display:flex;justify-content:space-between;align-items:start}.trafficHead h3{margin:0 0 5px;font-size:16px}.trafficHead p{margin:0;color:#929590;font-size:11px}.trafficHead>span{color:#777b77;font-size:11px}.trafficChart{height:230px;margin-top:24px;padding-top:20px;display:flex;align-items:stretch;gap:5px;border-bottom:1px solid #dcddd7;overflow-x:auto;overflow-y:hidden}.chartDay{position:relative;min-width:24px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.chartDay i{width:min(17px,70%);height:var(--bar-height,3%);min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#ff7b59,#ff6038);transition:height .45s ease,filter .2s}.chartDay:hover i{filter:saturate(1.2) brightness(.93)}.chartDay small{height:24px;padding-top:7px;white-space:nowrap;color:#a0a39f;font-size:8px}.chartValue{position:absolute;bottom:calc(var(--bar-height,3%) + 28px);font-size:8px;color:#747874}
.chartDay.bar5{--bar-height:5%}.chartDay.bar10{--bar-height:10%}.chartDay.bar15{--bar-height:15%}.chartDay.bar20{--bar-height:20%}.chartDay.bar25{--bar-height:25%}.chartDay.bar30{--bar-height:30%}.chartDay.bar35{--bar-height:35%}.chartDay.bar40{--bar-height:40%}.chartDay.bar45{--bar-height:45%}.chartDay.bar50{--bar-height:50%}.chartDay.bar55{--bar-height:55%}.chartDay.bar60{--bar-height:60%}.chartDay.bar65{--bar-height:65%}.chartDay.bar70{--bar-height:70%}.chartDay.bar75{--bar-height:75%}.chartDay.bar80{--bar-height:80%}.chartDay.bar85{--bar-height:85%}.chartDay.bar90{--bar-height:90%}.chartDay.bar95{--bar-height:95%}.chartDay.bar100{--bar-height:100%}
.boardPermissions{display:grid;gap:10px}.boardPermissionCard{display:grid;grid-template-columns:minmax(210px,1.7fr) repeat(3,minmax(112px,.75fr)) minmax(95px,.65fr) 92px;gap:12px;align-items:end;padding:17px;border:1px solid #e3e4de;border-radius:14px;background:#fbfbf8}.boardIdentity span{color:var(--accent);font-size:9px;font-weight:900;text-transform:uppercase}.boardIdentity h3{margin:3px 0 4px;font-size:16px}.boardIdentity p{margin:0;color:#939691;font-size:10px;line-height:1.4}.boardPermissionCard label>span{display:block;margin-bottom:6px;color:#737773;font-size:10px;font-weight:700}.boardPermissionCard select{width:100%;height:40px;padding:0 9px;border:1px solid #dfe0da;border-radius:9px;background:#fff;color:#292c2a;font-size:12px}.boardActive{height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dfe0da;border-radius:9px;background:#fff}.boardActive input{accent-color:var(--accent)}.boardActive span{margin:0!important;white-space:nowrap}.boardPermissionCard>button,.moderationRow button{height:40px;border:0;border-radius:9px;background:#202321;color:#fff;font-size:11px;font-weight:800;transition:transform .2s,background .2s}.boardPermissionCard>button:hover,.moderationRow button:hover{transform:translateY(-1px);background:#080909}.boardPermissionCard button:disabled,.roleToggle:disabled,.moderationRow button:disabled{cursor:wait;opacity:.55}
.adminColumns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.memberRoles,.moderationList{max-height:590px;overflow:auto;padding-right:4px}.memberRow,.moderationRow{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ecece7}.memberRow:first-child,.moderationRow:first-child{padding-top:0}.memberAvatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#181b19;color:#fff;font-size:13px;font-weight:900}.memberIdentity{min-width:0;flex:1}.memberIdentity b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.memberIdentity span{display:block;margin-top:4px;color:#9a9d99;font-size:9px}.memberRoleActions{display:flex;gap:5px}.roleToggle{padding:7px 8px;border:1px solid #dddeda;border-radius:8px;background:#fff;color:#696d69;font-size:9px}.roleToggle.active{border-color:#ffc4b4;color:#bd4022;background:#fff3ef}
.moderationRow{align-items:flex-start;justify-content:space-between}.moderationRow>div{min-width:0}.moderationRow h3{margin:7px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.moderationRow small{color:#989b97;font-size:9px}.moderationRow button{height:34px;min-width:78px;margin-left:12px;background:#ecece7;color:#4b4f4b}.moderationRow button:hover{background:#dedfd8}.contentState{display:inline-block;margin-right:6px;padding:3px 6px;border-radius:5px;background:#e7f6ee;color:#178357;font-size:8px;font-weight:900}.contentState.hidden{background:#f1f1ed;color:#81847f}
.auditSection{background:#191c1a;color:#fff;border-color:#191c1a}.auditSection .adminSectionHead p{color:#838984}.auditList{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;list-style:none;background:#333734;border:1px solid #333734;border-radius:13px;overflow:hidden}.auditList li{display:flex;align-items:center;gap:11px;padding:15px;background:#202321}.auditIcon{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#ff7552}.auditList b{display:block;font-size:11px}.auditList span:not(.auditIcon){display:block;margin-top:3px;color:#858b86;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.adminEmpty{padding:36px 20px;text-align:center;color:#91948f;font-size:12px;border:1px dashed #dfe0da;border-radius:12px}
.reportQueue{display:grid;gap:10px}.reportRow{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px;border:1px solid #e6e7e2;border-radius:13px}.reportIdentity{min-width:0}.reportIdentity span,.reportIdentity small{color:#92958f;font-size:9px}.reportIdentity h3{margin:4px 0;font-size:14px}.reportIdentity p{margin:0 0 6px;line-height:1.5;font-size:11px;overflow-wrap:anywhere}.reportActions{display:flex;gap:5px;flex:0 0 auto}.reportActions button{padding:8px 10px;border:1px solid #d9dad5;border-radius:9px;background:#fff;font-size:9px}.reportActions button:first-child{border-color:#ffb49f;background:#fff1ec;color:#b63b20}
.adminGate{width:min(560px,calc(100% - 40px));min-height:calc(100vh - 72px);margin:0 auto;padding:80px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.adminGate h1{margin:18px 0 10px;font-size:32px;letter-spacing:-.06em}.adminGate p{max-width:480px;margin:0;color:#7e827e;line-height:1.7;font-size:14px}.adminLoader{width:42px;height:42px;border:3px solid #ddd;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.gateEyebrow{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.16em}.adminSocial{width:min(360px,100%);display:grid;gap:8px;margin-top:28px}.adminSocial button{height:48px;border:1px solid #dadbd6;border-radius:11px;background:#fff;color:#202321;font-weight:800}.adminSocial .kakao{border-color:#fee500;background:#fee500}.adminSocial .naver{border-color:#03c75a;background:#03c75a;color:#fff}.adminGate>small{min-height:20px;margin-top:12px;color:#b23d27}.gateLock{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#1b1e1c;color:#fff;font-weight:900}.adminGate.denied div{display:flex;gap:8px;margin-top:26px}.adminGate.denied a,.adminGate.denied button{padding:12px 16px;border:0;border-radius:9px;text-decoration:none;background:#1b1e1c;color:#fff;font-size:12px}.adminGate.denied button{background:#e4e4de;color:#333}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.metricCards{grid-template-columns:repeat(2,1fr)}.boardPermissionCard{grid-template-columns:1.4fr repeat(3,1fr)}.boardActive{grid-column:2/4}.boardPermissionCard>button{grid-column:4}.adminColumns{grid-template-columns:1fr}.auditList{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.adminHeader{height:62px;padding:0 16px}.adminBrand{font-size:18px}.adminBrand svg{width:32px}.adminHeaderActions a{display:none}.adminHeaderActions{gap:5px}.adminShell{width:calc(100% - 24px);padding:18px 0 50px}.adminHero{min-height:420px;padding:30px 24px;display:block;border-radius:20px}.adminHero h1{font-size:41px}.adminHero p{font-size:13px}.adminHeroMeta{position:absolute;left:24px;right:24px;bottom:24px}.adminSection{margin-top:16px;padding:20px 15px;border-radius:16px}.adminSectionHead{display:block;margin-bottom:18px}.adminSectionHead h2{font-size:22px}.adminSectionHead>p{margin-top:7px;line-height:1.5}.metricCards{gap:8px}.metricCards article{padding:17px 14px}.metricCards strong{font-size:27px}.trafficPanel{padding:18px 12px}.trafficHead{display:block}.trafficHead>span{display:block;margin-top:5px}.trafficChart{height:190px}.chartDay{min-width:21px}.boardPermissionCard{grid-template-columns:repeat(2,1fr);padding:15px}.boardIdentity{grid-column:1/-1}.boardPermissionCard label:nth-of-type(3){grid-column:1/2}.boardActive{grid-column:2/3}.boardPermissionCard>button{grid-column:1/-1}.memberRow{align-items:flex-start;flex-wrap:wrap}.memberIdentity{min-width:calc(100% - 55px)}.memberRoleActions{width:100%;padding-left:50px}.moderationRow h3{max-width:210px}.auditList{grid-template-columns:1fr}.adminGate{padding:50px 0}.adminGate h1{font-size:28px}}
@media(max-width:720px){.reportRow{display:block}.reportActions{margin-top:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.adminLoader{animation-duration:2s}.chartDay i{transition:none}}
.adminSocial button:disabled{border-color:#deded9;background:#ecece8;color:#a4a7a4;cursor:not-allowed}.adminGate>.adminProviderNotice{color:#777d78}.adminEmailForm{width:min(360px,100%);display:grid;gap:7px;margin-top:16px;border-top:1px solid #ddd;padding-top:16px;text-align:left}.adminEmailForm label{color:#606660;font-size:11px;font-weight:800}.adminEmailForm>div{display:grid;grid-template-columns:1fr auto;gap:7px}.adminEmailForm input{min-width:0;height:46px;border:1px solid #d7d9d5;border-radius:10px;padding:0 11px}.adminEmailForm button{border:0;border-radius:10px;background:#1b1e1c;padding:0 12px;color:#fff;font-weight:800}.adminEmailForm small{min-height:16px;margin-top:0;color:#397555;text-align:left}
