:root{
  --bg:#f3f6fb;
  --bg-accent:#e9f0ff;
  --card:#ffffff;
  --text:#0f172a;
  --muted:rgba(15,23,42,.62);
  --line:rgba(15,23,42,.12);
  --line-strong:rgba(15,23,42,.2);
  --blue:#0b3a87;
  --blue-2:#1f77e5;
  --blue-soft:#e8f1ff;
  --focus:#2f7ff5;
  --ok:#047857;
  --warn:#b45309;
  --danger:#b91c1c;
  --shadow:0 14px 36px rgba(15,23,42,.1);
  --radius:16px;
  --radius-sm:12px;
  --radius-xs:10px;
  --space-1:6px;
  --space-2:10px;
  --space-3:14px;
  --space-4:18px;
  --space-5:24px;
}
*{box-sizing:border-box}
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18);border-radius:999px;}
::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.32);}
*{scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent;}
html,body{height:100%}
body{
  margin:0;
  font-family:"Segoe UI",ui-sans-serif,system-ui,-apple-system,Roboto,Helvetica,Arial;
  background:
    radial-gradient(1000px 360px at 6% -4%, var(--bg-accent), transparent 58%),
    var(--bg);
  color:var(--text);
}
body.bz-theme-dark{
  --bg:#1c2330;
  --bg-accent:#243043;
  --card:#2a3443;
  --text:#e9eef7;
  --muted:rgba(233,238,247,.72);
  --line:rgba(233,238,247,.16);
  --line-strong:rgba(233,238,247,.24);
  --blue:#6eaaf8;
  --blue-2:#4a8ff0;
  --blue-soft:#334760;
  --focus:#78b2ff;
  --shadow:0 12px 28px rgba(5,10,20,.28);
}
.bz-muted{color:var(--muted)}
.bz-app{min-height:100%;display:flex;flex-direction:column}
.bz-header{background:#fff;border-bottom:1px solid var(--line);padding:12px 16px;position:sticky;top:0;z-index:1000}
.bz-header__row{display:flex;gap:12px;align-items:center;justify-content:space-between}
.bz-header__desktop{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:14px;align-items:center}
.bz-header__mobile{display:none;align-items:center;justify-content:space-between;gap:8px}
.bz-mobile-actions{display:flex;gap:6px;align-items:center}
.bz-headerActions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.bz-brand{display:flex;gap:10px;align-items:center}
.bz-brand__mark{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--blue-2))}
.bz-brand__name{font-weight:900;letter-spacing:.2px}
.bz-brand--mobile .bz-brand__name{font-size:13px;line-height:1.1}
.bz-headerPreview{display:block}
.bz-headerPreview__inner{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:8px 12px;min-height:58px}
.bz-headerPreview__logo{width:42px;height:42px;border-radius:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;overflow:visible;color:var(--blue);font-weight:900;font-size:12px;flex:0 0 auto}
.bz-headerPreview__logo img{max-width:100%;max-height:100%;display:block}
.bz-headerPreview__body{min-width:0;text-align:center}
.bz-headerPreview__title{font-weight:900;font-size:14px;line-height:1.1}
.bz-headerPreview__meta{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bz-iconBtn{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-weight:800;cursor:pointer;border-radius:10px;padding:8px 10px;transition:all .18s ease}
.bz-iconBtn:hover{background:#dbeafe;border-color:#93c5fd}
.bz-iconBtn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(47,127,245,.22)}
.bz-iconBtn--circle{width:34px;height:34px;border-radius:999px;padding:0;display:flex;align-items:center;justify-content:center}
.bz-iconBtn--circle img{display:block;width:100%;height:100%;object-fit:cover;border-radius:999px}
.bz-layout{flex:1;display:grid;grid-template-columns:230px 1fr 300px;gap:14px;padding:14px;max-width:1440px;margin:0 auto;width:100%}
.bz-layout.bz-layout--full{grid-template-columns:230px 1fr}
.bz-sidebar,.bz-main,.bz-right{min-width:0}
.bz-sidebar,.bz-main,.bz-rightCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.bz-sidebar{padding:12px;min-height:calc(100vh - 96px)}
.bz-main{padding:14px;min-height:calc(100vh - 96px)}
.bz-rightCard{padding:12px;position:sticky;top:78px}
.bz-nav{display:flex;flex-direction:column;gap:6px}
.bz-nav__item{border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-align:left;padding:10px 12px;border-radius:12px;font-weight:700;transition:all .18s ease}
.bz-nav__item:hover{background:#eff6ff;border-color:#bfdbfe}
.bz-nav__item.is-active{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}
.bz-btn{
  border:none;
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg,var(--blue),var(--blue-2));
  box-shadow:0 8px 18px rgba(31,119,229,.28);
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
.bz-btn:hover{filter:brightness(.99)}
.bz-btn:active{transform:translateY(1px)}
.bz-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(47,127,245,.22),0 8px 18px rgba(31,119,229,.28)}
.bz-btn--secondary{background:var(--blue-soft);color:#1e3a8a;border:1px solid #93c5fd;box-shadow:none}
.bz-btn--secondary:hover{background:#dbeafe}
.bz-btn--icon{padding:5px 7px;line-height:0;}
.bz-btn--danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;box-shadow:0 8px 18px rgba(185,28,28,.25)}
.bz-btn--danger:hover{filter:brightness(1.08)}
.bz-btn--danger:active{transform:translateY(1px)}
.bz-input,.bz-select,.bz-textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--text);
  transition:border-color .14s ease,box-shadow .14s ease;
}
.bz-input:focus,.bz-select:focus,.bz-textarea:focus{
  outline:none;
  border-color:var(--focus);
  box-shadow:0 0 0 3px rgba(47,127,245,.15);
}
.bz-input[type="date"]{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:42px;
  font-size:16px;
  line-height:1.2;
  padding-right:10px;
}
.bz-input[type="month"],
.bz-input[type="time"]{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:42px;
  font-size:16px;
  line-height:1.2;
  padding-right:10px;
}
.bz-row .bz-input[type="date"],
.bz-row .bz-select[type="date"],
.bz-row input[type="date"]{
  flex:1 1 0;
  min-width:0;
}
.bz-row .bz-input[type="month"],
.bz-row .bz-select[type="month"],
.bz-row input[type="month"]{
  flex:1 1 0;
  min-width:0;
}
.bz-grid input[type="date"],
.bz-row-2 input[type="date"],
.bz-grid-2 input[type="date"],
.bz-card input[type="date"]{
  width:100%;
  max-width:100%;
  min-width:0;
}
.bz-grid input[type="month"],
.bz-row-2 input[type="month"],
.bz-grid-2 input[type="month"],
.bz-card input[type="month"]{
  width:100%;
  max-width:100%;
  min-width:0;
}
.bz-grid input[type="time"],
.bz-row-2 input[type="time"],
.bz-grid-2 input[type="time"],
.bz-card input[type="time"]{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.bz-input[type="date"]::-webkit-date-and-time-value,
.bz-input[type="time"]::-webkit-date-and-time-value{
  text-align:left;
}
.bz-input[type="month"]::-webkit-date-and-time-value{
  text-align:left;
}
.bz-field,.bz-row-2 > *,.bz-grid-2 > *{min-width:0}
.bz-textarea{min-height:90px;resize:vertical}
.bz-label{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px;display:block}
.bz-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bz-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.bz-grid > *{min-width:0}
.bz-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.bz-stat__label{font-size:12px;color:var(--muted)}
.bz-stat__value{font-size:20px;font-weight:900;margin-top:6px}
.bz-kpi__value{font-weight:950;font-size:clamp(14px,4.5vw,20px);margin-top:4px}
.bz-note{border:1px solid var(--line);border-radius:10px;padding:10px;background:#f8fbff}
.bz-note__title{font-size:13px;font-weight:900}
.bz-note__text{font-size:12px;color:var(--muted);margin-top:4px}
.bz-tableWrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.bz-table{width:100%;border-collapse:collapse;min-width:720px}
.bz-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f7faff;
  border-bottom:1px solid var(--line-strong);
}
.bz-table th,.bz-table td{border-bottom:1px solid var(--line);padding:10px;font-size:13px;text-align:left;vertical-align:top}
.bz-table tbody tr:hover td{background:#fafcff}
.bz-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}
.bz-auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.bz-overlay{display:none}
.bz-skeleton{background:linear-gradient(90deg,rgba(11,18,32,.06) 25%,rgba(11,18,32,.10) 50%,rgba(11,18,32,.06) 75%);background-size:200% 100%;animation:bz-shimmer 1.4s infinite;border-radius:10px}
@keyframes bz-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.bz-route-loading{padding:20px;display:flex;flex-direction:column;gap:14px}
.bz-route-loading__bar{height:18px;border-radius:8px}
.bz-route-loading__block{height:120px;border-radius:14px}
.bz-sidebar__header{display:none;justify-content:space-between;align-items:center;padding:0 0 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.bz-sidebar__close{border:none;background:none;cursor:pointer;font-size:20px;line-height:1;padding:4px 8px;border-radius:8px;color:var(--muted);flex:0 0 auto}
.bz-sidebar__close:hover{background:rgba(11,18,32,.07);color:var(--text)}
.bz-mobileNotif{
  position:fixed;top:70px;right:14px;bottom:14px;width:min(360px,calc(100vw - 28px));z-index:1045;
  transform:translateX(calc(100% + 20px));transition:transform .2s ease;display:block
}
.bz-mobileNotif .bz-rightCard{height:100%;border-radius:14px;position:static}
body.bz-notif-open .bz-mobileNotif{transform:translateX(0)}
.bz-userMenu{
  position:fixed;top:70px;right:14px;z-index:1046;width:220px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);padding:12px;display:none
}
.bz-userMenu__name{font-size:13px;font-weight:800;color:var(--text);margin-bottom:6px}
.bz-userMenu__actions{display:grid;gap:8px}
.bz-userMenu__item{
  width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;color:var(--text);
  border-radius:10px;padding:9px 10px;cursor:pointer;font-weight:700;text-align:left
}
.bz-userMenu__item:hover{background:#eff6ff;border-color:#93c5fd}
.bz-userMenu__item.is-danger{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.bz-userMenu__icon{
  width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;flex:0 0 auto
}
body.bz-user-open .bz-userMenu{display:block}

@media (max-width:1100px){
  .bz-layout{grid-template-columns:210px 1fr}
  .bz-right{display:none}
  .bz-header__desktop{grid-template-columns:auto minmax(220px,1fr) auto}
  .bz-headerPreview__meta:last-child{display:none}
}

@media (min-width:821px) and (max-width:1100px){
  .bz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  .bz-sidebar__header{display:flex}
  .bz-header{padding:8px 10px}
  .bz-header__desktop{display:none}
  .bz-header__mobile{display:flex}
  .bz-layout{grid-template-columns:1fr;padding:10px}
  .bz-main{min-height:auto}
  .bz-grid{grid-template-columns:1fr}
  .bz-table{min-width:0;table-layout:auto}
  .bz-table th,.bz-table td{font-size:12px;white-space:normal;word-break:break-word}
  .bz-tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  .bz-sidebar{
    position:fixed;top:58px;left:0;bottom:0;width:82vw;max-width:320px;z-index:1045;
    transform:translateX(-105%);transition:transform .2s ease;overflow:auto;min-height:auto
  }
  body.bz-menu-open .bz-sidebar{transform:translateX(0)}

  .bz-mobileNotif{
    top:58px;right:0;bottom:0;width:82vw;max-width:320px;z-index:1045;
    transform:translateX(105%);transition:transform .2s ease
  }
  .bz-mobileNotif .bz-rightCard{height:100%;border-radius:0;box-shadow:none;position:static}
  body.bz-notif-open .bz-mobileNotif{transform:translateX(0)}

  .bz-userMenu{
    top:58px;right:10px;width:180px;padding:10px
  }
  .bz-userMenu__name{font-size:12px}

  .bz-overlay{position:fixed;inset:58px 0 0 0;background:rgba(11,18,32,.32);z-index:1040}
  body.bz-menu-open .bz-overlay,
  body.bz-notif-open .bz-overlay,
  body.bz-user-open .bz-overlay{display:block}
}
