:root{
  --bg:#07111f;
  --bg2:#0c1728;
  --panel:rgba(15, 24, 40, .62);
  --panel2:rgba(18, 29, 48, .76);
  --line:rgba(196, 220, 255, .12);
  --text:#e8eef9;
  --muted:#8ea1bf;
  --accent:#77a7ff;
  --accent2:#47d0c8;
  --danger:#ff8f8f;
  --ok:#7ee0a5;
  font-synthesis-weight:none;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{
  height:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{
  margin:0;
  font-family:Inter,Segoe UI,system-ui,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(76,122,255,.16), transparent 34%),
    radial-gradient(circle at top right, rgba(71,208,200,.10), transparent 30%),
    linear-gradient(180deg,var(--bg),#050b14 60%, #050814);
  color:var(--text);
  overscroll-behavior-x:none;
  touch-action:pan-y pinch-zoom;
}
@media (min-width:1181px){
  html{
    height:auto;
    min-height:100%;
    overflow-y:auto;
    scrollbar-gutter:stable;
  }
  body{
    height:auto;
    min-height:100vh;
  }
}
button,input{font:inherit}
.app-shell{
  display:block;
  min-height:100vh;
  width:100%;
  max-width:100%;
  padding-left:220px;
  overflow-x:hidden;
}
.glass{
  background:linear-gradient(180deg, rgba(20,32,52,.76), rgba(10,18,31,.64));
  border:1px solid var(--line);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
  backdrop-filter: blur(16px);
}
.sidebar{
  position:fixed;
  left:8px;
  top:8px;
  bottom:8px;
  width:204px;
  margin:0;
  border-radius:12px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:hidden;
}
.brand{display:flex;gap:10px;align-items:center;padding:2px 2px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.brand-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(119,167,255,.28),rgba(71,208,200,.18));border:1px solid var(--line);font-weight:700;font-size:12px;overflow:hidden}
.app-logo{width:18px;height:18px;display:block}
img.app-logo.brand-logo-img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(89,195,255,.20))}
.app-logo rect{fill:rgba(71,208,200,.16);stroke:rgba(139,211,255,.72);stroke-width:1.5}
.app-logo path{fill:none;stroke:#dfeaff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ui-icon{width:16px;height:16px;display:inline-block;vertical-align:middle;flex:0 0 auto}
.ui-icon path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ui-icon path:first-child:last-child{fill:currentColor;stroke:none}
.brand-name{font-size:13px;font-weight:700}
.brand-sub,.eyebrow{color:var(--muted);font-size:11px;letter-spacing:0}
.nav{display:flex;flex-direction:column;gap:5px;padding-top:2px}
.nav-item{
  border:1px solid transparent;background:transparent;color:var(--text);text-align:left;
  padding:9px 10px;border-radius:8px;cursor:pointer;font-size:13px;
  display:flex;align-items:center;justify-content:space-between;gap:8px
}
.nav-item:hover,.nav-item.active{background:rgba(119,167,255,.12);border-color:rgba(119,167,255,.18)}
.nav-label{display:flex;align-items:center;gap:9px;min-width:0}
.nav-badge{
  display:grid;place-items:center;
  min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:var(--accent);color:#06111f;font-size:10px;font-weight:800
}
.sidebar-sep{height:1px;background:rgba(255,255,255,.08);margin:2px 0 0}
.company-card{
  margin-top:auto;
  padding:12px;
  border-radius:10px;
  background:rgba(14,23,39,.40);
}
.company-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;min-width:0}
.company-card-head > div{min-width:0}
.company-name{font-size:13px;font-weight:700;margin-bottom:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-close{
  width:18px;height:18px;border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  display:grid;place-items:center;
  font-size:12px;line-height:1;cursor:pointer;
}
.company-link{
  margin-top:10px;
  width:100%;
  border:0;
  background:none;
  color:#6ea8ff;
  text-align:left;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0;
  cursor:pointer;
}
.main{
  padding:8px 8px 8px 8px;
  min-width:0;
  width:100%;
  overflow-x:hidden;
}
.topbar{
  min-height:52px;
  border-radius:12px;
  padding:8px 12px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:16px;
}
.app-logo .logo-shell{fill:rgba(26,137,255,.16);stroke:#249dff;stroke-width:1.6}
.app-logo .logo-line{fill:none;stroke:#59c3ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar-brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}
.topbar-logo{
  width:24px;height:24px;border-radius:6px;display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(119,167,255,.28),rgba(71,208,200,.18));
  border:1px solid var(--line);font-size:11px;font-weight:700;flex:0 0 auto;
}
.topbar-logo .app-logo{width:15px;height:15px}
.topbar-logo img.app-logo.brand-logo-img{width:18px;height:18px}
.topbar-brand-text{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;max-width:100%;overflow:hidden}
.topbar-site{font-size:12px;color:var(--text);line-height:1.1;white-space:nowrap}
.topbar-dot{color:rgba(255,255,255,.28);font-size:12px}
.topbar-product{font-size:12px;color:var(--text);line-height:1.1;white-space:nowrap}
.topbar-title{display:none;min-width:0;max-width:100%;overflow:hidden}
.topbar h1{margin:2px 0 0;font-size:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;min-width:0;max-width:100%}
.global-search-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px 36px;
  gap:8px;
  align-items:center;
  min-width:min(650px,52vw);
  max-width:100%;
}
.global-search-field .search{width:100%}
.search{
  width:min(520px,44vw);padding:9px 13px;border-radius:9px;border:1px solid var(--line);
  background:rgba(9,14,24,.55);color:var(--text);outline:none
}
.search::placeholder{color:#7387a5}
.login-input{
  width:100%;
  padding:10px 12px;
  border-radius:9px;
  border:1px solid var(--line);
  background:rgba(9,14,24,.55);
  color:var(--text);
  outline:none;
}
.login-input::placeholder{color:#7387a5}
.icon-btn{
  width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:rgba(9,14,24,.45);
  color:var(--text);cursor:pointer;display:grid;place-items:center
}
.scan-btn{
  font-size:18px;
  display:none;
  place-items:center;
}
.bell-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:4px}
.bell-btn span{
  position:absolute;top:-5px;right:-5px;
  min-width:18px;height:18px;padding:0 4px;border-radius:999px;
  background:var(--accent);color:#06111f;font-size:10px;font-weight:800;
  border:2px solid #0b1422;
  display:grid;place-items:center;
}
.profile-pill{
  display:flex;align-items:center;gap:10px;
  padding:6px 10px;border-radius:12px;
  border:1px solid var(--line);
  background:rgba(9,14,24,.45);
  color:var(--text);
  cursor:pointer;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.profile-avatar{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;font-weight:700;
  flex:0 0 auto;
}
.profile-meta{min-width:0}
.profile-name{font-size:12px;font-weight:700;line-height:1.1;white-space:nowrap}
.profile-role{font-size:11px;color:var(--muted);line-height:1.1}
.profile-caret{color:var(--muted);font-size:12px}
.grid{display:grid;gap:16px;margin-top:16px}
.grid{gap:12px;margin-top:12px}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards-2{grid-template-columns:1.6fr .9fr}
.cards-3{grid-template-columns:1.2fr .8fr}
.panel{
  padding:14px;border-radius:12px;border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(24,36,58,.7), rgba(13,20,34,.55));
  backdrop-filter: blur(18px);
}
.panel h2,.panel h3{margin:0 0 12px;font-size:22px}
.kpi .label{color:var(--muted);font-size:12px}
.kpi .value{font-size:30px;font-weight:800;margin-top:8px}
.kpi .delta{margin-top:8px;color:var(--accent2);font-size:12px}
.table{width:100%;border-collapse:collapse;table-layout:fixed}
.table th,.table td{padding:10px 9px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;font-size:13px}
.table th,.table td{overflow-wrap:anywhere;vertical-align:middle}
table .column-hidden{display:none!important}
.column-configurable{position:relative}
.column-configurable::after{
  content:"";
  position:absolute;
  right:5px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(142,161,191,.55);
  transform:translateY(-50%);
  opacity:0;
  transition:opacity .14s ease;
}
.column-configurable:hover::after{opacity:1}
.column-settings-menu{
  position:fixed;
  z-index:5000;
  width:min(280px,calc(100vw - 16px));
  padding:12px;
  border-radius:14px;
  color:var(--text);
}
.column-settings-title{font-size:14px;font-weight:800;margin-bottom:4px}
.column-settings-hint{font-size:11px;color:var(--muted);margin-bottom:10px}
.column-settings-list{display:grid;gap:5px;max-height:min(360px,60vh);overflow:auto;padding-right:2px}
.column-settings-row{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-height:34px;
  padding:7px 8px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
  cursor:pointer;
}
.column-settings-row:hover{background:rgba(119,167,255,.09);border-color:rgba(119,167,255,.16)}
.column-settings-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.column-settings-row input{width:16px;height:16px;accent-color:var(--accent)}
.column-settings-row input:disabled{opacity:.45;cursor:not-allowed}
.tool-table th:nth-child(1),.tool-table td:nth-child(1){width:155px}
.tool-table th:nth-child(3),.tool-table td:nth-child(3){width:150px}
.tool-table th:nth-child(4),.tool-table td:nth-child(4){width:120px}
.tool-table th:nth-child(5),.tool-table td:nth-child(5){width:150px}
.tool-table th:nth-child(7),.tool-table td:nth-child(7){width:82px;text-align:center}
.selectable{cursor:pointer}
.selectable:hover{background:rgba(119,167,255,.08)}
.row-selected{background:rgba(119,167,255,.10)}
.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;border:1px solid var(--line)}
.tag.ok{color:var(--ok)}
.tag.wait{color:#f7cf6d}
.tag.bad{color:var(--danger)}
.stack{display:grid;gap:12px}
.list-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.list-item:last-child{border-bottom:0}
.sub{color:var(--muted);font-size:12px}
.dashboard-employees-card{display:flex;flex-direction:column;min-height:260px}
.dashboard-transfers-scroll,
.dashboard-employees-scroll{
  max-height:clamp(240px,34vh,420px);
  overflow:auto;
  padding-right:4px;
  scrollbar-gutter:stable;
}
.dashboard-transfers-table th:nth-child(1),.dashboard-transfers-table td:nth-child(1){width:120px}
.dashboard-transfers-table th:nth-child(2),.dashboard-transfers-table td:nth-child(2){width:78px}
.dashboard-transfers-table th:nth-child(5),.dashboard-transfers-table td:nth-child(5){width:130px}
.consumables-workspace{display:grid;gap:14px}
.consumables-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.consumables-hero h2{margin:4px 0 6px}
.consumables-hero-actions{min-width:220px}
.consumables-kpis .kpi .value{font-size:28px}
.consumables-table-scroll{max-height:460px}
.consumable-detail-panel{display:grid;gap:14px}
.consumable-movements-panel{margin-top:2px}
.consumable-movements-scroll{max-height:420px}
.low-stock-number{color:var(--danger);font-weight:800}
.consumable-table{min-width:980px}
.consumable-table th:nth-child(1),.consumable-table td:nth-child(1){width:110px}
.consumable-table th:nth-child(2),.consumable-table td:nth-child(2){width:230px}
.consumable-table th:nth-child(4),.consumable-table td:nth-child(4){width:64px}
.consumable-table th:nth-child(5),.consumable-table td:nth-child(5),
.consumable-table th:nth-child(6),.consumable-table td:nth-child(6),
.consumable-table th:nth-child(7),.consumable-table td:nth-child(7),
.consumable-table th:nth-child(8),.consumable-table td:nth-child(8){width:82px;text-align:center}
.consumable-table th:nth-child(9),.consumable-table td:nth-child(9){width:140px}
.dashboard-employees-table th:nth-child(1),.dashboard-employees-table td:nth-child(1){width:42%}
.dashboard-employees-table th:nth-child(2),.dashboard-employees-table td:nth-child(2){width:34%}
.dashboard-employees-table th:nth-child(3),.dashboard-employees-table td:nth-child(3){width:24%;text-align:right}
.dashboard-transfers-table thead th,
.dashboard-employees-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:rgba(18,29,48,.96);
}
.segmented{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(4,10,20,.28)}
.segmented button{border:0;border-radius:10px;background:transparent;color:var(--muted);padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}
.segmented button.active{background:rgba(80,139,255,.22);color:var(--text);box-shadow:inset 0 0 0 1px rgba(95,166,255,.35)}
.segmented.compact button{padding:6px 10px;font-size:12px}
.table-sort-btn{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  text-align:left;
  cursor:pointer;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  min-width:0;
}
.table-sort-btn span:first-child{overflow:hidden;text-overflow:ellipsis}
.table-sort-btn:hover,.table-sort-btn:focus-visible{color:#dbe8ff;outline:none}
.table-sort-btn.align-right{justify-content:flex-end;text-align:right}
.sort-arrow{flex:0 0 auto;color:var(--accent);font-size:12px;line-height:1}
.sort-arrow.muted{color:rgba(142,161,191,.45)}
.dashboard-tool-count{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(119,167,255,.12);
  color:#cfe0ff;
  border:1px solid rgba(119,167,255,.18);
  font-weight:800;
}
.glass-card{padding:12px;border-radius:11px;background:rgba(14,23,39,.52);border:1px solid var(--line)}
.tool-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,460px);
  gap:22px;
  padding:0;
  border-radius:12px;
  border:0;
  background:transparent;
}
.tool-reference-hero{align-items:start}
.detail-title-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:16px;
}
.detail-title-row h3{margin:0;font-size:27px;letter-spacing:-.03em}
.tool-cover{
  min-height:238px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 12%, rgba(180,213,255,.16), transparent 42%),
    linear-gradient(180deg, rgba(119,167,255,.14), rgba(71,208,200,.08));
  display:grid;
  place-items:center;
}
.tool-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tool-placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  justify-content:center;
  place-items:center;
  padding:18px;
  text-align:center;
  font-size:13px;
  font-weight:700;
  color:var(--text);
  letter-spacing:0;
}
.tool-placeholder .ui-icon{width:40px;height:40px;color:#8bd3ff;opacity:.9}
.tool-media-panel{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(165,195,255,.22);
  border-radius:13px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(9,16,28,.34));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.tool-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tool-thumb{
  height:62px;
  border-radius:10px;
  border:1px solid rgba(119,167,255,.18);
  background:rgba(9,14,24,.45);
  overflow:hidden;
  position:relative;
  display:grid;
  place-items:center;
}
.tool-thumb.active{border-color:rgba(119,167,255,.58);box-shadow:0 0 0 1px rgba(119,167,255,.18) inset}
.tool-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.tool-thumb .tool-placeholder{font-size:0;padding:0}
.tool-thumb .tool-placeholder .ui-icon{width:22px;height:22px}
.tool-thumb.add{font-size:20px;color:var(--muted)}
.tool-thumb.add{
  cursor:pointer;
  border-style:dashed;
  color:#b9c9e4;
}
.tool-thumb.add span{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(119,167,255,.14);
  border:1px solid rgba(119,167,255,.28);
  color:#dbeaff;
  font-size:22px;
  line-height:1;
  font-weight:400;
}
.tool-thumb-empty{color:#58708f;opacity:.55}
.tool-thumb-empty .ui-icon{width:22px;height:22px}
.media-remove{
  position:absolute;
  top:6px;
  right:6px;
  width:24px;
  height:24px;
  border-radius:7px;
  border:1px solid rgba(255,143,143,.32);
  background:rgba(35,10,15,.84);
  color:#ffb2b2;
  display:grid;
  place-items:center;
  cursor:pointer;
  line-height:1;
  z-index:2;
}
.media-remove.inline{position:static;flex:0 0 auto}
.tool-hero-meta{min-width:0}
.mobile-topcard{display:none}
.tool-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.tool-layout-list,.tool-layout-detail{max-width:1120px;margin:12px auto 0;width:100%}
.tool-list-panel{min-width:0}
.tool-main-panel{min-width:0}
.tool-breadcrumbs{color:var(--muted);font-size:12px;margin-bottom:10px}
.tool-breadcrumbs span{color:var(--muted);margin:0 6px}
.crumb-btn{
  border:0;
  background:transparent;
  color:var(--muted);
  padding:0;
  cursor:pointer;
  font:inherit;
}
.crumb-btn:hover{color:var(--text)}
.tool-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.tool-actions-top{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quick-status-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(119,167,255,.14);
  border-radius:12px;
  background:rgba(9,14,24,.32);
  margin-top:12px;
}
.quick-status-title{flex:0 0 100%;font-weight:700;color:var(--muted)}
.tool-meta-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 22px}
.tool-core-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 46px;
  max-width:520px;
}
.tool-core-facts > div{
  padding-top:0;
  border-top:0;
}
.tool-core-facts strong{display:block;margin-top:6px;font-size:14px;font-weight:700}
.fact-value,.chip,.tool-core-facts strong,.employee-hero-meta,.profile-name,.table td,.mini-row span{overflow-wrap:anywhere}
.tool-tabs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:18px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.tool-tab{
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:var(--text);
  border-radius:8px 8px 0 0;
  padding:10px 12px;
  cursor:pointer;
}
.tool-tab.active{background:rgba(119,167,255,.10);border-color:rgba(72,150,255,.85);color:#dbeaff}
.scan-mode-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.scan-panel{display:grid;gap:10px}
/* Action buttons must survive responsive changes; never collapse them away. */
.list-toolbar-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-left:auto;
}
.batch-drawer{
  position:fixed;
  top:18px;
  left:50%;
  right:auto;
  bottom:auto;
  transform:translateX(-50%);
  z-index:70;
  width:min(980px,calc(100vw - 36px));
  height:auto;
  max-height:calc(100vh - 36px);
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-color:rgba(119,167,255,.42) rgba(255,255,255,.04);
  scrollbar-width:thin;
  padding:18px;
  border-radius:18px;
  display:grid;
  gap:16px;
  box-shadow:0 32px 110px rgba(0,0,0,.62);
}
.batch-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:69;
  background:rgba(2,7,14,.72);
  backdrop-filter:blur(4px);
}
.drawer-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.drawer-head-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.batch-step-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.batch-step-line span{
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(119,167,255,.12);
  color:var(--muted);
  background:rgba(255,255,255,.025);
  font-size:12px;
}
.batch-step-line span.active{color:#dbeaff;background:rgba(119,167,255,.12);border-color:rgba(119,167,255,.22)}
.batch-modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.batch-catalog{display:grid;gap:12px}
.batch-selected-banner{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(119,167,255,.18);
  background:rgba(119,167,255,.08);
}
.batch-selected-banner span{color:var(--muted);font-size:12px}
.batch-catalog-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:4px}
.batch-catalog-item{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  cursor:pointer;
}
.batch-catalog-item input{margin-top:3px}
.batch-catalog-name{font-size:14px;font-weight:700}
.batch-catalog-item > div,
.batch-selected-item > div{min-width:0}
.batch-catalog-name,
.batch-selected-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.batch-catalog-item .sub,
.batch-selected-item .sub{overflow-wrap:anywhere}
.batch-side{display:grid;gap:12px}
.batch-selected{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(9,14,24,.34)}
.batch-selected-list{display:grid;gap:8px;max-height:230px;overflow:auto;padding-right:4px}
.batch-selected-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.batch-selected-name{font-size:14px;font-weight:700}
.batch-submit{
  display:grid;
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(9,14,24,.34);
  position:sticky;
  top:0;
}
.batch-submit .primary-btn{width:100%;max-width:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.mobile-batch-close{display:none}
.batch-submit-error{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,143,143,.24);
  background:rgba(255,143,143,.08);
  color:var(--danger);
  font-size:12px;
  line-height:1.4;
}
.scan-workspace{
  padding:16px;
  display:grid;
  gap:16px;
  scroll-margin-top:16px;
}
.scan-shell-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.scan-shell-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}
.scan-layout{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr);
  gap:16px;
  align-items:start;
}
.scan-layout.single{grid-template-columns:minmax(0,1.6fr) minmax(280px,.6fr)}
.scan-stage-card,.scan-side-card{
  padding:16px;
  border-radius:16px;
  display:grid;
  gap:14px;
}
.scan-stage{
  position:relative;
  min-height:420px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(10,18,31,.8), rgba(7,13,22,.72));
  display:grid;
  place-items:center;
}
.scan-video{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
}
.scan-frame{
  position:absolute;
  inset:18px;
  border-radius:18px;
  border:2px solid rgba(119,167,255,.72);
  box-shadow:0 0 0 9999px rgba(2,6,12,.22) inset, 0 0 0 1px rgba(255,255,255,.10);
  pointer-events:none;
}
.scan-rfid-panel{
  display:grid;
  place-items:center;
  text-align:center;
  gap:10px;
  padding:24px;
}
.scan-rfid-icon{
  width:68px;height:68px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(119,167,255,.22);
  background:linear-gradient(180deg, rgba(119,167,255,.16), rgba(71,208,200,.08));
  font-size:28px;
}
.scan-rfid-title{font-size:18px;font-weight:700}
.scan-status-row{display:grid;gap:6px}
.scan-status{font-size:14px;font-weight:700}
.scan-message{font-size:12px;color:var(--muted)}
.scan-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:end;
}
.scan-input{margin-bottom:0}
.scan-side-card{min-height:100%}
.scan-side-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.scan-batch-list{
  display:grid;
  gap:8px;
  max-height:250px;
  overflow:auto;
  padding-right:4px;
}
.scan-picked-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.scan-picked-title{font-size:14px;font-weight:700}
.scan-batch-transfer{
  display:grid;
  gap:12px;
  padding-top:4px;
  border-top:1px solid rgba(255,255,255,.08);
}
.tool-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) 340px;gap:16px;align-items:start}
.inner-panel{padding:14px}
.panel-head-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.comment-list{display:grid;gap:12px}
.comment-item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.comment-item:last-child{border-bottom:0;padding-bottom:0}
.avatar-mini{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(119,167,255,.16);
  border:1px solid rgba(119,167,255,.22);
  font-size:12px;font-weight:700;
}
.comment-head{display:flex;gap:8px;align-items:baseline;font-size:13px;font-weight:600}
.comment-head span{color:var(--muted);font-size:11px;font-weight:400}
.file-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.file-list{display:grid;gap:8px}
.file-row{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(119,167,255,.14);
  background:rgba(255,255,255,.035);
  color:var(--text);
  text-decoration:none;
}
.file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-row a{min-width:0;overflow:hidden}
.file-row a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-row.add{cursor:pointer;border-style:dashed;color:#8bd3ff}
.file-row.disabled{opacity:.6;pointer-events:none}
.upload-status{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(119,167,255,.16);
  background:rgba(119,167,255,.08);
  color:var(--text);
  font-size:12px;
}
.upload-status.ok{border-color:rgba(126,224,165,.22);background:rgba(126,224,165,.08);color:var(--ok)}
.upload-status.error{border-color:rgba(255,143,143,.24);background:rgba(255,143,143,.08);color:var(--danger)}
.loader-dot{
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.18);
  border-top-color:#8bd3ff;
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.file-thumb{
  min-height:72px;border-radius:12px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  display:grid;place-items:center;
  color:var(--muted);font-weight:700;
}
.file-thumb.add{border-style:dashed}
.spec-list{display:grid;gap:10px;margin-top:10px}
.spec-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}
.spec-row:last-child{border-bottom:0;padding-bottom:0}
.tool-facts .glass-card{min-height:92px}
.fact-value{font-size:17px;font-weight:600;margin-top:6px}
.tool-mobile-grid{display:none}
.tool-mobile-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(14,23,39,.52);
  padding:12px;
  color:var(--text);
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:126px;
}
.tool-mobile-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.tool-mobile-code{font-size:12px;color:var(--muted)}
.tool-mobile-name{font-size:14px;font-weight:700;line-height:1.2}
.tool-mobile-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--muted);
  font-size:11px;
}
.tool-mobile-object{font-size:12px;color:var(--text);opacity:.92}
.employee-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:12px;
  padding:14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(16,27,45,.88), rgba(12,21,36,.72));
}
.employee-portrait{
  height:260px;
  min-height:0;
  align-self:start;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(119,167,255,.14), rgba(71,208,200,.08));
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.employee-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center bottom;
  display:block;
}
.employee-placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  text-align:center;
  font-size:13px;
  font-weight:700;
  color:var(--text);
  letter-spacing:0;
}
.employee-placeholder .ui-icon{width:44px;height:44px;color:#8bd3ff;opacity:.9}
.employee-hero-meta{min-width:0}
.employee-detail-panel .employee-hero-meta > div:first-child{
  flex-direction:column;
  align-items:flex-start !important;
}
.employee-detail-panel .tool-actions-top{
  justify-content:flex-start;
}
.employee-detail-panel .upload-card{
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
}
.employee-detail-panel .upload-label{
  width:100%;
  justify-content:center;
}
.photo-delete-link{
  width:max-content;
  margin:0 auto;
  padding:2px 4px;
  border:0;
  background:transparent;
  color:#ffabab;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}
.photo-delete-link:hover{text-decoration:underline;color:#ffc4c4}
.employee-contact-line{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
}
.employee-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
.employee-summary-grid div{
  display:grid;
  gap:6px;
  min-width:0;
}
.employee-summary-grid strong{
  overflow-wrap:anywhere;
}
.employee-reference-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.employee-mini-card{min-height:126px}
.entity-summary-button{
  width:100%;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.entity-summary-button:hover{border-color:rgba(119,167,255,.34);background:rgba(119,167,255,.06)}
.mini-card-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
  color:var(--text);
  font-size:13px;
  font-weight:700;
}
.mini-card-head b{
  display:grid;place-items:center;
  min-width:24px;height:22px;border-radius:999px;
  background:rgba(119,167,255,.14);
  border:1px solid rgba(119,167,255,.18);
  font-size:12px;
}
.mini-list{display:grid;gap:8px}
.mini-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--muted);
  font-size:12px;
}
.mini-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-row .ui-icon{width:14px;height:14px;color:#8bd3ff}
.upload-label{display:inline-flex;align-items:center;gap:8px}
.upload-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(9,14,24,.45);
}
.upload-title{font-size:13px;font-weight:700}
.photo-preview{
  margin-top:10px;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(119,167,255,.18);
  background:rgba(9,14,24,.42);
}
.photo-preview[hidden]{display:none}
.photo-preview img{
  width:84px;
  height:64px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.10);
}
.photo-preview strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.photo-preview span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}
.mobile-frame{max-width:420px;margin:0 auto;border-radius:28px;padding:14px;background:#060b14;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.mobile-screen{border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#0b1323,#09111d)}
.mobile-nav{display:flex;justify-content:space-between;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08)}
.mobile-nav span{font-size:12px;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 10px;border-radius:999px;background:rgba(119,167,255,.12);border:1px solid rgba(119,167,255,.18);font-size:12px}
.link-btn{
  border:1px solid rgba(119,167,255,.18);
  background:rgba(119,167,255,.10);
  color:var(--text);
  border-radius:8px;
  padding:7px 10px;
  cursor:pointer;
}
.link-btn.active{
  background:rgba(119,167,255,.22);
  border-color:rgba(119,167,255,.34);
}
.mobile-dock{display:none}
.mobile-bottom-space{display:none;height:90px}
.list-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.tool-list-reference{
  padding:16px;
  border-radius:14px;
}
.tool-list-reference h2{font-size:24px;margin:0}
.tool-list-reference .filters-bar{
  padding:12px;
  border:1px solid rgba(119,167,255,.13);
  border-radius:12px;
  background:rgba(8,15,27,.38);
}
.tool-list-reference .list-meta{
  margin:14px 0 0;
  padding:12px 12px;
  border:1px solid rgba(119,167,255,.13);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  background:rgba(15,26,43,.56);
}
.tool-list-reference .tool-table{
  border:1px solid rgba(119,167,255,.13);
  border-top:0;
  border-radius:0 0 12px 12px;
  overflow:hidden;
}
.tool-list-reference .tool-table th{
  background:rgba(25,39,62,.72);
  color:#c9d8ee;
  font-size:12px;
}
.tool-list-reference .tool-table td{height:54px}
.tool-list-reference .primary-btn{
  min-width:180px;
  justify-content:center;
  box-shadow:0 12px 28px rgba(43,124,255,.18);
}
.tool-list-reference .list-toolbar-actions{flex-wrap:nowrap}
.tool-detail-reference .tool-actions-top{flex-wrap:nowrap}
.tool-list-reference #openBatchDrawerBtn{min-width:168px;justify-content:center}
.list-meta{color:var(--muted);font-size:12px;margin:0 0 10px}
.filters-bar{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(120px,1fr)) auto auto;
  gap:8px;
  align-items:center;
  margin:0 0 10px;
}
.search-field{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}
.search-field .filter-input{min-width:0}
.filters-bar.audit-filters{grid-template-columns:150px 170px 170px auto;justify-content:start;max-width:720px}
.filters-bar.tool-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,1fr))}
.filters-bar.employee-filters{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(130px,.8fr))}
.filters-bar.employee-filters,.filters-bar.object-filters{
  padding:10px;
  border:1px solid transparent;
  border-radius:11px;
}
.filters-bar.has-active{border-color:rgba(74,205,133,.34);box-shadow:0 0 0 1px rgba(74,205,133,.08) inset;background:rgba(45,120,78,.055)}
.filters-bar.object-filters{grid-template-columns:220px;justify-content:start}
.active-filter{border-color:rgba(74,205,133,.28)}
.date-filter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;color:var(--muted);font-size:12px}
.date-filter .login-input{margin:0}
.request-filters{grid-template-columns:minmax(0,1.4fr) minmax(140px,.7fr) auto}
.request-card{display:grid;gap:12px}
.request-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.request-card-head h3{margin:4px 0 0}
.transfers-layout{
  align-items:start;
}
.transfers-layout > .panel{
  align-self:start;
  min-width:0;
  height:calc(100vh - 84px);
  min-height:420px;
  overflow:auto;
  overscroll-behavior:contain;
}
.transfer-list-panel .table,
.transfer-detail-panel > .glass-card{
  margin-bottom:0;
}
.request-tool-list{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(119,167,255,.14);
  background:rgba(9,14,24,.35);
}
.report-hero{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.report-hero h2{margin:4px 0 6px}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.report-card{min-height:150px;max-height:230px;overflow:auto}
.report-bars{display:grid;gap:10px}
.report-row{display:grid;gap:6px}
.report-row-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}
.report-row-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-row-head strong{color:var(--text)}
.report-bar{
  height:7px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
}
.report-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(119,167,255,.95), rgba(71,208,200,.82));
}
.export-list{display:grid;gap:10px}
.export-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:13px;
  border:1px solid rgba(119,167,255,.16);
  background:rgba(255,255,255,.035);
  color:var(--text);
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  width:100%;
}
.export-card:hover{background:rgba(119,167,255,.10);border-color:rgba(119,167,255,.26)}
.export-card > span{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(119,167,255,.14);
  color:#8bd3ff;
}
.import-drop{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.import-preview,.import-message{margin-top:12px}
.import-message{
  border-color:rgba(126,224,165,.18);
  color:var(--ok);
}
.filter-input,.filter-select,.page-select{
  width:100%;
  height:38px;
  padding:8px 10px;
  border-radius:9px;
  border:1px solid var(--line);
  background:rgba(9,14,24,.55);
  color:var(--text);
  outline:none;
}
.filter-select,.page-select{appearance:none}
.filter-btn{white-space:nowrap}
.filter-icon{width:42px;height:42px}
.tool-detail-reference{
  padding:24px 22px 20px;
  border-radius:14px;
}
.tool-detail-reference .tool-detail-grid{
  margin-top:12px;
}
.tool-tab-panel{display:none}
.tool-tab-panel.active{display:block}
.tool-side-stack:has(.tool-tab-panel.active){display:grid}
.tool-side-stack:not(:has(.tool-tab-panel.active)){display:none}
.tool-detail-reference .inner-panel{
  border-color:rgba(119,167,255,.13);
  background:linear-gradient(180deg, rgba(18,30,50,.72), rgba(10,18,31,.56));
}
.tool-detail-reference .table th{
  color:#c9d8ee;
  font-size:12px;
}
.tool-detail-reference .comment-list{max-height:285px;overflow:auto;padding-right:4px}
.kit-panel .counter-pill,.counter-pill{
  min-width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#dbeaff;
  background:rgba(119,167,255,.16);
  border:1px solid rgba(119,167,255,.22);
  font-size:12px;
  font-weight:800;
}
.qr-chip{
  border-radius:8px;
  font-weight:800;
  letter-spacing:.08em;
}
.pagination{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:space-between;
  margin-top:14px;
  flex-wrap:wrap;
}
.page-btn{
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  cursor:pointer;
}
.page-btn.active{background:rgba(119,167,255,.14);border-color:rgba(119,167,255,.25)}
.page-ellipsis{color:var(--muted)}
.page-size{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.row-actions{color:var(--muted);letter-spacing:.2em}
.filters-bar{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(120px,1fr)) auto;gap:8px;align-items:center;margin:0 0 10px}
.filter-input,.filter-select,.page-select{width:100%;height:38px;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:rgba(9,14,24,.55);color:var(--text);outline:none}
.filter-select,.page-select{appearance:none}
.filter-btn{white-space:nowrap}
.pagination{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:14px;flex-wrap:wrap}
.page-btn{min-width:34px;height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}
.page-btn.active{background:rgba(119,167,255,.14);border-color:rgba(119,167,255,.25)}
.page-ellipsis{color:var(--muted)}
.page-size{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:50;
  background:rgba(3,8,16,.72);
  display:grid;
  place-items:center;
  padding:18px;
}
.modal{
  width:min(560px,calc(100vw - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  border-radius:18px;
  padding:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(24,36,58,.92), rgba(12,20,33,.88));
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.modal-head h3{margin:0;font-size:20px}
.modal-body{display:grid;gap:12px}
.modal-body .field span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.modal .login-input{width:100%}
.modal select.login-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:36px}
.modal .field{margin:0}
.modal-action-btn{width:auto;min-width:140px}
.modal .login-input{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.modal .primary-btn{max-width:180px}
.company-settings-card{display:grid;gap:12px;min-width:0}
.company-settings-card .field,
.company-settings-card .login-input{min-width:0;max-width:100%}
.company-settings-name{display:block;overflow-wrap:anywhere;line-height:1.35}
.company-settings-actions{display:flex;justify-content:flex-end}
.company-settings-actions .primary-btn{max-width:none}
.profile-avatar.large{width:44px;height:44px;font-size:14px}
.profile-menu-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}
.setting-toggle{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
  cursor:pointer;
  margin-top:10px;
}
.setting-toggle input{
  width:42px;
  height:24px;
  appearance:none;
  border-radius:999px;
  border:1px solid rgba(119,167,255,.24);
  background:rgba(9,14,24,.62);
  position:relative;
  outline:none;
  transition:.18s ease;
}
.setting-toggle input::after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:2px;
  top:2px;
  border-radius:50%;
  background:#8ea1bf;
  transition:.18s ease;
}
.setting-toggle input:checked{
  background:linear-gradient(180deg, rgba(119,167,255,.9), rgba(71,208,200,.74));
}
.setting-toggle input:checked::after{
  transform:translateX(18px);
  background:#06111f;
}
.setting-toggle strong{display:block}
.setting-toggle em{display:block;margin-top:4px;color:var(--muted);font-style:normal;font-size:12px;line-height:1.4}
.more-menu-list{display:grid;gap:4px;padding:2px}
.more-menu-item{
  width:100%;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  padding:11px 12px;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.more-menu-item:hover,.more-menu-item:focus-visible{
  background:rgba(119,167,255,.11);
  color:#eef6ff;
  outline:none;
}
.more-menu-item:active{transform:translateY(1px)}
.more-menu-item.danger{color:#ffabab}
.more-menu-item.danger:hover,.more-menu-item.danger:focus-visible{background:rgba(255,117,117,.09);color:#ffd0d0}
.qr-login-panel{display:grid;gap:12px;justify-items:center}
.qr-login-canvas{width:220px;height:220px;border:1px solid var(--line);border-radius:18px;background:#071120;padding:10px}
.qr-login-svg{display:grid;place-items:center;background:#fff}
.qr-login-svg svg{width:100%;height:100%;display:block}
.qr-login-text{min-height:82px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;word-break:break-all}
.notification-pop-item,.search-result-row{
  width:100%;
  border:1px solid rgba(119,167,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  color:var(--text);
  padding:10px 12px;
  text-align:left;
  display:grid;
  gap:4px;
  cursor:pointer;
}
.notification-pop-item span,.search-result-row span{color:var(--muted);font-size:12px}
.notification-pop-item.negative,.notification-inline.negative{
  border-color:rgba(255,117,117,.28);
  background:rgba(255,79,79,.07);
}
.notification-pop-item.negative strong,.notification-inline.negative>div>div:first-child{color:#ffabab}
.notification-mini.negative{color:#ffabab}
.file-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}
.file-row>a{display:flex;align-items:center;gap:9px;min-width:0;color:inherit;text-decoration:none}
.file-row>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.danger-btn{border-color:rgba(255,117,117,.28)!important;color:#ffabab!important}
.object-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.object-card-facts>div{display:grid;gap:5px}
.object-card-facts .wide{grid-column:1/-1}
.billing-panel{display:grid;gap:18px}
.billing-panel h2{margin:0}
.billing-grid .glass-card{display:grid;gap:8px;min-height:130px}
.billing-section{display:grid;gap:12px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tariff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}
.tariff-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:8px;align-content:start;min-height:238px;padding:12px}
.tariff-card.active-tariff{border-color:rgba(96,211,255,.45);box-shadow:0 0 0 1px rgba(96,211,255,.12) inset}
.tariff-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
.tariff-card-head>div{min-width:0}
.tariff-card .tag{white-space:nowrap}
.tariff-name{font-size:15px;font-weight:800;line-height:1.15}
.tariff-price{font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.05}
.tariff-limits{display:grid;gap:4px;color:var(--muted);font-size:11px;align-content:start}
.tariff-card .primary-btn,.tariff-card .secondary-btn{align-self:end;padding:9px 10px}
.compact-table{max-height:280px;overflow:auto}
.search-results{display:grid;gap:10px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(460px,100%);padding:24px;border-radius:18px;overflow:hidden}
.login-card .field{width:100%}
.remember-row{display:flex;align-items:center;gap:8px;margin:2px 0 8px;color:var(--muted);font-size:13px}
.remember-row input{width:16px;height:16px;accent-color:var(--accent)}
.auth-links{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;margin-top:10px}
.auth-link{background:none;border:0;color:#8fb6ff;padding:0;cursor:pointer;font-size:13px}
.auth-panel{padding:14px 0 0}
.auth-panel-title{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--text)}
.code-input{letter-spacing:.35em;text-align:center;font-weight:700}
.login-card .primary-btn{margin-top:4px}
.field{display:block;margin-bottom:14px}
.field span{display:block;margin:0 0 8px;color:var(--muted);font-size:12px}
.primary-btn{
  width:100%;padding:10px 12px;border:1px solid rgba(119,167,255,.22);border-radius:9px;
  background:linear-gradient(180deg, rgba(119,167,255,.22), rgba(71,208,200,.12));color:var(--text);cursor:pointer
}
.secondary-btn{
  width:100%;padding:10px 12px;border:1px solid rgba(119,167,255,.18);border-radius:9px;
  background:rgba(9,14,24,.55);color:var(--text);cursor:pointer
}
.primary-btn:disabled,
.secondary-btn:disabled,
.link-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:saturate(.7);
}
.primary-btn:disabled:hover,
.secondary-btn:disabled:hover,
.link-btn:disabled:hover{
  background:inherit;
  border-color:inherit;
}
@media (max-width: 1500px) and (min-width: 1181px){
  .tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 560px){
  .login-wrap{padding:16px}
  .login-card{width:100%;padding:18px}
}
@media (max-width: 1180px){
  .app-shell{padding-left:0}
  .sidebar{display:none}
  .main{padding:0 10px 132px;min-width:0;overflow-x:hidden}
  .scan-btn{display:grid}
  .topbar{padding:14px}
  .topbar{grid-template-columns:1fr}
  .topbar-brand{justify-content:flex-start;min-width:0;overflow:hidden}
  .topbar-brand-text{flex-wrap:wrap;white-space:normal;overflow:hidden}
  .topbar-actions{
    display:grid;
    grid-template-columns:1fr 44px minmax(140px,auto);
    justify-content:stretch;
    flex-wrap:nowrap;
    min-width:0;
    overflow:hidden;
    width:100%;
  }
  .topbar-actions .icon-btn{width:44px;height:44px}
  .global-search-field{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1fr) 44px 44px;
    padding:6px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(9,14,24,.34);
  }
  .global-search-field .search{
    border:0;
    background:transparent;
    padding:10px 8px;
  }
  .global-search-field .icon-btn{
    border-radius:11px;
    background:rgba(255,255,255,.035);
  }
  .topbar-actions > .bell-btn{
    grid-column:1;
    justify-self:start;
  }
  .topbar-actions > .profile-pill{
    grid-column:2 / -1;
    justify-self:stretch;
    width:100%;
  }
  .search{width:100%}
  .topbar h1{font-size:22px}
  .kpis,.cards-2,.cards-3{grid-template-columns:1fr}
  .tariff-grid{grid-template-columns:1fr}
  .cards-2 > *,.cards-3 > *{min-width:0}
  .transfers-layout > .panel{
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .tool-hero,.employee-hero{grid-template-columns:1fr}
  .employee-hero{grid-template-columns:1fr}
  .search{width:100%}
  .topbar{flex-direction:column;align-items:stretch}
  .glass-card,.panel{padding:14px}
  .list-toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .list-toolbar h2{
    margin-bottom:0;
  }
  .list-toolbar-actions{
    width:100%;
    justify-content:stretch;
    margin-left:0;
    align-items:stretch;
  }
  .list-toolbar-actions > *{
    flex:1 1 0;
    min-width:0;
  }
  .consumables-hero{
    display:grid;
  }
  .consumables-hero-actions{
    min-width:0;
  }
  .consumables-table-scroll{
    max-height:420px;
  }
  .table th,.table td{padding:10px 8px;font-size:13px}
  .modal{padding:14px}
  .tool-layout,.tool-detail-grid{grid-template-columns:1fr}
  .scan-layout,.scan-layout.single{grid-template-columns:1fr}
  .scan-workspace{padding-top:12px}
  .scan-stage{min-height:320px}
  .scan-video{min-height:320px}
  .scan-controls{grid-template-columns:1fr}
  .scan-shell-head,.drawer-head,.batch-scan-callout,.scan-side-head{flex-direction:column;align-items:stretch}
  .scan-shell-actions,.drawer-head-actions{justify-content:flex-start}
  .batch-drawer,.scan-workspace,.scan-stage-card,.scan-side-card{padding:14px}
  .batch-drawer{
    top:auto;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:100%;
    max-height:86dvh;
    transform:none;
    border-radius:22px 22px 0 0;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom));
  }
  .batch-modal-grid,
  .batch-catalog,
  .batch-side,
  .batch-selected,
  .batch-submit{
    grid-template-columns:1fr;
    min-width:0;
  }
  .batch-catalog-item,
  .batch-selected-item,
  .batch-selected-banner{min-width:0}
  .batch-catalog-list,.batch-selected-list{max-height:28dvh}
  .batch-selected-banner{align-items:flex-start;flex-direction:column}
  .batch-submit{position:static}
  .batch-close-text{display:none}
  .mobile-batch-close{display:flex;justify-content:center}
  .tool-list-reference .list-toolbar-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:100%;
    flex-wrap:initial;
  }
  .tool-list-reference .list-toolbar-actions > *{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .tool-list-reference #createToolBtn{
    grid-column:1 / -1;
  }
  .tool-list-reference #openBatchDrawerBtn,
  .tool-list-reference #openReturnDrawerBtn{
    min-width:0;
    justify-content:center;
  }
  .tool-table{display:none}
  .tool-mobile-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
  }
  .tool-core-facts{grid-template-columns:1fr 1fr}
  .filters-bar{grid-template-columns:1fr 1fr;gap:8px;min-width:0}
  .filters-bar.tool-filters,
  .filters-bar.employee-filters{
    grid-template-columns:1fr;
    width:100%;
    min-width:0;
  }
  .filters-bar.object-filters{
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }
  .filters-bar.request-filters{
    grid-template-columns:minmax(0,1fr);
  }
  .filters-bar > *{min-width:0;max-width:100%}
  .filters-bar.audit-filters{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:none;
  }
  .report-hero,.import-drop{flex-direction:column;align-items:stretch}
  .report-grid{grid-template-columns:1fr}
  .filters-bar .filter-btn,.filters-bar .filter-icon{grid-column:auto}
  .pagination{justify-content:flex-start}
  .mobile-dock{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    position:fixed;
    left:14px;
    right:14px;
    bottom:12px;
    z-index:40;
    padding:7px;
    border-radius:20px;
    backdrop-filter:blur(18px);
    max-width:calc(100vw - 28px);
  }
  .dock-item{
    border:1px solid rgba(119,167,255,.18);
    background:rgba(255,255,255,.04);
    color:var(--text);
    border-radius:14px;
    padding:8px 6px;
    font-size:10px;
    line-height:1.1;
    min-height:48px;
    display:flex;
    flex-direction:column;
    gap:4px;
    align-items:center;
    justify-content:center;
  }
  .dock-item .ui-icon{width:17px;height:17px}
  .dock-item.active{background:rgba(119,167,255,.14);border-color:rgba(119,167,255,.25)}
  .dock-item{
    text-align:center;
  }
  .dock-center{
    width:50px;height:50px;border-radius:50%;
    border:0;
    background:linear-gradient(180deg, rgba(119,167,255,.95), rgba(71,208,200,.85));
    color:#09111d;
    font-weight:700;
    align-self:center;
    justify-self:center;
    box-shadow:0 10px 24px rgba(71,208,200,.28);
  }
  .dock-center .ui-icon{width:21px;height:21px}
  .mobile-dashboard-shell{
    display:grid;
    gap:12px;
    padding-bottom:94px;
  }
  .mobile-topcard{
    display:block;
    border-radius:18px;
    padding:14px;
  }
  .mobile-topline{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
  }
  .mobile-brand{font-size:12px;color:var(--muted)}
  .mobile-status{display:flex;align-items:center;gap:10px}
  .mobile-bell{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:32px;
    height:32px;
    color:var(--text);
    font-size:14px;
    border:0;
    border-radius:12px;
    background:transparent;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    touch-action:manipulation;
  }
  .mobile-bell:active{background:rgba(119,167,255,.12)}
  .mobile-bell .ui-icon{width:18px;height:18px}
  .mobile-bell b{
    position:absolute;top:-8px;right:-10px;
    display:grid;place-items:center;
    width:18px;height:18px;border-radius:50%;
    background:var(--accent);color:#06111f;font-size:10px;
  }
  .mobile-avatar{
    width:28px;height:28px;border-radius:50%;
    display:grid;place-items:center;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.14);
    font-size:11px;font-weight:700;
  }
  .mobile-titleblock{margin-top:14px}
  .mobile-titleblock h1{margin:4px 0 0;font-size:22px}
  .mobile-dashboard-shell .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-dashboard-shell .panel{padding:12px}
  .mobile-dashboard-shell .kpi .value{font-size:26px}
  .mobile-dashboard-shell .table th,.mobile-dashboard-shell .table td{padding:8px 6px;font-size:12px}
  .mobile-dashboard-shell .stack{gap:10px}
  .tool-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
  }
  .tool-tabs::-webkit-scrollbar{display:none}
  .tool-tab{flex:0 0 auto;white-space:nowrap}
  .tool-tab-content,
  .tool-tab-panel,
  .tool-side-stack,
  .file-row,
  .file-row a{
    min-width:0;
    max-width:100%;
  }
  .file-row{
    overflow:hidden;
  }
  .dashboard-transfers-table th:nth-child(3),
  .dashboard-transfers-table td:nth-child(3),
  .dashboard-transfers-table th:nth-child(6),
  .dashboard-transfers-table td:nth-child(6){display:none}
  .employee-table th:nth-child(2),
  .employee-table td:nth-child(2),
  .employee-table th:nth-child(3),
  .employee-table td:nth-child(3),
  .employee-table th:nth-child(6),
  .employee-table td:nth-child(6){display:none}
  .object-table th:nth-child(1),
  .object-table td:nth-child(1),
  .object-table th:nth-child(4),
  .object-table td:nth-child(4){display:none}
  .request-table th:nth-child(2),
  .request-table td:nth-child(2),
  .request-table th:nth-child(5),
  .request-table td:nth-child(5){display:none}
  .audit-table th:nth-child(1),
  .audit-table td:nth-child(1),
  .audit-table th:nth-child(4),
  .audit-table td:nth-child(4),
  .audit-table th:nth-child(5),
  .audit-table td:nth-child(5){display:none}
  .tool-tab-panel .table th:nth-child(3),
  .tool-tab-panel .table td:nth-child(3),
  .tool-tab-panel .table th:nth-child(4),
  .tool-tab-panel .table td:nth-child(4),
  .tool-tab-panel .table th:nth-child(5),
  .tool-tab-panel .table td:nth-child(5){display:none}
  .modal-backdrop{
    place-items:end center;
    padding:0;
  }
  .modal{
    width:100%;
    max-height:88dvh;
    border-radius:18px 18px 0 0;
    padding:16px;
  }
  .modal-actions{position:sticky;bottom:0;padding-top:10px;background:linear-gradient(180deg,transparent,rgba(12,20,33,.98) 28%)}
  .modal-actions .primary-btn{width:100%;max-width:none}
  .more-menu-list{display:grid;gap:10px}
  .more-menu-item{
    width:100%;
    border:1px solid rgba(119,167,255,.18);
    background:rgba(119,167,255,.10);
    color:var(--text);
    border-radius:12px;
    padding:12px 14px;
    text-align:left;
    cursor:pointer;
  }
  .more-menu-item.danger{
    border-color:rgba(255,143,143,.22);
    background:rgba(255,143,143,.10);
  }
}

@media (max-width: 560px){
  .tool-mobile-grid{grid-template-columns:1fr}
  .tool-core-facts{grid-template-columns:1fr 1fr;gap:16px 20px}
  .tool-title-row,.detail-title-row{align-items:flex-start}
  .tool-actions-top{width:100%}
  .tool-actions-top > *{flex:1 1 0;min-width:0}
  .employee-summary-grid,.object-card-facts{grid-template-columns:1fr}
  .object-card-facts .wide{grid-column:auto}
}

@media (max-width: 1500px){
  .tool-layout{grid-template-columns:1fr}
}
