/* ALPLINE 4.0.23 cumulative application polish — additive, no business-data rules. */
.release-423{--ap423-bg:#061b18;--ap423-panel:#0b2d27;--ap423-panel2:#104338;--ap423-gold:#e4b84b;--ap423-line:rgba(228,184,75,.22)}
.release-423.admin-portal .portal-content,.release-423.franchise-portal .portal-content{background:radial-gradient(circle at 88% 4%,rgba(24,116,88,.2),transparent 32%),linear-gradient(145deg,#061b18,#0a2822 62%,#061b18)!important;min-height:calc(100vh - 72px);padding:20px!important}
.release-423.admin-portal .portal-content .dashboard,.release-423.franchise-portal .portal-content .dashboard{background:transparent!important;color:#eef9f5}
.release-423.admin-portal .control-card,.release-423.admin-portal .glass-panel,.release-423.admin-portal .panel,.release-423.franchise-portal .control-card,.release-423.franchise-portal .glass-panel{background:linear-gradient(145deg,rgba(14,59,49,.96),rgba(7,35,30,.98))!important;border:1px solid var(--ap423-line)!important;box-shadow:0 16px 38px rgba(0,0,0,.18)!important;color:#edf9f4!important}
.release-423.admin-portal .control-card h1,.release-423.admin-portal .control-card h2,.release-423.admin-portal .control-card h3,.release-423.admin-portal .glass-panel h1,.release-423.admin-portal .glass-panel h2,.release-423.admin-portal .glass-panel h3{color:#fff!important}
.release-423.admin-portal .control-card p,.release-423.admin-portal .control-card small,.release-423.admin-portal .glass-panel p,.release-423.admin-portal .glass-panel small{color:#b8d2ca!important}
.release-423.admin-portal table{background:#092720!important;color:#edf9f4!important;border-radius:14px;overflow:hidden}.release-423.admin-portal th{background:#104338!important;color:#f6d67e!important}.release-423.admin-portal td{border-color:rgba(255,255,255,.08)!important}.release-423.admin-portal input,.release-423.admin-portal select,.release-423.admin-portal textarea{background:#f7fbf9!important;color:#0a2a23!important;border:1px solid rgba(228,184,75,.38)!important}
.release-423 .nav-live-badge,.release-423 .data-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e5b94e!important;color:#10251f!important;font-weight:900;font-size:11px}.release-423 .nav-live-badge[hidden],.release-423 .data-badge[hidden]{display:none!important}
.release-423.admin-portal .portal-nav a{position:relative}.release-423.admin-portal .portal-nav a:hover{transform:translateX(2px);background:rgba(255,255,255,.08)}
.release-423 .ap419-kpi,.release-423 .ap419-action-grid>a{transition:transform .16s ease,border-color .16s ease}.release-423 .ap419-kpi:hover,.release-423 .ap419-action-grid>a:hover{transform:translateY(-2px);border-color:rgba(228,184,75,.55)!important}
@media(max-width:760px){.release-423.admin-portal .portal-content,.release-423.franchise-portal .portal-content{padding:10px!important}.release-423 .dash-head{padding:16px!important}.release-423 .ap419-kpi-grid,.release-423 .ap419-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.release-423 .ap419-kpi,.release-423 .ap419-action-grid>a{min-height:92px!important;padding:12px!important}.release-423 table{font-size:12px}.release-423 .portal-topbar{min-height:60px}}

/* 4.0.23 completion layer: dense application shell, safe touch targets, no fake controls. */
.release-423 .portal-main,.release-423 .portal-content,.release-423 main{min-width:0}
.release-423 .portal-content *{box-sizing:border-box}
.release-423 .portal-content img,.release-423 .public-main img{max-width:100%;height:auto}
.release-423 .portal-content .table-wrap,.release-423 .portal-content .responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
.release-423 .portal-content table{width:100%;min-width:680px}
.release-423 .portal-content a,.release-423 .portal-content button,.release-423 .portal-content input,.release-423 .portal-content select,.release-423 .portal-content textarea{font:inherit}
.release-423 .portal-content button,.release-423 .portal-content .btn,.release-423 .portal-content a.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.release-423 .portal-content .btn.compact,.release-423 .portal-content button.compact{min-height:36px}
.release-423 .portal-content form{min-width:0}
.release-423 .portal-content input,.release-423 .portal-content select,.release-423 .portal-content textarea{max-width:100%}
.release-423 .flash{border-radius:14px;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.release-423 .flash.error{border:1px solid rgba(255,123,123,.35)}
.release-423 .flash.success{border:1px solid rgba(82,214,151,.35)}

/* All actionable badges are visual counters, not decorative pills. */
.release-423 [data-live-badge]{vertical-align:middle;line-height:1;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.release-423 .ap419-kpi,.release-423 .ap419-action-grid>a,.release-423 .member-command-grid>a,.release-423 .franchise-command-grid>a{position:relative;overflow:hidden}
.release-423 .ap419-kpi>[data-live-badge],.release-423 .ap419-action-grid>a>[data-live-badge],.release-423 .member-command-grid>a>[data-live-badge],.release-423 .franchise-command-grid>a>[data-live-badge]{position:absolute;right:10px;top:10px;z-index:2}
.release-423 .ap419-kpi:focus-visible,.release-423 .ap419-action-grid>a:focus-visible,.release-423 .portal-nav a:focus-visible{outline:3px solid rgba(244,203,94,.72);outline-offset:2px}

/* Owner/Admin workspaces: same master skin on every inner page. */
.release-423.admin-portal .portal-content>*,.release-423.franchise-portal .portal-content>*{max-width:1540px;margin-left:auto;margin-right:auto}
.release-423.admin-portal .control-card,.release-423.admin-portal .panel,.release-423.admin-portal .glass-panel,.release-423.admin-portal details.control-card,
.release-423.franchise-portal .control-card,.release-423.franchise-portal .panel,.release-423.franchise-portal .glass-panel,.release-423.franchise-portal details.control-card{border-radius:18px!important}
.release-423.admin-portal .control-card>a:not(.btn),.release-423.admin-portal .glass-panel>a:not(.btn),.release-423.franchise-portal .control-card>a:not(.btn){color:#f6d67e}
.release-423.admin-portal .notice,.release-423.franchise-portal .notice{background:rgba(5,31,26,.68)!important;border:1px solid rgba(228,184,75,.2)!important;color:#c9ddd7!important;border-radius:12px}
.release-423.admin-portal label,.release-423.franchise-portal label{color:#dcebe6;font-weight:750}
.release-423.admin-portal summary,.release-423.franchise-portal summary{cursor:pointer;color:#f6d67e;font-weight:900;letter-spacing:.03em}
.release-423.admin-portal .status,.release-423.franchise-portal .status{font-weight:900;border-radius:999px}
.release-423.admin-portal .btn.gold,.release-423.franchise-portal .btn.gold{background:linear-gradient(135deg,#f5d16c,#c89525)!important;color:#17352d!important;border:0!important}
.release-423.admin-portal .btn.dark,.release-423.franchise-portal .btn.dark{background:linear-gradient(135deg,#0e5b49,#073f34)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important}

/* Member/customer portal belongs to the same application family. */
.release-423.member-portal .portal-content{background:radial-gradient(circle at 92% 3%,rgba(19,124,91,.18),transparent 30%),linear-gradient(145deg,#eef8f4,#f8fbfa 52%,#edf5f2)!important;min-height:calc(100vh - 72px);padding:18px!important}
.release-423.member-portal .control-card,.release-423.member-portal .glass-panel,.release-423.member-portal .panel{border-radius:18px;border:1px solid rgba(8,76,59,.11);box-shadow:0 12px 30px rgba(8,52,42,.08)}
.release-423.member-portal .member-kpi-grid>a,.release-423.member-portal .income-card,.release-423.member-portal .member-command-grid>a{border-radius:16px;transition:transform .16s ease,box-shadow .16s ease}
.release-423.member-portal .member-kpi-grid>a:hover,.release-423.member-portal .income-card:hover,.release-423.member-portal .member-command-grid>a:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,52,42,.1)}

/* Reserved leader placement controls are deliberately visually distinct. */
.release-423 .vault-label-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:9px;align-items:end;padding:10px;border:1px dashed rgba(228,184,75,.35);border-radius:12px;background:rgba(228,184,75,.06)}
.release-423 .vault-assignment-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:10px 12px;border-radius:12px;background:rgba(207,93,72,.08);border:1px solid rgba(207,93,72,.23)}
.release-423 .vault-assignment-confirm input{width:auto;min-width:18px;margin-top:3px}

/* Public first-fold: prevent giant empty cards and keep product art useful on phone. */
.release-423.public-body .ap422-home-hero{overflow:hidden}
.release-423.public-body .ap422-product-stage{min-height:0!important}
.release-423.public-body .ap422-product-stage img{object-fit:contain}
.release-423.public-body .ap422-quick-grid a{min-height:74px}
.release-423.public-body .alp-shell{width:min(1180px,calc(100% - 30px))}

@media(max-width:1080px){
  .release-423.admin-portal .portal-content,.release-423.franchise-portal .portal-content,.release-423.member-portal .portal-content{padding:14px!important}
  .release-423 .ap419-kpi-grid,.release-423 .ap419-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  html:has(.release-423),body.release-423{max-width:100%;overflow-x:hidden}
  .release-423 .portal-content{padding:10px!important}
  .release-423 .portal-content>*,.release-423 .dashboard{max-width:100%!important}
  .release-423 .ap419-kpi-grid,.release-423 .ap419-action-grid,.release-423 .member-kpi-grid,.release-423 .member-command-grid,.release-423 .franchise-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .release-423 .ap419-kpi,.release-423 .ap419-action-grid>a,.release-423 .member-command-grid>a,.release-423 .franchise-command-grid>a{min-height:92px;padding:12px!important;border-radius:15px!important}
  .release-423 .ap419-kpi b{font-size:clamp(18px,6vw,27px)!important}
  .release-423 .portal-content h1{font-size:clamp(24px,7vw,34px)!important;line-height:1.04}
  .release-423 .portal-content h2{font-size:clamp(19px,5.4vw,27px)!important}
  .release-423 .portal-content table{min-width:620px}
  .release-423 .portal-content input,.release-423 .portal-content select,.release-423 .portal-content textarea{min-height:44px;font-size:16px!important}
  .release-423 .portal-content button,.release-423 .portal-content .btn,.release-423 .portal-content a.btn{min-height:44px;padding:9px 12px}
  .release-423 .inline-action,.release-423 .journal-form{gap:8px}
  .release-423 .vault-label-form{grid-template-columns:1fr}
  .release-423.public-body .alp-shell{width:min(100% - 20px,1180px)}
  .release-423.public-body .ap422-home-hero{padding-top:14px!important}
  .release-423.public-body .ap422-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .release-423.public-body .ap422-quick-grid a{min-height:66px;padding:10px!important}
}
@media(max-width:420px){
  .release-423 .ap419-kpi-grid,.release-423 .ap419-action-grid,.release-423 .member-kpi-grid,.release-423 .member-command-grid,.release-423 .franchise-command-grid{grid-template-columns:1fr 1fr!important}
  .release-423 .ap419-action-grid>a small,.release-423 .member-command-grid>a small,.release-423 .franchise-command-grid>a small{font-size:10px!important;line-height:1.25}
  .release-423.public-body .ap422-quick-grid{grid-template-columns:1fr 1fr!important}
}
