*{box-sizing:border-box}
.hidden{display:none!important}
:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;color-scheme:light dark}

.authPage{margin:0;min-height:100vh;background:#edf2f7;color:#142235;display:grid;place-items:center;padding:24px}
.authShell{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1fr);gap:28px;align-items:center}
.authBrand{padding:34px;display:flex;align-items:flex-start;gap:18px}
.authBrandMark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#1474d4,#194d8e);color:#fff;font-size:1.5rem;box-shadow:0 12px 28px rgba(20,78,142,.22)}
.authBrand h1{margin:4px 0 8px;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em}
.authBrand p{margin:0;max-width:420px;color:#627087;font-size:1rem;line-height:1.55}
.authCard{background:#fff;border:1px solid #dce4ed;border-radius:24px;box-shadow:0 2px 4px rgba(15,31,49,.06),0 22px 60px rgba(15,31,49,.13);padding:8px;overflow:hidden}
.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#eef3f7;border-radius:16px}
.authTabs button{border:0;border-radius:12px;min-height:42px;background:transparent;color:#647286;font:700 .88rem inherit}
.authTabs button.active{background:#fff;color:#1769c2;box-shadow:0 2px 7px rgba(15,31,49,.11)}
.authForm{display:grid;gap:16px;padding:26px}
.authForm h2{margin:3px 0 5px;font-size:1.45rem;letter-spacing:-.025em}.authForm p{margin:0;color:#66758a;line-height:1.45}
.eyebrow{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#1769c2}
.authForm label{display:grid;gap:7px;font-size:.78rem;font-weight:750;color:#43536a}
.authForm input{width:100%;min-height:48px;border:1px solid #cfd9e4;border-radius:13px;background:#f9fbfd;color:#132237;padding:0 14px;font:600 16px inherit;outline:0}
.authForm input:focus{border-color:#2977cc;box-shadow:0 0 0 4px rgba(41,119,204,.13);background:#fff}
.authPrimary{min-height:48px;border:0;border-radius:13px;background:#1769c2;color:#fff;font:800 .92rem inherit;box-shadow:0 5px 14px rgba(23,105,194,.24)}
.authLink{border:0;background:transparent;color:#1769c2;font:750 .82rem inherit;padding:4px}
.authHint{font-size:.76rem!important}.authStatus{min-height:24px;margin:0 26px 22px;color:#b22d3b;font-weight:700;font-size:.8rem}

.accountButton{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);font:750 .82rem inherit}
.accountAvatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:.72rem;font-weight:850}

.settingsShell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.settingsNav{position:sticky;top:84px;display:grid;gap:5px;padding:7px;background:var(--surface);border:1px solid var(--border);border-radius:17px;box-shadow:0 1px 2px rgba(15,31,49,.06),0 8px 24px rgba(15,31,49,.07)}
.settingsNav button{display:flex;align-items:center;gap:10px;width:100%;min-height:43px;padding:0 12px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:740 .82rem inherit;text-align:left}
.settingsNav button.active{background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--primary)}
.settingsNavIcon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);font-size:.85rem}
.settingsContent{display:grid;gap:15px;min-width:0}
.settingsSection{display:grid;gap:15px}
.settingsSectionHeader{padding:4px 4px 0}.settingsSectionHeader h3{margin:3px 0 4px;font-size:1.28rem;letter-spacing:-.025em}.settingsSectionHeader p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.45}
.settingsCard.compact{padding:18px}
.settingsCard .cardTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.settingsCard .cardTitleRow h4{margin:0;font-size:.96rem}.settingsCard .cardTitleRow p{margin:3px 0 0;color:var(--muted);font-size:.76rem}
.settingsStatus{padding:11px 13px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:650}

.libraryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.libraryAircraft{border:1px solid var(--border);border-radius:15px;background:var(--surface-2);padding:14px;display:grid;gap:10px}
.libraryAircraftHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.libraryAircraft h4{margin:0;font-size:.98rem}.libraryAircraft p{margin:3px 0 0;color:var(--muted);font-size:.75rem}
.libraryStatus{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.libraryStatus.active{background:rgba(24,155,92,.12);color:#198357}.libraryStatus.pending{background:rgba(221,145,22,.14);color:#a9650b}
.libraryMeta{display:grid;grid-template-columns:1fr 1fr;gap:7px}.libraryMeta div{padding:8px 9px;border-radius:10px;background:var(--surface)}.libraryMeta span{display:block;color:var(--muted);font-size:.65rem;font-weight:750}.libraryMeta strong{display:block;margin-top:3px;font-size:.76rem}
.libraryActions{display:flex;gap:7px}.libraryActions a,.libraryActions button{flex:1;display:grid;place-items:center;min-height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:750 .73rem inherit;text-decoration:none}
.uploadGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.uploadGrid label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:750}.uploadGrid .wide{grid-column:1/-1}.uploadGrid input,.uploadGrid select{min-height:44px}
.fileDrop{position:relative;min-height:116px;border:1px dashed color-mix(in srgb,var(--primary) 48%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));display:grid;place-items:center;text-align:center;padding:18px}.fileDrop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.fileDrop strong{display:block;font-size:.88rem}.fileDrop span{display:block;margin-top:4px;color:var(--muted);font-size:.73rem}
.settingsPrimary{min-height:42px;border:0;border-radius:11px;background:var(--primary);color:#fff;font:800 .8rem inherit;padding:0 15px}.settingsSecondary{min-height:40px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font:750 .78rem inherit;padding:0 13px}.dangerButton{color:#bd3442;border-color:rgba(189,52,66,.3)}
.accountSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.accountSummary div{padding:11px;border-radius:12px;background:var(--surface-2)}.accountSummary span{display:block;color:var(--muted);font-size:.67rem;font-weight:750}.accountSummary strong{display:block;margin-top:4px;font-size:.8rem;overflow-wrap:anywhere}
.userList{display:grid;gap:8px}.userRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.userRow h4{margin:0;font-size:.82rem}.userRow p{margin:3px 0 0;color:var(--muted);font-size:.7rem}.userActions{display:flex;gap:6px}.userActions button{min-height:34px;padding:0 9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:750 .68rem inherit}
.inviteOutput{padding:13px;border-radius:12px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));font-size:.78rem}.inviteOutput code{display:block;margin-top:7px;font:800 1rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}

.welcomeDialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,14,25,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.welcomeCard{width:min(520px,100%);border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:0 25px 80px rgba(4,13,23,.3);padding:28px}.welcomeIcon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary);font-size:1.35rem}.welcomeCard h2{margin:18px 0 7px;font-size:1.45rem;letter-spacing:-.03em}.welcomeCard p{margin:0;color:var(--muted);line-height:1.5}.welcomeActions{display:flex;gap:9px;margin-top:20px}.welcomeActions button{flex:1}

@media(prefers-color-scheme:dark){
  .authPage{background:#0d151f;color:#edf3fa}.authBrand p{color:#9cabbc}.authCard{background:#151f2b;border-color:#293647}.authTabs{background:#0f1822}.authTabs button{color:#93a2b5}.authTabs button.active{background:#202d3b;color:#7cb8ff}.authForm p,.authForm label{color:#a8b5c5}.authForm input{background:#101923;border-color:#334255;color:#f2f6fb}.authForm input:focus{background:#14202c}.authLink{color:#80baff}
}
@media(max-width:820px){
  .authShell{grid-template-columns:1fr}.authBrand{padding:8px 8px 2px}.authBrand p{display:none}.authBrandMark{width:44px;height:44px;border-radius:14px}.authBrand h1{font-size:1.45rem}
  .settingsShell{grid-template-columns:1fr}.settingsNav{position:static;display:flex;overflow-x:auto;scrollbar-width:none;padding:6px}.settingsNav::-webkit-scrollbar{display:none}.settingsNav button{flex:0 0 auto;width:auto;padding:0 11px}.settingsNavIcon{display:none}
}
@media(max-width:600px){
  .authPage{padding:10px}.authCard{border-radius:20px}.authForm{padding:21px 17px}.authStatus{margin:0 17px 18px}
  .uploadGrid,.accountSummary{grid-template-columns:1fr}.uploadGrid .wide{grid-column:auto}.welcomeActions{flex-direction:column}.userRow{grid-template-columns:1fr}.userActions{display:grid;grid-template-columns:1fr 1fr}
}
