.webBody{margin:0;min-height:100vh;background:radial-gradient(circle at 74% 18%,rgba(var(--wein-accent-rgb),.14),transparent 28%),linear-gradient(145deg,#05070d,#0a0e17 54%,#070910);overflow:hidden}
#app{position:fixed;inset:0;display:grid;place-items:center}
#app.hidden{display:none!important}
#app .shell{position:relative;inset:auto;transform:none}
#app .pageHost{display:block!important;padding:20px;overflow:auto}
#app .sidebar nav{display:contents}
#app .brand .mark{display:grid;place-items:center}
#app .brand .mark .pngIcon{width:23px;height:23px}
.webAuthGate{position:fixed;z-index:50;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,rgba(144,67,238,.18),transparent 32%),#070a11}
.webAuthGate.hidden{display:none}
.webLoginCard{width:min(390px,calc(100vw - 36px));padding:34px;border:1px solid rgba(165,105,241,.22);border-radius:20px;background:linear-gradient(145deg,rgba(25,19,39,.98),rgba(10,12,20,.99));box-shadow:0 28px 80px rgba(0,0,0,.5);text-align:center}
.webLoginMark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border:1px solid rgba(177,119,255,.35);border-radius:18px;background:linear-gradient(135deg,var(--wein-accent),var(--wein-accent-2))}.webLoginMark .pngIcon{width:31px;height:31px;background-color:#fff!important}
.webLoginCard>small{color:var(--wein-accent);font-size:9px;font-weight:850;letter-spacing:1.6px}.webLoginCard h1{margin:8px 0;color:#f4eff8;font-size:25px}.webLoginCard p{margin:0 auto 22px;max-width:300px;color:#8d8397;font-size:11px;line-height:1.65}
.webLoginButton{display:flex;align-items:center;justify-content:center;gap:10px;height:45px;border:1px solid rgba(173,111,247,.35);border-radius:11px;background:linear-gradient(135deg,var(--wein-accent),var(--wein-accent-2));color:#fff;font-size:11px;font-weight:800;text-decoration:none}.webLoginButton .pngIcon{width:20px;height:20px;background-color:#fff!important}.webLoginButton:hover{filter:brightness(1.08)}
.webDevLogin{display:block;margin-top:10px;color:#a997b8;font-size:9px}.webLoginCard>em{display:block;margin-top:17px;color:#5f5767;font-size:8px;font-style:normal}.webSetupWarning{margin:0 0 15px;padding:10px;border:1px solid rgba(255,183,77,.24);border-radius:9px;background:rgba(193,119,25,.09);color:#e8b76f;font-size:9px;line-height:1.5;text-align:left}
.webPageTitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.webPageTitle div{display:grid;gap:4px}.webPageTitle h1{margin:0;color:var(--ui-text);font-size:19px}.webPageTitle p{margin:0;color:var(--ui-muted);font-size:9px}.webLive{display:flex;align-items:center;gap:7px;color:#55dfa0;font-size:8px}.webLive:before{content:"";width:7px;height:7px;border-radius:50%;background:#55dfa0;box-shadow:0 0 9px #55dfa0}.webLive.offline{color:#ff7387}.webLive.offline:before{background:#ff637c;box-shadow:0 0 9px #ff637c}
.webDashboardGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.webStatCard{display:flex;align-items:center;gap:12px;min-height:86px;padding:14px;border:1px solid var(--theme-border);border-radius:13px;background:linear-gradient(145deg,var(--ui-surface-2),var(--ui-surface))}.webStatCard>i{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;background:var(--theme-selected)}.webStatCard .pngIcon{width:21px;height:21px}.webStatCard div{display:grid;gap:3px}.webStatCard small{color:var(--ui-muted);font-size:7px;letter-spacing:.7px}.webStatCard b{color:var(--ui-text);font-size:19px}.webStatCard span{color:var(--ui-dim);font-size:7px}
.webDashboardColumns{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.webPanel{border:1px solid var(--theme-border);border-radius:14px;background:linear-gradient(145deg,var(--ui-surface),var(--ui-bg));overflow:hidden}.webPanelHead{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid var(--ui-border-soft)}.webPanelHead div{display:grid;gap:3px}.webPanelHead b{color:var(--ui-text);font-size:11px}.webPanelHead small{color:var(--ui-muted);font-size:8px}
.webRows{display:flex;flex-direction:column;gap:5px;max-height:520px;padding:9px;overflow:auto}.webRow{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(90px,.7fr) minmax(90px,.7fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:rgba(255,255,255,.022);color:var(--ui-text-2);font-size:9px}.webRow:hover{border-color:var(--theme-border);background:var(--theme-hover)}.webRow button{height:30px;padding:0 10px;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-selected);color:var(--ui-text);font-size:8px;cursor:pointer}.webRow button.danger{border-color:rgba(255,84,115,.28);background:rgba(190,43,76,.1);color:#ff8298}.webRow strong{overflow:hidden;color:var(--ui-text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.webRow small{display:block;margin-top:3px;color:var(--ui-muted);font-size:7px}.webRow .status{justify-self:start;padding:5px 7px;border-radius:6px;background:rgba(64,216,139,.1);color:#50db96}.webRow .status.offline{background:rgba(255,92,119,.09);color:#ff758c}
.webToolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ui-border-soft)}.webToolbar input,.webChatForm input{height:34px;padding:0 11px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-2);color:var(--ui-text);outline:none}.webToolbar input{width:min(330px,45%)}.webToolbar input:focus,.webChatForm input:focus{border-color:var(--theme-border-strong)}
.webEmpty{display:grid;place-items:center;min-height:280px;padding:30px;color:var(--ui-muted);font-size:10px;text-align:center}.webError{padding:12px;border:1px solid rgba(255,91,119,.24);border-radius:9px;background:rgba(178,41,70,.08);color:#ff8398;font-size:9px}.webPlanned{display:grid;place-items:center;align-content:center;min-height:440px;text-align:center}.webPlanned .pngIcon{width:38px;height:38px}.webPlanned h2{margin:15px 0 6px;color:var(--ui-text)}.webPlanned p{max-width:430px;margin:0;color:var(--ui-muted);font-size:10px;line-height:1.6}
.webChatMessages{display:flex;flex-direction:column;gap:7px;min-height:390px;max-height:480px;padding:12px;overflow:auto}.webChatMessage{display:grid;grid-template-columns:32px minmax(110px,.25fr) 1fr auto;align-items:center;gap:9px;padding:8px;border:1px solid var(--ui-border-soft);border-radius:9px;background:var(--ui-surface-2)}.webChatMessage img{width:30px;height:30px;border-radius:8px;object-fit:cover}.webChatMessage b{color:var(--ui-text);font-size:9px}.webChatMessage p{margin:0;color:var(--ui-text-2);font-size:10px}.webChatMessage time{color:var(--ui-dim);font-size:7px}.webChatForm{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--ui-border-soft)}.webChatForm button{padding:0 17px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--wein-accent),var(--wein-accent-2));color:#fff;font-size:9px;font-weight:750}
.webToastStack{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:8px}.webToast{min-width:250px;max-width:390px;padding:12px 14px;border:1px solid var(--theme-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 12px 35px rgba(0,0,0,.35);font-size:9px}.webToast.error{border-color:rgba(255,91,119,.3);color:#ff91a3}.webToast.success{border-color:rgba(77,220,150,.3);color:#61e0a4}
#playerDetail{overflow:auto}.webPlayerActions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.webPlayerActions button{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border:1px solid var(--theme-border);border-radius:9px;background:var(--ui-surface-2);color:var(--ui-text);cursor:pointer}.webPlayerActions button.danger{border-color:rgba(255,82,112,.3);color:#ff8297}.webPlayerIdentity{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ui-border-soft)}.webPlayerIdentity i{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--theme-selected)}.webPlayerIdentity div{display:grid;gap:4px}.webPlayerIdentity h2{margin:0;color:var(--ui-text)}.webPlayerIdentity p{margin:0;color:var(--ui-muted);font-size:8px}
.webRoleGod{color:#f3c76e!important}.webRoleAdmin{color:#b796ff!important}
.webActionButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 14px;border:1px solid var(--theme-border);border-radius:8px;background:linear-gradient(135deg,var(--wein-accent),var(--wein-accent-2));color:#fff;font-size:9px;font-weight:750;cursor:pointer}.webActionButton.danger,.webControlCard.danger{border-color:rgba(255,83,113,.32);background:linear-gradient(145deg,rgba(154,35,66,.18),var(--ui-surface));color:#ff8da0}.webControlGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.webControlCard{display:flex;min-height:92px;padding:14px;border:1px solid var(--theme-border);border-radius:12px;background:linear-gradient(145deg,var(--ui-surface-2),var(--ui-surface));color:var(--ui-text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px}.webControlCard:hover{transform:translateY(-1px);border-color:var(--theme-border-strong);background:var(--theme-hover)}.webControlCard .pngIcon{width:21px;height:21px;margin-bottom:3px}.webControlCard b{font-size:10px}.webControlCard span{color:var(--ui-muted);font-size:8px}.webInventoryGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;max-height:510px;padding:12px;overflow:auto}.webInventorySlot{position:relative;display:grid;place-items:center;align-content:center;gap:5px;min-height:105px;padding:10px;border:1px solid var(--ui-border-soft);border-radius:10px;background:linear-gradient(145deg,var(--ui-surface-2),var(--ui-bg));color:var(--ui-text);cursor:pointer}.webInventorySlot:hover{border-color:var(--theme-border-strong);background:var(--theme-hover)}.webInventorySlot>small{position:absolute;top:6px;left:7px;color:var(--ui-dim);font-size:7px}.webInventorySlot .pngIcon{width:25px;height:25px}.webInventorySlot b{max-width:100%;overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.webInventorySlot span{color:var(--ui-muted);font-size:7px}.webForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.webForm label{display:grid;gap:6px;color:var(--ui-muted);font-size:8px}.webForm label:first-child{grid-column:1/-1}.webForm input{height:36px;padding:0 11px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface-2);color:var(--ui-text);outline:none}.webForm .webActionButton{grid-column:1/-1;justify-self:end}
@media(max-width:1100px){.webDashboardGrid{grid-template-columns:repeat(2,1fr)}.webDashboardColumns{grid-template-columns:1fr}.webRow{grid-template-columns:minmax(0,1fr) auto auto}.webRow>:nth-child(3){display:none}}
