/* Skeletal Hosting v45 — shared dashboard design layer.
   Adds styling without changing stored data or Discord operations. */
:root{--v45-bg:#080e1c;--v45-rail:#080f1f;--v45-card:#111a2e;--v45-elevated:#151f36;--v45-line:#263754;--v45-purple:#885cff;--v45-blue:#417bff;--v45-text:#edf3ff;--v45-muted:#9daecb}
html{scroll-behavior:smooth}
body{background:var(--v45-bg);color:var(--v45-text)}
.layout{background:radial-gradient(ellipse at 84% 2%,rgba(99,70,194,.10),transparent 45%),#080e1c!important}
.layout aside{width:244px;flex-basis:244px;padding:18px 13px;background:linear-gradient(180deg,#0c1428,#080d1a)!important;border-right:1px solid #20304d!important;box-shadow:none!important;scrollbar-width:thin}
.layout .brand{padding:4px 8px 17px;font-size:12px;letter-spacing:.04em}
.layout .brand img{height:32px;width:32px;filter:drop-shadow(0 0 9px rgba(112,88,255,.45))!important}
.layout .server-name{margin:0 4px 15px;border-color:#253553!important;background:#131d34!important;color:#9baed0;font-size:10px}
.layout nav{display:block}
.layout .nav-group{border:0;margin:0 0 9px;padding:0}
.layout .nav-group-label{color:#788cb0;font-size:9px;letter-spacing:.13em;padding:9px 9px 5px}
.layout .nav-items{display:grid;grid-template-columns:1fr;gap:2px}
.layout nav .nav-item{min-height:33px;padding:8px 10px;font-size:11.5px;border:1px solid transparent;border-radius:8px;color:#a4b2cb;line-height:1.2}
.layout nav .nav-item:hover{background:#182640!important;color:#f9fbff!important}
.layout nav .nav-item.active{background:linear-gradient(90deg,#4441bd,#30286c)!important;border-color:rgba(133,111,255,.44)!important;box-shadow:inset 3px 0 0 #a19cff!important;color:#fff!important}
.layout nav .nav-icon{width:20px;color:#8296c0}
.layout nav .nav-item.active .nav-icon{color:#d1c8ff!important}
.layout .nav-footer{border-top:1px solid #243451;margin-top:auto}
.layout .nav-quick{display:none}
.layout main{max-width:1500px!important;padding:28px clamp(18px,3vw,44px) 70px!important;min-width:0}
.layout h1{font-size:clamp(23px,2.5vw,30px);color:#f4f6ff}
.layout h2{color:#edf2ff}
.layout .subtitle{color:#9cacca;max-width:790px}
.layout .module-card,.layout .list-item,.layout .stat-card{background:linear-gradient(145deg,#151f35,#101827)!important;border-color:#273957!important;box-shadow:none!important}
.layout .module-card:hover,.layout .list-item:hover{border-color:#6257bb!important;background:#1a2844!important}
.layout .module-card-icon{background:#29234f!important;color:#c4a7ff!important}
.layout .module-card .arrow{color:#a5a3e9}
.layout input[type=text],.layout input[type=number],.layout input[type=password],.layout input[type=color],.layout input[type=file],.layout select,.layout textarea{background:#0e192b!important;border:1px solid #2e4265!important;color:#eaf0ff!important;min-height:38px}
.layout button,.layout .discord-btn{background:linear-gradient(135deg,#785bff,#426cff)!important;color:#fff!important;box-shadow:none!important}
.layout button.secondary{background:#16223a!important;border:1px solid #344563!important}
.layout button:hover,.layout a:focus-visible,.layout button:focus-visible,.layout input:focus-visible,.layout select:focus-visible,.layout textarea:focus-visible{outline:2px solid #927fff;outline-offset:2px}
.layout .neon-hero{border-color:#395583!important;background:linear-gradient(90deg,rgba(9,17,34,.96),rgba(15,20,52,.68),rgba(13,12,41,.35)),url('/assets/banner.jpg') center 42%/cover!important;box-shadow:0 12px 35px rgba(2,9,27,.35)!important;min-height:190px}
.layout .neon-hero:after{background:linear-gradient(90deg,transparent,rgba(66,64,182,.08))}
.layout .neon-hero h1{font-size:clamp(26px,3vw,36px)}
.layout .neon-kicker{color:#bcb0ff}
.layout .neon-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.layout .neon-stat,.layout .neon-card,.layout .neon-action{background:linear-gradient(155deg,#152139,#0f1729)!important;border-color:#263c59!important;box-shadow:none!important}
.layout .neon-stat:after,.layout .neon-action:before{background:linear-gradient(90deg,#7365f8,#356aff,transparent)}
.layout .neon-action:hover{border-color:#675dd5!important}
.layout .neon-hero .online-badge{background:#102e2a;border-color:#286459;color:#83e7c2}
.layout .neon-hero .online-badge.offline{background:#3b1e2e;border-color:#7f3850;color:#ffb4b4}
.layout .neon-hero .online-badge.offline:before{background:#ec6f8a;box-shadow:none}
.layout .neon-hero .online-badge.unknown{background:#342b21;border-color:#826b3c;color:#fbd695}
.layout .neon-hero .online-badge.unknown:before{background:#f0c65a;box-shadow:none}
.layout .neon-ticket-row small{color:#a0aec9;font-size:10px}
.layout .neon-ticket-row strong{font-size:12px}
.layout .neon-ticket-row time{font-size:10px}
.layout .neon-pill{font-size:9px}
.v45-pagehead{display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.v45-pagehead p{margin:6px 0 0;color:var(--v45-muted);font-size:13px;max-width:700px}
.v45-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v45-linkbtn{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid #374c76;background:#182747;border-radius:9px;color:#d9e2ff;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap}
.v45-linkbtn:hover{background:#24365c;color:white;border-color:#6c66c0}
.v45-linkbtn.primary{background:linear-gradient(115deg,#7156eb,#3867dd);color:#fff;border-color:#776ff0}
.v45-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:14px 0 24px}
.v45-card{padding:20px;border-radius:13px;border:1px solid #293d60;background:linear-gradient(145deg,#141f35,#10192b);min-width:0}
.v45-card h2{margin:0 0 12px;font-size:15px}
.v45-card .kicker{color:#95a7c6;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.v45-card .metric{display:block;margin-top:8px;font-size:29px;font-weight:760;line-height:1.1;color:#f4f6ff}
.v45-panel{border-radius:13px;border:1px solid #2a3b5e;background:#111a2e;padding:18px;margin:16px 0;overflow-x:auto}
.v45-panel h2{margin:0 0 13px;font-size:15px}
.v45-table{width:100%;border-collapse:collapse;min-width:520px}
.v45-table th{text-align:left;font-size:11px;text-transform:uppercase;color:#98aace;letter-spacing:.04em;padding:11px;border-bottom:1px solid #2b3b59}
.v45-table td{font-size:12px;color:#e1e9f8;padding:12px 11px;border-bottom:1px solid #253552;vertical-align:middle}
.v45-table tbody tr:hover{background:#192741}
.v45-empty{text-align:center;color:#a0aecb;padding:30px 15px;font-size:13px}
.v45-status{display:inline-block;border-radius:999px;padding:4px 9px;font-size:10px;background:#243458;color:#c5d3fb;text-transform:capitalize;font-weight:700}
.v45-status.active,.v45-status.running,.v45-status.online{background:#153b38;color:#84e8ca}
.v45-status.closed,.v45-status.ended{background:#3a2439;color:#eea6bc}
.v45-status.draft{background:#3b3224;color:#f5d49b}
.v45-note{padding:12px 14px;border:1px solid #354761;border-radius:10px;color:#9eafc9;background:#101b2d;font-size:12px}
.v45-filter{width:100%;max-width:310px;margin:10px 0 16px}
.v45-inlineform{display:flex;align-items:end;gap:11px;flex-wrap:wrap}
.v45-inlineform label{margin:0;flex:1;min-width:220px}
.v45-inlineform input{width:100%;margin-top:5px}
.v45-inlineform button{height:38px}
.v45-meta{color:#94a7c8;font-size:12px}
/* Ticket dashboard: same palette/tokens, existing routes and editors preserved. */
.tt-layout{background:#080e1c!important;color:#e7edfc!important}
.tt-side{background:linear-gradient(180deg,#0c1428,#080d1a)!important;border-right:1px solid #253957!important;box-shadow:none!important}
.tt-main{background:radial-gradient(ellipse at 80% 0%,rgba(94,62,173,.08),transparent 35%),#080e1c!important}
.tt-top{background:#10192e!important;border-bottom:1px solid #2a3b59!important;box-shadow:none!important}
.tt-nav a.active{background:#39388d!important;border-color:#7164d4!important;box-shadow:inset 3px 0 0 #9b8aff!important}
.tt-nav a:hover{background:#192742!important}
@media(max-width:1100px){.layout .neon-stats{grid-template-columns:repeat(2,1fr)}.v45-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.layout aside{position:fixed;width:255px;flex-basis:255px}.layout main{padding:23px 17px 48px!important}.v45-grid{grid-template-columns:1fr}.layout .neon-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.layout .nav-quick{display:none}}
@media(max-width:480px){.layout .neon-stats{grid-template-columns:1fr}.layout .neon-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.v45-pagehead{display:block}.v45-toolbar{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Compact toolbar and in-sidebar module search */
.layout .v45-globalbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding-bottom:15px;border-bottom:1px solid #243754}
.layout .v45-globalbar-name{color:#b7c7e6;font-size:11px;font-weight:700;letter-spacing:.045em}
.layout .v45-globalbar-sep{color:#6b7e9f;margin:0 8px}
.layout .v45-globalbar-actions{display:flex;gap:8px}
.layout .v45-globalbar-actions a{padding:7px 9px;border:1px solid #2d4364;border-radius:8px;color:#aebcda;text-decoration:none;font-size:11px;white-space:nowrap}
.layout .v45-globalbar-actions a:hover{background:#1b2a46;color:#fff}
.layout .v45-searchlabel{display:block;margin:0 7px 5px;color:#768cab!important;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.layout .v45-nav-search{width:calc(100% - 8px);margin:0 4px 12px;min-height:34px!important;background:#0e192e!important;border:1px solid #2a3c5f!important;border-radius:7px;padding:7px 10px;color:#fff;font-size:11px}
.layout .nav-item[hidden],.layout .nav-group[hidden]{display:none!important}
@media(max-width:800px){.layout .v45-globalbar{flex-wrap:wrap;margin-bottom:15px}.layout .v45-globalbar-actions{display:none}}
.v45-table-filter{width:100%;max-width:300px;margin:0 0 12px;min-height:36px;background:#0e192b;color:#eaf0ff;border:1px solid #324769;border-radius:9px;padding:8px 11px;font-size:12px}
.v45-table tr[hidden]{display:none!important}
/* v45 usability pass */
.v45-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.v45-action-form{display:inline-flex;align-items:flex-end;gap:7px;margin:0;flex-wrap:wrap}
.v45-action-form button{margin:0!important;white-space:nowrap;min-height:35px}
.v45-compact-label{margin:0!important;font-size:10px;color:#a5b6d7}
.v45-compact-label input,.v45-compact-label select{min-height:34px!important;max-width:170px;min-width:90px;margin-top:3px;padding:5px 7px!important;font-size:11px!important}
.v45-action-form button[aria-busy=true],.layout button[aria-busy=true]{opacity:.6;pointer-events:none;cursor:progress}
.v45-preview summary{cursor:pointer;color:#cad8ff;font-weight:650;line-height:1.8;outline-offset:3px}
.v45-preview summary:focus-visible,.v45-sortable:focus-visible{outline:2px solid #a78bfa}
.v45-discord-preview{border-radius:9px;border:1px solid #354e77;border-left:3px solid #927bff;background:#111d34;padding:13px 16px;margin:11px 0;color:#dfebff;font-size:12px;line-height:1.8}
.v45-discord-preview ol{margin:8px 0 0;padding-left:20px}
.v45-live-preview{margin-top:14px}
.v45-sortable{cursor:pointer;user-select:none}
.v45-sortable:hover{color:#fff;background:#26385c}
.v45-sortable[aria-sort=ascending]::after{content:' ↑';color:#b0a1ff}
.v45-sortable[aria-sort=descending]::after{content:' ↓';color:#b0a1ff}
@media(max-width:700px){.v45-panel{padding:12px}.v45-action-form{display:flex;flex-direction:column;align-items:stretch}.v45-actions{display:grid}.v45-compact-label input,.v45-compact-label select{width:100%;max-width:none}}
