:root{color:#dce5f0;font-synthesis:none;background:#0c131f;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:#0c131f;min-width:320px;margin:0}button,.button,input{font:inherit}button,.button{color:#111722;cursor:pointer;background:#f0bd58;border:1px solid #344258;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.2rem;font-weight:750;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline-offset:3px;outline:3px solid #f0bd58}.skip-link{z-index:10;color:#07101a;background:#f0bd58;padding:.65rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:none}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#0b111c;border-right:1px solid #263247;flex-direction:column;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.brand{gap:.12rem;padding:0 .65rem;display:grid}.brand span{color:#738198;letter-spacing:.14em;font-size:.68rem;font-weight:850}.brand strong{color:#f0bd58;letter-spacing:-.04em;font-size:1.3rem}.brand small,.sidebar-account small{color:#8795aa;font-size:.72rem}.sidebar nav{gap:.35rem;margin-top:2.5rem;display:grid}.sidebar nav button{color:#99a7ba;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:24px 1fr auto;align-items:center;width:100%;min-height:44px;padding:.65rem .85rem;font-weight:750;text-decoration:none;display:grid}.sidebar nav button:hover{color:#edf2f8;background:#121c2c}.sidebar nav button.active{color:#fff;background:#1b2940;border-color:#33445f}.sidebar nav b{color:#111722;background:#f0bd58;border-radius:999px;padding:.08rem .45rem;font-size:.7rem}.sidebar-account{border-top:1px solid #263247;align-items:center;gap:.7rem;margin-top:auto;padding:1rem .5rem 0;display:flex}.sidebar-account>div{gap:.15rem;display:grid}.avatar{color:#101621;background:#f0bd58;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font-weight:850;display:grid}.workspace{min-width:0}main{width:min(1180px,100% - 3rem);margin:0 auto;padding:2rem 0 4rem}.topbar,.section-heading,.operator,.switch-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.bulk-actions{justify-content:flex-end;gap:.6rem;margin:1rem 0;display:flex}.button-spinner{vertical-align:-.1rem;border:2px solid;border-right-color:#0000;border-radius:50%;width:.85rem;height:.85rem;margin-right:.45rem;animation:.8s linear infinite spin;display:inline-block}.topbar{background:#0c131f;border-bottom:1px solid #263247;min-height:92px;padding:1.1rem 2rem}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:0;font-family:Pretendard,Noto Sans KR,sans-serif;font-size:1.55rem;line-height:1.1}h2{margin-bottom:1.25rem;font-size:1.45rem}.eyebrow{color:#8997aa;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem;font-size:.76rem;font-weight:800}.topbar p{color:#7f8da2;margin-bottom:.2rem;font-size:.72rem}.health-badge{border:1px solid;border-radius:999px;padding:.5rem .8rem}.health-badge.healthy{color:#85d6a7}.health-badge.degraded{color:#f8cf78;background:#3a3018}.health-badge.unavailable{color:#ffaaa6;background:#422326}.notice,.result{color:#d9c18f;background:#292415;border-left:3px solid #d7a94e;padding:.8rem 1rem}.card-grid,.content-grid{gap:1rem;display:grid}.card-grid{grid-template-columns:repeat(4,1fr);margin-bottom:3rem}.content-grid{grid-template-columns:1fr 1fr}.metric-card,.panel,.state-panel{background:#101927;border:1px solid #2d3a50;border-radius:12px;padding:1.4rem}.metric-card h3{color:#8997aa;font-size:.9rem;font-weight:650}.metric-card strong{font-family:Pretendard,Noto Sans KR,sans-serif;font-size:1.6rem}.metric-value{align-items:center;gap:.55rem;display:flex}.metric-value i{background:currentColor;border-radius:50%;flex:none;width:.62rem;height:.62rem}.metric-value.connected,.metric-value.published{color:#85d6a7}.metric-value.degraded,.metric-value.unknown,.metric-value.attention{color:#f8cf78}.metric-value.unavailable,.metric-value.failed{color:#ffaaa6}.metric-card p{color:#748297;margin:.65rem 0 0;font-size:.85rem}.switch-row{cursor:pointer;margin-bottom:1.25rem}.switch-row span,.switch-row small{display:block}.switch-row small{color:#8492a6;margin-top:.35rem}.switch-row input{accent-color:#f0bd58;width:1.35rem;height:1.35rem}.result{margin:1rem 0 0}.result.success{color:#8fe0b0;background:#153426;border-color:#67d391}.result.error{color:#ffaaa6;background:#422326;border-color:#ff827d}.audit-list{margin:0;padding:0;list-style:none}.audit-list li{border-top:1px solid #28364b;grid-template-columns:auto 1fr;gap:.35rem .75rem;padding:.85rem 0;display:grid}.audit-list time{color:#8c9aaf;grid-column:2;font-size:.84rem}.outcome{color:#fff;background:#52655f;border-radius:999px;align-self:start;padding:.18rem .45rem;font-size:.72rem;font-weight:800}.outcome.success{color:#8fe0b0;background:#153426}.outcome.denied,.outcome.failed{color:#ffaaa6;background:#422326}.empty{color:#8492a6}.operator-actions{align-items:center;gap:.75rem;display:flex}.secondary{color:#dce5f0;background:#182235;border-color:#344258}.riot-panel{grid-column:1/-1}.riot-list{margin:0;padding:0;list-style:none}.riot-list li{border-top:1px solid #28364b;grid-template-columns:minmax(12rem,1fr) minmax(18rem,2fr);gap:1rem;padding:1rem 0;display:grid}.riot-list span,.riot-list label{color:#8492a6;display:block}.riot-list form{align-items:end;gap:.75rem;display:flex}.riot-list input{width:100%;margin-top:.3rem;display:block}.wide-panel{margin-top:1rem}.text-button{color:#e5bd6c;background:0 0;border-color:#0000;margin-top:.75rem}.section-description{color:#8492a6}.pagination{color:#7f8da1;border-top:1px solid #28364b;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #28364b;padding:.85rem}th{color:#77869b;background:#0d1521;font-size:.82rem}td{color:#cbd5e1}code{color:#edc878;font-weight:800}.state-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.state-panel{text-align:center;width:min(580px,100%)}.state-panel h1{margin-bottom:1.25rem;font-size:clamp(1.55rem,5vw,2.2rem);line-height:1.2}.loading-spinner{border:4px solid #334158;border-top-color:#f0bd58;border-radius:50%;width:42px;height:42px;margin:1.5rem auto 0;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:radial-gradient(circle at 50% 15%,#5865f233,#0000 32rem),#0b111c;place-items:center;width:100%;min-height:100vh;padding:1.5rem;display:grid}.login-card{text-align:center;background:#111a28;border:1px solid #303d55;border-radius:18px;width:min(520px,100%);padding:clamp(2rem,7vw,3rem);box-shadow:0 28px 80px #0008}.login-card h1{white-space:nowrap;margin-bottom:1rem;font-size:clamp(1.8rem,6vw,2.6rem)}.discord-mark{color:#fff;background:#5865f2;border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 1.5rem;display:grid}.discord-mark svg{fill:currentColor;width:44px}.login-copy{color:#9ba9bc;margin-bottom:1.6rem;line-height:1.65}.discord-button{color:#fff;background:#5865f2;border-color:#6974f4;width:100%}.login-footnote{color:#9ba9bc;margin:1rem 0 0;font-size:.75rem}@media (width<=720px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #263247;border-right:0;width:100%;min-width:0;height:auto;padding:1rem;position:static}.sidebar nav{width:100%;min-width:0;margin-top:1rem;display:flex;overflow-x:auto}.sidebar nav button{flex:none;width:auto}.sidebar-account{display:none}.topbar{flex-direction:column;align-items:flex-start;padding:1rem}.operator-actions{justify-content:space-between;width:100%}.operator{justify-content:flex-start}.card-grid,.content-grid,.riot-list li{grid-template-columns:1fr}.riot-list form{flex-direction:column;align-items:stretch}table,thead,tbody,tr,th,td{display:block}thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}tr{border-bottom:1px solid #28364b;padding:.75rem 0}td{border:0;grid-template-columns:7rem 1fr;padding:.35rem 0;display:grid}td:before{content:attr(data-label);color:#718097;font-weight:700}}@media (width>=721px) and (width<=1100px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
