@font-face{font-family:Nunito;src:url(/fonts/Nunito-Variable.ttf) format("truetype");font-style:normal;font-weight:200 1000;font-display:swap}:root{color-scheme:light;--navy: #17253f;--navy-deep: #111c31;--navy-700: #24365a;--navy-soft: rgba(23, 37, 63, .06);--bg: #faf6f1;--card: #ffffff;--text: #1a2338;--text-soft: #4d5468;--muted: #8c92a4;--border: #ece5dc;--line: #f1ece5;--accent: #17253f;--accent-soft: rgba(23, 37, 63, .06);--accent-contrast: #ffffff;--peach: #eda589;--peach-soft: #fbe9e0;--sky: #dfe5f6;--sky-ink: #35476f;--mint: #a9d9c0;--mint-soft: #e6f4ec;--mint-ink: #2f6b50;--gold: #efc978;--gold-soft: #fbf0d8;--gold-ink: #8a6a20;--warn: #b3690a;--warn-soft: rgba(179, 105, 10, .1);--ok: #2f6b50;--ok-soft: #e6f4ec;--danger: #c0293f;--danger-soft: rgba(192, 41, 63, .08);--shadow-card: 0 1px 2px rgba(23, 37, 63, .03), 0 6px 20px rgba(23, 37, 63, .05);--shadow-raised: 0 2px 6px rgba(23, 37, 63, .05), 0 14px 34px rgba(23, 37, 63, .08);--font-display: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#app.app-authenticated:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;z-index:0;pointer-events:none;background:linear-gradient(rgb(255 255 255 / var(--cloud-veil, .48)),rgb(255 255 255 / var(--cloud-veil, .48))),var(--cloud-image, url(/backgrounds/clouds-01.webp)) center / cover no-repeat}#app.app-authenticated>main{position:relative;z-index:1}main{max-width:480px;margin:0 auto;padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.block-swap-section{display:grid;gap:14px;margin-bottom:24px}.block-swap-section>.muted{margin:-4px 0 4px;line-height:1.5}.block-grid{display:grid;gap:12px}.block-panel{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:var(--shadow-card)}.block-panel h3{margin:0 0 12px;font-family:var(--font-display);font-weight:500;font-size:20px}.block-panel summary{cursor:pointer;color:var(--navy);font-weight:600}.block-panel[open] summary{margin-bottom:12px}.block-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.block-item:first-of-type{border-top:0}.block-item span{min-width:0}.block-item strong,.block-item small{display:block}.block-item strong{font-size:13px;font-weight:600}.block-item small{margin-top:4px;color:var(--text-soft);font-size:11px;line-height:1.4}.block-choice{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px;color:var(--navy);font-size:13px;line-height:1.4}.block-choice input{margin-top:2px;accent-color:var(--navy)}.block-hours-form{display:flex;align-items:end;gap:8px;margin-top:10px}.block-hours-form label{flex:1;color:var(--text-soft);font-size:12px}.block-hours-form input{display:block;width:100%;margin-top:5px}.legacy-swaps{margin-top:10px}@media (min-width: 720px){main{max-width:640px;padding-top:32px}}h1{font-family:var(--font-display);font-size:1.9rem;font-weight:500;line-height:1.15;letter-spacing:-.005em;margin:4px 0 18px;color:var(--text);text-wrap:balance}h2{font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:-.01em}.app-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.app-logo{width:34px;height:34px;border-radius:9px;flex-shrink:0}.app-name{font-weight:700;font-size:.95rem;letter-spacing:-.01em;flex:1;min-width:0}.header-avatar-btn{width:auto;margin-top:0;padding:0;background:none;border:none;box-shadow:none;border-radius:50%;flex-shrink:0;line-height:0}.header-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.bell-btn{position:relative;width:auto;margin-top:0;padding:6px 8px;background:none;border:none;box-shadow:none;font-size:1.25rem;line-height:1;border-radius:12px;flex-shrink:0}.bell-btn.open{background:var(--accent-soft)}.bell-badge{position:absolute;top:0;right:0;min-width:17px;padding:1px 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.62rem;font-weight:700;line-height:15px}.notifications-panel{margin-bottom:14px;animation:tab-panel-in .18s ease both}.notification-time{font-size:.75rem;margin:4px 0 0}.notification.swap_status{border-left:3px solid var(--ok)}.swaps-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.compact-btn{width:auto;margin-top:0;padding:9px 16px;font-size:.85rem;flex-shrink:0}.compact-btn.secondary{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none}.type-filter{display:flex;gap:6px;margin-bottom:12px}.type-chip{display:inline-flex;align-items:center;gap:5px;flex:1;width:auto;margin-top:0;padding:8px 6px;justify-content:center;background:var(--card);color:var(--muted);border:1px solid var(--border);border-radius:999px;font-size:.78rem;font-weight:600;box-shadow:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.type-chip .ui-icon{opacity:.65}.type-chip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.type-chip.active .ui-icon{opacity:1}.offer-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:.62rem;font-weight:700}.calendar-cell.selected .offer-count{background:var(--accent-contrast);color:var(--accent)}.swap-calendar{margin-bottom:12px}.watch-types{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}.checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text)}.checkbox-label input[type=checkbox]{width:auto;margin:0}#swap-watch-form label{display:block;margin-top:10px;font-size:.8rem;font-weight:600;color:var(--muted)}#swap-watch-form input[type=date]{display:block;width:100%;margin-top:4px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;font-family:inherit;box-sizing:border-box}#swap-watch-form button[type=submit]{width:auto;padding:10px 18px;font-size:.85rem}.advanced-swap,.full-calendar-toggle{margin-top:22px}.advanced-swap summary,.full-calendar-toggle summary{font-size:.85rem;font-weight:600;color:var(--accent);cursor:pointer;padding:8px 0;list-style:none}.full-calendar-toggle summary::-webkit-details-marker{display:none}.full-calendar-toggle summary:before{content:"▸ "}.full-calendar-toggle[open] summary:before{content:"▾ "}.advanced-swap .card{margin-top:8px}.auth-screen{min-height:100dvh;margin:0 -16px;padding:0;display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--navy-deep) 0%,#17253f 52%,#243a5e 100%);color:#fff}.auth-screen:not(.auth-login-mode):not(.auth-signup-mode) .auth-hero{padding-top:clamp(118px,21dvh,230px)}@media (min-width: 512px){.auth-screen{margin:0 auto}}.auth-hero{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;text-align:center;padding:calc(28px + env(safe-area-inset-top)) 28px 0;position:relative}.auth-hero .wordmark{font-family:var(--font-body);font-size:2.5rem;font-weight:400;letter-spacing:.28em;text-indent:.28em;margin:20px 0 18px;color:#fff}.brand-mark{color:#fff;opacity:.96}.auth-logo{width:64px;height:64px;border-radius:18px}.auth-tagline{color:#ffffffa8;font-size:1rem;margin:0;text-wrap:balance;line-height:1.6;font-weight:400}.auth-wing{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;z-index:0}.auth-hero,.auth-actions{position:relative;z-index:1}.auth-actions{padding:20px 26px calc(34px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}.auth-actions .btn-primary,.auth-actions .btn-secondary-on-navy{width:100%}.btn-primary-on-navy{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:0;padding:17px;background:#fff;color:var(--navy);border:none;border-radius:999px;font-size:.98rem;font-weight:600;letter-spacing:.01em;box-shadow:0 6px 24px #0000002e;transition:transform .12s ease}.btn-primary-on-navy:active{transform:scale(.985)}.btn-secondary-on-navy{display:block;width:100%;box-sizing:border-box;margin-top:0;padding:15px;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.92rem;font-weight:600;text-align:center;text-decoration:none;transition:background .15s ease}.btn-secondary-on-navy:hover{background:#ffffff24}.auth-switch-link{text-align:center;color:#ffffffc7;font-size:.88rem;font-weight:500;background:none;border:none;box-shadow:none;padding:14px 6px 4px}.auth-login-actions .auth-switch-link{padding-top:4px}.auth-login-actions .auth-switch-link:first-of-type{padding-top:14px}.auth-login-actions .auth-switch-link svg{vertical-align:-2px;margin-right:2px}.auth-family-entry{margin:6px 0 0;color:#ffffffc7;font-size:.88rem;line-height:1.4;text-align:center}.auth-family-entry a{color:#fff;font-weight:600;text-underline-offset:.16em}.auth-screen.auth-login-mode{height:100dvh}.auth-login-mode .auth-hero{flex:0 0 auto;padding-top:calc(30px + env(safe-area-inset-top))}.auth-login-mode .brand-mark{width:48px;height:auto}.auth-login-mode .wordmark{font-size:2rem;margin:12px 0 6px}.auth-login-mode .auth-tagline{font-size:.84rem}.auth-login-mode .auth-actions{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:12px}.login-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:4px}.login-field{display:flex;flex-direction:column;gap:6px;text-align:left}.login-field span{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c}.login-field input,.login-field select{width:100%;box-sizing:border-box;margin:0;padding:14px 16px;background:#ffffff17;border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;font:inherit;font-size:.95rem}.login-field input::placeholder{color:#ffffff59}.login-field input:focus,.login-field select:focus{outline:none;border-color:#ffffff8c;background:#ffffff21}.login-field select option{color:#000}.signup-status.login-status{color:#ffffffbf;text-align:center;min-height:1.2em}.consent-check{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:.82rem;line-height:1.4;color:#ffffffbf;margin:2px 0 0}.consent-check input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:#fff}.consent-check a{color:#fff;text-decoration:underline}.auth-or-divider{text-align:center;margin:2px 0;font-size:.78rem;color:#fff6}.auth-login-error{background:#c0293f2e;border:1px solid rgba(192,41,63,.4);border-radius:12px;padding:10px 14px;margin:0 0 4px;font-size:.85rem;color:#fff}.auth-screen.auth-signup-mode{height:100dvh}.auth-screen.auth-signup-mode .auth-hero{flex:0 0 auto;padding-top:calc(20px + env(safe-area-inset-top))}.auth-screen.auth-signup-mode .auth-hero .wordmark{margin:14px 0 10px}.auth-screen.auth-signup-mode .auth-actions{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.auth-signup-actions .auth-switch-link{padding-top:10px;flex:0 0 auto}.auth-signup-mode .auth-signup-actions{background:#14213d;border-radius:20px 20px 0 0}.auth-signup-mode .login-field span,.auth-signup-mode .consent-check,.auth-signup-mode .auth-switch-link,.auth-signup-mode .signup-status.login-status{color:#e2e8f0}.auth-signup-mode .login-field input,.auth-signup-mode .login-field select,.auth-signup-mode .login-field input:focus,.auth-signup-mode .login-field select:focus{background:#243653;border-color:#94a3b8}.auth-signup-mode .login-field input::placeholder{color:#cbd5e1;opacity:1}.auth-signup-mode .auth-signup-actions a,.auth-signup-mode .auth-signup-actions a:visited{color:#d7edff;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.1em}.auth-signup-mode .auth-signup-actions :is(input,select,button,a):focus-visible{outline:3px solid #ffdc8a;outline-offset:3px}.auth-screen.auth-signup-mode{min-height:100dvh;height:auto;margin:0 auto;width:100%}.auth-screen.auth-signup-mode .auth-actions{overflow-y:visible}.auth-screen.auth-form-screen{display:block;min-height:0;background:var(--bg);color:var(--text);margin:0 auto;padding:20px 16px calc(32px + env(safe-area-inset-bottom));max-width:480px}.auth-screen.auth-form-screen .auth-hero{padding:calc(8px + env(safe-area-inset-top)) 4px 4px;text-align:center}.auth-screen.auth-form-screen .wordmark,.auth-screen.auth-form-screen h1{color:var(--text)}.auth-screen.auth-form-screen .auth-tagline{color:var(--muted)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;gap:2px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#ffffffeb;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--border)}@media (min-width: 720px){.tab-bar{left:50%;right:auto;transform:translate(-50%);width:100%;max-width:640px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 24px #14213d14}}.tab-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;width:auto;margin-top:0;padding:6px 4px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font-size:.68rem;font-weight:600;box-shadow:none;white-space:nowrap;transition:color .18s ease,background .18s ease}.tab-btn .tab-icon{font-size:1.3rem;display:flex;opacity:.6;transition:opacity .18s ease,transform .18s ease}.tab-btn.active .tab-icon{opacity:1;transform:translateY(-1px);color:var(--navy)}.ui-icon{display:inline-block;vertical-align:middle;flex-shrink:0}h2 .ui-icon{margin-right:7px;vertical-align:-5px;color:var(--navy-700)}.tab-btn.active{color:var(--navy)}.tab-icon-badge-wrap{position:relative}.tab-icon-badge{position:absolute;top:-5px;right:-9px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.6rem;font-weight:700;line-height:15px;text-align:center;box-shadow:0 0 0 2px var(--card)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14213d52;z-index:50;animation:sheet-fade-in .18s ease both}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:10px 16px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #14213d29;animation:sheet-slide-up .22s cubic-bezier(.2,.8,.2,1) both;max-width:480px;margin:0 auto}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grabber{width:36px;height:4px;border-radius:2px;background:var(--border);margin:4px auto 14px}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 6px;background:none;border:none;box-shadow:none;color:var(--text);font-size:.98rem;font-weight:600;text-align:left;border-bottom:1px solid var(--border)}.sheet-item.danger{color:var(--danger)}.tab-panel{min-height:30vh;animation:tab-panel-in .22s ease both}@keyframes tab-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tab-panel{animation:none}.tab-btn,.tab-btn .tab-icon{transition:none}}.home-calendar{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:1rem}.calendar-nav-btn{width:auto;margin-top:0;padding:4px 14px;background:var(--accent-soft);color:var(--accent);box-shadow:none;font-size:1.1rem;border-radius:999px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;color:var(--muted);font-weight:700;margin-bottom:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-cell{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;margin-top:0;padding:4px;background:none;border:none;border-radius:10px;color:var(--text);font-size:.8rem;box-shadow:none}.calendar-cell.empty{visibility:hidden}.calendar-cell.has-event{background:var(--accent-soft);font-weight:700}.calendar-cell.today{box-shadow:0 0 0 2px var(--accent) inset}.calendar-cell.selected{background:var(--accent);color:var(--accent-contrast)}.calendar-cell-icon{font-size:.75rem;line-height:1}.calendar-cell-icon .ui-icon{width:15px;height:15px}.calendar-cell-note-dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--warn)}.calendar-cell.selected .calendar-cell-note-dot{background:var(--accent-contrast)}.calendar-day-detail{margin-top:4px}h2{font-size:.98rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin:26px 0 10px}.muted{color:var(--muted)}.route-cities{font-size:.8rem;margin-top:-2px}.crew-list-btn{display:block;margin-top:8px;width:auto;padding:0;background:none;border:none;color:var(--accent);font-weight:600;box-shadow:none}.crew-list-result{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.85rem}.crew-list-result p{margin:2px 0}.swap-candidate-row,.swap-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.swap-candidate-row:first-of-type,.swap-row:first-of-type{border-top:none}.swap-row-actions{display:flex;gap:6px;flex-shrink:0}.swap-row-actions button,.swap-candidate-row button,.swap-row>button{width:auto;margin-top:0;padding:8px 14px;font-size:.85rem;flex-shrink:0}.swap-timeline{display:flex;align-items:center;margin:7px 0 2px;flex-wrap:wrap;row-gap:4px}.timeline-step{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--muted);white-space:nowrap}.timeline-step:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0}.timeline-step.done{color:var(--ok)}.timeline-step.done:before{background:var(--ok)}.timeline-step.current{color:var(--accent)}.timeline-step.current:before{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.timeline-step.rejected{color:var(--danger)}.timeline-step.rejected:before{background:var(--danger)}.timeline-sep{flex:1 1 14px;min-width:8px;height:2px;background:var(--border);margin:0 4px}.swap-timeline-terminal{margin:7px 0 2px;font-size:12px}.family-share-row input,.calendar-sync-section input,.notes-section input,.notes-section select,.notes-section textarea{display:block;width:100%;margin-top:8px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;font-family:inherit;box-sizing:border-box}.notes-section form button[type=submit]{width:auto;margin-top:10px;padding:10px 18px;font-size:.85rem}.note-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.note-row:first-of-type,#add-note-form{border-top:none}.note-row-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.priority-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px;margin-top:4px;background:var(--accent-soft);color:var(--accent)}.priority-badge.priority-important{background:var(--warn-soft);color:var(--warn)}.priority-badge.priority-critical{background:var(--danger-soft);color:var(--danger)}.email-connections-section a{color:var(--accent);font-weight:600;text-decoration:none}.email-connections-section a:hover{text-decoration:underline}.calendar-sync-section a{color:var(--accent);word-break:break-all}.calendar-sync-section button{width:auto;padding:10px 18px;font-size:.85rem}#swap-search-results{margin-top:10px}.dashboard-card,.day-card,.notification,.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px}.day-card-header{display:flex;justify-content:space-between;font-weight:700}.route,.local{font-size:1.1rem;font-weight:600;margin-top:4px}.utc{color:var(--muted);font-size:.85rem}.confirmed-badge{color:var(--ok);font-weight:600;font-size:.85rem;margin-top:6px}.review-badge{color:var(--warn);font-weight:600;font-size:.85rem;margin-top:6px}.day-card.needs-review{border:1px solid var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.day-card-compact{padding:16px}.day-card-compact .day-card-header{margin-bottom:6px}.day-card-compact .route{font-size:1.1rem}.day-card-compact .local{margin-top:6px;font-size:.95rem}.day-card-compact .local small{font-weight:400;font-size:.75rem;color:var(--muted)}.service-extra-details{margin-top:10px;color:var(--text-soft);font-size:.8rem}.service-extra-details summary,.day-hotel-stays>summary{cursor:pointer}.service-extra-details p{margin:6px 0}.day-hotel-stays{margin:10px 0;padding:12px 16px;border:1px solid var(--border);border-radius:16px;background:#ffffffeb}.day-hotel-stays>summary{font-weight:600}.day-hotel-stays .day-card{margin-top:10px;box-shadow:none}.notification{font-size:.9rem}.notification.reminder{border-left:3px solid var(--accent)}.warn{color:var(--warn)}.ok{color:var(--ok)}textarea{width:100%;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px;font-family:var(--font-body);font-size:.9rem}button{margin-top:8px;width:100%;padding:13px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:999px;font-size:1rem;font-weight:600;box-shadow:0 1px 2px #10182814;transition:filter .15s ease}button:hover{filter:brightness(1.08)}.ad-banner{margin-top:24px;padding:12px;border-radius:14px;background:var(--card);border:1px dashed var(--border);text-align:center}.ad-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.ad-placeholder-box{color:var(--muted);font-size:.8rem;padding:16px 0}.ad-consent-prompt{display:flex;flex-direction:column;gap:8px;font-size:.85rem;border-style:solid}.ad-consent-actions{display:flex;gap:8px}.ad-consent-actions button{margin-top:0;flex:1;padding:10px;font-size:.85rem}.ad-consent-actions button[data-ad-consent=deny]{background:transparent;border:1px solid var(--border);color:var(--text);box-shadow:none}#calendar-link-form{display:grid;gap:8px}#calendar-link-form label{color:var(--text-soft);font-size:.85rem;font-weight:600}#calendar-link-form input{width:100%;min-width:0;min-height:46px;margin:0 0 8px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:1rem}.import-status{color:var(--muted);font-size:.85rem}.signup label{display:block;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--muted)}.signup input,.signup select{display:block;width:100%;margin-top:4px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:11px;font-size:.95rem;box-sizing:border-box}.signup-status{color:var(--muted);font-size:.85rem}.link-btn{width:auto;margin-top:0;padding:0;background:none;border:none;color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:underline;cursor:pointer;box-shadow:none}.signup-reset{text-align:center;margin-top:24px}.settings-tab input,.settings-tab select{display:block;width:100%;margin-top:8px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;box-sizing:border-box}.settings-tab form button[type=submit]{width:auto;margin-top:12px;padding:10px 18px;font-size:.85rem}.settings-tab form+p.muted:empty{display:none}.avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}.avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.avatar-row input[type=file]{font-size:.8rem;max-width:220px}.delete-note-btn,.cancel-edit-note-btn,.revoke-share-btn,.disconnect-email-btn,.reject-proposal-btn,.reject-chain-btn,.cancel-swap-btn{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none}.logout-btn{display:inline-flex;align-items:center;gap:7px;width:auto;margin-top:0;padding:9px 18px;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:999px;font-size:.85rem;font-weight:600;box-shadow:none}.danger-btn{width:100%;background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);box-shadow:none}.whatsapp-btn{display:block;width:100%;padding:12px;border-radius:999px;background:#25d366;color:#062e16;font-size:.95rem;font-weight:700;text-align:center;text-decoration:none;box-sizing:border-box}.whatsapp-btn:hover{filter:brightness(1.05)}.calendar-add-btn{background:var(--accent);color:var(--accent-contrast)}.share-link-row{display:flex;gap:8px;margin-top:10px}.share-link-row input{flex:1;min-width:0;background:var(--bg);color:var(--muted);border:1px solid var(--border);border-radius:12px;padding:9px 12px;font-size:.8rem}.share-link-row button{width:auto;margin-top:0;padding:9px 16px;font-size:.82rem;flex-shrink:0}.family-share-card .revoke-share-btn{width:100%;margin-top:10px;background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none;font-size:.82rem;padding:9px}.family-sync label{display:block;margin-top:12px;font-size:.8rem;font-weight:600;color:var(--muted)}.family-sync input{display:block;width:100%;margin-top:4px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;font-family:inherit;box-sizing:border-box}.family-sync form button[type=submit]{width:auto;margin-top:14px;padding:10px 18px;font-size:.85rem}.family-viewer-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.status-card{border-left:4px solid var(--border)}.status-card.status-in-flight,.status-card.status-on-duty{border-left-color:var(--ok);background:var(--ok-soft)}.status-card.status-starting-soon,.status-card.status-just-finished{border-left-color:var(--warn);background:var(--warn-soft)}.tracking-links{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 0}.tracking-links a{color:var(--accent);font-weight:600;font-size:.85rem;text-decoration:none}.tracking-links a:hover{text-decoration:underline}#feedback-form textarea{font-family:inherit}#feedback-form button[type=submit]{width:auto;margin-top:10px;padding:10px 18px;font-size:.85rem}.score-row+.score-row{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.score-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.score-scale{font-size:.85rem;font-weight:600;color:var(--muted)}.score-bar{height:7px;margin-top:8px;border-radius:999px;background:var(--border);overflow:hidden}.score-bar span{display:block;height:100%;border-radius:999px;background:var(--accent)}.score-tips{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.score-tips summary{font-size:.85rem;font-weight:600;color:var(--accent);cursor:pointer}.score-tips ul{margin:10px 0;padding-left:20px;font-size:.88rem}.score-tips li{margin-bottom:5px}.language-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.language-btn{display:flex;align-items:center;gap:9px;width:100%;margin-top:0;padding:11px 12px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:14px;font-size:.88rem;font-weight:600;box-shadow:none;transition:background .15s ease,border-color .15s ease}.language-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.language-flag{font-size:1.4rem;line-height:1}.change-request-card{margin-top:8px}.change-request-form label{display:block;margin-top:10px;font-size:.8rem;font-weight:600;color:var(--muted)}.change-request-form input,.change-request-form textarea{display:block;width:100%;margin-top:4px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;font-family:inherit;box-sizing:border-box;resize:vertical}.change-request-form .swap-row-actions{margin-top:12px}.change-request-form .swap-row-actions button{width:auto;margin-top:0;padding:9px 16px;font-size:.85rem}.save-change-request-btn{background:transparent;color:var(--muted);border:1px solid var(--border);box-shadow:none}.change-request-reply{margin:10px 0 0;padding:10px 12px;background:var(--bg);border-radius:12px;font-size:.85rem;white-space:pre-wrap}.manual-response{margin-top:10px}.manual-response summary{font-size:.8rem;color:var(--muted);cursor:pointer}#crew-planning-email-form{display:flex;gap:8px}#crew-planning-email-form input{flex:1;min-width:0;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.9rem;box-sizing:border-box}#crew-planning-email-form button{width:auto;margin-top:0;padding:10px 16px;font-size:.85rem;flex-shrink:0}.display-xl{font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1.12;letter-spacing:-.01em}.display-lg{font-family:var(--font-display);font-size:1.75rem;font-weight:500;line-height:1.15}.display-md{font-family:var(--font-display);font-size:1.3rem;font-weight:500;line-height:1.2}.eyebrow{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.01em}.meta{font-size:.78rem;color:var(--muted)}.lede{font-size:.92rem;line-height:1.5;color:var(--text-soft);margin:6px 0 20px;text-wrap:balance}.btn-primary,.btn-secondary,.btn-quiet,.btn-icon{font-family:var(--font-body);cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease}.btn-primary:active,.btn-secondary:active,.btn-quiet:active,.btn-icon:active{transform:scale(.985)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:0;padding:15px 20px;background:var(--navy);color:#fff;border:none;border-radius:999px;font-size:.95rem;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 2px #17253f1f}.btn-primary:disabled{opacity:.5}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;margin-top:0;padding:9px 16px;background:var(--card);color:var(--navy);border:1px solid var(--border);border-radius:999px;font-size:.82rem;font-weight:600;box-shadow:none}.btn-quiet{width:auto;margin-top:0;padding:6px 2px;background:none;color:var(--navy);border:none;box-shadow:none;font-size:.82rem;font-weight:600}.btn-icon{width:40px;height:40px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:999px;color:var(--text);box-shadow:none;flex:0 0 auto}.btn-icon:hover{background:var(--navy-soft)}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.pill-flight{background:var(--sky);color:var(--sky-ink)}.pill-standby{background:#ffe0bc;color:#783a0a}.pill-reserve{background:var(--gold-soft);color:var(--gold-ink)}.pill-dayoff{background:var(--mint-soft);color:var(--mint-ink)}.pill-vacation{background:#d9efcf;color:#255c24}.pill-sick{background:#f8d4e3;color:#722746}.pill-training{background:#e6d3c2;color:#59351e}.pill-other{background:var(--navy-soft);color:var(--navy)}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:500;color:var(--mint-ink)}.status-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--mint-ink)}.surface{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px}.surface-tight{padding:14px 16px}.surface-flush{padding:0;overflow:hidden}.screen-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -6px 10px}.home-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.greeting{font-family:var(--font-display);font-size:1.85rem;font-weight:500;line-height:1.16;letter-spacing:-.005em;color:var(--text);margin:2px 0 0;text-wrap:balance}.greeting .greeting-glyph{color:var(--navy);margin-left:6px}.home-top-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}.screen-title{font-family:var(--font-display);font-size:1.85rem;font-weight:500;line-height:1.15;margin:2px 0 0}.screen-lede{font-size:.92rem;line-height:1.5;color:var(--muted);margin:8px 0 20px;text-wrap:balance}.screen-kicker{font-size:1.02rem;font-weight:600;color:var(--text);margin:14px 0 4px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:24px 2px 10px}.section-head h2{margin:0}.section-head .btn-quiet{color:var(--muted);font-weight:500}.next-link{display:inline-flex;align-items:center;gap:6px;width:auto;margin:16px 0 10px;padding:0;background:none;border:none;box-shadow:none;font-size:.88rem;font-weight:500;color:var(--text)}.next-link svg{color:var(--text)}.flight-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px 18px 18px}.flight-card-top{display:flex;justify-content:flex-end;margin-bottom:2px;min-height:22px}.flight-route{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px}.fr-code{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:500;line-height:1.1;color:var(--text)}.fr-city{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}.fr-time{display:block;font-size:1.15rem;font-weight:600;color:var(--text);margin-top:12px;letter-spacing:-.01em}.fr-label{display:block;font-size:.7rem;color:var(--muted);margin-top:2px}.fr-col.fr-right{text-align:right}.fr-mid{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:10px}.fr-line{display:flex;align-items:center;gap:6px;width:100%;color:var(--muted)}.fr-line:before,.fr-line:after{content:"";height:1px;flex:1;background:var(--border)}.fr-dur{font-size:.72rem;color:var(--muted)}.ftl-card{margin-top:14px;padding:15px 17px 13px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.ftl-card.ok{border-color:#d5e9dc;background:#f6fbf7}.ftl-card.near{border-color:#edd49a;background:#fffaf0}.ftl-card.over{border-color:#e9b8bf;background:#fff7f8}.ftl-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--navy)}.ftl-card-top>span{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600}.ftl-card-top strong{white-space:nowrap;font-size:1.25rem;letter-spacing:-.02em}.ftl-card-top small{color:var(--muted);font-size:.75rem;font-weight:500}.ftl-track{height:7px;margin-top:12px;overflow:hidden;background:#e9edf0;border-radius:99px}.ftl-track span{display:block;height:100%;border-radius:inherit;background:var(--mint-ink)}.ftl-card.near .ftl-track span{background:var(--gold-ink)}.ftl-card.over .ftl-track span{background:var(--danger)}.ftl-card.partial .ftl-track span{background:var(--navy-700)}.ftl-note{margin:8px 0 0;color:var(--mint-ink);font-size:.74rem;line-height:1.35}.ftl-card.near .ftl-note{color:var(--gold-ink)}.ftl-card.over .ftl-note{color:var(--danger)}.ftl-card.partial .ftl-note{color:var(--text-soft)}.ftl-month{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--text-soft);font-size:.76rem}.ftl-month strong{color:var(--navy)}.ftl-profile{padding:2px 16px 12px}.ftl-profile-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0}.ftl-profile-row+.ftl-profile-row{border-top:1px solid var(--line)}.ftl-profile-row span{font-size:.82rem;font-weight:600}.ftl-profile-row span small{display:block;margin-top:3px;color:var(--muted);font-size:.69rem;font-weight:500}.ftl-profile-row strong{white-space:nowrap;font-size:1rem}.ftl-profile-row strong small{color:var(--muted);font-size:.72rem;font-weight:500}.ftl-profile>p{margin:0;padding-top:10px;border-top:1px solid var(--line);color:var(--text-soft);font-size:.73rem;line-height:1.5}.swap-redesign{display:grid;gap:18px;padding-bottom:22px}.swap-header{padding:8px 2px 0}.swap-header h1{margin:4px 0 8px;color:var(--navy);font:400 2rem/1.15 var(--font-display)}.swap-header p,.swap-board-new>p,.swap-direct>p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.5}.swap-eyebrow{color:var(--sky-ink);font-size:.7rem;font-weight:700;letter-spacing:.02em}.swap-redesign .section-head{margin:0 2px -9px}.swap-redesign .section-head h2{margin:0;font-size:.98rem}.swap-roster-calendar,.swap-selection,.swap-offer-card,.swap-direct-form,.swap-compact-row,.swap-empty,.swap-optional{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffff0;box-shadow:var(--shadow-card)}.swap-roster-calendar{padding:14px 10px 12px}.roster-month-root{display:grid;gap:12px;margin:18px 0}.roster-editor-card{display:grid;gap:14px;margin:18px 0 28px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffff5;box-shadow:var(--shadow-card)}.roster-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.roster-editor-head h2{margin:0}.roster-editor-head p,.roster-review-period{margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.45}.roster-editor-head>button{flex:0 0 auto}.roster-review-calendar{min-width:0}.roster-review-month-nav{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px;color:var(--navy)}.roster-review-month-nav strong{text-transform:capitalize;font:500 1.17rem var(--font-display)}.roster-review-month-nav button{width:36px;height:36px;padding:0;margin:0;border-radius:50%;background:var(--navy-soft);color:var(--navy);box-shadow:none;font-size:1.35rem}.roster-review-weekdays,.roster-review-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.roster-review-weekdays{margin-bottom:5px;color:var(--muted);font-size:.68rem;font-weight:700;text-align:center}.roster-review-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;min-height:58px;margin:0;padding:7px 2px 4px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);box-shadow:none;font-size:.78rem}.roster-review-day.empty{visibility:hidden}.roster-review-day.has-events{border-color:#cedcf0;background:var(--sky)}.roster-review-day.has-existing{border-color:#e7d9bc;background:#fffaf0}.roster-review-day.selected{outline:2px solid var(--navy);outline-offset:1px}.roster-review-day small{max-width:100%;overflow:hidden;color:var(--text-soft);font-size:.54rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.roster-review-day-detail{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.roster-review-day-detail h3{margin:0;font-size:.96rem;text-transform:capitalize}.trip-calendar-nav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin:0 2px 12px}.trip-calendar-nav strong{color:var(--navy);font-size:1.1rem;font-weight:700;text-align:center;text-transform:capitalize}.trip-calendar-nav button{width:36px;height:36px;padding:0;margin:0;border:0;border-radius:50%;background:#f1f2f4;color:var(--navy);box-shadow:none;font-size:1.35rem}.trip-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:5px;color:var(--muted);font-size:.68rem;font-weight:700;text-align:center;text-transform:capitalize}.trip-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.home-calendar .trip-calendar-nav,.roster-review-calendar .trip-calendar-nav{display:grid}.home-calendar:has(.trip-calendar-grid),.roster-review-calendar{padding:12px;border:1px solid var(--border);border-radius:22px;background:#fffffff0;box-shadow:var(--shadow-card)}.trip-calendar-day{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;gap:1px;width:100%;min-width:0;min-height:72px;aspect-ratio:unset;margin:0;padding:23px 2px 3px;overflow:hidden;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--navy);box-shadow:none;line-height:1.1}.trip-calendar-day.has-event,.trip-calendar-day.has-events{background:#f1f2f4}.trip-calendar-day.selected{outline:0;box-shadow:inset 0 0 0 2px var(--navy);color:var(--navy)}.trip-calendar-day.empty{visibility:hidden}.trip-calendar-day-number,.trip-calendar-day .calendar-cell-day{position:absolute;top:5px;right:6px;z-index:1;color:var(--navy);font-size:.7rem;font-weight:700;line-height:1}.trip-day-segment{display:grid;flex:1 1 0;place-items:center;width:100%;min-height:20px;overflow:hidden;padding:2px 1px;color:#17243f;font-size:.6rem;font-weight:600;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.trip-day-segment.tone-flight{background:#a9c6ee}.trip-day-segment.tone-free{background:#fff19a}.trip-day-segment.tone-reserve{background:#ffed4c}.trip-day-segment.tone-standby{background:#f6b36b;color:#48260c}.trip-day-segment.tone-vacation{background:#a8d59a;color:#183d1b}.trip-day-segment.tone-sick{background:#f3b6d0;color:#59213b}.trip-day-segment.tone-training{background:#b98b68;color:#2f1b0f}.trip-day-segment.tone-other{background:#bbc3eb}.calendar-duty-icons{position:absolute;top:4px;left:4px;display:flex;gap:2px;max-width:calc(100% - 24px);overflow:hidden;pointer-events:none}.calendar-flight-estimate{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);color:var(--text-soft);font-size:.75rem;line-height:1.5}.calendar-flight-estimate strong{color:var(--navy)}.calendar-flight-estimate details{margin-top:2px}.calendar-flight-estimate summary{cursor:pointer;font-size:.7rem}.calendar-flight-estimate p{margin:4px 0;max-width:54ch}.calendar-duty-icon{--badge-size: 14px;flex:0 0 var(--badge-size);width:var(--badge-size);height:var(--badge-size);background-image:url(/roster-category-icons.png);background-repeat:no-repeat;background-size:calc(var(--badge-size) * 5.1825) calc(var(--badge-size) * 1.895);background-position:calc(var(--badge-size) * var(--badge-x, 0)) calc(var(--badge-size) * -.4);border-radius:4px;opacity:.92}.duty-icon-flight{--badge-x: 0}.duty-icon-free{--badge-x: -1.04}.duty-icon-standby{--badge-x: -2.08}.duty-icon-sick{--badge-x: -3.12}.duty-icon-training{--badge-x: -4.16}@media (max-width: 520px){.calendar-duty-icon{--badge-size: 12px}.calendar-duty-icons{gap:1px;left:3px;top:4px}}.trip-calendar-day-note{position:absolute;right:4px;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--navy)}.trip-calendar-day .trip-day-segment+.trip-day-segment{border-top:1px solid rgba(23,36,63,.22)}.roster-review-calendar .roster-review-day{min-height:72px;padding:23px 2px 3px;border:1px solid transparent;border-radius:10px;background:transparent}.roster-review-calendar .roster-review-day.has-events{background:#f1f2f4}.roster-review-calendar .roster-review-day.has-existing{background:#fffaf0}.roster-review-calendar .roster-review-day.selected{outline:0;box-shadow:inset 0 0 0 2px var(--navy)}.roster-review-calendar .roster-review-day small{position:static;max-width:100%;color:var(--text-soft);font-size:.54rem}@media (max-width: 520px){.home-calendar:has(.trip-calendar-grid),.roster-review-calendar{padding:8px;border-radius:17px}.trip-calendar-grid{gap:2px}.trip-calendar-day,.roster-review-calendar .roster-review-day{min-height:62px;padding:21px 1px 2px;border-radius:7px}.trip-day-segment{min-height:17px;font-size:.51rem}.trip-calendar-day-number,.trip-calendar-day .calendar-cell-day{top:4px;right:4px;font-size:.65rem}}.roster-review-event{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:#fff}.roster-review-event>div:first-child{display:grid;gap:3px;min-width:0}.roster-review-event strong{color:var(--navy);font-size:.84rem}.roster-review-event small{color:var(--muted);font-size:.72rem}.roster-review-event>div:last-child{display:flex;gap:5px;flex:0 0 auto}.roster-review-event button,.roster-undo button{width:auto;min-height:34px;margin:0;padding:5px 9px;background:var(--navy-soft);color:var(--navy);box-shadow:none;font-size:.72rem}.roster-undo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:9px 11px;border-radius:11px;background:var(--mint-soft);color:var(--text);font-size:.8rem}.roster-review-editor{display:grid;gap:10px;padding:13px;border:1px solid var(--border);border-radius:13px;background:#fafbfc}.roster-review-editor h3{margin:0;font-size:.9rem}.roster-review-editor label{display:grid;gap:5px;color:var(--text-soft);font-size:.73rem;font-weight:600}.roster-review-editor input,.roster-review-editor select{width:100%;min-width:0;min-height:42px;margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:inherit}.roster-review-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.roster-review-editor-actions{display:flex;justify-content:flex-end;gap:8px}.roster-review-editor-actions button{width:auto;margin:0}.roster-review-layer{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:#0a12228a}.roster-review-dialog{display:grid;gap:12px;width:min(100%,880px);max-height:100%;overflow-y:auto;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--paper, #fbfaf8);box-shadow:0 22px 70px #0a122247}.roster-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.roster-review-head h2{margin:2px 0 4px;color:var(--navy);font:500 1.55rem/1.15 var(--font-display)}.roster-review-head p{margin:0;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.roster-review-close{width:38px;height:38px;min-width:38px;margin:0;padding:0;border-radius:50%;background:var(--navy-soft);color:var(--navy);box-shadow:none;font-size:1.5rem}.roster-review-warnings{padding:10px 12px;border:1px solid #ecd6aa;border-radius:12px;background:#fff9ed;color:#58472a;font-size:.78rem}.roster-review-warnings ul{margin:5px 0 0;padding-left:18px}.roster-review-warnings li+li{margin-top:3px}.roster-review-diff{display:flex;flex-wrap:wrap;gap:8px}.roster-review-diff span{padding:7px 9px;border-radius:9px;background:#eef2f7;color:var(--text-soft);font-size:.7rem}.roster-review-diff strong{color:var(--navy)}.roster-review-note,.roster-review-message{margin:0;color:var(--text-soft);font-size:.75rem;line-height:1.4}.roster-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:14px}.roster-review-dialog .roster-review-day-detail{align-content:start}.roster-review-event.saved{border-style:dashed;background:#fffaf0}.roster-review-conflict{display:grid;gap:6px;margin:8px 0;padding:12px;border:1px solid #e7c98c;border-radius:12px;background:#fff9ed}.roster-review-conflict p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.4}.roster-review-conflict-actions{display:flex;flex-wrap:wrap;gap:6px}.roster-review-conflict-actions button[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.roster-unparsed-blocks{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-soft);font-size:.78rem}.roster-unparsed-blocks summary{color:var(--navy);font-weight:700;cursor:pointer}.roster-unparsed-blocks pre{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.roster-unparsed-blocks ul{display:grid;gap:5px;margin:8px 0;padding-left:20px}.roster-review-footer{position:sticky;bottom:-18px;display:flex;justify-content:flex-end;gap:8px;margin:0 -18px -18px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fbfaf8f5}.roster-review-footer button{width:auto;margin:0}.roster-review-footer .btn-primary:disabled{opacity:.55}@media (max-width: 680px){.roster-review-dialog{padding:14px;border-radius:15px}.roster-review-body{grid-template-columns:1fr}.roster-review-footer{bottom:-14px;margin:0 -14px -14px;padding-right:14px;padding-left:14px}.roster-review-day{min-height:50px;padding-top:6px}.roster-editor-head{align-items:flex-start;flex-direction:column}.roster-editor-head>button{width:auto}}.swap-month-nav{display:flex;align-items:center;justify-content:space-between;margin:0 4px 13px;color:var(--navy)}.swap-month-nav strong{text-transform:capitalize;font:500 1.17rem var(--font-display)}.swap-month-nav button{width:30px;height:30px;padding:0;margin:0;border-radius:50%;background:var(--navy-soft);color:var(--navy);box-shadow:none;font-size:1.35rem}.swap-weekdays,.swap-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.swap-weekdays{margin-bottom:5px;color:var(--muted);font-size:.65rem;font-weight:700;text-align:center}.swap-day{position:relative;width:100%;min-width:0;min-height:59px;margin:0;padding:5px 2px 3px;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid transparent;border-radius:11px;background:#f9f8f6;color:var(--navy);box-shadow:none;line-height:1.15}.swap-day.empty{visibility:hidden}.swap-day.flight{background:var(--sky)}.swap-day.layover{background:#edf0f8}.swap-day.reserve,.swap-day.standby{background:var(--gold-soft)}.swap-day.free{background:var(--mint-soft)}.swap-day.review{background:var(--peach-soft)}.swap-day.selected{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.swap-day.today .swap-day-number{color:var(--navy);text-decoration:underline;text-underline-offset:2px}.swap-day-number{align-self:flex-start;padding-left:4px;color:var(--text-soft);font-size:.64rem;font-weight:700}.swap-day strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:700;text-align:center}.swap-day small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft);font-size:.53rem;text-align:center}.swap-day-count{position:absolute;top:3px;right:3px;font-size:.52rem;font-weight:700}.swap-selection{padding:16px}.swap-selection>p,.swap-hint{margin:0;color:var(--text-soft);font-size:.77rem;line-height:1.5}.swap-selection h3,.swap-offer-card h3{margin:7px 0;color:var(--navy);font:500 1.23rem/1.25 var(--font-display)}.swap-itinerary{display:grid;gap:7px;margin:12px 0}.swap-itinerary>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#f8f7f5;border-radius:10px;font-size:.74rem}.swap-itinerary time{color:var(--muted);white-space:nowrap}.swap-selection>.btn-primary{margin-top:13px}.swap-block-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.swap-block-tabs button{width:auto;margin:0;padding:7px 9px;border-radius:999px;background:var(--navy-soft);color:var(--navy);box-shadow:none;font-size:.68rem}.swap-block-tabs button[aria-pressed=true]{background:var(--navy);color:#fff}.swap-board-new,.swap-direct,.swap-activity{display:grid;gap:10px}.swap-offer-card{padding:16px}.swap-offer-card>p{margin:5px 0;color:var(--text-soft);font-size:.74rem}.swap-offer-note{padding:10px;background:#f8f7f5;border-radius:10px}.swap-offer-card>button{margin-top:10px}.swap-empty,.swap-compact-row{padding:15px;color:var(--text-soft);font-size:.78rem}.swap-direct-form{display:grid;gap:12px;padding:16px}.swap-direct-form label{display:grid;gap:5px;color:var(--text-soft);font-size:.73rem}.swap-direct-form strong{color:var(--navy);font-size:.85rem}.swap-direct-form input{width:100%;margin:0}.swap-direct>h3{margin:5px 2px 0;color:var(--navy);font-size:.83rem}.swap-counteroffer{display:grid;gap:9px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.swap-counteroffer p{margin:0;color:var(--text-soft);font-size:.73rem}.swap-counteroffer label{display:flex;align-items:center;gap:9px;padding:9px;border-radius:10px;background:#f8f7f5;font-size:.76rem}.swap-counteroffer input{width:auto;margin:0}.swap-counteroffer small,.swap-compact-row small{display:block;margin-top:3px;color:var(--muted);font-size:.67rem}.swap-compact-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.swap-compact-row strong{color:var(--navy);font-size:.79rem}.swap-compact-row button{width:auto;margin:0;padding:7px 9px;font-size:.68rem}.swap-feedback:empty{display:none}.swap-feedback{margin:0;padding:10px 13px;border-radius:12px;background:var(--mint-soft);color:var(--mint-ink);font-size:.75rem}.swap-optional{padding:12px 16px;font-size:.76rem}.swap-optional summary{color:var(--navy);font-weight:700}.swap-optional form{display:flex;align-items:end;gap:8px;margin-top:12px}.swap-optional input{width:100%}.swap-optional button{width:auto}@media (max-width: 380px){.swap-roster-calendar{padding:11px 7px}.swap-days,.swap-weekdays{gap:3px}.swap-day{min-height:55px}.swap-day strong{font-size:.59rem}.swap-day small{font-size:.49rem}}.row-list{display:flex;flex-direction:column;gap:8px}.row-card{display:flex;align-items:center;gap:14px;width:100%;margin:0;padding:14px 16px;background:var(--card);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:left;color:var(--text);transition:transform .12s ease,box-shadow .15s ease}.row-card:active{transform:scale(.99)}.row-date{flex:0 0 34px;text-align:center}.row-date .d{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1;color:var(--text)}.row-date .m{display:block;font-size:.62rem;font-weight:600;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-top:3px}.row-main{flex:1;min-width:0}.row-title{display:block;font-size:.92rem;font-weight:600;letter-spacing:-.005em}.row-sub{display:block;font-size:.76rem;color:var(--muted);margin-top:3px}.row-chev{color:var(--muted);display:flex;flex:0 0 auto}.field-stack{display:flex;flex-direction:column;gap:10px}.field{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:15px 16px;background:var(--card);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:.9rem;font-weight:500;color:var(--text);text-align:left}.field .field-icon{color:var(--muted);display:flex;flex:0 0 auto}.field .field-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field .field-chev{color:var(--muted);display:flex;flex:0 0 auto}.field select,.field input{flex:1;min-width:0;width:auto;margin:0;padding:0;border:none;border-radius:0;background:none;box-shadow:none;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.field input[type=date]{min-height:22px}.field input::-webkit-date-and-time-value{text-align:left}.field:focus-within{box-shadow:var(--shadow-card),0 0 0 2px var(--sky)}.field input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.field input[type=date]{position:relative}.field input[type=date]:invalid{color:var(--muted)}.roster-jump-field{margin:14px 0 4px}.roster-jump-status{margin:6px 2px 0;font-size:.85rem}.row-flash{animation:row-flash-pulse 1.2s ease}@keyframes row-flash-pulse{0%{background:var(--gold-soft)}to{background:var(--card)}}@media (prefers-reduced-motion: reduce){.row-flash{animation:none;background:var(--gold-soft)}}.more-section{margin-top:26px}.more-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-card);font-size:.9rem;font-weight:600;color:var(--text)}.more-section>summary::-webkit-details-marker{display:none}.more-section>summary .more-chev{color:var(--muted);display:flex;transition:transform .18s ease}.more-section[open]>summary .more-chev{transform:rotate(90deg)}.more-section>.more-body{padding-top:14px}@media (prefers-reduced-motion: reduce){.more-section>summary .more-chev{transition:none}}.field-labeled{align-items:flex-start}.field-labeled .field-icon{margin-top:2px}.field-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.field-label{font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.01em}.field-labeled input[type=time],.field-labeled>.field-col>input[type=number]{min-height:22px}.field-duo{display:flex;gap:8px}.field-num{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.field-labeled .field-duo input{width:100%;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 6px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.field-labeled .field-duo input:focus{outline:none;border-color:var(--accent)}.field-unit{font-size:.62rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.calc-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-md);padding:13px 16px;font-size:.88rem;font-weight:600;line-height:1.4;margin-top:4px}.calc-result{margin-top:22px}.calc-hero{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--navy);color:#fff;border-radius:var(--radius-lg);padding:18px 16px 16px;margin-bottom:20px}.calc-hero-label{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#d8e5f4}.calc-hero-value{margin:5px 0 2px;color:#fff;font-family:var(--font-display);font-size:clamp(2rem,9vw,2.8rem);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.calc-hero-caption{color:#d8e5f4;font-size:.76rem}.calc-timeline{list-style:none;display:grid;gap:10px;margin:0;padding:0}.calc-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:stretch}.calc-step:not(:last-child):after{content:"";position:absolute;z-index:0;left:16px;top:32px;bottom:-11px;width:2px;background:var(--border)}.calc-step-marker{z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;align-self:start;border:2px solid var(--border);background:var(--card);color:var(--muted);font-size:.68rem;font-weight:800;font-variant-numeric:tabular-nums}.calc-step-card{min-width:0;padding:11px 13px;border-radius:var(--radius-md);border:1px solid var(--border);border-left:4px solid transparent;background:var(--card)}.calc-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.calc-step-head strong{min-width:0;display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:750;line-height:1.35}.calc-step-icon{display:inline-flex;flex:0 0 auto}.calc-step-duration{flex:0 0 auto;color:var(--text);font-size:.74rem;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.calc-step-time{margin-top:5px;color:var(--text-soft);font-size:.82rem;font-weight:650;font-variant-numeric:tabular-nums}.calc-step-hint{margin-top:3px;color:#596b85;font-size:.7rem;line-height:1.35}.calc-tab .field-label,.calc-tab .field-unit,.calc-step--margin .calc-step-marker{color:#596b85}.calc-step--rest .calc-step-card{background:var(--mint-soft);border-left-color:var(--mint)}.calc-step--rest .calc-step-head strong{color:var(--mint-ink)}.calc-step--rest .calc-step-marker{border-color:var(--mint);color:var(--mint-ink)}.calc-step--margin .calc-step-card,.calc-step--buffer .calc-step-card{background:var(--navy-soft);border-left-color:#7f8ba0}.calc-step--buffer .calc-step-card{background:#f3efe8;border:1px dashed #8d806c;border-left:4px dashed #8d806c}.calc-step--buffer .calc-step-head strong,.calc-step--buffer .calc-step-marker{color:#6b604f}.calc-step--buffer .calc-step-marker{border-style:dashed;border-color:#8d806c}.calc-step--service .calc-step-card{background:var(--sky);border-left-color:var(--sky-ink)}.calc-step--service .calc-step-head strong,.calc-step--service .calc-step-marker{color:var(--sky-ink)}.calc-step--service .calc-step-marker{border-color:var(--sky-ink)}.calc-summary{color:var(--muted);font-size:.8rem;line-height:1.5;margin:14px 2px 0}@media (max-width: 360px){.calc-step{grid-template-columns:30px minmax(0,1fr);gap:8px}.calc-step:not(:last-child):after{left:14px}.calc-step-marker{width:30px;height:30px;font-size:.64rem}.calc-step-card{padding:10px}.calc-step-head{flex-wrap:wrap;gap:2px 8px}}@media (prefers-reduced-motion: reduce){.calc-timeline *,.calc-timeline *:before,.calc-timeline *:after{scroll-behavior:auto;transition:none;animation:none}}.avatar{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:var(--sky-ink);background:var(--sky);flex:0 0 auto;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:34px;height:34px;font-size:.7rem}.avatar-lg{width:52px;height:52px;font-size:.9rem}.swap-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px}.swap-card+.swap-card{margin-top:8px}.swap-card-head{display:flex;align-items:flex-start;gap:12px}.swap-card-id{flex:1;min-width:0}.swap-card-name{font-size:.92rem;font-weight:600}.swap-card-role{font-size:.76rem;color:var(--muted);margin-top:2px}.swap-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px}.swap-card-detail{font-size:.82rem;color:var(--text-soft)}.swap-card-detail .when{display:block;font-size:.76rem;color:var(--muted);margin-top:3px}.crew-tab{margin:-20px -16px 0}.crew-hero{padding:calc(20px + env(safe-area-inset-top)) 24px 16px;color:var(--text)}.crew-hero .screen-top{margin-bottom:14px}.crew-hero .btn-icon{color:var(--navy)}.crew-hero .btn-icon:hover{background:var(--navy-soft)}.crew-hero .screen-title{color:var(--text)}.crew-hero .screen-kicker{color:var(--text);margin-top:20px;font-weight:600}.crew-hero .screen-lede{color:var(--text-soft);max-width:30ch;margin-bottom:0}.crew-content{position:relative;padding:0 16px 16px}.crew-flight{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px}.crew-flight-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.crew-flight-route{font-family:var(--font-display);font-size:1.3rem;font-weight:500;display:flex;align-items:center;gap:8px}.crew-flight-route svg{color:var(--muted)}.crew-flight-meta{font-size:.8rem;color:var(--muted);margin-top:6px}.crew-divider{height:1px;background:var(--line);margin:16px 0}.crew-grid{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.crew-grid::-webkit-scrollbar{display:none}.crew-person{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;width:66px;text-align:center}.crew-person .name{font-size:.74rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.crew-person .role{font-size:.65rem;color:var(--muted);line-height:1.2}.crew-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px;padding-bottom:2px}.crew-chips::-webkit-scrollbar{display:none}.crew-chip{flex:0 0 auto;width:auto;margin:0;padding:9px 14px;background:var(--card);border:1px solid var(--border);border-radius:999px;color:var(--text-soft);font-size:.78rem;font-weight:600;box-shadow:none}.crew-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.crew-trip-legs{display:grid;gap:8px;margin-top:14px}.crew-leg-select{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin:0;padding:11px 13px;text-align:left;color:var(--text);background:#f5f6fa;border:1px solid var(--border);border-radius:14px;box-shadow:none}.crew-leg-select.active{background:var(--navy-soft);border-color:var(--navy)}.crew-leg-route{display:flex;align-items:center;gap:7px;font-weight:700}.crew-leg-route svg{color:var(--muted)}.crew-leg-meta{color:var(--muted);font-size:.75rem;font-weight:500}.share-box{background:#f2f4f9;border-radius:var(--radius-md);padding:16px;margin-top:18px}.share-box-head{display:flex;align-items:center;gap:10px}.share-box-head .share-lock{color:var(--navy);display:flex}.share-box-title{font-size:.9rem;font-weight:600}.share-box p{font-size:.8rem;color:var(--text-soft);line-height:1.45;margin:8px 0 14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trip-chat-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;margin-bottom:16px}.trip-chat-card.quiet{background:#f1f2f6}.trip-chat-title{display:flex;align-items:flex-start;gap:12px;color:var(--navy)}.trip-chat-title>.ui-icon{margin-top:2px}.trip-chat-title>div{flex:1;min-width:0}.trip-chat-title h2{margin:0 0 4px;font-size:.94rem}.trip-chat-title p{margin:0;color:var(--text-soft);font-size:.8rem}.chat-live{padding:4px 9px;border-radius:999px;color:var(--mint-ink);background:var(--mint-soft);font-size:.7rem;font-weight:700}.chat-trip-picker{display:flex;flex-direction:column;gap:6px;margin-top:15px;color:var(--muted);font-size:.72rem;font-weight:600}.chat-trip-picker select{width:100%;margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--navy);font:inherit;font-size:.8rem}.chat-lock-note,.chat-expiry{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.75rem;margin:12px 0 0;line-height:1.4}.chat-participation{display:flex;align-items:center;gap:10px;padding:13px 0;margin-top:8px;border-top:1px solid var(--line);font-size:.82rem;font-weight:600}.chat-participation input,.chat-setting input{width:19px;height:19px;margin:0;accent-color:var(--navy);flex:0 0 auto}.chat-disabled-note{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.chat-group-row,.chat-person{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;margin:0;padding:9px 0;background:none;color:var(--text);border:0;border-radius:0;box-shadow:none;text-align:left}.chat-group-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chat-group-row>span:nth-child(2),.chat-person>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-group-row strong,.chat-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600}.chat-group-row small,.chat-person small{color:var(--muted);font-size:.72rem}.chat-person:disabled{opacity:.45}.chat-group-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;color:var(--navy);background:var(--sky)}.chat-row-tail{color:var(--muted);display:inline-flex;align-items:center;justify-content:center;min-width:20px}.chat-unread{display:inline-flex;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;color:#fff;background:var(--navy);font-size:.67rem}.chat-direct-head{display:flex;justify-content:space-between;gap:8px;margin:16px 0 4px;font-size:.8rem}.chat-direct-head span{color:var(--muted);font-size:.73rem}.chat-person+.chat-person{border-top:1px solid var(--line)}.chat-panel{margin-top:18px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#faf9f7}.chat-panel-head{display:flex;align-items:center;gap:10px;min-height:64px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--card)}.chat-panel-head>div{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px}.chat-panel-head strong{font-size:.87rem}.chat-panel-head>div>.chat-trip-context{color:var(--navy);font-size:.73rem;font-weight:600}.chat-panel-head span:not(.avatar):not(.chat-group-icon){color:var(--muted);font-size:.69rem}.chat-roster-toggle{display:none}.chat-agenda-open{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;width:auto;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--navy);box-shadow:none;font-size:.72rem;white-space:nowrap}.trip-agenda-link{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;margin:12px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:15px;background:#f7f8fb;color:var(--navy);text-align:left;box-shadow:none}.trip-agenda-link>.ui-icon:first-child{flex:0 0 auto}.trip-agenda-link>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.trip-agenda-link strong{font-size:.84rem}.trip-agenda-link small{color:var(--muted);font-size:.72rem}.chat-back{width:32px;height:40px;padding:0;margin:0;color:var(--navy);background:none;border:0;box-shadow:none}.chat-body{display:flex;min-height:0}.chat-messages{display:flex;flex-direction:column;gap:12px;min-height:180px;max-height:340px;overflow-y:auto;padding:16px 12px}.chat-roster{width:220px;flex:0 0 220px;overflow-y:auto;padding:14px 10px;border-left:1px solid var(--line);background:var(--card)}.chat-roster h2{margin:0 8px 8px;color:var(--navy);font-size:.78rem}.chat-roster-list{display:flex;flex-direction:column}.chat-roster-member{display:flex;align-items:center;gap:9px;width:100%;min-height:54px;padding:7px 6px;margin:0;border:0;border-radius:10px;box-shadow:none;background:transparent;color:var(--text);text-align:left}button.chat-roster-member{cursor:pointer}button.chat-roster-member:hover,button.chat-roster-member:focus-visible{background:var(--bg)}.chat-roster-member>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.chat-roster-member strong{overflow:hidden;color:var(--text);font-size:.76rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chat-roster-member small{color:var(--muted);font-size:.66rem}.chat-roster-self{cursor:default}.chat-empty{align-self:center;text-align:center;color:var(--muted);font-size:.82rem;margin:auto}.chat-empty p{margin:8px 0 0}.chat-message{display:flex;align-items:flex-end;gap:7px;max-width:90%}.chat-message.mine{align-self:flex-end}.chat-bubble{padding:9px 11px;background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;font-size:.81rem;line-height:1.4;overflow-wrap:anywhere}.chat-message.mine .chat-bubble{color:#fff;background:var(--navy);border-color:var(--navy);border-radius:14px 14px 4px}.chat-sender{display:block;color:var(--navy-700);font-size:.7rem;font-weight:700;margin-bottom:3px}.chat-bubble p{margin:0;white-space:pre-wrap}.chat-bubble time{display:block;margin-top:4px;color:var(--muted);font-size:.64rem;text-align:right}.chat-message.mine .chat-bubble time{color:#ffffff9e}.chat-compose{position:relative;display:flex;gap:8px;align-items:center;padding:10px;border-top:1px solid var(--line);background:var(--card)}.chat-compose input{flex:1;min-width:0;margin:0;padding:11px 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font:inherit;font-size:.85rem}.chat-compose button{width:42px;height:42px;padding:0;margin:0;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff}.chat-compose .chat-emoji-toggle{flex:0 0 42px;border:1px solid var(--border);background:var(--bg);color:var(--navy);font-size:1.2rem}.chat-emoji-picker{position:absolute;z-index:5;bottom:calc(100% + 8px);left:12px;display:grid;grid-template-columns:repeat(6,40px);gap:4px;padding:8px;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow-raised)}.chat-emoji-picker[hidden]{display:none}.chat-compose .chat-emoji{width:40px;height:40px;border-radius:9px;background:transparent;color:var(--text);font-size:1.2rem}.chat-compose .chat-emoji:hover,.chat-compose .chat-emoji:focus-visible{background:var(--bg)}.chat-error{color:var(--danger);font-size:.8rem}.trip-agenda-screen{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);background:var(--bg);color:var(--text)}.trip-agenda-header{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-height:76px;padding:8px 18px;border-bottom:1px solid var(--line);background:var(--card)}.trip-agenda-header .btn-icon{flex:0 0 auto;width:42px;height:42px;margin:0}.trip-agenda-header>div{flex:1;min-width:0}.trip-agenda-header p{margin:0 0 4px;color:var(--muted);font-size:.76rem;font-weight:600}.trip-agenda-header h1{overflow:hidden;margin:0;color:var(--navy);font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.trip-agenda-header-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--navy-soft);color:var(--navy)}.trip-agenda-content{width:min(100%,760px);flex:1;overflow-y:auto;align-self:center;padding:18px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}.trip-agenda-intro{margin:0 0 14px;color:var(--text-soft);font-size:.88rem}.trip-agenda-create{overflow:hidden;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-card)}.trip-agenda-create>summary{display:flex;align-items:center;gap:9px;min-height:54px;padding:12px 16px;color:var(--navy);font-size:.9rem;font-weight:700;cursor:pointer;list-style:none}.trip-agenda-create>summary::-webkit-details-marker{display:none}.trip-agenda-create>summary span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:1.2rem;font-weight:400}.trip-agenda-create form{display:grid;gap:13px;padding:0 16px 16px}.trip-agenda-create label{display:grid;gap:6px;color:var(--text-soft);font-size:.78rem;font-weight:600}.trip-agenda-create input,.trip-agenda-create textarea{width:100%;min-height:46px;margin:0;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.trip-agenda-create textarea{min-height:78px;resize:vertical}.trip-agenda-create .btn-primary{width:100%;min-height:48px;margin:0}.trip-agenda-time-note{margin:-5px 0 0;color:var(--muted);font-size:.7rem;line-height:1.4}.trip-agenda-status{padding:18px;text-align:center;color:var(--muted)}.trip-agenda-refresh{display:block;width:auto;min-height:40px;margin:0 0 12px auto;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--navy);box-shadow:none;font-size:.76rem}.trip-agenda-error{padding:14px;border-radius:14px;background:#fff2f2;color:var(--danger)}.trip-agenda-error button{width:auto;min-height:40px;margin:4px 0 0;padding:0 14px}.trip-agenda-empty{display:grid;justify-items:center;padding:36px 20px;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);text-align:center}.trip-agenda-empty h2{margin:12px 0 5px;color:var(--navy);font-size:1rem}.trip-agenda-empty p{max-width:34ch;margin:0;font-size:.83rem;line-height:1.5}.trip-agenda-events{display:grid;gap:12px}.trip-event-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-card)}.trip-event-card.is-cancelled{opacity:.7}.trip-event-top{display:flex;justify-content:space-between;gap:12px}.trip-event-top time{color:var(--muted);font-size:.74rem;font-weight:600}.trip-event-top h3{margin:5px 0 0;color:var(--navy);font-size:1.02rem;overflow-wrap:anywhere}.trip-event-organizer,.trip-event-cancelled,.trip-event-past{flex:0 0 auto;align-self:flex-start;padding:5px 8px;border-radius:999px;background:var(--navy-soft);color:var(--navy);font-size:.66rem;font-weight:600}.trip-event-cancelled,.trip-event-past{background:#f1f2f6;color:var(--muted)}.trip-event-location,.trip-event-details{display:flex;align-items:flex-start;gap:7px;margin:11px 0 0;color:var(--text-soft);font-size:.83rem;line-height:1.45;overflow-wrap:anywhere}.trip-event-location .ui-icon{flex:0 0 auto}.trip-event-details{white-space:pre-wrap}.trip-event-attendance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.trip-event-attendance>div{min-width:0}.trip-event-attendance strong{display:flex;align-items:center;gap:5px;color:var(--text);font-size:.76rem}.trip-event-names{margin:5px 0 0;color:var(--muted);font-size:.71rem;line-height:1.45;overflow-wrap:anywhere}.trip-event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.trip-event-actions button{width:auto;min-height:42px;margin:0;padding:0 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-soft);box-shadow:none;font-size:.78rem}.trip-event-actions button.active{border-color:var(--navy);background:var(--navy);color:#fff}.trip-event-actions button.trip-event-cancel{margin-left:auto;color:var(--danger)}.trip-agenda-cancelled{margin-top:18px}.trip-agenda-cancelled>summary{padding:10px 2px;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer}.app-authenticated>main:has(.crew-chat-screen){width:100%;max-width:none;min-height:100vh;min-height:100dvh;padding:0}.app-authenticated>main:has(.crew-chat-screen) .notifications-panel,.app-authenticated:has(.crew-chat-screen)>.tab-bar{display:none}.tab-panel:has(.crew-chat-screen){min-height:100vh;min-height:100dvh}.crew-tab.crew-chat-screen{display:flex;flex-direction:column;width:min(100%,760px);height:100vh;height:100dvh;min-height:0;margin:0 auto}.crew-chat-content{display:flex;flex:1;min-height:0;padding:0}.trip-chat-fullscreen{display:flex;flex:1;min-height:0}.crew-chat-screen .chat-panel{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}.crew-chat-screen .chat-panel-head{min-height:76px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px}.crew-chat-screen .chat-body{flex:1;overflow:hidden}.crew-chat-screen .chat-messages{flex:1;min-width:0}.crew-chat-screen .chat-roster{width:235px;flex-basis:235px;padding:18px 12px}.crew-chat-screen .chat-roster h2{margin:0 8px 12px;font-size:.86rem}.crew-chat-screen .chat-roster-member{min-height:60px}.crew-chat-screen .chat-panel-head strong{font-size:1rem}.crew-chat-screen .chat-panel-head span:not(.avatar):not(.chat-group-icon){font-size:.74rem}.crew-chat-screen .chat-panel-head>div>.chat-trip-context{color:var(--navy);font-size:.78rem;font-weight:600}.crew-chat-screen .chat-messages{flex:1;min-height:0;max-height:none;padding:20px 18px;overscroll-behavior:contain}.crew-chat-screen .chat-compose{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.crew-chat-screen .chat-compose input{min-height:46px}@media (max-width: 650px){.crew-chat-screen .chat-panel-head{display:grid;grid-template-columns:30px 34px minmax(0,1fr) auto auto;grid-template-rows:minmax(48px,auto) 44px;align-content:center;gap:5px 6px;min-height:106px;padding:calc(7px + env(safe-area-inset-top)) 8px 7px}.crew-chat-screen .chat-panel-head .chat-back{grid-column:1;grid-row:1}.crew-chat-screen .chat-panel-head .chat-group-icon,.crew-chat-screen .chat-panel-head .avatar{grid-column:2;grid-row:1}.crew-chat-screen .chat-panel-head>div{grid-column:3 / 6;grid-row:1;min-width:0;gap:2px}.crew-chat-screen .chat-panel-head>div>.chat-trip-context{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-chat-screen .chat-panel-head strong{font-size:.8rem}.crew-chat-screen .chat-panel-head>div>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-chat-screen .chat-agenda-open{grid-column:1 / 3;grid-row:2;justify-self:start;width:auto;min-height:44px;padding:0 9px;font-size:.7rem}.crew-chat-screen .chat-roster-toggle{grid-column:3 / 6;grid-row:2;justify-self:end;display:inline-flex;align-items:center;gap:5px;width:auto;min-height:44px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--navy);box-shadow:none;font-size:.7rem;white-space:nowrap}.crew-chat-screen .chat-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.crew-chat-screen .chat-roster{display:none;width:auto;max-height:32vh;padding:10px 12px;border:0;border-bottom:1px solid var(--line)}.crew-chat-screen .chat-body.roster-open .chat-roster{grid-row:1}.crew-chat-screen .chat-body.roster-open .chat-messages{grid-row:2}.crew-chat-screen .chat-body.roster-open{grid-template-rows:auto minmax(0,1fr)}.crew-chat-screen .chat-body.roster-open .chat-roster{display:block}.crew-chat-screen .chat-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.crew-chat-screen .chat-roster-member{min-height:48px}.trip-agenda-content{padding-right:14px;padding-left:14px}.trip-event-card{padding:14px}.trip-event-top{flex-direction:column;gap:7px}.trip-event-organizer,.trip-event-cancelled{align-self:flex-start}.trip-event-attendance{grid-template-columns:1fr}}.chat-settings{padding:4px 16px}.chat-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:12px 0}.chat-setting+.chat-setting{border-top:1px solid var(--line)}.chat-setting span{display:flex;flex-direction:column;gap:4px}.chat-setting strong{font-size:.86rem;font-weight:600}.chat-setting small{color:var(--muted);font-size:.75rem;line-height:1.35}.chat-settings .muted{margin:4px 0 10px;font-size:.76rem}.chat-settings-status{min-height:1em;margin:0 0 8px;color:var(--mint-ink);font-size:.75rem}.chat-banner{position:fixed;left:max(12px,calc((100vw - 456px)/2));right:max(12px,calc((100vw - 456px)/2));top:calc(12px + env(safe-area-inset-top));z-index:100;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-raised);text-align:left}.chat-banner>span{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-banner strong{font-size:.82rem}.chat-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.76rem}.empty-state{text-align:center;padding:30px 18px;color:var(--muted);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.empty-state .empty-icon{display:flex;justify-content:center;color:var(--border);margin-bottom:10px}.empty-state p{margin:0;font-size:.88rem;line-height:1.5}.skeleton{background:linear-gradient(90deg,var(--line) 25%,#f8f4ef 37%,var(--line) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-md)}.skeleton-row{height:58px;margin-bottom:8px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;gap:2px;padding:10px 6px calc(10px + env(safe-area-inset-bottom));background:#fffffff0;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--line)}@media (min-width: 720px){.tab-bar{left:50%;right:auto;transform:translate(-50%);width:100%;max-width:640px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 30px #17253f12}}.tab-btn{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:4px;width:auto;margin-top:0;padding:4px 2px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font-size:.64rem;font-weight:500;box-shadow:none;white-space:nowrap;transition:color .18s ease}.tab-btn .tab-icon{display:flex;transition:transform .18s ease}.tab-btn.active{color:var(--navy);font-weight:600}.tab-btn.active .tab-icon{transform:translateY(-1px)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17253f4d;z-index:50;animation:fade-in .18s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--card);border-radius:24px 24px 0 0;padding:10px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #17253f29;animation:slide-up .24s cubic-bezier(.2,.8,.2,1) both;max-width:480px;margin:0 auto}@media (min-width: 720px){.sheet{max-width:640px}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sheet,.sheet-backdrop{animation:none}}.sheet-grabber{width:38px;height:4px;border-radius:2px;background:var(--border);margin:4px auto 14px}.sheet-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 4px;margin:0;background:none;border:none;box-shadow:none;color:var(--text);font-size:.95rem;font-weight:500;text-align:left;border-bottom:1px solid var(--line)}.sheet-item:last-child{border-bottom:none}.sheet-item .sheet-item-icon{display:flex;color:var(--muted);flex:0 0 auto}.sheet-item.danger,.sheet-item.danger .sheet-item-icon{color:var(--danger)}.sheet-item-badge{margin-left:auto;flex:0 0 auto;min-width:18px;padding:2px 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem;font-weight:700;text-align:center}.tab-panel{min-height:40vh;animation:panel-in .2s ease both}@keyframes panel-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tab-panel{animation:none}}:focus-visible{outline:2px solid var(--sky-ink);outline-offset:2px;border-radius:6px}.calendar-nav strong,.trip-calendar-nav strong{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.calendar-nav .calendar-today,.trip-calendar-nav .calendar-today{width:auto;height:28px;padding:0 10px;border-radius:14px;font:600 .75rem inherit;font-size:.75rem;background:#f1f2f4;color:var(--navy)}.calendar-cell.today,.trip-calendar-day.today,.trip-calendar-day.today.selected{outline:2px solid #d32935;outline-offset:-2px;box-shadow:inset 0 0 0 2px #d32935}.fr-base-time{margin-top:5px;font-size:.78rem;color:var(--navy)}.fr-time-difference{margin-top:3px;font-size:.7rem;color:var(--muted)}.roster-sync-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font-size:12px;color:var(--muted,#6b7280)}.roster-sync-status button{font-size:12px;padding:6px 10px}.roster-offline [data-roster-add],.roster-offline [data-roster-add-day],.roster-offline [data-roster-edit],.roster-offline [data-roster-remove],.roster-offline [data-roster-undo]{display:none}.crew-sections{display:flex;gap:6px;padding:4px;margin:12px 0 20px;background:#f1f2f5;border-radius:14px}.crew-sections button{flex:1;border:0;border-radius:11px;padding:10px 16px;background:transparent;color:#697187}.crew-sections button[aria-pressed=true]{background:#fff;color:#17233d;box-shadow:0 2px 6px #17233d12}.friend-panel{margin:16px 0}.friend-panel h2{font-size:18px;margin-top:22px}.friend-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin:12px 0}.friend-row small{display:block;color:#747d91;margin-top:5px}.friend-actions{display:flex;flex-wrap:wrap;gap:8px}.friend-panel form{display:grid;gap:14px}.friend-panel label{display:grid;gap:6px}.friend-panel input,.friend-panel select{width:100%;min-height:44px;border:1px solid #d9dce4;border-radius:10px;padding:10px;background:#fff;color:#17233d}.friend-calendar{margin-top:24px}.roster-readonly [data-roster-add],.roster-readonly [data-roster-add-day],.roster-readonly [data-roster-edit],.roster-readonly [data-roster-remove],.roster-readonly [data-roster-undo]{display:none}@media (max-width:600px){.friend-row{align-items:flex-start;flex-direction:column}.friend-share-launch{font-size:12px;padding:8px 10px}}.friend-presence{display:block;margin-top:6px;font-size:16px;font-weight:600;color:#253d59}.friend-row{padding:14px 18px;margin:8px 0}.friend-actions button{width:auto;min-width:0;min-height:32px;padding:7px 12px;margin:0;font-size:12px}@media (max-width:600px){.friend-row{flex-direction:row;align-items:center}.friend-actions{flex-direction:column;align-items:flex-end}}.full-calendar-toggle,.full-calendar-toggle>.card,.home-calendar,.roster-month-root,.roster-editor-card,.friend-calendar,.roster-review-calendar{min-width:0;max-width:100%}.calendar-nav,.trip-calendar-nav{display:grid;grid-template-columns:36px minmax(0,1fr) auto 36px;align-items:center;gap:6px}.calendar-nav strong,.trip-calendar-nav strong{min-width:0;font-size:clamp(.82rem,3.8vw,1.1rem);line-height:1.2;text-align:center;overflow-wrap:anywhere}.calendar-nav>button,.trip-calendar-nav>button{width:34px;min-width:0;height:34px;min-height:34px;padding:0;margin:0}.calendar-nav>.calendar-today,.trip-calendar-nav>.calendar-today{width:auto;padding:0 9px;font-size:.72rem}.calendar-grid,.calendar-weekdays,.trip-calendar-grid,.trip-calendar-weekdays{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell,.trip-day-segment{min-width:0}.trip-day-segment.calendar-route{display:flex;align-items:center;justify-content:center;gap:2px}.calendar-flight-estimate{min-width:0;white-space:normal;overflow-wrap:anywhere}@media (max-width:520px){.full-calendar-toggle>.card{padding:10px}.home-calendar:has(.trip-calendar-grid),.roster-review-calendar{padding:6px}.trip-calendar-day,.roster-review-calendar .roster-review-day{min-height:76px}.trip-day-segment.calendar-route{flex-direction:column;gap:0;padding:3px 0;font-size:.61rem;line-height:1.15;white-space:normal}.calendar-route-arrow{transform:rotate(90deg);font-size:.5rem;line-height:1}.trip-day-segment:not(.calendar-route){font-size:.6rem}.calendar-flight-estimate{font-size:.72rem}.roster-editor-head,.roster-review-event,.roster-sync-status{flex-wrap:wrap}}@media (max-width:520px){.calendar-route-arrow{display:none}}.family-sync{max-width:720px;margin:20px auto 32px;padding:28px;background:#fff;color:#19263f;border:1px solid #e8e4dd;border-radius:24px;box-shadow:0 8px 28px #19263f0a}.family-sync-header{display:flex;align-items:center;gap:14px}.family-sync-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;background:#eef2f8;border-radius:15px;color:#233956}.family-sync-header h2{margin:0;font-size:1.35rem}.family-sync-header p{margin:4px 0 0;color:#526078;font-size:.9rem}.family-sync-intro{margin:22px 0;line-height:1.55}.family-sync-intro>p:first-child{margin:0 0 14px;color:#33435a}.family-readonly{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;background:#edf5ef;color:#285c43;font-size:.78rem;font-weight:600}.family-sync .family-privacy{margin:10px 0 0;color:#526078;font-size:.82rem}.family-empty{padding:16px 18px;background:#f4f6f9;border-radius:12px;margin:0 0 24px}.family-empty strong{font-size:.9rem}.family-empty p{margin:4px 0 0;font-size:.85rem;line-height:1.5;color:#526078}.family-sync .family-create-card{box-shadow:none;border:0;border-top:1px solid #e5e8ed;border-radius:0;padding:22px 0 0;margin:0}.family-create-card h3{margin:0 0 18px;font-size:1rem}.family-sync label{color:#33435a;margin-top:16px;font-size:.85rem}.family-sync input{min-height:46px;background:#fff;color:#19263f;border-color:#cdd4df}.family-sync input::placeholder{color:#69758a}.family-sync .muted{color:#526078}.family-sync .family-share-status:empty{display:none}.family-sync form button[type=submit]{margin-top:20px;min-height:44px}@media (max-width: 540px){.family-sync{margin:12px 0 24px;padding:20px 18px;border-radius:20px}.family-sync-header h2{font-size:1.2rem}.family-sync-intro{margin:18px 0}.family-sync form button[type=submit]{width:100%}.family-sync .note-row-header{flex-wrap:wrap}.family-sync .share-link-row{min-width:0}}.world2fly-sync-status,.calendar-sync-feedback{margin:4px 12px 12px;padding:10px 14px;background:#fff;color:#33435a;border-radius:12px;font-size:.8rem;line-height:1.5}.world2fly-sync-status p{margin:6px 0 0;color:#8a4e13}.swap-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;background:#fff;border:1px solid var(--border);border-radius:18px}.swap-view-tabs button{margin:0;padding:12px 8px;min-height:48px;border-radius:13px;background:transparent;color:var(--navy);box-shadow:none;font-size:.85rem;line-height:1.3}.swap-view-tabs button[aria-pressed=true]{background:var(--navy);color:#fff}.swap-step{font-weight:700;color:var(--navy);margin:18px 0 12px}.swap-private-option{margin-top:16px;padding:16px;background:#fff;border:1px solid var(--border);border-radius:18px}.swap-private-option summary{cursor:pointer;font-weight:600}.swap-redesign section,.swap-roster-calendar{min-width:0}.swap-roster-calendar .trip-calendar-nav{display:grid}.swap-header p{max-width:48em}@media (max-width:480px){.swap-view-tabs button{font-size:.76rem;padding:10px 4px}}.swap-wanted{margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:14px;display:flex;flex-wrap:wrap;gap:12px}.swap-wanted legend{font-weight:700;padding:0 5px}.swap-wanted label{display:flex;align-items:center;gap:6px;margin:0;color:var(--navy)}.swap-wanted input{width:18px;height:18px;margin:0}.swap-wanted small{flex-basis:100%;color:var(--text-soft)}.swap-wanted-summary{color:var(--navy)}.home-roster{margin-top:24px;min-width:0}.home-roster>.section-head{margin:0 0 16px;align-items:center;gap:12px}.home-roster-hint{font-size:.78rem;text-align:right}.calendar-note-preview{flex:0 0 auto;display:block;max-width:100%;padding:3px 2px 1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4b5367;background:#fffdf5;font-size:9px;line-height:1.25;text-align:left}.home-roster .calendar-day-detail{padding-top:18px}.home-roster .notes-section>h2{font-size:.95rem}.home-roster .notes-section>.card{padding:12px;box-shadow:none}.day-note-composer>summary{display:inline-flex;cursor:pointer;list-style:none;margin-top:8px}.day-note-composer>summary::-webkit-details-marker{display:none}.home-preview-label{margin:4px 12px 14px;font-size:.72rem;color:#59647a}@media (max-width:480px){.home-roster{padding:14px 10px}.home-roster>.section-head{align-items:flex-start}.home-roster-hint{max-width:155px;font-size:.7rem}.home-roster .calendar-day-detail>h2{font-size:1.05rem}.calendar-note-preview{font-size:8px}}.flight-card-compact{padding:12px 16px}.flight-card-compact .flight-card-top{min-height:0;margin-bottom:5px}.flight-card-compact .flight-route{grid-template-columns:minmax(0,1fr) minmax(62px,.7fr) minmax(0,1fr);gap:8px}.flight-card-compact .fr-code{font-size:1.45rem}.flight-card-compact .fr-city{font-size:.7rem}.flight-card-compact .fr-time{margin-top:7px;font-size:1.1rem}.flight-card-compact .fr-mid{padding-top:7px;gap:4px;text-align:center}.flight-time-details{border-top:1px solid var(--border);margin-top:10px;padding-top:7px}.flight-time-details>summary{color:#687286;font-size:.7rem;cursor:pointer}.flight-time-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:10px}.flight-time-details-grid>div:last-child{text-align:right}.flight-time-details-grid strong{font-size:.72rem}.flight-time-details-grid .fr-time{display:none}.flight-time-details-grid .fr-base-time,.flight-time-details-grid .fr-time-difference{display:block}.home-top-compact{margin:4px 0 12px;align-items:center}.home-top-compact .greeting{font-family:var(--font-body);font-size:1.25rem;line-height:1.25;margin:0}.home-top-compact .header-avatar-btn,.home-top-compact .header-avatar{width:36px;height:36px}.home-top-compact+.tab-panel .home-roster{margin-top:0}.home-roster{padding:12px}.home-roster .home-calendar{padding:0;border:0;box-shadow:none;background:transparent}.home-roster>.section-head{margin-bottom:12px}.home-roster>.section-head h2{font-size:1rem}.home-preview-label{font-size:.65rem;margin-bottom:5px}@media (max-width:480px){#app.app-authenticated>main{padding-top:8px;padding-left:10px;padding-right:10px}.home-roster .trip-calendar-day{min-height:64px}.home-roster-hint{max-width:140px;font-size:.65rem}.home-roster .calendar-day-detail{padding-top:12px}.roster-sync-status{padding:3px 0;flex-wrap:nowrap;gap:5px;font-size:10px}.roster-sync-status button{flex:0 0 auto;font-size:10px}}.home-today-flights{display:grid;gap:10px;margin:8px 0 14px}.flight-arrival-day{display:inline-block;margin-left:4px;vertical-align:super;font-family:var(--font-body);font-size:.65em;font-weight:700;color:var(--navy);line-height:1}.roster-management-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 14px;margin-bottom:12px}.roster-management-tabs button{flex:0 0 auto;width:auto;margin:0;padding:10px 12px;border-radius:20px;background:#fff;color:var(--navy);box-shadow:none;font-size:.78rem}.roster-management-tabs button[aria-pressed=true]{background:var(--navy);color:#fff}.appearance-row{display:grid;grid-template-columns:1fr 72px 100px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.appearance-row label{margin:0;font-size:.72rem}.appearance-row select{padding:8px 4px}.appearance-row input[type=color]{height:38px;padding:3px;margin:5px 0 0}.appearance-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.calendar-custom-emoji{font-size:12px;line-height:14px}.roster-month-picker{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;margin:10px 0}.roster-month-picker input{width:auto;margin:0}.roster-overview-eyebrow{font-size:.65rem;color:#6d7588;letter-spacing:.1em;font-weight:700;margin:16px 0 8px}.roster-overview>h2{margin:0 0 16px;font-family:var(--font-display);font-size:1.7rem;font-weight:500}.roster-management-cards{display:grid;gap:10px}.roster-management-link{display:grid;grid-template-columns:38px 1fr 12px;align-items:center;gap:12px;text-align:left;width:100%;padding:18px 14px;margin:0;border:1px solid #ede9e3;border-radius:18px;background:#fff;color:var(--navy);box-shadow:0 4px 14px #17243f06}.roster-management-link strong{display:block;font-size:.9rem}.roster-management-link small{display:block;margin-top:5px;color:#687286;font-size:.74rem;line-height:1.4;font-weight:400}.management-icon{background:#f1f3f8;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:20px}.roster-privacy-note{font-size:.72rem;line-height:1.5;padding:6px}.home-pending{margin:22px 0}.home-pending .section-head{margin-bottom:12px}.home-pending h2{font-size:1rem;display:flex;align-items:center;gap:8px}.pending-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;background:#e8edf7;color:#35476f;border-radius:50%;font-size:.7rem}.pending-list{display:grid;gap:10px}.pending-card{display:grid;grid-template-columns:30px 1fr 6px;gap:10px;padding:16px 14px;background:#fff;border:1px solid #ede9e3;border-radius:18px;box-shadow:0 4px 14px #17243f06}.pending-icon{font-size:20px}.pending-card h3{margin:0;font-size:.85rem;line-height:1.4}.pending-card p{color:#687286;font-size:.75rem;line-height:1.45;margin:5px 0 12px}.pending-actions{display:flex;align-items:center;gap:12px}.pending-actions button{width:auto;margin:0;padding:7px 11px;font-size:.75rem}.pending-unread{height:6px;width:6px;margin-top:5px;border-radius:50%;background:#536e9f}.mockup-home .calendar-day-detail{display:none}.mockup-home .calendar-flight-estimate{font-size:.68rem}.mockup-home .calendar-flight-estimate details{display:none}.mockup-bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(100%,640px);display:grid;grid-template-columns:repeat(5,1fr);background:#fffffff5;border-top:1px solid #ece9e4;z-index:30;padding:9px 5px 16px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mockup-bottom-nav a,.mockup-nav-disabled{display:flex;flex-direction:column;align-items:center;gap:4px;color:#7d8495;text-decoration:none;font-size:.64rem}.mockup-bottom-nav a[aria-current]{color:#17243f;font-weight:700}.mockup-bottom-nav>*>span{font-size:21px;line-height:22px}.mockup-pending-status{font-size:.75rem;color:#687286}.roster-management-tabs.overview{display:none}.roster-management .screen-lede{color:#515c70;font-size:.85rem;line-height:1.5}.roster-management .screen-title{margin-bottom:8px}.mockup-capture .mockup-bottom-nav{position:static;transform:none;margin:0 auto}.mockup-capture>main{padding-bottom:20px!important}.floating-notifications{position:fixed;right:max(16px,calc((100vw - 640px)/2 + 16px));bottom:calc(86px + env(safe-area-inset-bottom));z-index:45;display:grid;place-items:center;width:48px;height:48px;margin:0;padding:0;border:2px solid white;border-radius:50%;background:#17243f;color:#fff;box-shadow:0 4px 18px #17243f40}.floating-notifications-count{position:absolute;right:-4px;top:-4px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 4px;border:2px solid white;border-radius:14px;background:#d3324d;color:#fff;font-size:10px;font-weight:700}.floating-notifications:focus-visible{outline:3px solid #7a9cd0;outline-offset:3px}.pending-dialog{width:min(94vw,440px);max-height:82dvh;overflow-y:auto;border:0;padding:18px 12px 12px;border-radius:22px;background:#f8f6f3;color:var(--navy);box-shadow:0 14px 50px #17243f40}.pending-dialog::backdrop{background:#17243f66}.pending-dialog .home-pending{margin:12px 0}.pending-dialog .section-head{padding-right:32px}.pending-dialog .home-pending h2{font-size:.95rem}.pending-dialog-close{position:absolute;right:10px;top:10px;width:30px;height:30px;margin:0;padding:0;border-radius:50%;box-shadow:none}@media (prefers-reduced-motion:no-preference){.floating-notifications{transition:transform .15s}.floating-notifications:hover{transform:translateY(-2px)}}.roster-calendar-only .roster-editor-head,.roster-calendar-only .roster-review-period,.roster-calendar-only .roster-review-day-detail{display:none}.roster-overview-calendar .roster-editor-card{padding:12px}.roster-overview-calendar .roster-month-picker{margin:0 0 12px}.roster-overview-calendar+.roster-overview{margin-top:22px}.roster-overview-calendar .roster-review-calendar{padding:0;border:0;box-shadow:none;background:transparent}input,button,select,textarea{font-family:var(--font-body)}.tripu-friends{max-width:760px;margin:auto;padding:0 12px 28px}.tripu-friends .card,.friend-permissions{background:#fff;border:1px solid #e8e3dc;border-radius:22px;padding:20px;margin:14px 0;color:#192640}.tripu-friends h2{font-size:1.15rem}.friend-principles p{margin:8px 0;font-size:.9rem;line-height:1.5}.tripu-friends form{display:grid;gap:12px}.tripu-friends label{display:grid;gap:7px}.tripu-friends input,.tripu-friends select{width:100%;min-width:0;padding:12px;border:1px solid #d8dce5;border-radius:12px;font:inherit}.friend-access-tags{display:grid;gap:6px;margin:12px 0;font-size:.85rem;color:#526079}.friend-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.tripu-known-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #eee}.frequent-toggle{width:100%;white-space:normal}.frequent-toggle[aria-pressed=true]{background:#fff2d7;border-color:#c48b24;color:#714c08}.tripu-friends-status{color:#526079;overflow-wrap:anywhere}.tripu-friends .section-head{flex-wrap:wrap;gap:8px}.tripu-friend-row h3{margin:0}.tripu-friends button{max-width:100%}.airport-swap-board{margin:18px 0 24px;border:1px solid #e3e5ec;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 8px 26px #24335408;color:#1b2945}.airport-board-heading{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;background:linear-gradient(110deg,#edf1f9,#f3f0f8 65%,#faf6f0)}.airport-board-sign{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#dce5f3;color:#344f7b;font-size:25px;font-weight:800}.airport-board-heading p{margin:0 0 3px;font-size:.61rem;letter-spacing:.16em;font-weight:800;color:#64728a}.airport-board-heading h2{margin:0;font-size:1.4rem;line-height:1.2;font-weight:800}.airport-board-base{margin-left:auto;flex-shrink:0;padding:7px 10px;border:1px solid #dce1eb;border-radius:9px;font-size:.7rem;color:#53627e;background:#ffffff91}.airport-board-base strong{display:block;color:#233957;letter-spacing:.08em;font-size:.85rem}.airport-board-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 20px;font-size:.7rem;color:#65738b;border-bottom:1px solid #e5e9ef}.airport-board-meta span:first-child{display:flex;align-items:center;gap:6px}.airport-board-meta i{width:6px;height:6px;border-radius:50%;background:#79a390}.airport-board-columns,.airport-board-offer>summary{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(110px,.55fr) 105px;gap:14px;align-items:center;padding:0 20px}.airport-board-columns{min-height:36px;font-size:.61rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#738096;background:#fafbfe}.airport-board-offer{border-top:1px solid #e6eaf1}.airport-board-offer:nth-child(2n){background:#fafbfe}.airport-board-offer>summary{list-style:none;cursor:pointer;min-height:100px;position:relative}.airport-board-offer>summary::-webkit-details-marker{display:none}.airport-board-offer>summary:hover{background:#f0f3fa}.airport-board-offer>summary:focus-visible{outline:2px solid #6987af;outline-offset:-3px}.airport-board-date{display:flex;flex-direction:column;gap:3px;align-items:flex-start;font-variant-numeric:tabular-nums}.airport-board-date strong{font-size:1.15rem;font-weight:800;letter-spacing:-.035em;line-height:1.1}.airport-board-date strong span{font-size:.85em}.airport-board-date>small{color:#69768d;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.airport-board-service{display:flex;min-width:0;flex-direction:column;gap:4px}.airport-board-service>strong{font-size:1rem;font-weight:800;letter-spacing:.02em;overflow-wrap:anywhere;line-height:1.4}.airport-board-type{font-size:.6rem;color:#69778f;letter-spacing:.04em}.airport-board-service>small{font-size:.67rem;color:#6e7b90}.airport-board-standby .airport-board-type{color:#986122}.airport-board-reserve .airport-board-type{color:#8b762c}.airport-board-wanted{font-size:.75rem;line-height:1.5;color:#415473;font-weight:700;overflow-wrap:anywhere}.airport-board-wanted>small{display:none}.airport-board-state{display:flex;align-items:center;justify-content:space-between;gap:8px}.airport-board-state>span{display:inline-block;border-radius:6px;background:#e9f2ed;color:#426f59;padding:5px 7px;font-size:.62rem;font-weight:700}.airport-board-state b{font-size:16px;color:#76849a;font-weight:400}.airport-board-offer[open] .airport-board-state b{transform:rotate(180deg)}.airport-board-offer[open]>summary{background:#edf2fa}.airport-board-detail{padding:6px 18px 18px;background:#f5f7fb}.airport-board-detail .swap-offer-card,.airport-board-detail .swap-selection{margin:0;box-shadow:none;background:#fff}.airport-board-footer{padding:14px 20px;border-top:1px solid #e6eaf1;background:#fafbfe;font-size:.65rem;line-height:1.5;color:#758096}.airport-board-empty{padding:30px 24px;text-align:center}.airport-board-empty>span{display:grid;place-items:center;margin:0 auto 12px;width:45px;height:45px;border-radius:14px;background:#edf1f8;font-size:26px;color:#7388ab}.airport-board-empty h3{font-size:1rem;margin:0 0 8px}.airport-board-empty p{font-size:.8rem;line-height:1.6;color:#64718a;max-width:290px;margin:0 auto 18px}.airport-board-empty button{width:auto;margin:0}.mockup-swaps>main{max-width:760px;margin:auto;padding:16px 12px 100px}.mockup-swaps .swap-header{margin-bottom:18px}.mockup-swaps .home-preview-label{font-size:.65rem;color:#64718a;margin:0 0 18px}.mockup-swaps .airport-board-detail>p{font-size:.8rem}@media (max-width:520px){.airport-swap-board{border-radius:20px}.airport-board-heading{padding:18px 14px;gap:9px}.airport-board-heading h2{font-size:1.13rem}.airport-board-sign{width:34px;height:34px;border-radius:10px;font-size:23px}.airport-board-heading p{font-size:.54rem;letter-spacing:.12em}.airport-board-base{padding:5px 7px;font-size:.58rem}.airport-board-base strong{font-size:.73rem}.airport-board-meta{padding:10px 14px;font-size:.59rem}.airport-board-columns,.airport-board-offer>summary{grid-template-columns:45px minmax(0,1fr) 77px;gap:10px;padding-left:14px;padding-right:14px}.airport-board-columns{font-size:.53rem;letter-spacing:.04em;min-height:31px}.airport-board-columns>span:nth-child(3){display:none}.airport-board-columns>span:last-child{text-align:right}.airport-board-offer>summary{min-height:114px;grid-template-areas:"date service state" "date wanted state";row-gap:5px;padding-top:15px;padding-bottom:15px}.airport-board-date{grid-area:date;align-self:start;padding-top:3px}.airport-board-date strong{font-size:1.1rem}.airport-board-date small{font-size:.6rem}.airport-board-service{grid-area:service;gap:3px}.airport-board-service>strong{font-size:.83rem;letter-spacing:0}.airport-board-service>small{font-size:.62rem}.airport-board-type{font-size:.57rem}.airport-board-wanted{grid-area:wanted;font-size:.67rem}.airport-board-wanted>small{display:inline;color:#7a8598;font-size:.6rem;font-weight:400;margin-right:5px}.airport-board-state{grid-area:state;align-self:center;justify-content:flex-end;gap:7px}.airport-board-state>span{font-size:.55rem;padding:5px 6px}.airport-board-state b{font-size:14px}.airport-board-footer{padding:12px 14px;font-size:.59rem}.airport-board-detail{padding:8px}.airport-board-empty{padding:28px 18px}}.swap-roster-calendar .trip-calendar-day.swap-range-selected{outline:2px solid #526b96;outline-offset:-2px;box-shadow:inset 0 0 0 3px #edf2ff;background:#e5ebf7}.swap-roster-calendar .trip-calendar-day.swap-range-selected .trip-calendar-day-number{color:#243f6e;font-weight:800}.swap-roster-calendar .trip-calendar-day.today.swap-range-selected{outline-color:#d3324c}.swap-email-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.8rem;line-height:1.6;background:#f5f7fb;padding:14px;border-radius:12px}.swap-compact-row:has([data-swap-email]){flex-wrap:wrap}.swap-selection>a.btn-secondary{display:inline-block;text-decoration:none;margin:8px 8px 8px 0}.crew-simple{max-width:700px;margin:auto;padding:0 6px 28px}.crew-simple .screen-lede{font-size:.85rem;color:#68758d}.crew-trip-focus{margin:22px 0 30px;padding:25px 22px;background:linear-gradient(130deg,#fff,#f0f3fa);border:1px solid #e3e7ef;border-radius:24px;box-shadow:0 8px 25px #23395708}.crew-trip-eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#667792}.crew-trip-focus h2{font-size:1.65rem;margin:16px 0 8px;line-height:1.3}.crew-trip-dates{font-size:.88rem;color:#566984}.crew-trip-stats{display:flex;flex-wrap:wrap;gap:8px 14px;margin:18px 0 24px;font-size:.76rem;color:#66758b}.crew-trip-unread{color:#49658f;font-weight:800}.crew-trip-focus button{display:flex;justify-content:space-between;width:100%;margin:0}.crew-trip-others>h2{font-size:1rem;margin:0 0 12px}.crew-trip-compact{display:grid;grid-template-columns:36px 1fr 12px;align-items:center;gap:12px;width:100%;text-align:left;padding:18px 14px;margin:10px 0;background:#fff;color:#1b2945;border:1px solid #e7e7eb;border-radius:17px;box-shadow:none}.crew-trip-compact strong{font-size:.86rem;line-height:1.5;display:block}.crew-trip-compact small{display:block;font-size:.73rem;color:#738097;font-weight:400;margin-top:4px}.crew-trip-mini-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eef1f8;color:#617899}.crew-detail-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;padding:5px;border:1px solid #e7e7eb;border-radius:16px;margin:20px 0}.crew-detail-tabs button{margin:0;background:transparent;color:#60708a;border-radius:12px;box-shadow:none;padding:12px 4px;font-size:.8rem}.crew-detail-tabs button[aria-pressed=true]{background:#e8edf7;color:#243b61}.crew-trip-detail-heading h1{font-size:1.5rem;line-height:1.35;margin:10px 0}.crew-trip-detail-heading>p:last-child{font-size:.8rem;color:#6b7890}.crew-trip-empty{background:#fff;border-radius:20px;padding:24px;margin:20px 0}.crew-trip-empty p,.crew-plans-entry p{font-size:.8rem;color:#6b7890;line-height:1.6}.crew-preview{padding:20px 14px 70px}.crew-preview .home-preview-label{font-size:.65rem;color:#6b7890}.chat-conversation-list{background:#fff;border:1px solid #e5e8ef;border-radius:22px;padding:16px}.chat-conversation-list .chat-group-row,.chat-conversation-list .chat-person{border:0;border-bottom:1px solid #eef0f5;border-radius:0;background:transparent;box-shadow:none;min-height:76px;padding:13px 2px;margin:0}.chat-conversation-list .chat-group-row:hover,.chat-conversation-list .chat-person:hover{background:#f7f9fd}.chat-conversation-list .chat-group-icon{background:#e5ecf8;color:#4d6993;border-radius:16px}.chat-conversation-list .chat-direct-head{font-size:.72rem;color:#7a879b;margin-top:20px}.chat-conversation-list .chat-expiry,.chat-conversation-list .chat-expiry-state{font-size:.66rem;line-height:1.5}.chat-conversation-list .chat-participation{font-size:.75rem}.crew-chat-screen .chat-panel{background:#f0f3f8}.crew-chat-screen .chat-panel-head{display:grid;grid-template-columns:28px 38px minmax(0,1fr) 32px 32px;grid-template-rows:auto;gap:8px;min-height:74px;padding:calc(10px + env(safe-area-inset-top)) 10px 10px;background:#ffffffed;border-bottom:1px solid #e1e6ef}.crew-chat-screen .chat-panel-head .chat-back{grid-area:auto;grid-column:1;grid-row:1}.crew-chat-screen .chat-panel-head>.chat-group-icon,.crew-chat-screen .chat-panel-head>.avatar{grid-column:2;grid-row:1;width:38px;height:38px;border-radius:14px;background:#e4eaf6;color:#526d97}.crew-chat-screen .chat-panel-head>div{grid-column:3;grid-row:1;gap:5px}.crew-chat-screen .chat-panel-head strong{font-size:.85rem;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.crew-chat-screen .chat-panel-head>div>.chat-trip-context{font-size:.64rem;font-weight:400;color:#7a869b}.crew-chat-screen .chat-panel-head .chat-agenda-open{grid-column:4;grid-row:1;width:32px;min-height:36px;padding:0;border:0;background:transparent;box-shadow:none}.crew-chat-screen .chat-panel-head .chat-roster-toggle{grid-column:5;grid-row:1;width:32px;min-height:36px;padding:0;border:0;background:transparent;box-shadow:none}.crew-chat-screen .chat-agenda-open>span,.crew-chat-screen .chat-roster-toggle>span{display:none}.chat-retention{padding:7px 14px;background:#f7f9fc;color:#78859a;font-size:.62rem;border-bottom:1px solid #e5e9f0}.chat-retention summary{cursor:pointer;text-align:center}.chat-retention p{margin:8px 0;line-height:1.5}.crew-chat-screen .chat-body{display:flex;min-height:0;background-color:#f0f3f8;background-image:radial-gradient(#a9b5cd20 .8px,transparent .8px);background-size:18px 18px}.crew-chat-screen .chat-messages{display:flex;flex:1;flex-direction:column;gap:6px;padding:18px 12px;min-height:0;overflow:auto;scrollbar-width:thin}.chat-day-separator{align-self:center;margin:10px 0 17px;font-size:.61rem;color:#6f7f99}.chat-day-separator span{padding:5px 12px;border:1px solid #dfe5f0;background:#ffffffbd;border-radius:14px}.crew-chat-screen .chat-message{max-width:88%;gap:5px;margin-bottom:9px;align-items:flex-end}.crew-chat-screen .chat-message>.avatar{flex-shrink:0}.crew-chat-screen .chat-bubble{padding:10px 12px 7px;background:#fff;border:1px solid #e6eaf2;border-radius:16px 16px 16px 4px;box-shadow:0 2px 3px #34476505;font-size:.83rem;line-height:1.5;color:#273751;min-width:70px}.crew-chat-screen .chat-sender{display:block;margin-bottom:4px;color:#59769b;font-size:.68rem;font-weight:800}.crew-chat-screen .chat-message.mine .chat-bubble{color:#243653;background:#dfe8f8;border:1px solid #d3def0;border-radius:16px 16px 4px}.crew-chat-screen .chat-bubble time,.crew-chat-screen .chat-message.mine .chat-bubble time{font-size:.58rem;margin-top:3px;color:#7a88a0}.crew-chat-screen .chat-compose{flex-shrink:0;background:#fff;border-top:1px solid #e2e7ef;padding:10px 10px calc(10px + env(safe-area-inset-bottom));gap:8px;align-items:center}.crew-chat-screen .chat-compose input{min-width:0;min-height:44px;background:#f3f5f9;border:1px solid #e5e9f1;border-radius:24px;padding:12px 15px;font-size:.82rem;margin:0}.crew-chat-screen .chat-compose button[type=submit]{width:43px;height:43px;min-height:43px;flex-shrink:0;border-radius:50%;padding:0;display:grid;place-items:center;background:#627fa9;color:#fff;margin:0;box-shadow:none}.crew-chat-screen .chat-emoji-toggle{width:30px;min-width:30px;padding:0;background:transparent;box-shadow:none;margin:0}.crew-chat-screen .chat-refresh-error:empty{display:none}.crew-chat-screen .chat-empty{margin:auto;max-width:250px;text-align:center;color:#8090a8;font-size:.78rem;line-height:1.6}.crew-chat-screen .chat-empty strong{display:block;margin-top:12px;color:#52698d}.crew-chat-screen .chat-roster{display:none}.crew-chat-screen .chat-body.roster-open{display:flex}.crew-chat-screen .chat-body.roster-open .chat-roster{display:block;overflow:auto;background:#fff}.crew-chat-screen .chat-body.roster-open .chat-roster-list{display:flex;flex-direction:column}.app-authenticated>main:has(.crew-chat-screen)>.roster-sync-status,.app-authenticated>main:has(.crew-chat-screen)>.calendar-sync-feedback{display:none}@media (max-width:650px){.crew-chat-screen .chat-body.roster-open{display:grid;grid-template-rows:auto minmax(0,1fr)}.crew-chat-screen .chat-body.roster-open .chat-roster{grid-row:1;max-height:35dvh;width:auto}.crew-chat-screen .chat-body.roster-open .chat-messages{grid-row:2}}#app.app-authenticated>main:has(.crew-chat-screen){padding:0;margin:0;width:100%;max-width:none;height:100dvh;min-height:0;overflow:hidden}.chat-list-info{font-size:.68rem;color:#7b879c;margin:12px 0}.chat-list-info p{line-height:1.6}.chat-list-info summary{cursor:pointer}.chat-search input{border-radius:14px;background:#f3f5fa;border:1px solid #e9edf4;font-size:.8rem;padding:12px 14px;margin:4px 0 16px}.chat-conversation-list [data-chat-search-row][hidden],.chat-conversation-list [data-chat-search-empty][hidden]{display:none}#app.app-authenticated>main:has(.crew-chat-screen){height:var(--chat-visible-height,100dvh);position:fixed;top:var(--chat-visible-top,0px);left:0;right:0}.crew-chat-screen,.crew-chat-content,.trip-chat-fullscreen{min-height:0;max-height:100%}.crew-chat-screen .chat-compose textarea{flex:1;min-width:0;min-height:44px;max-height:128px;resize:none;overflow-y:auto;background:#f3f5f9;border:1px solid #e5e9f1;border-radius:22px;padding:10px 14px;font-family:inherit;font-size:16px;line-height:22px;margin:0;box-sizing:border-box}.crew-chat-screen .chat-compose{align-items:flex-end}.crew-chat-screen .chat-emoji-toggle{min-height:44px}.crew-chat-screen .chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere}.screen-heading{margin:12px 0 24px;padding:0 0 18px;position:relative}.screen-heading:after{content:"";position:absolute;bottom:0;left:0;width:38px;height:4px;border-radius:4px;background:linear-gradient(90deg,#8399bf,#c5cee2)}.screen-heading-row{display:flex;align-items:center;gap:12px;min-width:0}.screen-heading .screen-title,.swap-header h1{font-family:var(--font-body);font-weight:800;font-size:clamp(1.65rem,5.7vw,2rem);line-height:1.15;letter-spacing:-.035em;color:#202e48;margin:0;text-wrap:balance}.screen-heading .screen-heading-back{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0;display:grid;place-items:center;border-radius:12px;background:#ffffffba;border:1px solid #ffffffd9;color:#425576;box-shadow:0 2px 8px #293c5a05}.screen-heading .screen-lede,.crew-simple .screen-heading .screen-lede,.roster-management .screen-heading .screen-lede{font-size:.82rem;line-height:1.55;font-weight:500;color:#596b85;margin:12px 0 0;max-width:46ch;text-wrap:pretty}.screen-heading-action{margin-left:auto;flex-shrink:0}.swap-header h1{margin:6px 0 10px}.swap-header .swap-eyebrow{font-size:.65rem;letter-spacing:.08em;color:#607391}.crew-trip-detail-heading h1,.greeting{font-weight:800;letter-spacing:-.025em}.offline-simulation-banner{display:grid;gap:9px;padding:16px;margin:0 0 16px;border:1px solid #d4a04b;border-radius:16px;background:#fff4dc;color:#5e4423;font-size:.8rem;line-height:1.5}.offline-simulation-banner button{margin:0;justify-self:start;font-size:.8rem}.friends-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.friends-toolbar>span{font-size:.8rem;color:#718099}.friends-toolbar button{margin:0;padding:10px 17px;font-size:.82rem}.tripu-friends-status:empty{display:none}.friends-contact-list{display:grid;gap:12px}.friend-person{padding:17px;background:#ffffffef;border:1px solid #e7e9ee;border-radius:21px;box-shadow:0 5px 18px #263c5b05}.friend-person-main{display:flex;align-items:center;gap:12px;min-width:0}.friend-person-main>div{min-width:0;flex:1}.friend-person-main h2{margin:0;font-size:1rem;font-weight:800;overflow-wrap:anywhere}.friend-person-avatar{flex:0 0 43px;width:43px;height:43px;border-radius:15px;display:grid;place-items:center;color:#5d7198;background:linear-gradient(140deg,#e4ebf7,#f0edf8);font-weight:800;font-size:1.05rem}.friend-person-presence{margin:4px 0;color:#334f71;font-size:.85rem;font-weight:700}.friend-person-main small{display:block;color:#748097;font-size:.66rem;line-height:1.5}.friend-person-main .friend-star{flex:0 0 36px;width:36px;min-height:40px;margin:0;padding:0;border:0;border-radius:12px;background:#f4f6fa;color:#8a97ab;font-size:1.35rem;box-shadow:none}.friend-person-main .friend-star[aria-pressed=true]{color:#a27322;background:#fff4db}.friend-person-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin-top:16px}.friend-person-actions>button{margin:0;min-height:40px;padding:10px 15px;font-size:.78rem}.friend-person-options{flex:1;min-width:100px}.friend-person-options>summary{cursor:pointer;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e8ebf1;border-radius:18px;font-size:.78rem;color:#5e6f87}.friend-person-options[open]{flex-basis:100%}.friend-person-options>div{padding-top:10px;font-size:.78rem;color:#53647e;line-height:1.6}.friend-person-options button{margin:7px 5px 0 0;padding:9px 12px;font-size:.75rem}.friends-requests>h2{font-size:.85rem;margin:0 0 12px}.friends-requests>h2 span{display:inline-grid;place-items:center;border-radius:20px;background:#e6ecf8;padding:2px 8px;margin-left:5px}.friends-requests .card{padding:16px;font-size:.8rem}.friends-add .section-head h2{margin:0}.friends-add .muted,.friends-empty p{font-size:.78rem;line-height:1.6}.friend-person-options button:focus-visible,.friend-star:focus-visible,.friend-person-options>summary:focus-visible{outline:2px solid #607ea9;outline-offset:3px}.tripu-friends .friends-toolbar>button{width:auto;flex:0 0 auto}.friends-toolbar>span{white-space:nowrap}.friend-person-actions>.btn-primary{flex:1;min-width:150px}.friend-person-options{min-width:110px}.family-sync.family-redesign{padding:0;margin:0 auto 30px;border:0;box-shadow:none;background:transparent}.family-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 14px}.family-toolbar>span{font-size:.8rem;color:#6d7d96;white-space:nowrap}.family-toolbar>button{width:auto;margin:0;padding:10px 18px;font-size:.82rem}.family-access-notice{font-size:.75rem;line-height:1.6;color:#66768c;margin:0 0 20px;max-width:46ch}.family-person{background:#fff;padding:18px;border:1px solid #e5e9f0;border-radius:22px;margin:0 0 12px}.family-person-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.family-person-head>span{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:15px;background:#e9edf8;color:#62779a;font-weight:800}.family-person h2{font-size:1rem;margin:0 0 4px;font-weight:800}.family-person-head p{font-size:.8rem;color:#546a89;margin:0 0 3px}.family-person small{font-size:.69rem;color:#79869a}.family-person button.family-native-share{margin:0 0 10px;font-size:.8rem}.family-person details>summary,.family-subscribe>summary{padding:10px;border:1px solid #e5e9f0;border-radius:18px;text-align:center;color:#62728a;cursor:pointer;font-size:.8rem}.family-person details>div{display:grid;gap:10px;padding:15px 0 0}.family-person details a{font-size:.78rem}.family-person details input{font-size:.72rem;min-width:0;max-width:100%}.family-person details button{margin:0;font-size:.78rem}.family-person-status:empty{display:none}.family-empty{padding:24px;border-radius:22px;background:#fff;border:1px solid #e5e9f0}.family-empty h2{font-size:1rem}.family-empty p,.family-new-link .muted{font-size:.8rem;line-height:1.6;color:#64738b}.family-new-link{margin-top:20px}.family-sync .family-new-link h2{font-size:1rem}.family-new-link select{width:100%;font:inherit;font-size:.86rem;padding:13px;border:1px solid #dce2eb;border-radius:15px;color:#243753;background:#fff}.family-eyebrow{font-size:.62rem;letter-spacing:.12em;color:#7082a1;font-weight:800}.family-public{max-width:620px;margin:auto;color:#24344e}.family-public-heading{margin:12px 0 22px}.family-public-heading h1{font-size:1.65rem;letter-spacing:-.035em;font-weight:800;margin:8px 0}.family-public-heading p{font-size:.78rem;color:#6b7b94;line-height:1.6;margin:0}.family-today{border:1px solid #dfe5f0;border-radius:23px;padding:20px;background:linear-gradient(135deg,#fff,#eef2fa);margin-bottom:20px}.family-today>h2{font-size:1.2rem;line-height:1.35;font-weight:800;margin:9px 0}.family-today>p{font-size:.71rem;line-height:1.6;color:#74839b;margin:0 0 18px}.family-duty{padding:14px;border:1px solid #e5e9f0;border-radius:17px;background:#fff;margin:9px 0}.family-duty-top{display:grid;gap:4px}.family-duty-top>strong{font-size:.95rem}.family-duty-top>span{font-size:.68rem;color:#75839a}.family-duty-times{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:16px}.family-duty-times>div{display:grid;gap:4px}.family-duty-times>div:last-child{text-align:right}.family-duty-times small{font-size:.64rem;color:#7a879c}.family-duty-times strong{font-size:1.14rem;line-height:1.4}.family-duty-times em{font-size:.6rem;font-style:normal;padding:3px 5px;background:#e9eef9;border-radius:7px;white-space:nowrap}.family-duty-times span{font-size:.67rem;color:#687990}.family-duty .family-report-time{font-size:.67rem;color:#7c889b;margin:13px 0 0}.family-duty>p{font-size:.75rem;color:#6c7a90;margin-bottom:0}.family-next>h2,.family-calendar-title>h2{font-size:.92rem;font-weight:800}.family-calendar-title{margin-top:22px}.family-calendar-title small{font-size:.66rem;color:#78869b}.family-month{margin-top:14px}.family-month-head strong{text-align:center;font-size:1.1rem;text-transform:capitalize}.family-day-detail{border-top:1px solid #e9edf3;margin-top:17px;padding-top:8px}.family-day-detail>h3{font-size:.8rem;color:#64758e;text-transform:capitalize}.family-day-detail>p{font-size:.78rem;line-height:1.6;color:#718199}.family-subscribe{margin-top:20px;background:#fff;border-radius:18px}.family-subscribe p{font-size:.76rem;padding:0 12px;color:#6d7d93;line-height:1.6}.family-subscribe a{font-size:.8rem;margin:0 12px 15px}.family-public-privacy{font-size:.68rem;line-height:1.6;color:#7a879b;text-align:center;margin:20px 0}.settings-simple{max-width:640px;margin:auto}.settings-simple .screen-header{margin-bottom:20px}.settings-identity{display:flex;align-items:center;gap:13px;margin:0 3px 22px;min-width:0}.settings-identity img{width:44px;height:44px;border-radius:50%;background:#e8edf5;object-fit:cover}.settings-identity>div{display:grid;gap:3px;min-width:0}.settings-identity strong{font-size:.95rem}.settings-identity span{color:#687890;font-size:.73rem;overflow-wrap:anywhere}.settings-sections{background:#fff;border:1px solid #e6e8ed;border-radius:22px;overflow:hidden;box-shadow:0 8px 24px #20324b06}.settings-group{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.settings-group+.settings-group{border-top:1px solid #edf0f4}.settings-group>summary{display:flex;align-items:center;gap:13px;list-style:none;padding:18px;cursor:pointer;min-height:83px}.settings-group>summary::-webkit-details-marker{display:none}.settings-group>summary:focus-visible{outline:2px solid #6c84ac;outline-offset:-3px}.settings-group-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#eef2f8;color:#617898;flex-shrink:0}.settings-group:nth-child(2) .settings-group-icon{background:#f1edf6;color:#8b78a2}.settings-group:nth-child(3) .settings-group-icon{background:#fff3e8;color:#ad835b}.settings-group:nth-child(4) .settings-group-icon{background:#edf4f1;color:#728e83}.settings-group-label{display:grid;gap:4px;flex:1;min-width:0}.settings-group-label strong{font-size:.9rem;font-weight:800;color:#24344e}.settings-group-label small{font-size:.73rem;color:#64748b;line-height:1.4;overflow-wrap:anywhere}.settings-group-chevron{font-size:1.5rem;color:#8a97a9;transition:transform .15s}.settings-group[open] .settings-group-chevron{transform:rotate(90deg)}.settings-group-body{padding:0 18px 18px}.settings-group-body>.card{padding:0;border:0;box-shadow:none;background:transparent;margin:0}.settings-group-body h2{font-size:.95rem;margin:20px 0 12px;display:flex;align-items:center;gap:8px}.settings-group-body h2:first-child{margin-top:5px}.settings-group-body label{font-size:.79rem}.settings-group-body .muted,.settings-group-body p{font-size:.78rem;line-height:1.6}.settings-group-body input,.settings-group-body select,.settings-group-body textarea{font-size:.85rem;min-width:0;max-width:100%}.settings-group-body .card{border:0;box-shadow:none;padding:12px 0;margin:0;background:transparent}.settings-group-body button{font-size:.8rem}.settings-location-hint{text-align:center;font-size:.7rem;line-height:1.8;color:#6f7e94;margin:20px 5px}.settings-danger{border-top:1px solid #e9edf2;padding:14px 0 0;margin-top:20px}.settings-danger>summary{font-size:.76rem;color:#8c5360;cursor:pointer}.swap-preferences,.roster-flight-limits{border:1px solid #e5e8ef;border-radius:19px;background:#fff;margin:22px 0;padding:17px}.swap-preferences>summary,.roster-flight-limits>summary{font-size:.86rem;font-weight:700;cursor:pointer;color:#415571}.swap-preferences>div{padding-top:15px}.swap-preferences h2,.roster-flight-limits h2{font-size:1rem}.settings-simple .language-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.settings-simple .language-btn{padding:10px;font-size:.77rem;margin:0}.settings-simple .avatar-row{margin:12px 0}.settings-simple .avatar-row input{font-size:.68rem;width:100%}.roster-tools{margin-top:24px}.roster-tools>h2{font-size:1.03rem;margin:0 0 4px}.roster-tools-lede{font-size:.77rem;color:#6b7b92;margin:0 0 19px}.roster-tool-group{margin:0 0 20px}.roster-tool-group>h3{font-size:.6rem;letter-spacing:.12em;color:#70829b;margin:0 0 9px 4px}.roster-tool-row{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:14px;text-align:left;min-height:75px;background:#fff;color:#24344e;border:1px solid #e8eaf0;border-bottom:0;border-radius:0;box-shadow:none}.roster-tool-row:first-of-type{border-radius:18px 18px 0 0}.roster-tool-row:last-child{border-bottom:1px solid #e8eaf0;border-radius:0 0 18px 18px}.roster-tool-icon{width:35px;height:35px;border-radius:11px;background:#eef2f8;color:#6b809f;display:grid;place-items:center;flex-shrink:0}.roster-tool-row>span:nth-child(2){display:grid;gap:5px;flex:1;min-width:0}.roster-tool-row strong{font-size:.85rem;font-weight:800}.roster-tool-row small{font-size:.7rem;color:#728099;line-height:1.4}.roster-tool-row>span:last-child{font-size:1.25rem;color:#93a0b4}.roster-section-path{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 22px}.roster-section-path button{margin:0;padding:10px 13px;border-radius:12px;background:#fff;color:#4c6384;font-size:.76rem;box-shadow:none}.roster-section-path>span{font-size:.72rem;color:#6f7d95}.roster-import-organized>h2{font-size:1.07rem;margin:0 0 7px}.roster-import-organized>.muted{font-size:.78rem;line-height:1.6;margin:0 0 18px}.roster-connection-card{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid #dfe9e5;border-radius:18px;padding:17px;margin-bottom:20px}.connection-dot{width:9px;height:9px;background:#a9b6c7;border-radius:50%;margin-top:5px;flex-shrink:0}.connection-dot.connected{background:#78a28b;box-shadow:0 0 0 4px #edf5f0}.roster-connection-card>div{display:grid;gap:5px;min-width:0}.roster-connection-card strong{font-size:.84rem}.roster-connection-card small{font-size:.7rem;color:#6b7e8d;line-height:1.5}.roster-import-method{padding:0;margin:0 0 10px;border:1px solid #e5e8ef;border-radius:17px;background:#fff;box-shadow:none;overflow:hidden}.roster-import-method>summary{display:flex;align-items:center;gap:13px;padding:17px;list-style:none;cursor:pointer}.roster-import-method>summary::-webkit-details-marker{display:none}.roster-import-method>summary>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f0f3f8;color:#7284a0;flex-shrink:0}.roster-import-method>summary>span:nth-child(2){display:grid;gap:5px;flex:1;min-width:0}.roster-import-method>summary strong{font-size:.84rem;font-weight:800}.roster-import-method>summary small{font-size:.69rem;line-height:1.5;color:#718198}.method-chevron{font-size:1.2rem;color:#90a0b5}.roster-import-method[open] .method-chevron{transform:rotate(90deg)}.roster-import-body{padding:0 17px 17px}.roster-import-body>.card{border:0;box-shadow:none;background:transparent;padding:0;margin:0}.roster-import-body .muted,.roster-import-body p{font-size:.76rem;line-height:1.65}.roster-import-body button{font-size:.8rem}.roster-import-body label{font-size:.76rem}.roster-import-body input,.roster-import-body textarea{font-size:.82rem;min-width:0;max-width:100%}.roster-import-body h2{font-size:.9rem}.roster-import-body .email-connections-section>.card{padding:0;border:0;box-shadow:none}.roster-import-warning{font-size:.76rem;line-height:1.6;background:#fff8e9;color:#7f683e;border-radius:12px;padding:13px}.roster-flight-limits{margin:20px 0}.ftl-profile-row>strong{font-size:.85rem;max-width:48%;text-align:right;line-height:1.4}.appearance-editor>h2{font-size:1.05rem;margin:0 0 8px}.appearance-editor>p{font-size:.77rem;color:#687a94;line-height:1.6;margin:0 0 20px}.appearance-service-list{background:#fff;border:1px solid #e5e9f0;border-radius:21px;overflow:hidden}.appearance-service{margin:0;border:0;background:transparent;box-shadow:none;border-radius:0;padding:0}.appearance-service+.appearance-service{border-top:1px solid #edf0f4}.appearance-service>summary{list-style:none;display:flex;align-items:center;gap:13px;cursor:pointer;padding:14px;min-height:82px}.appearance-service>summary::-webkit-details-marker{display:none}.appearance-sample{width:49px;height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;color:#23354f;flex-shrink:0}.appearance-sample>[data-sample-icon]{height:19px;line-height:19px;font-size:17px}.appearance-sample .calendar-duty-icon{--badge-size:20px;display:block;width:20px;height:20px}.appearance-sample>strong{font-size:.68rem;line-height:1.2}.appearance-service-name{display:grid;gap:5px;min-width:0;flex:1}.appearance-service-name>strong{font-size:.85rem;font-weight:800}.appearance-service-name>small{font-size:.7rem;color:#718198}.appearance-service-chevron{color:#97a2b3;font-size:1.3rem}.appearance-service[open] .appearance-service-chevron{transform:rotate(90deg)}.appearance-service-options{padding:0 15px 18px}.appearance-service-options fieldset{padding:0;border:0;margin:12px 0 18px;min-width:0}.appearance-service-options legend{font-size:.72rem;color:#62748e;margin-bottom:12px;font-weight:700}.appearance-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.appearance-palette>button,.appearance-custom-color{position:relative;min-width:0;min-height:44px;height:44px;border-radius:12px;margin:0;padding:0;border:2px solid transparent;box-shadow:none;background:var(--swatch);color:#3a526f}.appearance-palette>button[aria-pressed=true]{border-color:#3b526e;box-shadow:inset 0 0 0 3px #fff}.appearance-palette>button[aria-pressed=true]:after{content:"✓";font-size:1rem;font-weight:900}.appearance-custom-color{display:grid;place-items:center;border:1px dashed #b4c0d1;font-size:1.2rem;background:#f5f7fa;overflow:hidden;cursor:pointer}.appearance-custom-color input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.appearance-icon-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.appearance-icon-choices>button{min-width:0;min-height:44px;margin:0;padding:5px;background:#f4f6fa;border:1px solid transparent;border-radius:11px;color:#344b68;font-size:1.2rem;box-shadow:none}.appearance-icon-choices>button[aria-pressed=true]{background:#e9eff8;border-color:#718bb1}.appearance-icon-choices>.appearance-original{grid-column:span 2;font-size:.72rem}.appearance-editor-actions{display:grid;gap:4px;margin:19px 0 8px}.appearance-editor-actions>button{margin:0;min-height:44px;font-size:.81rem}.appearance-editor-actions>.btn-quiet{background:transparent;color:#718099;box-shadow:none;font-size:.73rem}.appearance-storage-note{font-size:.68rem;line-height:1.6;color:#7b899d;text-align:center;margin:7px 9px 20px}.appearance-editor #appearance-status{font-size:.75rem;line-height:1.6;color:#526f8c}.appearance-editor summary:focus-visible,.appearance-editor button:focus-visible{outline:2px solid #536f98;outline-offset:-2px}.complete-trip-swaps[hidden]{display:none!important}.swap-my-proposals{margin-top:23px}.swap-my-proposals h2{font-size:1rem;margin:0 0 15px}.swap-my-proposals .swap-selection{border:1px solid #e4e9f1;border-radius:20px;padding:20px;background:#fff;margin:0 0 14px;box-shadow:0 5px 18px #24344e05}.swap-my-proposals .swap-selection>strong{font-size:1rem;display:block}.swap-my-proposals .swap-selection>p{font-size:.78rem;line-height:1.6;color:#677b92}.swap-my-proposals .swap-selection>p:first-of-type{display:inline-block;background:#edf4ef;color:#507663;padding:5px 9px;border-radius:9px;font-size:.7rem}.swap-my-proposals .swap-selection button{width:100%;margin:10px 0 0;font-size:.8rem;min-height:44px}.swap-responses-title{margin-top:24px!important}:root{--muted:#64728a}.screen-lede,.roster-sync-status>span,.family-access-notice,.family-toolbar>span{color:#5c6b82}.screen-heading .screen-lede{line-height:1.6}.roster-sync-status>span{font-size:.69rem}.crew-leg-meta{line-height:1.6;white-space:normal}.roster-notes-clean>h2,.calendar-export>h2{font-size:1.05rem;margin:0 0 9px}.roster-notes-clean>.muted,.calendar-export>p{font-size:.78rem;line-height:1.65;color:#60718a;margin:0 0 19px}.roster-note-date{display:grid;gap:8px;padding:15px 17px;background:#fff;border:1px solid #e4e9f1;border-radius:16px;font-size:.77rem;margin:0 0 18px}.roster-note-date input[type=date]{display:block;width:100%;min-height:44px;margin:0;padding:9px 11px;border:1px solid #dce3ee;border-radius:11px;font:inherit;color:#263a55;background:#f9fafc;box-sizing:border-box}.roster-notes-clean .notes-section>.card{padding:20px;border-radius:19px;margin:0}.roster-notes-clean .notes-section>.card>.muted{font-size:.8rem;line-height:1.6;color:#65768e}.roster-notes-clean .day-note-composer>summary{display:block;text-align:center;min-height:44px;padding:12px;margin-top:15px;background:#21324e;color:#fff;border-radius:24px;box-sizing:border-box;list-style:none;font-size:.8rem}.roster-notes-clean .day-note-composer>summary::-webkit-details-marker{display:none}.roster-notes-clean .day-note-composer label{display:grid;gap:7px;font-size:.77rem}.roster-notes-clean .day-note-composer input,.roster-notes-clean .day-note-composer textarea{font-size:.85rem;width:100%;min-height:44px}.calendar-export .card{padding:22px;border-radius:20px}.calendar-export h3{font-size:.95rem;margin:0 0 12px}.calendar-export .card>p{font-size:.8rem;line-height:1.7;color:#5d6e87}.calendar-export button{font-size:.8rem;min-height:44px}.calendar-export-privacy{font-size:.7rem!important;line-height:1.6;margin:18px 8px!important}.family-public-heading p,.family-today>p,.family-duty-times small,.family-duty .family-report-time,.family-public-privacy{color:#5f7089}.friend-person-presence,.friends-privacy-note,.settings-location-hint,.appearance-storage-note{color:#61718a}.flight-log{max-width:640px;margin:auto}.flight-log-intro{font-size:.8rem;line-height:1.65;color:#576b84}.flight-log-month{display:grid;gap:8px;margin:20px 0;font-size:.8rem}.flight-log-month input{width:100%;min-height:46px;min-width:0}.flight-log-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 25px}.flight-log-totals article{display:grid;gap:10px;padding:18px 12px;background:#fff;border:1px solid #e4e9f0;border-radius:18px}.flight-log-totals span{font-size:.7rem;color:#637894}.flight-log-totals strong{font-size:1.08rem}.flight-log .section-head h2{font-size:1rem}.flight-log .section-head button{font-size:.78rem;min-height:44px;margin:0}.flight-log-form{display:grid;gap:12px;padding:20px!important}.flight-log-form h3{margin:0;font-size:1rem}.flight-log-form label{display:grid;gap:7px;font-size:.8rem}.flight-log-form input{min-width:0;width:100%;min-height:46px;font-size:16px}.flight-log-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flight-log-actions button{margin:0;font-size:.78rem;min-height:44px}.flight-log-row{padding:16px!important;margin:10px 0!important}.flight-log-row>div:first-child{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:8px;font-size:.8rem}.flight-log-row time{font-size:.74rem;color:#637894}.flight-log-row-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:8px}.flight-log-row-actions button{font-size:.72rem;min-height:44px;margin:0;padding:8px 14px}.flight-log-empty h3{font-size:.95rem}.flight-log-empty p,.flight-log-feedback{font-size:.8rem;line-height:1.6}.flight-log-feedback{background:#eef5f0;padding:13px;border-radius:13px}.flight-log-feedback button{margin:0;min-height:44px;font-size:.78rem}.flight-log .section-head{gap:10px;align-items:center}.flight-log .section-head h2{margin:0;flex:1;min-width:0}.flight-log .section-head>button{width:auto;flex:0 0 auto;padding:11px 14px}.flight-log-month input,.flight-log-form input{border:1px solid #dce3ec;border-radius:13px;background:#fff;padding:12px;color:#20334d;box-sizing:border-box}.flight-log-month input{font-family:inherit;font-size:.85rem}.person-avatar{display:inline-flex;flex-shrink:0;overflow:hidden;border-radius:50%;vertical-align:middle;background:#e4e3f5;box-shadow:inset 0 0 0 1px #2537560b}.person-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.header-avatar,.avatar-img,.settings-identity img{object-fit:cover;object-position:center;border-radius:50%}.board-person{display:flex!important;align-items:center;gap:6px}.crew-art-avatar{background-image:url(/avatars/crew-grid.webp);background-size:800% auto;background-repeat:no-repeat;background-color:#fff}.avatar-picker{margin:16px 0;border:1px solid #e6e5ec;border-radius:18px;padding:14px;background:#fff}.avatar-picker>summary{cursor:pointer;font-weight:800;color:#253756}.avatar-picker>p{font-size:.82rem;color:#536078;line-height:1.5}.avatar-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.avatar-choice-grid button{display:flex;align-items:center;justify-content:center;min-height:54px;margin:0;padding:2px;background:transparent;border:2px solid transparent;border-radius:50%;box-shadow:none}.avatar-choice-grid button[aria-pressed=true]{border-color:#5c639c;background:#eeecfa}.avatar-choice-grid button:focus-visible{outline:2px solid #253756;outline-offset:2px}@media (max-width:350px){.avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}#avatar-file-input[hidden]{display:none!important}#password-form{min-width:0}#password-form label{display:block;font-weight:600;margin-block:12px 6px;overflow-wrap:anywhere}#password-form input{width:100%;min-width:0;box-sizing:border-box}#password-form p,#password-form button{white-space:normal;overflow-wrap:anywhere}#password-form input:focus-visible,#password-form button:focus-visible{outline:3px solid var(--sky-ink);outline-offset:3px}#password-form .password-field-error{color:var(--text);font-weight:600}#password-form .password-field-error[hidden]{display:none}.family-account-shell{min-height:100vh;padding:calc(env(safe-area-inset-top,0px) + 26px) 18px calc(env(safe-area-inset-bottom,0px) + 32px);box-sizing:border-box;color:#263750}.family-account-page{max-width:620px;margin:0 auto}.family-account-brand{padding:18px 5px 22px}.family-account-brand h1,.family-account-dashboard-head h1{margin:8px 0;font-size:1.65rem;letter-spacing:-.035em}.family-account-brand>p,.family-account-dashboard-head p{margin:0;color:#60718a;font-size:.86rem;line-height:1.6}.family-account-card,.family-account-empty{padding:20px;background:#fff;border:1px solid #e4e9f1;border-radius:23px;box-shadow:0 12px 34px #263b5a12}.family-account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f0f3f8;padding:5px;border-radius:15px;margin-bottom:22px}.family-account-tabs button{min-height:42px;margin:0;padding:9px 7px;background:transparent;color:#63748e;box-shadow:none;font-size:.75rem}.family-account-tabs button[aria-selected=true]{background:#fff;color:#263750;box-shadow:0 2px 9px #263b5a15}.family-account-card h2{font-size:1.12rem;margin:0 0 6px}.family-account-lede{font-size:.8rem;line-height:1.6;color:#60718a;margin:0 0 20px}.family-account-card form{display:grid;gap:15px}.family-account-card form>label:not(.family-account-consent){display:grid;gap:7px;font-size:.75rem;font-weight:700;color:#536680}.family-account-card input:not([type=checkbox]){width:100%;box-sizing:border-box;min-height:47px;padding:11px 13px;border:1px solid #d9e0eb;border-radius:13px;font:inherit;font-size:.9rem;background:#fff;color:#263750}.family-account-card label small{font-size:.67rem;font-weight:400;color:#72819a}.family-account-consent{display:flex;align-items:flex-start;gap:10px;font-size:.73rem;line-height:1.55;color:#5e6f87}.family-account-consent input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#355780}.family-account-submit{width:100%;min-height:50px;margin:2px 0 0;border-radius:28px;background:#213653;font-size:.88rem}.family-account-submit:disabled{opacity:.65}.family-account-professional{font-size:.71rem;color:#73819a;text-align:center;line-height:1.6;margin:18px 0 0}.family-account-professional a,.family-account-consent a{color:#355780;text-decoration:underline;text-underline-offset:2px}.family-account-invite{padding:13px 15px;margin:0 0 14px;background:#edf3fb;border:1px solid #d8e3f3;border-radius:15px;color:#405a7b;font-size:.78rem;line-height:1.55}.family-account-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 3px 20px}.family-account-logout{width:auto;min-height:40px;margin:0;padding:8px 13px;border:1px solid #dce3ed;background:#fff;color:#4d617e;box-shadow:none;font-size:.73rem}.family-account-list{display:grid;gap:10px}.family-account-person{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;background:#fff;border:1px solid #e3e8f0;border-radius:18px}.family-account-person-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#eaf0f8;color:#405b7d;font-weight:800}.family-account-person-text{min-width:0}.family-account-person-text h2{font-size:.87rem;margin:0 0 4px}.family-account-person-text p{font-size:.68rem;color:#718098;margin:0;line-height:1.4}.family-account-person .btn-secondary,.family-account-stop{width:auto;min-height:38px;margin:0;padding:7px 10px;font-size:.68rem;white-space:nowrap}.family-account-stop{grid-column:2/-1;justify-self:start;background:transparent;color:#725557;border:1px solid #eadfe0;box-shadow:none}.family-account-pending{font-size:.66rem;padding:6px 8px;background:#f3f1e9;border-radius:10px;color:#786a42}.family-account-empty{margin-top:4px;text-align:center;padding:30px 22px}.family-account-empty>span{font-size:1.8rem}.family-account-empty h2{font-size:1rem;margin:13px 0 7px}.family-account-empty p,.family-account-security{font-size:.76rem;line-height:1.65;color:#687993}.family-account-security{text-align:center;margin:18px 12px}.family-account-message{font-size:.76rem;line-height:1.6;color:#4d6380}.family-account-calendar{margin-top:22px}.family-account-calendar-view>header{margin:0 0 16px}.family-account-calendar-view>header h2{margin:6px 0;font-size:1.12rem}.family-account-calendar-view>header p,.family-account-calendar-note{font-size:.72rem;line-height:1.6;color:#63748d}.family-account-calendar-view .family-today{margin-bottom:14px}.family-account-calendar-note{text-align:center;margin:14px 8px}.family-account-settings>h2{margin:0 0 5px;font-size:1.05rem}.family-account-settings>p{margin:0 0 16px;color:#687993;font-size:.76rem;line-height:1.6}@media (max-width:440px){.family-account-dashboard-head{align-items:flex-start}.family-account-header-actions{gap:5px}.family-account-settings-button,.family-account-logout{padding:7px 9px;font-size:.65rem}.family-account-person{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:12px}.family-account-person-icon{width:38px;height:38px}.family-account-person .btn-secondary,.family-account-stop{font-size:.63rem;padding:7px 8px}.family-account-person-text h2{font-size:.8rem}}.family-account-owner-panel{margin:22px 0;padding:18px;background:#fff;border:1px solid #e3e8f0;border-radius:20px;box-shadow:0 8px 24px #263b5a0a}.family-owner-header h2{margin:6px 0;font-size:1.15rem}.family-owner-header p,.family-owner-link p,.family-owner-empty,.family-owner-status,.family-owner-expiry,.family-owner-person p,.family-owner-person small{color:#60718a;font-size:.75rem;line-height:1.6}.family-owner-link{display:grid;gap:10px;margin:16px 0;padding:16px;background:#f5f7fa;border:1px solid #e3e8f0;border-radius:16px}.family-owner-link h3,.family-owner-access h3{margin:0;font-size:.9rem}.family-owner-link p{margin:4px 0 0}.family-owner-link-value{display:grid;gap:6px;color:#536680;font-size:.7rem}.family-owner-link-value input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #d5deea;border-radius:10px;background:#fff;color:#263750;font:inherit}.family-owner-link button,.family-owner-person-actions button{width:auto;min-height:40px;margin:0;padding:8px 12px;font-size:.72rem}.family-owner-link .family-owner-danger-action{justify-self:start;background:transparent;color:#78575b;border:1px solid #e8dfe0;box-shadow:none}.family-owner-link .family-owner-muted-action,.family-owner-person-actions .family-owner-muted-action{background:#fff;color:#50627e;border:1px solid #dce3ed;box-shadow:none}.family-owner-link button:disabled,.family-owner-person-actions button:disabled{opacity:.55}.family-owner-access{display:grid;gap:9px;margin:20px 0}.family-owner-access h3{display:flex;align-items:center;justify-content:space-between}.family-owner-access h3 span{font-size:.7rem;color:#70809a}.family-owner-person{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;background:#fff;border:1px solid #e3e8f0;border-radius:14px}.family-owner-person-copy{min-width:0}.family-owner-person h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:.82rem}.family-owner-person p{overflow-wrap:anywhere;margin:0}.family-owner-person small{display:block;margin-top:3px;font-size:.66rem}.family-owner-person-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.family-owner-empty{margin:0;padding:13px;background:#f8f9fb;border-radius:12px}.family-owner-status{min-height:1.4em;margin:10px 0 0}.family-owner-status:empty{display:none}.family-owner-share-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.family-owner-share-button{display:flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;padding:10px 9px;border:1px solid #dce3ed;border-radius:13px;background:#fff;color:#344966;font:inherit;font-size:.75rem;font-weight:700;text-align:center;text-decoration:none}.family-owner-share-button:focus-visible,.family-owner-link-details summary:focus-visible,.family-owner-danger summary:focus-visible{outline:3px solid #8daedb;outline-offset:2px}.family-owner-share-button.family-owner-whatsapp{background:#eaf7f0;border-color:#d1ebdd;color:#176a42}.family-owner-share-button.family-owner-copy{background:#213653;border-color:#213653;color:#fff}.family-owner-link-ready{margin:12px 0 0!important;color:#385775;font-size:.76rem;font-weight:700}.family-owner-link-details{margin-top:11px}.family-owner-link-details summary,.family-owner-danger summary{color:#50627e;font-size:.72rem;font-weight:700;cursor:pointer}.family-owner-link-details input{width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid #d5deea;border-radius:10px;background:#fff;color:#536680;font:inherit;font-size:.68rem}.family-owner-danger{margin-top:14px;padding-top:12px;border-top:1px solid #e6eaf0}.family-owner-danger>p{margin:7px 0 10px!important;color:#775d61;font-size:.7rem}.family-owner-danger .family-owner-danger-action{min-height:38px;font-size:.7rem}.family-owner-status:not(:empty){padding:9px 11px;border-radius:11px;background:#edf3fb;color:#385775;font-size:.72rem}.family-account-delete{margin:28px 0 8px;padding:18px;background:snow;border:1px solid #eadada;border-radius:18px}.family-account-delete h2{margin:0 0 7px;color:#713c40;font-size:.92rem}.family-account-delete>p{margin:0 0 14px;color:#705c60;font-size:.72rem;line-height:1.6}.family-account-delete form{display:grid;gap:12px}.family-account-delete form>label:first-child{display:grid;gap:7px;color:#665156;font-size:.73rem;font-weight:700}.family-account-delete input[type=password]{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #e2d3d5;border-radius:12px;font:inherit;background:#fff}.family-account-delete .family-account-consent{color:#705c60}.family-account-delete-button{width:100%;min-height:44px;margin:0;padding:9px 12px;border:1px solid #8d4b50;border-radius:14px;background:#fff;color:#793b40;box-shadow:none;font-size:.75rem}.family-account-delete-button:disabled{opacity:.6}@media (max-width:560px){.family-account-owner-panel{padding:15px}.family-owner-person{align-items:flex-start;flex-direction:column}.family-owner-person-actions{justify-content:flex-start}.family-owner-person-actions button{flex:1}}@media (max-width:380px){.family-owner-share-actions{grid-template-columns:1fr}.family-owner-share-button{min-height:44px}}.base-airport-hint,.base-airport-error{display:block;font-size:.72rem;line-height:1.45;margin-top:5px}.base-airport-hint{color:#d8e2ef}.base-airport-error{color:#ffd2d2;font-weight:650}.login-field input[data-base-airport-picker]{padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#d7e1ef 50%),linear-gradient(135deg,#d7e1ef 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.home-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 24px}.home-sync-freshness{display:flex;align-items:flex-start;gap:10px;margin:10px 0 16px;padding:12px 14px;border:1px solid #dce6e3;border-radius:15px;background:#f1f6f4;color:#355f51}.home-sync-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:10px;background:#e0eee8;font-size:1.1rem}.home-sync-freshness>div{display:grid;gap:4px;min-width:0}.home-sync-freshness strong{font-size:.77rem;line-height:1.4}.home-sync-freshness small{font-size:.69rem;color:#5c756d;line-height:1.4}.home-quick-action{display:grid;justify-items:start;align-content:start;gap:7px;min-width:0;min-height:112px;margin:0;padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);box-shadow:0 5px 17px #24344e08;text-align:left}.home-quick-action>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#edf2f8;color:#3b587c}.home-quick-action strong{font-size:.83rem;line-height:1.25}.home-quick-action small{color:var(--muted);font-size:.7rem;line-height:1.35}.share-hub{max-width:640px;margin:0 auto}.share-hub-option{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:78px;margin:10px 0;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--card);color:var(--text);text-align:left;box-shadow:0 5px 17px #24344e08}.share-hub-option>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#edf2f8;color:#3b587c}.share-hub-option>span:nth-child(2){display:grid;gap:4px;min-width:0}.share-hub-option strong{font-size:.88rem}.share-hub-option small{color:var(--muted);font-size:.72rem;line-height:1.4}.share-hub-option>span:last-child{font-size:1.5rem;color:#8693a4}.share-hub>.muted{font-size:.72rem;line-height:1.55;margin:14px 4px}.calendar-check-result{margin:10px 0;padding:10px 12px;border-radius:13px;background:#edf4f1;color:#355f51;font-size:.75rem;line-height:1.5}.swap-external-process{margin:8px 0 4px;padding:10px 12px;border-left:3px solid #8fa6c2;border-radius:0 10px 10px 0;background:#f4f6f9;color:#596b82;font-size:.72rem;line-height:1.55}@media (max-width:360px){.home-quick-actions{gap:7px}.home-quick-action{min-height:104px;padding:12px}.share-hub-option{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:12px}.share-hub-option>span:first-child{width:36px;height:36px}}.family-account-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.family-account-settings-button{width:auto;min-height:40px;margin:0;padding:8px 13px;border:1px solid #dce3ed;border-radius:14px;background:#fff;color:#405b7d;box-shadow:none;font-size:.73rem}.family-account-settings{margin-top:4px}.family-account-settings>h2{margin:0 0 16px;font-size:1.05rem}.family-account-setting-card{margin:0 0 14px;padding:16px;background:#fff;border:1px solid #e3e8f0;border-radius:18px}.family-account-setting-card summary{color:#263750;font-size:.9rem;font-weight:700;cursor:pointer}.family-account-setting-card>details>p{font-size:.75rem;color:#687993;line-height:1.6}.family-account-setting-card form{display:grid;gap:12px}.family-account-setting-card form>label:not(.family-account-consent){display:grid;gap:7px;color:#536680;font-size:.73rem;font-weight:700}.family-account-setting-card input:not([type=checkbox]),.family-account-setting-card select{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d9e0eb;border-radius:12px;font:inherit;background:#fff;color:#263750}.family-account-settings .family-account-delete{margin-top:18px}.family-account-delete h3{margin:0 0 7px;color:#713c40;font-size:.92rem}@media (max-width:440px){.family-account-dashboard-head{align-items:flex-start}.family-account-header-actions{gap:5px}.family-account-settings-button,.family-account-logout{padding:7px 9px;font-size:.65rem}}
