:root{--bg: #f6f7fa;--surface: rgb(255 255 255 / 72%);--surface-strong: rgb(255 255 255 / 88%);--surface-solid: #fff;--text: #0f172a;--muted: #687280;--line: rgb(15 23 42 / 9%);--line-strong: rgb(15 23 42 / 14%);--accent: #2d7dff;--accent-soft: #e4edff;--accent-ink: #fff;--highlight: #a58b4f;--highlight-soft: rgb(165 139 79 / 14%);--danger: #e5484d;--danger-soft: rgb(229 72 77 / 10%);--good: #2e9e6d;--good-soft: rgb(46 158 109 / 12%);--weekend: #9b613b;--weekend-soft: rgb(155 97 59 / 12%);--tint-flight: rgb(45 125 255 / 18%);--tint-rest: rgb(46 158 109 / 16%);--tint-training: rgb(165 139 79 / 20%);--tint-standby: rgb(104 114 128 / 12%);--tint-hotel: rgb(155 97 59 / 16%);--tint-absence: rgb(229 72 77 / 14%);--blur-card: blur(24px) saturate(1.4);--blur-tab: blur(32px) saturate(1.5);--blur-sheet: blur(28px) saturate(1.4);--blur-popup: blur(36px) saturate(1.7);--popup-glass: rgb(255 255 255 / 80%);--popup-scrim: rgb(15 23 42 / 38%);--shadow-card: 0 10px 24px rgb(15 23 42 / 10%);--shadow-sheet: 0 20px 60px rgb(15 23 42 / 16%);--shadow-raised: 0 4px 12px rgb(15 23 42 / 6%);--wallpaper-ground: #edf6ff;--wallpaper-image: url(/PWAPlog/assets/escrew-sky-background-C4-8CDym.webp);--wallpaper-veil: none;--tab-glass: rgb(255 255 255 / 60%);--header-glass: linear-gradient( 180deg, rgb(255 255 255 / 57%) 0%, rgb(240 248 255 / 36%) 64%, rgb(235 246 255 / 20%) 100% );--header-border: rgb(255 255 255 / 70%);--header-shadow: inset 0 -1px 0 rgb(255 255 255 / 62%), inset 0 1px 0 rgb(255 255 255 / 56%), 0 .7rem 1.6rem rgb(47 91 143 / 8%);--header-sheen: linear-gradient(180deg, rgb(255 255 255 / 24%), rgb(255 255 255 / 0%));--header-title-shadow: 0 1px 0 rgb(255 255 255 / 92%), 0 0 12px rgb(255 255 255 / 78%);--blur-header: blur(32px) saturate(1.55);--radius-card: 18px;--radius-control: 12px;--radius-pill: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--title-size: 28px;--title-line: 34px;--header-size: 17px;--header-line: 22px;--body-size: 15px;--body-line: 22px;--caption-size: 13px;--caption-line: 18px;--number-size: 18px;--weight-title: 600;--weight-header: 600;--weight-body: 400;--weight-number: 600}html.theme-dark{--bg: #0b1220;--surface: rgb(19 27 44 / 72%);--surface-strong: rgb(24 33 53 / 88%);--surface-solid: #131b2c;--text: #f5f7fa;--muted: #8b95a5;--line: rgb(139 149 165 / 18%);--line-strong: rgb(139 149 165 / 28%);--accent: #4c8dff;--accent-soft: rgb(76 141 255 / 16%);--accent-ink: #0b1220;--highlight: #c9ac72;--highlight-soft: rgb(201 172 114 / 18%);--danger: #eb6f79;--danger-soft: rgb(235 111 121 / 16%);--good: #4fbe8e;--good-soft: rgb(79 190 142 / 16%);--weekend: #d89a66;--weekend-soft: rgb(216 154 102 / 18%);--tint-flight: rgb(76 141 255 / 22%);--tint-rest: rgb(79 190 142 / 20%);--tint-training: rgb(201 172 114 / 22%);--tint-standby: rgb(139 149 165 / 16%);--tint-hotel: rgb(216 154 102 / 20%);--tint-absence: rgb(235 111 121 / 18%);--popup-glass: rgb(24 33 53 / 78%);--popup-scrim: rgb(3 8 18 / 58%);--shadow-card: 0 10px 24px rgb(0 0 0 / 35%);--shadow-sheet: 0 24px 70px rgb(0 0 0 / 50%);--shadow-raised: 0 4px 12px rgb(0 0 0 / 28%);--wallpaper-ground: #0b1220;--wallpaper-veil: linear-gradient(180deg, rgb(3 12 25 / 50%), rgb(3 12 25 / 78%));--tab-glass: rgb(19 27 44 / 60%);--header-glass: linear-gradient(180deg, rgb(10 27 48 / 60%), rgb(10 27 48 / 35%));--header-border: rgb(198 224 255 / 19%);--header-shadow: inset 0 -1px 0 rgb(200 227 255 / 13%), 0 .7rem 1.6rem rgb(0 0 0 / 18%);--header-sheen: linear-gradient(180deg, rgb(133 190 255 / 13%), rgb(133 190 255 / 0%));--header-title-shadow: 0 1px 0 rgb(0 0 0 / 45%), 0 0 12px rgb(130 184 255 / 18%)}.material-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card)}.material-sheet{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-strong);box-shadow:var(--shadow-sheet);backdrop-filter:var(--blur-sheet);-webkit-backdrop-filter:var(--blur-sheet)}.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-number)}:root{color:var(--text);background:var(--bg);font-family:var(--font-sans);line-height:var(--body-line);font-synthesis:none;-webkit-font-smoothing:antialiased}body{margin:0;background:var(--bg);font-size:var(--body-size);font-weight:var(--weight-body);line-height:var(--body-line)}#root{min-height:100vh;min-height:100dvh}.app-frame{min-height:100dvh;color:var(--text);isolation:isolate}.app-wallpaper{position:fixed;z-index:-2;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 14% 4%,var(--surface-strong),transparent 28rem),radial-gradient(circle at 86% 15%,var(--accent-soft),transparent 25rem),linear-gradient(155deg,var(--accent-soft) 0%,var(--accent-soft) 46%,var(--bg) 100%)}.app-wallpaper:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--surface),var(--surface));content:""}.app-frame__content{min-height:100dvh;padding-bottom:calc(6.7rem + env(safe-area-inset-bottom))}.tab-dock{position:fixed;z-index:20;right:1rem;bottom:max(.8rem,env(safe-area-inset-bottom));left:1rem;display:grid;--tab-count: 4;--tab-dock-inset: .35rem;grid-template-columns:repeat(var(--tab-count),1fr);max-width:34rem;margin:auto;border:1px solid var(--surface);border-radius:1.6rem;padding:var(--tab-dock-inset);background:var(--surface);box-shadow:0 1.1rem 3.4rem var(--line-strong);backdrop-filter:blur(1.5rem) saturate(1.35);-webkit-backdrop-filter:blur(1.5rem) saturate(1.35)}.tab-dock--five{--tab-count: 5;max-width:39rem}.tab-dock__item{display:grid;min-height:3.3rem;place-content:center;gap:.15rem;border-radius:1.15rem;color:var(--muted);font-size:var(--caption-size);font-weight:600;text-align:center;text-decoration:none}.tab-dock__item>span:first-child{height:1.2rem;color:var(--muted);font-size:var(--header-size);line-height:1.05}.tab-dock__item--active{background:var(--surface);box-shadow:0 .35rem .9rem var(--line-strong);color:var(--accent)}.home-page,.roster-page{width:min(100%,42rem);box-sizing:border-box;margin:auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem 2rem}.suite-header{display:flex;align-items:center;gap:.7rem;padding:.4rem .25rem 1.5rem}.suite-mark{display:grid;width:2.45rem;height:2.45rem;place-items:center;border:1px solid var(--surface);border-radius:.9rem;background:var(--surface);box-shadow:0 .45rem 1.1rem var(--accent-soft);color:var(--accent)}.suite-header p,.suite-page-header p,.home-section__title p{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em}.suite-header h1{margin:.12rem 0 0;font-size:var(--header-size);letter-spacing:-.04em}.suite-header__more{margin-left:auto;color:var(--muted);font-size:var(--header-size);font-weight:600;letter-spacing:.07em;text-decoration:none}.home-hero{overflow:hidden;border:1px solid var(--surface);border-radius:2rem;padding:1.5rem;background:linear-gradient(135deg,var(--surface),var(--accent-soft));box-shadow:0 1rem 2.4rem var(--accent-soft);-webkit-backdrop-filter:blur(1.3rem);backdrop-filter:blur(1.3rem)}.home-hero__eyebrow{margin:0;color:var(--accent);font-size:var(--caption-size);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.home-hero h2{max-width:18rem;margin:.55rem 0;font-size:var(--title-size);letter-spacing:-.065em;line-height:.96}.home-hero>p:not(.home-hero__eyebrow){max-width:24rem;margin:0;color:var(--muted);line-height:1.45}.home-hero__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.home-hero__actions a{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.4rem;border-radius:.95rem;padding:0 1rem;background:var(--accent);box-shadow:0 .6rem 1.3rem var(--accent-soft);color:var(--surface-solid);font-size:var(--body-size);font-weight:600;text-decoration:none}.home-hero__actions a+a{background:var(--surface);box-shadow:none;color:var(--accent)}.home-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.8rem}.home-stats>div,.home-empty,.home-recent-list{border:1px solid var(--surface);border-radius:1.35rem;background:var(--surface);box-shadow:0 .65rem 1.4rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.home-stats>div{display:grid;gap:.4rem;padding:1rem}.home-stats span{color:var(--muted);font-size:var(--caption-size);font-weight:600;text-transform:uppercase}.home-stats strong{font-size:var(--number-size);letter-spacing:-.055em}.home-section{margin-top:1.7rem}.home-section__title{display:flex;align-items:end;justify-content:space-between;margin:0 .7rem .65rem}.home-section__title h2{margin:.25rem 0 0;font-size:var(--header-size);letter-spacing:-.045em}.home-section__title a{color:var(--accent);font-size:var(--caption-size);font-weight:600;text-decoration:none}.home-recent-list{overflow:hidden}.home-recent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;min-height:3.75rem;border-top:1px solid var(--line-strong);padding:.55rem .9rem;color:inherit;text-decoration:none}.home-recent-row:first-child{border-top:0}.home-recent-row__date{color:var(--muted);font-size:var(--caption-size);font-weight:600}.home-recent-row strong{overflow:hidden;font-size:var(--body-size);text-overflow:ellipsis;white-space:nowrap}.home-recent-row i{color:var(--accent);font-style:normal}.home-recent-row>span:last-child{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600}.home-empty{padding:1rem;color:var(--muted);font-size:var(--caption-size)}.suite-page-header{padding:.8rem .6rem 1.3rem}.suite-page-header h1{margin:.3rem 0 .45rem;font-size:var(--title-size);letter-spacing:-.065em;line-height:.95}.suite-page-header span{color:var(--muted);font-size:var(--body-size);line-height:1.4}.roster-empty-card{display:grid;min-height:17rem;place-items:center;align-content:center;border:1px solid var(--surface);border-radius:1.75rem;padding:1.5rem;background:var(--surface);box-shadow:0 .8rem 2rem var(--accent-soft);text-align:center;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.roster-empty-card>span{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--header-size)}.roster-empty-card h2{margin:1rem 0 .35rem;font-size:var(--header-size);letter-spacing:-.04em}.roster-empty-card p{max-width:22rem;margin:0;color:var(--muted);line-height:1.45}.roster-empty-card a{margin-top:1.2rem;color:var(--accent);font-size:var(--body-size);font-weight:600;text-decoration:none}.roster-import-action{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;margin-top:1.2rem;border-radius:.95rem;padding:0 1rem;background:var(--accent);box-shadow:0 .6rem 1.3rem var(--accent-soft);color:var(--surface-solid);cursor:pointer;font-size:var(--body-size);font-weight:600}.roster-import-action input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.roster-import-error{margin:.8rem 0 0;color:var(--danger)!important;font-size:var(--caption-size)}.roster-flight-list{display:grid;gap:.45rem;margin-top:1rem}.roster-flight-list>div{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.1rem .65rem;align-items:center;border:1px solid var(--surface);border-radius:1rem;padding:.7rem .8rem;background:var(--surface);box-shadow:0 .55rem 1.2rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.roster-flight-list span{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600}.roster-flight-list strong{font-size:var(--body-size);letter-spacing:.01em}.roster-flight-list i{color:var(--accent);font-style:normal}.roster-flight-list small{grid-column:2;color:var(--muted);font-size:var(--caption-size)}.roster-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:.95rem 0}.roster-summary>div{display:grid;gap:.25rem;border:1px solid var(--surface);border-radius:1rem;padding:.8rem;background:var(--surface);box-shadow:0 .45rem 1.1rem var(--accent-soft)}.roster-summary span{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.roster-summary strong{font-size:var(--header-size);letter-spacing:-.04em}.roster-duty-list{display:grid;gap:.75rem}.roster-duty-card{overflow:hidden;border:1px solid var(--surface);border-radius:1.25rem;background:var(--surface);box-shadow:0 .7rem 1.6rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.roster-duty-card>header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem}.roster-duty-card>header p{margin:0;color:var(--accent);font-size:var(--caption-size);font-weight:600;letter-spacing:.1em}.roster-duty-card>header h2{margin:.14rem 0 0;font-size:var(--header-size);letter-spacing:-.04em}.roster-duty-card>header>span{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600}.roster-duty-card__sectors{border-top:1px solid var(--accent-soft)}.roster-sector{display:flex;min-height:3.7rem;align-items:center;justify-content:space-between;border-top:1px solid var(--accent-soft);padding:.55rem 1rem}.roster-sector:first-child{border-top:0}.roster-sector>div{display:grid;gap:.13rem}.roster-sector strong{font-size:var(--body-size);letter-spacing:.01em}.roster-sector i{color:var(--accent);font-style:normal}.roster-sector small{color:var(--muted);font-size:var(--caption-size);font-weight:600}.roster-sector>span{display:grid;gap:.12rem;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600;text-align:right}.roster-sector>span small{font-family:inherit}.pay-page{width:min(100%,42rem);box-sizing:border-box;margin:auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem 2rem}.pay-setup{display:grid;gap:.7rem;border:1px solid var(--surface);border-radius:1.35rem;padding:1rem;background:var(--surface);box-shadow:0 .7rem 1.6rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.pay-setup label{display:grid;grid-template-columns:minmax(0,1fr) auto 7rem;align-items:center;gap:.5rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.pay-setup label>span{color:var(--muted);font-size:var(--caption-size);text-transform:uppercase}.pay-setup input{min-width:0;border:1px solid var(--accent-soft);border-radius:.7rem;padding:.55rem .6rem;background:var(--surface);color:var(--text);text-align:right}.pay-setup button{min-height:2.7rem;margin-top:.3rem;border:0;border-radius:.85rem;background:var(--accent);color:var(--surface-solid);cursor:pointer;font-weight:600}.pay-setup>p{margin:0;color:var(--good);font-size:var(--caption-size);font-weight:600;text-align:center}.pay-result{margin-top:.9rem;overflow:hidden;border:1px solid var(--surface);border-radius:1.55rem;padding:1.25rem;background:linear-gradient(140deg,var(--surface),var(--accent-soft));box-shadow:0 .9rem 2rem var(--accent-soft)}.pay-result>p{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pay-result h2{margin:.4rem 0 .08rem;font-size:var(--title-size);letter-spacing:-.065em}.pay-result>span{color:var(--muted);font-size:var(--caption-size)}.pay-result>div{display:grid;gap:.5rem;margin-top:1.1rem;border-top:1px solid var(--accent-soft);padding-top:.8rem}.pay-result>div p{display:flex;justify-content:space-between;margin:0;color:var(--muted);font-size:var(--caption-size)}.pay-result>div strong{color:var(--text)}.pay-hint{margin:1rem 0;color:var(--muted);text-align:center}.pay-pdf-check{margin-top:.9rem;text-align:center}.pay-pdf-check .roster-import-action{margin-top:0}.pay-pdf-check p{margin:.7rem 0 0;color:var(--muted);font-size:var(--caption-size);line-height:1.4}.pay-source-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.75rem}.pay-source-list button{border:1px solid var(--accent-soft);border-radius:999px;padding:.42rem .7rem;background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--caption-size);font-weight:600}.pay-source-list button.is-active{border-color:transparent;background:var(--accent);color:var(--surface-solid)}.pay-source-list button:disabled{cursor:not-allowed;opacity:.45}.flight-detail-page{width:min(100%,42rem);box-sizing:border-box;margin:auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem 2rem}.flight-detail-header{display:flex;justify-content:space-between;margin-bottom:1.5rem}.flight-detail-header a{color:var(--accent);font-size:var(--caption-size);font-weight:600;text-decoration:none}.flight-detail-header span{color:var(--muted);font-weight:600}.flight-detail__eyebrow{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.11em}.flight-detail__eyebrow i{color:var(--accent);font-size:var(--caption-size);font-style:normal}.flight-detail-page h1{margin:.25rem 0;font-size:var(--title-size);letter-spacing:-.07em}.flight-detail__date{margin:0;color:var(--muted);font-size:var(--caption-size)}.flight-detail-hero,.flight-detail-card{margin-top:1.15rem;border:1px solid var(--surface);border-radius:1.4rem;padding:1rem;background:var(--surface);box-shadow:0 .7rem 1.6rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.flight-detail-hero strong{font-size:var(--header-size);letter-spacing:.015em}.flight-detail-hero i{color:var(--accent);font-style:normal}.flight-detail-hero p{margin:.25rem 0 0;color:var(--muted);font-size:var(--caption-size)}.flight-detail-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;margin-top:1rem;border-radius:1rem;padding:.25rem;background:var(--surface)}.flight-detail-tabs button{min-height:2.25rem;border:0;border-radius:.75rem;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--caption-size);font-weight:600}.flight-detail-tabs button[aria-selected=true]{background:var(--surface);box-shadow:0 .25rem .75rem var(--line-strong);color:var(--accent)}.flight-detail-card>p{margin:0 0 .85rem;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.1em}.flight-times{display:grid;grid-template-columns:repeat(3,1fr)}.flight-times span{display:grid;gap:.25rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.flight-times strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--header-size)}.flight-detail-empty{color:var(--muted);font-size:var(--caption-size);line-height:1.45}.flight-weather{margin-top:.75rem}.flight-weather__current{display:flex;align-items:center;gap:.75rem}.flight-weather__current>b{font-size:var(--title-size);font-weight:400}.flight-weather__current span{display:grid;gap:.1rem}.flight-weather__current strong{font-size:var(--title-size);line-height:1}.flight-weather__current small,.flight-weather__forecast span{color:var(--muted)}.flight-weather__current em{margin-left:auto;color:var(--muted);font-size:var(--caption-size);font-style:normal;text-align:right}.flight-weather__forecast{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--accent-soft);margin-top:.85rem;padding-top:.75rem;font-size:var(--caption-size)}.flight-duty-times{display:flex;gap:1.4rem;border-top:1px solid var(--accent-soft);margin-top:.9rem;padding-top:.75rem}.flight-duty-times span{display:grid;gap:.18rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.flight-duty-times strong,.flight-aircraft{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--body-size)}.flight-hotel{display:grid;gap:.35rem;color:var(--muted);font-size:var(--caption-size)}.flight-hotel strong{color:var(--text);font-size:var(--header-size)}.flight-adjacent{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}.flight-adjacent a{color:var(--accent);font-size:var(--caption-size);font-weight:600;text-decoration:none}.flight-crew-row{display:flex;gap:.7rem;align-items:center;border-top:1px solid var(--accent-soft);padding:.65rem 0}.flight-crew-row b{display:grid;width:2.15rem;height:2.15rem;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--caption-size)}.flight-crew-row span{display:grid;gap:.12rem}.flight-crew-row strong{font-size:var(--caption-size)}.flight-crew-row small{color:var(--muted);font-size:var(--caption-size)}.flight-crew-row i{margin-left:auto;color:var(--muted);font-size:var(--header-size);font-style:normal}.roster-sector{color:inherit;text-decoration:none}.roster-view-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin:.9rem 0;border-radius:1rem;padding:.25rem;background:var(--surface)}.roster-view-switch button{min-height:2.45rem;border:0;border-radius:.75rem;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--caption-size);font-weight:600;text-transform:capitalize}.roster-view-switch button[aria-selected=true]{background:var(--surface);box-shadow:0 .25rem .75rem var(--line-strong);color:var(--accent)}.roster-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.roster-calendar__day{display:grid;min-height:4.6rem;gap:.35rem;border:1px solid var(--surface);border-radius:1rem;padding:.7rem;background:var(--surface);color:var(--muted)}.roster-calendar__day small{font-weight:600}.roster-calendar__day strong{overflow:hidden;color:var(--muted);font-size:var(--caption-size);text-overflow:ellipsis;white-space:nowrap}.roster-calendar__day--duty{background:var(--surface);box-shadow:0 .45rem 1.1rem var(--accent-soft)}.roster-calendar__day--duty strong{color:var(--accent)}.roster-stats{min-height:11rem}.roster-calendar__day--activity strong{color:var(--good)}.app-frame{color:var(--text);background:transparent}.app-wallpaper{background:var(--wallpaper-veil),var(--wallpaper-ground) var(--wallpaper-image) center top / cover no-repeat}.app-wallpaper:after{background:none}.app-frame__content{padding-bottom:calc(6.2rem + env(safe-area-inset-bottom))}.tab-dock{right:.9rem;bottom:max(.55rem,env(safe-area-inset-bottom));left:.9rem;max-width:25rem;border:1px solid var(--line);border-radius:1.25rem;--tab-dock-inset: .28rem;padding:var(--tab-dock-inset);background:var(--surface-strong);box-shadow:0 .65rem 1.8rem var(--line-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tab-dock--five{max-width:29rem}.tab-dock__item{min-height:3rem;gap:.12rem;border-radius:.9rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.tab-dock__item>span:first-child{color:currentColor;font-size:var(--header-size)}.tab-dock__item--active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft);color:var(--accent)}.home-page,.roster-page,.pay-page,.flight-detail-page{width:min(100%,26rem);padding:max(1.05rem,env(safe-area-inset-top)) .85rem 1.65rem}.suite-header{gap:.65rem;padding:.15rem .2rem 1.15rem}.suite-mark{display:none}.suite-header p,.suite-page-header p,.home-section__title p,.flight-detail__eyebrow{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.14em}.suite-header h1{margin:0;color:var(--text);font-size:var(--title-size);letter-spacing:-.06em}.suite-header:after{content:none}.suite-header__more{margin-left:.25rem;color:var(--text);font-size:var(--header-size);letter-spacing:0}.home-hero,.roster-empty-card,.roster-duty-card,.pay-setup,.pay-result,.flight-detail-hero,.flight-detail-card,.home-stats>div,.home-empty,.home-recent-list,.roster-summary>div{border-color:var(--line);background:var(--surface-solid);box-shadow:0 .35rem 1.2rem var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.home-hero{border-radius:1.1rem;padding:1rem}.home-hero__eyebrow{color:var(--muted);font-size:var(--caption-size);letter-spacing:.12em}.home-hero h2{max-width:none;margin:.42rem 0 .3rem;color:var(--text);font-size:var(--title-size);letter-spacing:-.06em;line-height:1.03}.home-hero>p:not(.home-hero__eyebrow){color:var(--muted);font-size:var(--body-size)}.home-hero__actions a,.roster-import-action{min-height:2.35rem;border-radius:.8rem;background:var(--accent);box-shadow:0 .45rem .9rem var(--accent-soft);font-size:var(--caption-size)}.home-hero__actions a+a{border:1px solid var(--line);background:var(--surface-solid);color:var(--text)}.home-stats{gap:.55rem;margin-top:.55rem}.home-stats>div{gap:.26rem;border-radius:.95rem;padding:.75rem}.home-stats span,.roster-summary span{color:var(--muted);font-size:var(--caption-size);font-weight:600}.home-stats strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--header-size)}.home-section{margin-top:1.25rem}.home-section__title{margin:0 .2rem .48rem}.home-section__title h2{color:var(--text);font-size:var(--header-size)}.home-section__title a{color:var(--accent);font-size:var(--caption-size)}.home-recent-list{border-radius:1rem}.home-recent-row{min-height:3.25rem;border-color:var(--line);padding:.45rem .72rem}.home-recent-row__date,.home-recent-row>span:last-child{color:var(--muted);font-size:var(--caption-size)}.home-recent-row strong{color:var(--text);font-size:var(--caption-size)}.home-recent-row i,.roster-sector i{color:var(--highlight)}.suite-page-header{padding:.35rem .15rem 1rem}.suite-page-header h1,.flight-detail-page h1{color:var(--text);font-size:var(--title-size);letter-spacing:-.06em}.suite-page-header span{color:var(--muted);font-size:var(--caption-size)}.roster-empty-card{min-height:12rem;border-radius:1.1rem;padding:1rem}.roster-empty-card>span{width:2.5rem;height:2.5rem;background:var(--accent-soft);color:var(--accent)}.roster-empty-card h2{color:var(--text);font-size:var(--header-size)}.roster-empty-card p{color:var(--muted);font-size:var(--caption-size)}.roster-summary{gap:.45rem;margin:.65rem 0}.roster-summary>div{border-radius:.85rem;padding:.65rem}.roster-summary strong{color:var(--text);font-size:var(--body-size)}.roster-view-switch,.flight-detail-tabs{border:1px solid var(--line);border-radius:.9rem;padding:.18rem;background:var(--bg)}.roster-view-switch button,.flight-detail-tabs button{min-height:2.1rem;border-radius:.7rem;color:var(--muted);font-size:var(--caption-size)}.roster-view-switch button[aria-selected=true],.flight-detail-tabs button[aria-selected=true]{background:var(--accent);box-shadow:0 .25rem .6rem var(--accent-soft);color:var(--surface-solid)}.roster-duty-list{gap:.55rem}.roster-duty-card{border-radius:1rem}.roster-duty-card>header{padding:.7rem .8rem}.roster-duty-card>header p{color:var(--muted)}.roster-duty-card>header h2{color:var(--text);font-size:var(--header-size)}.roster-duty-card>header>span,.roster-sector small{color:var(--muted)}.roster-duty-card__sectors{border-color:var(--line)}.roster-sector{min-height:3.35rem;border-color:var(--line);padding:.45rem .8rem}.roster-sector strong{color:var(--text);font-size:var(--caption-size)}.roster-calendar{gap:.45rem}.roster-calendar__day{min-height:4rem;border-color:var(--line);border-radius:.85rem;padding:.6rem;background:var(--surface-solid)}.roster-calendar__day--duty{box-shadow:0 .25rem .7rem var(--line)}.roster-calendar__day--activity{background:var(--good-soft)}.roster-view-switch--two{grid-template-columns:repeat(2,1fr)}.roster-day-card{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 7.75rem)}.roster-today-label{margin-left:.45rem;border-radius:999px;padding:.14rem .38rem;background:var(--accent);color:var(--surface-solid);font-size:var(--caption-size);letter-spacing:.08em}.roster-activity{display:flex;min-height:3.35rem;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--line);padding:.45rem .8rem}.roster-activity:first-child{border-top:0}.roster-activity>div{display:grid;min-width:0;gap:.13rem}.roster-activity strong{color:var(--text);font-size:var(--caption-size)}.roster-activity small{overflow:hidden;color:var(--muted);font-size:var(--caption-size);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.roster-activity>span{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600;white-space:nowrap}.roster-day-card--off{border-color:var(--good-soft);background:var(--good-soft)}.roster-day-card--off>header p,.roster-day-card--off .roster-activity strong{color:var(--good)}.roster-day-card--doff{border-color:var(--good-soft);background:var(--good-soft)}.roster-day-card--doff>header p,.roster-day-card--doff .roster-activity strong{color:var(--good)}.roster-day-card--today{border-color:var(--accent-soft);background:var(--accent-soft);box-shadow:0 .5rem 1.25rem var(--accent-soft)}.roster-day-card--today>header{background:var(--accent-soft)}.roster-day-card--today>header p{color:var(--accent)}.pay-pdf-check{margin-top:.55rem}.pay-pdf-check p,.pay-hint{color:var(--muted)}.pay-source-list button{border-color:var(--line);background:var(--surface-solid);color:var(--muted)}.pay-source-list button.is-active{background:var(--accent);color:var(--surface-solid)}.pay-setup{border-radius:1rem;padding:.85rem}.pay-setup label{color:var(--text);font-size:var(--caption-size)}.pay-setup label>span{color:var(--muted)}.pay-setup input{border-color:var(--line);border-radius:.65rem;background:var(--bg)}.pay-setup button{border-radius:.75rem;background:var(--accent)}.pay-result{border-radius:1rem;padding:1rem;background:var(--surface-solid)}.pay-result>p,.pay-result>span,.pay-result>div p{color:var(--muted)}.pay-result h2,.pay-result>div strong{color:var(--text)}.pay-result h2{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--title-size)}.flight-detail-header{margin-bottom:.75rem}.flight-detail-header a,.flight-detail-header span{color:var(--text)}.flight-detail__date{color:var(--muted)}.flight-detail-hero,.flight-detail-card{margin-top:.7rem;border-radius:1rem;padding:.85rem}.flight-detail-hero strong,.flight-times strong,.flight-aircraft{color:var(--text)}.flight-detail-hero i{color:var(--highlight)}.flight-detail-hero p,.flight-detail-card>p,.flight-detail-empty,.flight-times span,.flight-weather__current small,.flight-weather__forecast span,.flight-weather__current em,.flight-duty-times span{color:var(--muted)}.flight-crew-row{border-color:var(--line)}.flight-crew-row b{background:var(--accent-soft);color:var(--accent)}.pay-audit{display:grid;gap:.85rem;margin-top:.7rem;border:1px solid var(--line);border-radius:1rem;padding:.9rem;background:var(--surface-solid);box-shadow:0 .35rem 1.2rem var(--line)}.pay-audit header{display:grid;gap:.18rem}.pay-audit header p,.pay-audit__group>p,.pay-audit__sectors>p{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.pay-audit h2{margin:0;color:var(--text);font-size:var(--header-size);letter-spacing:-.04em}.pay-audit header>span{color:var(--muted);font-size:var(--caption-size)}.pay-audit__totals{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.pay-audit__totals p{display:grid;gap:.2rem;margin:0;border-radius:.65rem;padding:.45rem;background:var(--bg);color:var(--muted);font-size:var(--caption-size)}.pay-audit__totals strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size)}.pay-audit__group{display:grid;gap:.36rem;border-top:1px solid var(--line);padding-top:.8rem}.pay-audit__group div,.pay-audit__sectors div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:var(--caption-size)}.pay-audit__group strong,.pay-audit__sectors strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);white-space:nowrap}.pay-audit__sectors{display:grid;gap:.4rem;border-top:1px solid var(--line);padding-top:.8rem}.pay-audit__sectors small{color:var(--muted);font-family:inherit;font-size:var(--caption-size)}.pay-audit__warning,.pay-audit__note{margin:0;border-radius:.65rem;padding:.6rem;font-size:var(--caption-size);line-height:1.4}.pay-audit__warning{background:var(--highlight-soft);color:var(--highlight)}.pay-audit__note{background:var(--accent-soft);color:var(--muted)}.home-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.55rem;margin:.7rem 0 .45rem}.home-route span{display:grid;gap:.08rem}.home-route span:last-child{text-align:right}.home-route strong{color:var(--text);font-size:var(--title-size);letter-spacing:-.06em}.home-route small{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.08em}.home-route b{display:inline-block;color:var(--highlight);font-size:var(--header-size);transform:rotate(45deg)}.home-flight-meta{color:var(--muted)!important;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.65rem!important;letter-spacing:.02em}.home-time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.9rem}.home-time-grid>div{display:grid;gap:.12rem;min-width:0;border:1px solid var(--line);border-radius:.7rem;padding:.5rem;background:var(--bg)}.home-time-grid span,.home-time-grid small{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.home-time-grid strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--body-size)}.home-time-grid small{font-size:var(--caption-size)}.home-duty{display:grid;gap:.35rem;margin-top:.6rem;border:1px solid var(--line);border-radius:.95rem;padding:.75rem;background:var(--surface-solid);box-shadow:0 .35rem 1.2rem var(--line)}.home-duty>p{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em}.home-duty>div{display:flex;justify-content:space-between;align-items:baseline}.home-duty strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--header-size)}.home-duty span,.home-duty small{color:var(--muted);font-size:var(--caption-size)}.home-duty small{border-top:1px solid var(--line);padding-top:.45rem}.home-route__plane{width:1.8rem;height:1.15rem;fill:var(--highlight)}.home-flight-meta{margin-top:.65rem!important;color:var(--muted)!important;font-size:.78rem!important;font-weight:600}.home-report-countdown{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.55rem;margin-top:.8rem;border:1px solid var(--accent-soft);border-radius:.8rem;padding:.65rem .75rem;background:var(--accent-soft)}.home-report-countdown span,.home-report-countdown small{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.1em}.home-report-countdown strong{color:var(--accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--header-size);letter-spacing:.02em;text-align:center}.home-time-grid strong{font-size:var(--header-size)}.logbook-page{width:min(100%,42rem);padding:max(1.25rem,env(safe-area-inset-top)) 1rem 2rem}.logbook-header{gap:.8rem;padding:.35rem .25rem 1.2rem}.logbook-header__eyebrow,.logbook-empty__eyebrow,.month-card__eyebrow{color:var(--accent)}.logbook-header h1{font-size:var(--title-size)}.logbook-header__intro{color:var(--muted)}.logbook-header__actions{gap:.25rem}.logbook-settings-link,.logbook-new-link{min-height:2.55rem;border-radius:.9rem;padding:.5rem .7rem;font-size:var(--caption-size)}.logbook-settings-link{background:var(--surface);color:var(--muted)}.logbook-new-link{background:var(--accent);box-shadow:0 .5rem 1.2rem var(--accent-soft)}.logbook-summary{min-height:9.3rem;border:1px solid var(--surface);border-radius:1.85rem;background:linear-gradient(140deg,var(--surface),var(--accent-soft));box-shadow:0 1rem 2.3rem var(--accent-soft);color:var(--text);-webkit-backdrop-filter:blur(1.2rem);backdrop-filter:blur(1.2rem)}.logbook-summary span,.logbook-summary p{color:var(--muted)}.logbook-summary p strong{color:var(--accent)}.year-chips-shell{margin:.8rem -1rem 0;background:linear-gradient(90deg,var(--accent-soft),var(--accent-soft))}.year-chip{border-color:var(--surface);background:var(--surface);color:var(--muted);box-shadow:0 .35rem .9rem var(--accent-soft)}.year-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent)}.month-card{border-color:var(--surface);border-radius:1.6rem;background:var(--surface);box-shadow:0 .8rem 1.7rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.month-card__header h2,.month-card__total strong,.flight-row__route,.flight-row__time{color:var(--text)}.month-card__total span{color:var(--muted)}.flight-row{border-top-color:var(--accent-soft)}.flight-row:focus-visible,.flight-row:hover{background:var(--surface)}.flight-row__meta,.flight-row__aircraft{color:var(--muted)}.logbook-state,.logbook-empty{border-color:var(--surface);background:var(--surface);box-shadow:0 .8rem 1.7rem var(--accent-soft);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.logbook-empty__icon{background:var(--accent-soft);color:var(--accent)}.logbook-empty h2{color:var(--text)}.logbook-empty>p:not(.logbook-empty__eyebrow){color:var(--muted)}@media(max-width:31rem){.logbook-header__actions{display:grid;grid-template-columns:1fr 1fr}.logbook-header__actions .logbook-settings-link:first-child{display:none}.logbook-settings-link,.logbook-new-link{min-width:0}}button,input,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}.logbook-page,.settings-page,.entry-editor-page,.pdf-import-page,.pdf-review-page{box-sizing:border-box;min-height:100vh}@media(display-mode:standalone){.logbook-page,.settings-page,.entry-editor-page,.pdf-import-page,.pdf-review-page{padding-top:max(1.5rem,env(safe-area-inset-top));padding-bottom:max(2rem,env(safe-area-inset-bottom))}}.pdf-import-page,.pdf-review-page{width:min(100%,58rem);margin:0 auto;padding:1.5rem 1rem 5rem}.pdf-import-page{width:min(100%,46rem)}.pdf-import-header,.pdf-review-header{padding:.5rem .25rem 1.75rem}.pdf-import-back-link{display:inline-block;margin-bottom:2.5rem;color:var(--accent);font-weight:600;text-decoration:none}.pdf-import-eyebrow,.pdf-candidate__header p{margin:0;color:var(--highlight);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.pdf-import-header h1,.pdf-review-header h1,.pdf-review-empty h1{margin:.3rem 0 .7rem;color:var(--text);font-size:var(--title-size);letter-spacing:-.045em;line-height:1}.pdf-import-header>p:last-child,.pdf-review-header>p:last-child,.pdf-review-empty>p{margin:0;color:var(--muted);line-height:1.55}.pdf-import-card,.pdf-review-empty,.pdf-cross-checks,.pdf-candidate,.pdf-review-actions{border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-solid);box-shadow:0 .45rem 1.5rem var(--line)}.pdf-import-card,.pdf-review-empty,.pdf-cross-checks,.pdf-candidate{padding:1.3rem}.pdf-import-card__intro{display:flex;gap:.9rem;align-items:center;margin-bottom:1.15rem}.pdf-import-card__icon{display:grid;width:2.7rem;height:2.7rem;flex:0 0 auto;place-items:center;border-radius:.85rem;background:var(--accent-soft);color:var(--accent);font-size:var(--header-size);font-weight:600}.pdf-import-card__intro h2,.pdf-cross-checks h2,.pdf-candidate__header h2{margin:.25rem 0 0;color:var(--text);font-size:var(--header-size);letter-spacing:-.025em}.pdf-drop-zone{display:grid;min-height:13rem;place-items:center;align-content:center;gap:.45rem;border:2px dashed var(--muted);border-radius:1.05rem;outline:none;background:var(--bg);color:var(--muted);cursor:pointer;text-align:center;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.pdf-drop-zone:hover,.pdf-drop-zone:focus-visible,.pdf-drop-zone--active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 .25rem var(--accent-soft)}.pdf-drop-zone strong{color:var(--text);font-size:var(--header-size)}.pdf-drop-zone__action{margin-top:.55rem;border-radius:.75rem;padding:.65rem 1rem;background:var(--accent);color:var(--surface-solid);font-weight:600}.pdf-drop-zone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.pdf-import-status,.pdf-import-error{margin:1rem 0 0;border-radius:.8rem;padding:.85rem 1rem;font-size:var(--body-size);font-weight:600}.pdf-candidate__compact{margin:.35rem 0 0;color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size)}.pdf-candidate__edit{margin-top:.65rem}.pdf-candidate__edit summary{color:var(--accent);cursor:pointer;font-size:var(--caption-size);font-weight:600}.pdf-candidate__edit .pdf-candidate__fields{margin-top:.7rem}.pdf-candidate__edit-toggle{margin-top:.6rem;border:0;padding:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--caption-size);font-weight:600}.pdf-review-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:1rem;border:1px solid var(--line);border-radius:1rem;padding:.65rem;background:var(--surface-solid);color:var(--muted);font-size:var(--caption-size);font-weight:600;text-align:center}.pdf-review-pagination button,.logbook-load-more{min-height:2.6rem;border:1px solid var(--line);border-radius:.75rem;padding:.55rem .8rem;background:var(--bg);color:var(--accent);cursor:pointer;font-weight:600}.pdf-review-pagination button:disabled{cursor:default;opacity:.4}.logbook-load-more{display:block;width:min(100%,20rem);margin:1rem auto 0;background:var(--surface-solid)}.pdf-import-status{background:var(--accent-soft);color:var(--accent)}.pdf-import-error{background:var(--danger-soft);color:var(--danger)}.pdf-import-privacy{margin:1rem 0 0;color:var(--muted);font-size:var(--caption-size);text-align:center}.pdf-review-summary{display:flex;gap:1rem;align-items:flex-end;justify-content:space-between;margin-bottom:1rem;border-radius:1.3rem;padding:1.2rem 1.3rem;background:linear-gradient(135deg,var(--text),var(--accent));box-shadow:0 .75rem 2rem var(--line-strong);color:var(--surface-solid)}.pdf-review-summary div{display:grid;min-width:0;gap:.2rem}.pdf-review-summary span{color:var(--accent-soft);font-size:var(--caption-size);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pdf-review-summary strong{overflow:hidden;text-overflow:ellipsis}.pdf-review-summary p{flex:0 0 auto;margin:0;color:var(--accent-soft)}.pdf-review-summary p strong{color:var(--highlight)}.pdf-cross-checks{margin-bottom:1rem}.pdf-cross-checks h2{margin-top:0}.pdf-cross-checks ul,.pdf-candidate__warnings ul{margin:.65rem 0 0;padding-left:1.2rem;color:var(--muted);line-height:1.55}.pdf-cross-checks li{display:flex;gap:1rem;justify-content:space-between}.pdf-cross-checks__warning{color:var(--highlight);font-weight:600}.pdf-candidate-list{display:grid;gap:1rem}.pdf-candidate{transition:opacity .14s ease}.pdf-candidate--excluded{opacity:.62}.pdf-candidate__header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.confidence-badge{flex:0 0 auto;border-radius:999px;padding:.35rem .65rem;background:var(--bg);color:var(--muted);font-size:var(--caption-size);font-weight:600}.confidence-badge--medium,.confidence-badge--low{background:var(--highlight-soft);color:var(--highlight)}.pdf-candidate__warnings{margin:1rem 0;border:1px solid var(--highlight-soft);border-radius:.85rem;padding:.9rem 1rem;background:var(--highlight-soft)}.pdf-candidate__warnings>p{margin:0;color:var(--highlight);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pdf-candidate__fields{display:grid;gap:.8rem;margin-top:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.review-field{display:grid;gap:.35rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.review-field input{box-sizing:border-box;width:100%;min-height:2.7rem;border:1px solid var(--line);border-radius:.72rem;padding:.6rem .7rem;outline:none;background:var(--bg);color:var(--text)}.review-field input:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-soft)}.review-field input[aria-invalid=true]{border-color:var(--danger)}.review-field__error{color:var(--danger);font-size:var(--caption-size);font-weight:600}.pdf-candidate__source{margin-top:1rem;color:var(--muted);font-size:var(--caption-size)}.pdf-candidate__source summary{cursor:pointer;font-weight:600}.pdf-candidate__source p{overflow-wrap:anywhere}.pdf-candidate__toggle{margin-top:1rem;border:0;padding:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:600}.pdf-review-actions{position:sticky;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:3;display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-top:1rem;padding:1rem}.pdf-review-actions p{margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600}.pdf-review-actions .primary-action{width:auto;min-width:12rem}.pdf-review-empty{margin-top:5rem;text-align:center}.pdf-review-empty__link{display:inline-flex;width:auto;align-items:center;margin-top:1.2rem;text-decoration:none}@media(max-width:34rem){.pdf-review-summary,.pdf-candidate__header,.pdf-review-actions{align-items:stretch;flex-direction:column}.pdf-candidate__fields{grid-template-columns:minmax(0,1fr)}.pdf-review-actions .primary-action{width:100%}}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}.suite-header,.suite-page-header,.logbook-header,.settings-header{position:sticky;z-index:15;top:env(safe-area-inset-top,0px);border-radius:0 0 1rem 1rem;background:var(--accent-soft);box-shadow:0 .4rem 1rem var(--line);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1)}.home-report-countdown strong{font-size:var(--number-size);font-variant-numeric:tabular-nums;white-space:nowrap}@supports (-webkit-touch-callout: none){input,select,textarea{font-size:var(--header-size)}}.logbook-page{width:min(100%,68rem);margin:0 auto;padding:1.5rem 1rem 5rem}.logbook-header{display:flex;gap:1.5rem;align-items:flex-start;justify-content:space-between;padding:.5rem .25rem 1.5rem}.logbook-header__eyebrow,.logbook-empty__eyebrow,.month-card__eyebrow{margin:0;color:var(--highlight);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.logbook-header h1{margin:.3rem 0 .65rem;color:var(--text);font-size:var(--title-size);letter-spacing:-.05em;line-height:.95}.logbook-header__intro{margin:0;color:var(--muted);line-height:1.5}.logbook-header__actions{display:flex;flex:0 0 auto;gap:.6rem;align-items:center}.logbook-settings-link,.logbook-new-link{display:inline-flex;box-sizing:border-box;min-height:2.8rem;align-items:center;justify-content:center;border-radius:.85rem;padding:.7rem 1rem;font-weight:600;text-decoration:none}.logbook-settings-link{color:var(--muted)}.logbook-new-link{gap:.35rem;background:var(--accent);box-shadow:0 .5rem 1.2rem var(--accent-soft);color:var(--surface-solid)}.logbook-summary{display:flex;min-height:8rem;align-items:flex-end;justify-content:space-between;overflow:hidden;border-radius:1.4rem;padding:1.35rem;background:linear-gradient(135deg,var(--text),var(--accent));box-shadow:0 .75rem 2rem var(--line-strong);color:var(--surface-solid)}.logbook-summary div{display:grid;gap:.15rem}.logbook-summary span{color:var(--accent-soft);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.logbook-summary div>strong{font-size:var(--title-size);letter-spacing:-.055em;line-height:1}.logbook-summary p{margin:0;color:var(--accent-soft)}.logbook-summary p strong{color:var(--highlight)}.year-chips-shell{position:sticky;z-index:3;top:0;margin:1rem -1rem 0;padding:.7rem 1rem;background:var(--accent-soft);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.year-chips{display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:none}.year-chips::-webkit-scrollbar{display:none}.year-chip{min-width:4.5rem;min-height:2.55rem;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;background:var(--surface-solid);color:var(--muted);cursor:pointer;font-weight:600}.year-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);box-shadow:0 .35rem 1rem var(--accent-soft);color:var(--surface-solid)}.logbook-list{display:grid;gap:1rem;padding-top:.3rem}.month-card{overflow:hidden;scroll-margin-top:4.5rem;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-solid);box-shadow:0 .45rem 1.5rem var(--line)}.month-card__header{display:flex;gap:1rem;align-items:flex-end;justify-content:space-between;padding:1.25rem 1.3rem 1.1rem}.month-card__header h2{margin:.25rem 0 0;color:var(--text);font-size:var(--header-size);letter-spacing:-.03em}.month-card__total{display:grid;flex:0 0 auto;gap:.1rem;text-align:right}.month-card__total span{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.month-card__total strong{color:var(--text);font-size:var(--header-size);letter-spacing:-.035em}.flight-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;min-height:5.25rem;border-top:1px solid var(--line);padding:.9rem 1.3rem;color:inherit;text-decoration:none}.flight-row:focus-visible,.flight-row:hover{outline:none;background:var(--bg)}.flight-row__main{display:grid;min-width:0;gap:.22rem}.flight-row__route{color:var(--text);font-size:var(--header-size);letter-spacing:.015em}.flight-row__route span{color:var(--accent)}.flight-row__meta,.flight-row__aircraft{overflow:hidden;color:var(--muted);font-size:var(--caption-size);text-overflow:ellipsis;white-space:nowrap}.flight-row__aircraft{color:var(--highlight)}.flight-row__time{color:var(--text);font-size:var(--header-size);white-space:nowrap}.flight-row__chevron{color:var(--muted);font-size:var(--title-size)}.logbook-state,.logbook-empty{border:1px solid var(--line);border-radius:1.3rem;padding:1.5rem;background:var(--surface-solid);box-shadow:0 .45rem 1.5rem var(--line)}.logbook-state{color:var(--muted)}.logbook-state--error{color:var(--danger)}.logbook-empty{display:grid;min-height:16rem;place-items:center;align-content:center;text-align:center}.logbook-empty__icon{display:grid;width:3.25rem;height:3.25rem;place-items:center;margin-bottom:1rem;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--header-size)}.logbook-empty h2{margin:.3rem 0 .5rem;color:var(--text);font-size:var(--title-size)}.logbook-empty>p:not(.logbook-empty__eyebrow){max-width:28rem;margin:0 0 1.25rem;color:var(--muted);line-height:1.5}@media(max-width:40rem){.logbook-header{display:grid}.logbook-header__actions{width:100%}.logbook-settings-link,.logbook-new-link{flex:1}.logbook-summary{min-height:7rem}}@media(max-width:28rem){.logbook-summary{display:grid;gap:1.25rem}.flight-row{gap:.6rem;padding-inline:1rem}.flight-row__chevron{display:none}}.entry-editor-page{width:min(100%,44rem);margin:0 auto;padding:1.5rem 1rem 5rem}.entry-editor-header{padding:.5rem .25rem 1.5rem}.entry-editor-back-link{display:inline-block;margin-bottom:2.5rem;color:var(--accent);font-weight:600;text-decoration:none}.entry-editor-eyebrow,.entry-form__section-heading p{margin:0;color:var(--highlight);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.entry-editor-header h1{margin:.3rem 0 .7rem;color:var(--text);font-size:var(--title-size);letter-spacing:-.045em;line-height:1}.entry-editor-header>p:last-child{margin:0;color:var(--muted);line-height:1.55}.entry-form{display:grid;gap:1rem}.entry-form__card,.entry-delete-confirmation,.entry-editor-state{border:1px solid var(--line);border-radius:1.25rem;background:var(--surface-solid);box-shadow:0 .45rem 1.5rem var(--line)}.entry-form__card{padding:1.3rem}.entry-form__section-heading{margin-bottom:1.2rem}.entry-form__section-heading h2,.entry-delete-confirmation h2{margin:.3rem 0 0;color:var(--text);font-size:var(--header-size);letter-spacing:-.02em}.entry-form__fields,.entry-form__number-grid{display:grid;gap:1rem}.entry-form__route{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.entry-field{display:grid;gap:.45rem;color:var(--muted);font-size:var(--caption-size);font-weight:600}.entry-field input,.entry-field textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:.8rem;outline:none;background:var(--bg);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease}.entry-field input{min-height:3rem;padding:.7rem .8rem}.entry-field textarea{min-height:7rem;padding:.8rem;resize:vertical}.entry-field input:focus,.entry-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-soft)}.entry-field input[aria-invalid=true]{border-color:var(--danger)}.entry-field__error,.entry-submit-error{color:var(--danger);font-size:var(--caption-size);font-weight:600}.entry-form__actions{display:grid;gap:.7rem;padding-top:.2rem}.danger-action{min-height:2.75rem;border:1px solid var(--danger-soft);border-radius:.8rem;padding:.7rem 1rem;background:var(--danger-soft);color:var(--danger);cursor:pointer;font-weight:600}.danger-action--filled{background:var(--danger);color:var(--surface-solid)}.entry-delete-confirmation,.entry-editor-state{padding:1.3rem}.entry-delete-confirmation p,.entry-editor-state p{color:var(--muted);line-height:1.5}.entry-delete-confirmation__actions{display:flex;gap:.75rem;justify-content:flex-end}.entry-submit-error{margin:0;border-radius:.8rem;padding:.85rem 1rem;background:var(--danger-soft)}.entry-editor-state--error{color:var(--danger)}@media(min-width:38rem){.entry-form__route,.entry-form__number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-page{width:min(100%,48rem);margin:0 auto;padding:1.5rem 1rem 4rem}.settings-header{padding:.5rem .25rem 1.75rem}.settings-back-link{display:inline-block;margin-bottom:2.5rem;color:var(--accent);font-weight:600;text-decoration:none}.settings-header h1{margin:.15rem 0 .75rem;font-size:var(--title-size);letter-spacing:-.04em;line-height:1}.settings-intro,.settings-card p{color:var(--muted);line-height:1.55}.settings-intro{max-width:40rem;margin:0;font-size:var(--header-size)}.settings-eyebrow{margin:0;color:var(--accent)!important;font-size:var(--caption-size);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.settings-groups{display:grid;gap:1rem}.settings-card{overflow:hidden;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface-solid);box-shadow:0 .45rem 1.5rem var(--line)}.settings-card__body,.backup-preview{padding:1.35rem}.settings-card__body h2{margin:.35rem 0 .5rem;color:var(--text);font-size:var(--header-size);letter-spacing:-.02em}.settings-card__body p:last-child{margin:0}.settings-card__body--action{display:flex;gap:1.25rem;align-items:center;justify-content:space-between}.settings-file-action{display:flex;min-height:3.25rem;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:0 1.35rem;color:var(--accent);cursor:pointer;font-weight:600}.settings-file-action:after{content:"Choose";color:var(--accent)}.settings-file-action input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.backup-preview,.settings-message{border-top:1px solid var(--line)}.backup-preview__title{margin:0 0 .6rem;color:var(--text)!important;font-weight:600}.backup-preview ul{margin:0 0 1.15rem;padding-left:1.2rem;color:var(--muted);line-height:1.65}.primary-action,.secondary-action{min-height:2.75rem;border-radius:.8rem;padding:.7rem 1rem;cursor:pointer;font-weight:600}.primary-action{width:100%;border:1px solid var(--accent);background:var(--accent);color:var(--surface-solid)}.secondary-action{flex:0 0 auto;border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--accent)}.primary-action:disabled,.secondary-action:disabled{cursor:wait;opacity:.6}.settings-message{margin:0!important;padding:.9rem 1.35rem;font-weight:600}.settings-message--error{color:var(--danger)!important;background:var(--danger-soft)}.settings-message--success{color:var(--good)!important;background:var(--good-soft)}@media(max-width:34rem){.settings-card__body--action{align-items:stretch;flex-direction:column}.secondary-action{width:100%}}.home-page,.roster-page,.pay-page,.logbook-page,.settings-page{--tab-header-space: 5.4rem;padding-top:calc(env(safe-area-inset-top,0px) + var(--tab-header-space) + 6mm)}.suite-header,.suite-page-header,.logbook-header,.settings-header{position:fixed;z-index:15;top:0;left:50%;box-sizing:border-box;width:100%;height:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm + 3.9rem);max-width:none;margin:0;padding-top:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm);padding-right:max(1rem,env(safe-area-inset-right,0px));padding-bottom:1.15rem;padding-left:max(1rem,env(safe-area-inset-left,0px));transform:translate(-50%);overflow:hidden;border:1px solid var(--surface);border-top:0;background:linear-gradient(180deg,var(--surface),var(--accent-soft));box-shadow:inset 0 -1px 0 var(--surface),0 .55rem 1.5rem var(--accent-soft);backdrop-filter:blur(28px) saturate(1.32);-webkit-backdrop-filter:blur(28px) saturate(1.32)}.suite-header h1,.suite-page-header h1,.logbook-header h1,.settings-header h1{position:relative;z-index:1;color:var(--text);text-shadow:0 1px 0 var(--surface-strong),0 0 12px var(--surface)}.suite-page-header,.logbook-header,.settings-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.tab-header__identity{display:grid;min-width:0;gap:.12rem}.suite-page-header .tab-header__identity h1,.logbook-header .tab-header__identity h1,.settings-header .tab-header__identity h1{overflow:hidden;margin:0;font-size:var(--title-size);line-height:1;letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap}.suite-page-header .tab-header__identity p,.logbook-header .tab-header__identity p,.settings-header .tab-header__identity p{margin:0;font-size:var(--caption-size);line-height:1.15}.tab-page-note,.settings-intro--body{box-sizing:border-box;margin:0 0 .75rem;border:1px solid var(--surface);border-radius:.85rem;padding:.65rem .75rem;background:var(--surface);box-shadow:0 .3rem .9rem var(--accent-soft);color:var(--muted);font-size:var(--caption-size);line-height:1.4;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}.logbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;border:1px solid var(--surface);border-radius:1rem;padding:.65rem;background:var(--surface);box-shadow:0 .3rem .9rem var(--accent-soft);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}.logbook-toolbar .logbook-header__intro{min-width:0;font-size:var(--caption-size);line-height:1.35}.settings-intro--body{max-width:none}.roster-day-card{scroll-margin-top:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm + 4.4rem)}@media(max-width:38rem){.logbook-toolbar{align-items:stretch;flex-direction:column}}.roster-header__title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.roster-header__import{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--accent-soft);border-radius:.75rem;padding:0 .75rem;background:var(--surface);box-shadow:0 .25rem .8rem var(--line);color:var(--accent);cursor:pointer;font-size:var(--caption-size);font-weight:600;white-space:nowrap}.roster-header__import>span{color:inherit;font-size:var(--header-size);line-height:1}.roster-header__import:disabled{cursor:wait;opacity:.62}.primary-tab-header{position:fixed;z-index:30;top:0;left:0;display:flex;width:100%;height:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm + 3.9rem);box-sizing:border-box;align-items:flex-end;justify-content:space-between;gap:.75rem;overflow:hidden;border:1px solid var(--surface);border-top:0;padding:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm) max(1rem,env(safe-area-inset-right,0px)) 1.15rem max(1rem,env(safe-area-inset-left,0px));background:linear-gradient(180deg,var(--surface),var(--accent-soft));box-shadow:inset 0 -1px 0 var(--surface),0 .55rem 1.5rem var(--accent-soft);backdrop-filter:blur(28px) saturate(1.32);-webkit-backdrop-filter:blur(28px) saturate(1.32)}.primary-tab-header__titles{position:relative;min-width:0;height:var(--title-line);flex:1}.primary-tab-header__accessible-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.primary-tab-header__titles span{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;color:var(--text);font-size:var(--title-size);font-weight:600;letter-spacing:-.06em;line-height:1;opacity:0;text-overflow:ellipsis;text-shadow:0 1px 0 var(--surface-strong),0 0 12px var(--surface);transform:translate3d(0,.18rem,0);will-change:opacity,transform;transition:opacity .28s ease-in-out,transform .34s cubic-bezier(.22,.8,.2,1);white-space:nowrap}.primary-tab-header__titles span.is-visible{opacity:1;transform:translateZ(0)}.primary-tab-header__aims{display:inline-flex;min-height:2.25rem;flex:0 0 auto;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--accent-soft);border-radius:.75rem;padding:0 .75rem;background:var(--surface);box-shadow:0 .25rem .8rem var(--line);color:var(--accent);cursor:pointer;font-size:var(--caption-size);font-weight:600;white-space:nowrap}.primary-tab-header__aims>span{font-size:var(--header-size);line-height:1}.primary-tab-pager{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;display:flex;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.primary-tab-pager::-webkit-scrollbar{display:none}.primary-tab-pager__page{flex:0 0 100%;width:100%;height:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-align:start;scroll-snap-stop:normal;scrollbar-width:none;-webkit-overflow-scrolling:touch}.primary-tab-pager__page::-webkit-scrollbar{display:none}.primary-tab-pager__page>.home-page,.primary-tab-pager__page>.roster-page,.primary-tab-pager__page>.pay-page,.primary-tab-pager__page>.logbook-page,.primary-tab-pager__page>.settings-page{min-height:100%;padding-top:0;padding-bottom:calc(6.5rem + env(safe-area-inset-bottom,0px))}.primary-tab-pager__page .suite-header,.primary-tab-pager__page .suite-page-header,.primary-tab-pager__page .logbook-header,.primary-tab-pager__page .settings-header{position:sticky;top:0;left:auto;width:100vw;margin-right:calc((100% - 100vw)/2);margin-bottom:1.4rem;margin-left:calc((100% - 100vw)/2);transform:none;border-color:transparent;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.primary-tab-pager__page .suite-header>*,.primary-tab-pager__page .suite-page-header .tab-header__identity,.primary-tab-pager__page .logbook-header .tab-header__identity,.primary-tab-pager__page .settings-header .tab-header__identity,.primary-tab-pager__page .suite-page-header .roster-header__import{visibility:hidden}.tab-dock{--tab-progress: 0;overflow:hidden}.tab-dock__indicator{position:absolute;z-index:0;box-sizing:border-box;top:var(--tab-dock-inset);bottom:var(--tab-dock-inset);left:var(--tab-dock-inset);width:calc((100% - 2 * var(--tab-dock-inset)) / var(--tab-count));border-radius:.9rem;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft);transform:translate3d(calc(var(--tab-progress) * 100%),0,0);will-change:transform}.tab-dock__item{position:relative;z-index:1}.tab-dock__item--active{background:transparent;box-shadow:none}.aims-import-sheet__file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.roster-page>.roster-import-error{margin:0 0 .7rem;border-radius:.8rem;padding:.7rem .8rem;background:var(--danger-soft)}.roster-empty-card--compact{min-height:9rem}@media(max-width:23rem){.roster-header__import{width:2.25rem;padding:0;overflow:hidden;color:transparent}.roster-header__import>span{color:var(--accent)}}.aims-import-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:var(--line-strong);animation:aims-overlay-in .16s ease-out both}.aims-import-sheet{box-sizing:border-box;width:min(100%,31rem);margin-bottom:max(.5rem,env(safe-area-inset-bottom,0px));border:1px solid var(--surface);border-radius:1.5rem;padding:.55rem 1.1rem 1rem;background:var(--surface-strong);box-shadow:0 1.25rem 3.75rem var(--line-strong);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);animation:aims-sheet-in .24s cubic-bezier(.32,.72,0,1) both}.aims-import-sheet__handle{width:2.25rem;height:.3rem;margin:0 auto .75rem;border-radius:999px;background:var(--line)}.aims-import-sheet h2{margin:0 0 .35rem;color:var(--text);font-size:var(--header-size);letter-spacing:-.035em}.aims-import-sheet p{margin:0;color:var(--muted);font-size:var(--caption-size);line-height:1.45}.aims-import-sheet .aims-import-sheet__note{margin-top:.45rem;font-size:var(--caption-size);opacity:.82}.aims-import-sheet__primary,.aims-import-sheet__file,.aims-import-sheet__cancel{display:flex;box-sizing:border-box;width:100%;min-height:3rem;align-items:center;justify-content:center;border-radius:.9rem;padding:.7rem 1rem;cursor:pointer;font-size:var(--body-size);font-weight:600;text-align:center;text-decoration:none}.aims-import-sheet__primary{margin-top:.9rem;border:0;background:var(--accent);box-shadow:0 .45rem 1rem var(--accent-soft);color:var(--surface-solid)}.aims-import-sheet__file{margin-top:.55rem;border:1px solid var(--line);background:var(--bg);color:var(--text)}.aims-import-sheet__file.is-disabled{cursor:wait;opacity:.62}.aims-import-sheet .aims-import-sheet__status,.aims-import-sheet .aims-import-sheet__error{min-height:1.15rem;margin-top:.5rem;font-size:var(--caption-size)}.aims-import-sheet .aims-import-sheet__error{border-radius:.7rem;padding:.65rem .7rem;background:var(--danger-soft);color:var(--danger)}.aims-import-sheet__cancel{margin-top:.2rem;border:0;background:transparent;color:var(--muted)}.aims-import-sheet__cancel:disabled{cursor:wait;opacity:.45}@keyframes aims-overlay-in{0%{opacity:0}}@keyframes aims-sheet-in{0%{transform:translateY(2rem);opacity:.65}}@media(prefers-reduced-motion:reduce){.aims-import-overlay,.aims-import-sheet{animation:none}}html,body,*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}.pay-pdf-check{margin-top:0;margin-bottom:.75rem}.pay-setup{gap:.82rem;padding:.9rem}.pay-setup label{grid-template-columns:minmax(0,1fr) 2.4rem minmax(7.6rem,.92fr);gap:.55rem;min-width:0}.pay-setup label>span{min-width:0;text-align:right}.pay-setup input{box-sizing:border-box;width:100%;min-height:2.8rem}@media(max-width:23rem){.pay-setup label{grid-template-columns:minmax(0,1fr) auto}.pay-setup input{grid-column:1 / -1;text-align:left}}.home-report-countdown{grid-template-columns:auto minmax(0,1fr);align-items:center}.home-report-countdown strong{justify-self:end;min-width:0;font-size:var(--number-size);text-align:right;white-space:nowrap}.home-crew-list{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--surface-solid);box-shadow:0 .35rem 1.2rem var(--line)}.home-crew-row{display:flex;min-height:3.65rem;align-items:center;gap:.7rem;border-top:1px solid var(--line);padding:.55rem .72rem}.home-crew-row:first-child{border-top:0}.home-crew-row b{display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:var(--caption-size)}.home-crew-row span{display:grid;min-width:0;gap:.1rem}.home-crew-row strong{overflow:hidden;color:var(--text);font-size:var(--caption-size);text-overflow:ellipsis;white-space:nowrap}.home-crew-row small{color:var(--muted);font-size:var(--caption-size)}.roster-duty-list{gap:.72rem}.roster-duty-card{border:1px solid var(--line);border-radius:1.45rem;background:var(--surface-strong);box-shadow:0 .28rem .9rem var(--line)}.roster-day-card:has(.roster-sector):not(.roster-day-card--off):not(.roster-day-card--doff){border-color:var(--accent-soft);background:var(--accent-soft)}.roster-day-card--off,.roster-day-card--doff{border-color:var(--good-soft);background:var(--good-soft);box-shadow:none}.roster-duty-card>header{min-height:4.55rem;box-sizing:border-box;padding:.82rem 1rem .7rem}.roster-duty-card>header p{color:var(--muted);font-size:var(--caption-size);letter-spacing:.1em}.roster-duty-card>header h2{margin-top:.2rem;color:var(--text);font-size:var(--header-size);line-height:1;letter-spacing:-.05em}.roster-duty-card>header>span{align-self:flex-start;padding-top:.12rem;color:var(--muted);font-size:var(--caption-size)}.roster-duty-card__sectors{border-top-color:var(--accent-soft)}.roster-sector,.roster-activity{min-height:4.15rem;box-sizing:border-box;padding:.7rem 1rem}.roster-sector{border-top-color:var(--accent-soft)}.roster-sector strong{color:var(--text);font-size:var(--header-size);letter-spacing:-.035em}.roster-sector i{color:var(--highlight)}.roster-sector small,.roster-activity small{margin-top:.16rem;color:var(--muted);font-size:var(--caption-size)}.roster-sector>span{color:var(--text);font-size:var(--caption-size)}.roster-day-card--off .roster-activity strong,.roster-day-card--doff .roster-activity strong{color:var(--good);font-size:var(--header-size)}.home-hero__actions{margin-top:1rem}.home-destination-weather{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:var(--bg)}.home-destination-weather>button{display:flex;width:100%;min-height:3.35rem;align-items:center;gap:.65rem;border:0;padding:.55rem .7rem;background:transparent;color:var(--text);text-align:left}.home-destination-weather.is-expandable>button{cursor:pointer}.home-destination-weather>button:disabled{opacity:1}.home-destination-weather>button>b{font-size:var(--header-size);font-weight:400}.home-destination-weather>button>span{display:grid;min-width:0;gap:.08rem;flex:1}.home-destination-weather>button small{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.09em}.home-destination-weather>button strong{overflow:hidden;color:var(--text);font-size:var(--caption-size);text-overflow:ellipsis;white-space:nowrap}.home-destination-weather>button>i{color:var(--muted);font-size:var(--header-size);font-style:normal}.home-destination-weather__forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.3rem,1fr));gap:.35rem;border-top:1px solid var(--line);padding:.55rem .7rem .7rem}.home-destination-weather__forecast span{display:grid;gap:.15rem;border-radius:.6rem;padding:.45rem;background:var(--surface-solid)}.home-destination-weather__forecast small{color:var(--muted);font-size:var(--caption-size);font-weight:600}.home-destination-weather__forecast strong{color:var(--text);font-size:var(--caption-size)}.home-destination-weather__forecast p{grid-column:1 / -1;margin:0;color:var(--muted);font-size:var(--caption-size)}.home-hero--escrew{border-color:var(--line);border-radius:1.35rem;padding:.92rem;background:var(--surface-strong);box-shadow:0 .45rem 1.35rem var(--line)}.home-hero--escrew .home-hero__eyebrow{color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.12em}.home-hero--escrew .home-route{gap:.52rem;margin:.72rem 0 .32rem}.home-hero--escrew .home-route strong{font-size:var(--title-size);line-height:.95}.home-hero--escrew .home-route small{margin-top:.18rem;font-size:var(--caption-size);letter-spacing:.11em}.home-hero--escrew .home-route__plane{width:1.95rem;height:1.22rem;fill:var(--highlight)}.home-hero--escrew .home-flight-meta{display:inline-flex;box-sizing:border-box;width:fit-content;max-width:100%;margin:.42rem 0 0!important;border-radius:.62rem;padding:.27rem .5rem;background:var(--accent-soft);color:var(--accent)!important;font-size:.67rem!important;font-weight:600;letter-spacing:.025em}.home-hero--escrew .home-report-countdown{min-height:2.85rem;margin-top:.62rem;border-color:var(--accent-soft);border-radius:.82rem;padding:.5rem .64rem;background:var(--accent-soft)}.home-hero--escrew .home-report-countdown span{color:var(--muted);font-size:var(--caption-size);letter-spacing:.11em}.home-hero--escrew .home-report-countdown strong{color:var(--accent);font-size:var(--number-size)}.home-hero--escrew .home-time-grid{gap:0;margin-top:.72rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.66rem 0}.home-hero--escrew .home-time-grid>div{min-height:2.35rem;border:0;border-left:1px solid var(--line);border-radius:0;padding:.02rem .58rem;background:transparent}.home-hero--escrew .home-time-grid>div:first-child{border-left:0;padding-left:0}.home-hero--escrew .home-time-grid>div:last-child{padding-right:0}.home-hero--escrew .home-time-grid span{font-size:var(--caption-size);letter-spacing:.08em}.home-hero--escrew .home-time-grid strong{font-size:var(--body-size)}.home-hero--escrew .home-hero__actions{margin-top:.2rem;border-top:0;padding-top:0}.home-hero--escrew .home-destination-weather{border:0;border-radius:0;background:transparent}.home-hero--escrew .home-destination-weather>button{min-height:2.9rem;padding:.48rem 0}.home-hero--escrew .home-destination-weather>button>b{width:1.35rem;font-size:var(--header-size);text-align:center}.home-hero--escrew .home-destination-weather>button small{font-size:var(--caption-size)}.home-hero--escrew .home-destination-weather__forecast{border-top-color:var(--line);padding-right:0;padding-bottom:.6rem;padding-left:0}.home-stats--escrew{gap:.62rem;margin-top:.68rem}.home-stats--escrew>div{min-height:4.45rem;border-color:var(--line);border-radius:1.15rem;padding:.78rem .86rem;background:var(--surface-strong);box-shadow:0 .3rem .95rem var(--line)}.home-stats--escrew span{font-size:var(--caption-size);font-weight:600;letter-spacing:.1em}.home-stats--escrew strong{margin-top:.03rem;font-size:var(--header-size)}.home-section--crew{margin-top:1.35rem}.home-section--crew .home-section__title{margin-right:.1rem;margin-left:.1rem}.home-section--crew .home-section__title p{font-size:var(--caption-size);letter-spacing:.13em}.home-section--crew .home-section__title h2{font-size:var(--header-size)}.home-section--crew .home-crew-list{border:0;border-radius:0;background:transparent;box-shadow:none}.home-section--crew .home-crew-row{min-height:3.45rem;padding-right:.15rem;padding-left:.15rem}.home-section--crew .home-crew-row b{width:2rem;height:2rem;background:var(--accent-soft)}.home-section--crew .home-crew-row strong{font-size:var(--caption-size)}.roster-timeline{display:grid;gap:.68rem;border:1px solid var(--accent-soft);border-radius:1.45rem;padding:.52rem;background:var(--surface);box-shadow:0 .34rem 1.05rem var(--line)}.roster-timeline__day{display:grid;gap:.68rem;scroll-margin-top:calc(max(.7rem,env(safe-area-inset-top,0px)) + 6mm + 4.4rem)}.roster-timeline-card{display:grid;gap:.28rem;box-sizing:border-box;min-width:0;border:1px solid var(--line);border-radius:1.12rem;padding:.84rem .88rem .8rem;background:var(--surface-strong);box-shadow:0 .3rem 1rem var(--line);color:var(--text);text-decoration:none}.roster-timeline-card--flight{border-color:var(--accent-soft);background:var(--accent-soft)}.roster-timeline-card__top{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:.65rem}.roster-timeline-card__top p{min-width:0;margin:0;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.095em;line-height:1.2}.roster-timeline-card__top>span{flex:0 1 auto;overflow:hidden;color:var(--muted);font-size:var(--caption-size);font-weight:600;letter-spacing:.02em;text-align:right;text-overflow:ellipsis;white-space:nowrap}.roster-timeline-card h2,.roster-timeline-card--flight>strong{display:block;margin:.12rem 0 0;color:var(--text);font-size:var(--header-size);font-weight:600;letter-spacing:-.045em;line-height:1.1}.roster-timeline-card--flight>strong{font-size:var(--header-size)}.roster-timeline-card>p{overflow:hidden;margin:.06rem 0 0;color:var(--muted);font-size:var(--caption-size);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.roster-timeline-card>small{margin-top:.08rem;color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--caption-size);font-weight:600}.roster-timeline__day--off .roster-timeline-card--activity{border-color:var(--good-soft);background:var(--good-soft)}.roster-timeline__day--off .roster-timeline-card--activity h2,.roster-timeline__day--off .roster-timeline-card--activity .roster-timeline-card__top>span{color:var(--good)}.roster-timeline__day--doff .roster-timeline-card--activity{border-color:var(--good-soft);background:var(--good-soft)}.roster-timeline__day--doff .roster-timeline-card--activity h2,.roster-timeline__day--doff .roster-timeline-card--activity .roster-timeline-card__top>span{color:var(--good)}.roster-timeline__day--today .roster-timeline-card{border-color:var(--accent-soft);background:var(--accent-soft);box-shadow:0 .5rem 1.25rem var(--accent-soft)}.roster-timeline-card .roster-today-label{display:inline-block;vertical-align:.05rem;margin-left:.38rem;border-radius:999px;padding:.12rem .34rem;background:var(--accent);color:var(--surface-solid);font-size:var(--caption-size);letter-spacing:.07em}@media(max-width:22rem){.home-hero--escrew .home-time-grid>div{padding-right:.38rem;padding-left:.38rem}.home-hero--escrew .home-time-grid strong{font-size:var(--caption-size)}.roster-timeline-card{padding-right:.76rem;padding-left:.76rem}.roster-timeline-card__top>span{max-width:46%;font-size:var(--caption-size)}}@media(max-width:31rem){.logbook-header__actions{grid-template-columns:repeat(3,minmax(0,1fr))}.logbook-header__actions .logbook-settings-link:first-child{display:inline-flex}.logbook-settings-link,.logbook-new-link{min-width:0;padding-right:.38rem;padding-left:.38rem;font-size:var(--caption-size);white-space:nowrap}}.roster-timeline__day--flight .roster-timeline-card--flight,.roster-timeline__day--today.roster-timeline__day--flight .roster-timeline-card--flight{border-color:var(--accent-soft);background:var(--accent-soft)}.roster-timeline-card--hotel{gap:.24rem}.roster-timeline-card--hotel h2{font-size:var(--header-size);letter-spacing:-.032em}.roster-hotel-info{display:grid;gap:.16rem;margin-top:.12rem;color:var(--text);font-size:var(--caption-size);line-height:1.32}.roster-hotel-info span,.roster-hotel-info a{overflow-wrap:anywhere}.roster-hotel-info a{width:fit-content;color:var(--accent);font-weight:600;text-decoration:none}:root{--tab-dock-safe-clearance: 8.25rem}.app-frame__content{padding-bottom:calc(var(--tab-dock-safe-clearance) + env(safe-area-inset-bottom,0px))}.primary-tab-pager__page>.home-page,.primary-tab-pager__page>.roster-page,.primary-tab-pager__page>.pay-page,.primary-tab-pager__page>.logbook-page,.primary-tab-pager__page>.settings-page{padding-bottom:calc(var(--tab-dock-safe-clearance) + env(safe-area-inset-bottom,0px) + 1rem)}.primary-tab-header{isolation:isolate;border-color:var(--surface);background:linear-gradient(180deg,var(--surface) 0%,var(--accent-soft) 64%,var(--accent-soft) 100%);box-shadow:inset 0 -1px 0 var(--surface),inset 0 1px 0 var(--surface),0 .7rem 1.6rem var(--accent-soft);backdrop-filter:blur(32px) saturate(1.55);-webkit-backdrop-filter:blur(32px) saturate(1.55)}.primary-tab-header:after{content:"";position:absolute;z-index:-1;top:0;right:0;left:0;height:max(.7rem,env(safe-area-inset-top,0px));pointer-events:none;background:linear-gradient(180deg,var(--surface),transparent)}.tab-dock{border-color:var(--surface);background:linear-gradient(135deg,var(--surface),var(--accent-soft) 52%,var(--surface));box-shadow:inset 0 1px 0 var(--surface-strong),0 .7rem 2rem var(--line-strong);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6)}.tab-dock__indicator{overflow:hidden;border:1px solid var(--surface-strong);background:linear-gradient(135deg,var(--surface-strong) 0%,var(--accent-soft) 52%,var(--surface) 100%);box-shadow:inset 0 1px 0 var(--surface-strong),inset 0 -1px 0 var(--accent-soft),0 .38rem .95rem var(--accent-soft);backdrop-filter:blur(18px) saturate(1.85);-webkit-backdrop-filter:blur(18px) saturate(1.85)}.tab-dock__indicator:before{content:"";position:absolute;top:1px;right:.45rem;left:.45rem;height:42%;border-radius:inherit;background:linear-gradient(180deg,var(--surface),transparent);pointer-events:none}.tab-dock__item--active{color:var(--accent)}.tab-dock__item--active>span:first-child{color:var(--accent)}.aims-import-overlay{box-sizing:border-box;overflow-y:auto;padding:1rem max(1rem,env(safe-area-inset-right,0px)) calc(var(--tab-dock-safe-clearance) + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.aims-import-sheet{margin-bottom:0}.pdf-import-page,.pdf-review-page,.entry-editor-page{padding-bottom:calc(var(--tab-dock-safe-clearance) + env(safe-area-inset-bottom,0px) + 1rem)}.pdf-review-actions{bottom:calc(var(--tab-dock-safe-clearance) + env(safe-area-inset-bottom,0px))}.tab-dock{background:radial-gradient(150% 125% at 50% -42%,var(--surface-strong) 0%,transparent 62%),linear-gradient(180deg,var(--surface) 0%,var(--accent-soft) 100%)}.tab-dock__indicator{right:auto;background:radial-gradient(135% 95% at 50% 0%,var(--surface-strong) 0%,transparent 62%),linear-gradient(180deg,var(--surface-strong) 0%,var(--accent-soft) 100%)}.settings-theme-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;border-top:1px solid var(--line);padding:.55rem;background:var(--accent-soft)}.settings-theme-picker button{min-height:2.5rem;border:1px solid transparent;border-radius:.72rem;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--caption-size);font-weight:600}.settings-theme-picker button.is-selected{border-color:var(--accent-soft);background:var(--surface);box-shadow:0 .25rem .7rem var(--line-strong),inset 0 1px 0 var(--surface-strong);color:var(--accent)}html.theme-dark,html.theme-dark body{color-scheme:dark;background:var(--bg);color:var(--text)}.primary-tab-header__accessible-title,.primary-tab-header__titles span,.suite-header h1,.suite-page-header h1,.logbook-header h1,.settings-header h1,.flight-detail-page h1,.pay-page h1{font-size:var(--title-size);font-weight:var(--weight-title);line-height:var(--title-line);letter-spacing:-.02em}.home-section__title h2,.settings-card h2,.roster-empty-card h2,.logbook-empty h2,.month-card>header h2{font-size:var(--header-size);font-weight:var(--weight-header);line-height:var(--header-line);letter-spacing:-.01em}.suite-header p,.suite-page-header p,.home-section__title p,.home-hero__eyebrow,.logbook-header__eyebrow,.settings-eyebrow,.flight-detail__eyebrow{font-size:var(--caption-size);font-weight:500;line-height:var(--caption-line);letter-spacing:.12em;text-transform:uppercase}.home-stats strong,.home-time-grid strong,.home-report-countdown strong,.home-destination-weather strong,.logbook-summary strong,.month-card__total,.pay-result h2,.pay-result strong,.pay-audit strong,.pay-audit__sectors strong,.roster-timeline-card__top span,.year-chip{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-number)}:is(.home-hero,.home-crew-list,.home-recent-list,.home-stats>div,.home-empty,.roster-empty-card,.roster-timeline-card,.flight-detail-hero,.flight-detail-card,.pay-setup,.pay-result,.pay-source-list,.pay-audit,.logbook-empty,.logbook-summary,.month-card,.settings-card,.pdf-import-card,.pdf-review-summary,.pdf-candidate,.entry-form__card){border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card)}.tab-dock{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--tab-glass);box-shadow:var(--shadow-card);backdrop-filter:var(--blur-tab);-webkit-backdrop-filter:var(--blur-tab)}.tab-dock__item{color:var(--muted)}.tab-dock__item--active,.tab-dock__item--active>span:first-child{color:var(--accent)}.primary-tab-header{border-color:var(--header-border);background:var(--header-glass);box-shadow:var(--header-shadow);backdrop-filter:var(--blur-header);-webkit-backdrop-filter:var(--blur-header)}.primary-tab-header:after{background:var(--header-sheen)}.primary-tab-header__titles span,.suite-header h1,.suite-page-header h1,.logbook-header h1,.settings-header h1{color:var(--text);text-shadow:var(--header-title-shadow)}.roster-timeline{border:0;border-radius:0;padding:0;background:none;box-shadow:none}.roster-timeline-card,.roster-timeline-card--flight,.roster-timeline__day--off .roster-timeline-card--activity,.roster-timeline__day--doff .roster-timeline-card--activity,.roster-timeline__day--today .roster-timeline-card,.roster-timeline__day--flight .roster-timeline-card--flight,.roster-timeline__day--today.roster-timeline__day--flight .roster-timeline-card--flight{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card)}.roster-timeline__day--today .roster-timeline-card__top p{color:var(--accent)}.roster-timeline__day--off .roster-timeline-card--activity .roster-timeline-card__top>span,.roster-timeline__day--doff .roster-timeline-card--activity .roster-timeline-card__top>span{border-radius:var(--radius-pill);padding:.15rem .5rem;background:var(--good-soft);color:var(--good);font-family:var(--font-mono);font-size:var(--caption-size)}.roster-timeline__day--off .roster-timeline-card--activity h2,.roster-timeline__day--doff .roster-timeline-card--activity h2{color:var(--text)}.roster-timeline-card h2{font-size:var(--header-size);font-weight:var(--weight-header);line-height:var(--header-line);letter-spacing:-.01em}.roster-timeline-card__top p,.roster-timeline-card__top>span{font-size:var(--caption-size);line-height:var(--caption-line)}.home-destination-weather strong{font-family:var(--font-sans);font-variant-numeric:normal;font-weight:var(--weight-header)}.roster-timeline-card h2,.roster-timeline-card--flight>strong,.roster-timeline-card--flight>strong:only-of-type{font-size:var(--header-size);font-weight:var(--weight-header);line-height:var(--header-line);letter-spacing:-.01em}.roster-timeline-card--flight>strong i{color:var(--highlight);font-style:normal}.home-report-countdown strong,.home-time-grid strong,.pay-result h2,.month-card__total,.logbook-summary strong{font-size:var(--number-size);font-weight:var(--weight-number);line-height:var(--header-line);letter-spacing:0}.logbook-settings-link,.pay-source-list button,.settings-theme-picker button{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-family:inherit;font-size:var(--caption-size);font-weight:var(--weight-header)}.logbook-new-link,.pay-source-list button.is-active{border:1px solid transparent;background:var(--accent);color:var(--accent-ink)}:is(input,textarea,select){border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-solid);color:var(--text);font-family:inherit;font-size:var(--body-size)}.pay-pdf-check{border:0;border-radius:0;padding:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.pay-setup label>span{justify-self:end;white-space:nowrap}.roster-timeline__day .roster-timeline-card--flight{background:linear-gradient(0deg,var(--tint-flight),var(--tint-flight)),var(--surface)}.roster-timeline__day--off .roster-timeline-card--activity,.roster-timeline__day--doff .roster-timeline-card--activity,.roster-timeline__day .roster-timeline-card--vac,.roster-timeline__day .roster-timeline-card--off,.roster-timeline__day .roster-timeline-card--doff{background:linear-gradient(0deg,var(--tint-rest),var(--tint-rest)),var(--surface)}.roster-timeline__day .roster-timeline-card--grtc,.roster-timeline__day .roster-timeline-card--simt,.roster-timeline__day .roster-timeline-card--sim,.roster-timeline__day .roster-timeline-card--opc,.roster-timeline__day .roster-timeline-card--lpc,.roster-timeline__day .roster-timeline-card--trn,.roster-timeline__day [class*=roster-timeline-card--asm],.roster-timeline__day [class*=roster-timeline-card--med]{background:linear-gradient(0deg,var(--tint-training),var(--tint-training)),var(--surface)}.roster-timeline__day .roster-timeline-card--avlb,.roster-timeline__day .roster-timeline-card--homx,.roster-timeline__day .roster-timeline-card--stby{background:linear-gradient(0deg,var(--tint-standby),var(--tint-standby)),var(--surface)}.roster-timeline__day .roster-timeline-card--hotel{background:linear-gradient(0deg,var(--tint-hotel),var(--tint-hotel)),var(--surface)}.roster-timeline__day .roster-timeline-card--sick,.roster-timeline__day .roster-timeline-card--uff{background:linear-gradient(0deg,var(--tint-absence),var(--tint-absence)),var(--surface)}.roster-timeline__day--today .roster-timeline-card{border-color:var(--accent)}.roster-timeline__day--off .roster-timeline-card--activity .roster-timeline-card__top>span,.roster-timeline__day--doff .roster-timeline-card--activity .roster-timeline-card__top>span{background:var(--good-soft);color:var(--good)}.roster-card-weather{display:flex;align-items:baseline;gap:.4rem;margin:.45rem 0 0;border-top:1px solid var(--line);padding-top:.4rem;color:var(--muted);font-size:var(--caption-size);line-height:var(--caption-line)}.roster-card-weather b{font-size:var(--body-size);line-height:1}.roster-card-weather span{font-weight:var(--weight-header);letter-spacing:.04em}.roster-card-weather em{flex:1;overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.roster-card-weather strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-number);white-space:nowrap}.flight-popup-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:var(--popup-scrim);animation:aims-overlay-in .16s ease-out both}.flight-popup{box-sizing:border-box;width:min(100%,31rem);max-height:82dvh;overflow-y:auto;margin-bottom:max(.5rem,env(safe-area-inset-bottom,0px));border:1px solid var(--header-border);border-radius:1.5rem;padding:.55rem 1.1rem 1.1rem;background:var(--popup-glass);box-shadow:var(--shadow-sheet);backdrop-filter:var(--blur-popup);-webkit-backdrop-filter:var(--blur-popup);animation:aims-sheet-in .24s cubic-bezier(.32,.72,0,1) both;transition:transform .26s cubic-bezier(.32,.72,0,1)}.flight-popup.is-dragging{transition:none}.flight-popup:focus{outline:none}.flight-popup__grab{padding-bottom:.1rem;cursor:grab;touch-action:none}.flight-popup__grab:active{cursor:grabbing}.flight-popup__handle{display:block;width:2.75rem;height:1.4rem;padding:0;border:0;margin:-.35rem auto .5rem;background:none;cursor:pointer}.flight-popup__handle:before{display:block;width:100%;height:.3rem;border-radius:var(--radius-pill);margin-top:.55rem;background:var(--line-strong);content:""}.flight-popup__handle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.flight-popup__head{display:grid;gap:.1rem}.flight-popup__head p{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--caption-size);font-variant-numeric:tabular-nums;letter-spacing:.06em}.flight-popup__head h2{margin:0;color:var(--text);font-size:var(--title-size);font-weight:var(--weight-title);line-height:var(--title-line);letter-spacing:-.02em}.flight-popup__head h2 i{color:var(--highlight);font-style:normal}.flight-popup__head span{color:var(--muted);font-size:var(--caption-size)}.flight-popup__times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.9rem;border-top:1px solid var(--line);padding-top:.85rem}.flight-popup__times>div{display:grid;gap:.1rem;min-width:0}.flight-popup__times span{color:var(--muted);font-size:var(--caption-size)}.flight-popup__times strong{color:var(--text);font-family:var(--font-mono);font-size:var(--number-size);font-variant-numeric:tabular-nums;font-weight:var(--weight-number)}.flight-popup__times small{color:var(--muted);font-size:.62rem;letter-spacing:.08em}.flight-popup__note{margin:.6rem 0 0;color:var(--muted);font-size:var(--caption-size)}.flight-popup__crew{margin-top:1rem;border-top:1px solid var(--line);padding-top:.85rem}.flight-popup__crew>p{margin:0 0 .5rem;color:var(--muted);font-size:var(--caption-size);font-weight:500;letter-spacing:.12em}.flight-popup__crew-row{display:flex;align-items:center;gap:.7rem;padding:.35rem 0}.flight-popup__crew-row b{display:grid;width:2.1rem;height:2.1rem;flex:none;place-items:center;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:var(--caption-size);font-weight:var(--weight-header)}.flight-popup__crew-row span{display:grid;min-width:0}.flight-popup__crew-row strong{color:var(--text);font-size:var(--body-size);font-weight:var(--weight-header)}.flight-popup__crew-row small,.flight-popup__empty{color:var(--muted);font-size:var(--caption-size)}.roster-timeline__day button.roster-timeline-card{width:100%;cursor:pointer;font:inherit;text-align:left}
