/* Pinball Workbench Build 008.0 – UX & Design
   Additive presentation layer. No database changes. */
:root{
  --font-ui:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --v3-sidebar:272px;--v3-topbar:68px;
  --v3-bg:#f5f7fa;--v3-dark:#121923;--v3-dark-2:#1d2937;
  --ink:#182230;--muted:#667085;--line:#e1e7ef;--card:#fff;
  --accent:#de6b32;--accent2:#244568;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;
  --shadow-card:0 1px 2px rgba(16,24,40,.04),0 5px 18px rgba(16,24,40,.055);
  --layout-sidebar-offset:var(--v3-sidebar)
}
*{box-sizing:border-box}
html{font-size:16px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,input,select,textarea,button{font-family:var(--font-ui)}
body{color:var(--ink);line-height:1.5;letter-spacing:-.005em}
a{text-decoration:none}
h1,h2,h3,h4,p{max-width:72ch}
h1,h2,h3,h4{color:#101828;letter-spacing:-.025em;line-height:1.22}
h1{font-size:clamp(1.65rem,2vw,2rem);font-weight:760;margin:0 0 8px}
h2{font-size:1.25rem;font-weight:720;margin:0 0 8px}
h3{font-size:1rem;font-weight:700}
p{line-height:1.62}.muted{color:var(--muted)!important}

/* App shell */
body.app-v3{background:var(--v3-bg);padding-top:var(--v3-topbar)}
.v3-topbar{height:var(--v3-topbar);padding:0 22px;gap:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-color:#e6eaf0;box-shadow:0 1px 0 rgba(16,24,40,.03)}
.v3-menu-toggle{width:40px;height:40px;border:1px solid #e1e6ed;background:#fff;color:#344054;font-size:19px;border-radius:10px;display:grid;place-items:center}
.v3-menu-toggle:hover{background:#f7f9fc;border-color:#cfd6df}
.v3-brand{gap:10px;min-width:205px;font-size:.98rem;color:#101828}.v3-brand span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#17212b;font-size:17px}.v3-brand b{font-weight:760;letter-spacing:-.02em}
.v3-global-search{height:42px;max-width:680px;border:1px solid #d8dee8;border-radius:11px;background:#f8fafc;box-shadow:inset 0 1px 1px rgba(16,24,40,.02)}
.v3-global-search:hover{border-color:#aeb8c5;background:#fff}.v3-global-search input{height:40px;padding:0 14px;font-size:.9rem;color:#475467}.v3-global-search kbd{align-self:center;border:1px solid #d0d5dd;background:#fff;border-radius:6px;padding:2px 7px;color:#667085;font:600 .72rem var(--font-ui);white-space:nowrap}.v3-global-search button{font-size:18px;color:#667085}
.v3-user{gap:6px}.v3-user-name{font-size:.875rem;font-weight:650;color:#344054;margin-right:4px}.v3-icon-link{width:38px;height:38px;background:transparent;border:1px solid transparent;font-size:16px}.v3-icon-link:hover{background:#f2f4f7;border-color:#e4e7ec}
.v3-sidebar{top:var(--v3-topbar);width:var(--v3-sidebar);background:var(--v3-dark);border-right:1px solid rgba(255,255,255,.04)}
.v3-sidebar nav{padding:18px 12px}.v3-nav-group{margin:18px 0 8px}.v3-nav-heading{padding:6px 11px;font-size:.66rem;letter-spacing:.13em;color:#7f91a5}
.v3-nav-item,.v3-nav-sub{min-height:42px;padding:9px 11px;margin:3px 0;border-radius:9px;font-size:.895rem;font-weight:560;color:#c8d2dd;gap:12px}
.v3-nav-item>span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.055);font-size:14px;filter:saturate(.7)}
.v3-nav-item:hover,.v3-nav-sub:hover{background:rgba(255,255,255,.065);color:#fff}.v3-nav-item.active,.v3-nav-sub.active{background:#263547;color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.v3-nav-item.active>span{background:rgba(222,107,50,.18)}
.v3-nav-sub{padding-left:48px;min-height:34px;font-size:.82rem;color:#93a4b5}
.v3-sidebar-footer{padding:14px 14px 18px;border-color:rgba(255,255,255,.08)}.v3-sidebar-settings-toggle{min-height:38px;padding:8px 10px;font-size:.79rem;border-color:rgba(255,255,255,.1)}.v3-sidebar-version{padding:2px 6px;font-size:.7rem;color:#73869a}
.v3-main{margin-left:var(--layout-sidebar-offset);padding:0 30px 44px;max-width:1780px}.v3-breadcrumb{height:54px;font-size:.78rem;color:#8a94a3}.v3-breadcrumb a{color:#667085}.v3-breadcrumb b{color:#344054;font-weight:650}

/* Page headers and alignment */
.v3-page-head,.module-toolbar{align-items:center;margin:0 0 20px}.v3-page-head>div:first-child,.module-toolbar-title{text-align:left}.v3-page-head h1,.module-toolbar-title h1{margin:0}.v3-page-head p,.module-toolbar-title p{margin:5px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}
.module-toolbar{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.module-toolbar-actions,.v3-page-actions{gap:9px;align-items:center}.module-filterbar{padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}

/* Cards */
.card,.module-card,.device-preview-panel,.ui-dialog-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}
.card{padding:22px;margin-bottom:20px}.card>h2:first-child,.card>h3:first-child{margin-top:0}.card p:last-child{margin-bottom:0}
.v3-dashboard-grid{gap:20px}.v3-section{margin-bottom:20px}.v3-kpi-grid{gap:16px;margin-bottom:22px}.v3-kpi{min-height:106px;padding:19px 20px;border-radius:15px;box-shadow:var(--shadow-card);gap:15px}.v3-kpi>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#f2f5f8;font-size:21px}.v3-kpi small{font-size:.77rem;text-transform:uppercase;letter-spacing:.055em}.v3-kpi strong{font-size:1.7rem;letter-spacing:-.04em}
.v3-list>a{padding:13px 2px}.v3-list b{font-size:.91rem}.v3-list small{font-size:.8rem}

/* Buttons and controls */
.btn,button.btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid transparent;font-size:.86rem;font-weight:680;line-height:1.15;letter-spacing:0;box-shadow:none}
.btn.orange{background:var(--accent);border-color:var(--accent);color:#fff}.btn.orange:hover{background:#c95b28;border-color:#c95b28}.btn.light{background:#fff;border-color:#d8dee8;color:#344054}.btn.light:hover{background:#f8fafc;border-color:#b9c2cf}.btn.danger{background:#fff;border-color:#f0b9b9;color:#b42318}
input,select,textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#182230;font-size:.9rem;line-height:1.4;box-shadow:0 1px 2px rgba(16,24,40,.03)}
input:hover,select:hover,textarea:hover{border-color:#aeb7c4}input:focus,select:focus,textarea:focus{border-color:#7c95ad;box-shadow:0 0 0 3px rgba(36,69,104,.12);outline:0}
label{display:block;margin-bottom:6px;color:#344054;font-size:.82rem;font-weight:650;text-align:left}.field{margin-bottom:16px}.field-help,.ui-help{line-height:1.45}

/* Tables */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card)}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:.86rem;text-align:left}thead th{height:46px;padding:0 15px;background:#f8fafc;border-bottom:1px solid #e4e7ec;color:#475467;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;text-align:left}tbody td{padding:13px 15px;border-bottom:1px solid #edf0f4;vertical-align:middle;text-align:left;line-height:1.45}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f8fafc}.code{font-family:var(--font-mono);font-size:.82rem}
.badge,.status-chip,.ui-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:750;letter-spacing:.015em}

/* Foundation & special panels */
.foundation-hero{align-items:flex-end;padding:30px 32px;border-radius:18px;background:linear-gradient(135deg,#17212b 0%,#24384d 100%);box-shadow:0 12px 30px rgba(16,24,40,.13)}.foundation-hero h1{font-size:1.9rem}.foundation-kicker{font-size:.7rem}.foundation-build{text-align:left}.foundation-metrics{gap:16px}.foundation-metrics article{padding:19px;border-radius:14px}.foundation-check{align-items:flex-start;padding:13px;background:#fafbfc}.foundation-check b,.foundation-check small{text-align:left}
.release-card-grid>div,.foundation-release div{background:#fafbfc;text-align:left}
.ui-section-header{padding:18px 20px;text-align:left}.ui-section-main{align-items:flex-start}.ui-status-card,.ui-info-card{text-align:left}

/* Quick action */
.v3-quick{right:28px;bottom:26px}.v3-quick-main{width:54px;height:54px;background:#17212b;font-size:28px;box-shadow:0 10px 24px rgba(16,24,40,.25)}.v3-quick-main:hover{background:#263547}.v3-quick-menu{border-radius:13px;padding:8px;box-shadow:0 18px 44px rgba(16,24,40,.2)}.v3-quick-menu a{font-size:.86rem;font-weight:600}
.footer{padding:28px 0 4px;color:#98a2b3;font-size:.75rem;text-align:left}

/* Login */
body:not(.app-v3){background:#f2f4f7}.login.card{width:min(430px,calc(100vw - 32px));margin:8vh auto;padding:32px;border-radius:18px}.login.card h1{text-align:left;font-size:1.65rem}.login.card .btn{width:100%}

@media(max-width:1100px){.v3-main{padding-left:22px;padding-right:22px}.v3-brand{min-width:auto}.v3-global-search{max-width:560px}}
@media(max-width:900px){.v3-topbar{padding:0 12px}.v3-main,.sidebar-collapsed .v3-main{padding:0 14px 28px}.v3-global-search kbd{display:none}.v3-breadcrumb{height:46px}.module-toolbar,.v3-page-head{align-items:flex-start}.card{padding:18px}}
@media(max-width:600px){html{font-size:15px}.v3-user{display:none}.v3-global-search input{padding-left:11px}.v3-page-head,.module-toolbar{display:block}.v3-page-actions,.module-toolbar-actions{margin-top:13px}.v3-page-actions .btn,.module-toolbar-actions .btn{flex:1 1 auto}.v3-kpi-grid{grid-template-columns:1fr 1fr}.v3-kpi{min-height:92px;padding:14px}.foundation-hero{padding:24px}.card{padding:16px;border-radius:13px}thead th,tbody td{padding-left:12px;padding-right:12px}}
