*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sage: #6B8F71;--sage-light: #E8F0E9;--sage-dark: #3D5E42;--accent: #3D5E42;--accent-soft:#E8F0E9;--accent-muted:#8ab590;--app-bg: #F4F1EC;--surface: #ffffff;--surface-2: #F7F5F0;--soft: #FAFAFA;--input-bg: #FAFAFA;--text: #2C2C2A;--text-soft: #4a4a47;--muted: #6B6B67;--faint: #aaa;--border: rgba(0,0,0,.08);--border-soft:rgba(0,0,0,.06);--border-strong:rgba(0,0,0,.12);--danger: #8B2500;--danger-bg: #FAEAE4;--danger-border:rgba(139,37,0,.24);--shadow: 0 20px 60px rgba(0,0,0,.15);--font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-w: 215px;--sidebar-col: 52px;--page-gap: 12px;--header-gap: 10px;--panel-radius:12px;--control-radius:10px;--summary-gap:8px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--app-bg: #000000;--surface: #050605;--surface-2: #0B0E0B;--soft: #070907;--input-bg: #030403;--text: #F2F5F1;--text-soft: #D5DDD3;--muted: #9EA99B;--faint: #6F796D;--border: rgba(255,255,255,.11);--border-soft:rgba(255,255,255,.07);--border-strong:rgba(255,255,255,.18);--accent: #8EEB95;--accent-soft:#071407;--accent-muted:#426E47;--danger: #FFB39E;--danger-bg: #1B0905;--danger-border:rgba(255,179,158,.28);--shadow: 0 20px 60px rgba(0,0,0,.72)}.sidebar{background:#000;border-right:.5px solid var(--border)}.calendar-grid-wrap,.right-panel,.mobile-nav,.calendar-cell{background:#000}}:root[data-theme=light]{--app-bg: #F4F1EC;--surface: #ffffff;--surface-2: #F7F5F0;--soft: #FAFAFA;--input-bg: #FAFAFA;--text: #2C2C2A;--text-soft: #4a4a47;--muted: #6B6B67;--faint: #aaa;--border: rgba(0,0,0,.08);--border-soft:rgba(0,0,0,.06);--border-strong:rgba(0,0,0,.12);--accent: #3D5E42;--accent-soft:#E8F0E9;--accent-muted:#8ab590;--danger: #8B2500;--danger-bg: #FAEAE4;--danger-border:rgba(139,37,0,.24);--shadow: 0 20px 60px rgba(0,0,0,.15);color-scheme:light}:root[data-theme=oled]{--app-bg: #000000;--surface: #050605;--surface-2: #0B0E0B;--soft: #070907;--input-bg: #030403;--text: #F2F5F1;--text-soft: #D5DDD3;--muted: #9EA99B;--faint: #6F796D;--border: rgba(255,255,255,.11);--border-soft:rgba(255,255,255,.07);--border-strong:rgba(255,255,255,.18);--accent: #8EEB95;--accent-soft:#071407;--accent-muted:#426E47;--danger: #FFB39E;--danger-bg: #1B0905;--danger-border:rgba(255,179,158,.28);--shadow: 0 20px 60px rgba(0,0,0,.72);color-scheme:dark}:root[data-theme=light] .sidebar{background:#3d5e42;border-right:0}:root[data-theme=light] .calendar-grid-wrap,:root[data-theme=light] .right-panel,:root[data-theme=light] .mobile-nav,:root[data-theme=light] .calendar-cell{background:var(--surface)}:root[data-theme=oled] .sidebar,:root[data-theme=oled] .calendar-grid-wrap,:root[data-theme=oled] .right-panel,:root[data-theme=oled] .mobile-nav,:root[data-theme=oled] .calendar-cell{background:#000}:root[data-theme=oled] .settings-segment button.active{color:#001f08}html,body,#root{height:100%;width:100%;font-family:var(--font);background:var(--app-bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}button{cursor:pointer;font-family:var(--font)}input,select,textarea{font-family:var(--font);color-scheme:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .2s ease-out}.spin{animation:spin .7s linear infinite;display:inline-block}.app-shell{display:flex;width:100%;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:#3d5e42;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .22s ease}.sidebar.collapsed{width:var(--sidebar-col)}.main-area{flex:1;display:flex;overflow:hidden;min-width:0}.center-col{flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 16px;display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%}.right-panel{width:228px;flex-shrink:0;overflow-y:auto;padding:18px 14px;border-left:.5px solid var(--border);display:flex;flex-direction:column;gap:14px}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--surface);border-top:.5px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.top-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap;max-width:100%}.calendar-page,.finance-page,.flightlog-page{display:flex;flex-direction:column;gap:var(--page-gap);width:100%;min-width:0}.calendar-page-header,.finance-header,.flightlog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--header-gap);flex-wrap:wrap;width:100%;min-width:0}.calendar-page-tabs,.finance-tabs,.flightlog-tabs{display:flex;align-items:center;gap:4px;padding:3px;border:.5px solid var(--border);border-radius:var(--control-radius);background:var(--surface);max-width:100%;overflow-x:auto;scrollbar-width:none}.calendar-page-tabs::-webkit-scrollbar,.finance-tabs::-webkit-scrollbar,.flightlog-tabs::-webkit-scrollbar{display:none}.calendar-page-tabs button,.finance-tabs button,.flightlog-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.calendar-page-tabs button.active,.finance-tabs button.active,.flightlog-tabs button.active{background:var(--accent);color:#fff}.calendar-summary-grid,.finance-summary-grid,.finance-import-summary,.flightlog-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--summary-gap)}.settings-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px;border:.5px solid var(--border);border-radius:var(--control-radius);background:var(--surface-2)}.settings-segment button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:34px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.settings-segment button.active{background:var(--accent);color:#fff}.calendar-page{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.calendar-page-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%;min-width:0}.calendar-page-header .calendar-title-row{width:auto;justify-content:flex-start}.calendar-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;margin-left:auto}.calendar-page-tabs{display:flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0;padding:3px;border:.5px solid var(--border);border-radius:10px;background:var(--surface);max-width:100%;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.calendar-page-tabs::-webkit-scrollbar{display:none}.calendar-page-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}.calendar-page-tabs button.active{background:var(--accent);color:#fff}.calendar-today-button{height:26px;padding:0 9px;border-radius:7px;border:.5px solid var(--border-strong);background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.calendar-add-button{display:flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;height:38px;padding:0 12px;border:0;border-radius:10px;color:#fff;font-size:11px;font-weight:700;white-space:nowrap}.calendar-add-button i{font-size:14px}.calendar-tab-content{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.calendar-tab-content>*{margin-top:0}.calendar-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.calendar-summary-card i{color:var(--accent)}.calendar-inline-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.calendar-panel{min-width:0;background:var(--surface);border-radius:12px;border:.5px solid var(--border);padding:20px}.calendar-panel h2{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text)}.calendar-list-panel{width:100%}.tz-selector{position:relative;flex-shrink:0}.tz-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;border:0;background:transparent}.tz-select-button{position:relative;z-index:270;min-height:30px;padding:5px 10px;border-radius:7px;border:.5px solid var(--border-strong);background:var(--surface);color:var(--text);display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;white-space:nowrap}.tz-select-button i{font-size:14px;color:var(--muted)}.tz-select-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:260;min-width:230px;padding:7px;border:.5px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.tz-select-option{width:100%;border:0;border-radius:8px;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;text-align:left}.tz-select-option span{display:flex;flex-direction:column;gap:2px;min-width:0}.tz-select-option strong{font-size:12px;font-weight:700}.tz-select-option small{font-size:10px;color:var(--muted)}.tz-select-option.active{background:var(--accent-soft);color:var(--accent)}.tz-select-option.active small,.tz-select-option.active i{color:var(--accent)}.mobile-account-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;border:0;background:#00000047}.mobile-account-sheet{position:fixed;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:250;max-width:430px;margin:0 auto;padding:12px;border:.5px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.mobile-account-user{display:flex;align-items:center;gap:10px;padding:4px 4px 12px;margin-bottom:4px;border-bottom:.5px solid var(--border-soft)}.mobile-account-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.mobile-account-name{font-size:13px;font-weight:700;color:var(--text)}.mobile-account-email{margin-top:2px;font-size:11px;color:var(--muted);word-break:break-all}.mobile-account-item{width:100%;border:0;border-radius:10px;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;padding:10px;text-align:left}.mobile-account-item i{width:28px;height:28px;border-radius:8px;background:var(--surface-2);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.mobile-account-item span{display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-account-item strong{font-size:12px;font-weight:700}.mobile-account-item small{font-size:10px;color:var(--muted)}.mobile-account-item.danger{color:var(--danger)}.mobile-account-item.danger i{background:var(--danger-bg);color:var(--danger)}.offline-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border:.5px solid var(--border-strong);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}.offline-banner span{flex:1;min-width:0}.offline-banner button{border:.5px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--accent);padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}.offline-banner button:disabled{opacity:.55;cursor:not-allowed}.calendar-section{min-width:0;width:100%}.calendar-list-view{display:flex;flex-direction:column;align-items:stretch;min-width:0;width:100%;margin:0;padding:0}.calendar-list-groups{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0}.calendar-list-empty{width:100%;min-width:0;padding:28px 16px;border:.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--faint);font-size:13px;text-align:center}.calendar-list-day{width:100%;min-width:0;overflow:hidden;border:.5px solid var(--border);border-radius:8px;background:var(--surface)}.calendar-list-day-head{width:100%;padding:9px 12px;background:var(--surface-2);color:var(--text-soft);font-size:12px;font-weight:600}.calendar-list-event-row{width:100%;min-width:0;border:0;background:var(--surface);padding:11px 12px;display:grid;grid-template-columns:3px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}.calendar-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}.calendar-title-row{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.calendar-title{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;margin:0}.month-picker{position:relative;min-width:0;z-index:40}.month-picker-button{height:30px;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;border:0;border-radius:8px;background:transparent}.month-picker-button:hover,.month-picker-button[aria-expanded=true]{background:var(--surface-2)}.month-picker-button i{color:var(--muted);font-size:13px}.month-picker-menu{position:absolute;top:calc(100% + 8px);left:0;width:236px;max-width:calc(100vw - 24px);transform:none;padding:10px;border:.5px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);z-index:300}.month-picker-year{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:7px;margin-bottom:10px}.month-picker-year button,.month-picker-grid button{border:.5px solid var(--border);background:var(--surface-2);color:var(--text)}.month-picker-year button{height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.month-picker-year input{width:100%;height:32px;border:.5px solid var(--border-strong);border-radius:8px;background:var(--input-bg);color:var(--text);text-align:center;font-size:14px;font-weight:800}.month-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.month-picker-grid button{min-height:34px;border-radius:8px;font-size:12px;font-weight:700}.month-picker-grid button.active{border-color:var(--accent);background:var(--accent);color:#fff}.calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px 10px;flex:1;min-width:0;flex-wrap:wrap}.calendar-legend-item{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--muted);white-space:nowrap;min-width:0}.calendar-legend-swatch{width:7px;height:7px;border-radius:2px;flex-shrink:0}.calendar-grid-wrap{width:100%;min-width:0;background:var(--surface);border-radius:12px;border:.5px solid var(--border);overflow:hidden}.calendar-dow-row,.calendar-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.calendar-dow-row{border-bottom:.5px solid var(--border-soft)}.calendar-dow{min-width:0;text-align:center;padding:9px 0;font-size:11px;font-weight:500}.calendar-cell{min-width:0;min-height:78px;padding:6px 4px;cursor:pointer;border-right:.5px solid var(--border-soft);border-bottom:.5px solid var(--border-soft);overflow:hidden}.calendar-date{width:20px;height:20px;border-radius:50%;margin-bottom:3px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500}.calendar-event-chip{min-width:0;font-size:9px;padding:2px 4px;margin-bottom:1px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:900px){.right-panel{display:none}.sidebar{width:var(--sidebar-col)}.sidebar.expanded-mobile{width:var(--sidebar-w);position:fixed;top:0;left:0;bottom:0;z-index:300}.sidebar .lbl{display:none}.sidebar.expanded-mobile .lbl{display:inline}.sidebar .logo-full{display:none}.sidebar.expanded-mobile .logo-full{display:block}.center-col{padding:14px 12px}}@media (max-width:600px){.sidebar{display:none!important}.mobile-nav{display:flex}.center-col{padding:12px 10px 76px}.top-actions{justify-content:flex-start;gap:6px}.calendar-header{align-items:flex-start;flex-direction:column;gap:8px}.calendar-title-row{width:100%;justify-content:center}.calendar-title{flex:1;text-align:center;font-size:14px}.month-picker{flex:1}.calendar-legend{width:100%;justify-content:center;gap:5px 8px}.calendar-legend-item{font-size:9px}.calendar-dow{padding:7px 0;font-size:10px}.calendar-cell{min-height:60px;padding:4px 3px}.calendar-date{width:18px;height:18px;font-size:10px;margin-bottom:2px}.calendar-event-chip{font-size:8px;padding:1px 2px;margin-bottom:1px}.calendar-cell .calendar-event-chip:nth-of-type(n+5){display:none}}@media (max-width:420px){.center-col{padding-left:6px;padding-right:6px}.top-actions>button,.top-actions>.tz-selector>.tz-select-button{padding-left:8px!important;padding-right:8px!important}.calendar-grid-wrap{border-radius:8px}.calendar-dow{padding:6px 0;font-size:9px}.calendar-cell{min-height:50px;padding:3px 2px}.calendar-date{width:17px;height:17px;font-size:9px}.calendar-event-chip{min-height:12px;height:auto;padding:1px 2px;font-size:7.5px;line-height:1.15}.calendar-cell .calendar-event-chip:nth-of-type(n+5){display:none}}@media (max-width:360px){.center-col{padding-left:4px;padding-right:4px}.calendar-legend{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.calendar-cell{min-height:46px}.calendar-cell .calendar-event-chip:nth-of-type(n+4){height:5px;min-height:5px;padding:0;color:transparent!important;border-left:none!important}}@media (max-width:1280px){.right-panel{display:none}.center-col{padding:16px 14px}}@media (max-width:1024px){.sidebar{display:none!important}.mobile-nav{display:flex}.main-area{width:100%}.center-col{padding:14px 12px calc(82px + env(safe-area-inset-bottom));gap:12px}.top-actions{justify-content:flex-start;align-items:center;width:100%;gap:6px}.calendar-header{align-items:stretch;flex-direction:column;gap:8px}.calendar-title-row{width:100%;justify-content:center}.calendar-title{flex:1;text-align:center;font-size:14px}.month-picker{flex:1}.calendar-legend{width:100%;justify-content:center;gap:5px 9px}.calendar-cell{min-height:70px}}@media (max-width:700px){.center-col{padding:12px 10px calc(78px + env(safe-area-inset-bottom))}.top-actions{gap:5px}.top-actions>span{width:100%}.tz-selector{flex:1 1 150px;min-width:0}.tz-select-button{width:100%;justify-content:center}.tz-backdrop{background:#0000003d}.tz-select-menu{position:fixed;top:auto;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));min-width:0;padding:10px;border-radius:16px}.month-picker-menu{position:fixed;top:64px;left:12px;right:12px;width:auto;max-width:none;transform:none}.calendar-legend{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:1px 0 3px}.calendar-legend-item{font-size:9px}.calendar-dow{padding:7px 0;font-size:10px}.calendar-cell{min-height:60px;padding:4px 3px}.calendar-date{width:18px;height:18px;font-size:10px;margin-bottom:2px}.calendar-event-chip{font-size:8px;padding:1px 2px;margin-bottom:1px}.calendar-cell .calendar-event-chip:nth-of-type(n+5){display:none}}@media (max-width:420px){.center-col{padding-left:6px;padding-right:6px}.top-actions>button,.top-actions>.tz-selector>.tz-select-button{padding-left:8px!important;padding-right:8px!important}.calendar-grid-wrap{border-radius:8px}.calendar-dow{padding:6px 0;font-size:9px}.calendar-cell{min-height:50px;padding:3px 2px}.calendar-date{width:17px;height:17px;font-size:9px}.calendar-event-chip{min-height:12px;height:auto;padding:1px 2px;font-size:7.5px;line-height:1.15}}.finance-page{display:flex;flex-direction:column;gap:12px;min-width:0}.finance-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.icon-nav{width:26px;height:26px;border-radius:7px;border:.5px solid var(--border-strong);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.finance-today-button{height:26px;padding:0 9px;border-radius:7px;border:.5px solid var(--border-strong);background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.finance-tabs{display:flex;align-items:center;gap:4px;padding:3px;border:.5px solid var(--border);border-radius:10px;background:var(--surface);max-width:100%;overflow-x:auto}.finance-tabs button{display:flex;align-items:center;gap:4px;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.finance-tabs button.active{background:var(--accent);color:#fff}.finance-summary-grid,.finance-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.finance-summary-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:.5px solid var(--border);border-radius:10px;background:var(--surface)}.finance-summary-card span{display:block;margin-bottom:4px;font-size:10px;color:var(--muted)}.finance-summary-card strong{display:block;min-width:0;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-summary-card i{font-size:20px;flex-shrink:0}.finance-summary-card.green i{color:#3d5e42}.finance-summary-card.blue i{color:#2563eb}.finance-summary-card.orange i{color:#d97706}.finance-summary-card.violet i{color:#7c3aed}.finance-calendar-wrap,.finance-panel{width:100%;min-width:0;border:.5px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.finance-dow-row,.finance-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.finance-dow-row{border-bottom:.5px solid var(--border-soft)}.finance-dow{min-width:0;padding:8px 0;text-align:center;font-size:11px;font-weight:600}.finance-cell{min-width:0;min-height:70px;padding:6px 4px;border:0;border-right:.5px solid var(--border-soft);border-bottom:.5px solid var(--border-soft);background:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:var(--text);overflow:hidden}.finance-cell.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.finance-cell.today .finance-date{background:var(--accent);color:#fff}.finance-date{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.finance-day-amount{max-width:100%;padding:2px 5px;border-radius:5px;color:#fff;font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-panel{padding:14px}.finance-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.finance-panel-head h3{display:flex;align-items:center;gap:5px;min-width:0;margin:0;color:var(--text);font-size:14px;font-weight:700}.finance-panel-head span{color:var(--muted);font-size:11px;white-space:nowrap}.finance-transaction-list,.finance-groups,.finance-bars{display:flex;flex-direction:column;gap:8px}.finance-transaction{position:relative;display:grid;grid-template-columns:3px 34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;border:.5px solid var(--border-soft);border-radius:9px;background:var(--surface-2)}.finance-transaction-bar{width:3px;align-self:stretch;border-radius:2px}.finance-transaction-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:17px}.finance-transaction-main{min-width:0}.finance-merchant{min-width:0;margin-bottom:4px;color:var(--text);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-meta-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px}.finance-transaction-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.finance-transaction-side strong{color:var(--text);font-size:13px;white-space:nowrap}.finance-transaction-side select{max-width:110px;padding:4px 7px;border:.5px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--muted);font-size:10px}.finance-empty{padding:26px 12px;color:var(--faint);font-size:13px;text-align:center}.finance-alert{display:flex;align-items:center;gap:7px;padding:10px 12px;border:.5px solid var(--danger-border);border-radius:9px;background:var(--danger-bg);color:var(--danger);font-size:12px}.finance-alert button{margin-left:auto;border:0;background:transparent;color:inherit;font-size:12px;text-decoration:underline}.finance-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-period-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:.5px solid var(--border);border-radius:12px;background:var(--surface)}.finance-period-panel>div:first-child{min-width:180px}.finance-period-panel strong{display:block;color:var(--text);font-size:14px;margin-bottom:3px}.finance-period-panel span{color:var(--muted);font-size:11px}.finance-period-tabs{display:flex;flex:0 0 auto;gap:4px;padding:3px;border-radius:10px;background:var(--surface-2)}.finance-period-tabs button{width:46px;padding:6px 0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;text-align:center}.finance-period-tabs button.active{background:var(--accent);color:#fff}.finance-chart-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:154px;gap:3px;padding:3px;border-radius:9px;background:var(--surface-2)}.finance-chart-toggle button{min-width:0;padding:5px 0;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.finance-chart-toggle button.active{background:var(--accent);color:#fff}.finance-bar-row{display:flex;flex-direction:column;gap:5px}.finance-bar-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.finance-bar-label span{min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-bar-label span i{margin-right:5px;font-size:13px;vertical-align:-1px}.finance-bar-label strong{color:var(--muted);font-size:11px;white-space:nowrap}.finance-bar-label.merchant,.finance-bar-label.card{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.finance-bar-label.merchant em,.finance-bar-label.card em{padding:2px 6px;border-radius:999px;background:var(--surface-2);font-style:normal;font-size:10px;font-weight:700;white-space:nowrap}.finance-bar-label.flight{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.flight-stat-badge{padding:2px 6px;border-radius:999px;font-style:normal;font-size:10px;font-weight:800;white-space:nowrap}.finance-bar-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.finance-bar-track div{height:100%;border-radius:999px;background:var(--accent)}.finance-scroll-list{max-height:420px;overflow-y:auto;padding-right:3px}.finance-card-scroll{max-height:620px}.finance-discount-scroll{max-height:510px}.finance-card-row{display:flex;flex-direction:column;gap:6px}.finance-card-controls{display:flex;justify-content:flex-end}.finance-card-controls label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.finance-card-controls select{padding:4px 7px;border:.5px solid var(--border-strong);border-radius:7px;background:var(--surface);color:var(--text);font-size:10px}.finance-donut-layout{display:grid;grid-template-columns:168px minmax(0,1fr);gap:14px;align-items:center;min-width:0}.finance-donut{width:168px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--border-soft)}.finance-donut>div{width:88px;aspect-ratio:1;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 1px var(--border)}.finance-donut span{color:var(--muted);font-size:10px;font-weight:700}.finance-donut strong{max-width:76px;margin-top:3px;color:var(--text);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-chart-legend{max-height:220px}.finance-chart-legend div{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:6px 0;border-bottom:.5px solid var(--border-soft)}.finance-chart-legend div:last-child{border-bottom:0}.finance-chart-legend span{width:9px;height:9px;border-radius:999px}.finance-chart-legend strong{min-width:0;color:var(--text);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-chart-legend em{color:var(--muted);font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.finance-chart-legend small{color:var(--muted);font-size:10px;white-space:nowrap}.finance-treemap{display:flex;flex-wrap:wrap;gap:6px;min-height:230px}.finance-treemap div{min-width:90px;min-height:72px;border-radius:9px;padding:9px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.finance-treemap strong{min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 1px rgba(0,0,0,.18)}.finance-treemap span{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-treemap em{font-size:10px;font-style:normal;opacity:.86}.finance-stackbar{display:flex;width:100%;height:15px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.finance-stackbar span{min-width:3px;height:100%}.finance-stack-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px}.finance-stack-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.finance-stack-legend i{width:7px;height:7px;border-radius:999px}.finance-card-trends{display:flex;flex-direction:column;gap:10px}.finance-card-trend{display:flex;flex-direction:column;gap:8px;padding-bottom:8px;border-bottom:.5px solid var(--border-soft)}.finance-card-trend:last-child{border-bottom:0;padding-bottom:0}.finance-trend-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(24px,1fr);align-items:end;gap:5px;height:116px;padding:7px 6px 2px;border-radius:9px;background:var(--surface-2);overflow-x:auto}.finance-trend-bars div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:24px;height:100%}.finance-trend-bars span{width:100%;min-height:3px;border-radius:5px 5px 2px 2px}.finance-trend-bars small{color:var(--muted);font-size:9px;line-height:1;white-space:nowrap}.finance-discount-list{display:flex;flex-direction:column;gap:7px}.finance-discount-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;background:var(--surface-2)}.finance-discount-item>span{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.finance-discount-item strong{display:block;color:var(--text);font-size:12px;margin-bottom:2px}.finance-discount-item small{display:block;min-width:0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-discount-item em{color:var(--text);font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.finance-search{display:flex;align-items:center;gap:6px;min-width:220px;padding:7px 9px;border:.5px solid var(--border-strong);border-radius:9px;background:var(--input-bg);color:var(--muted)}.finance-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.finance-day-group{overflow:hidden;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface)}.finance-day-group .finance-transaction{border:0;border-radius:0;border-top:.5px solid var(--border-soft)}.finance-day-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;background:var(--surface-2);color:var(--text-soft);font-size:12px;font-weight:700}.finance-day-group-head strong{color:var(--text);white-space:nowrap}.finance-upload-box{width:100%;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1.5px dashed var(--border-strong);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:center}.finance-upload-box i{color:var(--accent);font-size:30px}.finance-upload-box strong{max-width:100%;padding:0 12px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-upload-box span{max-width:340px;color:var(--muted);font-size:11px;line-height:1.5}.finance-preview{display:flex;flex-direction:column;gap:10px;margin-top:12px}.finance-preview-meta{display:flex;flex-wrap:wrap;gap:6px}.finance-preview-meta span{padding:4px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px}.finance-preview-list{display:flex;flex-direction:column;gap:5px}.finance-preview-list div{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:11px}.finance-preview-list div.duplicate{opacity:.48}.finance-preview-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-preview-list em{font-style:normal;color:var(--text);font-weight:700;white-space:nowrap}.finance-preview-list small{color:var(--muted);font-size:11px;text-align:center}.finance-save-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.finance-save-button:disabled{background:var(--accent-muted);cursor:not-allowed}.flightlog-page{display:flex;flex-direction:column;gap:12px;min-width:0}.flightlog-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.flightlog-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:100%}.flightlog-tabs{display:flex;align-items:center;gap:4px;padding:3px;border:.5px solid var(--border);border-radius:10px;background:var(--surface);max-width:100%;overflow-x:auto}.flightlog-tabs button{display:flex;align-items:center;gap:4px;min-height:30px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.flightlog-tabs button.active{background:var(--accent);color:#fff}.flightlog-add-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:12px;font-weight:800;white-space:nowrap}.flightlog-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flightlog-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px}.flight-portal-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.flight-portal-list-panel,.flight-airport-panel{min-width:0}.flight-portal-briefing-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.flight-day-strip{display:flex;gap:6px;max-width:100%;overflow-x:auto;padding-bottom:2px}.flight-day-strip button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;min-height:44px;border:.5px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted)}.flight-day-strip button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.flight-day-strip strong{font-size:14px;font-weight:900;line-height:1}.flight-day-strip span{font-size:9px;font-weight:900;line-height:1}.flight-portal-selected-date{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 10px;border-radius:9px;background:var(--surface-2)}.flight-portal-selected-date strong{min-width:0;color:var(--text);font-size:13px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-portal-selected-date span{color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.flight-portal-flight-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.flight-portal-flight-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.flight-portal-flight-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.flight-portal-flight-main{min-width:0;padding:0;border:0;background:transparent;text-align:left;color:inherit}.flight-portal-flight-main strong,.flight-portal-flight-main span,.flight-portal-flight-main em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-portal-flight-main strong{color:var(--text);font-size:13px;font-weight:900}.flight-portal-flight-main span{margin-top:3px;color:var(--text-soft);font-size:12px;font-weight:800}.flight-portal-flight-main em{margin-top:3px;color:var(--muted);font-size:10px;font-style:normal;font-weight:700}.flight-portal-flight-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.flight-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.flight-status-pill.logged{color:#059669;background:#05966921}.flight-status-pill.missing-log{color:#d97706;background:#d9770624}.flight-status-pill.log-only{color:#2563eb;background:#2563eb21}.flight-portal-flight-side button{min-height:28px;padding:0 10px;border:.5px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--text);font-size:11px;font-weight:900;white-space:nowrap}.flight-portal-flight-side button:disabled{opacity:.5;cursor:not-allowed}.enroute-briefing-panel{min-width:0}.enroute-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.enroute-summary-grid div{min-width:0;padding:9px;border-radius:9px;background:var(--surface-2)}.enroute-summary-grid span{display:block;margin-bottom:4px;color:var(--faint);font-size:9px;font-weight:950}.enroute-summary-grid strong{display:block;min-width:0;color:var(--text);font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enroute-summary-grid small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sigwx-jepp-card{min-width:0;margin-bottom:10px;padding:10px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface-2);overflow:hidden}.sigwx-jepp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.sigwx-jepp-head>div:first-child{min-width:0}.sigwx-jepp-head span,.sigwx-jepp-head small{display:block;color:var(--muted);font-size:10px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sigwx-jepp-head>div:first-child>span{margin-bottom:2px;color:var(--faint);font-size:9px;font-weight:950;text-transform:uppercase}.sigwx-jepp-head strong{display:block;min-width:0;color:var(--text);font-size:14px;font-weight:950;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sigwx-validity-strip{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.sigwx-validity-strip button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;min-height:40px;padding:5px 9px;border:.5px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);cursor:pointer}.sigwx-validity-strip button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sigwx-validity-strip button.unavailable{opacity:.45;cursor:not-allowed}.sigwx-validity-strip strong{color:inherit;font-size:12px;line-height:1.1}.sigwx-validity-strip span{margin-top:2px;color:inherit;font-size:8px;font-weight:850;opacity:.82}.sigwx-selected-validity{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:92px;min-height:40px;padding:6px 10px;border:.5px solid var(--accent);border-radius:9px;background:var(--accent-soft);color:var(--accent)}.sigwx-selected-validity strong{color:inherit;font-size:13px;line-height:1.1}.sigwx-selected-validity span{margin-top:2px;color:inherit;font-size:9px;font-weight:850;opacity:.9}.sigwx-layer-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.sigwx-layer-toolbar button{--layer-color:var(--accent);display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border:.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:950;cursor:pointer}.sigwx-layer-toolbar button i{color:var(--layer-color);font-size:14px}.sigwx-layer-toolbar button.active{border-color:color-mix(in srgb,var(--layer-color),var(--border) 35%);background:color-mix(in srgb,var(--layer-color) 12%,var(--surface));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--layer-color) 18%,transparent)}.sigwx-jepp-map-shell{position:relative;min-width:0;border:.5px solid var(--border-soft);border-radius:10px;background:var(--input-bg);overflow:hidden}.sigwx-jepp-map-shell .enroute-route-map{border:0;border-radius:0;min-height:340px;max-height:460px;background:transparent}.sigwx-jepp-map-note{position:absolute;right:9px;bottom:9px;display:flex;flex-direction:column;gap:1px;max-width:min(360px,calc(100% - 18px));padding:7px 9px;border:.5px solid var(--border-soft);border-radius:9px;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px #00000014}.sigwx-jepp-map-note strong{color:var(--text);font-size:10px;font-weight:950}.sigwx-jepp-map-note span{color:var(--muted);font-size:9px;font-weight:800;line-height:1.35}.sigwx-jepp-foot{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px}.sigwx-jepp-foot strong{margin-right:3px;color:var(--muted);font-size:9px;font-weight:950;text-transform:uppercase}.sigwx-jepp-foot span{--layer-color:var(--accent);display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--layer-color) 12%,var(--surface));color:var(--text);font-size:9px;font-weight:900}.sigwx-jepp-foot span:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--layer-color)}.sigwx-layer-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:6px;margin-top:8px}.sigwx-layer-guide div{--layer-color:var(--accent);display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 6px;align-items:start;min-width:0;padding:8px;border:.5px solid color-mix(in srgb,var(--layer-color) 20%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--layer-color) 8%,var(--surface))}.sigwx-layer-guide i{grid-row:1 / 3;margin-top:1px;color:var(--layer-color);font-size:14px}.sigwx-layer-guide strong{min-width:0;color:var(--text);font-size:10px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sigwx-layer-guide span{min-width:0;color:var(--muted);font-size:9px;font-weight:800;line-height:1.35}.enroute-route-card{min-width:0;margin-bottom:10px;padding:10px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.enroute-route-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.enroute-route-head strong{min-width:0;color:var(--text);font-size:12px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enroute-route-head span{color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.enroute-route-map{display:block;width:100%;min-height:155px;max-height:230px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--input-bg);overflow:hidden}.enroute-route-line{vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));stroke-linecap:round;stroke-linejoin:round}.sigwx-jepp-map-shell .career-route-ocean{fill:color-mix(in srgb,#9DBBD0 68%,var(--input-bg))}.sigwx-jepp-map-shell .career-route-land path{fill:color-mix(in srgb,#8FA178 64%,var(--surface-2));stroke:color-mix(in srgb,#536451 76%,var(--border));stroke-width:1.05;opacity:.96}.sigwx-map-layers{pointer-events:none}.sigwx-feature{--layer-color:var(--accent);vector-effect:non-scaling-stroke;stroke:var(--layer-color);stroke-linecap:round;stroke-linejoin:round}.sigwx-feature.area{fill:color-mix(in srgb,var(--layer-color) 24%,transparent);fill-opacity:.72;stroke-width:2;stroke-opacity:.95}.sigwx-feature.line{fill:none;stroke-width:3.2;stroke-opacity:.96}.sigwx-cb.area{fill:color-mix(in srgb,#DC2626 18%,transparent);stroke-width:2.7;stroke-dasharray:2 6}.sigwx-cb.line{stroke-width:3.4;stroke-dasharray:2 7;stroke-linecap:round}.sigwx-turbulence.area{fill:url(#sigwx-pattern-turbulence);stroke-width:2.3;stroke-dasharray:9 3}.sigwx-turbulence.line{stroke-width:3.4;stroke-dasharray:10 4}.sigwx-icing.area{fill:url(#sigwx-pattern-icing);stroke-width:2.1;stroke-dasharray:2 5}.sigwx-icing.line{stroke-width:3;stroke-dasharray:1 7}.sigwx-jet.line{stroke-width:4.3;marker-end:url(#sigwx-jet-arrow)}.sigwx-tropopause.line{stroke-width:2.4;stroke-dasharray:13 5 2 5}.sigwx-feature-point circle{fill:var(--layer-color);fill-opacity:.86;stroke:var(--surface);stroke-width:2;vector-effect:non-scaling-stroke}.sigwx-feature-point text{fill:var(--text);stroke:var(--surface);stroke-width:3px;paint-order:stroke;font-size:11px;font-weight:950;letter-spacing:0}.sigwx-altitude-label{fill:#111827;stroke:#fffffff0;stroke-width:5.6px;paint-order:stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));font-size:16px;font-weight:950;letter-spacing:0;text-anchor:middle;dominant-baseline:middle}.sigwx-label-cb{fill:#b91c1c}.sigwx-label-turbulence{fill:#c2410c}.sigwx-label-icing{fill:#0369a1}.sigwx-label-jet{fill:#1d4ed8}.sigwx-label-tropopause{fill:#7e22ce}.sigwx-map-loading rect{fill:color-mix(in srgb,var(--surface) 88%,transparent);stroke:var(--border-soft);stroke-width:1}.sigwx-map-loading text{fill:var(--muted);font-size:12px;font-weight:900;letter-spacing:0}.enroute-route-points circle{fill:var(--surface);stroke:var(--accent);stroke-width:2.3;vector-effect:non-scaling-stroke}.enroute-route-points text{fill:var(--text);stroke:var(--surface);stroke-width:3px;paint-order:stroke;font-size:18px;font-weight:950;letter-spacing:0;pointer-events:none}.enroute-route-fallback{display:flex;align-items:center;justify-content:center;gap:7px;min-height:115px;border:.5px dashed var(--border-strong);border-radius:10px;color:var(--muted);font-size:11px;font-weight:800;text-align:center}.enroute-route-fallback i{color:var(--accent);font-size:20px}.enroute-chart-card{min-width:0;overflow:hidden;margin-bottom:10px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.enroute-chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:.5px solid var(--border-soft)}.enroute-chart-head>div{display:flex;align-items:center;gap:8px;min-width:0}.enroute-chart-head>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}.enroute-chart-head strong{min-width:0;color:var(--text);font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enroute-chart-head span{min-width:0;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enroute-chart-head a,.enroute-chart-head button{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 8px;border:.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent);font-size:10px;font-weight:900;text-decoration:none;white-space:nowrap}.enroute-chart-link{display:block;max-height:360px;overflow:auto;background:var(--input-bg)}.enroute-chart-link img{display:block;width:100%;min-width:520px;height:auto}.enroute-chart-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:150px;color:var(--muted);font-size:11px;font-weight:800}.enroute-chart-fallback i{color:var(--accent);font-size:24px}.enroute-chart-fallback a{color:var(--accent);font-weight:900;text-decoration:none}.sigwx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:18px;background:#000000b8}.sigwx-modal{display:flex;flex-direction:column;width:min(1180px,100%);max-height:92vh;border:.5px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.sigwx-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:.5px solid var(--border-soft)}.sigwx-modal-head strong{min-width:0;color:var(--text);font-size:13px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sigwx-modal-head button{display:grid;place-items:center;width:32px;height:32px;border:.5px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text)}.sigwx-modal-body{flex:1 1 auto;min-height:0;overflow:auto;background:#fff}.sigwx-modal img{display:block;width:100%;min-width:860px;height:auto;background:#fff}.airport-pair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px}.airport-briefing-card{min-width:0;overflow:hidden;padding:12px;border:.5px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.airport-briefing-card.departure{box-shadow:inset 3px 0 #2563ebbf}.airport-briefing-card.arrival{box-shadow:inset 3px 0 #059669bf}.airport-card-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px}.airport-card-head>div{min-width:0}.airport-card-head span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:900}.airport-card-head strong{display:block;margin-top:4px;color:var(--text);font-size:26px;font-weight:950;line-height:1;letter-spacing:0}.airport-card-head small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:0}.airport-card-head em{flex-shrink:0;padding:4px 7px;border-radius:999px;background:var(--surface);font-size:10px;font-style:normal;font-weight:900}.airport-name-line{margin:7px 0 0;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.airport-weather-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:6px;margin-top:10px}.airport-weather-board div{min-width:0;padding:8px 7px;border:.5px solid var(--border-soft);border-radius:9px;background:var(--surface)}.airport-weather-board span{display:block;margin-bottom:4px;color:var(--faint);font-size:9px;font-weight:950;letter-spacing:0}.airport-weather-board strong{display:block;color:var(--text);font-size:11px;font-weight:900;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-runway-picker{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.airport-runway-picker button{min-height:26px;padding:0 9px;border:.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:900}.airport-runway-picker button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.airport-runway-visual{position:relative;height:150px;margin:12px 0;overflow:hidden;border:.5px solid var(--border);border-radius:10px;background:linear-gradient(180deg,var(--input-bg),var(--surface));color:var(--accent)}.airport-runway-visual svg{display:block;width:100%;height:100%;color:var(--accent)}.airport-runway-visual.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.airport-runway-visual.empty i{position:static;width:auto;height:auto;background:none;font-size:24px}.airport-runway-visual.empty span{font-size:11px;font-weight:900}.airport-runway-visual .runway-line{position:absolute;left:50%;top:50%;display:block;width:16px;height:112px;border-radius:999px;background:linear-gradient(180deg,#94a3b833,#94a3b8bf,#94a3b833);transform-origin:center}.airport-runway-visual .runway-line.primary{transform:translate(-50%,-50%) rotate(28deg)}.airport-runway-visual .runway-line.secondary{width:10px;opacity:.5;transform:translate(-50%,-50%) rotate(-38deg)}.airport-runway-visual .runway-line:after{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:1px;border-left:1px dashed rgba(255,255,255,.68);transform:translate(-50%)}.airport-runway-visual .runway-compass{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:24px;height:24px;border:.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:900}.airport-runway-visual i{position:absolute;left:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:18px}.runway-map-field{fill:#94a3b812;stroke:var(--border);stroke-width:.5}.runway-map-line{stroke:#94a3b8bf;stroke-width:3.5;stroke-linecap:round}g.active .runway-map-line{stroke:var(--accent);stroke-width:5.5}.runway-map-label{fill:var(--text);font-size:5.5px;font-weight:900;text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:2px}g.active .runway-map-label{fill:var(--accent)}.runway-map-wind{stroke:var(--danger);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:3 2}.runway-map-north{fill:var(--muted);font-size:8px;font-weight:900;text-anchor:middle}.runway-map-wind-label{position:absolute;left:10px;bottom:9px;padding:4px 7px;border-radius:999px;background:var(--surface);color:var(--text);font-size:10px;font-weight:900}.runway-map-wind-vector{position:absolute;right:14px;bottom:10px;display:block;width:55px;height:55px;padding:0;border:0;background:transparent;color:#52ff1a;overflow:visible;pointer-events:none}.runway-map-wind-vector svg{display:block;width:100%;height:100%;overflow:visible;color:inherit;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.runway-map-wind-axis{stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}.runway-map-wind-head,.runway-map-wind-vector circle{fill:currentColor}.runway-map-wind-vector text{fill:currentColor;font-size:12.5px;font-weight:950;paint-order:stroke;stroke:#0f172ac7;stroke-width:1.6px}.runway-map-info-stack{position:absolute;top:12px;left:12px;display:grid;gap:2px;min-width:80px;padding:7px 9px;border-radius:10px;background:#0000002e;color:var(--text);pointer-events:none}.runway-map-info-stack div{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:6px;min-width:0}.runway-map-info-stack span{color:var(--faint);font-size:8px;font-weight:950;line-height:1.1}.runway-map-info-stack strong{min-width:0;color:var(--text);font-size:9px;font-weight:950;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-runway-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.airport-runway-summary div{min-width:0;padding:8px;border-radius:8px;background:var(--surface)}.airport-runway-summary span{display:block;margin-bottom:3px;color:var(--faint);font-size:9px;font-weight:900}.airport-runway-summary strong{display:block;color:var(--text);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.airport-time-grid div{min-width:0;padding:8px;border-radius:8px;background:var(--surface)}.airport-time-grid span{display:block;margin-bottom:3px;color:var(--faint);font-size:9px;font-weight:900}.airport-time-grid strong{display:block;color:var(--text);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-weather-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.airport-weather-chips span{padding:4px 7px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:800}.airport-raw-metar{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.45;word-break:break-word}.airport-collapse-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:0;border-radius:8px;background:var(--surface);color:var(--text);text-align:left}.airport-collapse-head strong{min-width:0;font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-collapse-head span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.airport-raw-weather{display:flex;flex-direction:column;gap:6px;margin-top:8px}.airport-raw-weather-body{display:flex;flex-direction:column;gap:6px;max-height:118px;overflow-y:auto;padding-right:2px}.airport-raw-weather-body p{margin:0;padding:8px;border-radius:8px;background:var(--surface);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:1.45;word-break:break-word}.airport-raw-weather-body span{display:block;margin-bottom:3px;color:var(--text);font-size:9px;font-weight:950}.airport-notam-panel{margin-top:8px;padding:9px;border:.5px solid var(--border-soft);border-radius:9px;background:var(--surface)}.airport-notam-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 7px;padding:0;border:0;background:transparent;color:inherit;text-align:left}.airport-notam-head:last-child{margin-bottom:0}.airport-notam-head.static{cursor:default}.airport-notam-head strong{color:var(--text);font-size:11px;font-weight:950}.airport-notam-head span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}.airport-notam-empty{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.airport-notam-preview{display:flex;flex-direction:column;gap:5px;margin-top:2px}.airport-notam-preview article{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;min-width:0;padding:7px 8px;border-radius:8px;background:var(--surface-2)}.airport-notam-preview strong{min-width:0;color:var(--text);font-size:10px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-notam-preview span{color:var(--muted);font-size:9px;font-weight:800;text-align:right;white-space:nowrap}.airport-notam-preview p{grid-column:1 / -1;margin:0;color:var(--text-soft);font-size:10px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-notam-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding-right:2px}.airport-notam-list article{padding:8px;border-radius:8px;background:var(--surface-2)}.airport-notam-list article div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.airport-notam-list strong{min-width:0;color:var(--text);font-size:10px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-notam-list span{color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.airport-notam-list p{margin:0;color:var(--text-soft);font-size:10px;line-height:1.45;word-break:break-word}@media (max-width:820px){.finance-header,.flightlog-header{align-items:stretch;flex-direction:column}.finance-header .calendar-title-row,.flightlog-header .calendar-title-row{width:100%;justify-content:center}.finance-tabs,.flightlog-header-actions{width:100%}.flightlog-header-actions .flightlog-tabs{flex:1 1 auto;min-width:0}.flightlog-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.flightlog-list,.flightlog-preview-list{display:flex;flex-direction:column;gap:8px}.flightlog-preview-list{max-height:520px;overflow-y:auto;padding-right:3px}.flightlog-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:10px;border:.5px solid var(--border-soft);border-radius:9px;background:var(--surface-2)}.flightlog-row.duplicate{opacity:.45}.flightlog-row.schedule{grid-template-columns:minmax(0,1fr) auto}.flightlog-route{min-width:0}.flightlog-route strong{display:block;min-width:0;margin-bottom:4px;color:var(--text);font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flightlog-route span{display:block;min-width:0;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flightlog-times{display:grid;grid-template-columns:repeat(2,auto);gap:4px 7px;color:var(--muted);font-size:10px;white-space:nowrap}.flightlog-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.flightlog-side strong{color:var(--text);font-size:13px;font-weight:800}.flightlog-side span{color:var(--muted);font-size:10px}.flightlog-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.flightlog-row-actions button{display:grid;place-items:center;width:26px;height:26px;border:.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:14px}.flightlog-row-actions button:hover{color:var(--text);border-color:var(--border-strong)}.flightlog-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.career-route-map-panel{min-width:0}.career-route-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.career-route-summary div{min-width:0;padding:9px 10px;border-radius:9px;background:var(--surface-2)}.career-route-summary span{display:block;margin-bottom:4px;color:var(--faint);font-size:9px;font-weight:950;text-transform:uppercase}.career-route-summary strong{display:block;min-width:0;color:var(--text);font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.career-route-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);gap:10px;align-items:stretch}.career-route-map-wrap{min-width:0;overflow:hidden;border:.5px solid var(--border-soft);border-radius:10px;background:linear-gradient(180deg,#7daad229,#7daad20f)}.career-route-map{display:block;width:100%;min-height:320px;max-height:520px;background:var(--input-bg)}.career-route-ocean{fill:var(--input-bg)}.career-route-land path{fill:var(--surface-2);stroke:var(--border-soft);stroke-width:.55;vector-effect:non-scaling-stroke}.career-route-lines path{fill:none;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.career-route-lines path.selected{stroke-width:8px;opacity:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.career-route-airports circle{fill:var(--surface);stroke:var(--accent);stroke-width:2.1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.24))}.career-route-airports text{fill:var(--text);stroke:var(--surface);stroke-width:3px;paint-order:stroke;font-size:12px;font-weight:950;letter-spacing:0;pointer-events:none}.career-route-side{display:flex;flex-direction:column;gap:10px;min-width:0}.career-route-side>div{min-width:0;padding:10px;border-radius:10px;background:var(--surface-2)}.career-route-side h4{margin:0 0 8px;color:var(--text);font-size:11px;font-weight:950}.career-route-list{display:flex;flex-direction:column;gap:6px;max-height:242px;overflow-y:auto;padding-right:2px}.career-route-selected strong,.career-route-selected span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.career-route-selected strong{color:var(--text);font-size:12px;font-weight:950}.career-route-selected span{margin-top:4px;color:var(--muted);font-size:10px;font-weight:850}.career-route-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;min-width:0;width:100%;padding:7px 8px;border:0;border-radius:8px;background:var(--surface);text-align:left}.career-route-item.selected{box-shadow:0 0 0 1.5px var(--accent-soft)}.career-route-item span{grid-row:1 / 3;width:7px;min-height:100%;border-radius:999px}.career-route-item strong{min-width:0;color:var(--text);font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.career-route-item em{min-width:0;color:var(--muted);font-size:10px;font-style:normal;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.career-airport-chips{display:flex;flex-wrap:wrap;gap:6px}.career-airport-chips span{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:0 8px;border:.5px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:10px;font-weight:950}.career-airport-chips em{color:var(--accent);font-style:normal;font-weight:950}.career-route-note{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.career-route-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:220px;border:.5px dashed var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--muted);text-align:center}.career-route-empty i{color:var(--accent);font-size:28px}.career-route-empty strong{color:var(--text);font-size:13px;font-weight:950}.career-route-empty span{max-width:320px;color:var(--muted);font-size:11px;line-height:1.45}.flightlog-transfer-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.flightlog-export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flightlog-export-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border:.5px solid var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:13px;font-weight:800}.flightlog-export-actions button i{color:var(--accent);font-size:20px}.flightlog-export-actions button:disabled{opacity:.55;cursor:not-allowed}.flightlog-sync-banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border:.5px solid var(--border-strong);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800}.flightlog-sync-banner span{flex:1;min-width:0}.flightlog-sync-banner button{min-height:28px;padding:0 10px;border:.5px solid var(--border-strong);border-radius:8px;background:var(--surface);color:var(--accent);font-size:11px;font-weight:900;white-space:nowrap}.flightlog-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;display:flex;align-items:center;justify-content:center;padding:18px;background:#0000007a}.flightlog-editor{width:min(920px,100%);max-height:min(88vh,920px);overflow:auto;border:.5px solid var(--border-strong);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.flightlog-editor form{display:flex;flex-direction:column;gap:12px;padding:16px}.flightlog-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:.5px solid var(--border)}.flightlog-editor-head h3{margin:0;color:var(--text);font-size:16px;font-weight:900}.flightlog-editor-head span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.flightlog-editor-head button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:17px}.flightlog-form-section{display:flex;flex-direction:column;gap:8px}.flightlog-form-section h4{margin:0;color:var(--text);font-size:12px;font-weight:900}.flightlog-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flightlog-form-field{display:flex;flex-direction:column;min-width:0;gap:5px;color:var(--text-soft);font-size:10px;font-weight:700}.flightlog-form-field.wide{grid-column:1 / -1}.flightlog-form-field input,.flightlog-form-field textarea{width:100%;min-width:0;border:.5px solid var(--border-strong);border-radius:9px;background:var(--input-bg);color:var(--text);font-size:12px;padding:8px 9px;outline:none;box-sizing:border-box}.flightlog-form-field textarea{resize:vertical;line-height:1.45}.flightlog-form-field input:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.flightlog-total-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.flightlog-total-field label{display:flex;align-items:center;gap:4px;min-height:32px;padding:0 8px;border:.5px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.flightlog-total-field input[type=checkbox]{width:auto;accent-color:var(--accent)}.flightlog-time-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,auto);gap:6px;align-items:stretch}.flightlog-local-time{min-width:0;min-height:34px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:5px 7px;border:.5px solid var(--border);border-radius:9px;background:var(--surface-2);box-sizing:border-box;overflow:hidden}.flightlog-local-time span{color:var(--faint);font-size:9px;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flightlog-local-time strong{color:var(--text);font-size:11px;font-weight:900;line-height:1.05;white-space:nowrap}.flightlog-duration-use{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.flightlog-duration-use button{min-height:34px;padding:0 8px;border:.5px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--accent);font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}.flightlog-role-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-height:34px;padding:3px;border:.5px solid var(--border-strong);border-radius:9px;background:var(--input-bg);box-sizing:border-box}.flightlog-role-toggle button{border:none;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}.flightlog-role-toggle button.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px #7e57c238}.flightlog-swap-button{width:100%;min-height:34px;border:.5px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.flightlog-photo-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;margin-top:5px;padding:3px 6px;border-radius:999px;background:var(--surface);color:var(--accent);font-size:10px;font-style:normal;font-weight:900}.flightlog-photo-badge.pending{background:var(--accent-soft)}.flightlog-photo-panel{display:flex;flex-direction:column;gap:8px;min-width:0}.flightlog-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.flightlog-photo-thumb{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;padding:6px;border:.5px solid var(--border);border-radius:10px;background:var(--surface-2)}.flightlog-photo-thumb a,.flightlog-photo-thumb>div{display:grid;place-items:center;aspect-ratio:1 / 1;overflow:hidden;border-radius:8px;background:var(--input-bg);color:var(--muted)}.flightlog-photo-thumb img{width:100%;height:100%;object-fit:cover}.flightlog-photo-thumb.pending>div i{font-size:24px;color:var(--accent)}.flightlog-photo-thumb figcaption{min-width:0;color:var(--muted);font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flightlog-photo-thumb button{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:999px;background:#0000009e;color:#fff;font-size:13px;cursor:pointer}.flightlog-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.flightlog-photo-add{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:.5px dashed var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:12px;font-weight:900;cursor:pointer}.flightlog-photo-acars{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:.5px solid var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:900;cursor:pointer}.flightlog-photo-acars:disabled{opacity:.62;cursor:wait}.flightlog-acars-result{margin:0;padding:8px 9px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:800;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.flightlog-editor-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.flightlog-editor-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:900}.flightlog-editor-cancel{border:.5px solid var(--border-strong);background:var(--surface-2);color:var(--text)}.flightlog-editor-save{border:0;background:var(--accent);color:#fff}.flightlog-editor-save:disabled{background:var(--accent-muted);cursor:not-allowed}@media (prefers-color-scheme: dark){.finance-summary-card.green i{color:#8eeb95}}@media (max-width:700px){.calendar-page-header{align-items:stretch;flex-direction:column;gap:8px}.calendar-page-header .calendar-title-row{width:100%;justify-content:center}.calendar-header-actions{width:100%;margin-left:0;justify-content:flex-end}.finance-header,.flightlog-header{align-items:stretch;flex-direction:column}.flightlog-header-actions{width:100%;justify-content:flex-end}.finance-tabs,.calendar-page-tabs,.flightlog-tabs{width:100%}.flightlog-header-actions .flightlog-tabs{width:auto;flex:1 1 auto}.finance-tabs button,.calendar-page-tabs button,.flightlog-tabs button{flex:1;min-width:0;justify-content:center;padding-left:8px;padding-right:8px}.finance-period-panel{align-items:stretch;flex-direction:column}.finance-period-panel>div:first-child{min-width:0}.finance-period-tabs{width:100%}.finance-period-tabs button{flex:1;width:auto}.finance-summary-grid,.finance-import-summary,.calendar-summary-grid,.flightlog-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary-card{padding:10px}.finance-summary-card strong{font-size:13px}.finance-cell{min-height:58px;padding:4px 3px}.finance-date{width:18px;height:18px;font-size:10px}.finance-day-amount{font-size:9px;padding:1px 3px}.finance-stats-grid,.flight-portal-grid,.flightlog-panels,.flightlog-stats-grid,.flightlog-transfer-grid,.flightlog-export-actions,.career-route-layout{grid-template-columns:1fr}.career-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.career-route-map{min-height:260px}.enroute-summary-grid{grid-template-columns:1fr}.sigwx-jepp-head{flex-direction:column;align-items:stretch}.sigwx-validity-strip{justify-content:flex-start}.sigwx-validity-strip button{flex:0 0 auto}.sigwx-layer-toolbar button{flex:1 1 72px;justify-content:center}.sigwx-jepp-map-shell .enroute-route-map{min-height:280px}.sigwx-jepp-map-note{position:static;margin:0 8px 8px;max-width:none}.sigwx-modal-backdrop{padding:10px}.sigwx-modal img{min-width:720px}.airport-pair-grid{grid-template-columns:1fr}.finance-panel{padding:12px;border-radius:10px}.finance-panel-head{align-items:flex-start;flex-direction:column;gap:7px}.finance-chart-toggle{width:100%}.finance-donut-layout{grid-template-columns:1fr;justify-items:center}.finance-donut{width:min(190px,70vw)}.finance-chart-legend{width:100%}.finance-search{width:100%;min-width:0}.finance-transaction{grid-template-columns:3px 30px minmax(0,1fr);gap:8px}.finance-transaction-side{grid-column:3;flex-direction:row;justify-content:space-between;align-items:center;width:100%}.finance-transaction-icon{width:30px;height:30px;border-radius:8px}.finance-preview-list div{grid-template-columns:68px minmax(0,1fr)}.finance-preview-list em{grid-column:2;color:var(--muted);font-size:10px}.flightlog-row{grid-template-columns:minmax(0,1fr)}.flightlog-times{grid-template-columns:repeat(4,auto);justify-content:flex-start}.flightlog-side{align-items:flex-start;flex-direction:row;justify-content:space-between}.flightlog-row-actions{margin-left:auto}.flightlog-editor{max-height:92vh;border-radius:12px}.flightlog-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.finance-summary-grid,.finance-import-summary,.calendar-summary-grid,.flightlog-summary-grid{gap:6px}.finance-summary-card i{display:none}.career-route-summary{grid-template-columns:1fr}.career-route-map-wrap{overflow-x:auto}.career-route-map{min-width:520px;min-height:240px}.sigwx-jepp-card{padding:8px}.sigwx-jepp-head strong{font-size:13px}.sigwx-layer-toolbar{gap:5px}.sigwx-layer-toolbar button{flex-basis:64px;padding:0 6px;font-size:9px}.sigwx-jepp-map-shell{overflow-x:auto}.sigwx-jepp-map-shell .enroute-route-map{min-width:520px;min-height:240px}.sigwx-modal-backdrop{padding:6px}.sigwx-modal{max-height:94vh;border-radius:10px}.sigwx-modal-head{padding:8px 9px}.sigwx-modal img{min-width:620px}.finance-dow{padding:6px 0;font-size:9px}.finance-cell{min-height:48px;gap:3px}.finance-day-amount{width:100%;text-align:center}.finance-tabs button i,.calendar-page-tabs button i,.flightlog-tabs button i{display:none}.calendar-header-actions{gap:6px}.calendar-page-tabs button{font-size:11px}.calendar-add-button{padding:0 10px}.calendar-panel{padding:14px 12px}.flightlog-times{grid-template-columns:repeat(2,auto)}.flight-portal-flight-card{grid-template-columns:minmax(0,1fr)}.flight-portal-flight-side{align-items:flex-start;flex-direction:row;justify-content:space-between}.enroute-chart-link img{min-width:460px}.airport-card-head strong{font-size:22px}.airport-weather-board{grid-template-columns:repeat(2,minmax(0,1fr))}.airport-runway-visual{height:132px}.flightlog-header-actions{align-items:stretch;flex-direction:column}.flightlog-header-actions .flightlog-tabs,.flightlog-add-button{width:100%}.flightlog-form-grid,.flightlog-photo-actions{grid-template-columns:1fr}.flightlog-editor-backdrop{padding:10px}.flightlog-editor form{padding:12px}}@media (max-width:1024px){.calendar-page-header{align-items:stretch;flex-direction:column}.calendar-page-header .calendar-title-row{width:100%;justify-content:center}.calendar-header-actions{width:100%;margin-left:0;justify-content:flex-end}.calendar-page-tabs{flex:1 1 auto}}@media (max-width:820px){.flightlog-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.flightlog-form-grid{grid-template-columns:1fr}}
