.auth-gate[hidden],
[hidden] {
  display: none !important;
}
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: linear-gradient(145deg, #061d46 0%, #0b3d91 55%, #1472d3 100%);
}
.auth-card { width: min(420px, 100%); padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.auth-card h1 { margin: 0 0 6px; color: #0b3d91; font-size: 28px; }
.auth-card p { color: #64748b; line-height: 1.6; }
.auth-card label { margin-top: 14px; color: #334155; font-weight: 700; }
.auth-card input, .auth-card select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font-size: 16px; }
.auth-card button { width: 100%; margin-top: 18px; min-height: 46px; }
.auth-error { min-height: 22px; margin-top: 10px; color: #b91c1c !important; }
.auth-userbar { display: none; justify-content: space-between; align-items: center; gap: 10px; margin: 0 auto 12px; width: min(960px, calc(100vw - 32px)); padding: 10px 14px; border-radius: 12px; background: #fff; box-shadow: 0 6px 18px rgba(15,23,42,.08); }
.auth-userbar button { padding: 7px 12px; }
.admin-panel { display: none; position: fixed; inset: 20px; z-index: 9000; overflow: auto; padding: 22px; border-radius: 18px; background: #f8fafc; box-shadow: 0 20px 80px rgba(0,0,0,.35); }
.admin-head { display: flex; justify-content: space-between; align-items: center; }
.admin-grid { display: grid; grid-template-columns: minmax(280px, 380px) 1fr; gap: 20px; }
.admin-box { padding: 18px; border-radius: 14px; background: #fff; }
.admin-box input, .admin-box select { width: 100%; min-height: 42px; margin-bottom: 10px; }
.employee-row { display: grid; grid-template-columns: 1.5fr 1fr .7fr auto; gap: 8px; align-items: center; padding: 10px 0; border-bottom: 1px solid #e2e8f0; font-size: 13px; }
.invite-result { overflow-wrap: anywhere; padding: 10px; border-radius: 8px; background: #eff6ff; color: #1e3a8a; }
.price-manager, .price-history { grid-column: 1 / -1; }
.price-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.price-head h3 { margin-bottom:4px; } .price-head p { margin:0 0 12px; color:#64748b; }
.price-head select { width:min(240px,100%); }
.price-create { display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)) auto; gap:8px; padding:14px; margin-bottom:12px; border-radius:10px; background:#f8fafc; }
.price-create h4 { grid-column:1/-1; margin:0; }
.price-create input { margin:0; }
.price-row { display:grid; grid-template-columns:minmax(150px,1.3fr) 120px 90px minmax(120px,1fr) 90px 70px; gap:8px; align-items:center; padding:9px 0; border-bottom:1px solid #e2e8f0; }
.price-row:has([data-price-density]) { grid-template-columns:minmax(150px,1.3fr) 110px 85px 90px minmax(110px,1fr) 85px 70px; }
.price-row input,.price-row select { min-height:38px; margin:0; }
.price-disabled { opacity:.58; background:#f1f5f9; }
.price-row small { display:block; color:#64748b; margin-top:3px; }
.price-row input { margin:0; }
.history-row { padding:9px 0; border-bottom:1px solid #e2e8f0; }
.history-row small { color:#64748b; }
body.auth-loading #container { visibility: hidden; }
@media (max-width: 760px) { .admin-grid { grid-template-columns: 1fr; } .employee-row,.price-row,.price-row:has([data-price-density]),.price-create { grid-template-columns: 1fr; } .price-head {align-items:stretch;flex-direction:column;} }
