.offline-roster{display:none}@media print{body *{visibility:hidden}.offline-roster,.offline-roster *{visibility:visible}.offline-roster{display:block;position:absolute;inset:0;color:#0c0c0c;background:#fff;padding:16mm}.offline-roster h1{font:800 22px var(--display);margin:0 0 8px}.offline-roster p{font-size:13px;line-height:1.5;margin:0 0 14px}.offline-roster table{width:100%;border-collapse:collapse;font-size:13px}.offline-roster td,.offline-roster th{border:1px solid #999;padding:5px 8px;text-align:left}.offline-roster th{background:#eee}}.crew-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}@media (max-width:960px){.crew-layout{grid-template-columns:1fr}}.col{display:flex;flex-direction:column;gap:18px;min-width:0}@media (min-width:961px){.col{max-height:calc(100vh - 32px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:16px;padding-right:4px;scrollbar-width:thin}}.alarm{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:var(--radius);background:rgba(255,61,90,.12);border:1px solid var(--bad);font-weight:600;box-shadow:0 0 60px -20px var(--bad);animation:alarmPulse 1s ease-in-out 4}.alarm b{font:800 22px var(--display)}@keyframes alarmPulse{50%{background:rgba(255,61,90,.32)}}.alarm.turbulence{background:rgba(246,184,92,.12);border-color:var(--warn);box-shadow:0 0 60px -20px var(--warn);animation:turbulencePulse 1s ease-in-out 4}@keyframes turbulencePulse{50%{background:rgba(246,184,92,.32)}}.alarm.hub-down{background:rgba(246,184,92,.12);border-color:var(--warn);box-shadow:0 0 60px -20px var(--warn)}.alarm.hub-down .icon .ic{width:22px;height:22px;color:var(--warn)}.citem{align-items:flex-start}.citem .who{font:800 22px var(--display);min-width:56px;letter-spacing:-.02em}.citem .body{display:flex;flex-direction:column;gap:8px;flex:1 1;min-width:0}.citem .what{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:17px}.citem .what strong{font:700 18px var(--display)}.citem .what .icon .ic{width:26px;height:26px;color:var(--accent)}.citem .acts{display:flex;gap:6px;flex-wrap:wrap}.citem .acts button{min-height:38px;padding:6px 12px;font-size:13.5px;border-radius:10px}.guess{display:inline-flex;align-items:center;gap:4px;font-size:14px}.guess .icon .ic{width:18px!important;height:18px!important}.counts{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.counts span{display:inline-flex;align-items:center;gap:6px}.sw{width:11px;height:11px;border-radius:4px;display:inline-block}.seatmap .seat{height:34px;font-weight:600;cursor:default}.tabbar{display:flex;gap:6px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:5px}.tab{flex:1 1 auto;min-height:40px;padding:8px 10px;border:none;border-radius:10px;background:transparent;font-size:13.5px;font-weight:600;white-space:nowrap}.tab .muted{font-weight:400}.tab.on{background:var(--accent)}.tab.on,.tab.on .muted{color:var(--accent-ink)}.tab.on .muted{opacity:.8}.cabinmap-panel{gap:16px;flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;min-height:420px}.cabinmap{display:flex;gap:16px;overflow-x:auto;padding:6px 2px 10px;-webkit-overflow-scrolling:touch}.cm-row{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.cm-row-label{font:700 13px var(--mono);color:var(--faint)}.cm-seats{display:flex;flex-direction:column;gap:6px}.cm-aisle{height:12px}.cabinmap .seat{width:46px;height:46px;border-radius:12px;cursor:pointer;border:none;padding:0;min-height:0;font-weight:700;font-size:14px;position:relative}.cabinmap .seat.urgent{background:var(--bad);color:#2a0008;animation:seatPulse 1.2s ease-in-out infinite}.cabinmap .seat.accessibility{background:var(--violet);color:#160b33}.cabinmap .seat.open{background:var(--warn);color:#241400}.cabinmap .seat.picked{outline:3px solid var(--accent);outline-offset:2px}.map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.map-legend-item{display:inline-flex;align-items:center;gap:6px}.seat-badge{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--violet);display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface)}.seat-badge .ic{width:13px;height:13px;color:#160b33}.goto{display:flex;flex-direction:column;gap:8px}.goto .item{border-color:var(--bad)}.goto .picto-box{width:52px;padding:4px}.exit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.exit-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2)}.exit-item b{font:700 17px var(--display)}.brief-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.needs{display:flex;flex-direction:column;gap:6px}.need{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:var(--surface-2)}.need b{font:700 18px var(--display);min-width:44px}.pill.symptom .icon .ic{width:14px;height:14px}.load{display:flex;gap:8px;flex-wrap:wrap}.load,.load span{align-items:center}.load span{display:inline-flex;gap:6px;padding:6px 12px;border-radius:999px;background:var(--surface-2);font-weight:600;font-size:14px}.load .icon .ic{width:18px;height:18px;color:var(--accent)}.stops{display:flex;flex-direction:column;gap:6px}.stop{display:grid;grid-template-columns:30px 52px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--surface-2)}.stop .n{font:500 13px var(--mono);color:var(--faint);text-align:center}.stop b{font:700 18px var(--display)}.stop .what{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.stop .icon .ic{width:14px;height:14px}.stop.care{border:1px dashed var(--violet)}.stop.done{opacity:.4}.aisle{font:500 11px var(--mono);color:var(--faint);margin:6px 0 0;letter-spacing:.12em}.saving{color:var(--ok);font-weight:600;margin:0}.pa-mic.recording{background:var(--bad);border-color:var(--bad);color:#fff;animation:seatPulse 1.4s ease-in-out infinite}.pa-mic .icon .ic{width:18px;height:18px}.pa-live{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:10px;border:1px dashed var(--line-strong);background:var(--surface-2);font-size:14px}.pa-live .icon .ic{width:16px;height:16px;color:var(--accent);animation:breathe 1.4s ease-in-out infinite}.pa-result{display:flex;flex-direction:column;gap:8px}.pa-opt{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;text-align:left;padding:10px 12px}.pa-opt[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.pa-opt .icon .ic{width:26px;height:26px;color:var(--accent)}.pa-opt small{display:block;color:var(--muted)}.pa-lib summary{cursor:pointer;color:var(--muted);font-size:14px}.pa-lib .row{margin-top:8px}.pa-lib button .icon .ic{width:16px;height:16px}.pa-log{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--muted)}.pa-log .icon .ic{width:14px;height:14px}.pb{position:fixed;inset:0;z-index:45;background:var(--bg);overflow:auto;flex-direction:column}.pb,.pb-top{display:flex}.pb-top{position:-webkit-sticky;position:sticky;top:0;z-index:2;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 18px;background:rgba(10,10,11,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.pb-top h2{margin:0;flex:1 1;font:700 20px var(--display)}.pb-body{padding:18px;display:flex;flex-direction:column;gap:18px;max-width:1000px;width:100%;margin:0 auto}.pb-group h3{margin:0 0 8px;font:500 12px var(--mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.pb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:8px;gap:8px}.pb-list button{text-align:left;display:flex;flex-direction:column;gap:2px;padding:12px 14px}.pb-list button b{font-size:17px}.pb-list button small{color:var(--muted)}.pb-list button .yn{color:var(--accent);font-size:12px}.show{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:24px;text-align:center}.show .hint{color:var(--muted);font-size:14px}.show .bigtext{font:800 clamp(34px,6vw,64px)/1.25 var(--display);margin:0}.answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.answers button{min-height:96px;font:700 26px var(--display);border-radius:22px}.answers .yes{border-color:var(--ok);color:var(--ok)}.answers .no{border-color:var(--bad);color:var(--bad)}.answer-out{font:700 22px var(--display)}