:root{
  --bg:#080d18;
  --bg-elev:#0b1220;
  --sidebar-bg:#0a1122;
  --topbar-bg:#0b1324;
  --card:#101a30;
  --card-2:#152039;
  --border:rgba(255,255,255,.07);
  --border-hi:rgba(120,190,255,.22);
  --text:#eaf0fb;
  --muted:#93a0bd;
  --muted-2:#5e6884;
  --accent:#3fd0ff;
  --accent-2:#7b6cff;
  --accent-rgb:63,208,255;
  --glow:rgba(63,208,255,.28);
  --green:#2ee6a0;
  --green-bg:rgba(46,230,160,.12);
  --red:#ff5470;
  --red-bg:rgba(255,84,112,.12);
  --orange:#ffb648;
  --orange-bg:rgba(255,182,72,.12);
  --yellow:#eab308;
  --blue-bg:rgba(63,208,255,.12);
  --purple-bg:rgba(123,108,255,.14);
  --radius:16px;
  --sidebar-w:238px;
  --topbar-h:64px;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:14px; line-height:1.5;
  background-image:
    radial-gradient(900px 500px at 12% -8%, rgba(63,208,255,.10), transparent 60%),
    radial-gradient(800px 500px at 100% 0%, rgba(123,108,255,.10), transparent 55%);
  background-attachment:fixed;
}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
input, select{font-family:inherit;}
ul{list-style:none;}
::-webkit-scrollbar{width:8px; height:8px;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12); border-radius:8px;}
::-webkit-scrollbar-track{background:transparent;}

/* ---------- layout shell ---------- */
.shell{display:flex; min-height:100vh;}

/* ---------- sidebar ---------- */
.sidebar{
  width:var(--sidebar-w); flex:0 0 auto; background:var(--sidebar-bg);
  border-right:1px solid var(--border); padding:18px 12px; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.sidebar-logo{
  display:flex; align-items:center; gap:10px; padding:8px 8px 20px; font-weight:700; font-size:16px;
}
.sidebar-logo img{width:26px; height:26px; border-radius:6px; object-fit:cover;}
.sidebar-logo .badge{width:26px; height:26px; border-radius:6px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800;}
.nav-group{margin-bottom:6px;}
.nav-item{
  display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:10px; color:var(--muted);
  font-size:13.5px; font-weight:500; transition:background .15s, color .15s;
}
.nav-item:hover{background:rgba(255,255,255,.04); color:var(--text);}
.nav-item.active{background:var(--blue-bg); color:var(--text);}
.nav-item svg{width:17px; height:17px; flex:0 0 auto; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.nav-item .chev{margin-left:auto; width:14px; height:14px; transition:transform .2s;}
.nav-group.open .chev{transform:rotate(90deg);}
.nav-children{max-height:0; overflow:hidden; transition:max-height .2s ease; padding-left:14px;}
.nav-group.open .nav-children{max-height:220px;}
.nav-children .nav-item{font-size:13px; padding:8px 12px;}

/* ---------- topbar ---------- */
.main{flex:1 1 auto; min-width:0; display:flex; flex-direction:column;}
.topbar{
  height:var(--topbar-h); border-bottom:1px solid var(--border); background:var(--topbar-bg);
  display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:0 26px; position:sticky; top:0; z-index:20;
}
.topbar-icon{
  width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  color:var(--muted); position:relative; transition:background .15s, color .15s;
}
.topbar-icon:hover{background:rgba(255,255,255,.05); color:var(--text);}
.topbar-icon svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.topbar-icon .dot{position:absolute; top:6px; right:6px; width:7px; height:7px; border-radius:50%; background:var(--red); border:2px solid var(--topbar-bg);}
.avatar{width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px;}

.content{padding:28px 32px 60px; max-width:1400px; width:100%;}

/* ---------- page header ---------- */
.page-head{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:26px; flex-wrap:wrap;}
.page-title{display:flex; align-items:center; gap:10px; font-size:24px; font-weight:700;}
.page-title svg{width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.page-sub{color:var(--muted); font-size:13.5px; margin-top:4px;}

/* ---------- cards ---------- */
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:20px;}
.card-title{display:flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; margin-bottom:2px;}
.card-title svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}
.card-sub{color:var(--muted); font-size:12.5px; margin-bottom:14px;}

/* ---------- stat grid ---------- */
.stat-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-bottom:24px;}
.stat-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px;}
.stat-card.ok{background:linear-gradient(160deg, rgba(34,197,94,.16), var(--card));}
.stat-icon{width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.stat-icon svg{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.stat-icon.blue{background:var(--blue-bg); color:var(--accent);}
.stat-icon.purple{background:var(--purple-bg); color:var(--accent-2);}
.stat-icon.green{background:var(--green-bg); color:var(--green);}
.stat-icon.yellow{background:rgba(234,179,8,.14); color:var(--yellow);}
.stat-num{font-size:21px; font-weight:800; display:flex; align-items:center; gap:8px;}
.stat-num .live-dot{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 6px var(--green);}
.stat-label{color:var(--muted); font-size:12px; margin-top:3px;}

/* ---------- chart card ---------- */
.chart-card{margin-bottom:24px;}
.chart-head{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:16px; flex-wrap:wrap; gap:10px;}
.legend{display:flex; gap:16px; font-size:12.5px; color:var(--muted);}
.legend span{display:inline-flex; align-items:center; gap:6px;}
.legend i{width:8px; height:8px; border-radius:50%; display:inline-block;}

/* ---------- bottom 3-col ---------- */
.tri-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.list-item{display:flex; align-items:center; gap:12px; padding:10px 4px; border-bottom:1px solid var(--border);}
.list-item:last-child{border-bottom:none;}
.list-rank{width:32px; height:32px; border-radius:9px; background:var(--card-2); display:flex; align-items:center; justify-content:center; font-size:15px; flex:0 0 auto;}
.list-avatar{width:32px; height:32px; border-radius:50%; background:var(--card-2); flex:0 0 auto;}
.list-name{font-weight:600; font-size:13.5px;}
.list-sub{color:var(--muted); font-size:11.5px;}
.list-item .arrow{margin-left:auto; color:var(--muted-2);}
.list-item .arrow svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2;}

/* ---------- tables ---------- */
.table-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;}
.table-toolbar{display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--border); flex-wrap:wrap; gap:12px;}
.btn{
  display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:10px; font-size:13px; font-weight:600;
  border:1px solid var(--border); background:transparent; color:var(--text); transition:background .15s, border-color .15s;
}
.btn svg{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.btn:hover{background:rgba(255,255,255,.05);}
.btn-primary{background:var(--accent); border-color:var(--accent); color:#fff;}
.btn-primary:hover{background:#2f6fe0;}
.btn-danger{background:var(--red-bg); border-color:rgba(239,68,68,.3); color:var(--red);}

table{width:100%; border-collapse:collapse;}
thead th{
  text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted);
  padding:12px 18px; border-bottom:1px solid var(--border); white-space:nowrap;
}
tbody td{padding:13px 18px; border-bottom:1px solid var(--border); font-size:13px; white-space:nowrap;}
tbody tr:hover{background:rgba(255,255,255,.02);}
tbody tr:last-child td{border-bottom:none;}
.filter-input{
  width:100%; background:var(--card-2); border:1px solid var(--border); border-radius:8px; color:var(--text);
  padding:7px 10px; font-size:12.5px; min-width:110px;
}
.filter-input:focus{outline:none; border-color:var(--accent);}
th.no-filter{padding-top:24px;}

.table-footer{display:flex; align-items:center; justify-content:space-between; padding:16px 22px; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:12.5px;}
.pager{display:flex; align-items:center; gap:4px;}
.pager button, .pager .page-num{
  width:30px; height:30px; border-radius:8px; border:1px solid var(--border); background:transparent; color:var(--muted);
  display:flex; align-items:center; justify-content:center; font-size:12.5px;
}
.pager .page-num.active{background:var(--accent); border-color:var(--accent); color:#fff;}
.pager button svg{width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2;}

/* ---------- badges ---------- */
.badge{display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:999px; font-size:11.5px; font-weight:700;}
.badge-green{background:var(--green-bg); color:var(--green);}
.badge-red{background:var(--red-bg); color:var(--red);}
.badge-blue{background:var(--blue-bg); color:var(--accent);}

/* ---------- empty state ---------- */
.empty-state{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:80px 20px; text-align:center;}
.empty-state svg{width:44px; height:44px; stroke:var(--muted-2); fill:none; stroke-width:1.5; margin-bottom:18px;}
.empty-state h3{font-size:16px; margin-bottom:8px;}
.empty-state p{color:var(--muted); font-size:13px; max-width:340px;}

/* ---------- timeline (updates page) ---------- */
.timeline{position:relative; padding-left:26px;}
.timeline::before{content:''; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background:var(--border);}
.timeline-entry{position:relative; margin-bottom:26px;}
.timeline-dot{position:absolute; left:-26px; top:22px; width:11px; height:11px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(59,130,246,.15);}
.update-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;}
.update-head{padding:18px 22px; border-bottom:1px solid var(--border);}
.update-head h3{font-size:17px;}
.update-date{display:flex; align-items:center; gap:6px; color:var(--muted); font-size:12px; margin-top:4px;}
.update-date svg{width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2;}
.update-section{margin:14px 22px; border-radius:10px; overflow:hidden; border:1px solid var(--border);}
.update-section-head{padding:9px 14px; font-weight:700; font-size:12.5px;}
.update-section.features .update-section-head{background:var(--green-bg); color:var(--green);}
.update-section.improvements .update-section-head{background:var(--orange-bg); color:var(--orange);}
.update-section.changes .update-section-head{background:var(--blue-bg); color:var(--accent);}
.update-section.bugfixes .update-section-head{background:rgba(180,83,9,.15); color:#d97706;}
.update-section ul{padding:10px 14px 14px; display:flex; flex-direction:column; gap:8px;}
.update-section li{font-size:13px; color:var(--text); display:flex; gap:8px; line-height:1.55;}
.update-section li::before{content:'›'; color:var(--muted); flex:0 0 auto;}

/* ---------- staff panel ---------- */
.promo-banner{background:var(--green-bg); border:1px solid rgba(34,197,94,.25); border-radius:var(--radius); padding:18px 20px; display:flex; gap:12px;}
.promo-banner svg{width:20px; height:20px; stroke:var(--green); fill:none; stroke-width:2; flex:0 0 auto; margin-top:1px;}
.promo-banner h4{color:var(--green); font-size:14px; margin-bottom:4px;}
.promo-banner p{color:var(--text); font-size:13px; line-height:1.6;}
.notes-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px;}
.notes-card .note-line{font-size:12.5px; color:var(--muted); line-height:1.8; border-bottom:1px dashed var(--border); padding-bottom:6px; margin-bottom:6px;}
.notes-card .note-line:last-child{border-bottom:none; margin-bottom:0;}
.progress-bar-track{height:8px; border-radius:99px; background:var(--card-2); overflow:hidden; margin:10px 0;}
.progress-bar-fill{height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); border-radius:99px;}
.form-row{display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:end;}
.form-field label{display:block; font-size:12px; color:var(--muted); margin-bottom:6px;}
.form-field input{width:100%; background:var(--card-2); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:10px 12px; font-size:13px;}

/* ---------- login page ---------- */
.login-wrap{min-height:100vh; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse 60% 50% at 50% 0%, rgba(59,130,246,.12), var(--bg));}
.login-card{width:380px; background:var(--card); border:1px solid var(--border); border-radius:18px; padding:34px 30px;}
.login-logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px; margin-bottom:26px; justify-content:center;}
.login-logo .badge{width:30px; height:30px; border-radius:8px; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:14px;}
.login-field{margin-bottom:16px;}
.login-field label{display:block; font-size:12.5px; color:var(--muted); margin-bottom:6px;}
.login-field input{width:100%; background:var(--card-2); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:11px 13px; font-size:13.5px;}
.login-field input:focus{outline:none; border-color:var(--accent);}
.login-error{background:var(--red-bg); border:1px solid rgba(239,68,68,.3); color:var(--red); font-size:12.5px; padding:10px 12px; border-radius:9px; margin-bottom:16px;}
.login-hint{background:var(--blue-bg); border:1px solid rgba(59,130,246,.25); color:#93bbfb; font-size:12px; padding:10px 12px; border-radius:9px; margin-bottom:18px; line-height:1.6;}
.login-submit{width:100%; padding:12px; border-radius:10px; background:var(--accent); border:none; color:#fff; font-weight:700; font-size:13.5px; margin-top:6px;}
.login-submit:hover{background:#2f6fe0;}

@media(max-width:1100px){ .stat-grid{grid-template-columns:repeat(3,1fr);} .tri-grid{grid-template-columns:1fr;} }
@media(max-width:760px){
  .sidebar{position:fixed; left:-260px; z-index:100; transition:left .2s; box-shadow:0 0 40px rgba(0,0,0,.5);}
  .sidebar.open{left:0;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .content{padding:20px 16px 50px;}
  .form-row{grid-template-columns:1fr;}
}

/* ============================================================
   POLISH — glow, gradient cards, richer components
   ============================================================ */
.sidebar{background:linear-gradient(180deg, #0b1428, #0a1020); border-right:1px solid var(--border);}
.sidebar-logo .badge{background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#04121c; box-shadow:0 4px 18px -4px var(--glow);}
.nav-item.active{
  background:linear-gradient(90deg, rgba(63,208,255,.16), rgba(63,208,255,.04));
  color:#fff; box-shadow:inset 2px 0 0 var(--accent);
}
.nav-section{opacity:.8;}

.topbar{background:linear-gradient(180deg, rgba(13,20,38,.9), rgba(11,19,36,.7)); backdrop-filter:blur(10px);}

.page-title svg{filter:drop-shadow(0 0 8px var(--glow));}

/* ---- cards ---- */
.card, .table-card, .update-card, .notes-card{
  background:linear-gradient(180deg, var(--card-2), var(--card));
  border:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 18px 40px -24px rgba(0,0,0,.7);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.card:hover, .table-card:hover{border-color:var(--border-hi);}

.stat-card{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--card-2), var(--card));
  border:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 16px 34px -24px rgba(0,0,0,.7);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.stat-card::before{
  content:''; position:absolute; inset:0 auto auto 0; height:2px; width:100%;
  background:linear-gradient(90deg, transparent, var(--accent), transparent); opacity:.5;
}
.stat-card:hover{transform:translateY(-2px); border-color:var(--border-hi); box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 22px 44px -22px rgba(0,0,0,.75), 0 0 0 1px rgba(63,208,255,.06);}
.stat-card.ok{background:linear-gradient(160deg, rgba(46,230,160,.14), var(--card));}
.stat-num{font-weight:800; letter-spacing:-.01em;}

.btn-primary{
  background:linear-gradient(135deg,var(--accent),#2bb6ec); border-color:transparent; color:#04121c; font-weight:700;
  box-shadow:0 8px 22px -8px var(--glow);
}
.btn-primary:hover{background:linear-gradient(135deg,#57d8ff,#33a9df); box-shadow:0 10px 26px -6px var(--glow);}
.btn:hover{border-color:var(--border-hi);}

.progress-bar-track{background:rgba(255,255,255,.06); height:9px;}
.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-2)); box-shadow:0 0 12px -1px var(--glow);}

.badge-green{background:var(--green-bg); color:var(--green);}
.badge-red{background:var(--red-bg); color:var(--red);}
.badge-blue{background:var(--blue-bg); color:var(--accent);}
.badge{border:1px solid rgba(255,255,255,.06);}

thead th{background:rgba(255,255,255,.015);}
tbody tr:hover{background:rgba(63,208,255,.04);}

.filter-input, .form-field input, .login-field input{background:rgba(255,255,255,.03);}
.filter-input:focus, .form-field input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(63,208,255,.12);}

/* ---- generic key/value + section label ---- */
.section-label{font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); margin:2px 0 10px;}
.mini-grid{display:grid; gap:14px;}

/* ---- vehicle list (full-width, click to expand) ---- */
.veh-list{display:flex; flex-direction:column; gap:10px; margin-top:10px;}
.veh-item{
  position:relative; border-radius:14px; overflow:hidden;
  background:linear-gradient(160deg, rgba(63,208,255,.07), rgba(255,255,255,.015));
  border:1px solid var(--border);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 12px 30px -22px rgba(0,0,0,.7);
  transition:border-color .16s, box-shadow .16s;
}
.veh-item:hover{border-color:var(--border-hi); box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 16px 34px -20px rgba(0,0,0,.7), 0 0 24px -14px var(--glow);}
.veh-item::before{content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--accent),var(--accent-2));}
.veh-summary{display:flex; align-items:center; gap:14px; padding:15px 18px; cursor:pointer; user-select:none;}
.veh-num{width:30px; height:30px; flex:0 0 auto; border-radius:9px; display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; color:var(--accent); background:rgba(63,208,255,.12); border:1px solid rgba(63,208,255,.22);}
.veh-name{font-weight:700; font-size:14px; text-transform:capitalize; letter-spacing:.01em; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.veh-vip{font-size:9.5px; font-weight:800; padding:3px 9px; border-radius:999px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#04121c;}
.veh-chev{width:16px; height:16px; flex:0 0 auto; color:var(--muted); transition:transform .2s;}
.veh-item.open .veh-chev{transform:rotate(90deg); color:var(--accent);}
.veh-detail{max-height:0; overflow:hidden; transition:max-height .28s ease;}
.veh-item.open .veh-detail{max-height:600px;}
.veh-detail-in{padding:2px 18px 16px 62px;}
.veh-kv{display:flex; justify-content:space-between; gap:12px; font-size:12px; padding:7px 0; border-bottom:1px solid var(--border);}
.veh-kv:last-child{border-bottom:none;}
.veh-kv span{color:var(--muted);}
.veh-kv b{color:var(--text); font-weight:700;}
.veh-kv .plate{font-family:ui-monospace,Menlo,Consolas,monospace; letter-spacing:.1em; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:6px; padding:2px 9px;}
.veh-none{color:var(--muted); font-size:12px; padding:8px 0;}

/* ---- job accordion (2 big long cards) ---- */
.job-acc{display:flex; flex-direction:column; gap:14px;}
.acc{
  border-radius:16px; overflow:hidden; border:1px solid var(--border);
  background:linear-gradient(180deg, var(--card-2), var(--card));
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 16px 38px -24px rgba(0,0,0,.7);
  transition:border-color .16s, box-shadow .16s;
}
.acc:hover{border-color:var(--border-hi); box-shadow:0 1px 0 rgba(255,255,255,.06) inset, 0 20px 44px -22px rgba(0,0,0,.75), 0 0 28px -16px var(--glow);}
.acc-head{display:flex; align-items:center; gap:14px; padding:18px 20px; cursor:pointer; user-select:none;}
.acc-ico{width:40px; height:40px; flex:0 0 auto; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:19px;
  background:linear-gradient(160deg, rgba(63,208,255,.18), rgba(123,108,255,.12)); border:1px solid rgba(63,208,255,.2);}
.acc.illegal .acc-ico{background:linear-gradient(160deg, rgba(255,84,112,.16), rgba(255,182,72,.12)); border-color:rgba(255,84,112,.22);}
.acc-title{font-weight:700; font-size:15px; flex:1 1 auto;}
.acc-title small{display:block; color:var(--muted); font-size:11.5px; font-weight:500; margin-top:2px;}
.acc-chev{width:17px; height:17px; color:var(--muted); transition:transform .2s;}
.acc.open .acc-chev{transform:rotate(90deg); color:var(--accent);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc.open .acc-body{max-height:3000px;}
.acc-body-in{padding:4px 18px 18px; display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px;}

.job-sub{border-radius:13px; padding:13px 14px; background:rgba(255,255,255,.025); border:1px solid var(--border); transition:border-color .14s;}
.job-sub:hover{border-color:var(--border-hi);}
.job-sub.off{opacity:.55;}
.job-sub-top{display:flex; align-items:center; gap:10px; margin-bottom:9px;}
.job-chip{width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px;
  background:linear-gradient(160deg, rgba(63,208,255,.16), rgba(123,108,255,.1)); border:1px solid rgba(63,208,255,.18);}
.job-sub.off .job-chip{background:rgba(255,255,255,.04); border-color:var(--border); filter:grayscale(1);}
.job-name{font-weight:700; font-size:12.5px; line-height:1.15;}
.lvl-pill{margin-left:auto; font-size:10.5px; font-weight:800; padding:3px 9px; border-radius:999px; white-space:nowrap;
  background:linear-gradient(135deg, rgba(63,208,255,.2), rgba(123,108,255,.18)); color:var(--accent); border:1px solid rgba(63,208,255,.24);}
.lvl-pill.na{background:rgba(255,255,255,.05); color:var(--muted); border-color:var(--border);}
.job-xp{color:var(--muted-2); font-size:10px; margin-top:5px; letter-spacing:.02em;}
.job-meta{color:var(--muted); font-size:11px; margin-top:9px; padding-top:9px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:4px;}
.job-meta span{display:flex; justify-content:space-between; gap:10px;}
.job-meta b{color:var(--text); font-weight:700;}

/* ---- promo card states ---- */
.promo{border-left:3px solid var(--orange);}
.promo.ok{border-left-color:var(--green);}
.promo.bad{border-left-color:var(--red);}
.promo.max{border-left-color:var(--accent-2);}

/* ---- tickets ---- */
.tkt-row{display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid var(--border); transition:background .12s;}
.tkt-row:last-child{border-bottom:none;}
.tkt-row:hover{background:rgba(63,208,255,.04);}
.tkt-row a.tkt-subj{font-weight:700; font-size:13.5px; color:var(--text);}
.tkt-row a.tkt-subj:hover{color:var(--accent);}
.tkt-meta{color:var(--muted); font-size:11.5px; margin-top:2px;}
.tkt-status{margin-left:auto; flex:0 0 auto;}
.st-open{background:var(--blue-bg); color:var(--accent);}
.st-claimed{background:var(--orange-bg); color:var(--orange);}
.st-closed{background:rgba(255,255,255,.06); color:var(--muted);}
.tab-bar{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:18px;}
.tab-bar a{padding:8px 14px; border-radius:10px; font-size:12.5px; font-weight:700; border:1px solid var(--border); color:var(--muted); background:rgba(255,255,255,.02);}
.tab-bar a.on{background:linear-gradient(135deg, rgba(63,208,255,.18), rgba(123,108,255,.14)); color:var(--accent); border-color:rgba(63,208,255,.28);}
.tab-bar a .n{opacity:.7; font-weight:600;}

.thread{display:flex; flex-direction:column; gap:12px; margin:6px 0 16px;}
.msg{max-width:80%; padding:11px 14px; border-radius:14px; font-size:13px; line-height:1.55; border:1px solid var(--border); white-space:pre-wrap; word-break:break-word;}
.msg .who{font-size:11px; font-weight:800; margin-bottom:4px; letter-spacing:.02em;}
.msg .when{font-size:10px; color:var(--muted-2); margin-top:5px;}
.msg.them{align-self:flex-start; background:linear-gradient(180deg, var(--card-2), var(--card));}
.msg.mine{align-self:flex-end; background:linear-gradient(135deg, rgba(63,208,255,.16), rgba(123,108,255,.12)); border-color:rgba(63,208,255,.24);}
.msg.staff .who{color:var(--accent);}
.msg.sys{align-self:center; max-width:100%; background:transparent; border:1px dashed var(--border); color:var(--muted); font-size:11.5px; padding:6px 12px; border-radius:999px;}
.reply-box{display:flex; gap:10px; align-items:flex-end;}
.reply-box textarea{flex:1; min-height:52px; resize:vertical; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:12px; color:var(--text); padding:11px 13px; font-size:13px; font-family:inherit;}
.reply-box textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(63,208,255,.12);}
.tkt-side .kv{display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:8px 0; border-bottom:1px solid var(--border); align-items:center;}
.tkt-side .kv:last-child{border-bottom:none;}
.tkt-side .kv span{color:var(--muted);}
.tkt-actions{display:flex; flex-wrap:wrap; gap:8px;}
.chip{display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:700; background:rgba(255,255,255,.05); border:1px solid var(--border); color:var(--muted); margin:2px 3px 0 0;}

/* circle icon for a ticket category / list row */
.tkt-ico{width:38px; height:38px; flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, rgba(63,208,255,.18), rgba(123,108,255,.12)); border:1px solid rgba(63,208,255,.2);}
.tkt-ico svg{width:17px; height:17px; stroke:var(--accent); fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;}
.tkt-ico.c-bug{background:linear-gradient(160deg, rgba(255,84,112,.16), rgba(255,84,112,.06)); border-color:rgba(255,84,112,.24);}
.tkt-ico.c-bug svg{stroke:var(--red);}
.tkt-ico.c-plangere{background:linear-gradient(160deg, rgba(255,182,72,.16), rgba(255,182,72,.06)); border-color:rgba(255,182,72,.24);}
.tkt-ico.c-plangere svg{stroke:var(--orange);}
.tkt-ico.c-intrebare{background:linear-gradient(160deg, rgba(46,230,160,.14), rgba(46,230,160,.05)); border-color:rgba(46,230,160,.22);}
.tkt-ico.c-intrebare svg{stroke:var(--green);}

.tkt-row .tkt-status{border:1px solid transparent;}
.tkt-hero{display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:14px; margin-bottom:16px;
  background:linear-gradient(120deg, rgba(63,208,255,.1), rgba(123,108,255,.06)); border:1px solid rgba(63,208,255,.18);}
.tkt-hero .who-av{width:44px; height:44px; border-radius:50%; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:15px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#04121c;}
.tkt-hero h3{font-size:15px;}
.tkt-hero .sub{color:var(--muted); font-size:12px; margin-top:2px;}

.cat-select{display:flex; gap:8px; flex-wrap:wrap;}
.cat-opt{cursor:pointer;}
.cat-opt input{position:absolute; opacity:0;}
.cat-opt span{display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border-radius:11px; font-size:12.5px; font-weight:700;
  border:1px solid var(--border); background:rgba(255,255,255,.02); color:var(--muted);}
.cat-opt input:checked + span{border-color:rgba(63,208,255,.4); background:linear-gradient(135deg, rgba(63,208,255,.16), rgba(123,108,255,.12)); color:var(--accent);}

@media(max-width:900px){ .msg{max-width:92%;} .tri-grid[style*="300px"]{grid-template-columns:1fr !important;} }

@media(max-width:1100px){ .stat-card .stat-num{font-size:19px;} }

/* ============================================================================
   V2 — clean modern redesign (matches provided mockups)
   Blue accent, flat cards, minimal glow, Material Symbols icons.
   ============================================================================ */
:root{
  --bg:#0b1020;
  --sidebar-bg:#0d1426;
  --topbar-bg:#0d1426;
  --card:#141b2e;
  --card-2:#161e33;
  --border:rgba(255,255,255,.08);
  --border-hi:rgba(120,160,255,.28);
  --text:#eef1f8;
  --muted:#96a0b8;
  --muted-2:#6b7691;
  --accent:#4f8ef7;
  --accent-2:#7c6cf0;
  --accent-rgb:79,142,247;
  --glow:rgba(79,142,247,.22);
  --green:#33d68a; --green-bg:rgba(51,214,138,.12);
  --red:#f5546e;   --red-bg:rgba(245,84,110,.12);
  --orange:#f7a83a;--orange-bg:rgba(247,168,58,.12);
  --gold:#f5c518;
  --radius:16px;
}
body{background-image:radial-gradient(1100px 600px at 15% -10%, rgba(79,142,247,.08), transparent 60%);}

.mi{font-family:'Material Symbols Rounded'; font-weight:400; font-style:normal; line-height:1;
  letter-spacing:normal; text-transform:none; display:inline-block; white-space:nowrap; direction:ltr;
  -webkit-font-smoothing:antialiased; font-size:20px; user-select:none;}

/* kill the heavy glow from earlier passes */
.card,.table-card,.update-card,.notes-card,.stat-card{
  box-shadow:0 1px 2px rgba(0,0,0,.25), 0 8px 24px -18px rgba(0,0,0,.6) !important;
  background:var(--card) !important;
}
.card:hover,.table-card:hover,.stat-card:hover{transform:none !important; border-color:var(--border-hi) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.25), 0 10px 28px -16px rgba(0,0,0,.65) !important;}
.stat-card::before{display:none;}
.btn-primary{background:var(--accent); box-shadow:none; color:#fff;}
.btn-primary:hover{background:#3f7de6; box-shadow:none;}
.progress-bar-fill{box-shadow:none;}
.page-title svg{filter:none;}
.nav-item.active{box-shadow:inset 2px 0 0 var(--accent); background:rgba(79,142,247,.12);}

/* ---------- rounded-square colored icon (reference style) ---------- */
.ico-sq{width:44px; height:44px; flex:0 0 auto; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:rgba(79,142,247,.14); color:var(--accent); border:1px solid rgba(79,142,247,.2);}
.ico-sq .mi{font-size:22px;}
.ico-sq.green {background:rgba(51,214,138,.14); color:var(--green); border-color:rgba(51,214,138,.22);}
.ico-sq.teal  {background:rgba(45,212,191,.14); color:#2dd4bf; border-color:rgba(45,212,191,.22);}
.ico-sq.purple{background:rgba(139,110,246,.16); color:#a78bfa; border-color:rgba(139,110,246,.24);}
.ico-sq.indigo{background:rgba(99,102,241,.16); color:#818cf8; border-color:rgba(99,102,241,.24);}
.ico-sq.gold  {background:rgba(245,197,24,.15); color:var(--gold); border-color:rgba(245,197,24,.24);}
.ico-sq.pink  {background:rgba(244,114,182,.15); color:#f472b6; border-color:rgba(244,114,182,.24);}
.ico-sq.red   {background:rgba(245,84,110,.14); color:var(--red); border-color:rgba(245,84,110,.24);}
.ico-sq.orange{background:rgba(247,168,58,.15); color:var(--orange); border-color:rgba(247,168,58,.24);}
.ico-sq.cyan  {background:rgba(56,189,248,.15); color:#38bdf8; border-color:rgba(56,189,248,.24);}
.ico-sq.brown {background:rgba(180,120,80,.16); color:#c98b5e; border-color:rgba(180,120,80,.26);}

/* ---------- profile: cover + avatar ---------- */
.pcover{position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--border);
  background:linear-gradient(180deg,#1b2540,#0f1626); margin-bottom:20px;}
.pcover-bg{position:absolute; inset:0; background:
  radial-gradient(120% 140% at 50% -20%, rgba(79,142,247,.28), transparent 55%),
  radial-gradient(80% 80% at 80% 120%, rgba(124,108,240,.22), transparent 60%); opacity:.9;}
.pcover-in{position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:34px 20px 26px;}
.pavatar{width:96px; height:96px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:30px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border:4px solid rgba(255,255,255,.12); position:relative; box-shadow:0 8px 30px -8px rgba(0,0,0,.5);}
.pavatar .dot{position:absolute; right:4px; bottom:4px; width:16px; height:16px; border-radius:50%;
  background:var(--green); border:3px solid #131b2d;}
.pavatar .dot.off{background:var(--muted-2);}
.pname{font-size:22px; font-weight:800; margin-top:14px; letter-spacing:.2px;}
.pmeta{color:var(--muted); font-size:13px; margin-top:3px;}
.prank{margin-top:8px; display:inline-flex; align-items:center; gap:7px; padding:4px 12px; border-radius:999px;
  font-size:12px; font-weight:700; background:rgba(79,142,247,.14); color:var(--accent); border:1px solid rgba(79,142,247,.22);}

/* two wide hero cards */
.hero-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.hero-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:22px; text-align:center;}
.hero-card .ico-sq{width:54px; height:54px; border-radius:50%; margin:0 auto 14px;}
.hero-card .ico-sq .mi{font-size:26px;}
.hero-card .lbl{font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);}
.hero-card .val{font-size:20px; font-weight:800; margin-top:6px;}

/* ---------- colored stat tiles (reference image 4) ---------- */
.tile-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px;}
.tile{position:relative; border-radius:16px; padding:16px; min-height:104px; display:flex; align-items:flex-start; gap:12px;
  background:var(--card); border:1px solid var(--border); overflow:hidden;}
.tile .ico-sq{width:40px; height:40px; border-radius:12px;}
.tile-body{flex:1; min-width:0; text-align:right;}
.tile-lbl{font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); line-height:1.35;}
.tile-val{font-size:19px; font-weight:800; margin-top:6px; word-break:break-word;}
.tile.t-green {background:linear-gradient(150deg, rgba(51,214,138,.16), rgba(51,214,138,.03));  border-color:rgba(51,214,138,.22);}
.tile.t-teal  {background:linear-gradient(150deg, rgba(45,212,191,.15), rgba(45,212,191,.03));  border-color:rgba(45,212,191,.2);}
.tile.t-purple{background:linear-gradient(150deg, rgba(139,110,246,.16), rgba(139,110,246,.03)); border-color:rgba(139,110,246,.22);}
.tile.t-indigo{background:linear-gradient(150deg, rgba(99,102,241,.16), rgba(99,102,241,.03));   border-color:rgba(99,102,241,.22);}
.tile.t-gold  {background:linear-gradient(150deg, rgba(245,197,24,.15), rgba(245,197,24,.03));   border-color:rgba(245,197,24,.22);}
.tile.t-pink  {background:linear-gradient(150deg, rgba(244,114,182,.15), rgba(244,114,182,.03)); border-color:rgba(244,114,182,.22);}
.tile.t-blue  {background:linear-gradient(150deg, rgba(79,142,247,.15), rgba(79,142,247,.03));   border-color:rgba(79,142,247,.22);}
.tile.t-red   {background:linear-gradient(150deg, rgba(245,84,110,.15), rgba(245,84,110,.03));   border-color:rgba(245,84,110,.22);}
.tile.t-cyan  {background:linear-gradient(150deg, rgba(56,189,248,.15), rgba(56,189,248,.03));   border-color:rgba(56,189,248,.22);}
.tile.t-orange{background:linear-gradient(150deg, rgba(247,168,58,.15), rgba(247,168,58,.03));   border-color:rgba(247,168,58,.22);}
@media(max-width:1000px){ .tile-grid{grid-template-columns:repeat(2,1fr);} .hero-cards{grid-template-columns:1fr;} }

/* ---------- generic section card ---------- */
.sec{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:20px; overflow:hidden;}
.sec-head{display:flex; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--border);}
.sec-head .ico-sq{width:34px; height:34px; border-radius:10px;}
.sec-head .ico-sq .mi{font-size:18px;}
.sec-title{font-size:15px; font-weight:700;}
.sec-title small{display:block; color:var(--muted); font-size:11.5px; font-weight:500; margin-top:2px;}
.sec-body{padding:16px 20px 20px;}

/* ---------- vehicle list v2 (no icons, clean, click to expand) ---------- */
.veh-list{display:flex; flex-direction:column; gap:10px;}
.veh-item{border:1px solid var(--border); border-radius:14px; overflow:hidden; background:var(--card-2); transition:border-color .15s;}
.veh-item:hover{border-color:var(--border-hi);}
.veh-item::before{display:none;}
.veh-summary{display:flex; align-items:center; gap:14px; padding:15px 18px; cursor:pointer; user-select:none;}
.veh-num{width:28px; height:28px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  font-size:12px; font-weight:800; color:var(--accent); background:rgba(79,142,247,.12); border:1px solid rgba(79,142,247,.2);}
.veh-name{font-weight:700; font-size:14px; text-transform:capitalize; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.veh-vip{font-size:10px; font-weight:800; padding:3px 9px; border-radius:999px; background:var(--accent); color:#fff;}
.veh-chev{color:var(--muted); font-size:20px; transition:transform .2s;}
.veh-item.open .veh-chev{transform:rotate(180deg); color:var(--accent);}
.veh-detail{max-height:0; overflow:hidden; transition:max-height .28s ease;}
.veh-item.open .veh-detail{max-height:640px;}
.veh-detail-in{padding:2px 18px 16px 60px;}
.veh-kv{display:flex; justify-content:space-between; gap:12px; font-size:12.5px; padding:8px 0; border-bottom:1px solid var(--border);}
.veh-kv:last-child{border-bottom:none;}
.veh-kv span{color:var(--muted);}
.veh-kv b{color:var(--text); font-weight:700;}
.veh-kv .plate{font-family:ui-monospace,Menlo,Consolas,monospace; letter-spacing:.12em; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:6px; padding:2px 10px;}
.veh-none{color:var(--muted); font-size:12px; padding:8px 0;}

/* ---------- job accordion v2 ---------- */
.job-acc{display:flex; flex-direction:column; gap:16px;}
.acc{border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--card);}
.acc:hover{border-color:var(--border-hi); box-shadow:none;}
.acc-head{display:flex; align-items:center; gap:14px; padding:18px 20px; cursor:pointer; user-select:none;}
.acc-ico{width:40px; height:40px; flex:0 0 auto; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(79,142,247,.14); color:var(--accent); border:1px solid rgba(79,142,247,.2);}
.acc-ico .mi{font-size:20px;}
.acc.illegal .acc-ico{background:rgba(245,84,110,.13); color:var(--red); border-color:rgba(245,84,110,.22);}
.acc-title{font-weight:700; font-size:15px; flex:1 1 auto;}
.acc-title small{display:block; color:var(--muted); font-size:11.5px; font-weight:500; margin-top:2px;}
.acc-chev{color:var(--muted); font-size:22px; transition:transform .2s;}
.acc.open .acc-chev{transform:rotate(180deg); color:var(--accent);}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.acc.open .acc-body{max-height:4000px;}
.acc-body-in{padding:6px 18px 18px; display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px;}
.job-sub{border:1px solid var(--border); border-radius:13px; padding:14px; background:var(--card-2);}
.job-sub.off{opacity:.5;}
.job-sub-top{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.job-chip{width:34px; height:34px; flex:0 0 auto; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px;
  background:rgba(79,142,247,.12); border:1px solid rgba(79,142,247,.18);}
.job-sub.off .job-chip{background:rgba(255,255,255,.04); border-color:var(--border); filter:grayscale(1);}
.job-name{font-weight:700; font-size:12.5px;}
.lvl-pill{margin-left:auto; font-size:10.5px; font-weight:800; padding:3px 10px; border-radius:999px; white-space:nowrap;
  background:rgba(79,142,247,.16); color:var(--accent); border:1px solid rgba(79,142,247,.24);}
.lvl-pill.na{background:rgba(255,255,255,.05); color:var(--muted); border-color:var(--border);}
.job-xp{color:var(--muted-2); font-size:10px; margin-top:5px;}
.job-meta{color:var(--muted); font-size:11px; margin-top:10px; padding-top:10px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:5px;}
.job-meta span{display:flex; justify-content:space-between; gap:10px;}
.job-meta b{color:var(--text); font-weight:700;}

/* ---------- inventory table ---------- */
.inv-item{display:flex; align-items:center; gap:11px;}
.inv-thumb{width:34px; height:34px; border-radius:9px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.04); border:1px solid var(--border); color:var(--muted-2);}
.inv-thumb .mi{font-size:18px;}
.inv-name{font-weight:700; font-size:12.5px; text-transform:capitalize;}
.inv-name small{display:block; color:var(--muted-2); font-size:10.5px; font-weight:500; text-transform:none;}

/* ---------- support: tabs + category cards + empty ---------- */
.st-tabs{display:flex; gap:26px; border-bottom:1px solid var(--border); margin-bottom:20px;}
.st-tabs a{display:flex; align-items:center; gap:9px; padding:12px 2px; font-size:13.5px; font-weight:700; color:var(--muted);
  border-bottom:2px solid transparent; margin-bottom:-1px;}
.st-tabs a.on{color:var(--text); border-bottom-color:var(--accent);}
.st-tabs a .mi{font-size:18px;}
.st-tabs a .cnt{min-width:20px; height:20px; padding:0 6px; border-radius:999px; background:rgba(255,255,255,.08); color:var(--muted);
  font-size:11px; font-weight:800; display:inline-flex; align-items:center; justify-content:center;}
.st-tabs a.on .cnt{background:rgba(79,142,247,.18); color:var(--accent);}

.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media(max-width:900px){ .cat-grid{grid-template-columns:1fr;} }
.cat-card{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:20px;
  transition:border-color .15s, transform .15s; min-height:190px;}
.cat-card:hover{border-color:var(--border-hi); transform:translateY(-2px);}
.cat-card.soon{opacity:.55; pointer-events:none;}
.cat-card .ico-sq{margin-bottom:14px;}
.cat-card h4{font-size:16px; font-weight:800; line-height:1.25;}
.cat-card p{color:var(--muted); font-size:12.5px; margin-top:8px; flex:1 1 auto; line-height:1.6;}
.cat-card .go{display:inline-flex; align-items:center; gap:6px; color:var(--accent); font-size:12.5px; font-weight:700; margin-top:14px;}
.cat-card .go .mi{font-size:16px;}

.tkt-empty{display:flex; flex-direction:column; align-items:center; text-align:center; padding:60px 24px; color:var(--muted);}
.tkt-empty .ico-sq{width:64px; height:64px; border-radius:18px; margin-bottom:18px; background:rgba(255,255,255,.04); border-color:var(--border); color:var(--muted-2);}
.tkt-empty .ico-sq .mi{font-size:30px;}
.tkt-empty h3{color:var(--text); font-size:17px; margin-bottom:8px;}
.tkt-empty p{font-size:13px; max-width:380px; line-height:1.6;}

/* ticket rows v2 */
.tkt-row{display:flex; align-items:center; gap:14px; padding:15px 18px; border-bottom:1px solid var(--border);}
.tkt-row:last-child{border-bottom:none;}
.tkt-row:hover{background:rgba(255,255,255,.02);}
.tkt-ico{width:40px; height:40px; border-radius:12px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  background:rgba(79,142,247,.13); color:var(--accent); border:1px solid rgba(79,142,247,.2);}
.tkt-ico svg{display:none;}
.tkt-ico .mi{font-size:20px;}
.tkt-ico.c-bug,.tkt-ico.cheat{background:rgba(245,84,110,.13); color:var(--red); border-color:rgba(245,84,110,.22);}
.tkt-ico.c-plangere,.tkt-ico.staff,.tkt-ico.player{background:rgba(247,168,58,.14); color:var(--orange); border-color:rgba(247,168,58,.22);}
.tkt-ico.c-intrebare,.tkt-ico.question{background:rgba(51,214,138,.13); color:var(--green); border-color:rgba(51,214,138,.22);}
.tkt-subj{font-weight:700; font-size:13.5px; color:var(--text);}
.tkt-subj:hover{color:var(--accent);}
.tkt-meta{color:var(--muted); font-size:11.5px; margin-top:3px;}
.tkt-status{margin-left:auto; font-size:11px; font-weight:800; padding:4px 11px; border-radius:999px;}
.st-open{background:rgba(79,142,247,.15); color:var(--accent);}
.st-claimed{background:rgba(247,168,58,.15); color:var(--orange);}
.st-closed{background:rgba(255,255,255,.06); color:var(--muted);}

/* ticket detail v2 */
.tkt-hero{display:flex; align-items:center; gap:14px; padding:18px 20px; border-radius:16px; margin-bottom:18px;
  background:var(--card); border:1px solid var(--border);}
.tkt-hero .who-av{width:46px; height:46px; border-radius:50%; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:15px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#fff;}
.tkt-hero h3{font-size:16px;}
.tkt-hero .sub{color:var(--muted); font-size:12px; margin-top:3px;}
.thread{display:flex; flex-direction:column; gap:12px; margin:6px 0 18px;}
.msg{max-width:78%; padding:12px 15px; border-radius:16px; font-size:13px; line-height:1.55; white-space:pre-wrap; word-break:break-word; border:1px solid var(--border);}
.msg.them{align-self:flex-start; background:var(--card-2);}
.msg.mine{align-self:flex-end; background:var(--accent); border-color:transparent; color:#fff;}
.msg.mine .who,.msg.mine .when{color:rgba(255,255,255,.8);}
.msg.staff.them .who{color:var(--accent);}
.msg .who{font-size:11px; font-weight:800; margin-bottom:5px;}
.msg .when{font-size:10px; color:var(--muted-2); margin-top:6px;}
.msg.sys{align-self:center; max-width:100%; background:transparent; border:1px dashed var(--border); color:var(--muted); font-size:11px; padding:5px 14px; border-radius:999px;}
.reply-box textarea{background:var(--card-2); border-color:var(--border);}
.reply-box textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(79,142,247,.14);}
.cat-select{display:flex; gap:8px; flex-wrap:wrap;}
.cat-opt input{position:absolute; opacity:0;}
.cat-opt span{display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:11px; font-size:12.5px; font-weight:700; cursor:pointer;
  border:1px solid var(--border); background:var(--card-2); color:var(--muted);}
.cat-opt input:checked + span{border-color:var(--accent); background:rgba(79,142,247,.14); color:var(--accent);}

.mini-box{display:inline-flex; align-items:center; gap:4px; padding:10px 14px; border:1px solid var(--border); border-radius:12px;
  background:var(--card); font-size:12px; line-height:1.5; color:var(--muted);}
.mini-box b{color:var(--accent); font-weight:800;}

@media(max-width:900px){ .msg{max-width:92%;} }

/* ============================================================================
   V3 — ticket detail (matches B-Zone style reference)
   ============================================================================ */
.tkt-facts{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:12px; color:var(--muted); font-size:12px;}
.tkt-facts span{display:inline-flex; align-items:center; gap:6px;}
.tkt-facts .mi{font-size:15px; opacity:.85;}
.tkt-facts .ok{color:var(--green);}

.parts-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 18px;}
@media(max-width:800px){ .parts-grid{grid-template-columns:1fr;} }
.part-lbl{display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; color:var(--muted); margin-bottom:8px;}
.part-lbl .mi{font-size:16px;}
.part-lbl.purple{color:#b39aff;} .part-lbl.green{color:#4fdd9d;} .part-lbl.red{color:#ff7a8f;}
.part-card{border:1px solid var(--border); border-radius:12px; padding:13px 15px; background:var(--card-2); font-size:13px; display:flex; align-items:center; flex-wrap:wrap; gap:8px;}
.part-card.purple{background:rgba(139,110,246,.1); border-color:rgba(139,110,246,.28); border-left:3px solid #8b6ef6;}
.part-card.green{background:rgba(51,214,138,.09); border-color:rgba(51,214,138,.26); border-left:3px solid var(--green);}
.part-card.red{background:rgba(245,84,110,.09); border-color:rgba(245,84,110,.26); border-left:3px solid var(--red);}
.part-card.empty{color:var(--muted-2); font-size:12px; background:rgba(255,255,255,.02);}
.part-card.empty .mi{font-size:15px; margin-right:5px; vertical-align:-2px;}
.part-card b{font-weight:800;}
.part-card .pid{color:var(--muted); font-size:11.5px;}
.part-tag{display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:800; padding:3px 9px; border-radius:999px; letter-spacing:.02em;}
.part-tag .mi{font-size:13px;}
.part-tag.purple{background:rgba(139,110,246,.2); color:#c4b2ff;}
.part-tag.green{background:rgba(51,214,138,.18); color:#5fe6ac;}
.part-tag.red{background:rgba(245,84,110,.18); color:#ff8fa1;}

/* conversation */
.conv{display:flex; flex-direction:column; gap:14px;}
.conv-msg{border:1px solid var(--border); border-radius:12px; padding:14px 16px; background:var(--card-2);}
.conv-msg.green{border-left:3px solid var(--green); background:rgba(51,214,138,.07);}
.conv-msg.red{border-left:3px solid var(--red);}
.conv-msg.purple{}
.conv-msg.you{background:rgba(79,142,247,.08); border-color:rgba(79,142,247,.28);}
.cm-head{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-bottom:9px;}
.cm-head b{font-weight:800; font-size:13px;}
.cm-time{margin-left:auto; color:var(--muted-2); font-size:11px; white-space:nowrap;}
.cm-body{font-size:13px; line-height:1.6; color:var(--text); word-break:break-word;}
.role-badge{display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:800; padding:3px 9px; border-radius:999px;}
.role-badge .mi{font-size:13px;}
.role-badge.green{background:rgba(51,214,138,.16); color:#5fe6ac;}
.role-badge.red{background:rgba(245,84,110,.16); color:#ff8fa1;}
.role-badge.purple{background:rgba(139,110,246,.18); color:#c4b2ff;}
.role-badge.blue{background:rgba(79,142,247,.18); color:#8fbaff;}
.conv-sys{align-self:center; display:inline-flex; align-items:center; gap:6px; font-size:11px; color:var(--muted); padding:5px 14px;
  border:1px dashed var(--border); border-radius:999px;}
.conv-sys .mi{font-size:14px;}

.yt{display:block; position:relative; margin-top:10px; border-radius:12px; overflow:hidden; max-width:520px; border:1px solid var(--border);}
.yt img{width:100%; display:block;}
.yt-play{position:absolute; inset:0; margin:auto; width:56px; height:56px; font-size:56px; color:#fff; opacity:.92; filter:drop-shadow(0 3px 10px rgba(0,0,0,.6));}

.closed-bar{margin-top:14px; display:flex; align-items:center; gap:9px; padding:12px 16px; border-radius:12px; font-size:12.5px; font-weight:700;
  background:rgba(247,168,58,.1); border:1px solid rgba(247,168,58,.3); color:var(--orange);}
.closed-bar .mi{font-size:17px;}

/* ============================================================================
   V4 — Logs (Obiecte / Vehicule / Bani / Moarte) — card/row style, ca la tickete
   ============================================================================ */
.log-filters{display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end;}
.log-filters .ff{display:flex; flex-direction:column; gap:6px;}
.log-filters label{font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}
.log-filters input, .log-filters select{background:var(--card-2); border:1px solid var(--border); border-radius:10px; color:var(--text);
  padding:9px 12px; font-size:12.5px; min-width:170px; font-family:inherit;}
.log-filters input:focus, .log-filters select:focus{border-color:var(--accent); outline:none; box-shadow:0 0 0 3px rgba(79,142,247,.14);}
.log-filters .btn{padding:9px 18px;}

.log-count{display:flex; align-items:center; gap:8px; padding:13px 22px; border-bottom:1px solid var(--border);
  font-size:11.5px; color:var(--muted); font-weight:600;}
.log-count .mi{font-size:15px; opacity:.9;}
.log-count b{color:var(--text); font-weight:800;}

.log-list{display:flex; flex-direction:column;}
.log-row{display:flex; gap:15px; padding:16px 22px; border-bottom:1px solid var(--border); align-items:flex-start;}
.log-row:last-child{border-bottom:none;}
.log-row:hover{background:rgba(255,255,255,.018);}

.log-ico{width:38px; height:38px; border-radius:11px; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.05); color:var(--muted); border:1px solid var(--border);}
.log-ico .mi{font-size:19px;}
.log-ico.blue{background:rgba(79,142,247,.14); color:var(--accent); border-color:rgba(79,142,247,.25);}
.log-ico.green{background:rgba(51,214,138,.13); color:var(--green); border-color:rgba(51,214,138,.24);}
.log-ico.orange{background:rgba(247,168,58,.14); color:var(--orange); border-color:rgba(247,168,58,.24);}
.log-ico.red{background:rgba(245,84,110,.13); color:var(--red); border-color:rgba(245,84,110,.24);}

.log-main{min-width:0; flex:1;}
.log-line{font-size:13.5px; line-height:1.6; color:var(--text);}
.log-line .id{color:var(--muted-2); font-weight:600; font-size:11px; margin-left:2px;}
.log-line .amt{color:var(--green); font-weight:800;}
.log-line .cause{color:#ff8fa1; font-weight:700;}
.log-line .muted{color:var(--muted);}
.it{display:inline-flex; align-items:center; gap:5px; padding:2px 8px; margin:0 1px; border-radius:7px; font-size:12px; font-weight:700;
  background:rgba(79,142,247,.12); color:#9cc2ff; border:1px solid rgba(79,142,247,.2); white-space:nowrap;}
.it b{color:#c9ddff; font-weight:800;}

.log-meta{display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:9px; font-size:11px; color:var(--muted-2);}
.log-meta span{display:inline-flex; align-items:center; gap:5px;}
.log-meta .mi{font-size:13px; opacity:.85;}
.log-meta .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}

.log-badge{flex:0 0 auto; align-self:flex-start; display:inline-flex; align-items:center; gap:5px; font-size:10px; font-weight:800;
  padding:4px 10px; border-radius:999px; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;
  background:rgba(255,255,255,.06); color:var(--muted);}
.log-badge .mi{font-size:12px;}
.log-badge.blue{background:rgba(79,142,247,.15); color:#8fbaff;}
.log-badge.green{background:rgba(51,214,138,.15); color:#5fe6ac;}
.log-badge.orange{background:rgba(247,168,58,.15); color:#f7c07a;}
.log-badge.red{background:rgba(245,84,110,.16); color:#ff8fa1;}
.log-badge.grey{background:rgba(255,255,255,.07); color:var(--muted);}

.log-items{display:flex; flex-wrap:wrap; gap:6px; margin-top:11px;}
.log-chip{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; padding:4px 10px; border-radius:8px;
  background:var(--card-2); border:1px solid var(--border); color:var(--text);}
.log-chip b{color:var(--accent); font-weight:800;}
.log-items .extra{display:none;}
.log-items.open .extra{display:inline-flex;}
.log-expand{cursor:pointer; color:var(--accent); font-size:11px; font-weight:800; user-select:none; padding:4px 10px; border-radius:8px;
  border:1px dashed rgba(79,142,247,.35);}
.log-items.open .log-expand::after{content:' ▲';}
.log-items:not(.open) .log-expand::after{content:' ▼';}

.log-empty{padding:54px 20px; text-align:center; color:var(--muted);}
.log-empty .ico-sq{width:54px; height:54px; border-radius:16px; margin:0 auto 14px;}
.log-empty .ico-sq .mi{font-size:26px;}
.log-empty h3{color:var(--text); font-size:16px; margin-bottom:6px;}
.log-empty p{font-size:12.5px;}

.log-pager{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 22px; border-top:1px solid var(--border);
  font-size:12px; color:var(--muted); flex-wrap:wrap;}
.log-pager b{color:var(--text); font-weight:800;}
.log-pager .pgs{display:flex; gap:6px;}
.log-pager a, .log-pager span.cur{display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 9px;
  border-radius:9px; border:1px solid var(--border); font-size:12px; font-weight:700; color:var(--muted); background:var(--card-2);}
.log-pager a:hover{border-color:var(--accent); color:var(--accent);}
.log-pager span.cur{background:rgba(79,142,247,.16); border-color:rgba(79,142,247,.3); color:var(--accent);}
.log-pager .disabled{opacity:.4; pointer-events:none;}

@media(max-width:720px){
  .log-row{flex-wrap:wrap;}
  .log-badge{order:-1;}
  .log-filters input, .log-filters select{min-width:0; width:100%;}
  .log-filters .ff{flex:1 1 140px;}
}

/* ============================================================================
   V5 — Logs: flash, tabs wrap, owner vehicul, inventar la moarte (modal),
   sancțiuni staff, feed acțiuni admin
   ============================================================================ */
.st-tabs{flex-wrap:wrap; gap:8px 22px;}
.nav-group.open .nav-children{max-height:420px;}

/* culori extra pt. iconițele + badge-urile din feed-ul de acțiuni */
.log-ico.purple{background:rgba(139,110,246,.16); color:#a78bfa; border-color:rgba(139,110,246,.26);}
.log-ico.indigo{background:rgba(99,102,241,.16); color:#818cf8; border-color:rgba(99,102,241,.26);}
.log-ico.cyan{background:rgba(56,189,248,.15); color:#38bdf8; border-color:rgba(56,189,248,.26);}
.log-ico.teal{background:rgba(45,212,191,.14); color:#2dd4bf; border-color:rgba(45,212,191,.24);}
.log-badge.purple{background:rgba(139,110,246,.16); color:#c4b2ff;}
.log-badge.indigo{background:rgba(99,102,241,.16); color:#aab0ff;}
.log-badge.cyan{background:rgba(56,189,248,.16); color:#9bdcfb;}
.log-badge.teal{background:rgba(45,212,191,.16); color:#8ee9dd;}

/* inventar cu poze în interiorul unei secțiuni (profil) */
.sec .inv-grid{padding:16px 20px 20px;}
.inv-card{transition:border-color .14s, transform .14s;}
.inv-card:hover{border-color:var(--border-hi); transform:translateY(-2px);}

.cid,.log-line .id,.sanc-v i,.own i{color:var(--muted-2); font-weight:600; font-size:11px; margin-left:3px; font-style:normal;}

/* ---- flash / info bar ---- */
.log-flash{padding:12px 16px; border-radius:12px; margin-bottom:16px; font-size:13px; line-height:1.55;
  border:1px solid var(--border); background:var(--card-2); color:var(--text);}
.log-flash.ok{background:rgba(51,214,138,.10); border-color:rgba(51,214,138,.28); color:#7ef0bf;}
.log-flash.err{background:var(--red-bg); border-color:rgba(245,84,110,.3); color:#ff9fae;}
.log-flash.warn{background:rgba(247,168,58,.10); border-color:rgba(247,168,58,.3); color:#f7c07a;}

/* ---- bani: sumă mare ---- */
.log-amount{flex:0 0 auto; align-self:center; font-weight:800; font-size:15px; color:var(--green); white-space:nowrap;}

/* ---- vehicule: deținător ---- */
.log-owner-row{margin-top:10px;}
.own{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; padding:5px 11px; border-radius:999px;
  border:1px solid var(--border); background:var(--card-2); color:var(--muted);}
.own .mi{font-size:14px;}
.own-personal{background:rgba(79,142,247,.12); border-color:rgba(79,142,247,.28); color:#9cc2ff;}
.own-job{background:rgba(247,168,58,.13); border-color:rgba(247,168,58,.28); color:#f7c07a;}
.own-unknown{background:rgba(255,255,255,.04); color:var(--muted-2);}

/* ---- inventar la moarte: lista de morți ---- */
.death-list{display:flex; flex-direction:column;}
.death-card{display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:15px 22px;
  border:0; border-bottom:1px solid var(--border); background:transparent; color:var(--text); cursor:pointer;
  transition:background .12s;}
.death-card:last-child{border-bottom:0;}
.death-card:hover{background:rgba(245,84,110,.05);}
.death-av{width:40px; height:40px; flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:13px; color:#fff; background:linear-gradient(135deg,#f5546e,#f7a83a);}
.death-main{flex:1; min-width:0;}
.death-name{font-weight:700; font-size:13.5px;}
.death-meta{display:flex; flex-wrap:wrap; gap:5px 15px; margin-top:5px; font-size:11px; color:var(--muted-2);}
.death-meta span{display:inline-flex; align-items:center; gap:5px;}
.death-meta .mi{font-size:13px; opacity:.85;}
.death-cause{color:#ff8fa1 !important; font-weight:700;}
.death-right{display:flex; align-items:center; gap:12px; flex:0 0 auto;}
.death-count{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:800; padding:4px 10px; border-radius:999px;
  background:rgba(79,142,247,.14); color:#9cc2ff;}
.death-count .mi{font-size:13px;}
.death-weight{font-size:11px; color:var(--muted); font-weight:700;}

/* ============================================================================
   Aplicații Staff + Test Staff
   ============================================================================ */
.top-banner{
  display:flex; align-items:center; gap:14px; padding:12px 32px; font-size:13px; font-weight:600;
  box-shadow:0 6px 20px -14px rgba(0,0,0,.6);
  position:sticky; top:var(--topbar-h); z-index:19;
  backdrop-filter:blur(10px);
}
.top-banner .btn{font-size:12.5px; padding:8px 14px;}
.top-banner.pulse{animation:topBannerPulse 1.6s ease-in-out infinite;}
@keyframes topBannerPulse{
  0%, 100%{background:linear-gradient(90deg, rgba(247,168,58,.2), rgba(247,168,58,.07));}
  50%{background:linear-gradient(90deg, rgba(247,168,58,.36), rgba(247,168,58,.14));}
}
@media (prefers-reduced-motion: reduce){ .top-banner.pulse{animation:none;} }
.top-banner .mi{font-size:19px;}
.top-banner .msg{flex:1 1 auto; min-width:0;}
.top-banner .msg strong{display:block; font-size:13.5px; font-weight:800; margin-bottom:1px;}
.top-banner .msg span{color:inherit; opacity:.85; font-weight:500; font-size:12px;}
.top-banner a.btn{flex:0 0 auto;}
.top-banner.green{background:linear-gradient(90deg, rgba(51,214,138,.16), rgba(51,214,138,.06)); color:var(--green); border-bottom:1px solid rgba(51,214,138,.28);}
.top-banner.green .btn{background:var(--green); border-color:var(--green); color:#041f13;}
.top-banner.amber{background:linear-gradient(90deg, rgba(247,168,58,.2), rgba(247,168,58,.07)); color:var(--orange); border-bottom:1px solid rgba(247,168,58,.3);}
.top-banner.amber .timer{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:15px; font-weight:800; letter-spacing:.02em; background:rgba(255,255,255,.08); padding:3px 10px; border-radius:8px;}

/* ---- switch deschis/închis ---- */
.switch-btn{display:inline-flex; align-items:center; gap:12px; border:1px solid var(--border); background:var(--card-2); border-radius:999px; padding:6px; cursor:pointer;}
.switch-track{position:relative; width:46px; height:26px; border-radius:999px; background:rgba(255,255,255,.1); transition:background .18s; flex:0 0 auto;}
.switch-track::after{content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--muted); transition:transform .18s, background .18s;}
.switch-btn.on .switch-track{background:rgba(51,214,138,.3);}
.switch-btn.on .switch-track::after{transform:translateX(20px); background:var(--green);}
.switch-label{font-weight:700; font-size:13px; padding-right:6px;}

/* ---- status card (profil candidat) ---- */
.status-card{display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:var(--radius); margin-bottom:20px; text-decoration:none; transition:border-color .15s, transform .15s;}
.status-card:hover{transform:translateY(-1px);}
.status-card .ico-sq{width:44px; height:44px; border-radius:13px;}
.status-card h4{font-size:14.5px; margin-bottom:2px;}
.status-card p{font-size:12.5px; opacity:.85;}
.status-card.pending{background:var(--orange-bg); border:1px solid rgba(247,168,58,.3); color:var(--orange);}
.status-card.pending .ico-sq{background:rgba(247,168,58,.2); color:var(--orange); border-color:rgba(247,168,58,.3);}
.status-card.accepted{background:var(--green-bg); border:1px solid rgba(51,214,138,.3); color:var(--green);}
.status-card.accepted .ico-sq{background:rgba(51,214,138,.2); color:var(--green); border-color:rgba(51,214,138,.3);}
.status-card.rejected{background:var(--red-bg); border:1px solid rgba(245,84,110,.3); color:var(--red);}
.status-card.rejected .ico-sq{background:rgba(245,84,110,.2); color:var(--red); border-color:rgba(245,84,110,.3);}
.status-card h4, .status-card p{color:var(--text);}
.status-card{border-left-width:3px !important;}
.status-card.pending{border-left-color:var(--orange);}
.status-card.accepted{border-left-color:var(--green);}
.status-card.rejected{border-left-color:var(--red);}

.stat-icon.red{background:var(--red-bg); color:var(--red);}

/* ---- decizie HoS (mesaj automat) ---- */
.decision-box{border-radius:14px; padding:18px 20px; margin-top:8px; border:1px solid; border-left-width:3px;}
.decision-box.accepted{background:var(--green-bg); border-color:rgba(51,214,138,.3); border-left-color:var(--green);}
.decision-box.rejected{background:var(--red-bg); border-color:rgba(245,84,110,.3); border-left-color:var(--red);}
.decision-box .who{font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; opacity:.75; margin-bottom:8px;}
.decision-box .headline{font-weight:800; font-size:14.5px; margin-bottom:6px;}
.decision-box p{font-size:13px; line-height:1.7; color:var(--text);}
.decision-box .note{margin-top:10px; padding-top:10px; border-top:1px dashed var(--border); font-style:italic;}

/* ---- formular candidatură + builder test: opțiuni radio ---- */
.opt-row{display:flex; align-items:center; gap:10px; padding:9px 12px; border:1px solid var(--border); border-radius:10px; background:rgba(255,255,255,.02); margin-bottom:8px; transition:border-color .15s, background .15s;}
.opt-row input[type="radio"]{accent-color:var(--green); width:16px; height:16px; flex:0 0 auto;}
.opt-row input[type="text"]{flex:1; background:transparent; border:0; color:var(--text); font-size:13px; padding:4px 0;}
.opt-row input[type="text"]:focus{outline:none;}
.opt-row:has(input:checked){border-color:rgba(79,142,247,.4); background:rgba(79,142,247,.08);}
.opt-row.big{padding:14px 16px; cursor:pointer; font-size:14px; font-weight:600;}
.opt-row.big:hover{border-color:var(--border-hi); background:rgba(255,255,255,.035);}
.opt-row.big:has(input:checked){border-color:rgba(51,214,138,.45); background:rgba(51,214,138,.1);}
.opt-row.big input[type="radio"], .opt-row.big input[type="checkbox"]{width:18px; height:18px;}
.opt-letter{width:28px; height:28px; flex:0 0 auto; border-radius:9px; display:flex; align-items:center; justify-content:center;
  font-size:12.5px; font-weight:800; background:rgba(255,255,255,.06); color:var(--muted); border:1px solid var(--border);}
.opt-row.big:has(input:checked) .opt-letter{background:var(--green); color:#041f13; border-color:var(--green);}

/* ---- admin: card de întrebare (builder de test) ---- */
.qrow{display:flex; gap:14px; padding:16px 20px; border-bottom:1px solid var(--border);}
.qrow:last-child{border-bottom:none;}
.qrow-num{width:30px; height:30px; flex:0 0 auto; border-radius:9px; background:var(--card-2); display:flex; align-items:center; justify-content:center; font-size:12.5px; font-weight:800; color:var(--muted);}
.qrow-body{flex:1; min-width:0;}
.qrow-prompt{font-weight:700; font-size:13.5px; margin-bottom:8px;}
.qrow-meta{display:flex; gap:6px; margin-bottom:10px;}
.qrow-opts{display:flex; flex-direction:column; gap:5px;}
.qrow-opt{display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--muted); padding:5px 10px; border-radius:8px; background:rgba(255,255,255,.02);}
.qrow-opt.correct{color:var(--green); background:var(--green-bg); font-weight:700;}
.qrow-opt .mi{font-size:15px;}
.qrow-edit-form{display:none; margin-top:16px; padding-top:16px; border-top:1px dashed var(--border);}
.qrow.open .qrow-edit-form{display:block;}
.qrow.open .qrow-edit-toggle{color:var(--accent); border-color:rgba(79,142,247,.4);}

.form-field textarea{width:100%; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:10px 12px; font-size:13px; font-family:inherit; resize:vertical; min-height:70px;}
.form-field textarea:focus, .form-field select:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(79,142,247,.12);}
.form-field select{width:100%; background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:10px; color:var(--text); padding:10px 12px; font-size:13px;}

/* ---- ecranul de test (o întrebare pe ecran) ---- */
.quiz-wrap{max-width:600px; margin:32px auto 60px;}
.quiz-card{background:var(--card); border:1px solid var(--border); border-radius:20px; padding:32px 30px; text-align:center;
  box-shadow:0 1px 2px rgba(0,0,0,.25), 0 8px 24px -18px rgba(0,0,0,.6);}
.quiz-eyebrow{display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:22px;}
.quiz-progress{font-size:11.5px; color:var(--muted); font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.quiz-timer-ring{width:74px; height:74px; border-radius:50%; margin:0 auto 20px; display:flex; align-items:center; justify-content:center;
  background:rgba(79,142,247,.12); border:2px solid rgba(79,142,247,.3); transition:background .2s, border-color .2s;}
.quiz-timer{font-family:ui-monospace,Menlo,Consolas,monospace; font-size:24px; font-weight:800; color:var(--accent);}
.quiz-timer-ring.low{background:var(--red-bg); border-color:rgba(245,84,110,.4);}
.quiz-timer-ring.low .quiz-timer{color:var(--red);}
.quiz-prompt{font-size:19px; font-weight:800; line-height:1.45; margin-bottom:26px; text-wrap:balance;}
.quiz-options{display:flex; flex-direction:column; gap:10px; text-align:left;}

/* ---- rezultat test ---- */
.quiz-result-badge{width:72px; height:72px; border-radius:22px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center;}
.quiz-result-badge .mi{font-size:36px;}
.quiz-score-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:22px 0;}
.quiz-score-cell{background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:14px; padding:16px 10px;}
.quiz-score-cell .n{font-size:20px; font-weight:800;}
.quiz-score-cell .l{font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:4px;}

/* ---- atribuire test: rând candidat ---- */
.cand-avatar{width:32px; height:32px; flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-2));}

/* ---- media (poză/clip) la o întrebare de test ---- */
.q-media{max-width:100%; max-height:320px; border-radius:14px; border:1px solid var(--border); display:block; background:#000;}
.qrow .q-media{max-height:160px; margin-bottom:10px;}
.quiz-card .q-media{margin:0 auto 22px; max-height:280px;}
.file-drop{display:flex; align-items:center; gap:10px; width:100%; background:rgba(255,255,255,.03); border:1px dashed var(--border); border-radius:10px; color:var(--muted); padding:10px 12px; font-size:12.5px;}
.file-drop input[type="file"]{flex:1; color:var(--muted); font-size:12px;}
.file-drop .mi{font-size:18px; color:var(--accent); flex:0 0 auto;}
.death-open .mi{font-size:20px; color:var(--muted-2);}
@media(max-width:640px){ .death-right{display:none;} }

/* ---- inventar la moarte: modal ---- */
.inv-modal{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px;}
.inv-backdrop{position:absolute; inset:0; background:rgba(4,8,16,.72); backdrop-filter:blur(3px);}
.inv-dialog{position:relative; width:min(760px,100%); max-height:88vh; overflow:auto; border-radius:20px;
  background:linear-gradient(180deg,var(--card-2),var(--card)); border:1px solid var(--border-hi);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7);}
.inv-dialog-head{display:flex; align-items:center; gap:14px; padding:20px 22px; border-bottom:1px solid var(--border);
  position:sticky; top:0; background:var(--card-2); z-index:1;}
.inv-h-av{width:44px; height:44px; flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; color:#fff; background:linear-gradient(135deg,#f5546e,#f7a83a);}
.inv-h-txt{flex:1; min-width:0;}
.inv-h-name{font-weight:800; font-size:16px;}
.inv-h-name span{color:var(--muted-2); font-weight:600; font-size:12px; margin-left:4px;}
.inv-h-sub{color:var(--muted); font-size:12px; margin-top:2px;}
.inv-close{width:34px; height:34px; flex:0 0 auto; border-radius:10px; border:1px solid var(--border); background:transparent;
  color:var(--muted); display:flex; align-items:center; justify-content:center;}
.inv-close:hover{border-color:var(--border-hi); color:var(--text);}
.inv-dialog-meta{display:flex; flex-wrap:wrap; gap:6px 18px; padding:12px 22px; border-bottom:1px solid var(--border);
  font-size:11.5px; color:var(--muted-2);}
.inv-dialog-meta span{display:inline-flex; align-items:center; gap:5px;}
.inv-dialog-meta .mi{font-size:14px; opacity:.85;}
.inv-dialog-meta .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.inv-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:12px; padding:20px 22px 24px;}
.inv-card{border:1px solid var(--border); border-radius:14px; padding:10px; background:rgba(255,255,255,.02);
  display:flex; flex-direction:column; align-items:center; text-align:center; transition:border-color .14s, transform .14s;}
.inv-card:hover{border-color:var(--border-hi); transform:translateY(-2px);}
.inv-card-img{position:relative; width:100%; aspect-ratio:1/1; border-radius:10px; background:rgba(0,0,0,.22);
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center; margin-bottom:8px;}
.inv-card-img img{width:78%; height:78%; object-fit:contain; image-rendering:auto;}
.inv-qty{position:absolute; right:4px; bottom:4px; font-size:11px; font-weight:800; padding:2px 7px; border-radius:999px;
  background:rgba(4,8,16,.82); color:#fff; border:1px solid rgba(255,255,255,.14);}
.inv-card-label{font-weight:700; font-size:12px; line-height:1.25; max-width:100%;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.inv-card-name{font-size:10px; color:var(--muted-2); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;}
.inv-card-weight{font-size:10px; color:var(--muted); margin-top:4px;}
.inv-empty{grid-column:1/-1; text-align:center; color:var(--muted); font-size:12.5px; padding:30px 0;}

/* ---- sancțiuni staff ---- */
.sanc-list{display:flex; flex-direction:column;}
.sanc-card{display:grid; grid-template-columns:auto 1fr auto; align-items:start; gap:16px; padding:16px 22px;
  border-bottom:1px solid var(--border);}
.sanc-card:last-child{border-bottom:0;}
.sanc-card:hover{background:rgba(255,255,255,.018);}
.sanc-badge{display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:800; text-transform:uppercase;
  letter-spacing:.03em; padding:6px 12px; border-radius:10px; white-space:nowrap; align-self:center;}
.sanc-badge .mi{font-size:14px;}
.sanc-badge-red{background:rgba(245,84,110,.16); color:#ff8fa1;}
.sanc-badge-orange{background:rgba(247,168,58,.16); color:#f7c07a;}
.sanc-badge-gold{background:rgba(245,197,24,.16); color:#f5d451;}
.sanc-badge-grey{background:rgba(255,255,255,.07); color:var(--muted);}
.sanc-card.sanc-red{box-shadow:inset 3px 0 0 var(--red);}
.sanc-card.sanc-orange{box-shadow:inset 3px 0 0 var(--orange);}
.sanc-card.sanc-gold{box-shadow:inset 3px 0 0 var(--gold);}
.sanc-body{min-width:0; display:flex; flex-direction:column; gap:6px;}
.sanc-kv{display:flex; gap:10px; font-size:12.5px; flex-wrap:wrap;}
.sanc-k{flex:0 0 96px; color:var(--muted); display:inline-flex; align-items:center; gap:5px;}
.sanc-k .mi{font-size:14px; opacity:.8;}
.sanc-v{flex:1; min-width:0; color:var(--text); word-break:break-word;}
.sanc-v b{font-weight:800;}
.sanc-date{flex:0 0 auto; align-self:center; display:inline-flex; align-items:center; gap:5px; font-size:11px;
  color:var(--muted-2); white-space:nowrap;}
.sanc-date .mi{font-size:13px;}
@media(max-width:720px){
  .sanc-card{grid-template-columns:1fr; gap:10px;}
  .sanc-date{justify-self:start;}
}

/* ---- chip tabs (feed acțiuni) ---- */
.chip-row{display:flex; flex-wrap:wrap; gap:8px;}
.chip-tab{display:inline-flex; align-items:center; gap:6px; padding:8px 13px; border-radius:11px; font-size:12px; font-weight:700;
  border:1px solid var(--border); background:var(--card-2); color:var(--muted);}
.chip-tab .mi{font-size:15px;}
.chip-tab:hover{border-color:var(--border-hi); color:var(--text);}
.chip-tab.on{background:rgba(79,142,247,.15); border-color:rgba(79,142,247,.32); color:var(--accent);}
.chip-n{min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:rgba(255,255,255,.09); color:var(--muted);
  font-size:10.5px; font-weight:800; display:inline-flex; align-items:center; justify-content:center;}
.chip-tab.on .chip-n{background:rgba(79,142,247,.24); color:var(--accent);}

:root{--accent:#2e7dff;--accent-2:#65b3ff;--accent-rgb:46,125,255;--glow:rgba(46,125,255,.28)}.sidebar-logo img{width:40px;height:40px;object-fit:contain;background:none}.login-logo img{object-fit:contain}.login-card{border-color:rgba(46,125,255,.25)}
