/* =========================================================
   TIXPRO 1.7.1 — fixed sidebar + independent main scroll
   Loaded last to neutralize legacy grid/margin combinations.
   ========================================================= */
@media (min-width:1101px){
  html:has(body.admin-body),body.admin-body{height:100%;overflow:hidden!important}
  body.admin-body .admin-layout{
    display:block!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    background:var(--a163-bg,var(--adm-bg))!important;
  }
  body.admin-body .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:232px!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    z-index:100!important;
  }
  body.admin-body .sidebar-head{
    flex:0 0 auto!important;
    min-height:78px!important;
    margin:0!important;
    padding:18px 20px!important;
  }
  body.admin-body .sidebar-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:6px 12px 8px!important;
    gap:1px!important;
  }
  body.admin-body .sidebar-section-label{
    margin:0!important;
    padding:12px 12px 5px!important;
    font-size:8px!important;
    line-height:1.2!important;
  }
  body.admin-body .sidebar-nav a{
    min-height:36px!important;
    margin:1px 0!important;
    padding:8px 11px!important;
    font-size:11px!important;
    line-height:1.18!important;
    border-radius:9px!important;
  }
  body.admin-body .sidebar-nav a .nav-ico{
    width:17px!important;height:17px!important;flex-basis:17px!important
  }
  body.admin-body .sidebar-nav a .nav-ico svg{width:16px!important;height:16px!important}
  body.admin-body .sidebar-footer{
    flex:0 0 auto!important;
    margin:0!important;
    padding:10px 13px 12px!important;
  }
  body.admin-body .sidebar-logout{min-height:36px!important;margin:0 0 8px!important;padding:8px 11px!important;font-size:11px!important}
  body.admin-body .admin-user-card{padding:9px!important;border-radius:10px!important}
  body.admin-body .admin-user-card .avatar{width:32px!important;height:32px!important}
  body.admin-body .admin-user-card b{font-size:10px!important}
  body.admin-body .admin-user-card small{font-size:8px!important}
  body.admin-body .main{
    display:block!important;
    width:auto!important;
    height:100dvh!important;
    min-width:0!important;
    min-height:0!important;
    margin:0 0 0 232px!important;
    padding:0 26px 40px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    background:var(--a163-bg,var(--adm-bg))!important;
  }
  body.admin-body .admin-topbar{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
    margin:0 -26px 24px!important;
    padding:13px 26px!important;
  }
  body.admin-body .sidebar-overlay{display:none!important}
}

/* Make content align consistently on all admin pages. */
body.admin-body .main>.page-stack,
body.admin-body .main>.container,
body.admin-body .main>.content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Clean portal language picker and operator modal. */
.portal-language-switch{position:relative;display:flex;justify-content:center;margin-top:20px}
.portal-language-button{min-height:38px;padding:6px 11px;display:flex;align-items:center;gap:8px;border:1px solid #d7dfeb;border-radius:999px;background:#fff;color:#344054;font:inherit;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.portal-language-button .flag{font-size:18px;line-height:1}.portal-language-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.portal-language-menu{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:40;width:220px;padding:7px;border:1px solid #e1e7ef;border-radius:13px;background:#fff;box-shadow:0 20px 55px rgba(15,23,42,.16);transform:translateX(-50%);display:none}
.portal-language-switch.is-open .portal-language-menu{display:grid;gap:4px}
.portal-language-option{width:100%;min-height:48px;padding:8px 10px;display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:8px;border:0;border-radius:9px;background:transparent;color:#202939;text-align:left;font:inherit;cursor:pointer}
.portal-language-option:hover,.portal-language-option.is-active{background:#f2f6fc}.portal-language-option .flag{font-size:21px}.portal-language-option b{display:block;font-size:11px}.portal-language-option small{display:block;margin-top:2px;color:#7b8798;font-size:9px}.portal-language-option .check{color:#0b51e8;font-weight:800;text-align:center}

.operator-access-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:18px}
.operator-access-modal.is-open{display:flex}.operator-access-backdrop{position:absolute;inset:0;background:rgba(9,21,39,.62);backdrop-filter:blur(7px)}
.operator-access-card{position:relative;z-index:1;width:min(100%,500px);overflow:hidden;border:1px solid #e1e7ef;border-radius:17px;background:#fff;box-shadow:0 34px 100px rgba(15,23,42,.3)}
.operator-access-head{padding:22px 24px 16px;border-bottom:1px solid #e8edf4}.operator-access-kicker{display:block;margin-bottom:5px;color:#50705e;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.operator-access-head h2{margin:0;color:#172033;font-size:22px;letter-spacing:-.035em}.operator-access-head p{margin:5px 42px 0 0;color:#738096;font-size:10px;line-height:1.55}.operator-access-close{position:absolute;right:16px;top:16px;width:35px;height:35px;border:1px solid #dfe6ef;border-radius:9px;background:#fff;color:#344054;font-size:23px;line-height:1;cursor:pointer}.operator-access-body{padding:18px 24px 22px}.operator-access-form{display:grid;gap:13px}.operator-access-field label{display:block;margin-bottom:6px;color:#344054;font-size:10px;font-weight:750}.operator-access-field select,.operator-access-field input{width:100%;height:45px;padding:0 12px;border:1px solid #ccd6e4;border-radius:8px;background:#fff;color:#172033;font:inherit;font-size:12px;outline:0}.operator-access-field select:focus,.operator-access-field input:focus{border-color:#0b51e8;box-shadow:0 0 0 4px rgba(11,81,232,.09)}.operator-access-error{padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#b42318;font-size:10px;line-height:1.5}.operator-access-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:3px}.operator-access-actions button{min-height:40px;padding:0 16px;border-radius:8px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.operator-access-cancel{border:1px solid #d8e0eb;background:#fff;color:#344054}.operator-access-submit{border:1px solid #0b51e8;background:#0b51e8;color:#fff}.operator-access-empty{padding:12px;border-radius:9px;background:#fff7ed;color:#9a3412;font-size:10px;line-height:1.5}

/* Password reset screens reuse the portal card without looking cramped. */
.portal-card.portal-card-narrow{max-width:520px;margin:auto}.portal-status-box{margin-bottom:16px;padding:12px 14px;border-radius:9px;font-size:11px;line-height:1.55}.portal-status-box.success{border:1px solid #a7f3d0;background:#ecfdf5;color:#047857}.portal-status-box.error{border:1px solid #fecaca;background:#fff1f2;color:#b42318}.portal-back-link{display:block;margin-top:16px;text-align:center;color:#0b51e8;font-size:11px;font-weight:700;text-decoration:none}

@media(max-width:1100px){
  body.admin-body{overflow:auto!important}
  body.admin-body .admin-layout{display:block!important;min-height:100dvh!important;overflow:visible!important}
  body.admin-body .main{height:auto!important;min-height:100dvh!important;overflow:visible!important;margin-left:0!important}
  body.admin-body .sidebar{position:fixed!important;height:100dvh!important;overflow-y:auto!important}
}
@media(max-width:640px){
  .operator-access-card{border-radius:14px}.operator-access-head{padding:20px 18px 14px}.operator-access-body{padding:16px 18px 20px}.operator-access-actions{display:grid;grid-template-columns:1fr 1fr}.portal-language-menu{width:min(220px,calc(100vw - 32px))}
}
.tx-field select{width:100%;height:53px;padding:0 42px 0 15px;border:1px solid #cdd6e4;border-radius:9px;background:#fff;color:#111827;font:inherit;outline:none;appearance:auto;transition:border-color .18s ease,box-shadow .18s ease}.tx-field select:focus{border-color:#065ce8;box-shadow:0 0 0 4px rgba(6,92,232,.1)}.tx-field select:disabled{background:#f4f6f9;color:#98a2b3;cursor:not-allowed}
