/* Keep the brand centered independently of the width of account controls. */
@media (min-width:1200px){
  body.admin-mode>header{grid-template-columns:minmax(0,1fr) 320px minmax(0,1fr)!important;gap:18px!important}
  body.admin-mode>header .brand{width:320px!important;max-width:320px!important;height:86px!important}
}
@media (min-width:701px) and (max-width:1199px){
  body.admin-mode>header{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 16px!important}
  body.admin-mode>header .brand{grid-column:1/-1!important;grid-row:1!important;width:300px!important;max-width:300px!important;height:72px!important;justify-self:center!important}
  body.admin-mode>header .admin-header-navigation{grid-column:1!important;grid-row:2!important}
  body.admin-mode>header .header-right{grid-column:2!important;grid-row:2!important;flex-wrap:nowrap!important}
  body.admin-mode>header :is(#change-password,#logout){font-size:12px!important;padding:8px!important}
}
/* Phone layouts preserve complete values instead of clipping desktop columns. */
@media (max-width:700px){
  body.admin-mode main{padding:16px 12px!important}
  body.admin-mode .page-heading{margin-bottom:14px!important}
  body.admin-mode .panel{padding:14px!important}
  body.admin-mode #overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.admin-mode #overview-stats .stat{min-width:0;min-height:88px!important;padding:14px 7px!important;text-align:center}
  body.admin-mode #overview-stats .stat span{font-size:10px!important;letter-spacing:0;white-space:normal}
  body.admin-mode #overview-stats .stat strong{font-size:clamp(16px,4.5vw,23px)!important;overflow-wrap:anywhere;line-height:1.3}
  body.admin-mode .weekly-user-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  body.admin-mode .weekly-user-stats .stat{min-width:0;min-height:90px!important;padding:12px 5px!important;text-align:center}
  body.admin-mode .weekly-user-stats .stat span{font-size:10px!important;white-space:normal;letter-spacing:0}
  body.admin-mode .weekly-user-stats .stat strong{font-size:clamp(14px,4vw,20px)!important;overflow-wrap:anywhere}
  body.admin-mode .weekly-user-stats .overview-commission{font-size:10px!important;overflow-wrap:anywhere}
  body.admin-mode .chart-legend{flex-wrap:wrap;gap:8px 14px!important;margin-bottom:14px!important}
  body.admin-mode .weekly-chart{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  body.admin-mode .chart-bars{gap:5px!important}
  body.admin-mode .chart-value{font-size:11px!important;text-overflow:clip;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
  body.admin-mode .table-wrap{max-width:100%;min-width:0;overflow:visible!important}
  body.admin-mode table.admin-mobile-records{display:block;width:100%!important;min-width:0!important;border:0}
  body.admin-mode table.admin-mobile-records thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  body.admin-mode table.admin-mobile-records tbody{display:grid;gap:12px}
  body.admin-mode table.admin-mobile-records tbody tr{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;padding:14px 10px;border:1px solid #dce5ee;border-radius:12px;background:#fff}
  body.admin-mode table.admin-mobile-records tbody td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere;text-align:center!important}
  body.admin-mode table.admin-mobile-records tbody td::before{content:attr(data-mobile-label);display:block;margin-bottom:6px;color:#586779;font-size:10px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.03em}
  body.admin-mode table.admin-mobile-records tbody td:first-child,
  body.admin-mode table.admin-mobile-records tbody td.admin-mobile-full-row,
  body.admin-mode table.admin-mobile-records tbody td.terminal-row-actions{grid-column:1/-1}
  body.admin-mode table.admin-mobile-records tbody td.admin-mobile-full-row::before{display:none}
  body.admin-mode table.admin-mobile-records :is(button,input,select){min-width:0!important;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  body.admin-mode table.admin-mobile-records .terminal-person-card{width:100%!important;min-width:0!important;justify-content:center}
  body.admin-mode :is(.section-title,.station-tickets-heading){flex-wrap:wrap;gap:10px}
  body.admin-mode :is(.station-fields,.station-settings-actions){min-width:0}
  body.admin-mode #admin table.admin-mobile-records tbody td{padding:0!important}
  body.admin-mode #admin table.admin-mobile-records tbody td.station-ticket-actions{grid-column:1/-1}
  body.admin-mode #admin table.admin-mobile-records tbody td:last-child:has(button){grid-column:1/-1}
  body.admin-mode #admin-page-devices table.admin-mobile-records tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
  body.admin-mode>header{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:64px 46px 44px!important;gap:4px!important;padding:6px 10px 10px!important;min-height:0!important}
  body.admin-mode>header .brand{grid-column:1!important;grid-row:1!important;width:min(230px,calc(100% - 76px))!important;max-width:230px!important;height:62px!important;justify-self:center!important}
  body.admin-mode>header .app-logo{object-fit:contain!important;object-position:center!important}
  body.admin-mode>header .admin-header-navigation{grid-column:1!important;grid-row:2!important;justify-content:center;gap:12px}
  body.admin-mode>header .nav-toggle{padding:6px!important;min-width:36px!important;width:36px!important;height:40px!important}
  body.admin-mode>header .admin-live-button{font-size:11px!important;padding:8px!important;min-height:40px!important;white-space:normal!important}
  body.admin-mode>header .admin-customer-qr{width:28px!important;min-width:28px!important;padding:0!important}
  body.admin-mode>header .header-right{grid-column:1!important;grid-row:3!important;justify-self:center!important;justify-content:center!important;width:100%!important;gap:8px!important;flex-wrap:nowrap!important}
  body.admin-mode>header .admin-account-stack{flex-direction:row!important;gap:0!important}
  body.admin-mode>header #approval-bell{position:absolute!important;top:14px!important;right:12px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  body.admin-mode>header #approval-bell img{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  body.admin-mode>header :is(#change-password,#logout){padding:7px 8px!important;font-size:11px!important;white-space:nowrap!important;min-height:38px!important}
  body.admin-mode>header #change-password{max-width:125px}
  body.admin-mode>header .admin-account-stack{gap:0}
  body.admin-mode>header #approval-bell,body.admin-mode>header #approval-bell img{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  body.admin-mode>header #language-toggle{flex-shrink:0}
}

/* The source artwork has generous transparent margins. Fill the header's
   logo frame so the visible sun and name match the original proportions. */
body.admin-mode>header .app-logo{object-fit:cover!important;object-position:center 46%!important}

/* At ordinary desktop widths, keep navigation, brand and account actions
   together instead of leaving the logo on a detached top row. */
@media (min-width:901px) and (max-width:1199px){
  body.admin-mode>header{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr)!important;grid-template-rows:1fr!important;gap:12px!important;min-height:104px!important}
  body.admin-mode>header .admin-header-navigation{grid-column:1!important;grid-row:1!important;gap:8px!important}
  body.admin-mode>header .brand{grid-column:2!important;grid-row:1!important;width:230px!important;max-width:230px!important;height:76px!important}
  body.admin-mode>header .header-right{grid-column:3!important;grid-row:1!important;justify-content:flex-end!important;gap:6px!important}
  body.admin-mode>header :is(#change-password,#logout){font-size:11px!important;padding:7px!important}
}
@media (min-width:960px) and (max-width:1199px){
  body.admin-mode>header{grid-template-columns:minmax(260px,1fr) 320px minmax(300px,1fr)!important}
  body.admin-mode>header .brand{width:320px!important;max-width:320px!important;height:86px!important}
}

/* Ticket records remain a dense ledger while retaining detail and cancel actions. */
body.admin-mode .ticket-record-list{display:block;overflow-x:auto;border:1px solid #dce5ee;border-radius:10px;background:#fff}
body.admin-mode .ticket-record-table{width:100%;min-width:780px;border-collapse:collapse;font-variant-numeric:tabular-nums}
body.admin-mode .ticket-record-table th,body.admin-mode .ticket-record-table td{padding:8px 10px;border-bottom:1px solid #e6edf3;text-align:left;vertical-align:middle}
body.admin-mode .ticket-record-table th{background:#edf4fa;color:#304e6c;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
body.admin-mode .ticket-record-table tr:last-child td{border-bottom:0}
body.admin-mode .ticket-record-table .ticket-record-row{display:table-row!important}
body.admin-mode .ticket-record-table .ticket-record-row:hover{background:#f7fbff}
body.admin-mode .ticket-record-table td small{display:block;color:#65778a;font-size:11px;line-height:1.3}
body.admin-mode .ticket-record-table .ticket-record-view{border:0;background:transparent;padding:0;color:#1465a5;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:2px}
body.admin-mode .ticket-record-table .ticket-record-cancel{display:block;margin-top:3px;border:0;background:transparent;padding:2px 0;color:#a32332;font-size:11px;text-decoration:underline}
body.admin-mode .ticket-record-table td:nth-child(4),body.admin-mode .ticket-record-table td:nth-child(5),body.admin-mode .ticket-record-table td:nth-child(6){text-align:right;white-space:nowrap}
body.admin-mode .ticket-record-table .ticket-record-entry{color:#1765a5;font-weight:800}
body.admin-mode .ticket-record-table .ticket-record-out{color:#aa2b39;font-weight:700}
body.admin-mode .ticket-record-table .ticket-record-balance-positive{color:#167341;font-weight:800}
body.admin-mode .ticket-record-table .ticket-record-balance-negative{color:#b42332;font-weight:800}
@media (max-width:700px){
  body.admin-mode .ticket-record-list{overflow:visible;border:0;background:transparent}
  body.admin-mode .ticket-record-table{display:block;min-width:0}
  body.admin-mode .ticket-record-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  body.admin-mode .ticket-record-table tbody{display:grid;gap:8px}
  body.admin-mode .ticket-record-table .ticket-record-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding:9px;border:1px solid #dce5ee;border-radius:9px;background:#fff}
  body.admin-mode .ticket-record-table td,body.admin-mode .ticket-record-table td:nth-child(4),body.admin-mode .ticket-record-table td:nth-child(5),body.admin-mode .ticket-record-table td:nth-child(6){display:block;min-width:0;padding:0;border:0;text-align:left;overflow-wrap:anywhere;white-space:normal;font-size:12px}
  body.admin-mode .ticket-record-table td::before{content:attr(data-label);display:block;margin-bottom:2px;color:#63788e;font-size:9px;font-weight:700;text-transform:uppercase}
  body.admin-mode .ticket-record-table td:last-child{grid-column:1/-1;display:flex;align-items:center;gap:8px}
  body.admin-mode .ticket-record-table td:last-child::before{margin:0}
  body.admin-mode .ticket-record-table .ticket-record-cancel{display:inline;margin:0}
}
body.admin-mode #overview-managers .overview-group-row{background:#eaf4ff;font-weight:700}
body.admin-mode #overview-managers .overview-group-toggle{border:0;background:transparent;color:#135a98;font:inherit;font-weight:800;cursor:pointer;text-align:left;padding:6px 2px}
body.admin-mode #overview-managers .overview-group-toggle:hover,body.admin-mode #overview-managers .overview-group-toggle:focus-visible{text-decoration:underline}
body.admin-mode #overview-managers .overview-group-username{display:block;margin-left:1.2em;color:#536b82;font-size:.75rem;font-weight:400}
body.admin-mode #overview-managers .overview-employee-row{background:#f8fbff}
body.admin-mode #overview-managers .overview-employee-row td:first-child{padding-left:2rem}
body.admin-mode #overview-managers .overview-employee-row[hidden]{display:none!important}
.admin-broadcast-control{margin:18px 12px 12px;padding:14px;border:1px solid #b7d0df;border-radius:14px;background:#f3f8fc;color:#183d55}
.admin-broadcast-control h2{font-size:16px;margin:0 0 10px}
.admin-broadcast-control p{font-size:13px;line-height:1.4;margin:0 0 10px}
.admin-broadcast-control button{width:100%;min-height:46px;padding:10px;border:0;border-radius:10px;background:#bc2038;color:white;font-size:14px;font-weight:700;white-space:normal;cursor:pointer}
.admin-broadcast-control button.broadcast-resume{background:#126d4b}
.admin-broadcast-control button.broadcast-refresh-button{background:#e2edf6;color:#154869;margin-top:8px}
.admin-broadcast-control button:disabled{opacity:.55;cursor:wait}
.admin-broadcast-control small{display:block;font-size:12px;line-height:1.5;margin-top:10px;color:#456173}

/* Reuse the full-page admin ledger presentation for the pending-ticket template. */
body.admin-mode #admin-page-activity>section.pending-ticket-dialog{width:100%;max-width:none;max-height:none;overflow:visible;background:#fff;color:#17324c;border:1px solid #dce5ee;border-radius:14px}
body.admin-mode #admin-page-activity .pending-payment-table-wrap{overflow-x:auto}
body.admin-mode #admin-page-activity .pending-payment-table{min-width:0;background:#fff}
body.admin-mode #admin-page-activity .pending-payment-table th{background:#edf4fa;color:#304e6c}
body.admin-mode #admin-page-activity .pending-payment-table td{background:#fff;color:#17324c;border-color:#dce5ee}
body.admin-mode #admin-page-activity .pending-payment-table td:nth-last-child(2){color:#a52839;font-weight:800}
body.admin-mode #admin-page-activity .pending-payment-summary{background:#edf4fa;border-color:#bdd0e1}
body.admin-mode #admin-page-activity .pending-payment-summary strong{color:#a52839}
body.admin-mode #admin-page-activity .pending-payment-message{color:#456078}
body.admin-mode .manager-week-controls{justify-content:flex-end;margin-bottom:12px}
body.admin-mode .manager-week-controls label{flex:0 1 220px;margin-bottom:0}
body.admin-mode .manager-week-controls button{margin-bottom:0}
@media(max-width:700px){body.admin-mode #admin-page-activity .pending-payment-table-wrap{margin-inline:12px}body.admin-mode #admin-page-activity .pending-payment-table{min-width:620px}}
body.admin-mode #admin-page-activity .pending-payment-summary span{color:#304e6c}

body.admin-mode #admin-page-activity .pending-payment-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body.admin-mode #admin-page-activity .pending-payment-filters select{flex:0 1 220px;min-height:48px;background:#fff;color:#17324c;border:1px solid #899daf;border-radius:8px;padding:10px}
body.admin-mode #admin-page-activity .pending-payment-filters input{flex:1 1 240px;min-width:160px}
body.admin-mode #admin-page-activity .pending-payment-filters button{min-height:48px}
body.admin-mode dialog.pending-bulk-confirm{background:#fff;color:#17324c;max-width:560px;width:calc(100% - 32px);padding:24px;border:1px solid #899daf;border-radius:14px}
body.admin-mode dialog.pending-bulk-confirm button{min-height:48px;margin:6px}

body.admin-mode #admin-page-activity .pending-row-actions .pending-pay-action{width:auto;min-width:68px;min-height:48px;padding:8px 12px;font-size:14px;font-weight:700;background:#146ba0;color:#fff;border:1px solid #146ba0;border-radius:8px}
