/* Student pickup card management and order delivery verification. */
.student-pickup-card-panel{margin:16px 0 22px;padding:18px;border:1px solid #d9e4f0;border-radius:14px;background:linear-gradient(115deg,#f5f9ff,#fff8f9)}
.student-pickup-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.student-pickup-card-heading h3{margin:0 0 4px;color:#233a58;font-size:16px}
.student-pickup-card-heading p,.student-pickup-card-meta{margin:0;color:#687a91;font-size:12px;line-height:1.5}
.student-pickup-card-heading>span{flex:none;padding:5px 9px;border-radius:7px;background:#e8edf4;color:#5d6c80;font-size:11px;font-weight:800}
.student-pickup-card-heading>span.is-active{background:#e3f5e9;color:#26744a}
.student-pickup-card-meta{margin:12px 0}
.student-pickup-card-panel .actions{margin-top:12px}
.student-pickup-card-panel button{min-height:38px}
.pickup-card-reason p{color:#56677e;line-height:1.5}
.pickup-card-reason form{margin-top:16px}
#modal:has(.pickup-card-print){max-width:540px}
.pickup-card-print-intro{margin:0 0 14px;color:#61728a;font-size:12px;line-height:1.5}
.pickup-card-print{box-sizing:border-box;display:flex;flex-direction:column;width:min(100%,430px);min-height:275px;padding:20px 23px;border:1px solid #dce5ee;border-radius:17px;background:#fff;box-shadow:0 12px 27px #27385515;color:#1c304b}
.pickup-card-print-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pickup-card-brand{font-size:20px;font-weight:900;letter-spacing:-.05em}
.pickup-card-brand span{color:#ed2939}
.pickup-card-print-head small{color:#7d8ca0;font-size:9px;font-weight:800;letter-spacing:.08em;text-align:right}
.pickup-card-student{font-size:19px;line-height:1.2}
.pickup-card-class{margin-top:3px;color:#566b85;font-size:12px;font-weight:700}
.pickup-card-barcode{display:grid;place-items:center;height:84px;margin:10px 0 1px;overflow:hidden}
.pickup-card-barcode svg{display:block;width:100%;height:100%}
.pickup-card-print code{display:block;text-align:center;color:#24344d;font-family:monospace;font-size:13px;font-weight:700;letter-spacing:.13em}
.pickup-card-print>small{margin-top:auto;padding-top:11px;color:#8190a4;font-size:9px;text-align:center}
.pickup-card-print-actions{margin-top:18px}
#modal:has(.pickup-delivery-dialog){max-width:840px;padding:28px;border-radius:20px}
#modal:has(.pickup-delivery-dialog) h2{margin:0 0 17px;color:#233750}
.pickup-delivery-hero{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-radius:14px;background:linear-gradient(110deg,#263b5a,#70344d 65%,#c92f48);color:#fff}
.pickup-delivery-hero>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.pickup-delivery-hero small{color:#e0e8f1;font-size:10px;font-weight:800;letter-spacing:.1em}
.pickup-delivery-hero strong{font-size:20px;line-height:1.25;overflow-wrap:anywhere}
.pickup-delivery-hero span{color:#f5dfe6;font-size:11px}
.pickup-delivery-hero>b{padding:6px 10px;border-radius:7px;background:#e2f7e9;color:#287149;font-size:11px}
.pickup-payment-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 18px;padding:13px 16px;border:1px solid #dce8f3;border-radius:10px;background:#f5f9fd}
.pickup-payment-summary span{color:#536883;font-size:12px;font-weight:700}
.pickup-payment-summary strong{color:#a9243e;font-size:21px}
.pickup-verify-heading h3{margin:0 0 3px;color:#253b57;font-size:15px}
.pickup-verify-heading p{margin:0 0 12px;color:#7889a0;font-size:12px}
.pickup-mode-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}
#modal .pickup-mode-tabs button{min-height:38px;padding:8px 13px;border:1px solid #d9e3ed;border-radius:8px;background:#fff;color:#516784;font-size:12px;font-weight:750}
#modal .pickup-mode-tabs button[aria-pressed=true]{border-color:#c93046;background:#fff0f2;color:#b3233a}
.pickup-mode-panel{padding:16px;border:1px solid #dfe6ef;border-radius:11px;background:#fbfcfe}
.pickup-mode-panel[hidden]{display:none}
.pickup-mode-panel>label:not(.pickup-check){display:block;margin:0 0 6px;color:#304966;font-size:12px;font-weight:750}
.pickup-mode-panel>input,.pickup-mode-panel>select{box-sizing:border-box;width:100%;min-height:44px;margin:0 0 12px}
.pickup-mode-panel .pickup-check,.pickup-pos-proof .pickup-check{display:flex;align-items:center;gap:9px;margin:6px 0;color:#344d67;font-size:12px;font-weight:650;line-height:1.4}
.pickup-check input{flex:none;width:18px;height:18px;min-height:18px;margin:0;accent-color:#c92d43}
.pickup-help{margin:7px 0 0;color:#71849c;font-size:11px;line-height:1.4}
.pickup-override-panel{border-color:#f0d8aa;background:#fffaf1}
.pickup-override-panel p{margin:0 0 12px;color:#775a2c;font-size:12px;line-height:1.5}
.pickup-pos-proof{margin-top:13px;padding:13px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.pickup-pos-proof p{margin:0 0 10px;color:#65768c;font-size:11px}
.pickup-pos-proof label:not(.pickup-check){display:block;margin:0 0 5px;color:#415874;font-size:11px;font-weight:700}
.pickup-pos-proof>input{box-sizing:border-box;width:100%;min-height:40px}
.pickup-delivery-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.pickup-delivery-actions button{min-height:44px;font-size:12px}
@media(max-width:600px){#modal:has(.pickup-delivery-dialog){width:calc(100% - 24px);max-height:90dvh;padding:18px}.pickup-delivery-hero{padding:14px}.pickup-delivery-hero strong{font-size:17px}.pickup-payment-summary{padding:10px 12px}.pickup-mode-tabs{gap:5px}#modal .pickup-mode-tabs button{padding:7px 9px;font-size:11px}.pickup-delivery-actions .primary{flex:1 1 100%}.student-pickup-card-panel{padding:14px}.student-pickup-card-heading{flex-wrap:wrap}}
@media print{@page pickup-card-print{size:A4;margin:15mm}body:has(#pickup-card-print):not(:has(>#staff-bag-label)),body:has(#pickup-card-print):not(:has(>#staff-bag-label)) #app{background:#fff!important}body:has(#pickup-card-print):not(:has(>#staff-bag-label)) #modal::backdrop{background:transparent!important}:where(body:has(#pickup-card-print):not(:has(>#staff-bag-label))) *{visibility:hidden!important}#pickup-card-print,#pickup-card-print *{visibility:visible!important}#pickup-card-print{page:pickup-card-print;position:fixed!important;top:0;left:0;width:85mm;height:54mm;min-height:54mm;padding:4mm;border:1px solid #bfc8d2;border-radius:2mm;box-shadow:none;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}#pickup-card-print .pickup-card-barcode{height:19mm;margin:1mm 0}#pickup-card-print .pickup-card-brand{font-size:15px}#pickup-card-print .pickup-card-student{font-size:14px}#pickup-card-print code{font-size:11px}#pickup-card-print>small{font-size:7px}}
/* Compact pickup confirmation: the order, identity and payment fit in one glance. */
#modal:has(.pickup-fast-dialog){max-width:700px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;border-radius:18px}
#modal:has(.pickup-fast-dialog)>h2{margin:0 40px 14px 0;font-size:20px}
.pickup-fast-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-radius:13px;background:linear-gradient(105deg,#263b59,#66364f 60%,#c72d47);color:#fff}
.pickup-fast-person{display:flex;flex-direction:column;gap:3px;min-width:0}
.pickup-fast-person small{color:#e9e0e9;font-size:10px;font-weight:800;letter-spacing:.06em}
.pickup-fast-person strong{font-size:21px;line-height:1.25;overflow-wrap:anywhere}
.pickup-fast-person span{color:#f6e5e9;font-size:11px}
.pickup-fast-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none;text-align:right}
.pickup-fast-total small{color:#f5dce3;font-size:9px;font-weight:750;letter-spacing:.04em}
.pickup-fast-total b{font-size:23px;white-space:nowrap}
.pickup-fast-items{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:11px 14px;border:1px solid #dfe8f2;border-radius:10px;background:#f8fafc}
.pickup-fast-items>strong{flex:none;color:#526783;font-size:11px;line-height:1.6}
.pickup-fast-items>div{display:flex;flex-wrap:wrap;gap:5px 10px;max-height:92px;overflow:auto}
.pickup-fast-items>div>span{color:#2b405e;font-size:11px;line-height:1.5}
.pickup-fast-items>div b{color:#b72a42;font-weight:800;white-space:nowrap}
.pickup-fast-items>div small{color:#75859a}
.pickup-fast-verify-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:1px 0 8px}
.pickup-fast-verify-heading strong{color:#253950;font-size:14px}
.pickup-fast-verify-heading small{color:#7789a1;font-size:11px}
.pickup-fast-dialog .pickup-mode-tabs{margin-bottom:8px}
.pickup-fast-dialog .pickup-mode-panel{padding:12px 14px}
.pickup-fast-dialog .pickup-mode-panel>input,.pickup-fast-dialog .pickup-mode-panel>select{min-height:43px;margin-bottom:0}
.pickup-fast-dialog .pickup-mode-panel .pickup-check{margin:10px 0 0}
#pickup-identity-status{min-height:18px;margin:7px 1px 0;color:#667b94;font-size:11px;font-weight:650}
#pickup-identity-status.is-success{color:#23804b}
#pickup-identity-status.is-error{color:#b52641}
#pickup-override-toggle{display:block;min-height:30px;margin:2px 0 0;padding:4px 0;border:0;background:transparent;color:#617790;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:700}
#pickup-override-toggle[aria-expanded=true]{color:#a46220}
.pickup-fast-dialog .pickup-override-panel{margin-top:6px}
.pickup-fast-dialog .pickup-override-panel>select{margin-bottom:10px}
.pickup-fast-dialog .pickup-override-panel>input{margin-bottom:3px}
.pickup-fast-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:11px;border-top:1px solid #e6ebf2}
.pickup-fast-payment>span{color:#445b77;font-size:12px;font-weight:750}
.pickup-fast-payment>div{display:flex;gap:6px;flex-wrap:wrap}
#modal .pickup-fast-payment button{min-height:37px;padding:7px 12px;border:1px solid #d8e2ee;border-radius:8px;background:#fff;color:#516782;font-size:11px;font-weight:750}
#modal .pickup-fast-payment button[aria-pressed=true]{border-color:#ca354b;background:#fff0f2;color:#b9233c}
.pickup-fast-dialog .pickup-pos-proof{margin-top:9px;padding:10px 12px}
.pickup-fast-dialog .pickup-pos-proof>input{margin-bottom:7px}
.pickup-fast-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:13px}
#modal .pickup-fast-actions button{min-height:48px;border-radius:9px;font-size:13px;font-weight:800}
#modal .pickup-fast-actions .primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
@media(max-width:600px){#modal:has(.pickup-fast-dialog){width:calc(100% - 24px);max-height:90dvh;padding:16px}#modal:has(.pickup-fast-dialog)>h2{font-size:18px}.pickup-fast-hero{padding:12px;gap:8px}.pickup-fast-person strong{font-size:17px}.pickup-fast-total b{font-size:18px}.pickup-fast-total small{font-size:8px}.pickup-fast-items{display:block;padding:9px 11px}.pickup-fast-items>div{margin-top:4px}.pickup-fast-verify-heading{display:block}.pickup-fast-verify-heading small{display:block;margin-top:2px}.pickup-fast-payment{align-items:flex-start;flex-direction:column}.pickup-fast-actions{grid-template-columns:1fr}.pickup-fast-actions button:last-child{min-height:40px!important}}

/* Compact pickup verification with the supplied corporate red. */
.pickup-fast-dialog{--red:#d82329;--ui-red:#d82329;color:#363636}
.pickup-fast-dialog .pickup-fast-hero{background:#d82329!important;background-image:none!important;color:#fff;box-shadow:none}
.pickup-fast-dialog .pickup-fast-person small,.pickup-fast-dialog .pickup-fast-person span,.pickup-fast-dialog .pickup-fast-total small{color:#fff}
.pickup-fast-dialog .pickup-fast-items{background:#fafafa;border-color:#dedede}
.pickup-fast-dialog .pickup-fast-items>strong,.pickup-fast-dialog .pickup-fast-items>div>span{color:#555}
.pickup-fast-dialog .pickup-fast-items>div b{color:#d82329}
.pickup-fast-dialog .pickup-code-panel{padding:14px 0 4px;border:0;background:transparent}
.pickup-fast-dialog .pickup-code-panel>label{color:#707070;font-size:12px;font-weight:500;text-align:center;margin-bottom:0}
.pickup-code-entry{position:relative;width:100%;max-width:400px;margin:10px auto 0}
.pickup-code-digits{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.pickup-code-digits span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:46px;border:0;border-bottom:1px solid #bfbfbf;color:#393939;font-size:24px;font-weight:600;line-height:1}
.pickup-code-digits span.is-current{border-bottom:2px solid #d82329}
#modal .pickup-fast-dialog #order-pickup-code{position:absolute;inset:0;z-index:1;width:100%;height:100%;min-height:0!important;max-height:none;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;opacity:0;font-size:24px;cursor:text}
.pickup-code-error .pickup-code-digits span{border-color:#d82329}
#modal .pickup-fast-dialog #pickup-identity-status{font-size:12px;color:#777;text-align:center;min-height:0;margin:10px 0 6px}
#modal .pickup-fast-dialog #pickup-identity-status:empty{display:none}
#modal .pickup-fast-dialog #pickup-identity-status.is-success,#modal .pickup-fast-dialog #pickup-identity-status.is-error{color:#d82329}
#modal .pickup-fast-dialog .pickup-method-link,#modal .pickup-fast-dialog #pickup-override-toggle{background:transparent;border:0;box-shadow:none;color:#777;font-size:11px;min-height:30px;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.pickup-fast-dialog .pickup-mode-panel:not(.pickup-code-panel),.pickup-fast-dialog .pickup-pos-proof{background:#fafafa;border-color:#dedede}
.pickup-fast-dialog .pickup-mode-panel>label,.pickup-fast-dialog .pickup-check,.pickup-fast-dialog .pickup-fast-payment>span{color:#555}
#modal .pickup-fast-dialog .pickup-fast-payment button{border-color:#dedede;color:#666}
#modal .pickup-fast-dialog .pickup-fast-payment button[aria-pressed=true]{background:#fff0f1;border-color:#d82329;color:#d82329}
.pickup-fast-dialog .pickup-check input{accent-color:#d82329}
.pickup-fast-dialog .pickup-fast-actions{grid-template-columns:minmax(0,1fr);margin-top:16px}
#modal .pickup-fast-dialog .pickup-fast-actions .primary{background:#d82329!important;background-image:none!important;border-color:#d82329!important;color:#fff!important;box-shadow:none}
#modal .pickup-fast-dialog .pickup-fast-actions .primary:hover{background:#d82329!important}
#modal .pickup-fast-dialog .pickup-fast-actions button:last-child{min-height:46px!important}
@media(max-width:600px){.pickup-code-entry{max-width:320px}.pickup-code-digits{gap:6px}.pickup-code-digits span{height:42px;font-size:21px}}
