:root{
  --purple:#8D5AF3;
  --purple-deep:#6F3EE8;
  --purple-dark:#4B2BAB;
  --lime:#E1FF0D;
  --lime-soft:#F4FFD0;
  --lime-muted:#CDEA25;
  --bg:#F8F7FF;
  --card:#FFFFFF;
  --text:#20163F;
  --muted:#766B94;
  --line:#E9E2FF;
  --green:#246B2E;
  --green-soft:#DFFBE6;
  --blue:#5F38D8;
  --blue-soft:#EFE8FF;
  --orange:#9B6800;
  --orange-soft:#FFF1C7;
  --red:#B8325E;
  --red-soft:#FFE4EE;
  --gray:#746B87;
  --shadow:0 22px 54px rgba(111,62,232,.12);
  --shadow-soft:0 10px 26px rgba(111,62,232,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
img{max-width:100%;height:auto;display:block}
body{margin:0;background:radial-gradient(circle at 92% -10%,rgba(225,255,13,.26),transparent 30%),linear-gradient(180deg,#FCFBFF 0%,#F6F3FF 100%);color:var(--text);font-family:Inter,Arial,"Helvetica Neue",sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:292px;background:linear-gradient(180deg,var(--purple) 0%,var(--purple-deep) 100%);color:#fff;position:fixed;left:0;top:0;bottom:0;padding:22px 18px;display:flex;flex-direction:column;box-shadow:16px 0 44px rgba(75,43,171,.22)}
.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px;min-height:60px}
.brand-logo-card{width:150px;min-width:150px;height:50px;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent;border:0;box-shadow:none;padding:0}
.brand-logo-card img{width:100%;height:100%;display:block;object-fit:contain;object-position:center center;filter:none}
.brand-caption strong{display:block;font-size:18px;letter-spacing:-.02em;color:#fff;line-height:1.1}
.brand-caption span{display:block;color:rgba(255,255,255,.78);font-size:12px;margin-top:3px;white-space:nowrap}
.nav{display:flex;flex-direction:column;gap:8px}
.nav a{padding:13px 14px;border-radius:16px;color:rgba(255,255,255,.88);font-weight:750;display:flex;align-items:center;gap:9px;border:1px solid transparent;transition:all .14s ease}
.nav a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.08)}
.nav a.active{background:var(--lime);color:#2A2054;box-shadow:0 14px 28px rgba(32,22,73,.20)}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.16);padding-top:16px;color:rgba(255,255,255,.82)}
.sidebar-footer .muted{color:rgba(255,255,255,.72)}
.sidebar-footer a{color:#fff;font-weight:850;display:inline-block;margin-top:9px}
.sidebar-footer a:hover{opacity:.82}
.content{margin-left:292px;padding:30px;width:calc(100% - 292px)}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:18px}
.topbar h1{margin:0;font-size:34px;letter-spacing:-.04em;line-height:1.05;color:#20163F}
.topbar-right{color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.topbar-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #E6DCFF;background:#fff;border-radius:999px;box-shadow:var(--shadow-soft);font-weight:850;color:var(--purple-deep)}
.chip-dot{width:10px;height:10px;border-radius:50%;background:var(--lime);display:inline-block;box-shadow:0 0 0 4px rgba(225,255,13,.22)}
.topbar-time{font-weight:600}
.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-deep) 100%);color:#fff;border-radius:30px;padding:24px 26px;margin-bottom:20px;box-shadow:0 24px 62px rgba(111,62,232,.25);overflow:hidden;position:relative}
.hero-strip:before{content:"";position:absolute;right:-38px;top:-40px;width:190px;height:190px;border-radius:44px;background:rgba(225,255,13,.24);transform:rotate(25deg)}
.hero-strip:after{content:"YOTO";position:absolute;right:24px;bottom:-17px;font-size:58px;font-weight:1000;letter-spacing:-.08em;color:rgba(225,255,13,.15);line-height:1}
.hero-strip h2{margin:0 0 6px;font-size:24px;letter-spacing:-.03em;position:relative;z-index:1}
.hero-strip p{margin:0;color:#F5F1FF;position:relative;z-index:1;max-width:820px}
.hero-strip .badge{background:var(--lime);color:#2A2054;position:relative;z-index:1;box-shadow:0 10px 22px rgba(42,32,84,.18)}
.card{background:rgba(255,255,255,.985);border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--shadow);margin-bottom:20px}
.card h2{margin:0 0 12px;font-size:19px;letter-spacing:-.02em;color:#20163F}
.card-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.card-title h2{margin:0}.card-title a{color:var(--purple-deep);font-weight:900;border-bottom:1px solid currentColor}.card-title a:hover{opacity:.74}
.grid{display:grid;gap:20px}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.two-col{grid-template-columns:1fr 1fr}
.stat{min-height:148px;position:relative;overflow:hidden;border-top:0;background:#fff}
.stat:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--lime) 0%,var(--purple) 100%)}
.stat:after{content:"";position:absolute;right:-36px;top:-36px;width:108px;height:108px;border-radius:50%;background:linear-gradient(135deg,rgba(225,255,13,.22),rgba(141,90,243,0))}
.stat span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.055em;font-weight:850}.stat strong{display:block;font-size:38px;letter-spacing:-.04em;margin:8px 0 6px;color:#17112F}.stat small{color:var(--muted);font-weight:650}.stat-link{transition:transform .16s ease, box-shadow .16s ease}.stat-link:hover{transform:translateY(-3px);box-shadow:0 26px 62px rgba(111,62,232,.16)}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{background:#FBFAFF;color:#5C5278;font-size:12px;text-transform:uppercase;letter-spacing:.045em}tr:last-child td{border-bottom:0}tbody tr:hover{background:#FCFAFF}.center{text-align:center}.small{font-size:12px}.muted{color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.orange{background:var(--orange-soft);color:var(--orange)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.gray{background:#F1EDF9;color:var(--gray)}.badge.dark{background:var(--purple-deep);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:15px;background:var(--purple-deep);color:#fff;font-weight:900;padding:11px 15px;cursor:pointer;box-shadow:0 10px 24px rgba(111,62,232,.22);transition:transform .14s ease, opacity .14s ease, box-shadow .14s ease}.btn:hover{opacity:.94;transform:translateY(-1px)}.btn.secondary{background:var(--lime-soft);color:#2A2054;box-shadow:none}.btn.small{padding:8px 12px;border-radius:12px;font-size:12px}.btn.ghost{background:#fff;color:var(--purple-deep);border:1px solid var(--line);box-shadow:none}
.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr auto;gap:13px;align-items:end}.form label,.filters label{display:block;color:var(--muted);font-size:12px;margin-bottom:6px;font-weight:850}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:15px;padding:12px 13px;background:#fff;color:var(--text);outline:none;transition:border-color .14s ease, box-shadow .14s ease}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(141,90,243,.11)}.filter-actions{display:flex;gap:8px}.page-actions{margin-bottom:14px;display:flex;gap:10px;flex-wrap:wrap}
.pagination{display:flex;gap:7px;justify-content:flex-end;margin-top:16px}.pagination a{padding:9px 13px;border-radius:13px;background:#F2EDFF;font-weight:850;color:var(--purple-deep)}.pagination a.active{background:var(--purple-deep);color:#fff}
.list{display:flex;flex-direction:column;gap:9px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row.block{display:block}.list-row p{margin:8px 0 0}.details{display:grid;grid-template-columns:190px 1fr;gap:11px 14px;margin:0}.details dt{color:var(--muted);font-weight:750}.details dd{margin:0;font-weight:650}.qr-link{font-weight:950;letter-spacing:.015em;color:#2A2054}.qr-link:hover{border-bottom:1px solid currentColor}
.timeline{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start}.timeline-item .dot{width:13px;height:13px;border-radius:99px;background:#D9CFFF;margin-top:4px;border:3px solid #fff}.timeline-item.done .dot{background:var(--green)}
.report-list{display:grid;gap:14px}.report-card{border:1px solid var(--line);border-radius:20px;padding:16px;background:#FDFBFF}.report-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.works{margin:10px 0;padding-left:20px}.works li{margin:3px 0}.segmented{display:flex;gap:8px}.segmented.wrap{flex-wrap:wrap}.segmented a{padding:9px 12px;border-radius:999px;background:#F3EDFF;font-weight:900;color:var(--purple-deep)}.segmented a.active{background:var(--lime);color:#2A2054}.mt10{margin-top:10px}
.alert{padding:13px 15px;border-radius:18px;margin-bottom:14px}.alert.red{background:var(--red-soft);color:#991b1b}.alert.ok{background:var(--green-soft);color:#166534}.empty{background:#fff;border:1px dashed #D9CFFF;border-radius:24px;padding:38px;text-align:center}.empty h3{margin-top:0}
.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top left,rgba(225,255,13,.22),transparent 28%),linear-gradient(135deg,#FBFAFF 0%,#F0EAFF 100%);padding:18px}.auth-card{width:min(462px,calc(100% - 28px));background:rgba(255,255,255,.99);border:1px solid var(--line);border-radius:30px;box-shadow:0 34px 90px rgba(111,62,232,.18);padding:30px;margin:0 auto}.auth-card h2{font-size:28px;letter-spacing:-.04em;margin:10px 0 8px;color:#20163F}.auth-card p{margin:0 0 18px}.auth-brand{color:var(--purple-deep);margin-bottom:18px}.auth-foot{margin-top:18px;color:var(--muted);font-size:12px;text-align:center}.form{display:grid;gap:10px}.form .btn{margin-top:10px;width:100%}
@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.app-shell{display:block}.content{margin-left:0;width:100%;padding:16px}.two-col,.stats-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.topbar{display:block}.topbar-right{margin-top:10px;justify-content:flex-start}.details{grid-template-columns:1fr}.report-head{display:block}.hero-strip{display:block}.brand-logo-card{width:142px}}


/* V3.3 CONTROL BASE */
.control-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:16px;align-items:stretch}
.control-card{background:linear-gradient(180deg,#fff 0%,#fff 100%);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}
.control-card h3{margin:0 0 10px;font-size:16px;color:var(--text);letter-spacing:-.02em}
.control-card p{margin:0 0 12px;color:var(--muted)}
.control-card .form{gap:8px}
.control-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.btn.lime{background:var(--lime);color:#2A2054;box-shadow:0 12px 26px rgba(225,255,13,.20)}
.btn.red{background:var(--red);color:#fff;box-shadow:0 12px 26px rgba(184,50,94,.18)}
.btn.orange{background:#B97A00;color:#fff;box-shadow:0 12px 26px rgba(185,122,0,.16)}
.inline-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.inline-form textarea{min-width:240px;min-height:42px;resize:vertical}
.audit-list{display:grid;gap:10px}
.audit-item{border:1px solid var(--line);background:#FDFBFF;border-radius:18px;padding:12px 14px}
.audit-head{display:flex;justify-content:space-between;gap:10px;font-weight:850;margin-bottom:6px;color:#2A2054}
.audit-item code{white-space:pre-wrap;word-break:break-word;font-size:12px;color:#5C5278}
.form.two{grid-template-columns:1fr auto;align-items:end}
.form.two label{grid-column:1 / -1}
@media(max-width:1280px){.control-grid{grid-template-columns:1fr}.inline-form textarea{min-width:100%}}


/* V3.4 FLEET HISTORY + POPUP SIDEBAR */
.sidebar{transition:width .18s ease, transform .18s ease;z-index:30;overflow:hidden}
.content{transition:margin-left .18s ease,width .18s ease}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand-mini-dot{display:none;width:52px;height:52px;border-radius:50%;background:var(--purple);border:1px solid rgba(255,255,255,.22);color:var(--lime);align-items:center;justify-content:center;font-size:12px;font-weight:1000;letter-spacing:-.04em;box-shadow:0 14px 28px rgba(36,21,93,.20)}
.nav-ico{width:22px;min-width:22px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.nav-text{white-space:nowrap;transition:opacity .12s ease}
.topbar-title{display:flex;align-items:center;gap:14px}.topbar-title h1{margin:0}.sidebar-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--purple-deep);font-weight:1000;font-size:20px;box-shadow:var(--shadow-soft);cursor:pointer;display:inline-grid;place-items:center}.sidebar-toggle:hover{background:var(--lime-soft)}
.top-search{display:flex;align-items:center;gap:0;min-width:260px;margin-left:auto}.top-search input{border-radius:16px 0 0 16px;border-right:0;height:44px}.top-search button{height:44px;min-width:48px;border:1px solid var(--line);border-left:0;border-radius:0 16px 16px 0;background:var(--lime);color:#2A2054;font-weight:1000;cursor:pointer}.top-search button:hover{filter:brightness(.98)}
body.sidebar-collapsed .sidebar{width:88px}body.sidebar-collapsed .content{margin-left:88px;width:calc(100% - 88px)}body.sidebar-collapsed .brand-logo-card,body.sidebar-collapsed .brand-caption,body.sidebar-collapsed .nav-text,body.sidebar-collapsed .sidebar-footer{opacity:0;pointer-events:none}body.sidebar-collapsed .brand-logo-card{display:none}body.sidebar-collapsed .brand-mini-dot{display:flex}body.sidebar-collapsed .brand{justify-content:center}body.sidebar-collapsed .nav a{justify-content:center;padding:14px 10px}body.sidebar-collapsed .nav-ico{font-size:20px}
@media(min-width:901px){body.sidebar-collapsed .sidebar:hover{width:292px}body.sidebar-collapsed .sidebar:hover .brand-logo-card{display:flex;opacity:1;pointer-events:auto}body.sidebar-collapsed .sidebar:hover .brand-mini-dot{display:none}body.sidebar-collapsed .sidebar:hover .brand-caption,body.sidebar-collapsed .sidebar:hover .nav-text,body.sidebar-collapsed .sidebar:hover .sidebar-footer{opacity:1;pointer-events:auto}body.sidebar-collapsed .sidebar:hover .brand{justify-content:flex-start}body.sidebar-collapsed .sidebar:hover .nav a{justify-content:flex-start;padding:13px 14px}}
.sidebar-scrim{display:none;position:fixed;inset:0;background:rgba(32,22,63,.42);border:0;z-index:25}
.fleet-hero:after{content:"YOTO"}.fleet-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.scooter-filter{grid-template-columns:1fr auto}.history-feed{max-height:620px;overflow:auto;padding-right:4px}
@media(max-width:1280px){.fleet-stats{grid-template-columns:repeat(2,1fr)}.top-search{min-width:220px}}
@media(max-width:900px){.sidebar{position:fixed;width:292px;height:100vh;transform:translateX(-105%);top:0;left:0}.content{margin-left:0!important;width:100%!important}.topbar{align-items:flex-start}.topbar-title{width:100%}.top-search{order:3;width:100%;min-width:0}.topbar-right{order:2}.sidebar-scrim{display:none}body.sidebar-open .sidebar{transform:translateX(0)}body.sidebar-open .sidebar-scrim{display:block}.fleet-stats{grid-template-columns:1fr}.scooter-filter{grid-template-columns:1fr}.brand-logo-card{display:flex!important;opacity:1!important}.brand-caption,.nav-text,.sidebar-footer{opacity:1!important;pointer-events:auto!important}.brand-mini-dot{display:none!important}.nav a{justify-content:flex-start!important;padding:13px 14px!important}}


/* V3.4.1 UI HOTFIX: popup sidebar, category icons, alignment */
.topbar{align-items:center}
.topbar-title{min-width:0}
.topbar-title h1{white-space:nowrap}

.stats-grid{align-items:stretch}
.stat{
  min-height:148px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:center;
  justify-content:stretch;
}
.stat span,
.stat strong,
.stat small{
  position:relative;
  z-index:1;
}
.stat strong{
  line-height:1;
  margin:0;
  align-self:center;
  display:flex;
  align-items:center;
  min-height:48px;
}
.stat small{
  line-height:1.45;
}
.stat.card{
  padding:24px 24px 22px;
}

.list-row.category-row{
  min-height:56px;
}
.part-cat{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:750;
}
.part-cat-ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--lime) 0%,#EEFF8D 100%);
  box-shadow:0 10px 18px rgba(111,62,232,.10);
  font-size:17px;
  flex:0 0 34px;
}

/* Desktop popup sidebar is compact by default; hover opens it over content. */
@media(min-width:901px){
  body.sidebar-collapsed .sidebar{
    width:88px;
  }
  body.sidebar-collapsed .content{
    margin-left:88px;
    width:calc(100% - 88px);
  }
  body.sidebar-collapsed .brand-logo-card,
  body.sidebar-collapsed .brand-caption,
  body.sidebar-collapsed .nav-text,
  body.sidebar-collapsed .sidebar-footer{
    opacity:0;
    pointer-events:none;
    transition:opacity .12s ease;
  }
  body.sidebar-collapsed .brand-logo-card{
    display:none;
  }
  body.sidebar-collapsed .brand-mini-dot{
    display:flex;
  }
  body.sidebar-collapsed .brand{
    justify-content:center;
  }
  body.sidebar-collapsed .nav a{
    justify-content:center;
    padding:14px 10px;
  }
  body.sidebar-collapsed .nav-ico{
    font-size:20px;
  }
  body.sidebar-collapsed .sidebar:hover{
    width:292px;
  }
  body.sidebar-collapsed .sidebar:hover .brand-logo-card{
    display:flex;
    opacity:1;
    pointer-events:auto;
  }
  body.sidebar-collapsed .sidebar:hover .brand-mini-dot{
    display:none;
  }
  body.sidebar-collapsed .sidebar:hover .brand-caption,
  body.sidebar-collapsed .sidebar:hover .nav-text,
  body.sidebar-collapsed .sidebar:hover .sidebar-footer{
    opacity:1;
    pointer-events:auto;
  }
  body.sidebar-collapsed .sidebar:hover .brand{
    justify-content:flex-start;
  }
  body.sidebar-collapsed .sidebar:hover .nav a{
    justify-content:flex-start;
    padding:13px 14px;
  }
  body.sidebar-pinned .sidebar{
    width:292px;
  }
  body.sidebar-pinned .content{
    margin-left:292px;
    width:calc(100% - 292px);
  }
}

/* Mobile drawer */
@media(max-width:900px){
  .sidebar{
    position:fixed;
    width:292px;
    height:100vh;
    transform:translateX(-105%);
  }
  .content{
    margin-left:0;
    width:100%;
  }
  body.sidebar-open .sidebar{
    transform:translateX(0);
  }
  body.sidebar-open .sidebar-scrim{
    display:block;
  }
}


/* V3.4.2 PRO UI: restrained YOTO palette + monochrome icons */
:root{
  --purple:#7B4FE8;
  --purple-deep:#5D35C8;
  --purple-dark:#342064;
  --lime:#DFFF21;
  --lime-soft:#F5FFD4;
  --lime-muted:#CAE71A;
  --bg:#F8F7FC;
  --card:#FFFFFF;
  --text:#18112D;
  --muted:#6C6382;
  --line:#E8E2F6;
  --shadow:0 18px 44px rgba(44,31,84,.10);
  --shadow-soft:0 8px 22px rgba(44,31,84,.08);
}
body{
  background:linear-gradient(180deg,#FBFAFF 0%,#F6F3FD 100%);
  color:var(--text);
}
.sidebar{
  background:linear-gradient(180deg,#5531B8 0%,#6D41D8 100%);
  box-shadow:14px 0 42px rgba(47,28,103,.20);
}
.brand-logo-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.brand-mini-dot{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  color:var(--lime);
}
.nav{gap:6px}
.nav a{
  color:rgba(255,255,255,.82);
  font-weight:800;
  border-radius:14px;
  border:1px solid transparent;
}
.nav a:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.nav a.active{
  background:rgba(255,255,255,.13);
  color:#fff;
  border-color:rgba(223,255,33,.35);
  box-shadow:none;
  position:relative;
}
.nav a.active:before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--lime);
}
.nav-ico{
  width:24px;
  min-width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}
.nav-ico svg,
.part-cat-ico svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}
body.sidebar-collapsed .nav a.active{
  background:rgba(223,255,33,.16);
  color:var(--lime);
  border-color:rgba(223,255,33,.24);
}
body.sidebar-collapsed .nav a.active:before{display:none}
.topbar h1,.topbar-title h1{color:#17102B}
.topbar-chip{
  color:var(--purple-deep);
  border-color:#E7DFFF;
  box-shadow:none;
}
.top-search input,.top-search button,.sidebar-toggle{box-shadow:none}
.top-search button{
  background:var(--lime);
}
.sidebar-toggle{
  color:var(--purple-deep);
}
.hero-strip{
  background:linear-gradient(135deg,#7B4FE8 0%,#633ACD 100%);
  box-shadow:0 20px 46px rgba(81,46,184,.18);
}
.hero-strip:before{
  background:rgba(223,255,33,.16);
}
.hero-strip:after{
  color:rgba(223,255,33,.10);
}
.hero-strip .badge{
  background:rgba(223,255,33,.92);
  color:#211744;
  box-shadow:none;
}
.card{
  box-shadow:var(--shadow);
  border-color:var(--line);
}
.stat{
  min-height:146px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:center;
  background:#fff;
}
.stat:before{
  height:4px;
  background:linear-gradient(90deg,var(--lime) 0%,rgba(123,79,232,.32) 100%);
}
.stat:after{
  width:92px;
  height:92px;
  right:-28px;
  top:-28px;
  background:rgba(223,255,33,.10);
}
.stat span,.stat strong,.stat small{position:relative;z-index:1}
.stat strong{
  margin:0;
  min-height:50px;
  display:flex;
  align-items:center;
  line-height:1;
}
.stat small{line-height:1.45}
.stat-link:hover{
  box-shadow:0 22px 52px rgba(44,31,84,.12);
}
.btn{
  background:linear-gradient(135deg,#6B41D7 0%,#5131B5 100%);
  box-shadow:none;
}
.btn.lime,.segmented a.active{
  background:var(--lime);
  color:#211744;
  box-shadow:none;
}
.card-title a,a.qr-link{
  color:var(--purple-deep);
}
.badge.green{background:#E7F8E5;color:#286E32}
.badge.blue{background:#EEE8FF;color:#5D35C8}
.badge.orange{background:#FFF3D6;color:#8A6208}
.badge.red{background:#FFE7EF;color:#A9325C}
.table-wrap{border-color:#E9E3F7}
th{background:#FBFAFE;color:#5B5270}
tbody tr:hover{background:#FCFBFF}
.part-cat{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:800;
}
.part-cat-ico{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--purple-deep);
  background:#F1ECFF;
  border:1px solid #E4DBFF;
  box-shadow:none;
  flex:0 0 34px;
}
.category-row{min-height:56px}

@media(min-width:901px){
  body.sidebar-collapsed .sidebar:hover{
    box-shadow:20px 0 50px rgba(47,28,103,.22);
  }
}


/* V3.4.3 SIDEBAR ICON ALIGNMENT HOTFIX */
@media(min-width:901px){
  body.sidebar-collapsed .sidebar{
    width:88px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.sidebar-collapsed .content{
    margin-left:88px!important;
    width:calc(100% - 88px)!important;
  }
  body.sidebar-collapsed .brand{
    justify-content:center!important;
    width:52px;
    margin-left:auto;
    margin-right:auto;
  }
  body.sidebar-collapsed .brand-logo-card,
  body.sidebar-collapsed .brand-caption,
  body.sidebar-collapsed .sidebar-footer{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.sidebar-collapsed .brand-mini-dot{
    display:flex!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    margin:0 auto!important;
  }
  body.sidebar-collapsed .nav{
    align-items:center!important;
    gap:10px!important;
    width:52px!important;
    margin:0 auto!important;
  }
  body.sidebar-collapsed .nav a{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    padding:0!important;
    margin:0!important;
    gap:0!important;
    justify-content:center!important;
    align-items:center!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }
  body.sidebar-collapsed .nav-text{
    display:none!important;
    width:0!important;
    max-width:0!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  body.sidebar-collapsed .nav-ico{
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    margin:0!important;
    padding:0!important;
    display:inline-grid!important;
    place-items:center!important;
    flex:0 0 24px!important;
    transform:none!important;
  }
  body.sidebar-collapsed .nav-ico svg{
    width:22px!important;
    height:22px!important;
    display:block!important;
    margin:0!important;
  }
  body.sidebar-collapsed .nav a.active:before{
    display:none!important;
  }
  body.sidebar-collapsed .nav a.active{
    background:rgba(223,255,33,.14)!important;
    color:var(--lime)!important;
    border-color:rgba(223,255,33,.24)!important;
  }

  body.sidebar-collapsed .sidebar:hover{
    width:292px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.sidebar-collapsed .sidebar:hover .brand{
    width:auto!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.sidebar-collapsed .sidebar:hover .brand-logo-card{
    display:flex!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.sidebar-collapsed .sidebar:hover .brand-mini-dot{
    display:none!important;
  }
  body.sidebar-collapsed .sidebar:hover .brand-caption,
  body.sidebar-collapsed .sidebar:hover .sidebar-footer{
    display:block!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.sidebar-collapsed .sidebar:hover .nav{
    align-items:stretch!important;
    width:auto!important;
    margin:0!important;
    gap:6px!important;
  }
  body.sidebar-collapsed .sidebar:hover .nav a{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    padding:13px 14px!important;
    gap:10px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .sidebar:hover .nav-text{
    display:inline-block!important;
    width:auto!important;
    max-width:190px!important;
    opacity:1!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }
  body.sidebar-collapsed .sidebar:hover .nav a.active:before{
    display:block!important;
  }
}


/* V3.5 EXCEL EXPORT */
.export-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.export-actions .btn{box-shadow:none}
.export-actions .btn.export{background:#fff;color:var(--purple-deep);border:1px solid var(--line)}
.export-actions .btn.export:hover{background:#FBFAFF;border-color:#CFC1FF}
.export-actions .btn.export-primary{background:var(--purple-deep);color:#fff;border:1px solid var(--purple-deep)}
.report-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.report-toolbar .segmented{margin-top:0}
.export-note{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:900px){.export-actions .btn{width:100%}.report-toolbar{display:block}.report-toolbar .segmented{margin-top:10px}}


/* V3.5.2: smoother sidebar opening */
@media(min-width:901px){
  .sidebar{
    transition:
      width .34s cubic-bezier(.22,.61,.36,1),
      box-shadow .34s cubic-bezier(.22,.61,.36,1),
      transform .34s cubic-bezier(.22,.61,.36,1) !important;
    will-change:width;
  }

  .content{
    transition:
      margin-left .34s cubic-bezier(.22,.61,.36,1),
      width .34s cubic-bezier(.22,.61,.36,1) !important;
  }

  .nav a{
    transition:
      background-color .22s ease,
      border-color .22s ease,
      color .22s ease,
      box-shadow .22s ease,
      width .34s cubic-bezier(.22,.61,.36,1),
      padding .34s cubic-bezier(.22,.61,.36,1) !important;
  }

  .nav-text,
  .brand-caption,
  .sidebar-footer{
    transition:
      opacity .22s ease .06s,
      transform .22s ease .06s !important;
  }

  body.sidebar-collapsed .nav-text,
  body.sidebar-collapsed .brand-caption,
  body.sidebar-collapsed .sidebar-footer{
    transform:translateX(-8px);
  }

  body.sidebar-collapsed .sidebar:hover .nav-text,
  body.sidebar-collapsed .sidebar:hover .brand-caption,
  body.sidebar-collapsed .sidebar:hover .sidebar-footer{
    transform:translateX(0);
  }

  body.sidebar-collapsed .sidebar:hover{
    width:292px!important;
    box-shadow:24px 0 64px rgba(47,28,103,.24)!important;
  }

  body.sidebar-collapsed .sidebar:hover .nav{
    width:auto!important;
    align-items:stretch!important;
  }

  body.sidebar-collapsed .sidebar:hover .nav a{
    width:auto!important;
    min-width:0!important;
    height:auto!important;
  }
}

@media(max-width:900px){
  .sidebar{
    transition:transform .34s cubic-bezier(.22,.61,.36,1)!important;
  }
  .sidebar-scrim{
    transition:opacity .24s ease!important;
  }
}


/* V3.5.3: Cards filter export button correction */
.cards-filter-actions{
  min-width:330px;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:nowrap;
}
.cards-filter-actions .btn{
  height:48px;
  min-width:92px;
  padding-left:18px;
  padding-right:18px;
  border-radius:16px;
  white-space:nowrap;
}
.cards-filter-actions .btn.export{
  background:#fff;
  color:var(--purple-deep);
  border:1px solid #D8CCFF;
  box-shadow:none;
}
.cards-filter-actions .btn.export:hover{
  background:#FBFAFF;
  border-color:#BCA9FF;
  transform:translateY(-1px);
}

@media(max-width:1500px){
  .filters{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .cards-filter-actions{
    grid-column:auto;
    min-width:0;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:900px){
  .cards-filter-actions{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    width:100%;
  }
  .cards-filter-actions .btn{
    width:100%;
    min-width:0;
  }
}


/* V3.6 users & roles + logo tune */
.brand-logo-card{width:150px;min-width:150px;height:64px;border-radius:20px;padding:0 8px}
.brand-logo-card img{width:142px;height:60px;object-fit:contain}
.users-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.users-create-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.create-actions{display:flex;align-items:end;height:100%}
.inline-user-form{display:contents}
.password-form{display:flex;gap:8px;align-items:center}
.password-form input{min-width:160px}
@media(max-width:1280px){
  .users-create-grid{grid-template-columns:1fr 1fr}
  .users-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .users-create-grid{grid-template-columns:1fr}
  .users-stats{grid-template-columns:1fr}
  .password-form{flex-direction:column;align-items:stretch}
}


/* V3.7 single-device session polish */
.session-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--muted);
  font-weight:800;
}


/* V3.7.1 logo center fix */
.brand.compact{align-items:center}


/* V3.7.2 no-frame logo */
.brand{gap:14px;align-items:center}
.brand-logo-card, .brand-logo-card *{pointer-events:none}


/* V3.8 Audit + Scooter History PRO */
.brand-link{cursor:pointer;text-decoration:none;color:inherit}
.brand-link:hover .brand-logo-card img{transform:translateY(-1px);filter:drop-shadow(0 10px 16px rgba(225,255,13,.18))}
.brand-logo-card img{transition:transform .18s ease, filter .18s ease}
.audit-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.audit-filter{grid-template-columns:1.5fr 1.2fr 1.1fr 1fr 1fr auto}
.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.compact-list .list-row{padding:9px 0}
.scooter-analytics .card{min-height:210px}
@media(max-width:1280px){
  .audit-stats,.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .audit-stats,.three-col{grid-template-columns:1fr}
  .audit-filter{grid-template-columns:1fr}
}


/* V3.8.1 login + reports polish */
.auth-brand-row{display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.auth-logo-card{width:178px;min-width:178px;height:58px}
.auth-brand-row .brand-link{display:inline-flex;align-items:center}
.auth-card h2{margin-top:2px}
.report-toolbar-main{display:flex;flex-direction:column;gap:12px;min-width:min(100%,760px)}
.segmented.wrap{row-gap:12px;column-gap:14px}
.segmented.report-sections a,.segmented.report-periods a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 16px;line-height:1.1}
.segmented.report-periods{margin-top:2px}
.mt12{margin-top:12px}
.report-custom-range{grid-template-columns:minmax(180px,220px) minmax(180px,220px) auto;align-items:end;gap:14px}
.report-export-actions{align-self:flex-start}
@media(max-width:1100px){.report-custom-range{grid-template-columns:1fr 1fr auto}}
@media(max-width:900px){.auth-brand-row{justify-content:center}.auth-logo-card{width:168px;min-width:168px;height:54px}.report-toolbar-main{min-width:100%}.report-custom-range{grid-template-columns:1fr}.segment.wrap,.segmented.wrap{column-gap:10px;row-gap:10px}}


/* V3.9 Direction Hub + Role Workspaces */
.topbar-direction-chip{transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease}
.topbar-direction-chip:hover{transform:translateY(-1px);border-color:#cdbdff;box-shadow:0 16px 32px rgba(111,62,232,.12)}
.chip-caret{font-size:18px;line-height:1;color:var(--purple-deep);opacity:.75}
.direction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.direction-card{display:flex;flex-direction:column;min-height:230px;gap:12px;transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease}
.direction-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(111,62,232,.16)}
.direction-card.disabled{opacity:.52;filter:grayscale(.2)}
.direction-icon{width:54px;height:54px;border-radius:18px;background:var(--lime);color:#2A2054;display:grid;place-items:center;box-shadow:0 14px 28px rgba(32,22,73,.12)}
.direction-icon .nav-ico{width:28px;min-width:28px}
.direction-icon svg{width:28px;height:28px}
.direction-card h2{margin:4px 0 0}
.direction-card p{color:var(--muted);margin:0;line-height:1.5}
.direction-open{margin-top:auto;font-weight:950;color:var(--purple-deep)}
.mechanic-stats,.warehouse-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.mechanic-picker{grid-template-columns:minmax(260px,420px) auto}
@media(max-width:1280px){.direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanic-stats,.warehouse-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.direction-grid,.mechanic-stats,.warehouse-stats{grid-template-columns:1fr}.mechanic-picker{grid-template-columns:1fr}}


/* V3.9.1 Menu Access Matrix */
.topbar-chip{cursor:default}
.topbar-direction-chip{pointer-events:none}
.access-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.access-modal.open{display:flex}
.access-modal__backdrop{position:absolute;inset:0;background:rgba(32,22,73,.42);backdrop-filter:blur(4px)}
.access-modal__panel{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 40px 120px rgba(32,22,73,.28);padding:22px}
.access-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.access-modal__head h2{margin:0 0 4px}
.access-modal__head p{margin:0}
.access-modal__close{width:38px;height:38px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--purple-deep);font-size:24px;font-weight:900;cursor:pointer}
.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access-check{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;padding:13px 14px;background:#FBFAFF;font-weight:850;color:var(--text)}
.access-check.checked{background:var(--lime-soft);border-color:#DDFB30}
.access-check input{width:18px;height:18px;accent-color:var(--purple-deep)}
.access-modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
@media(max-width:700px){.access-grid{grid-template-columns:1fr}.access-modal__actions .btn{width:100%}}


/* V3.9.2 Sidebar scroll fix */
.sidebar{
  height:100vh;
  max-height:100vh;
  overflow:hidden;
}
.sidebar-head{
  flex:0 0 auto;
}
.nav{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:6px;
  margin-right:-6px;
  padding-bottom:10px;
  scrollbar-width:thin;
  scrollbar-color:rgba(225,255,13,.55) rgba(255,255,255,.10);
}
.nav::-webkit-scrollbar{width:6px}
.nav::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}
.nav::-webkit-scrollbar-thumb{background:rgba(225,255,13,.58);border-radius:999px}
.sidebar-footer{
  flex:0 0 auto;
  margin-top:14px;
  padding-bottom:4px;
}
@media(min-width:901px){
  body.sidebar-collapsed .sidebar{
    overflow:hidden;
  }
  body.sidebar-collapsed .nav{
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:0;
    margin-right:0;
  }
  body.sidebar-collapsed .sidebar:hover .nav{
    overflow-y:auto;
    padding-right:6px;
    margin-right:-6px;
  }
}
@media(max-width:900px){
  .sidebar{
    overflow-y:auto;
    overflow-x:hidden;
  }
  .nav{
    overflow:visible;
    padding-right:0;
    margin-right:0;
  }
}


/* V4.0 Warehouse + Mechanic PRO */
.two-mini{grid-template-columns:1fr 1fr;gap:12px}
.compact-search{min-width:360px;max-width:520px}
.part-photo{width:64px;height:64px;border-radius:16px;object-fit:cover;background:var(--lime-soft);border:1px solid var(--line)}
.empty-photo{display:grid;place-items:center;color:var(--purple-deep);font-weight:1000;background:linear-gradient(135deg,var(--lime-soft),#fff)}
.row-warning td{background:linear-gradient(90deg,rgba(255,228,238,.55),rgba(255,255,255,1))}
.inline-edit-form{display:grid;gap:7px;min-width:190px}
.inline-edit-form input{height:36px;border-radius:12px;padding:8px 10px;font-size:12px}
.mechanic-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mechanic-job-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-soft)}
.mechanic-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.mechanic-job-body{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mechanic-job-body p{width:100%;margin:6px 0 0;color:var(--muted)}
.mechanic-job-actions{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}
.mechanic-job-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mechanic-job-actions input,.mechanic-job-actions select{height:38px;border-radius:12px;padding:8px 10px}
.mechanic-job-actions .complete-form{grid-column:1/-1}
.warehouse-stats,.mechanic-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1400px){.warehouse-stats,.mechanic-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mechanic-card-grid{grid-template-columns:1fr}}
@media(max-width:900px){.two-mini,.warehouse-stats,.mechanic-stats{grid-template-columns:1fr}.compact-search{min-width:0;max-width:none;width:100%}.mechanic-job-actions{grid-template-columns:1fr}.mechanic-job-actions form{display:grid;grid-template-columns:1fr}.mechanic-job-actions .btn{width:100%}}


/* V4.1 Warehouse Orders */
.order-list{display:grid;gap:10px;max-height:640px;overflow:auto;padding-right:4px}
.order-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;transition:all .14s ease}
.order-list-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.order-list-row.active{border-color:var(--lime);background:linear-gradient(90deg,var(--lime-soft),#fff)}
.order-list-row strong{display:block}
.order-list-row span,.order-list-row small{display:block;color:var(--muted);margin-top:3px}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.details-grid div{border:1px solid var(--line);border-radius:16px;padding:12px;background:#FBFAFF}
.details-grid span{display:block;color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase}
.details-grid strong{display:block;margin-top:5px}
.readonly-box{min-height:46px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#FBFAFF;font-weight:850;color:var(--text)}
.row-done td{background:linear-gradient(90deg,rgba(223,251,230,.65),#fff)}
@media(max-width:900px){.details-grid{grid-template-columns:1fr}.order-list-row{align-items:flex-start;flex-direction:column}}


/* V4.1.1 Purchase costs */
.money-cell{font-weight:950;color:var(--purple-deep)}
.cost-muted{color:var(--muted);font-size:12px}


/* V4.1.2 expected arrival inside warehouse */
.warehouse-inner-tabs{margin:0 0 18px 0}
.warehouse-inner-tabs a{min-height:46px}

/* V4.1.3: removed duplicate Expected Arrival button from warehouse actions */


/* V4.2 Mechanic Pool + Self Assign */
.pool-grid .pool-card{border-color:#D9CBFF;background:linear-gradient(180deg,#FFFFFF 0%,#FBFAFF 100%)}
.claim-form{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.claim-form label{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.claim-form select,.claim-form input{height:40px;border:1px solid var(--line);border-radius:14px;padding:9px 12px;background:#fff;color:var(--text);font-weight:750}
.pipeline-status-card .details-grid{margin-bottom:0}
.mechanic-job-body .muted{font-weight:850}
@media(max-width:900px){.claim-form .btn{width:100%}}

/* V4.2.1: mechanic sees ST SC level as read-only */

/* V4.2.2: fixed duplicate PDO named params in mechanic workspace statistics */


/* V4.3 Telegram Sync Pipeline */
.pipeline-sync-badge{display:inline-flex;align-items:center;gap:8px}
.pipeline-sync-badge:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(225,255,13,.18)}

/* V4.3.1: unified TG + Web sync and optional Telegram group notifications */


/* V4.3.2 Stock Enforcement + Initial Inventory */
.stock-enforcement-card{border-color:#d7c6ff;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%)}
.warehouse-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.alert.orange{background:#FFF7E8;border:1px solid #FFD69A;color:#7A4A00}
@media(max-width:1400px){.warehouse-actions-grid{grid-template-columns:1fr}}


/* V4.3.3 Factory nomenclature / fixed base cost */
.readonly-box{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#FAF8FF;color:var(--muted);font-weight:800}
.row-warning{background:#FFF8E8}
.factory-code-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#EFE8FF;color:var(--purple-deep);font-weight:900}


/* V4.3.4 Pool duplicate guard + manual arrival costs */
.row-warning{background:#fff8e8}
.badge.red{white-space:nowrap}
.manual-cost-note{font-size:12px;color:var(--muted)}


/* V4.4.11 Admin card edit/delete */
.danger-zone{border-color:#ffd3d3;background:linear-gradient(180deg,#fff 0%,#fff8f8 100%)}
.btn.red{background:#ff3b3b;color:#fff;border-color:#ff3b3b}
.checkbox-line{display:flex;align-items:center;gap:8px;font-weight:800}
.checkbox-line input{width:auto;height:auto}

/* V4.4.11 warehouse service_card_parts created_at compatibility fix */

/* V4.4.11 exact stock seed from supplied factory nomenclature */


/* V4.4.11 delivery list receipt */
.delivery-items-wrap{max-height:560px;overflow:auto}
.delivery-table select{min-width:340px}
.delivery-table input{min-width:110px}
.four-mini{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1200px){.four-mini{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.four-mini{grid-template-columns:1fr}.delivery-table select{min-width:260px}}

/* V4.4.11 exact catalog sync: disable old parts outside supplied list */


/* V4.4.11 bulk photo upload */
input[type="file"]{border:1px dashed var(--line);background:#fff;border-radius:16px;padding:14px}


/* V4.4.11 supply order builder */
.supply-order-table-wrap{max-height:680px;overflow:auto}
.photo-cell{width:82px}
.part-photo-mini{width:58px;height:58px;border-radius:16px;object-fit:cover;border:1px solid var(--line);background:#fff}
.photo-placeholder{width:58px;height:58px;border-radius:16px;border:1px solid var(--line);background:#f6ffdc;display:flex;align-items:center;justify-content:center;font-weight:1000;color:var(--purple)}
.order-qty-input,.line-total-input{min-width:110px}
.badge.orange{background:#fff2cf;color:#845800}


/* V4.4.11 weekly repair writeoff */
.repair-writeoff-items-wrap{max-height:560px;overflow:auto}
.readonly-stock{background:#f8f7ff;color:var(--muted)}
.btn.red{background:#ff3b3b;color:#fff;border-color:#ff3b3b}


/* V4.4.11 Main content stat cards icon/decor fix
   Правка касается только KPI/stat блоков внутри разделов. Sidebar / боковое меню не изменяется. */
:root{
  --stat-corner-size:58px;
  --stat-corner-offset:-18px;
  --stat-top-line-height:4px;
}
.stat{
  min-height:118px;
  padding:18px 20px;
}
.stat:before{
  height:var(--stat-top-line-height);
}
.stat:after{
  right:var(--stat-corner-offset);
  top:var(--stat-corner-offset);
  width:var(--stat-corner-size);
  height:var(--stat-corner-size);
  opacity:.55;
  background:radial-gradient(circle, rgba(225,255,13,.26) 0%, rgba(225,255,13,.13) 48%, rgba(141,90,243,0) 72%);
}
.stat span{
  font-size:11px;
  letter-spacing:.06em;
  line-height:1.25;
  max-width:calc(100% - 32px);
}
.stat strong{
  font-size:34px;
  margin:7px 0 5px;
  line-height:1.04;
}
.stat small{
  display:block;
  font-size:12px;
  line-height:1.3;
  max-width:100%;
}
.stats-grid{
  gap:16px;
}
@media(max-width:1500px){
  .stat{min-height:112px}
}
@media(max-width:760px){
  .stat{min-height:104px;padding:16px 18px}
  .stat strong{font-size:30px}
  .stat:after{width:48px;height:48px;right:-14px;top:-14px}
}


/* V4.4.11 Remove page hero strips / lift content
   Боковое меню и sidebar не изменяются. Убираем только большие информационные hero-блоки в контентной области. */
.hero-strip{
  display:none !important;
}
.page-actions + .hero-strip,
.topbar + .hero-strip{
  display:none !important;
}
.content .hero-strip + .grid,
.content .hero-strip + .stats-grid,
.content .hero-strip + .dashboard-kpi-compact,
.content .hero-strip + .card{
  margin-top:0 !important;
}
.topbar{
  margin-bottom:18px;
}
.page-actions{
  margin-bottom:14px;
}
.stats-grid,
.dashboard-kpi-compact{
  margin-top:0 !important;
}
.card:first-of-type,
.grid:first-of-type{
  margin-top:0;
}


/* V4.4.11 Admin-style KPI cards (dashboard + fleet history) */
.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:22px}
.admin-kpi{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:14px;min-height:98px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease}
.admin-kpi:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(111,62,232,.12)}
.admin-kpi .kpi-icon{width:72px;height:72px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:31px;line-height:1;font-weight:900;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.admin-kpi .kpi-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.admin-kpi .kpi-title{display:block;font-size:14px;line-height:1.2;font-weight:850;color:#20163F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-kpi strong{display:block;font-size:18px;line-height:1.1;letter-spacing:-.02em;color:#17112F}
.admin-kpi small{display:block;color:var(--muted);font-size:12px;line-height:1.35;font-weight:650}
.kpi-teal{background:#28A9BF}
.kpi-green{background:#27B04B}
.kpi-yellow{background:#F4C014;color:#231942 !important}
.kpi-red{background:#E63A4F}
.kpi-purple{background:#6F3EE8}
.kpi-blue{background:#356CF1}
.kpi-orange{background:#F39A23}
@media (max-width: 1100px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){.admin-kpi-grid{grid-template-columns:1fr}.admin-kpi{grid-template-columns:70px 1fr;padding:14px}.admin-kpi .kpi-icon{width:58px;height:58px;font-size:25px}}


/* V4.4.11 KPI text and cross-page icon fit */
.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:22px}
.admin-kpi{display:grid;grid-template-columns:74px 1fr;min-height:108px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);align-items:center;transition:transform .16s ease, box-shadow .16s ease}
.admin-kpi:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(111,62,232,.12)}
.admin-kpi .kpi-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;color:#fff;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.28);flex:0 0 auto}
.admin-kpi .kpi-copy{display:flex;flex-direction:column;gap:6px;min-width:0;overflow:hidden}
.admin-kpi .kpi-title{display:block;white-space:normal;overflow:visible;text-overflow:clip;font-size:15px;line-height:1.2;font-weight:850;color:#20163F;min-height:36px}
.admin-kpi strong{display:block;font-size:20px;line-height:1.1;letter-spacing:-.02em;color:#17112F;word-break:break-word}
.admin-kpi small{display:block;color:var(--muted);font-size:12px;line-height:1.35;font-weight:650}
.kpi-teal{background:#28A9BF}.kpi-green{background:#27B04B}.kpi-yellow{background:#F4C014;color:#231942 !important}.kpi-red{background:#E63A4F}.kpi-purple{background:#6F3EE8}.kpi-blue{background:#356CF1}.kpi-orange{background:#F39A23}
@media (min-width:1600px){.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}
@media (max-width:1280px){.admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media (max-width:720px){.admin-kpi-grid{grid-template-columns:1fr}.admin-kpi{grid-template-columns:58px 1fr;min-height:unset;padding:12px 14px}.admin-kpi .kpi-icon{width:50px;height:50px;font-size:22px}.admin-kpi .kpi-title{min-height:unset;font-size:14px}.admin-kpi strong{font-size:18px}}


/* V4.4.11 Warehouse compact stock + part card */
.warehouse-compact-note{
  margin:-4px 0 14px;
  padding:10px 14px;
  border-radius:16px;
  background:#FBFAFF;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.warehouse-compact-table tbody tr{
  cursor:pointer;
  transition:background .12s ease, transform .12s ease;
}
.warehouse-compact-table tbody tr:hover{
  background:#FAF8FF;
}
.warehouse-compact-table th,
.warehouse-compact-table td{
  vertical-align:middle;
}
.stock-number strong{
  font-size:20px;
  letter-spacing:-.03em;
}
.stock-number span{
  color:var(--muted);
  font-weight:800;
}
.row-danger{
  background:#fff2f2;
}
.part-profile{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:22px;
  align-items:stretch;
  margin-bottom:20px;
}
.part-profile__photo{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.part-profile__photo img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
}
.part-profile__placeholder{
  width:128px;
  height:128px;
  border-radius:32px;
  display:grid;
  place-items:center;
  background:#F6FFDC;
  color:var(--purple);
  font-size:54px;
  font-weight:1000;
}
.part-profile__main{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:22px;
  box-shadow:var(--shadow);
}
.part-profile__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.part-profile__head h2{
  margin:10px 0 4px;
  font-size:32px;
  letter-spacing:-.04em;
}
.part-profile__head p{
  margin:0;
  color:var(--muted);
  font-weight:750;
}
.part-profile__code{
  min-width:210px;
  padding:14px 16px;
  border-radius:20px;
  background:#FAF8FF;
  border:1px solid var(--line);
  text-align:right;
}
.part-profile__code span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:900;
}
.part-profile__code strong{
  display:block;
  font-size:22px;
  margin-top:4px;
}
.part-kpi{
  margin-bottom:0;
}
@media(max-width:1000px){
  .part-profile{grid-template-columns:1fr}
  .part-profile__photo{min-height:260px}
  .part-profile__head{flex-direction:column}
  .part-profile__code{text-align:left;width:100%}
}

/* V4.4.11 part_view web_admin_users join fix */


/* V4.4.11 Warehouse journal + diagnostics */
.warehouse-journal-filters{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.warehouse-journal-table td{
  vertical-align:top;
}
.diag-table-wrap{
  max-height:440px;
  overflow:auto;
}
.badge.purple{
  background:#efe6ff;
  color:#5a2ed1;
}
.badge.teal{
  background:#ddfbff;
  color:#087789;
}
.warehouse-compact-card .page-actions,
.warehouse-compact-card .compact-search{
  margin-bottom:0;
}


/* V4.4.11 single part photo upload */
.compact-delete-form{
  margin-top:12px;
}
.part-profile__photo{
  position:relative;
}
input[type="file"]{
  border:1px dashed var(--line);
  background:#fff;
  border-radius:16px;
  padding:14px;
}


/* V4.4.11 Warehouse tabs + reports relocation + nomenclature directory */
.warehouse-main-tabs{
  margin-bottom:16px;
}
.warehouse-main-tabs a{
  font-weight:950;
}
.warehouse-tools{
  margin-top:0;
  margin-bottom:18px;
}
.report-warehouse-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.nomenclature-layout{
  align-items:start;
}
.nomenclature-table-wrap{
  max-height:720px;
  overflow:auto;
}
.nomenclature-table-wrap td{
  vertical-align:top;
}


/* V4.4.31 compact warehouse KPI strip */
.compact-warehouse-stats{
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.compact-warehouse-stats .admin-kpi{
  min-height: 116px;
  padding: 16px 18px;
  border-radius: 24px;
}
.compact-warehouse-stats .kpi-icon{
  width: 76px;
  height: 76px;
  min-width: 76px;
  border-radius: 20px;
  font-size: 34px;
}
.compact-warehouse-stats .kpi-copy{
  gap: 4px;
}
.compact-warehouse-stats .kpi-title{
  font-size: 15px;
  line-height: 1.2;
}
.compact-warehouse-stats .admin-kpi strong{
  font-size: 24px;
  line-height: 1.05;
}
.compact-warehouse-stats .admin-kpi small{
  font-size: 12px;
  line-height: 1.25;
}
@media (min-width: 1280px){
  .compact-warehouse-stats{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px){
  .compact-warehouse-stats{
    grid-template-columns: 1fr;
  }
  .compact-warehouse-stats .admin-kpi{
    min-height: 102px;
    padding: 14px 16px;
  }
  .compact-warehouse-stats .kpi-icon{
    width: 64px;
    height: 64px;
    min-width: 64px;
    font-size: 28px;
  }
}


/* V4.4.31 Mechanic KPI drilldown */
.kpi-badge-link,
.kpi-number-link,
.mechanic-name-link,
.quality-breakdown a{
  text-decoration:none;
  color:inherit;
  display:inline-block;
}
.kpi-badge-link:hover,
.kpi-number-link:hover,
.mechanic-name-link:hover,
.quality-breakdown a:hover{
  transform:translateY(-1px);
  filter:brightness(.96);
}
.quality-breakdown{
  white-space:nowrap;
}
.quality-breakdown a{
  padding:2px 4px;
  border-radius:8px;
}
.quality-breakdown a:hover{
  background:#f2ecff;
}
.mechanic-kpi-head{
  margin-bottom:18px;
}
.kpi-decision-actions{
  align-items:center;
  gap:8px;
}


/* V4.4.31 KPI criteria settings */
.kpi-criteria-layout{
  align-items:start;
}
.kpi-criteria-table-wrap{
  max-height:720px;
  overflow:auto;
}
.kpi-criteria-table-wrap td{
  vertical-align:top;
}
.kpi-criteria-layout code,
.card code{
  padding:2px 6px;
  border-radius:8px;
  background:#f5f0ff;
  color:#5630c7;
  font-weight:850;
}

/* V4.4.31 KPI drilldown compatibility: missing mechanic_completed_at fallback */

/* V4.4.31 settings KPI criteria count fix */


/* V4.4.31 Secondary control criteria from KPI settings */
.kpi-gray{background:#eef0f6;color:#2b2740}
.quality-decision-preview{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  margin:10px 0 4px;
}
.quality-decision-preview .badge{
  justify-content:flex-start;
}
.kpi-criteria-layout select[name="result_status"]{
  min-width:100%;
}


/* V4.4.31 mechanic report parts: show issued part names instead of PA/factory codes */
.report-works-smart{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}
.report-works-smart li{
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.report-works-smart li::marker{
  color:var(--purple);
}
.report-works-smart li span{
  font-weight:850;
}
.report-works-smart li small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-weight:700;
  line-height:1.35;
}
.report-work-part{
  background:#F8FFF0!important;
  border-color:#DFFF9B!important;
}
.report-work-part span:before{
  content:'🧩 ';
}
.report-work-action span:before{
  content:'• ';
  color:var(--purple);
}


/* V4.4.31 mechanic profile */
.mechanic-profile-head .details-grid{
  margin-top:12px;
}
.mechanic-bars{
  display:flex;
  align-items:flex-end;
  gap:10px;
  min-height:170px;
  padding:14px 4px 4px;
  overflow-x:auto;
}
.mechanic-bar-item{
  min-width:58px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.mechanic-bar-value{
  font-weight:950;
  font-size:13px;
}
.mechanic-bar{
  width:30px;
  min-height:6px;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg, #6b35d8, #d7ff00);
  box-shadow:0 8px 18px rgba(87,47,202,.18);
}
.mechanic-bar-label{
  font-size:12px;
  font-weight:850;
  color:var(--muted);
}
.mechanic-bar-item small{
  font-size:11px;
  color:var(--muted);
  font-weight:800;
}
.row-highlight{
  background:#f8fff0;
}


/* V4.4.31 KPI period filters: yesterday + custom interval */
.kpi-period-tabs{
  flex-wrap:wrap;
}
.compact-period-filter{
  margin:14px 0 12px;
  grid-template-columns:repeat(auto-fit,minmax(170px,220px));
  align-items:end;
}
.compact-period-filter label{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
}
.compact-period-filter input[type="date"]{
  min-height:42px;
}
.compact-period-filter .filter-actions{
  align-self:end;
}
@media (max-width:760px){
  .compact-period-filter{
    grid-template-columns:1fr;
  }
}

/* V4.4.31 mechanic profile HY093 fix */


/* V4.4.31 Card route PRO */
.route-pro-card{
  overflow:hidden;
}
.route-pro-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin:10px 0 16px;
}
.route-current{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#fff,#fbf9ff);
  border-radius:22px;
  padding:16px 18px;
}
.route-current span{
  display:block;
  color:var(--muted);
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.route-current strong{
  display:block;
  margin-top:8px;
  font-size:24px;
  line-height:1.1;
}
.route-current small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-weight:800;
}
.route-checklist{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin:14px 0 18px;
}
.route-check{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  background:#fff;
}
.route-check>span{
  width:30px;
  height:30px;
  min-width:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-weight:950;
}
.route-check.done>span{
  background:#dffbdc;
  color:#087a27;
}
.route-check.pending>span{
  background:#f0e9ff;
  color:#5d32d6;
}
.route-check strong{
  display:block;
  font-size:13px;
}
.route-check small{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  margin-top:2px;
}
.route-events{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}
.route-event{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
}
.route-event-dot{
  width:16px;
  height:16px;
  border-radius:999px;
  margin:16px 0 0 3px;
  box-shadow:0 0 0 5px rgba(99,55,214,.08);
  background:#6337d6;
}
.route-event-dot.badge-green{background:#22b24c}
.route-event-dot.badge-red{background:#ef3152}
.route-event-dot.badge-orange{background:#ff9d16}
.route-event-dot.badge-yellow{background:#ffc319}
.route-event-dot.badge-purple{background:#7b3fe4}
.route-event-dot.badge-teal{background:#27adbd}
.route-event-dot.badge-blue{background:#3d78f0}
.route-event-body{
  border:1px solid var(--line);
  border-radius:18px;
  padding:13px 15px;
  background:#fff;
}
.route-event-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.route-event-head strong{
  font-size:14px;
}
.route-event-head span{
  color:var(--muted);
  font-weight:850;
  white-space:nowrap;
  font-size:12px;
}
.route-event-body p{
  margin:8px 0 0;
  color:#1b1535;
  line-height:1.35;
}
@media(max-width:760px){
  .route-event-head{
    flex-direction:column;
    gap:4px;
  }
  .route-event-head span{
    white-space:normal;
  }
}


/* V4.4.31 stuck cards control */
.stuck-kpi-grid{
  margin-bottom:18px;
}
.stuck-mode-tabs{
  margin:10px 0 12px;
}
.stuck-threshold-grid{
  margin-bottom:18px;
}
.mini-threshold{
  padding:16px;
}
.mini-threshold .card-title h2{
  font-size:16px;
}
.stuck-table td{
  vertical-align:top;
}
.text-red{
  color:#ef3152;
}
.row-danger{
  background:#fff2f2;
}
.stuck-table .qr-link{
  font-weight:950;
}


/* V4.4.31 Cards filter buttons layout fix */
.cards-filter-actions-row{
  grid-column:1 / -1!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  min-width:0!important;
  margin-top:2px;
}
.cards-filter-actions-row .btn{
  width:auto!important;
  min-width:110px!important;
  height:46px!important;
}
.cards-filter-actions-row .btn.red{
  background:#ff4545!important;
  color:#fff!important;
}
.cards-filter-actions-row .btn.export{
  background:#fff!important;
  color:var(--purple-deep)!important;
  border:1px solid #D8CCFF!important;
  box-shadow:none!important;
}
@media(max-width:900px){
  .cards-filter-actions-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  .cards-filter-actions-row .btn{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:560px){
  .cards-filter-actions-row{
    grid-template-columns:1fr!important;
  }
}


/* V4.4.31 Electronics stuck + neutral repair later */
.neutral-zone{
  background:linear-gradient(180deg,#fff,#fbfbff);
  border-color:#e4ddff!important;
}
.electronics-attention{
  border-color:#ffd3dc!important;
  background:linear-gradient(180deg,#fff,#fff7f9);
}
.attention-card .list-row.block{
  padding:12px 0;
}
.inline-form.mt8,
.mt8{
  margin-top:8px;
}
.badge.gray{
  background:#eef0f6;
  color:#352c55;
}
.kpi-icon.kpi-gray{
  background:#eef0f6;
  color:#352c55;
}
.stuck-table .inline-form{
  display:block;
}
.stuck-table .inline-form .btn{
  margin-top:6px;
  white-space:nowrap;
}

/* V4.4.31 stuck electronics threshold hotfix */


/* V4.4.31 Audit + Users KPI icon cards */
.audit-kpi-grid,
.users-kpi-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
  margin-bottom:24px;
}
.audit-kpi-grid .admin-kpi,
.users-kpi-grid .admin-kpi{
  min-height:116px;
}
.audit-kpi-grid .kpi-icon,
.users-kpi-grid .kpi-icon{
  font-size:30px;
}
@media (max-width:1280px){
  .audit-kpi-grid,
  .users-kpi-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  }
}
@media (max-width:720px){
  .audit-kpi-grid,
  .users-kpi-grid{
    grid-template-columns:1fr;
  }
}


/* V4.4.31 Unified KPI UI polish */
.fleet-kpi-grid,
.warehouse-orders-kpi,
.warehouse-photo-kpi,
.supply-order-kpi,
.part-movement-kpi{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
  margin-bottom:22px;
}
.warehouse-orders-kpi .admin-kpi,
.fleet-kpi-grid .admin-kpi,
.part-movement-kpi .admin-kpi{
  min-height:112px;
}
.warehouse-photo-kpi,
.supply-order-kpi{
  margin-top:0;
}
@media (max-width:720px){
  .fleet-kpi-grid,
  .warehouse-orders-kpi,
  .warehouse-photo-kpi,
  .supply-order-kpi,
  .part-movement-kpi{
    grid-template-columns:1fr;
  }
}


/* V4.4.31 Problem scooters analytics */
.problem-scooters-kpi{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
  margin-bottom:22px;
}
.problem-issue-tabs{
  margin:10px 0 12px;
}
.problem-scooter-filter{
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
}
.problem-scooters-table td{
  vertical-align:top;
}
.problem-scooters-table .badge{
  margin:2px 3px 2px 0;
}
.inline-actions{
  margin:0;
  gap:8px;
}
.card-title .inline-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}
@media(max-width:720px){
  .problem-scooters-kpi{
    grid-template-columns:1fr;
  }
  .card-title .inline-actions{
    width:100%;
    margin-top:8px;
  }
}

/* V4.4.31 nomenclature HY093 + category NOT NULL hotfix */


/* V4.4.31 Nomenclature Telegram categories */
.nomenclature-bulk-form .compact-period-filter{
  margin:12px 0 14px;
}
.nomenclature-table-wrap table th:first-child,
.nomenclature-table-wrap table td:first-child{
  width:42px;
  text-align:center;
}
.nomenclature-table-wrap .badge{
  white-space:normal;
}
.nomenclature-layout .filters{
  align-items:end;
}
@media(max-width:900px){
  .nomenclature-bulk-form .compact-period-filter{
    grid-template-columns:1fr;
  }
}


/* V4.4.33 Access hardening: CSS copied from V4.4.31, no visual changes. */

/* V4.4.33 Users page visual hardening */
.users-create-grid{
  grid-template-columns: minmax(150px,1fr) minmax(180px,1.2fr) minmax(150px,.9fr) minmax(170px,1fr) minmax(190px,1.1fr) minmax(160px,.8fr);
  align-items:end;
}
.users-create-grid .create-actions .btn{
  width:100%;
  min-width:150px;
}
.users-table-wrap{
  overflow-x:auto;
  padding-bottom:4px;
}
.users-table{
  min-width:1420px;
  table-layout:fixed;
}
.users-table th,
.users-table td{
  vertical-align:middle;
}
.users-table th:nth-child(1),
.users-table td:nth-child(1){width:54px;}
.users-table th:nth-child(2),
.users-table td:nth-child(2){width:110px;}
.users-table th:nth-child(3),
.users-table td:nth-child(3){width:165px;}
.users-table th:nth-child(4),
.users-table td:nth-child(4){width:150px;}
.users-table th:nth-child(5),
.users-table td:nth-child(5){width:180px;}
.users-table th:nth-child(6),
.users-table td:nth-child(6){width:130px;}
.users-table th:nth-child(7),
.users-table td:nth-child(7){width:140px;}
.users-table th:nth-child(8),
.users-table td:nth-child(8){width:180px;}
.users-table th:nth-child(9),
.users-table td:nth-child(9){width:120px;}
.users-table th:nth-child(10),
.users-table td:nth-child(10){width:135px;}
.users-table th:nth-child(11),
.users-table td:nth-child(11){width:245px;}
.users-table input,
.users-table select{
  width:100%;
  min-width:0;
  height:46px;
  padding:10px 12px;
  border-radius:15px;
}
.users-table .btn.small,
.users-table .btn.ghost.small{
  min-width:0;
  white-space:nowrap;
}
.users-table .btn.tiny{
  min-height:34px;
  padding:8px 12px;
  border-radius:13px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.session-cell{
  line-height:1.35;
}
.session-reset-form{
  margin-top:7px;
  display:block;
}
.password-form{
  display:grid;
  grid-template-columns:minmax(125px,1fr) auto;
  gap:8px;
  align-items:center;
}
.password-form input{
  min-width:0;
}
@media(max-width:1280px){
  .users-create-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .users-create-grid{grid-template-columns:1fr;}
  .users-create-grid .create-actions .btn{min-width:0;}
}


.identity-modal-backdrop[hidden]{display:none!important}
.identity-modal-backdrop{position:fixed;inset:0;background:rgba(12,8,35,.42);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px}
.identity-modal-card{width:min(760px,96vw);background:#fff;border:1px solid rgba(105,66,222,.18);border-radius:26px;box-shadow:0 24px 70px rgba(29,18,70,.22);padding:24px}
.identity-lock-hint{font-size:13px}
.identity-history-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(105,66,222,.16);border-radius:999px;padding:6px 10px;margin:2px;background:#fff}

/* V4.4.36 HY093 Scooter History Fix */

/* V4.4.38 Electrician Form Cleanup */
.electrician-form-grid{display:grid;gap:12px;align-items:end}.electrician-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.electrician-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.electrician-forms .card{align-self:start}.electrician-filter{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr auto}.soft-sep{border:0;border-top:1px solid var(--line);margin:18px 0}.mt6{margin-top:6px}.electrician-stats .stat strong{font-size:28px}.electrician-hero .badge{white-space:nowrap}@media(max-width:1100px){.electrician-form-grid.two,.electrician-form-grid.three,.electrician-filter{grid-template-columns:1fr}.electrician-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.electrician-stats{grid-template-columns:1fr}}

/* V4.4.40 Electrician PRO */
/* V4.4.41 Expected Arrival Edit */
.sidebar-version{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  margin-bottom:10px;
  border:1px solid rgba(225,255,13,.32);
  border-radius:12px;
  color:var(--lime);
  background:rgba(255,255,255,.08);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.brand-caption span{display:none!important}
.electrician-pro-grid .table-wrap input{min-width:110px;padding:9px 10px;border-radius:12px}
.electrician-rate-form{display:grid;gap:7px}
.check-only{width:auto;min-width:0!important;transform:scale(1.15)}
.electrician-pay-mini{grid-template-columns:1fr 1fr;gap:10px}
.mini-card{border:1px solid var(--line);border-radius:18px;background:#FBFAFF;padding:14px}
.mini-card span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.mini-card strong{display:block;margin-top:6px;font-size:20px;letter-spacing:-.03em;color:#17112F}
.electrician-summary-card .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.electrician-pro-grid,.electrician-summary-card .stats-grid,.electrician-pay-mini{grid-template-columns:1fr}}


/* V4.4.41 Expected Arrival Edit */
.expected-arrival-edit{border:1px solid rgba(105,66,222,.14);border-radius:20px;background:#FBFAFF;padding:12px;margin-top:14px}
.expected-arrival-edit summary{cursor:pointer;font-weight:950;color:var(--purple);list-style:none}
.expected-arrival-edit summary::-webkit-details-marker{display:none}
.expected-arrival-edit-form{margin-top:12px}
.expected-arrival-edit-form .grid.three-mini{grid-template-columns:repeat(3,minmax(0,1fr))}
.mini-edit-block{margin-top:10px;border:1px solid rgba(105,66,222,.12);border-radius:16px;background:#fff;padding:9px}
.mini-edit-block summary{cursor:pointer;color:var(--purple);font-size:12px;font-weight:950;list-style:none}
.mini-edit-block summary::-webkit-details-marker{display:none}
.mini-edit-form{display:grid;gap:7px;margin-top:8px}
.mini-edit-form input,.mini-edit-form textarea{min-width:120px;padding:8px 10px;border-radius:12px}
.mini-edit-form .mini-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mini-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:1100px){.expected-arrival-edit-form .grid.three-mini,.mini-edit-form .mini-row{grid-template-columns:1fr}}

/* V4.4.43 Expected Arrival Stage Checklist Fix */
.order-stage-mini{
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  margin-top:6px;
  max-width:180px;
}
.stage-mini{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid rgba(105,66,222,.14);
  background:#fff;
  color:#6a6381;
  font-size:9px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
}
.stage-mini.on{
  border-color:rgba(205,255,0,.95);
  background:rgba(225,255,13,.28);
  color:#17112f;
}
.stage-mini.off{
  background:rgba(246,244,252,.9);
  color:#9a93ad;
}
.expected-stage-panel{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(105,66,222,.14);
  border-radius:18px;
  background:#fff;
}
.compact-title{
  margin-bottom:8px;
}
.compact-title h3{
  margin:0;
  color:#17112f;
  font-size:17px;
}
.stage-check-form{
  display:grid;
  gap:8px;
}
.stage-check-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
}
.stage-check{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 8px;
  border:1px solid rgba(105,66,222,.16);
  border-radius:12px;
  background:#FBFAFF;
  cursor:pointer;
  font-weight:950;
  font-size:12px;
  line-height:1.15;
  color:#332956;
  user-select:none;
}
.stage-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.stage-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid rgba(105,66,222,.30);
  background:#fff;
  color:transparent;
  font-size:12px;
  font-weight:950;
  flex:0 0 auto;
}
.stage-check.checked,
.stage-check:has(input:checked){
  border-color:rgba(205,255,0,.95);
  background:rgba(225,255,13,.22);
  box-shadow:0 6px 18px rgba(105,66,222,.07);
}
.stage-check.checked .stage-box,
.stage-check:has(input:checked) .stage-box{
  background:var(--lime);
  color:#17112f;
  border-color:var(--lime);
}
.stage-save-btn{
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:12px !important;
}
@media(max-width:1450px){
  .stage-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
  .stage-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  .stage-check-grid{grid-template-columns:1fr;}
}


/* V4.4.44 Supply Stage Timeline */
.supply-order-row{position:relative;align-items:flex-start;padding:13px 14px 14px 14px}
.order-main-copy{min-width:0;flex:1;padding-right:8px}
.order-side-copy{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:132px}
.badge.tiny{padding:4px 8px;font-size:10px;line-height:1}
.stage-current{background:var(--lime)!important;color:#201848!important;border:1px solid rgba(205,255,0,.95);box-shadow:0 8px 18px rgba(205,255,0,.20);max-width:160px;overflow:hidden;text-overflow:ellipsis}
.stage-current-none{background:#F1EDF9!important;color:#807890!important;border-color:#E6DDF7!important;box-shadow:none!important}
.stage-current-formed{background:#EEE8FF!important;color:#5D35C8!important;border-color:#D9CAFF!important;box-shadow:none!important}
.stage-current-payment100,.stage-current-payment50,.stage-current-paid{background:#FFF3D6!important;color:#8A6208!important;border-color:#FFE2A3!important;box-shadow:none!important}
.stage-current-production{background:#EAF1FF!important;color:#255FB8!important;border-color:#CFE0FF!important;box-shadow:none!important}
.stage-current-packing{background:#F0E9FF!important;color:#6530B8!important;border-color:#DAC7FF!important;box-shadow:none!important}
.stage-current-transportation{background:#E9F8FA!important;color:#1C7580!important;border-color:#BEEEF4!important;box-shadow:none!important}
.stage-current-ready{background:#E7F8E5!important;color:#286E32!important;border-color:#C5EFC0!important;box-shadow:none!important}
.stage-inline{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950;border:1px solid transparent}
.order-stage-mini{max-width:100%;gap:3px;margin-top:7px}
.stage-mini{font-size:8.5px;padding:2px 5px}
.stage-mini.off{display:none}
.compact-timeline-panel{padding:10px 12px}
.stage-timeline-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:stretch}
.stage-payment-group{grid-column:span 2;border:1px solid rgba(105,66,222,.14);border-radius:12px;background:#FBFAFF;padding:7px;display:grid;gap:5px}
.stage-payment-title{font-size:11px;font-weight:950;color:var(--purple);text-transform:uppercase;letter-spacing:.02em;line-height:1}
.stage-payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.stage-check{min-height:30px;padding:6px 7px;border-radius:11px;font-size:11px;gap:5px}
.stage-check-main{height:100%}
.payment-check{min-height:28px;font-size:10px;padding:5px 6px}
.stage-box{width:16px;height:16px;border-radius:5px;font-size:10px}
.stage-save-btn{min-height:32px!important;padding:7px 12px!important;margin-top:2px!important}
@media(max-width:1500px){.stage-timeline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-payment-group{grid-column:span 3}}
@media(max-width:900px){.stage-timeline-grid{grid-template-columns:1fr}.stage-payment-group{grid-column:span 1}.stage-payment-options{grid-template-columns:1fr}.order-side-copy{align-items:flex-start}.supply-order-row{flex-direction:column}}


/* V4.4.45 Part Demand Category */
.badge.yellow{background:#FFF6BF;color:#7A5A00}
.badge.demand-badge{font-size:11px;padding:5px 9px;text-transform:none}
.part-demand-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* V4.4.45 Stable UI reset: no animations/transitions */
*,
*::before,
*::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

/* V4.4.45 Sidebar Soft Popup Hotfix
   Только мягкое раскрытие левого меню. Остальные анимации отключены. */
@media (min-width: 901px) {
  body.sidebar-collapsed .sidebar {
    transition: width .16s ease-out !important;
  }

  body.sidebar-collapsed .sidebar:hover {
    transition: width .16s ease-out !important;
  }

  body.sidebar-collapsed .nav-text,
  body.sidebar-collapsed .brand-caption,
  body.sidebar-collapsed .sidebar-footer {
    transition: opacity .08s linear !important;
  }
}


/* V4.4.45 Dashboard Compact Cleanup
   Главная: компактные информативные KPI без крупных растянутых карточек. */
.dashboard-compact-kpi{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-bottom:14px !important;
}
.dashboard-compact-kpi .admin-kpi{
  grid-template-columns:42px 1fr !important;
  gap:10px !important;
  min-height:74px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  box-shadow:0 8px 22px rgba(111,62,232,.08) !important;
}
.dashboard-compact-kpi .admin-kpi:hover{
  transform:none !important;
  box-shadow:0 8px 22px rgba(111,62,232,.08) !important;
}
.dashboard-compact-kpi .admin-kpi .kpi-icon{
  width:42px !important;
  height:42px !important;
  border-radius:12px !important;
  font-size:19px !important;
}
.dashboard-compact-kpi .admin-kpi .kpi-copy{
  gap:3px !important;
}
.dashboard-compact-kpi .admin-kpi .kpi-title{
  min-height:0 !important;
  font-size:13px !important;
  line-height:1.15 !important;
}
.dashboard-compact-kpi .admin-kpi strong{
  font-size:21px !important;
  line-height:1 !important;
}
.dashboard-compact-kpi .admin-kpi small{
  font-size:11px !important;
  line-height:1.25 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-compact-panels{
  gap:12px !important;
  margin-top:0 !important;
}
.dashboard-compact-panels .card,
.dashboard-latest-compact{
  padding:18px 20px !important;
  border-radius:20px !important;
}
.dashboard-compact-panels .card-title{
  margin-bottom:8px !important;
}
.dashboard-compact-panels .card-title h2,
.dashboard-latest-compact .card-title h2{
  font-size:20px !important;
}
.dashboard-compact-panels .list{
  gap:0 !important;
}
.dashboard-compact-panels .list-row{
  padding:8px 0 !important;
}
.dashboard-latest-compact table th,
.dashboard-latest-compact table td{
  padding-top:9px !important;
  padding-bottom:9px !important;
}
@media(max-width:1400px){
  .dashboard-compact-kpi{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .dashboard-compact-kpi{grid-template-columns:1fr !important;}
  .dashboard-compact-kpi .admin-kpi{min-height:66px !important;}
}

/* V4.4.45 card view cleanup: management block collapsed by default */
.card-management-collapse{padding:0;overflow:hidden}
.card-management-collapse[open]{padding:0}
.card-management-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;padding:14px 18px;border-radius:var(--radius);background:linear-gradient(180deg,#fff 0%,#FBFAFF 100%)}
.card-management-summary::-webkit-details-marker{display:none}
.card-management-summary-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.card-management-summary-main strong{font-size:17px;color:var(--text);font-weight:950;letter-spacing:-.02em}
.card-management-summary-main small{color:var(--muted);font-weight:750;line-height:1.25}
.card-management-summary:before{content:'✎';width:34px;height:34px;border-radius:12px;background:var(--lime);display:inline-flex;align-items:center;justify-content:center;font-weight:950;color:var(--text);flex:0 0 auto}
.card-management-body{padding:0 18px 18px}
.card-management-collapse .control-grid{margin-top:4px}
@media(max-width:900px){.card-management-summary{align-items:flex-start;flex-direction:column}.card-management-summary:before{display:none}.card-management-body{padding:0 12px 12px}}

/* V4.4.45 Compact stuck cards page */
.compact-page-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.stuck-summary-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.stuck-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  color:inherit;
}
.stuck-mini-stat:hover{box-shadow:0 10px 26px rgba(111,62,232,.10)}
.stuck-mini-stat.active{
  border-color:#D3FB00;
  box-shadow:0 0 0 2px rgba(211,251,0,.22);
}
.stuck-mini-stat .stat-label{
  font-size:13px;
  font-weight:850;
  color:#20163F;
  line-height:1.2;
}
.stuck-mini-stat strong{
  font-size:24px;
  line-height:1;
  color:#17112F;
}
.stuck-mini-stat small{
  font-size:11px;
  color:var(--muted);
  line-height:1.2;
  font-weight:650;
}
.compact-card{
  padding:16px 18px;
}
.compact-card-title{
  margin-bottom:10px;
}
.compact-card-title h2{
  font-size:18px;
}
.compact-card-title .card-title-meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.compact-segmented{
  margin:6px 0 8px;
  gap:8px;
}
.compact-segmented a{
  min-height:36px;
  padding:9px 14px;
  font-size:14px;
}
.compact-inline-filters{
  display:grid;
  grid-template-columns:1.3fr .9fr .9fr auto;
  gap:10px;
  align-items:end;
}
.compact-inline-filters label{
  margin-bottom:6px;
}
.compact-inline-filters input,
.compact-inline-filters select{
  height:46px;
}
.compact-filter-actions{
  display:flex;
  gap:8px;
  align-items:end;
  min-width:max-content;
}
.compact-filter-actions .btn{
  min-width:110px;
}
.stuck-list-card{
  margin-top:12px;
}
.stuck-list-card .table-wrap{
  margin-top:4px;
}
.stuck-table th,
.stuck-table td{
  padding-top:10px;
  padding-bottom:10px;
}
.stuck-table .btn.small{
  min-width:90px;
}
.stuck-table .badge{
  white-space:nowrap;
}
@media (max-width:1500px){
  .stuck-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1100px){
  .compact-inline-filters{grid-template-columns:1fr 1fr;}
  .compact-filter-actions{grid-column:1 / -1;}
}
@media (max-width:760px){
  .stuck-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .compact-inline-filters{grid-template-columns:1fr;}
  .compact-filter-actions{grid-column:auto; width:100%;}
  .compact-filter-actions .btn{flex:1 1 auto;}
}

/* V4.4.45 Compact scooters page */
.compact-stats-row.scooter-summary-row,
.scooter-summary-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.compact-stat-box{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:18px;
  padding:14px 16px;
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.compact-stat-box .stat-label{
  font-size:14px;
  font-weight:850;
  color:#20163F;
  line-height:1.2;
}
.compact-stat-box strong{
  font-size:32px;
  line-height:1;
  color:#17112F;
}
.compact-stat-box small{
  font-size:12px;
  color:var(--muted);
  line-height:1.25;
  font-weight:650;
}
.scooter-toolbar-card{
  padding:14px 18px;
  margin-bottom:14px;
}
.compact-inline-actions{
  gap:8px;
}
.scooter-toolbar-meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2px;
}
.scooter-list-card .card-title{
  margin-bottom:10px;
}
.scooter-list-card table td,
.scooter-list-card table th{
  padding-top:12px;
  padding-bottom:12px;
}
.scooter-list-card .btn.small{
  min-width:88px;
}
@media (max-width:1200px){
  .scooter-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .scooter-summary-row{grid-template-columns:1fr;}
  .scooter-toolbar-meta{align-items:flex-start;}
}


/* V4.4.45 Scooters controls cleanup */
.scooter-toolbar-card{
  display:none!important;
}
.scooters-list-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.scooters-list-title > div:first-child{
  min-width:0;
}
.scooters-list-title h2{
  margin:0 0 4px;
}
.scooters-title-actions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  flex:0 0 auto;
}
.scooters-title-actions .btn.small{
  min-width:86px;
  height:38px;
  padding:0 14px;
  border-radius:14px;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
}
.scooters-title-actions .scooters-excel-btn{
  background:#6F3EE8!important;
  color:#fff!important;
  border-color:#6F3EE8!important;
  box-shadow:none!important;
  opacity:1!important;
}
.scooters-title-actions .scooters-excel-btn:hover{
  background:#5E31CC!important;
  color:#fff!important;
}
@media(max-width:760px){
  .scooters-list-title{
    flex-direction:column;
    align-items:stretch;
  }
  .scooters-title-actions{
    justify-content:flex-start;
  }
}


/* V4.4.45 Scooters page without top stats */
.scooter-list-card{
  margin-top:8px;
}
.scooters-list-title{
  margin-bottom:10px;
}

/* V4.4.45 Compact problem scooters page */
.problem-summary-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.problem-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  color:inherit;
}
.problem-mini-stat:hover{box-shadow:0 10px 26px rgba(111,62,232,.10)}
.problem-mini-stat.active{
  border-color:#D3FB00;
  box-shadow:0 0 0 2px rgba(211,251,0,.22);
}
.problem-mini-stat .stat-label{
  font-size:13px;
  font-weight:850;
  color:#20163F;
  line-height:1.2;
}
.problem-mini-stat strong{
  font-size:24px;
  line-height:1;
  color:#17112F;
}
.problem-mini-stat small{
  font-size:11px;
  color:var(--muted);
  line-height:1.2;
  font-weight:650;
}
.problem-filter-card{
  padding:16px 18px;
  margin-bottom:12px;
}
.problem-scooter-filter.compact-inline-filters{
  grid-template-columns:.9fr .95fr .95fr 1fr .8fr auto;
}
.problem-scooters-table th,
.problem-scooters-table td{
  padding-top:10px;
  padding-bottom:10px;
  vertical-align:top;
}
.problem-scooters-table .badge{
  white-space:nowrap;
}
.problem-scooters-table .btn.small{
  min-width:88px;
}
@media (max-width:1500px){
  .problem-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .problem-scooter-filter.compact-inline-filters{grid-template-columns:1fr 1fr 1fr;}
  .problem-scooter-filter.compact-inline-filters .compact-filter-actions{grid-column:1/-1;}
}
@media (max-width:760px){
  .problem-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .problem-scooter-filter.compact-inline-filters{grid-template-columns:1fr;}
}

/* V4.4.45 Compact mechanic workspace stats */
.mechanic-summary-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.mechanic-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}
.mechanic-mini-stat .stat-label{
  font-size:13px;
  font-weight:850;
  color:#20163F;
  line-height:1.2;
}
.mechanic-mini-stat strong{
  font-size:24px;
  line-height:1;
  color:#17112F;
}
.mechanic-mini-stat small{
  font-size:11px;
  color:var(--muted);
  line-height:1.2;
  font-weight:650;
}
@media (max-width:1500px){
  .mechanic-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
  .mechanic-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* V4.4.45 Warehouse cleanup */
.warehouse-summary-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:6px 0 12px;
}
.warehouse-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  color:inherit;
}
.warehouse-mini-stat:hover{box-shadow:0 10px 26px rgba(111,62,232,.10)}
.warehouse-mini-stat .stat-label{font-size:13px;font-weight:850;color:#20163F;line-height:1.2;}
.warehouse-mini-stat strong{font-size:24px;line-height:1;color:#17112F;}
.warehouse-mini-stat small{font-size:11px;color:var(--muted);line-height:1.2;font-weight:650;}
.warehouse-top-actions{margin:0 0 12px;}
.warehouse-stock-title{align-items:flex-start;}
.warehouse-stock-title > div:first-child{min-width:0;}
.warehouse-stock-title h2{margin:0 0 4px;}
@media (max-width:1500px){.warehouse-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.warehouse-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V4.4.45 Compact expected arrivals page */
.warehouse-orders-summary-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:6px 0 12px;
}
.warehouse-orders-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  color:inherit;
}
.warehouse-orders-mini-stat .stat-label{font-size:13px;font-weight:850;color:#20163F;line-height:1.2;}
.warehouse-orders-mini-stat strong{font-size:24px;line-height:1;color:#17112F;}
.warehouse-orders-mini-stat small{font-size:11px;color:var(--muted);line-height:1.2;font-weight:650;}
@media (max-width:1500px){.warehouse-orders-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.warehouse-orders-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V4.4.45 Expected arrivals without top stats */
.warehouse-orders-summary-row{
  display:none!important;
}

/* V4.4.45 Compact supply order page */
.supply-order-filter-card{
  padding:16px 18px;
  margin-bottom:12px;
}
.supply-order-filters{
  grid-template-columns:1.2fr .85fr .85fr auto;
}
.supply-order-actions{
  gap:8px;
  margin-bottom:10px;
}
.supply-order-actions.bottom{
  justify-content:flex-end;
  margin-top:10px;
}
.supply-order-table-wrap table th,
.supply-order-table-wrap table td{
  padding-top:10px;
  padding-bottom:10px;
  vertical-align:top;
}
.supply-order-table-wrap .order-qty-input,
.supply-order-table-wrap .line-total-input,
.supply-order-table-wrap input[name="item_note[]"]{
  min-width:90px;
}
@media (max-width:1300px){
  .supply-order-filters{grid-template-columns:1fr 1fr;}
  .supply-order-filters .compact-filter-actions{grid-column:1/-1;}
}
@media (max-width:760px){
  .supply-order-filters{grid-template-columns:1fr;}
}


/* V4.4.45 Compact scooter history */
.scooter-history-summary-row{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
  margin:6px 0 12px;
}
.scooter-history-mini-stat{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:74px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
}
.scooter-history-mini-stat .stat-label{font-size:13px;font-weight:850;color:#20163F;line-height:1.15;}
.scooter-history-mini-stat strong{font-size:24px;line-height:1;color:#17112F;}
.scooter-history-mini-stat small{font-size:11px;color:var(--muted);line-height:1.2;font-weight:650;}
.scooter-history-top-grid .details dt,
.scooter-history-top-grid .details dd{padding-top:6px;padding-bottom:6px;}
.scooter-history-top-grid textarea{min-height:88px;}
.compact-scooter-analytics .card{padding:16px 18px;}
@media (max-width:1600px){.scooter-history-summary-row{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:920px){.scooter-history-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V4.4.45 Scooter repair cost by period */
.scooter-cost-box{
  margin-top:14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fbf8ff;
}
.scooter-cost-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:6px;
}
.scooter-cost-head span{
  font-size:13px;
  font-weight:850;
  color:#6f5f8f;
}
.scooter-cost-head strong{
  font-size:22px;
  line-height:1;
  color:#17112F;
  text-align:right;
}
.scooter-cost-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  font-size:12px;
  color:var(--muted);
  font-weight:650;
  margin-bottom:10px;
}
.scooter-cost-filter{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:8px;
  align-items:center;
}
.scooter-cost-filter select,
.scooter-cost-filter input{
  height:38px;
  border-radius:12px;
  padding:0 10px;
}
.scooter-cost-filter .btn.small{
  height:38px;
  min-width:86px;
  padding:0 12px;
}
@media(max-width:900px){
  .scooter-cost-filter{grid-template-columns:1fr 1fr;}
  .scooter-cost-filter .btn.small{width:100%;}
}


/* V4.4.45 compact electrician */
.electrician-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px;}
.electrician-mini-stat{display:flex;flex-direction:column;gap:4px;min-height:82px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);}
.electrician-mini-stat span{font-size:13px;font-weight:850;color:#6b5d88;text-transform:uppercase;letter-spacing:.02em;}
.electrician-mini-stat strong{font-size:24px;line-height:1;color:#17112F;}
.electrician-mini-stat small{font-size:12px;color:var(--muted);font-weight:700;}
.electrician-main-grid{align-items:start;}
.electrician-main-grid > .card{padding:18px 20px;}
.electrician-main-grid .electrician-form-grid{gap:10px;}
.electrician-action-card{display:flex;flex-direction:column;gap:10px;}
.compact-action-box{border:1px solid var(--line);border-radius:14px;background:#fcfbff;padding:0 12px;}
.compact-action-box summary{cursor:pointer;list-style:none;padding:12px 2px;font-weight:850;color:#20163F;}
.compact-action-box summary::-webkit-details-marker{display:none;}
.compact-action-box[open]{padding-bottom:12px;}
.compact-action-box[open] summary{border-bottom:1px solid var(--line);margin-bottom:10px;}
.compact-form{gap:10px;}
.electrician-summary-card .stats-grid.electrician-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.electrician-summary-card .stats-grid.electrician-stats .card.stat{padding:12px 14px;min-height:auto;box-shadow:none;background:#fcfbff;}
.electrician-filter{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;}
.electrician-filter .filter-actions{display:flex;gap:8px;align-items:flex-end;}
@media (max-width:1400px){.electrician-summary-row{grid-template-columns:repeat(2,minmax(0,1fr));}.electrician-filter{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:920px){.electrician-summary-row,.electrician-summary-card .stats-grid.electrician-stats,.electrician-filter{grid-template-columns:1fr;}}


/* V4.4.45 Electrician directory architecture */
.electrician-top-actions{
  margin:0 0 12px;
}
.electrician-work-only{
  align-items:start;
}
.electrician-work-info .compact-list{
  margin-top:4px;
}
.electrician-directory-summary{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.electrician-directory-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.electrician-directory-actions .compact-action-box{
  align-self:start;
}
.electrician-pro-grid .table-wrap table th,
.electrician-pro-grid .table-wrap table td,
.electrician-bottom-grid .table-wrap table th,
.electrician-bottom-grid .table-wrap table td{
  padding-top:10px;
  padding-bottom:10px;
}
@media(max-width:1500px){
  .electrician-directory-summary{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1000px){
  .electrician-directory-actions{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .electrician-directory-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
}



/* Text inside sidebar should not pop sharply */
.sidebar .nav-label,
.side-nav .nav-label,
.app-sidebar .nav-label,
.layout-sidebar .nav-label,
.nav-rail .nav-label,
.sidebar .brand-caption,
.side-nav .brand-caption,
.app-sidebar .brand-caption,
.layout-sidebar .brand-caption,
.nav-rail .brand-caption,
.sidebar .sidebar-footer,
.side-nav .sidebar-footer,
.app-sidebar .sidebar-footer,
.layout-sidebar .sidebar-footer,
.nav-rail .sidebar-footer,
.sidebar .user-footer,
.side-nav .user-footer,
.app-sidebar .user-footer,
.layout-sidebar .user-footer,
.nav-rail .user-footer{
  transition: opacity 420ms cubic-bezier(.22,.90,.24,1), transform 520ms cubic-bezier(.20,.95,.20,1), max-width 520ms cubic-bezier(.20,.95,.20,1);
  transform-origin: left center;
}

/* When compact/collapsed classes are used, hide text gently instead of a jump */
.sidebar:not(:hover).compact .nav-label,
.side-nav:not(:hover).compact .nav-label,
.app-sidebar:not(:hover).compact .nav-label,
.layout-sidebar:not(:hover).compact .nav-label,
.nav-rail:not(:hover).compact .nav-label,
body:not(.sidebar-open) .sidebar.compact .nav-label,
body:not(.sidebar-open) .side-nav.compact .nav-label,
body:not(.sidebar-open) .app-sidebar.compact .nav-label{
  opacity:.0;
  transform:translateX(-8px);
  max-width:0;
  overflow:hidden;
}

/* On hover/open, let labels fade in softly with a small slide */
.sidebar:hover .nav-label,
.side-nav:hover .nav-label,
.app-sidebar:hover .nav-label,
.layout-sidebar:hover .nav-label,
.nav-rail:hover .nav-label,
body.sidebar-open .sidebar .nav-label,
body.sidebar-open .side-nav .nav-label,
body.sidebar-open .app-sidebar .nav-label{
  opacity:1;
  transform:translateX(0);
  max-width:220px;
}

/* Smooth logo/caption shift */
.sidebar:hover .brand-caption,
.side-nav:hover .brand-caption,
.app-sidebar:hover .brand-caption,
.layout-sidebar:hover .brand-caption,
.nav-rail:hover .brand-caption,
body.sidebar-open .brand-caption{
  opacity:1;
  transform:translateX(0);
  max-width:180px;
}

.sidebar:not(:hover).compact .brand-caption,
.side-nav:not(:hover).compact .brand-caption,
.app-sidebar:not(:hover).compact .brand-caption,
.layout-sidebar:not(:hover).compact .brand-caption,
.nav-rail:not(:hover).compact .brand-caption{
  opacity:0;
  transform:translateX(-8px);
  max-width:0;
  overflow:hidden;
}

/* Prevent harsh first-frame jump after page load */
body.sidebar-ready .sidebar,
body.sidebar-ready .side-nav,
body.sidebar-ready .app-sidebar,
body.sidebar-ready .layout-sidebar,
body.sidebar-ready .nav-rail{
  transition-duration:520ms;
}

@media (prefers-reduced-motion: reduce){
  .sidebar,
  .side-nav,
  .app-sidebar,
  .layout-sidebar,
  .nav-rail,
  .sidebar *,
  .side-nav *,
  .app-sidebar *,
  .layout-sidebar *,
  .nav-rail *{
    transition-duration:0ms!important;
  }
}


/* V4.4.45 Sidebar Simple Smooth — like main YOTO admin */
.sidebar,
.side-nav,
.app-sidebar,
.layout-sidebar,
.nav-rail{
  transition: width 360ms ease, min-width 360ms ease, max-width 360ms ease, box-shadow 360ms ease, background-color 260ms ease!important;
  overflow:hidden;
}

/* Menu text appears softly, without separate popup animation */
.sidebar .nav-label,
.side-nav .nav-label,
.app-sidebar .nav-label,
.layout-sidebar .nav-label,
.nav-rail .nav-label,
.sidebar .brand-caption,
.side-nav .brand-caption,
.app-sidebar .brand-caption,
.layout-sidebar .brand-caption,
.nav-rail .brand-caption,
.sidebar .sidebar-footer,
.side-nav .sidebar-footer,
.app-sidebar .sidebar-footer,
.layout-sidebar .sidebar-footer,
.nav-rail .sidebar-footer,
.sidebar .user-footer,
.side-nav .user-footer,
.app-sidebar .user-footer,
.layout-sidebar .user-footer,
.nav-rail .user-footer{
  transition: opacity 220ms ease!important;
  transform:none!important;
  will-change:opacity;
}

/* Closed/compact state: text is hidden only by opacity, not by sliding */
.sidebar.compact:not(:hover) .nav-label,
.side-nav.compact:not(:hover) .nav-label,
.app-sidebar.compact:not(:hover) .nav-label,
.layout-sidebar.compact:not(:hover) .nav-label,
.nav-rail.compact:not(:hover) .nav-label,
.sidebar.compact:not(:hover) .brand-caption,
.side-nav.compact:not(:hover) .brand-caption,
.app-sidebar.compact:not(:hover) .brand-caption,
.layout-sidebar.compact:not(:hover) .brand-caption,
.nav-rail.compact:not(:hover) .brand-caption,
.sidebar.compact:not(:hover) .sidebar-footer,
.side-nav.compact:not(:hover) .sidebar-footer,
.app-sidebar.compact:not(:hover) .sidebar-footer,
.layout-sidebar.compact:not(:hover) .sidebar-footer,
.nav-rail.compact:not(:hover) .sidebar-footer{
  opacity:0;
  pointer-events:none;
}

/* Open/hover state: simple fade-in */
.sidebar:hover .nav-label,
.side-nav:hover .nav-label,
.app-sidebar:hover .nav-label,
.layout-sidebar:hover .nav-label,
.nav-rail:hover .nav-label,
.sidebar:hover .brand-caption,
.side-nav:hover .brand-caption,
.app-sidebar:hover .brand-caption,
.layout-sidebar:hover .brand-caption,
.nav-rail:hover .brand-caption,
.sidebar:hover .sidebar-footer,
.side-nav:hover .sidebar-footer,
.app-sidebar:hover .sidebar-footer,
.layout-sidebar:hover .sidebar-footer,
.nav-rail:hover .sidebar-footer,
body.sidebar-open .sidebar .nav-label,
body.sidebar-open .side-nav .nav-label,
body.sidebar-open .app-sidebar .nav-label,
body.sidebar-open .brand-caption,
body.sidebar-open .sidebar-footer{
  opacity:1;
  pointer-events:auto;
}

/* Remove experimental max-width/text-slide behavior from sidebar */
.sidebar .nav-label,
.side-nav .nav-label,
.app-sidebar .nav-label,
.layout-sidebar .nav-label,
.nav-rail .nav-label{
  max-width:none!important;
  white-space:nowrap;
}

/* Keep the rest of the admin static */
body:not(.sidebar-open) main,
body:not(.sidebar-open) .page,
body:not(.sidebar-open) .content,
body:not(.sidebar-open) .main-content{
  transition:none!important;
}


/* V4.4.45 Scooter parts history links */
.part-history-link{
  font-weight:850;
  text-decoration:none;
}
.part-history-link:hover,
.part-code-link:hover{
  text-decoration:underline;
}
.part-code-link{
  display:inline-block;
  margin-top:2px;
  text-decoration:none;
}


/* V4.4.45 Card view issued parts links */
.part-history-link{
  font-weight:850;
  text-decoration:none;
}
.part-history-link:hover,
.part-code-link:hover{
  text-decoration:underline;
}
.part-code-link{
  display:inline-block;
  margin-top:2px;
  text-decoration:none;
}


/* V4.4.45 Reserve KZ warehouse */
.reserve-kz-summary-row{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.reserve-kz-filter{
  grid-template-columns:1.2fr .8fr auto;
  margin-bottom:12px;
}
.reserve-kz-actions-grid{
  align-items:start;
}
.reserve-kz-transfer-lines{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 12px;
}
.reserve-kz-transfer-line{
  display:grid;
  grid-template-columns:1.5fr .45fr 1fr;
  gap:8px;
}
.reserve-kz-transfer-line select,
.reserve-kz-transfer-line input{
  height:42px;
  border-radius:12px;
  padding:0 10px;
}
.reserve-kz-acts-list .list-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:inherit;
}
@media(max-width:1400px){
  .reserve-kz-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .reserve-kz-transfer-line{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .reserve-kz-summary-row,
  .reserve-kz-filter{grid-template-columns:1fr;}
}


/* V4.4.45 Reserve KZ batch receipt */
.reserve-kz-receipt-lines{
  max-height:360px;
  overflow:auto;
  padding-right:4px;
}


/* V4.4.45 Reserve KZ dynamic receipt rows */
.reserve-kz-receipt-lines{
  max-height:none!important;
  overflow:visible!important;
}
.reserve-kz-receipt-actions{
  justify-content:space-between;
  align-items:center;
  margin-top:8px;
}
.reserve-kz-transfer-line{
  grid-template-columns:1.5fr .38fr 1fr auto;
}
.reserve-kz-remove-line{
  min-width:42px!important;
  width:42px;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:1400px){
  .reserve-kz-transfer-line{
    grid-template-columns:1fr;
  }
  .reserve-kz-remove-line{
    width:100%;
  }
}


/* V4.4.45 Reserve KZ transfer report */
.card-title .btn.export{
  white-space:nowrap;
}


/* V4.4.45 Reserve KZ clean architecture */
.reserve-kz-latest-ops{
  align-items:start;
}
.reserve-kz-latest-ops .table-wrap table th,
.reserve-kz-latest-ops .table-wrap table td{
  padding-top:10px;
  padding-bottom:10px;
}
.reserve-kz-acts-page{
  grid-template-columns:minmax(340px,.75fr) minmax(0,1.4fr);
  align-items:start;
}
.reserve-kz-acts-list .list-row.active-soft{
  background:#f2ffe1;
  border-color:#d6ff37;
}
@media(max-width:1200px){
  .reserve-kz-acts-page{grid-template-columns:1fr;}
}


/* V4.4.45 Reserve KZ reports */
.report-warehouse-actions .btn{
  margin-bottom:6px;
}


/* V4.4.45 Scooter DB delete */
.scooter-delete-zone{
  margin:12px 0;
  padding:14px;
  border:1px solid rgba(220,38,38,.22);
  border-radius:18px;
  background:rgba(254,226,226,.55);
}
.scooter-delete-zone h3{
  margin:0 0 6px;
  font-size:16px;
}
.scooter-delete-zone textarea{
  min-height:72px;
}


/* V4.4.45 Scooter dedicated delete page */
.scooter-delete-confirm-card{
  max-width:980px;
}
.scooter-delete-confirm-card .details-grid{
  margin:10px 0 14px;
}


/* V4.4.45 Scooter passport links */
.passport-code-link{
  display:inline-block;
  text-decoration:none;
}
.passport-code-link:hover{
  text-decoration:underline;
}


/* V4.4.45 scooter-archive-update */
.inline-form{
  display:inline-block;
  margin:0;
}
.scooter-archive-warning{
  border-color:rgba(220,38,38,.22);
  background:rgba(254,226,226,.55);
}


/* V4.4.46 Winter Work Plan */
.work-plan-tabs{
  margin:12px 0 14px;
}
.work-plan-head-card .work-plan-season-form{
  margin-top:10px;
}
.grid.five-mini{
  display:grid;
  grid-template-columns:1.5fr .8fr .8fr .7fr .7fr;
  gap:10px;
}
.grid.four-mini{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.work-plan-kpi .admin-kpi{
  min-height:104px;
}
.work-plan-today-box{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:8px 0 12px;
}
.work-plan-today-box div{
  border:1px solid rgba(92,54,203,.12);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.work-plan-today-box span{
  display:block;
  color:#6b628f;
  font-weight:700;
  font-size:13px;
}
.work-plan-today-box strong{
  display:block;
  margin-top:4px;
  font-size:24px;
}
.work-plan-mini-timeline{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.timeline-mini-row{
  display:grid;
  grid-template-columns:1fr 1.4fr auto;
  gap:10px;
  align-items:center;
}
.timeline-mini-bar{
  height:12px;
  border-radius:999px;
  background:#f0eafb;
  overflow:hidden;
}
.timeline-mini-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#d6ff37;
}
.work-plan-gantt{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.gantt-row{
  display:grid;
  grid-template-columns:280px 1fr 70px;
  align-items:center;
  gap:12px;
}
.gantt-track{
  position:relative;
  height:30px;
  border-radius:999px;
  background:#f1edf8;
  overflow:hidden;
}
.gantt-bar{
  position:absolute;
  top:5px;
  height:20px;
  border-radius:999px;
  background:#6b3fd2;
  overflow:hidden;
}
.gantt-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#d6ff37;
  opacity:.85;
}
.gantt-bar.green{background:#29b765;}
.gantt-bar.orange{background:#ffb020;}
.gantt-bar.red{background:#e5484d;}
.gantt-bar.blue{background:#5b7cfa;}
.gantt-pct{text-align:right;}
.inline-form{display:inline-block;margin:0;}
@media(max-width:1200px){
  .grid.five-mini,.grid.four-mini,.work-plan-today-box,.gantt-row,.timeline-mini-row{grid-template-columns:1fr;}
  .gantt-pct{text-align:left;}
}


/* V4.4.46 Reserve KZ sale write-off */
.grid.three-col.reserve-kz-latest-ops{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.reserve-kz-sale-line{
  grid-template-columns:1.45fr .32fr .42fr .8fr auto;
}
.reserve-kz-sale-lines{
  max-height:none!important;
  overflow:visible!important;
}
@media(max-width:1400px){
  .grid.three-col.reserve-kz-latest-ops{grid-template-columns:1fr;}
  .reserve-kz-sale-line{grid-template-columns:1fr;}
}
