:root{--bg-main:#50727b;--bg-card:#344955;--bg-dark:#35374b;--bg-input:#5f8691;--bg-card-hover:#3f5d67;--bg-dark-hover:#44465c;--accent:#78ac83;--accent-hover:#88be93;--text-main:#fff;--text-soft:#ffffffd1;--text-muted:#ffffffad;--border-soft:#ffffff1f;--error-bg:#9e3d3d38;--error-text:#ffd2d2;--shadow-card:0 8px 24px #00000040;--shadow-hover:0 5px 14px #00000040;--shadow-list:0 6px 18px #0003;--shadow-list-hover:0 10px 26px #00000059;--radius-card:14px;--radius-input:10px;--radius-pill:999px;--status-dot-border:#466874;--secondary-hover:#6b98a3;--status-online:#22c55e}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg-main);color:var(--text-main);flex-direction:column;font-family:system-ui,sans-serif;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}input,textarea{border-radius:var(--radius-input);background:var(--bg-input);width:100%;color:var(--text-main);font:inherit;border:none;outline:none;padding:12px 14px}input::placeholder,textarea::placeholder{color:var(--text-soft)}input:focus,textarea:focus{box-shadow:inset 0 0 0 2px var(--accent)}textarea{resize:none}hr{background:var(--border-soft);border:none;height:1px}.header{background:var(--bg-card);grid-template-columns:1fr auto 1fr;align-items:center;padding:12px clamp(12px,4vw,30px);display:grid}.headerLeft{justify-self:start}.headerCenter{justify-self:center;gap:25px;display:flex}.headerRight{justify-self:end;align-items:center;gap:8px;display:flex}.logo{color:#fff;font-size:1.4rem;font-weight:700;text-decoration:none}.header a{color:#fff;border-radius:6px;padding:6px 10px;font-weight:500;text-decoration:none;transition:background .15s}.header a:hover{background:#ffffff1f}.header .headerAvatar{border-radius:50%;align-items:center;padding:3px;display:inline-flex}.headerAvatar img{object-fit:cover;border-radius:50%;display:block}.main{flex:1;min-width:0;padding:30px 20px;overflow-y:auto}.pageShellNarrow{max-width:520px;margin:clamp(20px,6vh,60px) auto;padding:0 20px}.pageList{max-width:700px;margin:clamp(16px,4vh,40px) auto;padding:0 20px}.card{background:var(--bg-card);border-radius:var(--radius-card);color:var(--text-main);box-shadow:var(--shadow-card);padding:clamp(16px,4vw,30px)}.interactiveCard{background:var(--bg-card);border-radius:var(--radius-card);color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-list);border:none;flex:1;justify-content:space-between;align-items:center;padding:20px 24px;transition:transform .15s,box-shadow .2s,background .2s;display:flex}.interactiveCard:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-list-hover);transform:translateY(-3px)}.cardPrimary{flex:1}.cardSecondary{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.itemList{flex-direction:column;gap:18px;display:flex}.itemRow{align-items:stretch;gap:12px;display:flex}.sectionTitle{margin:10px 0 14px;font-size:1.2rem;font-weight:700}.empty{text-align:center;padding:30px;font-size:1.2rem}.pageActions{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.itemName{letter-spacing:.5px;font-size:1.2rem;font-weight:700}.itemMeta{color:var(--text-muted);font-size:.8rem}.primaryButton,.secondaryButton,.dangerButton{border-radius:var(--radius-pill);color:#fff;border:none;padding:10px 22px;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s;display:inline-block}.primaryButton{background:var(--accent)}.primaryButton:hover{background:var(--accent-hover);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.secondaryButton{background:var(--bg-input)}.secondaryButton:hover{background:var(--secondary-hover);transform:translateY(-2px)}.dangerButton{background:#b45151}.dangerButton:hover{box-shadow:var(--shadow-hover);background:#c76262;transform:translateY(-2px)}.textButton{color:var(--text-soft);background:0 0;border:none;padding:0}.textButton:hover{text-decoration:underline}.actionButton{background:var(--bg-dark);min-width:88px;color:var(--text-main);cursor:pointer;border:none;border-radius:12px;padding:0 16px;font-weight:600;transition:background .15s,transform .1s}.actionButton:hover{background:var(--bg-dark-hover);transform:translateY(-2px)}.activeToggle{background:var(--accent)!important}.formStack{flex-direction:column;gap:14px;display:flex}.inputGroup{flex-direction:column;gap:4px;display:flex}.input{border:1px solid var(--border-soft)}.inputError{border-color:#d9534f}.inputHint{color:#d9534f;font-size:.8rem}.buttonDisabled{opacity:.5;cursor:not-allowed}.buttonLoading{opacity:.7;cursor:not-allowed;align-items:center;gap:8px;display:inline-flex}.buttonLoading:before{content:"";border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.centerText{text-align:center}.pageTitle{letter-spacing:.4px;text-align:center;margin:0 0 22px;font-size:1.7rem;font-weight:700}.divider{margin:26px 0 10px}.errorBox{background:var(--error-bg);color:var(--error-text);border-radius:10px;margin-top:18px;padding:12px 14px;font-weight:700}.statusBox{color:var(--text-soft);margin:16px 0}.loadingText{color:var(--text-soft);text-align:center}.appShell{flex:1;min-height:0;display:flex;overflow:hidden}.onlineRail{background:var(--bg-dark);border-right:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;align-items:center;gap:12px;width:56px;padding:12px 6px;display:flex}@media (max-width:600px){.itemRow{flex-wrap:wrap}.itemRow .interactiveCard{width:100%}.onlineRail{border-right:none;border-top:1px solid var(--border-soft);z-index:100;flex-direction:row;gap:10px;width:100%;height:56px;padding:0 12px;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.main{padding-bottom:72px}.railTooltip{top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}}.onlineRail a{line-height:0;display:block;position:relative}.railTooltip{background:var(--bg-dark);color:var(--text-main);white-space:nowrap;pointer-events:none;opacity:0;z-index:100;box-shadow:var(--shadow-card);border:1px solid var(--border-soft);border-radius:8px;padding:5px 12px;font-size:.82rem;font-weight:600;line-height:1.4;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.onlineRail a:hover .railTooltip{opacity:1}.onlineRail img{object-fit:cover;border-radius:50%;transition:transform .15s,box-shadow .2s;display:block}.onlineRail img:hover{box-shadow:0 0 0 2px var(--accent);transform:scale(1.1)}.headerDivider{color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 4px}.siteStatGrid{flex-wrap:wrap;gap:16px;display:flex}.siteStatCard{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;align-items:center;gap:6px;min-width:120px;padding:24px 32px;display:flex}.siteStatValue{font-size:2rem;font-weight:700}.siteStatLabel{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.siteInfoRow{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.siteInfoRow:last-child{border-bottom:none}.siteBadgeUp{color:#22c55e;border-radius:var(--radius-pill);background:#22c55e2e;padding:3px 10px;font-size:.8rem;font-weight:700}.siteBadgeDown{background:var(--error-bg);color:var(--error-text);border-radius:var(--radius-pill);padding:3px 10px;font-size:.8rem;font-weight:700}.onlineRail .onlineDot{background:var(--status-online);border:2px solid var(--status-dot-border);border-radius:50%;width:8px;height:8px;position:absolute;bottom:0;right:0}.adminHubGrid{flex-direction:column;gap:14px;display:flex}.adminHubCard{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-list);flex-direction:column;gap:4px;padding:24px 30px;transition:transform .15s,box-shadow .2s,background .2s;display:flex}.adminHubCard:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-list-hover);transform:translateY(-3px)}.adminPaginationBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.adminSizeSelector{gap:6px;display:flex}.adminPageControls{align-items:center;gap:10px;display:flex}.adminUserRow{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-list);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.adminRoleBadge{background:var(--bg-dark);color:var(--text-soft);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;margin-left:8px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.adminActions{flex-wrap:wrap;gap:8px;display:flex}.adminBanMeta{flex-direction:column;gap:2px;margin-top:4px;display:flex}
