@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--nav:#173c56;--nav2:#0c2d43;--gold:#c7a24d;--bg:#f4f7f9;--text:#183043;--green:#17683d;--red:#b83838;--orange:#d77a18;--line:#dde5ea}*{box-sizing:border-box}body{margin:0;font-family:Cairo,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app{display:flex;min-height:100vh}aside{width:245px;background:linear-gradient(180deg,var(--nav2),var(--nav));color:white;position:fixed;top:0;right:0;bottom:0;overflow:auto;z-index:5}.brand{padding:20px 14px;border-bottom:1px solid #ffffff20;text-align:center}.brand img{width:95px;height:95px;object-fit:contain;background:white;border-radius:18px}.brand b,.brand small{display:block}.brand b{font-size:18px}.brand small{opacity:.8}nav{padding:12px}nav a{display:block;padding:10px 12px;border-radius:10px;margin:3px 0;font-size:14px}nav a:hover,nav a.active{background:#ffffff18;color:#ffd879}main{margin-right:245px;width:calc(100% - 245px)}.topbar{background:white;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4}.topbar h1{font-size:22px;margin:0}.topbar small{color:#789}.top-actions{display:flex;gap:8px}.content{padding:20px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card,.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 3px 12px #1f4d6810}.card .num{font-size:28px;font-weight:800;color:var(--nav)}.card small{color:#768895}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.panel h3{margin:0 0 14px}.btn,button{font-family:inherit;border:0;background:var(--nav);color:white;padding:9px 14px;border-radius:9px;cursor:pointer}.btn.secondary{background:#6b7b86}.btn.green{background:var(--green)}.btn.orange{background:var(--orange)}.btn.red{background:var(--red)}.btn.light{background:#eef3f6;color:var(--text)}label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cfdbe2;border-radius:9px;font-family:inherit;background:white}textarea{min-height:85px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:11px;border-bottom:1px solid #edf1f3;text-align:right;font-size:13px}th{background:#f8fafb}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;background:#eaf1f5}.badge.green{background:#e5f5eb;color:#17683d}.badge.red{background:#fae8e8;color:#a93434}.badge.orange{background:#fff0df;color:#b6650f}.alert{margin:15px 20px 0;padding:11px;border-radius:10px}.alert.success{background:#e7f7ed;color:#17683d}.alert.danger{background:#fdeaea;color:#aa3232}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4f7,#fff)}.login-card,.installer{width:min(94vw,430px);background:white;border-radius:22px;padding:28px;box-shadow:0 18px 60px #173c5622}.installer{width:min(94vw,850px)}.login-card img,.installer>img{width:150px;display:block;margin:auto}.login-card h2,.installer h2{text-align:center}.login-card small{text-align:center;display:block;margin-top:16px;color:#789}.timeline{position:relative;padding-right:25px}.timeline:before{content:'';position:absolute;right:8px;top:5px;bottom:5px;width:2px;background:#d8e2e8}.timeline-item{position:relative;padding:0 12px 18px}.timeline-item:before{content:'';position:absolute;right:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px #e3f4ea}.mapbox{height:360px;border-radius:16px;background:linear-gradient(140deg,#ddecf1,#eef6f7);position:relative;overflow:hidden;border:1px solid var(--line)}.pulse{position:absolute;width:18px;height:18px;border-radius:50%;background:#1da96d;box-shadow:0 0 0 0 rgba(29,169,109,.7);animation:pulse 1.6s infinite}.pulse.orange{background:#ec9226}@keyframes pulse{70%{box-shadow:0 0 0 22px rgba(29,169,109,0)}100%{box-shadow:0 0 0 0 rgba(29,169,109,0)}}.seat-grid{display:grid;grid-template-columns:repeat(4,42px);gap:8px;justify-content:center}.seat{padding:9px 4px;background:#e8f5ed;border-radius:8px;text-align:center;font-size:11px}.seat.busy{background:#f7e7e7}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.room-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.progress{height:10px;background:#edf1f3;border-radius:10px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green)}.qrbox{text-align:center}.qrbox img{max-width:220px;width:100%}footer{text-align:center;color:#8b9aa5;padding:25px}.print-head{display:flex;align-items:center;gap:18px;border-bottom:2px solid #173c56;padding-bottom:12px;margin-bottom:15px}.print-head img{width:100px}.print-page{padding:20px;background:white}@media(max-width:900px){aside{width:0;display:none}main{margin:0;width:100%}.cards{grid-template-columns:repeat(2,1fr)}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.topbar{padding:12px}.content{padding:12px}}@media print{aside,.top-actions,footer,.toolbar,.no-print{display:none!important}main{margin:0;width:100%}.topbar{position:static;border:0;padding:0 0 15px}.content{padding:0}.panel,.card{box-shadow:none}.app{display:block}body{background:white}}

/* Mobile + pilgrim profile enhancements */
.mobile-menu-btn{display:none}.pilgrim-form-layout{display:grid;grid-template-columns:190px 1fr;gap:20px;align-items:start}.pilgrim-photo-box{background:#f8fafb;border:1px solid var(--line);border-radius:14px;padding:14px}.photo-preview{width:150px;height:180px;margin:0 auto 12px;border-radius:12px;overflow:hidden;background:#eaf0f4;display:grid;place-items:center;font-size:52px}.photo-preview img{width:100%;height:100%;object-fit:cover}.pilgrim-photo-box small{display:block;color:#748894;font-size:11px;line-height:1.8}.current-file{align-self:end;margin-bottom:9px}.form-actions,.action-stack{display:flex;gap:8px;flex-wrap:wrap}.avatar{width:48px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}.avatar.placeholder{display:grid;place-items:center;background:#eef3f6;font-size:22px}.profile-print{display:grid;grid-template-columns:150px 1fr 250px;gap:20px;align-items:start}.profile-photo img,.photo-placeholder{width:140px;height:170px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}.photo-placeholder{display:grid;place-items:center;background:#eef3f6;font-size:50px}.passport-print img{max-width:520px;max-height:380px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.id-card-page{background:#eef2f5;min-height:100vh;display:grid;place-items:center;padding:20px}.pilgrim-id-card{width:86mm;min-height:54mm;background:white;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #173c5630;border:1px solid #d7e0e6}.id-card-header{background:var(--nav);color:#fff;padding:8px 10px;display:flex;align-items:center;gap:8px}.id-card-header img{width:42px;height:42px;object-fit:contain;background:white;border-radius:8px}.id-card-header b,.id-card-header small{display:block}.id-card-body{display:grid;grid-template-columns:64px 1fr 70px;gap:8px;padding:10px;align-items:center}.id-photo{width:60px;height:75px;border-radius:8px;overflow:hidden;background:#eef3f6;display:grid;place-items:center;font-size:30px}.id-photo img{width:100%;height:100%;object-fit:cover}.id-data h2{font-size:13px;margin:0 0 4px;color:var(--nav)}.id-data p{font-size:8.5px;line-height:1.7;margin:0}.id-qr{text-align:center}.id-qr img{width:68px;height:68px}.id-qr small{font-size:6.5px;display:block}.id-card-footer{font-size:7px;text-align:center;background:#f5efe2;color:#795f24;padding:5px}.card-print-actions{text-align:center;margin-top:15px}
@media(max-width:900px){
 html,body{max-width:100%;overflow-x:hidden}.login-bg{display:flex;align-items:center;justify-content:center;padding:16px;min-height:100dvh}.login-card,.installer{width:100%;max-width:430px;margin:0 auto;padding:22px 18px;overflow:hidden}.login-card img,.installer>img{display:block!important;width:120px!important;max-width:45vw!important;height:auto!important;max-height:150px!important;object-fit:contain!important;margin:0 auto 14px!important}.login-card h2{font-size:20px;margin:8px 0 18px}.login-card label{font-size:13px}.login-card button{width:100%;padding:12px}.mobile-menu-btn{display:inline-flex}.topbar{gap:10px;align-items:flex-start;flex-direction:column}.topbar h1{font-size:19px}.top-actions{width:100%;overflow-x:auto;padding-bottom:2px}.top-actions .btn,.top-actions button{white-space:nowrap}.content{padding:10px}.panel{padding:13px;border-radius:13px}.cards{grid-template-columns:1fr 1fr;gap:9px}.card{padding:12px}.card .num{font-size:21px}.pilgrim-form-layout{grid-template-columns:1fr}.pilgrim-photo-box{max-width:100%}.photo-preview{width:125px;height:150px}.grid.four,.grid.three,.grid.two{grid-template-columns:1fr}.table-wrap{border-radius:10px}.table-wrap table{min-width:720px}.form-actions button,.form-actions .btn{flex:1}.action-stack{min-width:170px}.mapbox{height:290px}aside{display:block;width:min(84vw,300px);transform:translateX(110%);transition:transform .25s ease;box-shadow:-10px 0 30px #0002}body.menu-open aside{transform:translateX(0)}body.menu-open:after{content:'';position:fixed;inset:0;background:#0006;z-index:4}.profile-print{grid-template-columns:1fr;text-align:center}.profile-print .qrbox{justify-self:center}.passport-print img{max-width:100%}
}
@media(max-width:480px){.cards{grid-template-columns:1fr}.top-actions button,.top-actions .btn{font-size:12px;padding:8px 10px}.brand img{width:76px;height:76px}.id-card-page{padding:8px}.pilgrim-id-card{width:100%;max-width:86mm}.id-card-body{grid-template-columns:58px 1fr 64px;gap:5px}.id-photo{width:54px;height:68px}.id-qr img{width:60px;height:60px}}
@media print{.id-card-page{display:block;padding:0;background:white}.pilgrim-id-card{box-shadow:none;margin:0;width:86mm;min-height:54mm}.card-print-actions{display:none!important}}
/* Supervisor field portal */
.supervisor-body{margin:0;background:#f4f6f8;color:#102331;font-family:Arial,"Tahoma",sans-serif}.supervisor-shell{max-width:620px;margin:auto;min-height:100vh;padding:18px}.supervisor-head{display:flex;align-items:center;gap:12px;background:#fff;border-radius:20px;padding:12px 14px;box-shadow:0 8px 30px #0000000d}.supervisor-head img{width:58px;height:58px;object-fit:contain;border-radius:14px}.supervisor-head div{flex:1}.supervisor-head b{display:block;font-size:19px}.supervisor-head small{color:#72808b}.supervisor-head a{color:#9a2d2d;text-decoration:none;font-weight:700}.scanner-card,.group-focus{background:#fff;border-radius:24px;padding:22px;margin-top:18px;box-shadow:0 8px 30px #0000000b;text-align:center}.scanner-card h2{margin:0 0 6px}.scanner-card p{color:#71808b}.scan-btn,.manual-row button,.receive-btn,.dispatch-btn{border:0;border-radius:14px;font-weight:800;cursor:pointer}.scan-btn{width:100%;padding:16px;background:#0e5c79;color:#fff;font-size:17px}.manual-row{display:flex;gap:8px;margin-top:12px}.manual-row input{flex:1;padding:13px;border:1px solid #d8dee3;border-radius:12px;font-size:16px}.manual-row button{padding:0 18px;background:#e8eef2}.group-badge{display:inline-block;background:#eaf4ee;color:#1e6e43;padding:6px 14px;border-radius:20px;font-weight:700}.group-focus h1{font-size:35px;margin:10px 0 2px}.group-focus h3{margin:0 0 18px;color:#61717b}.group-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.group-stats span{background:#f6f8f9;border-radius:14px;padding:12px 6px}.group-stats b,.group-stats small{display:block}.group-stats b{font-size:18px}.group-stats small{font-size:11px;color:#77848d;margin-top:4px}.supervisor-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.supervisor-actions form{margin:0}.receive-btn,.dispatch-btn{width:100%;padding:19px 8px;color:#fff;font-size:18px}.receive-btn{background:#20844f}.dispatch-btn{background:#d58a00}.supervisor-foot{text-align:center;color:#88939a;padding:25px 0;font-size:12px}#reader{overflow:hidden;border-radius:16px;margin:12px 0;background:#eef2f4;min-height:40px}@media(max-width:480px){.supervisor-shell{padding:10px}.supervisor-actions{grid-template-columns:1fr}.group-stats{grid-template-columns:1fr 1fr 1fr}.scanner-card,.group-focus{padding:17px}}
/* Improved supervisor printed card */
.supervisor-id-card{width:86mm;height:54mm;margin:20px auto;background:linear-gradient(135deg,#07374b,#0c5e78);color:white;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #0002;position:relative}.supervisor-id-card:after{content:"";position:absolute;width:130px;height:130px;border:18px solid #c79a3b33;border-radius:50%;left:-55px;bottom:-65px}.supervisor-id-top{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fff;color:#173646}.supervisor-id-top img{width:42px;height:42px;object-fit:contain}.supervisor-id-top small{display:block;color:#7b6b47}.supervisor-id-body{display:grid;grid-template-columns:1fr 72px;gap:10px;padding:15px}.supervisor-id-body h2{font-size:20px;margin:0 0 8px}.supervisor-id-body p{font-size:12px;line-height:1.8;margin:0}.supervisor-id-qr img{width:68px;height:68px;background:#fff;padding:4px;border-radius:8px}.supervisor-id-bottom{position:absolute;bottom:7px;right:14px;font-size:10px;color:#d9e6eb}
/* 2026-09 compact modern UI */
.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.card{min-height:92px;padding:15px 17px;border:0;position:relative;overflow:hidden;color:#fff;box-shadow:0 10px 24px #173c5618}.card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:#ffffff16;left:-22px;bottom:-30px}.cards .card:nth-child(4n+1){background:linear-gradient(135deg,#0d6d89,#3a91ad)}.cards .card:nth-child(4n+2){background:linear-gradient(135deg,#287a57,#55a57f)}.cards .card:nth-child(4n+3){background:linear-gradient(135deg,#8b6a25,#d1a746)}.cards .card:nth-child(4n){background:linear-gradient(135deg,#78508d,#a979b7)}.card small{color:#ffffffd9}.card .num{font-size:24px;color:#fff;margin-top:5px}
.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:14px}.toolbar-actions,.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters select,.filters input{width:auto;min-width:145px;padding:8px 10px;margin:0}.btn.sm,.action-stack .btn,.action-stack button,td>.btn,td form .btn{padding:5px 8px!important;font-size:11px!important;border-radius:7px!important;min-height:auto}.action-stack{gap:4px;flex-wrap:nowrap}.action-stack .btn{white-space:nowrap}
.modal{position:fixed;inset:0;background:#10233185;display:none;align-items:center;justify-content:center;padding:18px;z-index:1000;backdrop-filter:blur(3px)}.modal.show{display:flex}.modal-card{background:#fff;width:min(980px,96vw);max-height:90vh;overflow:auto;border-radius:18px;box-shadow:0 28px 80px #0004;animation:modalIn .18s ease}.modal-card.medium{width:min(720px,96vw)}.modal-card.small{width:min(520px,96vw)}.modal-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0}.modal-close{border:0;background:#eef2f5;color:#475b67;width:34px;height:34px;border-radius:9px;font-size:19px;cursor:pointer}.modal-body{padding:18px}.modal-open{overflow:hidden}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
.hotel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.hotel-tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;cursor:pointer;transition:.2s;text-decoration:none;color:inherit}.hotel-tile:hover{transform:translateY(-2px);box-shadow:0 10px 25px #173c5615}.hotel-tile h3{margin:0 0 4px}.room-card.status-free{background:#effaf3;border-color:#75c793}.room-card.status-reserved{background:#fff8dc;border-color:#e7c651}.room-card.status-occupied{background:#fff0f0;border-color:#e48b8b}.room-status{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:700;margin-top:6px}.status-free .room-status{background:#ccefd8;color:#17643c}.status-reserved .room-status{background:#f5e8a8;color:#795e00}.status-occupied .room-status{background:#f4c4c4;color:#8a2626}
.receipt-actions{display:flex;gap:6px;justify-content:flex-end}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 12px}.empty-note{padding:30px;text-align:center;color:#7a8b95;background:#fff;border:1px dashed var(--line);border-radius:14px}
@media(max-width:700px){.page-toolbar{align-items:stretch}.toolbar-actions,.filters{width:100%}.filters select,.filters input{flex:1;min-width:120px}.page-toolbar .btn{flex:1;text-align:center}.action-stack{flex-wrap:wrap}.modal{padding:6px}.modal-card{max-height:96vh;border-radius:14px}}
@media print{.page-toolbar,.modal{display:none!important}.cards .card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.receipt-sheet{max-width:760px;margin:25px auto;border:1px solid #d8e2e7;border-radius:18px;padding:26px;background:#fff}.receipt-title{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #173c56;padding-bottom:12px}.receipt-title span{font-size:26px;font-weight:800;color:#173c56}.receipt-title b{font-size:14px;background:#eef3f6;padding:7px 12px;border-radius:10px}.receipt-amount{text-align:center;margin:24px 0;padding:22px;border-radius:16px;background:linear-gradient(135deg,#0d6d89,#3a91ad);color:#fff}.receipt-amount small,.receipt-amount strong{display:block}.receipt-amount strong{font-size:34px;margin-top:6px}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.receipt-grid>div{border:1px solid #e1e8ec;border-radius:11px;padding:10px}.receipt-grid small,.receipt-grid b{display:block}.receipt-grid small{color:#71818b;margin-bottom:4px}.receipt-note{margin:14px 0;padding:12px;background:#f7f9fa;border-radius:10px}.receipt-sign{display:flex;justify-content:space-between;padding-top:32px;margin-top:18px;border-top:1px dashed #cfd9df}

/* Group QR print + supervisor pilgrim-by-pilgrim arrival workflow */
.pilgrims-print-group{margin:0 0 28px;page-break-inside:auto}.pilgrims-print-group+.pilgrims-print-group{page-break-before:always}.group-print-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dbe5ea;border-radius:15px;padding:14px 16px;margin:8px 0 14px;background:#f8fafb}.group-print-head h2{margin:0 0 5px;color:#173c56}.group-print-head p{margin:4px 0;font-size:12px}.qr-help{color:#627884}.group-supervisor-qr{text-align:center;min-width:125px}.group-supervisor-qr img{width:112px;height:112px;display:block;margin:auto}.group-supervisor-qr small{display:block;font-size:10px;font-weight:700;margin-top:3px}.distribution-summary{background:#f7f9fa;border:1px solid #dce5ea;border-radius:14px;padding:14px;margin-bottom:15px}.distribution-summary h2{margin:0 0 5px}.distribution-summary p{margin:5px 0}
.arrival-progress{height:12px;background:#e8eef1;border-radius:999px;overflow:hidden;margin-top:12px}.arrival-progress span{height:100%;display:block;background:linear-gradient(90deg,#20844f,#4ab879);border-radius:999px}.arrival-percent{display:block;margin-top:6px;color:#71818b}.supervisor-report-btn{display:block;margin-top:12px;padding:13px 10px;border-radius:13px;background:#edf3f6;color:#183b4d;font-weight:800;text-align:center}.supervisor-section{background:#fff;border-radius:22px;padding:18px;margin-top:16px;box-shadow:0 8px 30px #0000000b}.supervisor-section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.supervisor-section-head h2{font-size:18px;margin:0}.supervisor-section-head p{font-size:12px;color:#75838c;margin:3px 0 0}.count-chip{background:#e9f4ed;color:#1d7446;padding:6px 11px;border-radius:999px;font-weight:800}.pilgrim-check-list{display:grid;gap:8px}.pilgrim-check{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e8ec;border-radius:14px;padding:11px;background:#fff}.pilgrim-check.arrived{background:#f0faf4;border-color:#a4d8b8}.pilgrim-check-info{min-width:0;flex:1}.pilgrim-check-info b,.pilgrim-check-info small{display:block}.pilgrim-check-info b{font-size:14px}.pilgrim-check-info small{font-size:10px;color:#72818b;margin-top:2px}.pilgrim-check form{margin:0}.arrival-pending,.arrival-done{white-space:nowrap;border:0;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:800}.arrival-pending{background:#173c56;color:#fff}.arrival-done{background:#dff3e7;color:#17683d}.compact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compact-info-grid>div,.trip-dates>div,.flight-item{border:1px solid #e2e8ec;border-radius:12px;padding:10px;background:#fafcfd}.compact-info-grid b,.compact-info-grid small,.trip-dates small,.trip-dates b{display:block}.compact-info-grid b{font-size:12px}.compact-info-grid small{font-size:10px;color:#6e7d86;margin-top:3px}.trip-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.trip-dates small{font-size:10px;color:#778690}.trip-dates b{font-size:13px;margin-top:3px}.flight-list{display:grid;gap:8px}.flight-item b,.flight-item span,.flight-item small{display:block}.flight-item b{color:#173c56}.flight-item span{font-size:12px;margin:2px 0}.flight-item small{font-size:10px;color:#74828b}.supervisor-empty{text-align:center;padding:18px;background:#f7f9fa;border-radius:12px;color:#7a8992}
@media(max-width:480px){.compact-info-grid,.trip-dates{grid-template-columns:1fr}.pilgrim-check{align-items:flex-start}.pilgrim-check form{flex:0 0 auto}.group-print-head{flex-direction:column;text-align:center}}
@media print{.group-print-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pilgrims-print-group table{min-width:0;font-size:10px}.pilgrims-print-group th,.pilgrims-print-group td{font-size:10px;padding:7px}.pilgrims-print-group+.pilgrims-print-group{page-break-before:always}}

/* 2026-09-02 premium pilgrims/group printed sheet */
.print-page{background:#fff!important;color:#173042;padding:0 18px 24px;font-family:Cairo,Arial,sans-serif}.print-page .print-head{max-width:1120px;margin:0 auto 12px;padding:12px 4px;border-bottom:3px solid #173c56;display:flex;align-items:center;gap:12px}.print-page .print-head img{width:64px;height:64px;object-fit:contain;border-radius:12px}.print-page .print-head h2{margin:0;color:#173c56;font-size:20px}.print-page .print-head b{font-size:12px;color:#657985}.print-doc-title{max-width:1120px;margin:0 auto 16px;background:linear-gradient(135deg,#173c56,#285f7c);color:#fff;border-radius:16px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-doc-title span{font-size:10px;opacity:.82}.print-doc-title h1{font-size:24px;margin:3px 0}.print-doc-title p{font-size:11px;margin:0;opacity:.9}.print-date{background:#ffffff18;border:1px solid #ffffff2d;border-radius:12px;padding:9px 14px;min-width:120px;text-align:center}.print-date small,.print-date b{display:block}.print-date b{font-size:15px;margin:2px 0}.pilgrims-print-group{max-width:1120px;margin:0 auto 24px}.group-print-card{display:grid;grid-template-columns:1fr 150px;border:1px solid #d6e1e7;border-radius:16px;overflow:hidden;background:#fff;margin-bottom:8px;box-shadow:0 2px 8px #173c5608}.group-print-main{display:flex;align-items:flex-start;gap:14px;padding:15px}.group-code-badge{background:#edf4f7;color:#173c56;border:1px solid #d6e4ea;border-radius:10px;padding:8px 10px;font-weight:800;white-space:nowrap}.group-print-main h2{margin:0 0 10px;font-size:19px;color:#173c56}.group-meta{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:7px 18px}.group-meta span{display:block}.group-meta small,.group-meta b{display:block}.group-meta small{font-size:9px;color:#7a8c96}.group-meta b{font-size:11px;color:#243e4d;margin-top:1px}.group-qr-card{border-right:1px solid #dbe5ea;background:#f8fbfc;text-align:center;padding:9px}.group-qr-card img{width:94px;height:94px;display:block;margin:0 auto 2px}.group-qr-card b{display:block;font-size:11px;color:#173c56}.group-qr-card small{display:block;font-size:7.5px;color:#6d808b;line-height:1.5}.group-quick-note{margin:0 0 10px;border-radius:10px;background:#f6f0df;border:1px solid #ead9a7;color:#675321;padding:7px 11px;font-size:9px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pilgrims-premium-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #cfdae0;border-radius:12px;overflow:hidden;font-size:9px}.pilgrims-premium-table thead th{background:#173c56!important;color:#fff!important;font-weight:700;padding:8px 6px;border:0;border-left:1px solid #ffffff25;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pilgrims-premium-table tbody td{padding:7px 6px;border:0;border-bottom:1px solid #e2e8ec;border-left:1px solid #edf1f3;text-align:center}.pilgrims-premium-table tbody tr:nth-child(even) td{background:#f8fafb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pilgrims-premium-table tbody tr:last-child td{border-bottom:0}.pilgrims-premium-table .person-name{text-align:right;font-weight:700;color:#173c56}.num-col{width:30px}.check-col{width:42px}.arrival-box{font-size:18px;font-family:Arial,sans-serif}.print-signatures{display:flex;justify-content:space-between;gap:30px;padding:11px 5px 0;font-size:9px;color:#536975}.print-empty{max-width:1120px;margin:30px auto;padding:25px;text-align:center;border:1px dashed #bdcbd2;border-radius:14px;color:#70838d}.status-pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700}.status-pill.ok{background:#e6f5ec;color:#17683d}.status-pill.off{background:#fae8e8;color:#a13333}
@page{size:A4 landscape;margin:9mm}
@media print{.print-page{padding:0;background:#fff!important}.print-page .print-head{margin-top:0}.print-doc-title,.group-print-card,.group-quick-note,.pilgrims-premium-table thead th,.pilgrims-premium-table tbody tr:nth-child(even) td{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.pilgrims-print-group{page-break-inside:auto}.pilgrims-print-group+.pilgrims-print-group{page-break-before:always}.group-print-card,.group-quick-note,.pilgrims-premium-table thead{break-inside:avoid;page-break-inside:avoid}.pilgrims-premium-table tr{break-inside:avoid;page-break-inside:avoid}}

/* 2026-09-02 compact pilgrims printed report header */
.print-page .print-head{height:50px;max-width:1120px;margin:0 auto 6px;padding:4px 2px;border-bottom:1.5px solid #173c56;gap:8px}
.print-page .print-head img{width:40px;height:40px;border-radius:7px}
.print-page .print-head h2{font-size:15px;line-height:1.15;margin:0}
.print-page .print-head b{font-size:10px;line-height:1.15}
.pilgrims-print-group{margin-bottom:16px}
.compact-group-head{grid-template-columns:1fr 92px;min-height:72px;margin-bottom:6px;border-radius:9px;box-shadow:none}
.compact-group-head .group-print-main{padding:7px 9px;gap:9px;align-items:center;min-width:0}
.compact-group-head .group-code-badge{padding:5px 7px;border-radius:7px;font-size:11px}
.compact-group-info{flex:1;min-width:0}
.compact-group-title{display:flex;align-items:center;gap:12px;margin-bottom:4px;white-space:nowrap}
.compact-group-title h2{font-size:14px!important;margin:0!important;color:#173c56}
.compact-group-title span{font-size:9px;color:#627783}.compact-group-title span b{color:#173c56}
.group-meta.compact{display:flex;align-items:flex-start;gap:13px;flex-wrap:nowrap;overflow:hidden}
.group-meta.compact span{min-width:0;white-space:nowrap}
.group-meta.compact small{font-size:7px;line-height:1;color:#83929b}
.group-meta.compact b{font-size:8.5px;line-height:1.25;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.compact-qr{padding:4px 5px;border-right:1px solid #dbe5ea}
.compact-qr img{width:52px!important;height:52px!important;margin:0 auto!important}
.compact-qr b{font-size:8.5px!important;line-height:1.1}
.compact-qr small{font-size:6px!important;line-height:1.15!important;margin-top:1px}
.pilgrims-premium-table{border-radius:8px;font-size:8.5px}
.pilgrims-premium-table thead th{padding:6px 5px}
.pilgrims-premium-table tbody td{padding:5.5px 5px}
.print-signatures{padding-top:7px;font-size:8px}
@media print{
  .print-page .print-head{height:48px;margin-bottom:5px;padding:3px 1px}
  .compact-group-head{min-height:68px;margin-bottom:5px}
  .compact-group-head .group-print-main{padding:6px 8px}
  .compact-qr img{width:50px!important;height:50px!important}
}


/* 2026-09-02 compact report refinement */
.compact-group-head{
  position:relative!important;
  display:block!important;
  min-height:76px!important;
  padding:0!important;
  overflow:hidden;
  background:#fff!important;
}
.compact-group-head .group-print-main{
  min-height:76px;
  padding:9px 88px 8px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.compact-group-head .compact-qr{
  position:absolute!important;
  top:6px!important;
  right:7px!important;
  width:68px!important;
  height:68px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:block!important;
  z-index:2;
}
.compact-group-head .compact-qr img{
  width:68px!important;
  height:68px!important;
  margin:0!important;
  display:block!important;
}
.compact-group-head .compact-group-title{margin:0!important;gap:14px!important}
.compact-group-head .compact-group-title h2{font-size:15px!important;margin:0!important}
.compact-group-head .compact-group-title span{font-size:9px!important}
.compact-group-head .group-code-badge{font-size:9px!important;padding:4px 6px!important}
.pilgrims-premium-table thead th{
  background:#173c56!important;
  color:#fff!important;
  border-color:#2d526b!important;
  -webkit-print-color-adjust:exact!important;
  print-color-adjust:exact!important;
}
@media print{
  .compact-group-head{min-height:70px!important}
  .compact-group-head .group-print-main{min-height:70px;padding-right:82px!important}
  .compact-group-head .compact-qr{top:5px!important;right:6px!important;width:62px!important;height:62px!important}
  .compact-group-head .compact-qr img{width:62px!important;height:62px!important}
  .pilgrims-premium-table thead th{background:#173c56!important;color:#fff!important}
}
/* Manual group number fallback in supervisor portal */
.manual-help{display:block;margin-top:8px;color:#7a8891;font-size:11px;line-height:1.6}.manual-row button{background:#173c56;color:#fff;min-width:112px}.manual-row input:focus{outline:none;border-color:#0e5c79;box-shadow:0 0 0 3px #0e5c7918}@media(max-width:480px){.manual-row{flex-direction:column}.manual-row button{padding:13px 16px;width:100%}}
/* 2026-09-02: pilgrims roster QR - larger and upper-left of group title */
.compact-group-head{
  position:relative!important;
  min-height:94px!important;
}
.compact-group-head .group-print-main{
  min-height:94px!important;
  padding:10px 12px 10px 108px!important;
  justify-content:flex-end!important;
}
.compact-group-head .compact-qr{
  position:absolute!important;
  top:7px!important;
  left:9px!important;
  right:auto!important;
  width:84px!important;
  height:84px!important;
  padding:0!important;
  border:0!important;
  background:#fff!important;
}
.compact-group-head .compact-qr img{
  width:84px!important;
  height:84px!important;
  display:block!important;
  margin:0!important;
}
.compact-group-head .compact-group-info{margin-right:auto;text-align:right}
@media print{
  .compact-group-head{min-height:86px!important}
  .compact-group-head .group-print-main{min-height:86px!important;padding:8px 10px 8px 98px!important}
  .compact-group-head .compact-qr{top:5px!important;left:7px!important;right:auto!important;width:76px!important;height:76px!important}
  .compact-group-head .compact-qr img{width:76px!important;height:76px!important}
}
