/* Skeletal Hosting v58 — premium navigation and unified administration shell.
   Purely presentational: existing routes, forms, permissions and CSRF stay intact. */
:root { --accent:#c65cff; --accent-soft:rgba(191,66,255,.15); --surface:#141126; --surface-soft:#100d1d; --surface-hover:#211634; --border:#38304e; --border-soft:#29213d; --text:#f5f0ff; --text-muted:#b0a5c4; --text-faint:#827494; --good:#36dcaa; --shadow:0 18px 50px rgba(2,0,17,.28) }
.layout { background:radial-gradient(ellipse at 84% 2%,rgba(110,43,187,.14),transparent 36%),#090917; }
.layout main { max-width:none; min-width:0; padding:24px clamp(18px,3vw,48px) 80px; }
.layout main > h1 { margin-top:22px; }
.layout aside.v58-sidebar { width:257px;flex:0 0 257px;padding:0;overflow:hidden;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#110a24,#0b0b19 74%)!important;border-right:1px solid rgba(174,69,245,.23);z-index:12; }
.v58-side-head{padding:18px 16px 0;flex:none;}
.layout .brand{gap:10px;padding:4px 0 18px;letter-spacing:.06em;color:#f6ebff;font-weight:850;line-height:1.1;font-size:14px;}
.layout .brand img{height:41px;width:41px;filter:drop-shadow(0 0 10px rgba(196,69,255,.7))}
.layout .brand b{color:#cb69ff}.layout .brand small{display:block;color:#9176ad;font-size:8px;letter-spacing:.23em;margin-top:4px}
.layout .server-name{margin:0 0 12px;padding:10px 11px;border-color:rgba(175,79,244,.31);background:linear-gradient(150deg,#1f1236,#111227);color:#ac9fbd;border-radius:10px;}
.layout .server-name strong{font-size:11px;color:#f0eaff;}
.v58-side-scroll { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#60427b transparent;scrollbar-width:thin;padding:0 11px 22px; }
.v58-side-scroll .v45-searchlabel{margin:8px 4px 5px;color:#9d83b2;font-size:10px;}
.layout .v45-nav-search{min-height:39px;width:100%;margin:0 0 16px;border-radius:9px;background:#150f28;border:1px solid rgba(168,91,222,.3);color:#fff;font-size:12px;}
.layout .v45-nav-search:focus{border-color:#cc80ff;outline:2px solid rgba(182,78,255,.16)}
.layout nav{display:block;}
.layout .v58-group { border:0;border-bottom:1px solid rgba(153,100,203,.12);padding:2px 0 7px;margin:0; }
.v58-group-summary{display:flex;align-items:center;gap:9px;padding:10px 8px;list-style:none;cursor:pointer;user-select:none;color:#b89ed5;font-size:11px;font-weight:750;letter-spacing:.035em;border-radius:8px}
.v58-group-summary::-webkit-details-marker{display:none}
.v58-group-summary:hover{background:rgba(130,72,196,.11);color:#f7e6ff}
.v58-group-icon{width:19px;text-align:center;color:#cf78ff;font-size:14px}
.v58-chevron{margin-left:auto;opacity:.65;transition:transform .14s}
.v58-group[open] .v58-chevron{transform:rotate(180deg)}
.layout aside .nav-items{display:flex;flex-direction:column;gap:2px;padding:1px 0 7px;}
.v58-nav-row{display:flex;align-items:center;gap:1px;min-width:0;}
.layout aside nav .nav-item{display:flex;flex:1;min-width:0;gap:9px;margin:0;padding:8px 9px;min-height:37px;font-size:11px;line-height:1.3;border-radius:7px;}
.layout aside nav .nav-item .nav-icon{flex:0 0 20px;font-size:14px;color:#a986c6;}
.layout aside nav .nav-item.active{background:linear-gradient(90deg,rgba(175,51,251,.28),rgba(104,55,222,.10));border-color:rgba(201,79,255,.28);box-shadow:inset 3px 0 0 #d65afa;color:#fff}
.v58-fav-toggle{flex:0 0 28px;height:29px;min-height:29px;width:28px;padding:0;margin:0!important;background:transparent!important;border:0!important;color:#6f607f!important;font-size:17px!important;transform:none!important;opacity:0;}
.v58-nav-row:hover .v58-fav-toggle,.v58-fav-toggle:focus-visible,.v58-fav-toggle[aria-pressed="true"]{opacity:1}
.v58-fav-toggle[aria-pressed="true"]{color:#eab1ff!important}
.v58-favourites{margin:0 0 11px;padding:8px;border-radius:10px;background:rgba(143,52,233,.10);border:1px solid rgba(196,103,255,.15)}
.v58-favourites h2{font-size:10px;color:#e3bcff;margin:0 0 6px;letter-spacing:.06em}
.v58-favourites a{display:block;padding:7px 10px;text-decoration:none;color:#e5d4f9;font-size:11px;border-radius:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v58-favourites a:hover{background:rgba(144,58,218,.22)}
.layout .nav-footer { flex:none;margin-top:auto;padding:12px 17px 16px;border-color:rgba(160,76,211,.16);background:rgba(13,10,25,.96);}
.layout .nav-footer-user {margin:0 0 9px;padding:0;gap:8px}.layout .nav-footer-user img{height:32px;width:32px;border:1px solid rgba(204,129,255,.28)}
.v58-footer-actions{display:flex;gap:10px;justify-content:space-between}.layout .v58-footer-actions a{font-size:10px;color:#b5a1c9}
.v58-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:51px;padding:0 0 15px;border-bottom:1px solid rgba(165,101,209,.20);margin-bottom:18px}
.v58-topbar-breadcrumb{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#826f9c;font-size:11px;letter-spacing:.02em}
.v58-topbar-label{color:#e1b2ff;font-size:10px;font-weight:750;letter-spacing:.11em}
.v58-topbar-breadcrumb strong{color:#cbb2e5;font-weight:600}
.v58-topbar-actions{display:flex;align-items:center;gap:9px}
.v58-topbar-actions>a{display:inline-flex;align-items:center;text-decoration:none;border:1px solid rgba(168,107,212,.31);padding:8px 12px;border-radius:8px;color:#bfa6d6;font-size:11px;white-space:nowrap}
.v58-topbar-actions>a:hover{color:white;border-color:#aa65df}
button.v58-quick-search{display:flex;align-items:center;gap:10px;margin:0 9px 0 0;min-height:35px;padding:7px 12px;background:#150f29!important;color:#af9bbf;border:1px solid rgba(144,87,200,.37);border-radius:9px;font-size:11px;transform:none}
.v58-quick-search kbd{margin-left:6px;border:1px solid rgba(160,99,218,.31);border-radius:5px;padding:2px 5px;font-size:9px}
button.v58-quick-search:hover{color:white;border-color:#cf80ff}
.layout .card,.layout .panel,.layout .form-card{border-radius:13px!important;background:linear-gradient(150deg,#151124,#100f20)!important;box-shadow:0 12px 30px rgba(0,0,0,.11)}
.layout button:not(.v58-fav-toggle):not(.v58-quick-search):not(.v58-dialog-close){border-radius:9px}
.layout button:not(.secondary):not(.v58-fav-toggle):not(.v58-quick-search):not(.v58-dialog-close){background:linear-gradient(115deg,#b34ff5,#5657eb);color:#fff;border-color:rgba(225,182,255,.26)}
.layout input:focus-visible,.layout button:focus-visible,.layout select:focus-visible,.layout a:focus-visible,.v58-dialog button:focus-visible,.v58-dialog input:focus-visible{outline:2px solid #df9fff;outline-offset:2px}
/* The new home is driven by actual dashboard data. No invented active-players or uptime figures. */
.v58-home{display:grid;gap:16px;}
.v58-hero{position:relative;overflow:hidden;min-height:237px;padding:32px 36px;border:1px solid rgba(216,107,255,.36);border-radius:17px;background:#110c2a url('/assets/v58-hero.jpg') center 45%/cover no-repeat;box-shadow:0 16px 50px rgba(19,4,35,.43)}
.v58-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,6,30,.94),rgba(12,6,30,.77) 45%,rgba(12,6,30,.14)),linear-gradient(0deg,rgba(9,7,19,.58),transparent 58%)}
.v58-hero-inner{position:relative;max-width:720px;z-index:1;}
.v58-eyebrow{font-size:10px;font-weight:800;letter-spacing:.20em;color:#d4a0ff;text-transform:uppercase}
.v58-hero h1{font-size:clamp(25px,3vw,39px);line-height:1.1;letter-spacing:-.05em;font-weight:850;margin:11px 0 11px;color:#fdf8ff;text-shadow:0 2px 28px rgba(164,24,255,.40)}
.v58-hero p{font-size:12px;color:#d3c2e5;max-width:490px;line-height:1.55;margin:0}
.v58-status-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.v58-status-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(135,244,204,.21);background:rgba(11,28,30,.58);padding:6px 9px;border-radius:999px;color:#c0eedb;font-size:10px;}
.v58-status-chip::before{content:"";width:7px;height:7px;background:#36e4a6;border-radius:50%;box-shadow:0 0 12px #26db9c}
.v58-status-chip.muted{border-color:rgba(208,161,255,.24);background:rgba(30,15,45,.58);color:#ead0ff}.v58-status-chip.muted::before{background:#d587ff;box-shadow:none}
.v58-status-chip.offline{border-color:#ae494e;color:#ffc1c6}.v58-status-chip.offline::before{background:#ff7488;box-shadow:none}
.v58-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.v58-metric{min-width:0;display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;border:1px solid rgba(141,86,188,.31);background:linear-gradient(145deg,#1b1234,#101325);}
.v58-metric-icon{flex:0 0 38px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:20px;background:rgba(156,60,238,.16);color:#e6a5ff}
.v58-metric:nth-child(2) .v58-metric-icon{background:rgba(244,77,175,.13);color:#ff98d6}
.v58-metric:nth-child(3) .v58-metric-icon{background:rgba(53,199,244,.12);color:#82daff}
.v58-metric:nth-child(4) .v58-metric-icon{background:rgba(240,189,52,.12);color:#f7ce6b}
.v58-metric:nth-child(5) .v58-metric-icon{background:rgba(58,220,155,.12);color:#8bffd6}
.v58-metric-value{display:block;font-size:clamp(16px,1.7vw,23px);font-weight:800;line-height:1.2;color:#f8f1ff;overflow-wrap:anywhere}
.v58-metric-label{display:block;margin-top:4px;color:#a997c0;font-size:10px}
.v58-section{border-radius:15px;border:1px solid rgba(139,73,206,.26);background:linear-gradient(155deg,rgba(26,17,45,.98),rgba(10,13,31,.98));padding:19px}
.v58-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}
.v58-section-heading h2{font-size:15px;margin:0;color:#f4eaff;}
.v58-section-heading p{margin:3px 0 0;font-size:10px;color:#a598b5}
.v58-section-heading a{font-size:11px;color:#d49bff;text-decoration:none;white-space:nowrap}
.v58-quick-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.v58-quick-card{min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:9px;text-decoration:none;min-height:115px;border-radius:11px;padding:14px;color:#fff;border:1px solid rgba(192,109,255,.28);background:linear-gradient(180deg,rgba(15,9,28,.33),rgba(14,9,28,.90)),url('/assets/v58-hero.jpg') 65% 46%/auto 290%}
.v58-quick-card:nth-child(2n){background-image:linear-gradient(180deg,rgba(15,9,28,.25),rgba(14,9,28,.93)),url('/assets/v58-hall.jpg')}
.v58-quick-card:hover{border-color:#d793ff;transform:translateY(-2px)}
.v58-quick-icon{font-size:23px;color:#e9afff;text-shadow:0 0 15px #b35dff}.v58-quick-card strong{display:block;font-size:11px;margin-top:auto}.v58-quick-card small{display:block;color:#c8b5d4;font-size:9px;line-height:1.4}
.v58-info-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:13px}
.v58-health-list{display:grid;gap:8px}
.v58-health-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(158,91,204,.12);padding:8px 0;font-size:11px;color:#afa0bb}.v58-health-line:last-child{border:0}.v58-health-line strong{color:#8df0cc;font-size:11px}
.v58-health-line strong.unknown{color:#d8c0fa}
.v58-ticket-activity{padding-top:5px}
.v58-home .neon-ticket-row{grid-template-columns:30px minmax(0,1fr) auto auto}
.v58-home .neon-ticket-row strong{font-size:11px}.v58-home .neon-ticket-row small{font-size:10px}.v58-home .neon-ticket-row time{font-size:10px}
.v58-footnote{font-size:10px;color:#837498;margin:2px 0 0}
/* Command palette: navigates only to pre-existing dashboard routes; route access is server-checked. */
.v58-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding:12vh 20px 25px;background:rgba(4,3,13,.74);backdrop-filter:blur(7px)}
.v58-dialog[hidden]{display:none!important}
.v58-dialog-panel{width:min(650px,100%);border:1px solid rgba(195,113,255,.43);border-radius:16px;background:#161026;box-shadow:0 26px 90px rgba(0,0,0,.58);overflow:hidden}
.v58-dialog-search{display:flex;gap:9px;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(177,91,245,.2)}
.v58-dialog-search input{flex:1;min-width:0;border:0;box-shadow:none;background:transparent;color:#fff;font-size:15px;outline:none}
.v58-dialog-close{margin:0;padding:7px 10px;border-radius:7px;background:#272038;color:#d7c3e4;min-height:34px}
.v58-dialog-list{max-height:min(55vh,430px);overflow-y:auto;padding:8px}
.v58-dialog-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;border-radius:9px;padding:11px 13px;color:#f2e9ff;font-size:12px}
.v58-dialog-list a:hover,.v58-dialog-list a:focus{background:#34204f}
.v58-dialog-list a small{color:#9c83b6;font-size:10px}
.v58-dialog-empty{padding:18px;color:#baaccb;font-size:12px}
body.v58-dialog-open{overflow:hidden}
/* Original forms, feature routes and permissions are unchanged. Adapt to small screens. */
@media(max-width:1300px){.v58-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.v58-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.v58-info-grid{grid-template-columns:1fr}.v58-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
.layout aside.v58-sidebar{position:fixed;top:0;left:0;transform:translateX(-105%);width:min(295px,86vw);height:100%;z-index:30;transition:transform .2s;}
.nav-toggle:checked ~ .layout aside.v58-sidebar{transform:translateX(0)}
.layout main{padding:20px 16px 65px}.v58-topbar{min-height:44px}.v58-topbar-label{display:none}.v58-topbar-actions>a{padding:6px 8px;font-size:10px}.v58-quick-search kbd{display:none}
.v58-hero{min-height:235px;padding:23px}.v58-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.v58-fav-toggle{opacity:1}
}
@media(max-width:525px){.v58-topbar-breadcrumb{font-size:10px}.v58-topbar-actions>a{display:none}.v58-quick-search{font-size:0!important;gap:0}.v58-quick-search span{font-size:17px}.v58-stats{grid-template-columns:1fr 1fr}.v58-metric{padding:12px;gap:8px}.v58-metric-icon{width:30px;height:30px;flex-basis:30px;font-size:16px}.v58-metric-value{font-size:17px}.v58-stats .v58-metric:last-child{grid-column:span 2}.v58-hero h1{font-size:26px}.v58-quick-grid{grid-template-columns:1fr 1fr}.v58-quick-card{min-height:100px;padding:10px}.v58-section{padding:14px}.v58-home .neon-ticket-row{grid-template-columns:28px 1fr auto}.v58-home .neon-ticket-row time{display:none}}
@media(prefers-reduced-motion:reduce){.v58-quick-card,.layout aside.v58-sidebar,.v58-chevron{transition:none!important}}
.v58-metric{text-decoration:none}.v58-metric:hover{border-color:#ba75f7;transform:translateY(-1px)}
.v58-chart{width:100%;height:155px;margin:15px 0 6px;overflow:visible}
.v58-chart-grid line{stroke:rgba(152,105,194,.18);stroke-width:.36}
.v58-chart-created,.v58-chart-closed{fill:none;stroke-width:1.35;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(172,80,248,.35))}
.v58-chart-created{stroke:#c66aff}.v58-chart-closed{stroke:#48e7bd}
.v58-chart-legend{display:flex;gap:14px;color:#b77af7;font-size:10px}.v58-chart-legend span+span{color:#5bdbb4}
.v58-chart-dates{display:flex;justify-content:space-between;gap:5px;color:#9788a7;font-size:10px}
.v58-recent-list{display:grid;gap:3px}.v58-recent-list .neon-ticket-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:11px 7px;border-bottom:1px solid rgba(150,93,210,.16)}
.v58-recent-list .neon-ticket-row:last-child{border:0}.v58-recent-list .neon-ticket-icon{display:grid;place-items:center;border-radius:9px;background:rgba(167,79,230,.17);min-height:30px}
.v58-recent-list .neon-ticket-row strong{font-size:12px}.v58-recent-list .neon-ticket-row small{display:block;margin-top:3px;font-size:10px;color:#a59ab7}.v58-recent-list .neon-ticket-row time{font-size:10px;color:#8a799f}
.v58-recent-list .neon-pill{border-radius:20px;font-size:10px;padding:4px 9px;font-weight:750;background:rgba(136,86,203,.2);color:#e5c6ff}.v58-recent-list .neon-pill.closed{color:#76eac1}.v58-recent-list .neon-pill.open{color:#79bcff}
.v58-recent-list .neon-empty{text-align:center;color:#a99bbf;padding:15px;font-size:12px}
@media(max-width:525px){.v58-recent-list .neon-ticket-row{grid-template-columns:28px minmax(0,1fr) auto}.v58-recent-list .neon-ticket-row time{display:none}}
.v58-module-index .subtitle{max-width:750px;margin-bottom:18px}
.v58-module-index label{font-size:11px;color:#beaae0;margin-bottom:7px}
#v58-module-filter{font-size:14px;border-radius:11px;background:#171028;max-width:850px;margin-bottom:18px;border-color:rgba(173,81,237,.34)}
.v58-module-section{border:1px solid rgba(147,79,206,.25);background:linear-gradient(155deg,#151127,#0c0e1c);border-radius:12px;margin:10px 0;overflow:hidden}
.v58-module-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:16px 18px;font-size:12px;list-style:none;color:#f1d8ff}
.v58-module-section>summary::-webkit-details-marker{display:none}
.v58-module-section>summary span{font-size:10px;color:#9f8dac}
.v58-module-section>.module-grid{padding:0 16px 16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v58-module-section .module-card{min-height:95px;background:linear-gradient(160deg,rgba(50,25,77,.75),rgba(17,19,35,.85));border:1px solid rgba(153,91,211,.25);box-shadow:none}
.v58-module-section .module-card:hover{border-color:#c86cff;background:#261739}
.v58-module-section .module-card-icon{margin-bottom:10px;background:rgba(183,81,231,.15);color:#d7a3ff}
.v58-module-empty{font-size:13px;color:#d5b1ed;margin-bottom:12px}
@media(max-width:1100px){.v58-module-section>.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v58-module-section>.module-grid{grid-template-columns:1fr}}
/* Author-level display styles otherwise override browser's [hidden] attribute. */
.v58-nav-row[hidden], .v58-group[hidden], .v58-module-section[hidden], .v58-module-section .module-card[hidden], .v58-favourites[hidden], .v58-module-empty[hidden] {display:none!important}
