@font-face{font-family:JetBrains Sans;src:url(../fonts/JetBrainsSans-Regular.woff2)}:root{--brand-primary: #e3182c;--brand-primary-dark: #a50f1e;--brand-primary-soft: #fff1f3;--brand-accent: #111827;--brand-surface: #ffffff;--brand-page: #f6f7f9;--brand-text: #111827;--brand-muted: #6b7280;--brand-border: #e2e8f0;color:var(--brand-text);background:var(--brand-page);font-family:JetBrains Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit}button{border:0}button,select{cursor:pointer}#app{min-height:100vh}.login-screen,.home-screen{min-height:100vh;padding:28px}.login-screen{display:grid;place-items:center;background:linear-gradient(135deg,#fff1f3f5,#ffffffeb 52%,#11182714),radial-gradient(circle at 80% 20%,rgba(227,24,44,.2),transparent 26%);background-color:var(--brand-page)}.login-card{display:grid;gap:24px;width:min(430px,100%);padding:28px;border-radius:8px;border:1px solid rgba(227,24,44,.14);background:var(--brand-surface);box-shadow:0 28px 90px #11182729}.brand-lockup{display:grid;place-items:center;padding:8px 4px 0}.brand-lockup img{width:min(300px,100%);max-height:140px;object-fit:contain}.login-card h1,.app-toolbar h1,.home-panel h2{margin:0;letter-spacing:0}.login-card h1{font-size:2.2rem;line-height:1.05}.login-card p,.home-panel p{margin:8px 0 0;color:var(--brand-muted)}.login-card form{display:grid;gap:14px}.form-error{margin:0;color:#b91c1c;font-size:.86rem;font-weight:800}.form-warning{margin:0;padding:10px 12px;border:1px solid #f59e0b;border-radius:7px;background:#fffbeb;color:#92400e;font-size:.86rem;font-weight:800}.snackbar{position:fixed;right:18px;bottom:92px;z-index:25;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 36px));padding:12px 14px;border:1px solid #fecaca;border-radius:8px;background:#991b1b;color:#fff;box-shadow:0 14px 36px #0f172a38}.snackbar span{min-width:0;font-size:.86rem;font-weight:800;overflow-wrap:anywhere}.snackbar button{flex:0 0 auto;min-height:32px;padding:0 10px;border-radius:7px;background:#ffffff29;color:#fff;font-weight:900}.link-button{min-height:36px;background:transparent;color:#475569;font-weight:800;text-align:left}.home-screen{display:grid;align-content:start;gap:22px;min-width:0;padding:28px;background:var(--brand-page)}.has-bottom-nav{padding-bottom:82px}.portal-title,.sidebar-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0}.portal-title h1,.sidebar-title h1{overflow-wrap:anywhere}.portal-title p:not(.eyebrow),.sidebar-title p{margin:4px 0 0;color:var(--brand-muted);font-size:.92rem}.portal-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:8px;background:var(--brand-primary);color:var(--brand-surface);font-size:.9rem;font-weight:900}.portal-mark.compact{width:auto;min-width:48px;height:48px;padding:0 8px;font-size:.76rem}.user-greeting{margin:0;color:var(--brand-accent);font-weight:800;white-space:nowrap}.home-grid{display:grid;grid-template-columns:1.35fr repeat(2,minmax(220px,.7fr));gap:14px;width:min(1180px,100%);margin:0 auto}.compact-home-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.home-panel{display:grid;align-content:start;gap:12px;min-height:190px;padding:22px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.home-panel h2{font-size:2rem}.booking-summary-panel,.compact-home-grid .booking-summary-panel{grid-column:auto}.home-summary-card{min-height:168px;align-content:space-between;gap:18px}.home-summary-card h2{font-size:1.36rem;line-height:1.15;overflow-wrap:anywhere}.home-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--brand-border)}.home-card-footer.action-only{justify-content:flex-end}.home-card-footer span{color:var(--brand-muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.inline-link-button{width:auto;min-height:0;padding:0;background:transparent;color:var(--brand-primary);font-size:.78rem;font-weight:900;text-align:right;text-decoration:underline;text-underline-offset:3px}.inline-link-button:disabled{color:var(--brand-muted);cursor:not-allowed}.tech-log-summary-panel{border-color:#e3182c33}.metar-panel{grid-column:1 / -1;gap:12px;min-height:0;border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-text)}.metar-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid var(--brand-border)}.station-title{display:flex;align-items:center;gap:12px}.category-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border:1px solid var(--brand-border);border-radius:999px;color:var(--brand-muted);font-size:.72rem;font-weight:900}.category-chip.vfr{border-color:#16a34a;background:#dcfce7;color:#166534}.category-chip.mvfr{border-color:#2563eb;background:#dbeafe;color:#1e40af}.category-chip.ifr{border-color:#dc2626;background:#fee2e2;color:#991b1b}.category-chip.lifr{border-color:#7c2d12;background:#ffedd5;color:#7c2d12}.metar-panel .eyebrow{color:var(--brand-primary)}.metar-panel h2{font-size:2rem;line-height:1}.metar-observed{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--brand-border);border-radius:999px;color:var(--brand-muted);font-size:.78rem;font-weight:900}.metar-observed svg{color:var(--brand-primary)}.metar-panel-loading{overflow:hidden}.skeleton-line,.skeleton-compass{position:relative;display:block;overflow:hidden;border-radius:999px;background:#e5e7eb}.skeleton-line:after,.skeleton-compass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.74),transparent);animation:shimmer 1.25s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-chip{width:54px;height:24px}.skeleton-text-long{width:min(280px,100%);height:13px;margin-top:10px}.skeleton-text-short{width:96px;height:12px}.skeleton-icon{width:18px;height:18px}.skeleton-observed{min-width:142px;border-color:var(--brand-border);background:#fff}.skeleton-label{width:58px;height:10px}.skeleton-value{width:76px;height:24px}.skeleton-value-small{width:68px;height:16px}.skeleton-subvalue{width:88px;height:10px}.metar-tile-skeleton{justify-items:center}.runway-wind-skeleton{align-items:center}.skeleton-compass{width:138px;height:138px;border-radius:999px;justify-self:center;background:#e5e7eb}.skeleton-raw{width:100%;height:14px}.report-block-skeleton{min-height:74px}.skeleton-report{width:100%;height:18px;margin-top:8px;border-radius:7px}.taf-board-skeleton .taf-row-label,.taf-board-skeleton .taf-cell{display:flex;align-items:center;justify-content:center}.skeleton-cell{width:72%;height:14px;border-radius:7px}.report-block{display:grid;gap:4px;padding:10px;border:1px solid var(--brand-border);border-radius:8px;background:#f9fafb}.report-block h3{display:flex;align-items:center;gap:6px;margin:0;color:var(--brand-accent);font-size:.76rem}.report-block h3 svg{color:var(--brand-primary)}.report-block p{margin:0;padding:7px 0 0;border-top:1px solid var(--brand-border);border-radius:7px;color:var(--brand-text);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.metar-summary{display:grid;gap:8px}.metar-summary h3{margin:0;color:var(--brand-accent);font-size:.84rem}.metar-summary>p{margin:0;color:var(--brand-muted)}.metar-tile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.metar-tile{display:grid;align-content:center;justify-items:center;gap:5px;min-height:88px;padding:10px;border:1px solid var(--brand-border);border-radius:8px;background:#fff;text-align:center}.metar-tile-label{display:flex;align-items:center;gap:6px;color:var(--brand-muted);font-size:.7rem;font-weight:900}.metar-tile-label svg{color:var(--brand-primary);font-size:1rem}.metar-tile strong{color:var(--brand-text);font-size:1.25rem;line-height:1.05}.metar-tile small{max-width:100%;color:var(--brand-muted);font-size:.72rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.metar-tile.highlight{border-color:#16a34a5c;background:#f0fdf4}.metar-tile.vfr{border-color:#22c55e;background:#f0fdf4}.metar-tile.mvfr{border-color:#60a5fa;background:#eff6ff}.metar-tile.ifr{border-color:#f87171;background:#fef2f2}.metar-tile.lifr{border-color:#fb923c;background:#fff7ed}.metar-raw{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px;border:1px solid var(--brand-border);border-radius:8px;background:#f9fafb}.metar-raw svg{flex:0 0 auto;color:var(--brand-primary)}.metar-raw code{min-width:0;color:var(--brand-text);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;font-weight:800;overflow-wrap:anywhere}.runway-wind-panel{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1fr);gap:10px;padding:10px;border:1px solid var(--brand-border);border-radius:8px;background:#f9fafb}.runway-wind-panel>p{grid-column:1 / -1;margin:0;color:var(--brand-muted);font-weight:800}.runway-compass{display:grid;justify-items:center;gap:8px}.runway-compass small{color:var(--brand-muted);font-size:.76rem;font-weight:900}.compass-ring{position:relative;width:138px;height:138px;border:1px solid var(--brand-border);border-radius:999px;background:#fff}.compass-ring>span{position:absolute;color:var(--brand-muted);font-size:.68rem;font-weight:900}.compass-ring>span:nth-child(1){top:7px;left:50%;transform:translate(-50%)}.compass-ring>span:nth-child(2){top:50%;right:8px;transform:translateY(-50%)}.compass-ring>span:nth-child(3){bottom:7px;left:50%;transform:translate(-50%)}.compass-ring>span:nth-child(4){top:50%;left:8px;transform:translateY(-50%)}.runway-mark{position:absolute;top:62px;left:25px;display:flex;align-items:center;justify-content:space-between;width:88px;height:16px;padding:0 5px;border-radius:3px;background:var(--brand-accent);color:#fff;transform-origin:center}.runway-mark span{display:inline-grid;place-items:center;min-width:18px;font-size:.52rem;font-weight:900;letter-spacing:0;line-height:1;transform-origin:center}.wind-vector{position:absolute;top:50%;left:12px;width:calc(100% - 24px);height:0;transform-origin:center}.wind-vector-line{position:absolute;top:-1px;right:10px;left:10px;height:2px;border-radius:999px;background:var(--brand-primary)}.wind-vector-head{position:absolute;top:-6px;right:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:12px solid var(--brand-primary)}.wind-vector-tail{position:absolute;top:-4px;left:0;width:8px;height:8px;border:2px solid var(--brand-primary);border-radius:999px;background:#fff}.wind-vector.variable{opacity:.45}.wind-vector.variable .wind-vector-line{background:repeating-linear-gradient(90deg,var(--brand-primary),var(--brand-primary) 8px,transparent 8px,transparent 13px)}.runway-components{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.runway-components div{display:grid;align-content:center;gap:3px;min-height:58px;padding:8px;border:1px solid var(--brand-border);border-radius:8px;background:#fff}.runway-components dt{color:var(--brand-muted);font-size:.68rem;font-weight:900}.runway-components dd{margin:0;color:var(--brand-text);font-size:.94rem;font-weight:900}.alternate-runway{grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid rgba(227,24,44,.18);border-radius:8px;background:var(--brand-primary-soft)}.alternate-runway span{color:var(--brand-muted);font-size:.72rem;font-weight:900}.alternate-runway strong{color:var(--brand-primary-dark);font-size:.86rem}.alternate-runway small{color:var(--brand-text);font-size:.76rem;font-weight:900}.taf-timeline{display:grid;gap:8px}.taf-timeline h3{margin:0;color:var(--brand-accent);font-size:.84rem}.taf-timeline>p{margin:0;color:var(--brand-muted)}.taf-board-scroll{overflow-x:auto;border:1px solid var(--brand-border);border-radius:8px;background:#fff}.taf-board{display:grid;grid-template-columns:82px repeat(var(--taf-cols),minmax(104px,1fr));min-width:calc(82px + (104px * var(--taf-cols)))}.taf-row-label,.taf-time-cell,.taf-cell{min-height:48px;padding:8px;border-right:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border)}.taf-row-label{display:flex;align-items:center;position:sticky;left:0;z-index:2;background:#f9fafb;color:var(--brand-muted);font-size:.74rem;font-weight:900}.taf-time-cell{display:grid;align-content:center;justify-items:center;gap:2px;min-height:62px;background:#f9fafb;text-align:center}.taf-time-cell span{color:var(--brand-muted);font-size:.68rem;font-weight:800;text-transform:lowercase}.taf-time-cell strong{color:var(--brand-text);font-size:.84rem;line-height:1}.taf-time-cell em{padding:2px 7px;border:1px dashed rgba(227,24,44,.36);border-radius:999px;color:var(--brand-primary-dark);font-size:.62rem;font-style:normal;font-weight:900}.taf-cell{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--brand-text);font-size:.74rem;font-weight:900;text-align:center}.taf-cell svg{flex:0 0 auto;color:var(--brand-primary);font-size:1.05rem}.taf-cell .empty-value{color:var(--brand-muted)}.taf-cell .category-chip{min-width:52px;text-align:center}.taf-weather-cell{display:grid;justify-items:center;gap:5px;min-height:74px;line-height:1.2}.taf-weather-cell svg{font-size:1.55rem}.taf-weather-cell strong{max-width:92px;color:var(--brand-text);font-size:.7rem;font-weight:800}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:15;padding:10px max(18px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));border-top:1px solid var(--brand-border);background:#fffffff5!important}.bottom-nav .MuiBottomNavigation-root{height:58px;border-radius:8px;background:transparent}.bottom-nav .MuiBottomNavigationAction-root{border-radius:8px;color:var(--brand-muted);font-family:inherit;font-weight:900}.bottom-nav .MuiBottomNavigationAction-root.Mui-selected{background:var(--brand-primary);color:var(--brand-surface)}.bottom-nav .MuiBottomNavigationAction-label{font-family:inherit;font-weight:900}.shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh;min-width:0}.main-shell{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.sidebar{display:flex;flex-direction:column;gap:22px;padding:28px;background:var(--brand-surface);border-right:1px solid var(--brand-border)}.sidebar h1,.toolbar h2,.modal h2{margin:0;letter-spacing:0}.sidebar h1{font-size:1.55rem;line-height:1.1}.toolbar h2{font-size:1.75rem}.eyebrow{margin:0 0 6px;color:var(--brand-primary);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.primary-action,.danger-button,.text-button,.icon-button,.segmented button,.fleet-item,.week-column-head button,.day-header button,.month-day-head button{min-height:42px;border-radius:8px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.primary-action{width:100%;padding:0 16px;background:var(--brand-primary);color:var(--brand-surface);font-weight:800}.primary-action:hover{background:var(--brand-primary-dark)}.primary-action:disabled{cursor:not-allowed;opacity:.5}.danger-button{min-height:42px;padding:0 14px;border-radius:8px;background:#fee2e2;color:#991b1b;font-weight:800}.danger-button:disabled{cursor:not-allowed;opacity:.55}.sidebar-actions{display:grid;gap:8px}.primary-action:hover,.icon-button:hover,.text-button:hover,.segmented button:hover,.week-column-head button:hover,.day-header button:hover{transform:translateY(-1px)}.panel{display:grid;gap:12px}.panel h2{margin:0;color:var(--brand-accent);font-size:.92rem}.fleet-list,.upcoming-list{display:grid;gap:8px}.single-aircraft{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-primary-soft)}.single-aircraft strong,.single-aircraft small{display:block}.single-aircraft small{color:var(--brand-muted)}.single-aircraft em{color:var(--brand-primary-dark);font-style:normal;font-weight:900}.fleet-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--brand-border);background:#f9fafb;color:var(--brand-text);text-align:left}.fleet-item.selected{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.fleet-item span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch{width:12px;height:12px;border-radius:999px}.upcoming-card{display:grid;grid-template-columns:4px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--brand-border)}.upcoming-card>span{border-radius:999px}.upcoming-card strong,.upcoming-card small{display:block}.upcoming-card small,.booking-card small,.empty{color:var(--brand-muted)}.calendar-area{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;padding:28px;min-width:0}.members-area,.aircraft-area{display:grid;align-content:start;gap:18px;min-width:0;padding:28px}.aircraft-section h3{margin:0;letter-spacing:0}.aircraft-section{display:grid;gap:14px;min-width:0;padding-top:18px;border-top:1px solid var(--brand-border)}.aircraft-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.aircraft-link-card{display:grid;justify-items:start;gap:8px;min-height:156px;padding:18px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);text-align:left}.aircraft-link-card:hover{border-color:var(--brand-primary);background:var(--brand-primary-soft)}.aircraft-link-card span{color:var(--brand-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.aircraft-link-card strong{color:var(--brand-primary);font-size:2.2rem;line-height:1}.aircraft-link-card small{color:var(--brand-muted);font-weight:800}.aircraft-fees-card-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.aircraft-fees-card-values div{display:grid;gap:5px;min-width:0}.aircraft-fees-card-values small{font-size:.7rem;text-transform:uppercase}.aircraft-fees-card-values strong{font-size:1.35rem;overflow-wrap:anywhere}.aircraft-document-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px;padding:16px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.aircraft-document-folder-toolbar{display:flex;justify-content:flex-end}.aircraft-document-fab-wrap{position:fixed;z-index:15;right:28px;bottom:92px;display:grid;justify-items:end;gap:10px}.aircraft-document-fab{display:grid;width:56px;height:56px;padding:0;border-radius:50%;background:var(--brand-primary);color:var(--brand-surface);box-shadow:0 8px 24px #0f172a3d;place-items:center;transition:background .15s ease,transform .15s ease}.aircraft-document-fab:hover{background:var(--brand-primary-dark);transform:translateY(-1px)}.aircraft-document-fab svg{font-size:1.8rem;transition:transform .15s ease}.aircraft-document-fab[aria-expanded=true] svg{transform:rotate(45deg)}.aircraft-document-fab-menu{display:grid;gap:6px;width:210px;padding:8px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);box-shadow:0 12px 32px #0f172a33}.aircraft-document-fab-menu button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:7px;color:var(--brand-text);font-weight:800;text-align:left}.aircraft-document-fab-menu button:hover{background:var(--brand-primary-soft);color:var(--brand-primary)}.aircraft-document-action-modal{width:min(520px,calc(100vw - 40px))}.aircraft-document-action-modal .aircraft-document-form{grid-template-columns:1fr;border:0;background:transparent}.aircraft-document-action-modal header,.aircraft-document-action-modal footer,.aircraft-document-action-modal small{grid-column:1 / -1}.aircraft-document-viewer-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1000px,calc(100vw - 40px));height:min(780px,calc(100vh - 48px));overflow:hidden}.aircraft-document-viewer-modal>header,.aircraft-document-viewer-modal>footer{padding:16px 20px;background:var(--brand-surface)}.aircraft-document-viewer-modal>header{border-bottom:1px solid var(--brand-border)}.aircraft-document-viewer-modal>footer{border-top:1px solid var(--brand-border)}.aircraft-document-viewer-modal h2{max-width:min(700px,70vw);overflow:hidden;font-size:1.1rem;text-overflow:ellipsis;white-space:nowrap}.aircraft-document-viewer-body{display:grid;min-width:0;min-height:0;background:#e5e7eb;place-items:center;overflow:auto}.aircraft-document-viewer-body iframe{width:100%;height:100%;border:0;background:#fff}.aircraft-document-viewer-body img{display:block;max-width:100%;max-height:100%;object-fit:contain}.aircraft-document-viewer-body pre{align-self:stretch;justify-self:stretch;margin:0;padding:24px;background:#fff;color:var(--brand-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.aircraft-document-folder-toolbar form{display:flex;align-items:end;gap:10px}.aircraft-document-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,118px);gap:30px 28px;padding:8px 4px 12px}.aircraft-document-folder-item{position:relative;display:grid;align-content:start;gap:7px;width:118px;min-width:0}.aircraft-document-folder{position:relative;display:grid;align-items:center;justify-items:center;width:118px;height:82px;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--brand-text)}.aircraft-document-folder:hover,.aircraft-document-folder.active{border-color:var(--brand-border);background:var(--brand-surface)}.aircraft-document-folder.active{border-color:var(--brand-primary);background:var(--brand-primary-soft);box-shadow:0 0 0 1px var(--brand-primary)}.aircraft-document-folder>svg{color:#e0b347;font-size:5.6rem;filter:drop-shadow(0 2px 2px rgba(80,57,4,.16))}.aircraft-document-folder-name{display:block;width:100%;color:var(--brand-text);font-size:.82rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere;text-align:center}.aircraft-document-folder strong{position:absolute;top:13px;right:11px;display:grid;min-width:24px;height:24px;padding:0 6px;border:1px solid rgba(124,91,8,.18);border-radius:999px;background:#ffffffe6;color:var(--brand-primary);font-size:.75rem;line-height:1;place-items:center}.folder-delete-button,.folder-rename-button{position:absolute;z-index:2;top:5px;display:grid;width:24px;height:24px;padding:0;border-radius:50%;background:#ffffffad;color:#7f1d1d;font-size:1rem;font-weight:800;line-height:1;place-items:center}.aircraft-document-form>small{grid-column:1 / -1;color:var(--brand-muted);font-weight:700}.aircraft-document-browser-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:8px 0 16px;padding:10px 12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.aircraft-document-browser-toolbar label,.aircraft-document-size-picker{display:flex;align-items:center;gap:9px}.aircraft-document-browser-toolbar label>span,.aircraft-document-size-picker>span{color:var(--brand-muted);font-size:.74rem;font-weight:800;white-space:nowrap}.aircraft-document-browser-toolbar select{min-width:148px;min-height:36px;padding:0 32px 0 10px}.aircraft-document-size-picker>div{display:flex;overflow:hidden;border:1px solid var(--brand-border);border-radius:7px}.aircraft-document-size-picker button{display:grid;width:38px;height:34px;padding:0;border-radius:0;background:var(--brand-surface);color:var(--brand-muted);place-items:center}.folder-rename-button{left:5px;color:var(--brand-muted)}.folder-rename-button svg{font-size:.95rem}.folder-delete-button{left:33px}.aircraft-document-size-picker button+button{border-left:1px solid var(--brand-border)}.aircraft-document-size-picker button:hover,.aircraft-document-size-picker button.active{background:var(--brand-primary-soft);color:var(--brand-primary)}.aircraft-document-size-picker svg{font-size:1.2rem}.aircraft-document-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.aircraft-document-list.preview-small{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.aircraft-document-list.preview-large{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.aircraft-document-card{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.aircraft-document-card:hover{border-color:#b7c0cd;box-shadow:0 5px 16px #0f172a14;transform:translateY(-1px)}.aircraft-document-open{display:grid;grid-template-rows:148px minmax(0,1fr);min-width:0;padding:0;border-radius:0;background:transparent;color:inherit;text-align:left}button.aircraft-document-open:hover{background:transparent}button.aircraft-document-open:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.aircraft-document-open.unsupported{cursor:default}.preview-small .aircraft-document-open{grid-template-rows:104px minmax(0,1fr)}.preview-large .aircraft-document-open{grid-template-rows:210px minmax(0,1fr)}.aircraft-document-preview{display:grid;min-width:0;min-height:0;background:#f3f4f6;place-items:center;overflow:hidden}.aircraft-document-preview img{width:100%;height:100%;object-fit:cover}.aircraft-document-preview.text-preview{align-items:start;padding:14px;background:#fafafa}.aircraft-document-preview pre{width:100%;margin:0;color:var(--brand-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.file-type-preview{align-content:center;gap:8px;color:#64748b}.file-type-preview svg{font-size:3.8rem}.file-type-preview span{font-size:.72rem;font-weight:900;letter-spacing:.08em}.file-type-preview.pdf{background:#fff1f2;color:#be123c}.file-type-preview.spreadsheet{background:#ecfdf5;color:#047857}.file-type-preview.image{background:#eff6ff;color:#2563eb}.aircraft-document-details{display:grid;align-content:start;gap:6px;min-width:0;padding:14px}.aircraft-document-card strong,.aircraft-document-card .aircraft-document-description,.aircraft-document-card small{overflow-wrap:anywhere}.aircraft-document-description{color:var(--brand-text)}.aircraft-document-card small{color:var(--brand-muted);font-weight:700}.aircraft-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:46px;padding:5px 8px;border-top:1px solid var(--brand-border)}.aircraft-document-icon-button{display:grid;width:34px;height:34px;padding:0;border-radius:7px;background:transparent;color:var(--brand-muted);place-items:center}.aircraft-document-icon-button:hover{background:var(--brand-primary-soft);color:var(--brand-primary)}.aircraft-document-icon-button.danger{color:#b42318}.aircraft-document-icon-button.danger:hover{background:#fff1f0;color:#8f1710}.aircraft-document-icon-button svg{font-size:1.2rem}.button-progress{font-size:1rem;font-weight:900;letter-spacing:.05em}@media (max-width: 760px){.aircraft-document-form{grid-template-columns:1fr}.aircraft-document-folder-toolbar form{display:grid;width:100%}.aircraft-document-fab-wrap{right:18px;bottom:86px}.aircraft-document-viewer-modal{width:calc(100vw - 20px);height:calc(100vh - 96px)}.aircraft-document-list{grid-template-columns:repeat(2,minmax(0,1fr))}.aircraft-document-list.preview-large{grid-template-columns:1fr}.aircraft-document-browser-toolbar{align-items:stretch;flex-direction:column}.aircraft-document-browser-toolbar label,.aircraft-document-size-picker{justify-content:space-between}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading.action-only{justify-content:flex-end}.tech-log-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;height:min(760px,calc(100vh - 48px));padding:0!important;overflow:hidden}.tech-log-form>header,.tech-log-form>footer{padding:18px 20px;background:var(--brand-surface)}.tech-log-form>header{border-bottom:1px solid var(--brand-border)}.tech-log-form>footer{border-top:1px solid var(--brand-border);box-shadow:0 -8px 24px #0f172a0f}.tech-log-form-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px;min-height:0;padding:18px 20px;overflow-y:auto;overscroll-behavior:contain}.tech-log-form-intro{margin:4px 0 0;color:var(--brand-muted);font-size:.82rem;font-weight:700}.tech-log-remarks{grid-column:span 3}.tech-log-remarks small{color:var(--brand-muted);font-size:.72rem;font-weight:700}.tech-log-submit{align-self:end}.section-heading-action{width:auto;min-width:132px}.tech-log-modal{width:min(900px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:hidden}.tech-log-form>header,.tech-log-form>footer{grid-column:1 / -1}.fees-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}.aircraft-account-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aircraft-account-form>header,.aircraft-account-form>footer{grid-column:1 / -1}.aircraft-account-description-field,.aircraft-account-notes-field{grid-column:span 3}.aircraft-account-summary .billing-amount{font-size:1.28rem!important}.aircraft-account-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) auto;align-items:end;gap:10px}.aircraft-account-filter-bar .text-button{width:auto}.aircraft-account-table{min-width:1180px}.aircraft-account-date-cell{white-space:nowrap}.aircraft-account-description-cell{min-width:190px}.fees-update-button{width:auto}.fees-current-card{display:grid;justify-items:start;gap:8px;padding:18px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.fees-current-card>span{color:var(--brand-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.fees-current-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%}.fees-current-grid div{display:grid;gap:4px;min-width:0}.fees-current-grid small{color:var(--brand-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.fees-current-grid strong{color:var(--brand-primary);font-size:1.05rem;line-height:1.15;overflow-wrap:anywhere}.fees-current-card>small{color:var(--brand-muted);font-weight:800}.tech-log-date-toggle{align-self:end;min-height:0;padding:6px 0;font-size:.78rem}.tech-log-date-toggle input{width:14px;height:14px}.tech-log-date-toggle span{line-height:1.25}.datetime-select-group{display:grid;grid-template-columns:minmax(168px,1fr) minmax(112px,auto);gap:8px}.time-select-group{display:flex;align-items:center;gap:5px;min-width:0}.time-select-group select{flex:1 1 0;min-width:0;padding-right:8px;padding-left:8px}.time-select-group span{flex:0 0 auto;color:var(--brand-muted);font-weight:900}.tech-log-filter-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.tech-log-filter-bar label{display:grid;gap:5px;width:min(260px,100%);color:var(--brand-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.tech-log-filter-summary{display:grid;justify-items:end;gap:3px;color:var(--brand-muted);font-size:.78rem;font-weight:900;text-align:right}.tech-log-filter-summary span{color:var(--brand-muted)}.tech-log-filter-summary strong{color:var(--brand-text);font-size:.9rem}.tech-log-table-wrap{min-width:0;overflow-x:auto;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.tech-log-table-wrap .empty{margin:0;padding:14px}.tech-log-table{width:100%;min-width:1280px;border-collapse:collapse}.tech-log-table th,.tech-log-table td{padding:8px 9px;border-bottom:1px solid var(--brand-border);border-right:1px solid var(--brand-border);text-align:left;vertical-align:top}.tech-log-table th{position:sticky;top:0;z-index:1;background:#f9fafb;color:var(--brand-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.tech-log-table td{color:var(--brand-text);font-size:.76rem;font-weight:800;line-height:1.35}.tech-log-table tr:last-child td{border-bottom:0}.tech-log-table th:last-child,.tech-log-table td:last-child{border-right:0}.tech-log-date-cell{min-width:118px;white-space:nowrap}.tech-log-role-cell,.tech-log-time-cell,.tech-log-flight-time-cell,.tech-log-uplift-cell{white-space:nowrap}.tech-log-member-cell,.tech-log-captain-cell{min-width:132px}.tech-log-flight-time-cell{color:var(--brand-primary-dark)!important;font-weight:950!important}.tech-log-remarks-cell{min-width:180px;max-width:260px;color:var(--brand-muted)!important;overflow-wrap:anywhere}.tech-log-actions{width:1%;white-space:nowrap}.tech-log-delete-button{width:auto;min-height:30px;padding:0 10px;font-size:.72rem}.tech-log-route-cell .tech-log-route-icon{display:none!important}.members-summary{display:grid;min-width:104px;padding:10px 14px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);text-align:center}.members-summary strong{color:var(--brand-primary);font-size:1.4rem;line-height:1}.members-summary span{color:var(--brand-muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.billing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.billing-summary div{display:grid;gap:6px;min-width:0;padding:14px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.billing-summary span{color:var(--brand-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.billing-summary strong{color:var(--brand-primary);font-size:1.28rem;line-height:1.1;overflow-wrap:anywhere}.member-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;min-width:0;padding:14px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface)}.member-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:var(--brand-primary-soft);color:var(--brand-primary-dark);font-weight:900}.member-card-body{display:grid;gap:8px;min-width:0}.member-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.member-card h3{min-width:0;margin:0;overflow:hidden;color:var(--brand-accent);font-size:1rem;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.member-card-title span,.member-meta span{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;background:var(--brand-primary-soft);color:var(--brand-primary-dark);font-size:.68rem;font-weight:900;text-transform:uppercase}.member-card p{margin:0;color:var(--brand-muted);font-size:.86rem;overflow-wrap:anywhere}.member-meta{display:flex;flex-wrap:wrap;gap:6px}.member-details{display:grid;gap:6px;margin:0}.member-details div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px}.member-details dt{color:var(--brand-muted);font-size:.72rem;font-weight:900}.member-details dd{min-width:0;margin:0;color:var(--brand-text);font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.member-delete-button{justify-self:start;width:auto;margin-top:2px}.member-billing-button{justify-self:start;width:auto;min-height:34px;margin-top:2px}.member-billing-button[aria-pressed=true]{border-color:#e3182c47;background:var(--brand-primary-soft);color:var(--brand-primary-dark)}.billing-amount{font-weight:900!important}.billing-amount.due{color:#b91c1c!important}.billing-amount.credit{color:#15803d!important}.billing-amount.settled{color:var(--brand-muted)!important}.billing-ledger-panel{display:grid;gap:12px;min-width:0;padding-top:18px;border-top:1px solid var(--brand-border)}.billing-ledger-panel h3{margin:0;letter-spacing:0}.billing-ledger-panel>.section-heading>strong{padding:8px 12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);font-size:1.05rem}.billing-ledger-table{min-width:760px}.banking-overview,.banking-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.banking-dialog-grid{align-items:end}.banking-overview-single{max-width:620px}.banking-member-field,.banking-description-field{grid-column:1 / -1}.banking-open-dialog-button{justify-self:start;width:auto;min-width:150px;margin-top:12px}.banking-amount-due-field{display:grid;align-content:end;gap:6px;min-width:0}.banking-amount-due-field small{color:var(--brand-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.banking-amount-due-field strong{color:var(--brand-primary);font-size:.95rem;line-height:1.1}.banking-amount-due-field .text-button{width:auto;min-height:38px;justify-self:start}.banking-overview>.banking-open-dialog-button{justify-self:start}.banking-summary-card{width:100%;color:inherit;text-align:left}.banking-money-due-total{max-width:100%;color:var(--brand-primary);font-size:1.28rem;line-height:1.05;overflow-wrap:anywhere}.banking-balances-dialog{display:grid;gap:14px;padding:20px}.banking-balances-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.banking-balances-table{min-width:680px}.banking-modal{width:min(1180px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto;border-radius:16px;box-shadow:0 32px 96px #0f172a61}.banking-reminder-heading{width:150px}.banking-reminder-button{min-height:34px;padding:6px 10px;white-space:nowrap}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.app-toolbar{width:100%;max-width:100%;min-width:0;overflow:hidden;border-bottom:1px solid var(--brand-border);background:var(--brand-surface)!important;color:var(--brand-text)!important;box-shadow:0 1px 3px #0f172a14}.app-toolbar .app-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:100%;min-height:64px;min-width:0;padding:0 16px}.app-toolbar-copy{flex:1 1 auto;min-width:0}.app-toolbar h1{font-size:1.08rem;font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-toolbar-copy p:not(.eyebrow){margin:1px 0 0;color:var(--brand-muted);font-size:.78rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(227,24,44,.22);border-radius:999px;background:var(--brand-primary-soft);color:var(--brand-primary);font-size:.9rem;font-weight:900}.toolbar-back-button{flex:0 0 auto}.toolbar-icon-button{color:var(--brand-primary)!important}.app-toolbar-actions .icon-button{flex:0 0 40px;width:40px;min-width:40px;min-height:40px;border-color:transparent;background:transparent}.toolbar>div:first-child{min-width:0}.toolbar h2{overflow-wrap:anywhere}.toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.app-toolbar-actions{flex:0 0 auto;min-width:40px}.icon-button,.text-button,.segmented{border:1px solid var(--brand-border);background:var(--brand-surface)}.icon-button{display:inline-grid;place-items:center;width:42px;color:var(--brand-primary);font-weight:900}.toolbar-command{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto}.text-button{padding:0 14px;color:var(--brand-accent);font-weight:700}.segmented{display:flex;overflow:hidden;border-radius:8px}.segmented button{padding:0 14px;border-radius:0;background:transparent;color:var(--brand-accent);text-transform:capitalize}.segmented button.active{background:var(--brand-primary);color:var(--brand-surface)}.week-timeline{overflow:auto;max-height:calc(100vh - 142px);border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-border)}.week-header-grid,.week-body-grid{display:grid;grid-template-columns:82px repeat(7,minmax(128px,1fr));min-width:980px}.week-header-grid{position:sticky;top:0;z-index:8}.calendar-lanes{--hour-height: 58px}.day-view,.month-day{border:1px solid var(--brand-border);background:var(--brand-surface)}.week-corner,.week-column-head{min-height:58px;background:var(--brand-surface);border-bottom:1px solid var(--brand-border)}.week-corner{display:grid;place-items:center;color:var(--brand-muted);font-size:.82rem;font-weight:800}.week-column-head.today,.month-day.today{border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary)}.week-column-head,.day-header,.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-column-head{padding:12px;min-width:128px}.week-column-head>div{display:grid;gap:2px;min-width:0}.week-column-head small{color:var(--brand-muted);font-size:.74rem;font-weight:800}.week-column-head button,.day-header button{min-width:34px;padding:0 10px;background:var(--brand-primary-soft);color:var(--brand-primary-dark);font-weight:900}.hour-rail{position:sticky;left:0;z-index:6;display:grid;grid-template-rows:repeat(24,var(--hour-height));background:#f9fafb}.week-hour{display:grid;align-content:center;gap:2px;min-height:var(--hour-height);padding:8px 10px;border-right:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border);color:var(--brand-muted);font-size:.82rem;font-weight:800}.day-lane{position:relative;display:grid;grid-template-rows:repeat(24,var(--hour-height));min-width:128px;background:var(--brand-surface)}.time-slot{min-height:var(--hour-height);padding:0;border-left:1px solid #f1f5f9;border-bottom:1px solid var(--brand-border);color:inherit;text-align:left}.time-slot.daylight{background:#fffdf5}.time-slot.night{background:#f1f5f9}.time-slot.sunrise{background:linear-gradient(180deg,#f1f5f9,#fff7d6 68%,#fffdf5)}.time-slot.sunset{background:linear-gradient(180deg,#fffdf5,#ffd8df 45%,#f1f5f9)}.time-slot:hover{outline:2px solid var(--brand-primary);outline-offset:-2px;background:var(--brand-primary-soft)}.booking-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.booking-card{display:grid;gap:4px;padding:10px;border-left:5px solid;border-radius:7px;background:#f9fafb;box-shadow:0 1px #0f172a0f}.booking-card.compact{gap:2px;padding:6px;border-left-width:4px;font-size:.76rem}.booking-card.compact small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-card strong,.booking-card span{display:block}.booking-card span{color:#334155}.booking-block{--booking-edge: 6px;--booking-side-offset: 0px;position:absolute;right:calc(var(--booking-edge) + var(--booking-side-offset));left:var(--booking-edge);z-index:3;display:grid;align-content:start;gap:2px;min-height:0;padding:7px 9px;overflow:hidden;border-left:5px solid;border-radius:7px;background:#f9fafb;color:var(--brand-text);pointer-events:auto;cursor:pointer;box-shadow:0 8px 18px #0f172a1f}.booking-block strong{font-size:.86rem;line-height:1.1}.booking-block.compact{--booking-edge: 4px;padding:6px;border-left-width:4px;font-size:.76rem}.booking-block.provisional{background:repeating-linear-gradient(135deg,#f9fafb,#f9fafb 8px,var(--brand-primary-soft) 8px,var(--brand-primary-soft) 16px)}.booking-block.waitlisted{border-color:#f59e0b!important;background:repeating-linear-gradient(135deg,#fffbeb,#fffbeb 8px,#fef3c7 8px,#fef3c7 16px)}.booking-block.same-time-side{left:auto;z-index:5;display:block;padding:0;overflow:hidden;border:0;background:var(--booking-side-color, var(--brand-primary));box-shadow:0 5px 12px #0f172a33}.booking-block.same-time-side:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff2e}.booking-block.same-time-side.provisional{background:repeating-linear-gradient(135deg,var(--booking-side-color, var(--brand-primary)),var(--booking-side-color, var(--brand-primary)) 7px,var(--brand-primary-soft) 7px,var(--brand-primary-soft) 14px)}.booking-block.same-time-side.waitlisted{background:repeating-linear-gradient(135deg,#f59e0b,#f59e0b 7px,#fbbf24 7px,#fbbf24 14px)}.booking-block.same-time-side strong,.booking-block.same-time-side span,.booking-block.same-time-side small,.booking-block.same-time-side em{display:none}.booking-block strong,.booking-block span,.booking-block small,.booking-block em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-block span{color:var(--brand-accent)}.booking-block small{color:var(--brand-muted)}.booking-block em{color:#b45309;font-size:.68rem;font-style:normal;font-weight:900;text-transform:uppercase}.day-view{overflow:hidden;border-radius:8px}.day-header{padding:14px 16px;border-bottom:1px solid var(--brand-border);background:var(--brand-surface);font-weight:800}.day-schedule{display:grid;grid-template-columns:86px minmax(0,1fr);--hour-height: 64px;overflow:auto;max-height:calc(100vh - 214px)}.day-schedule .booking-block{--booking-edge: 12px}.day-schedule .booking-block:not(.same-time-side){gap:3px;min-height:44px;padding:8px 12px;border-left-width:6px;font-size:.84rem}.day-schedule .booking-block strong{font-size:.92rem}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));grid-auto-rows:minmax(112px,1fr);gap:1px;overflow:auto;min-width:0;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-border)}.month-label,.month-day{min-width:110px;background:var(--brand-surface)}.month-label{display:grid;place-items:center;min-height:38px;color:var(--brand-muted);font-weight:800}.month-day{display:grid;align-content:start;gap:6px;padding:8px;border:0;border-radius:0}.month-day.muted{background:#f9fafb;color:#9ca3af}.month-day-head button{min-width:30px;min-height:30px;background:transparent;color:inherit;font-weight:900}.mini-booking{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;padding:5px 7px;border-radius:5px;background:var(--brand-primary);color:#fff;font-size:.78rem;font-weight:800;line-height:1.15}.mini-booking strong,.mini-booking span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-booking strong{flex:0 0 auto}.mini-booking span{flex:1 1 auto}.empty{margin:0;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:14px;background:#0f172a80;z-index:20}body:has(.modal-backdrop){overflow:hidden}.modal{width:min(720px,calc(100vw - 40px));max-height:none;overflow:visible;border-radius:8px;background:var(--brand-surface);box-shadow:0 24px 80px #0f172a4d}.modal form{display:grid;gap:14px;padding:20px}.modal header,.modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.modal footer{flex-wrap:wrap}.modal footer .primary-action,.modal footer .danger-button,.modal footer .text-button{width:auto;flex:1 1 140px}.checkbox-field{display:flex;grid-template-columns:none;align-items:center;gap:10px;min-height:42px}.checkbox-field input{width:18px;height:18px;margin:0;padding:0}label{display:grid;gap:6px;color:var(--brand-accent);font-weight:800}input,select,textarea{width:100%;border:1px solid var(--brand-border);border-radius:7px;padding:10px 12px;color:var(--brand-text);background:var(--brand-surface)}input:focus,select:focus,textarea:focus{border-color:var(--brand-primary);outline:3px solid rgba(227,24,44,.16)}input[readonly]{color:var(--brand-muted);background:#f9fafb}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1.2fr .8fr 1.2fr .8fr;gap:10px}@media (max-width: 920px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--brand-border)}.calendar-area,.members-area,.aircraft-area{padding:18px}.fees-form,.aircraft-account-form,.tech-log-form-body{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-log-remarks,.aircraft-account-description-field,.aircraft-account-notes-field{grid-column:1 / -1}.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start}.home-grid{grid-template-columns:1fr}.metar-panel{grid-column:auto}.metar-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.runway-wind-panel{grid-template-columns:1fr}.fees-current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 620px){.has-bottom-nav{padding-bottom:92px}.shell.has-bottom-nav{min-height:calc(100vh - 82px)}.sidebar{display:none}.calendar-area{gap:12px;min-height:calc(100vh - 92px);padding:12px;grid-template-rows:auto minmax(0,1fr)}.members-area,.aircraft-area{gap:12px;min-height:calc(100vh - 92px);padding:12px}.members-grid,.billing-summary,.banking-overview,.banking-dialog-grid{grid-template-columns:1fr}.banking-money-due-total{font-size:1.16rem}.banking-member-field,.banking-description-field{grid-column:auto}.banking-open-dialog-button{width:100%}.fees-form,.aircraft-account-form,.aircraft-account-filter-bar,.aircraft-link-grid,.datetime-select-group{grid-template-columns:1fr}.fees-update-button{width:100%}.fees-current-grid{grid-template-columns:1fr}.tech-log-table-wrap{overflow-x:visible}.tech-log-table,.tech-log-table thead,.tech-log-table tbody,.tech-log-table tr,.tech-log-table th,.tech-log-table td{display:block}.tech-log-table{min-width:0}.tech-log-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.tech-log-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--brand-border)}.tech-log-entries-table-wrap,.billing-ledger-table-wrap,.aircraft-account-table-wrap{display:grid;gap:6px;border:0;background:transparent}.tech-log-entries-table-wrap tbody,.billing-ledger-table-wrap tbody,.aircraft-account-table-wrap tbody{display:grid;gap:6px}.tech-log-entries-table-wrap .tech-log-table tr,.billing-ledger-table-wrap .tech-log-table tr,.aircraft-account-table-wrap .tech-log-table tr{border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);box-shadow:0 1px 2px #0f172a14,0 5px 12px #0f172a12;overflow:hidden}.tech-log-entries-table-wrap .tech-log-table tr{grid-template-columns:repeat(4,minmax(0,1fr))}.billing-ledger-table-wrap .tech-log-table tr{grid-template-columns:1fr auto}.aircraft-account-table-wrap .tech-log-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-log-entries-table-wrap .tech-log-table tr:last-child,.billing-ledger-table-wrap .tech-log-table tr:last-child,.aircraft-account-table-wrap .tech-log-table tr:last-child{border-bottom:1px solid var(--brand-border)}.tech-log-table tr:last-child{border-bottom:0}.tech-log-table td{display:grid;gap:3px;min-height:58px;padding:8px;border-bottom:0}.tech-log-entries-table-wrap .tech-log-table td,.billing-ledger-table-wrap .tech-log-table td,.aircraft-account-table-wrap .tech-log-table td{min-height:38px;padding:5px 7px;border-right:0;font-size:.7rem;line-height:1.22}.tech-log-entries-table-wrap .tech-log-table td:before,.billing-ledger-table-wrap .tech-log-table td:before,.aircraft-account-table-wrap .tech-log-table td:before{font-size:.56rem;line-height:1.1}.tech-log-entries-table-wrap .tech-log-table td:first-child,.billing-ledger-table-wrap .tech-log-table td:first-child,.aircraft-account-table-wrap .tech-log-table td:first-child{background:#f9fafb}.tech-log-entries-table-wrap .tech-log-route-cell,.billing-ledger-table-wrap .billing-ledger-date-cell,.billing-ledger-table-wrap .billing-ledger-amount-cell{min-height:0}.tech-log-entries-table-wrap .tech-log-route-cell:before,.billing-ledger-table-wrap .billing-ledger-date-cell:before,.billing-ledger-table-wrap .billing-ledger-amount-cell:before{display:none}.tech-log-entries-table-wrap .tech-log-route-cell{display:flex;align-items:center;gap:5px;min-width:0;padding-top:7px;padding-bottom:7px;background:#f9fafb;color:var(--brand-primary);font-size:.76rem;font-weight:950}.tech-log-entries-table-wrap .tech-log-route-icon{display:inline-flex!important;flex:0 0 auto;width:15px;height:15px;color:var(--brand-muted)}.tech-log-entries-table-wrap .tech-log-route-cell span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-log-entries-table-wrap .tech-log-route-from{position:relative;grid-column:1 / 3;border-right:0}.tech-log-entries-table-wrap .tech-log-route-from:after{content:"";position:absolute;right:-4px;top:50%;z-index:1;width:6px;height:6px;border-top:2px solid var(--brand-muted);border-right:2px solid var(--brand-muted);transform:translateY(-50%) rotate(45deg)}.tech-log-entries-table-wrap .tech-log-route-to{grid-column:3 / -1;border-left:0}.tech-log-entries-table-wrap .tech-log-date-cell,.tech-log-entries-table-wrap .tech-log-member-cell,.tech-log-entries-table-wrap .tech-log-captain-cell{min-width:0;white-space:normal}.tech-log-entries-table-wrap .tech-log-date-cell{grid-column:1 / 3}.tech-log-entries-table-wrap .tech-log-role-cell{grid-column:3 / -1}.tech-log-entries-table-wrap .tech-log-member-cell{grid-column:1 / 3}.tech-log-entries-table-wrap .tech-log-captain-cell{grid-column:3 / -1}.tech-log-entries-table-wrap .tech-log-time-cell,.tech-log-entries-table-wrap .tech-log-flight-time-cell,.tech-log-entries-table-wrap .tech-log-uplift-cell{min-height:34px;padding-top:4px;padding-bottom:4px}.tech-log-filter-bar{display:grid;align-items:stretch}.tech-log-filter-bar label{width:100%}.tech-log-filter-summary{justify-items:start;font-size:.72rem;text-align:left}.tech-log-filter-summary strong{font-size:.84rem}.tech-log-entries-table-wrap .tech-log-remarks-cell{min-height:0;padding-top:6px;padding-bottom:7px;border-top:1px solid var(--brand-border)}.billing-ledger-table-wrap .billing-ledger-date-cell{grid-column:1;grid-row:1;align-content:center;background:#f9fafb;color:var(--brand-muted);font-size:.68rem;font-weight:900;padding-top:6px;padding-bottom:6px}.billing-ledger-table-wrap .billing-ledger-amount-cell{grid-column:2;grid-row:1;align-content:center;justify-items:end;min-width:86px;background:#f9fafb;font-size:.78rem;font-weight:950;text-align:right;padding-top:6px;padding-bottom:6px}.billing-ledger-table-wrap .billing-ledger-description-cell{grid-column:1 / -1;grid-row:2;min-height:0;padding-top:5px;padding-bottom:6px;font-size:.74rem;font-weight:900}.billing-ledger-table-wrap .billing-ledger-type-cell,.billing-ledger-table-wrap .billing-ledger-source-cell{display:none}.billing-ledger-table-wrap .billing-ledger-type-cell{grid-column:1;grid-row:3}.billing-ledger-table-wrap .billing-ledger-source-cell{grid-column:2;grid-row:3;text-align:right}.billing-ledger-table-wrap .billing-ledger-source-cell:empty{display:none}.billing-ledger-table-wrap .billing-ledger-description-cell:before,.billing-ledger-table-wrap .billing-ledger-type-cell:before,.billing-ledger-table-wrap .billing-ledger-source-cell:before,.aircraft-account-table-wrap .aircraft-account-date-cell:before,.aircraft-account-table-wrap .aircraft-account-description-cell:before{display:none}.aircraft-account-table-wrap .aircraft-account-date-cell,.aircraft-account-table-wrap .aircraft-account-description-cell{grid-column:1 / -1;min-height:0;background:#f9fafb;color:var(--brand-primary);font-weight:950}.aircraft-account-table-wrap .mobile-empty-field{display:none}.tech-log-table td:before{content:attr(data-label);color:var(--brand-muted);font-size:.64rem;font-weight:900;text-transform:uppercase}.tech-log-remarks-cell,.tech-log-actions{grid-column:1 / -1;width:auto;max-width:none}.toolbar{gap:10px}.toolbar .eyebrow{margin-bottom:2px;font-size:.68rem}.toolbar h2{font-size:1.05rem;line-height:1.2}.toolbar-actions{display:grid;grid-template-columns:40px minmax(64px,auto) 40px minmax(0,1fr);width:100%;gap:6px}.home-screen{padding:12px}.app-toolbar .app-toolbar-inner{min-height:56px;gap:12px;padding:0 12px}.main-shell>.app-toolbar{position:sticky;top:0;z-index:16}.app-toolbar h1{font-size:1rem;line-height:1.2}.app-toolbar-copy p:not(.eyebrow){font-size:.72rem}.app-toolbar-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end;gap:8px;width:auto;min-width:40px}.app-toolbar-actions .icon-button{flex:0 0 40px;width:40px;min-width:40px}.icon-button{width:40px}.text-button{padding:0 10px}.segmented{width:100%}.segmented button{flex:1 1 0;min-width:0;padding:0 8px;font-size:.82rem}.week-timeline,.day-schedule,.month-grid{max-height:calc(100vh - 178px);overscroll-behavior:contain}.week-header-grid,.week-body-grid{grid-template-columns:46px repeat(7,minmax(0,1fr));width:100%;min-width:0}.calendar-lanes{--hour-height: 46px}.week-corner,.week-column-head{min-height:50px}.week-corner{font-size:.64rem}.week-column-head{align-items:stretch;flex-direction:column;gap:4px;min-width:0;padding:5px 3px;text-align:center}.week-column-head strong{font-size:.68rem;line-height:1.1;overflow-wrap:anywhere}.week-column-head small{display:none}.week-column-head button{min-width:0;min-height:24px;padding:0;font-size:.82rem}.hour-rail{min-width:46px}.week-hour{padding:5px 3px;font-size:.62rem;text-align:center}.day-lane{min-width:0}.booking-block,.booking-block.compact{--booking-edge: 2px;border-radius:5px}.booking-block:not(.same-time-side),.booking-block.compact:not(.same-time-side){gap:0;padding:3px 2px;border-left-width:3px;font-size:.58rem;line-height:1.1}.booking-block span,.booking-block small,.booking-block em{display:none}.day-schedule .booking-block{--booking-edge: 6px}.day-schedule .booking-block:not(.same-time-side){gap:1px;min-height:38px;padding:6px 8px;border-left-width:4px;font-size:.74rem;line-height:1.2}.day-schedule .booking-block strong{font-size:.78rem}.day-schedule .booking-block:not(.same-time-side) span{display:block}.day-view{min-height:0}.day-header{gap:8px;padding:10px;font-size:.88rem}.day-header button{flex:0 0 auto;min-height:36px;padding:0 10px}.day-schedule{grid-template-columns:50px minmax(0,1fr);--hour-height: 52px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(64px,auto);width:100%}.month-label,.month-day{min-width:0}.month-label{min-height:28px;font-size:.68rem}.month-day{gap:3px;min-height:64px;padding:3px}.month-day-head button{min-width:26px;min-height:26px;padding:0;font-size:.78rem}.mini-booking{display:block;min-height:20px;padding:3px 4px;color:#fff;font-size:.62rem;line-height:1.1}.mini-booking strong,.mini-booking span{display:inline}.mini-booking span{margin-left:3px}.form-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:100dvh;overflow:hidden;border-radius:14px 14px 0 0}.tech-log-modal{height:100dvh;max-height:100dvh}.tech-log-form{height:100dvh}.tech-log-form>header{align-items:flex-start;flex-wrap:nowrap;padding:max(14px,env(safe-area-inset-top)) 16px 12px}.tech-log-form>header h2{font-size:1.3rem;line-height:1.15}.tech-log-form>header .text-button{flex:0 0 auto;min-height:40px}.tech-log-form-intro{font-size:.76rem}.tech-log-form-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:14px 16px 20px}.tech-log-flight-date,.tech-log-date-toggle,.tech-log-landing-date,.tech-log-remarks{grid-column:1 / -1}.tech-log-date-toggle{min-height:42px;margin-top:-2px;padding:8px 10px;border:1px solid var(--brand-border);border-radius:7px;background:#f9fafb}.tech-log-date-toggle input{width:18px;height:18px}.tech-log-form-body label{gap:5px;font-size:.82rem}.tech-log-form-body input,.tech-log-form-body select,.tech-log-form-body textarea{min-height:44px;font-size:1rem}.tech-log-form-body textarea{min-height:76px}.tech-log-form-body .time-select-group{gap:4px}.tech-log-form-body .time-select-group select{padding-right:5px;padding-left:7px}.tech-log-form>footer{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.tech-log-form>footer .text-button,.tech-log-form>footer .primary-action{width:100%;min-height:46px}.banking-modal{width:100%;max-height:calc(100vh - 20px)}.modal form{gap:10px;padding:14px}.modal header,.modal footer{align-items:stretch;flex-wrap:wrap}.modal footer .primary-action,.modal footer .danger-button,.modal footer .text-button{flex:1 1 130px}.snackbar{right:10px;bottom:102px;left:10px;max-width:none}.portal-title,.sidebar-title{grid-template-columns:1fr}.portal-mark{width:auto;min-width:96px;height:40px;justify-self:start;padding:0 12px}.metar-header{flex-direction:column}.metar-tile-grid,.runway-components{grid-template-columns:repeat(2,minmax(0,1fr))}.taf-board{grid-template-columns:74px repeat(var(--taf-cols),minmax(98px,1fr));min-width:calc(74px + (98px * var(--taf-cols)))}}
