/* CRMA47 v1.7.55 — Admin Master Layout
   Final presentation layer based on the approved payment-screen reference.
   Scoped to .is-admin-page; no business logic or database behavior is changed. */
:root{
  --master-navy:#061a2d;
  --master-navy-2:#0a2946;
  --master-gold:#efbd5f;
  --master-gold-dark:#c78a26;
  --master-page:#f3f6fa;
  --master-surface:#ffffff;
  --master-border:#e1e8f0;
  --master-text:#11263d;
  --master-muted:#69788b;
  --master-shadow:0 10px 30px rgba(7,29,51,.07);
  --master-radius:16px;
  --master-content:1560px;
}

/* Shell proportions from the approved reference */
body.is-admin-page{background:var(--master-page)!important}
.is-admin-page .site-header{position:sticky;top:0;z-index:220;height:70px!important;background:linear-gradient(90deg,#03182b 0%,#08243e 64%,#03182b 100%)!important}
.is-admin-page .navbar{width:min(var(--master-content),calc(100% - 32px))!important;height:70px!important}
.is-admin-page .system-page{padding:8px 0 36px!important;background:linear-gradient(180deg,#f7f9fc 0%,#eef2f7 100%)!important}
.is-admin-page .container{width:min(var(--master-content),calc(100% - 32px))!important}
.is-admin-page .admin-layout{grid-template-columns:238px minmax(0,1fr)!important;gap:20px!important;align-items:stretch!important}
.is-admin-page .admin-content,.is-admin-page .admin-layout>section{min-width:0}
.is-admin-page .admin-content{padding:24px 26px 26px;border:1px solid rgba(222,230,239,.92);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 8px 26px rgba(7,29,51,.045);backdrop-filter:blur(7px)}

/* Sidebar: fixed visual rhythm, single page scroll */
.is-admin-page .admin-sidebar{top:86px!important;max-height:none!important;overflow:visible!important;border-radius:16px!important;padding:18px 14px!important;background:linear-gradient(180deg,#071f36,#051729)!important}
.admin-sidebar-brand{padding:0 7px 16px!important;border-bottom:1px solid rgba(255,255,255,.11)}
.admin-sidebar-user{margin:16px 3px 8px!important;padding:11px 10px!important;border-radius:13px!important}
.admin-menu-title{padding:12px 10px 5px!important;color:rgba(255,255,255,.42)!important;font-size:9px!important}
.admin-sidebar a,.admin-sidebar button{min-height:42px!important;padding:9px 10px!important;font-size:12.5px!important;line-height:1.25!important}
.admin-sidebar a.active{background:linear-gradient(90deg,rgba(239,189,95,.22),rgba(239,189,95,.07))!important;color:#f8d995!important}

/* Page heading: icon + title, compact actions */
.admin-page-head{position:relative;align-items:center!important;margin:0 0 18px!important;padding:0!important;min-height:70px}
.admin-page-head>div:first-child{display:flex;flex-direction:column;gap:0;min-width:0}
.admin-page-title-shell{display:flex;align-items:center;gap:14px;min-width:0}
.admin-page-icon{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border:1px solid #dce5ef;border-radius:14px;background:linear-gradient(145deg,#fff,#f4f7fb);color:#0a2946;box-shadow:0 6px 16px rgba(7,29,51,.055);font-size:25px}
.admin-page-title-copy{min-width:0}.admin-page-title-copy h1{font-size:clamp(1.7rem,2.1vw,2.15rem)!important;line-height:1.14!important}.admin-page-title-copy p{max-width:780px;margin-top:5px!important}
.admin-breadcrumbs{order:-1;margin:0 0 7px 64px!important;font-size:11px!important}
.admin-page-actions{align-items:center!important}.admin-page-actions .btn,.pairing-export-actions .btn{min-height:42px!important;padding:8px 15px!important;border-radius:11px!important;font-size:12.5px!important;box-shadow:none!important}

/* KPI row: approved reference proportions */
.is-admin-page .mini-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px!important;margin:0 0 16px!important}
.is-admin-page .stat-card{display:grid!important;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;min-height:116px!important;padding:17px 18px!important;border-radius:15px!important;background:#fff!important;color:inherit!important;text-decoration:none!important}
.admin-stat-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:13px;background:#eaf2ff;color:#276acb;font-size:25px;box-shadow:inset 0 0 0 1px rgba(39,106,203,.05)}
.admin-stat-copy{display:block;min-width:0}.admin-stat-copy>span:first-child{font-size:13px!important;color:#617186!important;font-weight:800!important}.admin-stat-copy>strong{margin-top:4px!important;font-size:clamp(1.7rem,2.2vw,2.15rem)!important}.admin-stat-copy>small{display:block;margin-top:4px;color:#758397;font-size:11.5px;font-weight:750}
.stat-card[data-stat-tone="green"] .admin-stat-icon,.stat-card[data-stat-tone="success"] .admin-stat-icon{background:#e7f8ec;color:#2ba24f}
.stat-card[data-stat-tone="orange"] .admin-stat-icon,.stat-card[data-stat-tone="warning"] .admin-stat-icon{background:#fff2d9;color:#e89200}
.stat-card[data-stat-tone="purple"] .admin-stat-icon{background:#eeebff;color:#6152d8}
.stat-card[data-stat-tone="neutral"] .admin-stat-icon{background:#f0f3f7;color:#526277}
.stat-card[data-stat-tone="navy"] .admin-stat-icon{background:#e8f0f8;color:#133d65}
.stat-card[data-stat-tone="info"] .admin-stat-icon{background:#e7f7fb;color:#1686a8}
.is-admin-page a.stat-card:hover{transform:translateY(-1px)!important;box-shadow:0 14px 32px rgba(7,29,51,.095)!important}

/* Panels and filter bars */
.is-admin-page :is(.system-card,.admin-panel){padding:18px!important;border:1px solid var(--master-border)!important;border-radius:16px!important;box-shadow:var(--master-shadow)!important}
.is-admin-page .payment-admin-card,.is-admin-page .team-management-card,.is-admin-page .pairing-print-card{padding:16px!important}
.is-admin-page :is(.payment-filter-form,.team-filter-grid,.pairing-filter-form,.checkin-filter-card form){align-items:end;padding:3px 2px 15px!important;margin-bottom:14px!important;border-bottom:1px solid #e8edf3}
.is-admin-page .payment-filter-form{grid-template-columns:minmax(180px,.7fr) minmax(300px,1.5fr) auto!important}
.is-admin-page .payment-filter-form .payment-filter-action{grid-column:auto!important;align-self:end!important;white-space:nowrap}
.is-admin-page .form-row label{margin-bottom:1px;color:#263a51!important;font-size:12.5px!important}
.is-admin-page :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px!important;border-radius:11px!important}
.payment-result-meta{padding:0 2px 12px!important;margin:0!important}

/* Tables match the clean reference: compact, readable, no clipped actions */
.is-admin-page .table-wrap{border:1px solid #dfe7ef!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;overflow:auto!important;scrollbar-width:thin}
.is-admin-page .data-table{width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:12.5px!important}
.is-admin-page .data-table thead th{position:sticky;top:0;z-index:2;height:47px;padding:11px 13px!important;background:#f5f8fb!important;color:#31465e!important;font-size:12px!important;font-weight:900!important;border-bottom:1px solid #dfe7ef!important;vertical-align:middle!important}
.is-admin-page .data-table tbody td{padding:12px 13px!important;border-bottom:1px solid #e8edf3!important;vertical-align:top!important;line-height:1.45!important}
.is-admin-page .data-table tbody tr:hover td{background:#fbfcfe!important}
.is-admin-page .data-table tbody tr:last-child td{border-bottom:0!important}
.is-admin-page .data-table th:last-child,.is-admin-page .data-table td:last-child{min-width:118px}
.is-admin-page .data-table .btn{min-height:36px!important;padding:7px 12px!important;border-radius:10px!important;white-space:nowrap!important}
.admin-datatable-controls{padding:11px 13px!important;margin:0 0 12px!important;border-radius:13px!important;background:#f7f9fc!important}
.admin-datatable-title strong{font-size:14px}.admin-datatable-tools input{min-width:250px!important}
.admin-datatable-pager{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.admin-page-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px}

/* Action hierarchy */
.btn-gold{background:linear-gradient(180deg,#ffd67f,#efb64f)!important;border-color:#edb34b!important;color:#1e3044!important;box-shadow:0 8px 20px rgba(224,158,50,.19)!important}
.btn-outline,.admin-btn-secondary{background:#fff!important;border-color:#d7e0ea!important;color:#263b52!important;box-shadow:none!important}
.btn-outline:hover,.admin-btn-secondary:hover{background:#f6f8fb!important;border-color:#c7d3df!important}
.badge,.status-chip,.setup-status{font-size:10.5px!important;min-height:25px!important}

/* Specific page refinements */
.admin-route-pairing .pairing-action-card{margin-bottom:16px!important}
.admin-route-pairing .pairing-action-card .form-grid{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr) auto!important;align-items:end}
.admin-route-pairing .pairing-action-card .form-grid>.full{grid-column:auto!important}.admin-route-pairing .pairing-action-card .form-grid>.full .btn{width:100%;min-height:44px}
.admin-route-pairing .pairing-print-card{margin-bottom:16px!important}.admin-route-pairing .pairing-filter-form{grid-template-columns:minmax(280px,1.4fr) minmax(150px,.5fr) auto!important}.admin-route-pairing .pairing-filter-form>.full{grid-column:auto!important}.admin-route-pairing .pairing-filter-form>.full .btn{min-height:44px}
.admin-route-payments .admin-payment-table{min-width:1080px!important}.admin-route-payments .payment-stats .stat-card.active,.admin-route-payments .payment-stats a.stat-card[aria-current="page"]{border-color:#efbd5f!important}
.admin-route-teams .team-filter-grid{display:grid!important;grid-template-columns:minmax(320px,1.5fr) repeat(4,minmax(130px,.65fr)) auto!important;gap:11px!important}.admin-route-teams .team-filter-actions{display:flex;gap:8px;align-items:end}

/* Laptop sizes and Windows scaling */
@media(max-width:1536px){
  .is-admin-page .container,.is-admin-page .navbar{width:calc(100% - 24px)!important}
  .is-admin-page .admin-layout{grid-template-columns:222px minmax(0,1fr)!important;gap:16px!important}
  .is-admin-page .admin-content{padding:20px!important}
  .is-admin-page .stat-card{grid-template-columns:46px minmax(0,1fr);gap:10px;min-height:104px!important;padding:14px!important}.admin-stat-icon{width:46px;height:46px;font-size:21px}
}
@media(max-width:1366px){
  .is-admin-page .admin-layout{grid-template-columns:204px minmax(0,1fr)!important;gap:14px!important}
  .is-admin-page .admin-content{padding:18px!important}.is-admin-page .mini-stats{gap:9px!important}.is-admin-page .stat-card{grid-template-columns:42px minmax(0,1fr);min-height:98px!important;padding:12px!important}.admin-stat-icon{width:42px;height:42px;font-size:19px}.admin-stat-copy>span:first-child{font-size:11.5px!important}.admin-stat-copy>strong{font-size:1.65rem!important}
  .is-admin-page .data-table thead th,.is-admin-page .data-table tbody td{padding-inline:10px!important}
}
@media(max-width:1250px){
  .is-admin-page .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .is-admin-page .payment-filter-form{grid-template-columns:1fr 1.4fr!important}.is-admin-page .payment-filter-form .payment-filter-action{grid-column:1/-1!important;justify-content:flex-end!important}
  .admin-route-teams .team-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-route-teams .team-filter-search{grid-column:1/-1}.admin-route-teams .team-filter-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:1180px){
  .is-admin-page .admin-content{padding:18px!important}.is-admin-page .admin-layout{display:block!important}.is-admin-page .admin-sidebar{top:70px!important;max-height:none!important}
}
@media(max-width:900px){
  .is-admin-page .admin-content{padding:15px!important;border-radius:16px}.admin-page-head{align-items:flex-start!important}.admin-page-icon{width:45px;height:45px;flex-basis:45px;font-size:22px}.admin-breadcrumbs{margin-left:59px!important}
  .is-admin-page .mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.is-admin-page .stat-card{min-height:96px!important}
  .admin-route-pairing .pairing-action-card .form-grid,.admin-route-pairing .pairing-filter-form{grid-template-columns:1fr!important}.admin-route-pairing .pairing-action-card .form-grid>.full,.admin-route-pairing .pairing-filter-form>.full{grid-column:1!important}
}
@media(max-width:760px){
  .is-admin-page .system-page{padding-top:8px!important}.is-admin-page .container{width:calc(100% - 12px)!important}.is-admin-page .admin-content{padding:12px!important;background:rgba(255,255,255,.82)}
  .admin-page-head{min-height:0;margin-bottom:13px!important}.admin-page-title-shell{gap:10px}.admin-page-icon{width:42px;height:42px;flex-basis:42px;border-radius:12px;font-size:20px}.admin-page-title-copy h1{font-size:1.48rem!important}.admin-page-title-copy p{font-size:11.5px!important}.admin-breadcrumbs{display:none!important}
  .is-admin-page .mini-stats{grid-template-columns:1fr 1fr!important}.is-admin-page .stat-card{grid-template-columns:38px minmax(0,1fr);gap:9px;min-height:86px!important;padding:11px!important}.admin-stat-icon{width:38px;height:38px;border-radius:10px;font-size:18px}.admin-stat-copy>strong{font-size:1.48rem!important}.admin-stat-copy>small{font-size:10px}
  .is-admin-page :is(.system-card,.admin-panel){padding:13px!important;border-radius:14px!important}.is-admin-page .payment-filter-form{grid-template-columns:1fr!important}.is-admin-page .payment-filter-form .payment-filter-action{grid-column:1!important}.admin-page-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}.admin-page-actions .btn,.admin-page-actions form{width:100%}.admin-page-actions form .btn{width:100%}
  .admin-datatable-controls{padding:10px!important}.admin-datatable-pager{display:grid!important;grid-template-columns:1fr!important}.admin-page-buttons{justify-content:flex-start;overflow:auto;padding-bottom:3px}
}
@media(max-width:480px){
  .is-admin-page .mini-stats{grid-template-columns:1fr!important}.is-admin-page .stat-card{grid-template-columns:44px minmax(0,1fr)}.admin-stat-icon{width:44px;height:44px}.admin-page-title-copy h1{font-size:1.35rem!important}
}

/* Printing remains data-first */
@media print{.is-admin-page .admin-content{padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}}

/* ============================================================
   CRMA47 v1.7.58 — Independent Sidebar Scrolling
   Desktop: sidebar and page content can be scrolled independently.
   Tablet/mobile: keep the existing off-canvas drawer behavior.
   ============================================================ */
@media (min-width:1181px){
  body.is-admin-page{
    overflow-x:hidden!important;
  }

  .is-admin-page .admin-layout{
    align-items:start!important;
  }

  .is-admin-page .admin-sidebar{
    position:sticky!important;
    top:86px!important;
    height:calc(100vh - 102px)!important;
    max-height:calc(100vh - 102px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }

  .is-admin-page .admin-sidebar-nav{
    min-height:0!important;
    overflow:visible!important;
  }

  .is-admin-page .admin-sidebar-footer{
    padding-bottom:8px!important;
  }

  .is-admin-page .admin-sidebar::-webkit-scrollbar{
    width:7px;
  }

  .is-admin-page .admin-sidebar::-webkit-scrollbar-track{
    background:rgba(255,255,255,.04);
    border-radius:999px;
  }

  .is-admin-page .admin-sidebar::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.22);
    border-radius:999px;
  }

  .is-admin-page .admin-sidebar::-webkit-scrollbar-thumb:hover{
    background:rgba(239,189,95,.48);
  }

  body.admin-sidebar-collapsed .admin-sidebar{
    overflow-x:hidden!important;
  }
}

/* Notebook/Windows scaling safety: preserve a usable sidebar viewport. */
@media (min-width:1181px) and (max-height:760px){
  .is-admin-page .admin-sidebar{
    top:78px!important;
    height:calc(100vh - 86px)!important;
    max-height:calc(100vh - 86px)!important;
  }
}

/* Mobile and tablet remain a separate scrollable drawer. */
@media (max-width:1180px){
  .is-admin-page .admin-sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
  }
}
