.app-page{background:#f3f5f8;min-height:100vh}.app-header{min-height:78px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:#05091f}.app-back{font-size:12px;font-weight:800}.app-wrap{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:70px 0}.app-lead{max-width:720px;margin:0 0 38px}.app-lead h1{font-size:clamp(3.4rem,7vw,6.6rem)}.app-lead>p:not(.eyebrow){max-width:620px;color:#505b70}.app-card{padding:clamp(24px,5vw,50px);border:1px solid #dce2ea;border-radius:22px;background:#fff;box-shadow:0 20px 50px rgba(5,9,31,.07)}.data-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.data-form label,.data-form fieldset{display:grid;gap:7px;color:#202940;font-size:12px;font-weight:800}.data-form label b{color:#003bff}.data-form input,.data-form select,.data-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #bcc6d6;border-radius:8px;color:#10162c;background:#fff;font:inherit;font-weight:500}.data-form textarea{min-height:94px;resize:vertical}.data-form input:disabled{color:#647087;background:#edf1f5}.data-form fieldset{margin:8px 0 0;padding:18px;border:1px solid #d9e0e9;border-radius:12px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-grid label,.agreement{display:flex!important;align-items:flex-start;gap:9px!important;font-weight:600!important}.check-grid input,.agreement input{width:17px!important;min-height:17px!important;margin:2px 0 0;padding:0}.agreement{padding:14px;border-radius:10px;background:#f4f6f9}.agreement span{display:grid;gap:3px;color:#4d586e;font-weight:500}.agreement b{color:#151d31}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:14px;border-top:1px solid #dde4ec}.form-actions p{max-width:490px;margin:0;color:#576278;font-size:13px}.form-actions p b{display:block;color:#11172a}.app-message{margin:0;padding:12px 14px;border-radius:9px;font-size:13px;font-weight:700}.app-message.error{color:#791b24;background:#ffe9eb}.app-message.success{color:#1b6030;background:#e6f7eb}.auth-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,.7fr);gap:70px;align-items:center}.auth-links{display:flex;flex-wrap:wrap;gap:16px;margin:0;font-size:12px;font-weight:800;color:#003bff}.portal-intro{display:flex;justify-content:space-between;gap:28px;align-items:start;margin-bottom:34px}.portal-intro h1{font-size:clamp(3.2rem,6vw,5.8rem)}.portal-intro>div>p:not(.eyebrow){max-width:560px;color:#59647a}.portal-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px}.digital-card{display:grid;gap:20px;min-height:385px;padding:27px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#001f8f,#003bff 65%,#1e5cff);box-shadow:0 20px 45px rgba(0,59,255,.25)}.digital-card>div{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.digital-card img{width:44px;height:44px;object-fit:contain}.digital-card div b{margin-left:auto;text-align:right}.digital-card h2{margin:auto 0 0;color:#fff;font-size:clamp(2.1rem,4.2vw,3.5rem)}.digital-card p{margin:0;color:#d9e2ff}.digital-card dl,.verify-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.digital-card dl span,.verify-card dl span{display:grid;gap:4px;color:#cdd9ff;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.digital-card dl b,.verify-card dl b{color:#fff;font-size:13px}.digital-card>a{padding-top:14px;border-top:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:25px;background:#d9e0ea}.detail-grid>div{display:grid;gap:5px;padding:17px;background:#fff}.detail-grid span{color:#6a7487;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-grid b{font-size:14px}.compact{margin-top:22px}.verify-card{display:grid;justify-items:center;gap:18px;max-width:650px;margin:0 auto;padding:50px;text-align:center;border-radius:24px;background:#fff}.verify-card>img{width:72px;height:72px;object-fit:contain}.verify-card h1{font-size:clamp(3rem,6vw,5.7rem)}.verify-card .verify-name{margin:0;font-size:19px;font-weight:800}.verify-card dl{width:100%;padding:18px;border-radius:14px;background:#06113e;text-align:left}.verify-card dl b{color:#fff}.success-panel{max-width:650px}.success-panel h2{font-size:clamp(2.8rem,5vw,4.5rem)}.loading-card{text-align:center}.admin-nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 22px;margin-bottom:24px;border-bottom:1px solid #ccd5e1}.admin-nav a{padding:8px 10px;border-radius:999px;color:#18233c;font-size:11px;font-weight:900}.admin-nav a[aria-current="page"]{color:#fff;background:#003bff}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:28px}.admin-top h1{font-size:clamp(3rem,5vw,5rem)}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.admin-stats div{padding:15px;border-radius:12px;background:#06113e;color:#fff}.admin-stats span{display:block;color:#b6c3e2;font-size:9px;font-weight:800;text-transform:uppercase}.admin-stats b{display:block;margin-top:7px;font:700 28px/1 var(--font-heading)}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.admin-toolbar input,.admin-toolbar select{min-height:42px;padding:8px 10px;border:1px solid #bac5d5;border-radius:8px}.admin-toolbar input{flex:1;min-width:230px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th,.data-table td{padding:14px 9px;border-bottom:1px solid #dce3eb;text-align:left;vertical-align:top}.data-table th{color:#667187;font-size:10px;text-transform:uppercase}.data-table td small{display:block;color:#68748a}.table-wrap{overflow:auto}.state{display:inline-block;padding:4px 7px;border-radius:999px;background:#e8edf5;font-size:9px;font-weight:900;text-transform:uppercase}.admin-editor{margin-top:24px}.admin-section{display:grid;gap:20px}.admin-section h2{font-size:clamp(2.5rem,4vw,4rem)}.queue-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.queue-card{padding:18px;border-radius:14px;background:#eef2f7}.queue-card ul{padding:0;list-style:none}.queue-card li{padding:11px 0;border-top:1px solid #d0d8e4}.modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:24px;background:rgba(3,8,28,.58)}.modal[hidden]{display:none}.modal .app-card{width:min(720px,100%);max-height:92vh;overflow:auto}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.scanner{width:100%;max-width:460px;background:#10162c}.scanner video{width:100%;max-height:320px}.csv-link{font-size:11px;font-weight:800;color:#003bff}@media(max-width:760px){.app-header{min-height:68px;padding:0 20px}.app-wrap{width:min(100% - 40px,1120px);padding:45px 0}.form-grid,.auth-layout,.portal-grid,.queue-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}.form-actions,.portal-intro,.admin-top{align-items:stretch;flex-direction:column}.form-actions .button,.portal-intro .button{width:100%}.admin-stats{grid-template-columns:repeat(2,1fr)}.data-table{min-width:720px}.digital-card{min-height:340px}}@media(max-width:430px){.check-grid,.detail-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.app-card{padding:22px}.verify-card{padding:27px 20px}.digital-card dl,.verify-card dl{grid-template-columns:1fr}.form-actions .button{width:100%}}
.digital-card .card-verify{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.28)}
.digital-card .card-verify img{width:72px;height:72px;padding:4px;border-radius:7px;background:#fff;object-fit:contain}
.digital-card .card-verify a{font-size:11px;font-weight:900}

/* Administrative surfaces are light, so secondary operational controls need ink—not the white-on-dark treatment used on public panels. */
.app-page .button-secondary {
  border-color: #aebbd0;
  color: #16233d;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(5, 9, 31, .06);
}
.app-page .button-secondary:hover {
  border-color: var(--club-blue);
  color: var(--club-blue);
  background: #eef3ff;
}
.app-page .button:disabled {
  cursor: not-allowed;
  opacity: .58;
  transform: none;
}
.delivery-note {
  margin: 14px 0 0;
  color: #4d586e;
  font-size: 12px;
  line-height: 1.55;
}

/* Avoid forcing staff-operation headings or grids beyond a compact phone viewport. */
@media (max-width: 430px) {
  .app-page { overflow-x: hidden; }
  .app-page .auth-layout,
  .app-page .app-lead { min-width: 0; }
  .app-page .app-lead h1 {
    max-inline-size: 100%;
    font-size: clamp(2.4rem, 10.4vw, 3.05rem);
    overflow-wrap: anywhere;
  }
  .app-page .app-lead h1 em { display: block; }
}

.in-person-handoff {
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #d7e1f6;
  border-left: 4px solid #003bff;
  border-radius: 11px;
  background: #f4f7ff;
  color: #1b2947;
}
.in-person-handoff p { margin: 0 0 10px; font-size: 13px; }
.in-person-handoff ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.in-person-handoff li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 9px; align-items: start; font-size: 12px; line-height: 1.5; }
.in-person-handoff li > span { display: grid; place-items: center; inline-size: 22px; block-size: 22px; border-radius: 50%; color: #fff; background: #003bff; font-size: 10px; font-weight: 900; }
.member-handoff { margin: 0 0 18px; }

.card-verify img.qr-unavailable { display: none; }

.app-page .button-danger {
  border-color: #ba2c3b;
  color: #9e1e2d;
  background: #fff7f7;
  box-shadow: 0 6px 18px rgba(136, 25, 38, .08);
}
.app-page .button-danger:hover {
  border-color: #8f1523;
  color: #fff;
  background: #a51f2e;
}
