:root {
  --bg: #eef2f8;
  --panel: #ffffff;
  --panel-soft: #f7f9fc;
  --ink: #0f172a;
  --ink-soft: #4b556a;
  --accent: #0f4c81;
  --accent-strong: #0b3b64;
  --line: #dde4ef;
  --danger: #b33737;
  --shadow-lg: 0 20px 45px rgba(15, 23, 42, 0.12);
  --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
  --bg-accent-one: #d5e5f8;
  --bg-accent-two: #dceee8;
  --topbar-start: #0f2742;
  --topbar-end: #123b62;
  --topbar-muted: #c8daef;
  --auth-gate-border: #c9d6e8;
  --auth-gate-rgb: 16, 86, 148;
  --auth-gate-surface: #f8fbff;
  --menu-border: #c4d4e8;
  --menu-surface-start: #ffffff;
  --menu-surface-end: #eaf1fb;
  --menu-surface-hover-end: #e2ecfa;
  --menu-text: #173352;
  --menu-active-start: #d8eaff;
  --menu-active-end: #c7defa;
  --menu-active-border: #6f9bcc;
  --menu-active-text: #0d3f6a;
  --section-border: #c9d6e8;
  --section-surface: #f8fbff;
  --section-shadow: 0 8px 18px rgba(12, 34, 58, 0.06);
  --section-primary-border: #5d8fc4;
  --section-primary-rgb: 16, 86, 148;
  --section-primary-surface: #f7fbff;
  --section-metrics-border: #3f7e6d;
  --section-metrics-rgb: 63, 126, 109;
  --section-metrics-surface: #f5fcf8;
  --section-violet-border: #7a68b8;
  --section-violet-rgb: 92, 72, 165;
  --section-violet-surface: #f9f7ff;
  --section-amber-border: #c99f42;
  --section-amber-rgb: 182, 134, 30;
  --section-amber-surface: #fffbf1;
  --section-teal-border: #4d94a3;
  --section-teal-rgb: 45, 134, 160;
  --section-teal-surface: #f3fcff;
  --section-indigo-border: #5f7cb5;
  --section-indigo-rgb: 62, 103, 168;
  --section-indigo-surface: #f4f8ff;
  --panel-card-border: #d7e2ef;
  --panel-card-surface-start: #ffffff;
  --panel-card-surface-end: #f8fbff;
  --panel-card-label: #58718e;
  --panel-card-text: #163a5b;
  --announcement-border: #cad9ec;
  --announcement-surface: #ffffff;
  --announcement-meta: #365978;
  --announcement-author: #102f50;
  --announcement-text: #23384d;
  --button-secondary-bg: #eef3f9;
  --button-secondary-border: #cfd9e8;
  --button-secondary-text: #22344d;
  --booking-panel-border: #aac7e3;
  --booking-panel-rgb: 16, 86, 148;
  --booking-panel-surface: #f8fbff;
  --booking-filter-card-border: #c1d7ec;
  --booking-filter-card-surface-start: rgba(255, 255, 255, 0.92);
  --booking-filter-card-surface-end: rgba(239, 246, 255, 0.9);
  --booking-cta-border: #9fc3e2;
  --booking-cta-start: #0e416c;
  --booking-cta-mid: #1a629b;
  --booking-cta-end: #245f96;
  --booking-cta-glow: rgba(129, 192, 255, 0.28);
}

html[data-theme="version-1"] {
  --bg: #eef2f8;
  --bg-accent-one: #d5e5f8;
  --bg-accent-two: #dceee8;
  --topbar-start: #0f2742;
  --topbar-end: #123b62;
  --topbar-muted: #c8daef;
}

html[data-theme="northern-spruce"] {
  --bg: #eef5f0;
  --panel-soft: #f7fbf8;
  --accent: #1d5d52;
  --accent-strong: #14443b;
  --bg-accent-one: #d5e8df;
  --bg-accent-two: #e2efe0;
  --topbar-start: #173c33;
  --topbar-end: #27564a;
  --topbar-muted: #d7efe7;
  --auth-gate-border: #bfd5cc;
  --auth-gate-rgb: 29, 93, 82;
  --menu-border: #c0d7cf;
  --menu-surface-end: #e9f4ef;
  --menu-surface-hover-end: #dfeee7;
  --menu-active-start: #dff2ea;
  --menu-active-end: #d1eadf;
  --menu-active-border: #6ea68f;
  --menu-active-text: #174d42;
  --section-border: #c5d8cf;
  --section-surface: #f8fcf9;
  --section-primary-border: #4b8d80;
  --section-primary-rgb: 38, 125, 109;
  --section-primary-surface: #f5fcf8;
  --section-metrics-border: #6a9455;
  --section-metrics-rgb: 106, 148, 85;
  --section-metrics-surface: #f8fcf3;
  --section-violet-border: #8072af;
  --section-violet-rgb: 108, 87, 170;
  --section-violet-surface: #faf7ff;
  --section-amber-border: #bf9441;
  --section-amber-rgb: 180, 138, 47;
  --section-amber-surface: #fffaf0;
  --section-teal-border: #4e9a92;
  --section-teal-rgb: 60, 145, 136;
  --section-teal-surface: #f2fcfb;
  --section-indigo-border: #5c7cad;
  --section-indigo-rgb: 73, 105, 161;
  --section-indigo-surface: #f4f8ff;
  --panel-card-border: #d4e5de;
  --panel-card-surface-end: #f5fbf8;
  --panel-card-label: #55756e;
  --panel-card-text: #1d4b43;
  --announcement-border: #cadfd6;
  --announcement-meta: #35635a;
  --announcement-author: #16433d;
  --announcement-text: #24453f;
  --button-secondary-bg: #eff5f1;
  --button-secondary-border: #c7d7cf;
  --button-secondary-text: #23473f;
  --booking-panel-border: #9fc8bd;
  --booking-panel-rgb: 29, 93, 82;
  --booking-panel-surface: #f5fbf8;
  --booking-filter-card-border: #c4ddd3;
  --booking-filter-card-surface-end: rgba(235, 247, 241, 0.95);
  --booking-cta-border: #93c4b5;
  --booking-cta-start: #18463d;
  --booking-cta-mid: #236356;
  --booking-cta-end: #2f7567;
  --booking-cta-glow: rgba(132, 196, 172, 0.24);
}

html[data-theme="hangar-dusk"] {
  --bg: #eff1f7;
  --panel-soft: #f8f9fc;
  --accent: #315c8d;
  --accent-strong: #243f66;
  --bg-accent-one: #d8deee;
  --bg-accent-two: #e8e1f0;
  --topbar-start: #273249;
  --topbar-end: #40567b;
  --topbar-muted: #dbe5f5;
  --auth-gate-border: #c9d3e3;
  --auth-gate-rgb: 58, 90, 138;
  --menu-border: #c9d3e4;
  --menu-surface-end: #edf2fb;
  --menu-surface-hover-end: #e5ecf8;
  --menu-active-start: #dfe7f8;
  --menu-active-end: #d2dcf3;
  --menu-active-border: #778fb6;
  --menu-active-text: #213e64;
  --section-border: #cfd8e6;
  --section-surface: #f9fbff;
  --section-primary-border: #6b8cb3;
  --section-primary-rgb: 76, 111, 159;
  --section-primary-surface: #f7faff;
  --section-metrics-border: #7f8f67;
  --section-metrics-rgb: 118, 133, 87;
  --section-metrics-surface: #fafbf5;
  --section-violet-border: #8b73b7;
  --section-violet-rgb: 115, 88, 172;
  --section-violet-surface: #faf7ff;
  --section-amber-border: #c08c59;
  --section-amber-rgb: 176, 122, 59;
  --section-amber-surface: #fff9f3;
  --section-teal-border: #5c8f9a;
  --section-teal-rgb: 74, 130, 146;
  --section-teal-surface: #f3fbfd;
  --section-indigo-border: #6a78b6;
  --section-indigo-rgb: 89, 103, 177;
  --section-indigo-surface: #f5f7ff;
  --panel-card-border: #d8e0ec;
  --panel-card-surface-end: #f7f9fd;
  --panel-card-label: #60718c;
  --panel-card-text: #233a56;
  --announcement-border: #d1dae8;
  --announcement-meta: #4b617d;
  --announcement-author: #223852;
  --announcement-text: #2d4057;
  --button-secondary-bg: #f0f3f9;
  --button-secondary-border: #d1d9e7;
  --button-secondary-text: #2a3b52;
  --booking-panel-border: #a8c1df;
  --booking-panel-rgb: 58, 90, 138;
  --booking-panel-surface: #f8fbff;
  --booking-filter-card-border: #cfdaea;
  --booking-filter-card-surface-end: rgba(241, 245, 253, 0.95);
  --booking-cta-border: #a3b9da;
  --booking-cta-start: #26354f;
  --booking-cta-mid: #3c5682;
  --booking-cta-end: #4a6c99;
  --booking-cta-glow: rgba(167, 194, 236, 0.22);
}

html[data-theme="coastal-sky"] {
  --bg: #eef5f8;
  --panel-soft: #f7fbfd;
  --accent: #1f6e8c;
  --accent-strong: #174d65;
  --bg-accent-one: #d4e8f2;
  --bg-accent-two: #e6efe4;
  --topbar-start: #16425d;
  --topbar-end: #2d6f8f;
  --topbar-muted: #d8eaf3;
  --auth-gate-border: #c4d9e5;
  --auth-gate-rgb: 31, 110, 140;
  --menu-border: #c8dbe6;
  --menu-surface-end: #ebf6fb;
  --menu-surface-hover-end: #e1f0f7;
  --menu-active-start: #dcf1f8;
  --menu-active-end: #cfe8f2;
  --menu-active-border: #71a5bf;
  --menu-active-text: #134d66;
  --section-border: #cadbe4;
  --section-surface: #f8fcfe;
  --section-primary-border: #5f9cbb;
  --section-primary-rgb: 43, 128, 160;
  --section-primary-surface: #f5fbfe;
  --section-metrics-border: #5f9a7d;
  --section-metrics-rgb: 88, 148, 122;
  --section-metrics-surface: #f5fcf8;
  --section-violet-border: #7d7bbc;
  --section-violet-rgb: 107, 103, 183;
  --section-violet-surface: #faf8ff;
  --section-amber-border: #c69a4d;
  --section-amber-rgb: 186, 141, 49;
  --section-amber-surface: #fffbf2;
  --section-teal-border: #4f98a8;
  --section-teal-rgb: 62, 146, 166;
  --section-teal-surface: #f2fcff;
  --section-indigo-border: #5e84b8;
  --section-indigo-rgb: 79, 119, 181;
  --section-indigo-surface: #f4f8ff;
  --panel-card-border: #d4e4ec;
  --panel-card-surface-end: #f6fbfd;
  --panel-card-label: #5c7c8d;
  --panel-card-text: #173f56;
  --announcement-border: #cddde8;
  --announcement-meta: #3d677b;
  --announcement-author: #17425b;
  --announcement-text: #264554;
  --button-secondary-bg: #eff6fa;
  --button-secondary-border: #ccdbe5;
  --button-secondary-text: #214055;
  --booking-panel-border: #a1c9da;
  --booking-panel-rgb: 31, 110, 140;
  --booking-panel-surface: #f6fbfd;
  --booking-filter-card-border: #c9dce7;
  --booking-filter-card-surface-end: rgba(237, 247, 251, 0.95);
  --booking-cta-border: #9bc4d7;
  --booking-cta-start: #174562;
  --booking-cta-mid: #206887;
  --booking-cta-end: #2d7f95;
  --booking-cta-glow: rgba(123, 198, 225, 0.22);
}

html[data-theme="aurora-approach"] {
  --bg: #f1f4f9;
  --panel: #ffffff;
  --panel-soft: #f7f9fd;
  --ink: #182739;
  --ink-soft: #58687c;
  --accent: #365571;
  --accent-strong: #263f56;
  --line: #d6deea;
  --bg-accent-one: #d7e2f2;
  --bg-accent-two: #ece3f3;
  --topbar-start: #365571;
  --topbar-end: #4d6d8b;
  --topbar-muted: #dce7f5;
  --auth-gate-border: #c6d3e3;
  --auth-gate-rgb: 54, 85, 113;
  --auth-gate-surface: #f8fbff;
  --menu-border: #c8d5e4;
  --menu-surface-end: #edf3fb;
  --menu-surface-hover-end: #e5edf9;
  --menu-text: #243b55;
  --menu-active-start: #dce8f8;
  --menu-active-end: #d2def2;
  --menu-active-border: #7892b8;
  --menu-active-text: #214564;
  --section-border: #cfd8e6;
  --section-surface: #fafcff;
  --section-shadow: 0 10px 24px rgba(31, 49, 72, 0.08);
  --section-primary-border: #718fb2;
  --section-primary-rgb: 74, 102, 146;
  --section-primary-surface: #f7faff;
  --section-metrics-border: #6b9387;
  --section-metrics-rgb: 93, 140, 128;
  --section-metrics-surface: #f6fcfa;
  --section-violet-border: #8977bf;
  --section-violet-rgb: 120, 98, 182;
  --section-violet-surface: #faf8ff;
  --section-amber-border: #c89d58;
  --section-amber-rgb: 188, 145, 63;
  --section-amber-surface: #fffbf3;
  --section-teal-border: #5f97a8;
  --section-teal-rgb: 71, 143, 160;
  --section-teal-surface: #f4fbfd;
  --section-indigo-border: #687db8;
  --section-indigo-rgb: 88, 111, 182;
  --section-indigo-surface: #f5f8ff;
  --panel-card-border: #d6e0ed;
  --panel-card-surface-start: #ffffff;
  --panel-card-surface-end: #f7fafe;
  --panel-card-label: #60758d;
  --panel-card-text: #203f5d;
  --announcement-border: #d2dceb;
  --announcement-surface: #ffffff;
  --announcement-meta: #4c6381;
  --announcement-author: #223a57;
  --announcement-text: #304559;
  --button-secondary-bg: #eff4fb;
  --button-secondary-border: #d0d9e8;
  --button-secondary-text: #284157;
  --booking-panel-border: #afc5de;
  --booking-panel-rgb: 54, 85, 113;
  --booking-panel-surface: #f8fbff;
  --booking-filter-card-border: #cdd9e8;
  --booking-filter-card-surface-start: rgba(255, 255, 255, 0.94);
  --booking-filter-card-surface-end: rgba(239, 244, 252, 0.94);
  --booking-cta-border: #aabed8;
  --booking-cta-start: #2f4a63;
  --booking-cta-mid: #4c6d8c;
  --booking-cta-end: #5d7f97;
  --booking-cta-glow: rgba(171, 195, 226, 0.22);
}

html[data-theme="copper-runway"] {
  --bg: #f7f1eb;
  --panel: #fffdfa;
  --panel-soft: #fbf6f1;
  --ink: #2c201c;
  --ink-soft: #6e5a4f;
  --accent: #8f5b40;
  --accent-strong: #6a4634;
  --line: #e5d7ca;
  --bg-accent-one: #ead9cc;
  --bg-accent-two: #efe7db;
  --topbar-start: #5f3c2e;
  --topbar-end: #8b5d46;
  --topbar-muted: #f1dfd4;
  --auth-gate-border: #d9c8bb;
  --auth-gate-rgb: 143, 91, 64;
  --auth-gate-surface: #fffaf5;
  --menu-border: #dccbbe;
  --menu-surface-end: #f7efe8;
  --menu-surface-hover-end: #f2e6dd;
  --menu-text: #5a3d31;
  --menu-active-start: #f4e4d8;
  --menu-active-end: #ecd7c8;
  --menu-active-border: #b18871;
  --menu-active-text: #6b4331;
  --section-border: #dfcec2;
  --section-surface: #fffaf6;
  --section-shadow: 0 10px 24px rgba(71, 42, 26, 0.08);
  --section-primary-border: #b57d62;
  --section-primary-rgb: 150, 98, 69;
  --section-primary-surface: #fff8f3;
  --section-metrics-border: #8b9365;
  --section-metrics-rgb: 127, 136, 88;
  --section-metrics-surface: #fcfbf5;
  --section-violet-border: #9172ab;
  --section-violet-rgb: 122, 93, 158;
  --section-violet-surface: #fbf8ff;
  --section-amber-border: #cc9a4c;
  --section-amber-rgb: 193, 145, 55;
  --section-amber-surface: #fffbf2;
  --section-teal-border: #5f918e;
  --section-teal-rgb: 84, 141, 137;
  --section-teal-surface: #f5fbfa;
  --section-indigo-border: #6f7fb0;
  --section-indigo-rgb: 100, 114, 171;
  --section-indigo-surface: #f7f8ff;
  --panel-card-border: #e1d4c8;
  --panel-card-surface-start: #fffdfa;
  --panel-card-surface-end: #fbf5ef;
  --panel-card-label: #7a6558;
  --panel-card-text: #56392d;
  --announcement-border: #e0d2c6;
  --announcement-surface: #fffdfa;
  --announcement-meta: #7a5f51;
  --announcement-author: #5a3a2e;
  --announcement-text: #62483d;
  --button-secondary-bg: #f7eee7;
  --button-secondary-border: #dbcbbf;
  --button-secondary-text: #5a4034;
  --booking-panel-border: #d0b29c;
  --booking-panel-rgb: 143, 91, 64;
  --booking-panel-surface: #fff9f4;
  --booking-filter-card-border: #e0d0c3;
  --booking-filter-card-surface-start: rgba(255, 252, 248, 0.94);
  --booking-filter-card-surface-end: rgba(249, 239, 230, 0.94);
  --booking-cta-border: #d1ac8f;
  --booking-cta-start: #6b4331;
  --booking-cta-mid: #8f5b40;
  --booking-cta-end: #ad7251;
  --booking-cta-glow: rgba(220, 177, 143, 0.24);
}

html[data-theme="dispatch"] {
  color-scheme: light;
  --bg: #edf2f6;
  --panel: #fbfcfe;
  --panel-soft: #f3f6fa;
  --ink: #0d1826;
  --ink-soft: #536579;
  --accent: #135a8f;
  --accent-strong: #102f4f;
  --line: #d6dee9;
  --danger: #b3313e;
  --shadow-md: 0 8px 20px rgba(16, 38, 63, 0.08);
  --shadow-lg: 0 18px 40px rgba(16, 38, 63, 0.11);
  --bg-accent-one: rgba(178, 204, 229, 0.62);
  --bg-accent-two: rgba(185, 217, 211, 0.56);
  --topbar-start: #10263f;
  --topbar-end: #174569;
  --topbar-muted: #c7d8e9;
  --auth-gate-border: #c5d2df;
  --auth-gate-rgb: 19, 90, 143;
  --auth-gate-surface: #fbfdff;
  --menu-border: #cbd7e5;
  --menu-surface-start: #ffffff;
  --menu-surface-end: #f2f6fa;
  --menu-surface-hover-end: #e8f0f8;
  --menu-text: #21354b;
  --menu-active-start: #e2edf8;
  --menu-active-end: #d2e3f5;
  --menu-active-border: #7ca6cc;
  --menu-active-text: #123f67;
  --section-border: #cfdbe8;
  --section-surface: #f8fbfe;
  --section-shadow: 0 10px 24px rgba(16, 38, 63, 0.07);
  --section-primary-border: #91b6d7;
  --section-primary-rgb: 19, 90, 143;
  --section-primary-surface: #f8fbff;
  --section-metrics-border: #9ebbad;
  --section-metrics-rgb: 66, 125, 104;
  --section-metrics-surface: #f7fbf8;
  --section-violet-border: #b4add6;
  --section-violet-rgb: 97, 84, 157;
  --section-violet-surface: #fbfaff;
  --section-amber-border: #d7b875;
  --section-amber-rgb: 171, 121, 37;
  --section-amber-surface: #fffaf0;
  --section-teal-border: #9bc8ce;
  --section-teal-rgb: 45, 126, 143;
  --section-teal-surface: #f5fcfd;
  --section-indigo-border: #aebdde;
  --section-indigo-rgb: 72, 100, 168;
  --section-indigo-surface: #f7f9ff;
  --panel-card-border: #d4dfeb;
  --panel-card-surface-start: #ffffff;
  --panel-card-surface-end: #f6f9fc;
  --panel-card-label: #64778c;
  --panel-card-text: #163a5a;
  --announcement-border: #d3deeb;
  --announcement-surface: #ffffff;
  --announcement-meta: #526a82;
  --announcement-author: #183b59;
  --announcement-text: #2d4052;
  --button-secondary-bg: #dcebf7;
  --button-secondary-border: #719abb;
  --button-secondary-text: #0d3557;
  --booking-panel-border: #a8c6e1;
  --booking-panel-rgb: 19, 90, 143;
  --booking-panel-surface: #f8fbff;
  --booking-filter-card-border: #cbd9e8;
  --booking-filter-card-surface-start: rgba(255, 255, 255, 0.96);
  --booking-filter-card-surface-end: rgba(242, 247, 252, 0.96);
  --booking-cta-border: #8eb9da;
  --booking-cta-start: #123a5f;
  --booking-cta-mid: #1a669b;
  --booking-cta-end: #227ba9;
  --booking-cta-glow: rgba(62, 141, 199, 0.2);
  --dispatch-bg: #edf2f6;
  --dispatch-surface: #fbfcfe;
  --dispatch-surface-elevated: #ffffff;
  --dispatch-border: #d6dee9;
  --dispatch-accent: #135a8f;
  --dispatch-muted: #536579;
  --dispatch-success: #176b4d;
  --dispatch-warning: #8a5b08;
  --dispatch-danger: #b3313e;
  --dispatch-space-1: 0.25rem;
  --dispatch-space-2: 0.5rem;
  --dispatch-space-3: 0.75rem;
  --dispatch-space-4: 1rem;
  --dispatch-space-5: 1.25rem;
  --dispatch-radius-sm: 8px;
  --dispatch-radius-md: 12px;
  --dispatch-radius-lg: 16px;
  --dispatch-depth-1: 0 1px 2px rgba(16, 38, 63, 0.05), 0 4px 12px rgba(16, 38, 63, 0.06);
  --dispatch-depth-2: 0 10px 26px rgba(16, 38, 63, 0.09);
  --dispatch-depth-3: 0 20px 44px rgba(16, 38, 63, 0.14);
}

html[data-theme="dispatch"] body {
  background:
    radial-gradient(900px 360px at 8% -18%, rgba(178, 204, 229, 0.58) 0%, transparent 72%),
    radial-gradient(760px 320px at 96% -6%, rgba(184, 216, 208, 0.5) 0%, transparent 64%),
    linear-gradient(180deg, #f5f8fb 0%, var(--dispatch-bg) 42%, #e9eff5 100%);
}

html[data-theme="dispatch"] h1,
html[data-theme="dispatch"] h2,
html[data-theme="dispatch"] h3 {
  letter-spacing: 0;
}

html[data-theme="dispatch"] p {
  color: var(--dispatch-muted);
}

html[data-theme="dispatch"] .topbar {
  border: 1px solid rgba(214, 229, 243, 0.16);
  border-radius: var(--dispatch-radius-lg);
  background:
    linear-gradient(100deg, rgba(255, 255, 255, 0.06), transparent 36%),
    linear-gradient(100deg, var(--topbar-start), var(--topbar-end));
  box-shadow: var(--dispatch-depth-2);
}

html[data-theme="dispatch"] .brand h1 {
  font-weight: 700;
}

html[data-theme="dispatch"] .auth-button,
html[data-theme="dispatch"] .account-chip,
html[data-theme="dispatch"] .page-switcher select {
  border-color: rgba(238, 246, 255, 0.28);
  background: rgba(255, 255, 255, 0.11);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

html[data-theme="dispatch"] .auth-button:hover,
html[data-theme="dispatch"] .account-chip:hover,
html[data-theme="dispatch"] .page-switcher select:hover {
  background: rgba(255, 255, 255, 0.18);
}

html[data-theme="dispatch"] .icon-button {
  border-radius: var(--dispatch-radius-md);
  font-size: 1rem;
}

html[data-theme="dispatch"] .aircraft-status-pill,
html[data-theme="dispatch"] .aircraft-status-banner {
  border-width: 1px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    0 8px 18px rgba(16, 38, 63, 0.12);
}

html[data-theme="dispatch"] .sidebar,
html[data-theme="dispatch"] .content {
  border-color: rgba(202, 214, 228, 0.9);
  border-radius: var(--dispatch-radius-lg);
  background: rgba(251, 252, 254, 0.9);
  box-shadow: var(--dispatch-depth-2);
}

html[data-theme="dispatch"] .content {
  backdrop-filter: blur(10px);
}

html[data-theme="dispatch"] .sidebar {
  background: rgba(248, 251, 254, 0.82);
  box-shadow: var(--dispatch-depth-1);
}

html[data-theme="dispatch"] .menu {
  gap: 0.45rem;
}

html[data-theme="dispatch"] .menu-item,
html[data-theme="dispatch"] .settings-nav-btn {
  border-radius: var(--dispatch-radius-md);
  border-color: var(--menu-border);
  background: linear-gradient(180deg, #ffffff, #f2f6fa);
  color: var(--menu-text);
  box-shadow:
    0 3px 10px rgba(16, 38, 63, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition:
    background 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}

html[data-theme="dispatch"] .menu-item:hover,
html[data-theme="dispatch"] .settings-nav-btn:hover {
  border-color: #9db7d2;
  background: linear-gradient(180deg, #ffffff, #eaf2fa);
  box-shadow: 0 8px 18px rgba(16, 38, 63, 0.09);
  transform: translateY(-1px);
}

html[data-theme="dispatch"] .menu-item.active,
html[data-theme="dispatch"] .settings-nav-btn.active {
  border-color: var(--menu-active-border);
  background: linear-gradient(180deg, var(--menu-active-start), var(--menu-active-end));
  color: var(--menu-active-text);
  box-shadow:
    inset 0 0 0 1px rgba(19, 90, 143, 0.15),
    0 8px 18px rgba(19, 90, 143, 0.12);
}

html[data-theme="dispatch"] .card,
html[data-theme="dispatch"] .panel,
html[data-theme="dispatch"] .summary,
html[data-theme="dispatch"] .metric-strip,
html[data-theme="dispatch"] .booking-card,
html[data-theme="dispatch"] .booking-week-day,
html[data-theme="dispatch"] .booking-week-event,
html[data-theme="dispatch"] .report-widget,
html[data-theme="dispatch"] .report-chart-card,
html[data-theme="dispatch"] .report-summary-card,
html[data-theme="dispatch"] .ops-indicator,
html[data-theme="dispatch"] .system-architecture-item,
html[data-theme="dispatch"] .settlement-block,
html[data-theme="dispatch"] .engine-fund-partner-card,
html[data-theme="dispatch"] .settings-mobile-card,
html[data-theme="dispatch"] .documents-mobile-card,
html[data-theme="dispatch"] .logbook-mobile-card,
html[data-theme="dispatch"] .squawk-mobile-card,
html[data-theme="dispatch"] .expense-mobile-balance-card {
  border-color: var(--dispatch-border);
  border-radius: var(--dispatch-radius-md);
  background: linear-gradient(180deg, var(--dispatch-surface-elevated), #f8fafc);
  box-shadow: var(--dispatch-depth-1);
}

html[data-theme="dispatch"] .section-block {
  border-width: 1px;
  border-color: rgba(var(--section-primary-rgb), 0.24);
  border-radius: var(--dispatch-radius-lg);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(248, 251, 254, 0.9)),
    var(--section-surface);
  box-shadow: var(--section-shadow);
}

html[data-theme="dispatch"] .section-block.metrics-block {
  border-color: rgba(var(--section-metrics-rgb), 0.34);
}

html[data-theme="dispatch"] .section-head p,
html[data-theme="dispatch"] .hint,
html[data-theme="dispatch"] .input-help,
html[data-theme="dispatch"] .muted,
html[data-theme="dispatch"] .metric small,
html[data-theme="dispatch"] .booking-card-subtle,
html[data-theme="dispatch"] .booking-meta,
html[data-theme="dispatch"] .booking-notes,
html[data-theme="dispatch"] .announcement-meta,
html[data-theme="dispatch"] .documents-mobile-head p,
html[data-theme="dispatch"] .logbook-mobile-meta,
html[data-theme="dispatch"] .logbook-mobile-data span,
html[data-theme="dispatch"] .expense-mobile-balance-data span,
html[data-theme="dispatch"] .settings-mobile-chip {
  color: #5b6f84;
}

html[data-theme="dispatch"] .metric {
  padding: 0.72rem 0.78rem;
  border-color: var(--panel-card-border);
  background: linear-gradient(180deg, #ffffff, #f7f9fc);
}

html[data-theme="dispatch"] .metric strong {
  color: #0d263f;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}

html[data-theme="dispatch"] .metric small {
  font-weight: 700;
}

html[data-theme="dispatch"] .landing-squawk-stat,
html[data-theme="dispatch"] .landing-latest-squawk,
html[data-theme="dispatch"] .landing-booking-empty,
html[data-theme="dispatch"] .landing-status-stat,
html[data-theme="dispatch"] .landing-dispatch-note,
html[data-theme="dispatch"] .documents-mobile-meta-item,
html[data-theme="dispatch"] .logbook-mobile-data,
html[data-theme="dispatch"] .squawk-mobile-data,
html[data-theme="dispatch"] .expense-mobile-balance-data,
html[data-theme="dispatch"] .engine-fund-partner-data,
html[data-theme="dispatch"] .account-modal-meta div {
  border-color: #d9e3ee;
  border-radius: var(--dispatch-radius-md);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

html[data-theme="dispatch"] .button-secondary,
html[data-theme="dispatch"] .auth-gate-recover,
html[data-theme="dispatch"] .button-small,
html[data-theme="dispatch"] .table-page-btn,
html[data-theme="dispatch"] #export-data,
html[data-theme="dispatch"] .booking-control-btn,
html[data-theme="dispatch"] .date-picker-trigger {
  border-color: var(--button-secondary-border);
  border-radius: var(--dispatch-radius-sm);
  background: linear-gradient(180deg, #ffffff 0%, #eef6fc 42%, var(--button-secondary-bg) 100%);
  color: var(--button-secondary-text);
  font-weight: 800;
  box-shadow:
    0 5px 12px rgba(16, 38, 63, 0.12),
    0 0 0 1px rgba(19, 90, 143, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease,
    background 0.16s ease;
}

html[data-theme="dispatch"] .button-secondary:hover,
html[data-theme="dispatch"] .auth-gate-recover:hover,
html[data-theme="dispatch"] .button-small:hover,
html[data-theme="dispatch"] .table-page-btn:hover,
html[data-theme="dispatch"] #export-data:hover,
html[data-theme="dispatch"] .booking-control-btn:hover,
html[data-theme="dispatch"] .date-picker-trigger:hover {
  border-color: #4f7fa8;
  background: linear-gradient(180deg, #ffffff 0%, #e4f1fb 42%, #cfe3f4 100%);
  box-shadow:
    0 9px 20px rgba(16, 38, 63, 0.16),
    0 0 0 1px rgba(19, 90, 143, 0.1);
  transform: translateY(-1px);
}

html[data-theme="dispatch"] .primary-action,
html[data-theme="dispatch"] .actions button:not(.button-secondary):not(.button-danger):not(.button-small) {
  border: 1px solid #0b416d;
  border-radius: var(--dispatch-radius-md);
  background: linear-gradient(135deg, #0d5488 0%, #123f67 62%, #0d2e4d 100%);
  box-shadow:
    0 11px 24px rgba(16, 69, 112, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  color: #ffffff;
  font-weight: 850;
}

html[data-theme="dispatch"] .primary-action:hover {
  background: linear-gradient(135deg, #0b609c 0%, #164d7b 62%, #123a5e 100%);
  box-shadow:
    0 15px 30px rgba(16, 69, 112, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

html[data-theme="dispatch"] .button-danger,
html[data-theme="dispatch"] .delete-entry,
html[data-theme="dispatch"] .delete-expense,
html[data-theme="dispatch"] .delete-document,
html[data-theme="dispatch"] .delete-doc,
html[data-theme="dispatch"] .delete-maintenance {
  border-color: #efc3c8;
  border-radius: var(--dispatch-radius-sm);
  background: linear-gradient(180deg, #fff9fa, #fff0f2);
  color: var(--dispatch-danger);
}

html[data-theme="dispatch"] .button-danger:hover,
html[data-theme="dispatch"] .delete-entry:hover,
html[data-theme="dispatch"] .delete-expense:hover,
html[data-theme="dispatch"] .delete-document:hover,
html[data-theme="dispatch"] .delete-doc:hover,
html[data-theme="dispatch"] .delete-maintenance:hover {
  border-color: #e3a6af;
  background: linear-gradient(180deg, #fff5f6, #ffe9ec);
}

html[data-theme="dispatch"] button:disabled,
html[data-theme="dispatch"] .primary-action:disabled,
html[data-theme="dispatch"] .button-secondary:disabled,
html[data-theme="dispatch"] .button-danger:disabled,
html[data-theme="dispatch"] .table-page-btn:disabled {
  border-color: #c4d0dd;
  background: linear-gradient(180deg, #f4f7fa, #e9eef3);
  color: #6d7f91;
  opacity: 0.82;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transform: none;
}

html[data-theme="dispatch"] .field input,
html[data-theme="dispatch"] .field textarea,
html[data-theme="dispatch"] .field select,
html[data-theme="dispatch"] .inline-form input,
html[data-theme="dispatch"] .modal .field input,
html[data-theme="dispatch"] .modal .field textarea,
html[data-theme="dispatch"] .modal .field select,
html[data-theme="dispatch"] .booking-range-controls select,
html[data-theme="dispatch"] .booking-range-controls input,
html[data-theme="dispatch"] .checkbox-inline,
html[data-theme="dispatch"] .settings-nav-select,
html[data-theme="dispatch"] #settings-email-panel input,
html[data-theme="dispatch"] #settings-email-panel select,
html[data-theme="dispatch"] #settings-email-panel textarea {
  border-color: #cfdbe8;
  border-radius: var(--dispatch-radius-sm);
  background: #ffffff;
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(16, 38, 63, 0.03);
}

html[data-theme="dispatch"] .field input:focus,
html[data-theme="dispatch"] .field textarea:focus,
html[data-theme="dispatch"] .field select:focus,
html[data-theme="dispatch"] .inline-form input:focus,
html[data-theme="dispatch"] .modal .field input:focus,
html[data-theme="dispatch"] .modal .field textarea:focus,
html[data-theme="dispatch"] .modal .field select:focus,
html[data-theme="dispatch"] .date-picker-trigger:focus-visible,
html[data-theme="dispatch"] .booking-control-btn:focus-visible,
html[data-theme="dispatch"] .checkbox-inline:focus-within,
html[data-theme="dispatch"] .menu-item:focus-visible,
html[data-theme="dispatch"] .settings-nav-btn:focus-visible,
html[data-theme="dispatch"] .button-secondary:focus-visible,
html[data-theme="dispatch"] .primary-action:focus-visible,
html[data-theme="dispatch"] .button-danger:focus-visible,
html[data-theme="dispatch"] .table-sort:focus-visible {
  outline: 2px solid rgba(19, 90, 143, 0.46);
  outline-offset: 2px;
  border-color: #7fa7c9;
  box-shadow:
    0 0 0 4px rgba(19, 90, 143, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

html[data-theme="dispatch"] .table-wrap,
html[data-theme="dispatch"] .email-dispatch-detail-table-wrap,
html[data-theme="dispatch"] .audit-history-detail-table-wrap {
  border-width: 1px;
  border-color: #cad6e4;
  border-radius: var(--dispatch-radius-md);
  background: #ffffff;
  box-shadow: var(--dispatch-depth-1);
}

html[data-theme="dispatch"] table {
  font-variant-numeric: tabular-nums;
}

html[data-theme="dispatch"] th {
  background: linear-gradient(180deg, #f2f6fa, #eaf0f6);
  color: #18334d;
  border-bottom-color: #cbd7e4;
}

html[data-theme="dispatch"] td {
  color: #13283d;
}

html[data-theme="dispatch"] tr {
  background: #ffffff;
}

html[data-theme="dispatch"] tr:nth-child(even) {
  background: #fbfcfe;
}

html[data-theme="dispatch"] tr:hover td,
html[data-theme="dispatch"] .squawk-row:hover {
  background: #f4f8fc;
}

html[data-theme="dispatch"] .table-sort {
  color: #18334d;
}

html[data-theme="dispatch"] .table-sort .sort-indicator {
  color: #6c8197;
}

html[data-theme="dispatch"] .status-pill {
  border-width: 1px;
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

html[data-theme="dispatch"] .status-ok,
html[data-theme="dispatch"] .status-good,
html[data-theme="dispatch"] .aircraft-status-ready {
  border-color: #acd9c3;
  background: linear-gradient(180deg, #eefaf4, #def4e8);
  color: var(--dispatch-success);
}

html[data-theme="dispatch"] .status-warn,
html[data-theme="dispatch"] .status-soon,
html[data-theme="dispatch"] .aircraft-status-soon,
html[data-theme="dispatch"] .booking-inline-message,
html[data-theme="dispatch"] .booking-warning-item {
  border-color: #e4c985;
  background: linear-gradient(180deg, #fff9eb, #fff1d4);
  color: var(--dispatch-warning);
}

html[data-theme="dispatch"] .status-overdue,
html[data-theme="dispatch"] .aircraft-status-grounded,
html[data-theme="dispatch"] .booking-message.error,
html[data-theme="dispatch"] .landing-grounded-alert {
  border-color: #ebb2ba;
  background: linear-gradient(180deg, #fff5f6, #ffe7ea);
  color: var(--dispatch-danger);
}

html[data-theme="dispatch"] .booking-cta-card {
  border-color: var(--booking-cta-border);
  border-radius: var(--dispatch-radius-lg);
  background:
    radial-gradient(360px 180px at 90% 18%, rgba(255, 255, 255, 0.16), transparent 64%),
    linear-gradient(135deg, var(--booking-cta-start), var(--booking-cta-mid) 58%, var(--booking-cta-end));
  box-shadow:
    0 16px 32px rgba(19, 90, 143, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

html[data-theme="dispatch"] .booking-filter-card {
  border-color: var(--booking-filter-card-border);
  border-radius: var(--dispatch-radius-md);
  background: linear-gradient(180deg, var(--booking-filter-card-surface-start), var(--booking-filter-card-surface-end));
}

html[data-theme="dispatch"] .booking-skeleton {
  background: linear-gradient(90deg, #edf3f8 0%, #f8fbfe 48%, #edf3f8 100%);
}

html[data-theme="dispatch"] .modal-card {
  border-color: #cad6e4;
  border-radius: var(--dispatch-radius-lg);
  background: linear-gradient(180deg, #ffffff, #f9fbfd);
  box-shadow: var(--dispatch-depth-3);
}

html[data-theme="dispatch"] .modal-backdrop {
  background: rgba(10, 24, 40, 0.45);
  backdrop-filter: blur(4px);
}

html[data-theme="dispatch"] .modal-close {
  border-color: var(--button-secondary-border);
  border-radius: var(--dispatch-radius-sm);
  background: linear-gradient(180deg, #ffffff, #f4f7fb);
  color: var(--button-secondary-text);
}

html[data-theme="dispatch"] .logbook-mobile-card-head,
html[data-theme="dispatch"] .squawk-mobile-card-head,
html[data-theme="dispatch"] .expense-mobile-balance-head,
html[data-theme="dispatch"] .settings-mobile-card-head,
html[data-theme="dispatch"] .engine-fund-partner-head {
  border-bottom-color: #d4dfeb;
  background: linear-gradient(180deg, rgba(19, 90, 143, 0.08), rgba(19, 90, 143, 0.025));
}

html[data-theme="dispatch"] .logbook-mobile-actions,
html[data-theme="dispatch"] .squawk-mobile-actions,
html[data-theme="dispatch"] .expense-mobile-balance-actions,
html[data-theme="dispatch"] .settings-mobile-card-footer,
html[data-theme="dispatch"] .engine-fund-partner-footer {
  border-top-color: #d4dfeb;
  background: linear-gradient(180deg, rgba(16, 38, 63, 0.035), rgba(16, 38, 63, 0.015));
}

html[data-theme="dispatch"] .settings-nav,
html[data-theme="dispatch"] .settings-mobile-nav-wrap,
html[data-theme="dispatch"] .settings-general-guard,
html[data-theme="dispatch"] .backup-guidance,
html[data-theme="dispatch"] .backup-status-panel {
  border-color: #cad6e4;
  border-radius: var(--dispatch-radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(244, 248, 252, 0.92));
  box-shadow: var(--dispatch-depth-1);
}

html[data-theme="dispatch"] .backup-button-icon,
html[data-theme="dispatch"] .backup-action-icon,
html[data-theme="dispatch"] .backup-status-icon,
html[data-theme="dispatch"] .backup-recommended-icon,
html[data-theme="dispatch"] .backup-module-icon,
html[data-theme="dispatch"] .settings-general-icon-badge {
  border-color: #d0ddeb;
  background: linear-gradient(180deg, #ffffff, #eef5fb);
  color: var(--dispatch-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

html[data-theme="dispatch"] .app-toast {
  border: 1px solid rgba(16, 38, 63, 0.1);
  border-radius: var(--dispatch-radius-md);
  background: rgba(16, 38, 63, 0.94);
  box-shadow: var(--dispatch-depth-3);
}

html[data-theme="dispatch"] .app-toast.error {
  background: rgba(132, 34, 47, 0.95);
}

html[data-theme="dispatch"] .documents-category-tab {
  border-radius: 999px;
}

html[data-theme="dispatch"] .documents-category-tab.active {
  border-color: #85a9ca;
  background: linear-gradient(180deg, #eaf3fb, #dcebf8);
  color: #123f67;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="dispatch"] *,
  html[data-theme="dispatch"] *::before,
  html[data-theme="dispatch"] *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

html[data-theme="f-117"] {
  color-scheme: dark;
  --bg: #05080c;
  --panel: #0d1218;
  --panel-soft: #111820;
  --ink: #e6f2e8;
  --ink-soft: #96aa99;
  --accent: #7fd38c;
  --accent-strong: #3d8f53;
  --line: #233027;
  --danger: #d56f77;
  --shadow-lg: 0 28px 56px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 14px 32px rgba(0, 0, 0, 0.38);
  --bg-accent-one: #101813;
  --bg-accent-two: #090d0f;
  --topbar-start: #020406;
  --topbar-end: #11181e;
  --topbar-muted: #7ea989;
  --auth-gate-border: #243127;
  --auth-gate-rgb: 61, 143, 83;
  --auth-gate-surface: #0b1115;
  --menu-border: #243127;
  --menu-surface-start: #0d1218;
  --menu-surface-end: #121922;
  --menu-surface-hover-end: #18221c;
  --menu-text: #d7e6d8;
  --menu-active-start: #17241a;
  --menu-active-end: #1d2e20;
  --menu-active-border: #5ba16b;
  --menu-active-text: #eff9f0;
  --section-border: #243127;
  --section-surface: #0b1116;
  --section-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
  --section-primary-border: #4f7f5b;
  --section-primary-rgb: 61, 143, 83;
  --section-primary-surface: #0d1510;
  --section-metrics-border: #557e5e;
  --section-metrics-rgb: 83, 126, 94;
  --section-metrics-surface: #0f1612;
  --section-violet-border: #4f6a59;
  --section-violet-rgb: 70, 102, 84;
  --section-violet-surface: #0d1412;
  --section-amber-border: #7a8653;
  --section-amber-rgb: 118, 134, 82;
  --section-amber-surface: #12150d;
  --section-teal-border: #437765;
  --section-teal-rgb: 63, 118, 97;
  --section-teal-surface: #0d1512;
  --section-indigo-border: #506e5a;
  --section-indigo-rgb: 79, 111, 90;
  --section-indigo-surface: #0d1411;
  --panel-card-border: #253229;
  --panel-card-surface-start: #10161b;
  --panel-card-surface-end: #141c22;
  --panel-card-label: #8aa18c;
  --panel-card-text: #e7f4e8;
  --announcement-border: #263329;
  --announcement-surface: #0e1419;
  --announcement-meta: #8cad93;
  --announcement-author: #f2fbf3;
  --announcement-text: #c8d7ca;
  --button-secondary-bg: #121920;
  --button-secondary-border: #2a3730;
  --button-secondary-text: #dcebdc;
  --booking-panel-border: #34513d;
  --booking-panel-rgb: 61, 143, 83;
  --booking-panel-surface: #0d1418;
  --booking-filter-card-border: #2b3a31;
  --booking-filter-card-surface-start: rgba(13, 19, 23, 0.96);
  --booking-filter-card-surface-end: rgba(18, 28, 26, 0.96);
  --booking-cta-border: #42684e;
  --booking-cta-start: #04080b;
  --booking-cta-mid: #121a20;
  --booking-cta-end: #1a2628;
  --booking-cta-glow: rgba(127, 211, 140, 0.14);
}

html[data-theme="f-117"] .field input,
html[data-theme="f-117"] .field textarea,
html[data-theme="f-117"] .field select,
html[data-theme="f-117"] .inline-form input,
html[data-theme="f-117"] #logbook-form .field input,
html[data-theme="f-117"] #logbook-form .field select,
html[data-theme="f-117"] #logbook-form .field textarea,
html[data-theme="f-117"] #expense-form .field input,
html[data-theme="f-117"] #expense-form .field select,
html[data-theme="f-117"] #expense-form .field textarea,
html[data-theme="f-117"] #settings-email-panel input,
html[data-theme="f-117"] #settings-email-panel select,
html[data-theme="f-117"] #settings-email-panel textarea,
html[data-theme="f-117"] .modal .field input,
html[data-theme="f-117"] .modal .field textarea,
html[data-theme="f-117"] .modal .field select,
html[data-theme="f-117"] .booking-range-controls select,
html[data-theme="f-117"] .booking-range-controls input,
html[data-theme="f-117"] .booking-control-btn,
html[data-theme="f-117"] .checkbox-inline,
html[data-theme="f-117"] .date-picker-trigger {
  background: #121920;
  color: #e6f2e8;
  border-color: #334238;
}

html[data-theme="f-117"] .field input:focus,
html[data-theme="f-117"] .field textarea:focus,
html[data-theme="f-117"] .field select:focus,
html[data-theme="f-117"] .inline-form input:focus,
html[data-theme="f-117"] .date-picker-trigger:focus-visible,
html[data-theme="f-117"] .booking-control-btn:focus-visible,
html[data-theme="f-117"] .checkbox-inline:focus-within {
  border-color: #7fd38c;
  box-shadow: 0 0 0 3px rgba(127, 211, 140, 0.16);
}

html[data-theme="f-117"] .booking-control-btn:hover,
html[data-theme="f-117"] .date-picker-trigger:hover,
html[data-theme="f-117"] .checkbox-inline:hover {
  background: #172128;
  border-color: #49614f;
}

html[data-theme="f-117"] .checkbox-inline-toggle {
  background: linear-gradient(180deg, #131a20, #0f151b);
  border-color: #344239;
  box-shadow:
    inset 0 1px 0 rgba(190, 223, 193, 0.04),
    0 8px 18px rgba(0, 0, 0, 0.22);
  color: #d6ead8;
}

html[data-theme="f-117"] .checkbox-inline-toggle-ui {
  background: #2a3630;
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.12);
}

html[data-theme="f-117"] .checkbox-inline-toggle-ui::after {
  background: #edf6ee;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.34);
}

html[data-theme="f-117"] .checkbox-inline-toggle:has(input:checked) {
  border-color: #678f6d;
  background: linear-gradient(180deg, #132017, #0f1712);
  color: #dff6e2;
  box-shadow:
    inset 0 1px 0 rgba(190, 223, 193, 0.06),
    0 10px 20px rgba(0, 0, 0, 0.28);
}

html[data-theme="f-117"] .checkbox-inline-toggle:has(input:checked) .checkbox-inline-toggle-ui {
  background: #4f8f5f;
}

html[data-theme="f-117"] .hint,
html[data-theme="f-117"] .input-help,
html[data-theme="f-117"] .metric small,
html[data-theme="f-117"] .squawk-detail-label,
html[data-theme="f-117"] .announcement-meta,
html[data-theme="f-117"] .auth-gate-card p,
html[data-theme="f-117"] .booking-cta-subtitle,
html[data-theme="f-117"] .booking-empty-panel p,
html[data-theme="f-117"] .booking-status-panel p,
html[data-theme="f-117"] .section-head p {
  color: #8ea493;
}

html[data-theme="f-117"] .profile-highlights,
html[data-theme="f-117"] .flight-form-section,
html[data-theme="f-117"] .expense-form-section,
html[data-theme="f-117"] .squawk-detail-description,
html[data-theme="f-117"] .squawk-audit-item,
html[data-theme="f-117"] .logbook-mobile-card,
html[data-theme="f-117"] .logbook-mobile-data,
html[data-theme="f-117"] .logbook-detail-item,
html[data-theme="f-117"] .logbook-detail-notes,
html[data-theme="f-117"] .metric-strip,
html[data-theme="f-117"] .metric,
html[data-theme="f-117"] .report-chart-card,
html[data-theme="f-117"] .report-summary-card,
html[data-theme="f-117"] .ops-indicator,
html[data-theme="f-117"] .system-architecture-item,
html[data-theme="f-117"] .documents-mobile-card,
html[data-theme="f-117"] .documents-mobile-meta-item,
html[data-theme="f-117"] .table-wrap,
html[data-theme="f-117"] .email-dispatch-detail-table-wrap,
html[data-theme="f-117"] .email-event-card {
  background: #10161d;
  border-color: #2b3930;
  color: #e6f2e8;
}

html[data-theme="f-117"] .profile-highlights {
  border-style: solid;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.08), rgba(127, 211, 140, 0.02)), #10161d;
}

html[data-theme="f-117"] .logbook-mobile-card {
  border-color: #43614a;
  background: linear-gradient(180deg, #121920, #17211c);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .expense-mobile-balance-card {
  border-color: #43614a;
  background: linear-gradient(180deg, #121920, #17211c);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .logbook-mobile-card-head {
  border-bottom-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.12), rgba(127, 211, 140, 0.05)), #111920;
  box-shadow: inset 0 1px 0 rgba(160, 235, 168, 0.08);
}

html[data-theme="f-117"] .expense-mobile-balance-head {
  border-bottom-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.12), rgba(127, 211, 140, 0.05)), #111920;
  box-shadow: inset 0 1px 0 rgba(160, 235, 168, 0.08);
}

html[data-theme="f-117"] .logbook-mobile-actions {
  border-top-color: #314036;
  background: linear-gradient(180deg, rgba(10, 16, 13, 0.88), rgba(14, 21, 18, 0.96)), #0d1317;
}

html[data-theme="f-117"] .expense-mobile-balance-actions {
  border-top-color: #314036;
  background: linear-gradient(180deg, rgba(10, 16, 13, 0.88), rgba(14, 21, 18, 0.96)), #0d1317;
}

html[data-theme="f-117"] .logbook-mobile-data {
  border-color: #314036;
  background: linear-gradient(180deg, #0f151a, #141c18);
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

html[data-theme="f-117"] .expense-mobile-balance-data {
  border-color: #314036;
  background: linear-gradient(180deg, #0f151a, #141c18);
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

html[data-theme="f-117"] .profile-highlights h4,
html[data-theme="f-117"] .profile-highlights strong,
html[data-theme="f-117"] .flight-form-section h4,
html[data-theme="f-117"] .expense-form-section h4,
html[data-theme="f-117"] #logbook-form .field label,
html[data-theme="f-117"] #expense-form .field label,
html[data-theme="f-117"] .squawk-detail-value,
html[data-theme="f-117"] .squawk-audit-change {
  color: #dff6e2;
}

html[data-theme="f-117"] .squawk-id,
html[data-theme="f-117"] .table-sort,
html[data-theme="f-117"] th,
html[data-theme="f-117"] td,
html[data-theme="f-117"] .ops-indicator strong,
html[data-theme="f-117"] .system-architecture-item strong,
html[data-theme="f-117"] .documents-mobile-head h4,
html[data-theme="f-117"] .documents-mobile-meta-item strong,
html[data-theme="f-117"] .logbook-mobile-card-head h4,
html[data-theme="f-117"] .logbook-mobile-data strong,
html[data-theme="f-117"] .expense-mobile-balance-head h4,
html[data-theme="f-117"] .expense-mobile-balance-data strong,
html[data-theme="f-117"] .logbook-detail-item strong,
html[data-theme="f-117"] .audit-group-card strong,
html[data-theme="f-117"] .email-dispatch-summary-item strong,
html[data-theme="f-117"] .audit-detail-summary-item strong {
  color: #e6f2e8;
}

html[data-theme="f-117"] .profile-highlights li {
  color: #cfe0d2;
}

html[data-theme="f-117"] .profile-highlights li::marker {
  color: #6fb87d;
}

html[data-theme="f-117"] th {
  background: #141c24;
}

html[data-theme="f-117"] tr {
  background: #0f151b;
}

html[data-theme="f-117"] tr:nth-child(even) {
  background: #111922;
}

html[data-theme="f-117"] .squawk-row:hover,
html[data-theme="f-117"] tr:hover td {
  background: #16201e;
}

html[data-theme="f-117"] .table-page-btn,
html[data-theme="f-117"] .delete-entry,
html[data-theme="f-117"] .delete-expense,
html[data-theme="f-117"] .delete-document,
html[data-theme="f-117"] .delete-doc,
html[data-theme="f-117"] .delete-maintenance,
html[data-theme="f-117"] .button-danger {
  border-color: #734149;
}

html[data-theme="f-117"] .delete-entry,
html[data-theme="f-117"] .delete-expense,
html[data-theme="f-117"] .delete-document,
html[data-theme="f-117"] .delete-doc,
html[data-theme="f-117"] .delete-maintenance,
html[data-theme="f-117"] .button-danger {
  background: linear-gradient(180deg, #221116, #170d11);
  color: #ffd7dc;
  box-shadow:
    0 8px 18px rgba(60, 12, 20, 0.28),
    inset 0 0 0 1px rgba(255, 135, 150, 0.05);
}

html[data-theme="f-117"] .delete-entry:hover,
html[data-theme="f-117"] .delete-expense:hover,
html[data-theme="f-117"] .delete-document:hover,
html[data-theme="f-117"] .delete-doc:hover,
html[data-theme="f-117"] .delete-maintenance:hover,
html[data-theme="f-117"] .button-danger:hover,
html[data-theme="f-117"] .delete-entry:focus-visible,
html[data-theme="f-117"] .delete-expense:focus-visible,
html[data-theme="f-117"] .delete-document:focus-visible,
html[data-theme="f-117"] .delete-doc:focus-visible,
html[data-theme="f-117"] .delete-maintenance:focus-visible,
html[data-theme="f-117"] .button-danger:focus-visible {
  border-color: #92565f;
  background: linear-gradient(180deg, #2a1318, #1d1014);
  color: #ffe3e7;
}

html[data-theme="f-117"] .booking-results-panel,
html[data-theme="f-117"] .report-widget,
html[data-theme="f-117"] .reports-kpi-strip .metric,
html[data-theme="f-117"] .reports-loading,
html[data-theme="f-117"] .report-empty,
html[data-theme="f-117"] .report-donut::after,
html[data-theme="f-117"] .report-donut-legend li,
html[data-theme="f-117"] .report-bar-track,
html[data-theme="f-117"] .engine-fund-partner-card,
html[data-theme="f-117"] .settlement-block {
  background: #10161d;
  border-color: #2d3a31;
  color: #e6f2e8;
}

html[data-theme="f-117"] .booking-results-panel {
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.05), rgba(127, 211, 140, 0.015)), #0d1418;
  border-color: #34513d;
}

html[data-theme="f-117"] .booking-range-controls label,
html[data-theme="f-117"] .booking-range-separator,
html[data-theme="f-117"] .booking-card-subtle,
html[data-theme="f-117"] .booking-meta,
html[data-theme="f-117"] .booking-notes,
html[data-theme="f-117"] .booking-week-day p,
html[data-theme="f-117"] .booking-week-event small,
html[data-theme="f-117"] .engine-fund-partner-data span,
html[data-theme="f-117"] .settlement-line,
html[data-theme="f-117"] .alert-line,
html[data-theme="f-117"] .report-donut-legend .value,
html[data-theme="f-117"] .report-bar-label,
html[data-theme="f-117"] .documents-mobile-head p,
html[data-theme="f-117"] .documents-mobile-meta-item span,
html[data-theme="f-117"] .documents-mobile-reference,
html[data-theme="f-117"] .documents-mobile-empty,
html[data-theme="f-117"] .logbook-mobile-card-head p,
html[data-theme="f-117"] .logbook-mobile-data span,
html[data-theme="f-117"] .expense-mobile-balance-data span,
html[data-theme="f-117"] .expense-mobile-balance-empty,
html[data-theme="f-117"] .logbook-mobile-meta,
html[data-theme="f-117"] .logbook-mobile-empty,
html[data-theme="f-117"] .logbook-detail-item span,
html[data-theme="f-117"] .logbook-detail-notes span,
html[data-theme="f-117"] .logbook-detail-notes p {
  color: #93a795;
}

html[data-theme="f-117"] .booking-inline-message,
html[data-theme="f-117"] .booking-warning-item {
  background: #17180f;
  border-color: #5c6841;
  color: #d6d895;
}

html[data-theme="f-117"] .booking-message.error {
  background: #1d1315;
  border-color: #77464d;
  color: #efb8bc;
}

html[data-theme="f-117"] .booking-card,
html[data-theme="f-117"] .booking-week-day,
html[data-theme="f-117"] .booking-week-event {
  background: #10161d;
  border-color: #2c3931;
  color: #e6f2e8;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.24);
}

html[data-theme="f-117"] .booking-card-title,
html[data-theme="f-117"] .booking-week-day h4,
html[data-theme="f-117"] .booking-week-event strong,
html[data-theme="f-117"] .engine-fund-partner-head h4,
html[data-theme="f-117"] .report-widget h4,
html[data-theme="f-117"] .report-bar-value,
html[data-theme="f-117"] .report-donut-legend .label {
  color: #e5f7e7;
}

html[data-theme="f-117"] .engine-fund-partner-head {
  border-bottom-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.12), rgba(127, 211, 140, 0.05)), #111920;
  box-shadow: inset 0 1px 0 rgba(160, 235, 168, 0.08);
}

html[data-theme="f-117"] .engine-fund-partner-data {
  border-color: #314036;
  background: linear-gradient(180deg, #11171d, #161f1a);
  box-shadow: inset 0 1px 0 rgba(160, 235, 168, 0.04);
}

html[data-theme="f-117"] .engine-fund-partner-data strong {
  color: #93a795;
}

html[data-theme="f-117"] .engine-fund-partner-footer {
  border-top-color: #314036;
  background: linear-gradient(180deg, #11171d, #151d1a);
}

html[data-theme="f-117"] .engine-fund-partner-note {
  color: #93a795;
}

html[data-theme="f-117"] .booking-chip.today {
  border-color: #4f8e5a;
  color: #dff7e3;
  background: #17321c;
}

html[data-theme="f-117"] .booking-chip.upcoming {
  border-color: #6a8e75;
  color: #d8efe0;
  background: #17231b;
}

html[data-theme="f-117"] .booking-chip.past {
  border-color: #415047;
  color: #9ca7a0;
  background: #141a17;
}

html[data-theme="f-117"] .reports-loading {
  color: #dcecdc;
}

html[data-theme="f-117"] .report-bar-track {
  background: linear-gradient(180deg, #141b1a, #0f1517);
}

html[data-theme="f-117"] .report-bar-fill {
  background: linear-gradient(180deg, #7fd38c, #3d8f53);
}

html[data-theme="f-117"] .report-donut {
  border-color: #324036;
}

html[data-theme="f-117"] .report-donut::after {
  border-color: #324036;
}

html[data-theme="f-117"] .squawk-mobile-card {
  border-color: #43614a;
  background: linear-gradient(180deg, #121920, #17211c);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .squawk-mobile-card-head {
  border-bottom-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.12), rgba(127, 211, 140, 0.05)), #111920;
  box-shadow: inset 0 1px 0 rgba(160, 235, 168, 0.08);
}

html[data-theme="f-117"] .squawk-mobile-actions {
  border-top-color: #314036;
  background: linear-gradient(180deg, rgba(10, 16, 13, 0.88), rgba(14, 21, 18, 0.96)), #0d1317;
}

html[data-theme="f-117"] .squawk-detail-history-toggle .button-secondary {
  border-color: #3f5846;
  background: linear-gradient(180deg, #131a1e, #10171b);
  color: #dff6e2;
}

html[data-theme="f-117"] .squawk-mobile-data {
  border-color: #314036;
  background: linear-gradient(180deg, #0f151a, #141c18);
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

html[data-theme="f-117"] .settings-nav {
  border-color: #2a3930;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.06), rgba(127, 211, 140, 0.02)), #0e141a;
}

html[data-theme="f-117"] .menu-item {
  border-color: #33433a;
  background: linear-gradient(165deg, #0b1015, #131a1f);
  box-shadow:
    0 10px 18px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .menu-item:hover {
  border-color: #49624f;
  background: linear-gradient(165deg, #10161b, #18211f);
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.4),
    inset 0 0 0 1px rgba(127, 211, 140, 0.08);
}

html[data-theme="f-117"] .settings-nav-btn {
  border-color: #314036;
  background: linear-gradient(180deg, #121920, #182129);
  color: #dbeadb;
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .settings-nav-btn.active {
  border-color: #5ca66b;
  background: linear-gradient(135deg, #15231a, #1e2f23);
  color: #f1fbf2;
  box-shadow:
    inset 0 0 0 1px rgba(127, 211, 140, 0.18),
    0 0 0 1px rgba(127, 211, 140, 0.08),
    0 0 18px rgba(127, 211, 140, 0.18),
    0 8px 16px rgba(0, 0, 0, 0.26);
}

html[data-theme="f-117"] .settings-mobile-nav-wrap,
html[data-theme="f-117"] .settings-general-guard {
  border-color: #2f4237;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.06), rgba(127, 211, 140, 0.02)), #10171d;
}

html[data-theme="f-117"] .settings-general-guard-secondary {
  border-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.03), rgba(127, 211, 140, 0.01)), #10171d;
}

html[data-theme="f-117"] .settings-general-guard.is-unlocked {
  border-color: #6e6336;
  background: linear-gradient(180deg, rgba(208, 181, 95, 0.12), rgba(208, 181, 95, 0.04)), #15150f;
}

html[data-theme="f-117"] .settings-general-guard-badge {
  border-color: #3c5243;
  background: linear-gradient(180deg, #121920, #192129);
  color: #dbeadb;
}

html[data-theme="f-117"] .settings-general-guard-icon {
  border-color: #3a4e42;
  background: linear-gradient(180deg, #121920, #192129);
}

html[data-theme="f-117"] .settings-general-guard-icon::before {
  background: #6ba57a;
  box-shadow: 0 0 0 2px rgba(107, 165, 122, 0.12);
}

html[data-theme="f-117"] .settings-general-guard-icon-neutral::before {
  background: #8aa6ba;
  box-shadow: 0 0 0 2px rgba(138, 166, 186, 0.12);
}

html[data-theme="f-117"] .settings-general-guard.is-unlocked .settings-general-guard-badge {
  border-color: #85753b;
  background: linear-gradient(180deg, #1b1a12, #222115);
  color: #f0dfa5;
}

html[data-theme="f-117"] .settings-general-guard.is-unlocked .settings-general-guard-icon {
  border-color: #7f7240;
  background: linear-gradient(180deg, #1b1a12, #232116);
}

html[data-theme="f-117"] .settings-general-guard.is-unlocked .settings-general-guard-icon::before {
  background: #d0b55f;
  box-shadow: 0 0 0 2px rgba(208, 181, 95, 0.14);
}

html[data-theme="f-117"] .settings-general-guard strong {
  color: #ebf7ec;
}

html[data-theme="f-117"] .settings-general-guard-help {
  color: rgba(201, 214, 211, 0.72);
}

html[data-theme="f-117"] .settings-general-card {
  border-color: #314036;
  background: linear-gradient(180deg, #11171d, #161f26);
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

html[data-theme="f-117"] .settings-general-card-head {
  border-bottom-color: #2f3d35;
}

html[data-theme="f-117"] .settings-general-card-secondary {
  border-color: #2b3930;
  background:
    linear-gradient(180deg, rgba(127, 211, 140, 0.025), rgba(127, 211, 140, 0.01)),
    #10161b;
}

html[data-theme="f-117"] .settings-general-card-head h4,
html[data-theme="f-117"] .settings-general-card-note {
  color: #ebf7ec;
}

html[data-theme="f-117"] .settings-general-card-head p,
html[data-theme="f-117"] .settings-general-card-note,
html[data-theme="f-117"] .settings-general-grid .field .input-help {
  color: rgba(201, 214, 211, 0.72);
}

html[data-theme="f-117"] .settings-general-chip {
  border-color: #3c5243;
  background: linear-gradient(180deg, #121920, #192129);
  color: #dbeadb;
}

html[data-theme="f-117"] #settings-general-guard.is-unlocked .settings-general-chip-lock {
  border-color: #85753b;
  background: linear-gradient(180deg, #1b1a12, #222115);
  color: #f0dfa5;
}

html[data-theme="f-117"] .settings-general-icon-badge {
  border-color: #32433a;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.02),
    0 8px 16px rgba(0, 0, 0, 0.22);
}

html[data-theme="f-117"] .settings-general-icon-badge-lock {
  background: linear-gradient(180deg, rgba(107, 165, 122, 0.14), rgba(107, 165, 122, 0.06));
  color: #8fc29c;
}

html[data-theme="f-117"] #settings-general-guard.is-unlocked .settings-general-icon-badge-lock {
  background: linear-gradient(180deg, rgba(208, 181, 95, 0.18), rgba(208, 181, 95, 0.08));
  color: #ebcb6e;
}

html[data-theme="f-117"] .settings-general-icon-badge-mode {
  background: linear-gradient(180deg, rgba(136, 128, 201, 0.18), rgba(136, 128, 201, 0.08));
  color: #b8b3ef;
}

html[data-theme="f-117"] .settings-general-icon-badge-integrations {
  background: linear-gradient(180deg, rgba(162, 124, 204, 0.18), rgba(162, 124, 204, 0.08));
  color: #cfb3ef;
}

html[data-theme="f-117"] .settings-general-icon-badge-aircraft {
  background: linear-gradient(180deg, rgba(99, 146, 196, 0.18), rgba(99, 146, 196, 0.08));
  color: #abd0f0;
}

html[data-theme="f-117"] .settings-general-icon-badge-baseline {
  background: linear-gradient(180deg, rgba(96, 173, 122, 0.18), rgba(96, 173, 122, 0.08));
  color: #abdeb9;
}

html[data-theme="f-117"] .settings-general-icon-badge-fund {
  background: linear-gradient(180deg, rgba(214, 175, 90, 0.2), rgba(214, 175, 90, 0.08));
  color: #f0d28b;
}

html[data-theme="f-117"] .settings-general-toggle-button {
  border-color: #3c5243;
  background: linear-gradient(180deg, #121920, #192129);
  color: #dbeadb;
}

html[data-theme="f-117"] .settings-general-toggle-button.is-active {
  border-color: #678f72;
  background: linear-gradient(180deg, rgba(107, 165, 122, 0.16), rgba(107, 165, 122, 0.06)), #141d18;
  color: #dff3e4;
}

html[data-theme="f-117"] .settings-general-card-head h4 {
  color: #edf7ee;
}

html[data-theme="f-117"] .settings-general-actions {
  background: linear-gradient(180deg, rgba(15, 21, 27, 0), rgba(15, 21, 27, 0.94) 44%);
}

html[data-theme="f-117"] .settings-nav-select,
html[data-theme="f-117"] .settings-locked-field {
  border-color: #385140;
  background: linear-gradient(180deg, #121920, #182129);
  color: #dff0e0;
}

html[data-theme="f-117"] .settings-locked-field {
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.08);
}

html[data-theme="f-117"] .settings-mobile-card {
  border-color: #314036;
  background: linear-gradient(180deg, #11171d, #161f26);
  box-shadow:
    0 14px 24px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

html[data-theme="f-117"] .settings-mobile-card-head {
  border-bottom-color: #314036;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.08), rgba(127, 211, 140, 0.03));
}

html[data-theme="f-117"] .settings-mobile-card-footer {
  border-top-color: #2f3d35;
  background: linear-gradient(180deg, #0f1519, #131a20);
}

html[data-theme="f-117"] .settings-mobile-chip,
html[data-theme="f-117"] .settings-mobile-empty {
  border-color: #365042;
  background: linear-gradient(180deg, #121920, #182129);
  color: #dff0e0;
}

html[data-theme="f-117"] .settings-mobile-kv span,
html[data-theme="f-117"] .settings-mobile-detail-meta {
  color: #9bb0a1;
}

html[data-theme="f-117"] .settings-subhead,
html[data-theme="f-117"] .email-test-card-accent .settings-subhead,
html[data-theme="f-117"] .backup-note strong,
html[data-theme="f-117"] .system-architecture-head h4,
html[data-theme="f-117"] .audit-history-detail-block h4,
html[data-theme="f-117"] .email-dispatch-block h4 {
  color: #e5f7e7;
}

html[data-theme="f-117"] .backup-note,
html[data-theme="f-117"] .backup-component-card,
html[data-theme="f-117"] .backup-status-panel,
html[data-theme="f-117"] .backup-guidance,
html[data-theme="f-117"] .backup-how-card,
html[data-theme="f-117"] .backup-export-menu-list,
html[data-theme="f-117"] .backup-restore-confirm-summary,
html[data-theme="f-117"] .email-dispatch-log-panel,
html[data-theme="f-117"] .email-dispatch-summary-item,
html[data-theme="f-117"] .email-dispatch-pre,
html[data-theme="f-117"] .email-test-card,
html[data-theme="f-117"] .email-test-card-accent,
html[data-theme="f-117"] .audit-group-card,
html[data-theme="f-117"] .audit-detail-summary-item,
html[data-theme="f-117"] .audit-history-detail-pre {
  background: #10161d;
  border-color: #2d3a31;
  color: #e6f2e8;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

html[data-theme="f-117"] #settings-backup-panel {
  border-color: #4a6a53;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.06), rgba(127, 211, 140, 0.015)), #0d1418;
  box-shadow:
    inset 0 0 0 1px rgba(127, 211, 140, 0.12),
    0 10px 22px rgba(0, 0, 0, 0.24);
}

html[data-theme="f-117"] #settings-recycle-panel {
  border-color: #536759;
  background: linear-gradient(180deg, rgba(95, 128, 104, 0.12), rgba(95, 128, 104, 0.03)), #0f1418;
  box-shadow:
    inset 0 0 0 1px rgba(95, 128, 104, 0.14),
    0 10px 22px rgba(0, 0, 0, 0.24);
}

html[data-theme="f-117"] #settings-audit-panel {
  border-color: #4c6254;
  background: linear-gradient(180deg, rgba(86, 120, 98, 0.12), rgba(86, 120, 98, 0.03)), #0f1418;
  box-shadow:
    inset 0 0 0 1px rgba(86, 120, 98, 0.14),
    0 10px 22px rgba(0, 0, 0, 0.24);
}

html[data-theme="f-117"] #settings-data-panel {
  border-color: #8d3e44;
  background: linear-gradient(180deg, rgba(177, 59, 70, 0.16), rgba(177, 59, 70, 0.05)), #160d10;
  box-shadow:
    inset 0 0 0 1px rgba(177, 59, 70, 0.18),
    0 0 22px rgba(177, 59, 70, 0.16),
    0 10px 24px rgba(0, 0, 0, 0.28);
}

html[data-theme="f-117"] #settings-data-panel .section-head h3,
html[data-theme="f-117"] #settings-data-panel .section-head p {
  color: #ffd4d8;
}

html[data-theme="f-117"] #settings-data-panel .button-danger {
  border-color: #a9545c;
  background: linear-gradient(180deg, #251216, #1b0f12);
  color: #ffd5d8;
  box-shadow: 0 8px 18px rgba(120, 31, 39, 0.2);
}

html[data-theme="f-117"] #settings-data-panel .button-danger:hover,
html[data-theme="f-117"] #settings-data-panel .button-danger:focus-visible {
  background: linear-gradient(180deg, #2d1419, #221014);
  border-color: #c06a72;
}

html[data-theme="f-117"] .backup-note p,
html[data-theme="f-117"] .backup-component-card p,
html[data-theme="f-117"] .backup-trust-note,
html[data-theme="f-117"] .backup-status-intro,
html[data-theme="f-117"] .backup-status-item small,
html[data-theme="f-117"] .backup-guidance-summary small,
html[data-theme="f-117"] .backup-how-card p,
html[data-theme="f-117"] .backup-component-meta span,
html[data-theme="f-117"] .backup-top-action-copy small,
html[data-theme="f-117"] .backup-restore-summary-item span,
html[data-theme="f-117"] .backup-restore-summary-item small,
html[data-theme="f-117"] .email-dispatch-log-status,
html[data-theme="f-117"] .email-dispatch-meta,
html[data-theme="f-117"] .email-dispatch-summary-item span,
html[data-theme="f-117"] .audit-detail-summary-item span,
html[data-theme="f-117"] .audit-detail-summary-item strong small,
html[data-theme="f-117"] .audit-subtle,
html[data-theme="f-117"] .recycle-record-meta,
html[data-theme="f-117"] .system-architecture-item span,
html[data-theme="f-117"] .system-architecture-item small {
  color: #90a692;
}

html[data-theme="f-117"] .backup-component-card h4,
html[data-theme="f-117"] .backup-status-item strong,
html[data-theme="f-117"] .backup-how-card h5,
html[data-theme="f-117"] .backup-top-action-copy strong,
html[data-theme="f-117"] .backup-restore-summary-item strong,
html[data-theme="f-117"] .email-dispatch-summary-item strong,
html[data-theme="f-117"] .audit-group-card strong,
html[data-theme="f-117"] .audit-detail-summary-item strong,
html[data-theme="f-117"] .recycle-record-label {
  color: #e5f7e7;
}

html[data-theme="f-117"] .backup-component-category-badge,
html[data-theme="f-117"] .backup-status-item,
html[data-theme="f-117"] .backup-component-meta {
  border-color: #34433a;
  background: #141c24;
  color: #dbeadb;
}

html[data-theme="f-117"] .backup-top-actions > button {
  border-color: #34433a;
  background: #10161d;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
}

html[data-theme="f-117"] #backup-create-full-now {
  border-color: #466a51;
  background: #10161d;
  color: #e5f7e7;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22);
}

html[data-theme="f-117"] .backup-status-icon,
html[data-theme="f-117"] .backup-button-icon,
html[data-theme="f-117"] .backup-action-icon,
html[data-theme="f-117"] .backup-recommended-icon,
html[data-theme="f-117"] .backup-module-icon,
html[data-theme="f-117"] .backup-component-count {
  border-color: #34433a;
  background: #141c24;
  color: #dbeadb;
}

html[data-theme="f-117"] .backup-component-card.is-primary {
  border-color: #466a51;
  background: linear-gradient(180deg, #11181d, #152027);
}

html[data-theme="f-117"] .backup-component-card.is-operational {
  border-color: #3b4942;
  background: linear-gradient(180deg, #12171c, #171f25);
}

html[data-theme="f-117"] .backup-component-card.is-system {
  border-color: #313e37;
  background: linear-gradient(180deg, #10161b, #151d23);
}

html[data-theme="f-117"] .backup-component-card:hover {
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.36),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .backup-component-action-restore {
  border-top-color: #2f3d35;
}

html[data-theme="f-117"] .backup-restore-warning {
  border-color: #8d7b3c;
  background: #1c1a11;
  color: #ecd89b;
}

html[data-theme="f-117"] .audit-group-pill,
html[data-theme="f-117"] .audit-action-pill {
  border-color: #34433a;
  background: #141c24;
  color: #dbeadb;
}

html[data-theme="f-117"] .subtle-note {
  color: #8fa593;
}

html[data-theme="f-117"] .recycle-controls .actions,
html[data-theme="f-117"] .backup-component-actions,
html[data-theme="f-117"] .audit-row-actions {
  gap: 0.45rem;
}

html[data-theme="f-117"] .audit-group-operations,
html[data-theme="f-117"] .audit-action-update {
  border-color: #466a51;
  background: #15241a;
  color: #dff7e3;
}

html[data-theme="f-117"] .audit-group-finance,
html[data-theme="f-117"] .audit-action-insert {
  border-color: #55785d;
  background: #162119;
  color: #d8f0db;
}

html[data-theme="f-117"] .audit-group-access {
  border-color: #4d6453;
  background: #141d19;
  color: #d0e0d2;
}

html[data-theme="f-117"] .audit-group-configuration {
  border-color: #6a744a;
  background: #1b1d12;
  color: #dde2b0;
}

html[data-theme="f-117"] .audit-group-comms,
html[data-theme="f-117"] .audit-group-system,
html[data-theme="f-117"] .audit-group-other {
  border-color: #3d5145;
  background: #131b18;
  color: #d5e6d7;
}

html[data-theme="f-117"] .audit-action-delete,
html[data-theme="f-117"] #audit-history-status.is-error {
  border-color: #76484f;
  background: #1d1315;
  color: #efb8bc;
}

html[data-theme="f-117"] #audit-history-status.is-success {
  border-color: #4b7a56;
  color: #dff7e3;
  background: #132018;
}

html[data-theme="f-117"] #audit-history-status.is-warn {
  border-color: #76714a;
  color: #e6e0aa;
  background: #1a1b12;
}

html[data-theme="f-117"] .status-good {
  background: #17321c;
  color: #dff7e3;
  border-color: #4f8e5a;
}

html[data-theme="f-117"] .status-soon {
  background: #1a1b12;
  color: #e7e2ae;
  border-color: #77744e;
}

html[data-theme="f-117"] .status-overdue {
  background: #1d1315;
  color: #efb8bc;
  border-color: #7a484f;
}

html[data-theme="f-117"] th {
  background: #141c24;
  color: #f0faf1;
  border-bottom-color: #334238;
}

html[data-theme="f-117"] .table-sort:hover,
html[data-theme="f-117"] .table-sort.is-active .sort-indicator {
  color: #9ee5a9;
}

html[data-theme="f-117"] .table-sort .sort-indicator,
html[data-theme="f-117"] .table-pagination-summary {
  color: #90a692;
}

html[data-theme="f-117"] .table-page-btn {
  background: #141b22;
  color: #dcebdc;
  border-color: #324035;
}

html[data-theme="f-117"] .table-page-btn:hover:not([disabled]) {
  background: #192228;
  border-color: #4d6453;
}

html[data-theme="f-117"] .table-page-btn.active {
  background: linear-gradient(120deg, #25432d, #3d8f53);
  border-color: #5aa46a;
  color: #f4fbf5;
  box-shadow: 0 0 14px rgba(127, 211, 140, 0.18);
}

html[data-theme="f-117"] .menu-item.active {
  box-shadow:
    inset 0 0 0 1px rgba(127, 211, 140, 0.18),
    0 0 18px rgba(127, 211, 140, 0.14),
    0 14px 24px rgba(0, 0, 0, 0.28);
}

html[data-theme="f-117"] .modal-card {
  background: #0c1218;
  border-color: #2a3730;
  color: #e6f2e8;
  box-shadow:
    0 28px 56px rgba(0, 0, 0, 0.52),
    inset 0 0 0 1px rgba(127, 211, 140, 0.05);
}

html[data-theme="f-117"] #logbook-modal .modal-card,
html[data-theme="f-117"] #expense-modal .modal-card {
  border-color: #324238;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.05), rgba(127, 211, 140, 0.015)), #0c1218;
}

html[data-theme="f-117"] .modal-backdrop {
  background: rgba(2, 4, 6, 0.78);
}

html[data-theme="f-117"] .modal-close {
  border-color: #314036;
  background: #121920;
  color: #dcebdc;
}

html[data-theme="f-117"] .modal-close:hover,
html[data-theme="f-117"] .modal-close:focus-visible {
  background: #172128;
  border-color: #4b6250;
}

html[data-theme="f-117"] .booking-skeleton {
  border-color: #2a3a31;
  background: linear-gradient(90deg, #10161d 25%, #18211b 50%, #10161d 75%);
  background-size: 200% 100%;
}

html[data-theme="f-117"] .system-architecture {
  border-color: #2d3a31;
  background: linear-gradient(180deg, #0f151b, #111920);
}

html[data-theme="f-117"] .system-architecture-head p {
  color: #93a795;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background:
    radial-gradient(1000px 400px at 10% -20%, var(--bg-accent-one) 0%, transparent 70%),
    radial-gradient(800px 350px at 95% 0%, var(--bg-accent-two) 0%, transparent 60%), var(--bg);
  color: var(--ink);
  font-family: "Manrope", sans-serif;
}

h1,
h2,
h3 {
  margin: 0 0 0.45rem;
  font-family: "Sora", sans-serif;
  letter-spacing: -0.02em;
}

p {
  margin: 0 0 1rem;
  color: var(--ink-soft);
}

.app-shell {
  min-height: 100vh;
  padding: 1rem;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  background: linear-gradient(100deg, var(--topbar-start), var(--topbar-end));
  border-radius: 16px;
  color: #edf4ff;
  padding: 0.9rem 1rem;
  box-shadow: var(--shadow-md);
}

.topbar-actions {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.account-chip {
  border: 1px solid rgba(237, 244, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #edf4ff;
  border-radius: 999px;
  padding: 0.38rem 0.78rem;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.account-chip:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(5, 15, 28, 0.24);
}

.account-chip.is-loading {
  opacity: 0.72;
}

.auth-button {
  border: 1px solid rgba(237, 244, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #edf4ff;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  font-weight: 700;
}

.icon-button {
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  line-height: 1;
}

.auth-button:hover {
  background: rgba(255, 255, 255, 0.2);
}
.auth-button:disabled,
.primary-action:disabled {
  opacity: 0.62;
  cursor: not-allowed;
}
.aircraft-status-pill,
.aircraft-status-banner {
  border: 1px solid rgba(237, 244, 255, 0.38);
  background: rgba(255, 255, 255, 0.12);
  color: #edf4ff;
  border-radius: 999px;
  padding: 0.34rem 0.72rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.aircraft-status-pill:hover,
.aircraft-status-banner:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(5, 15, 28, 0.25);
}

.aircraft-status-pill:focus-visible,
.aircraft-status-banner:focus-visible {
  outline: 2px solid rgba(226, 238, 250, 0.9);
  outline-offset: 1px;
}

.aircraft-status-ready {
  border-color: #9fd8b2;
  background: linear-gradient(160deg, #e7f9ee, #d8f3e3);
  color: #16663a;
}

.aircraft-status-soon {
  border-color: #e9cb90;
  background: linear-gradient(160deg, #fff7e7, #ffefd2);
  color: #8a5406;
}

.aircraft-status-grounded {
  border-color: #e2a2a2;
  background: linear-gradient(160deg, #ffe9e9, #ffdcdc);
  color: #8f2424;
}

.aircraft-status-banner {
  width: 100%;
  margin: -0.3rem 0 0.85rem;
  justify-content: center;
  display: none;
}

.aircraft-status-pill.hidden,
.aircraft-status-banner.hidden {
  display: none !important;
}

.aircraft-status-modal-summary {
  display: grid;
  gap: 0.55rem;
}

.account-modal-card {
  max-width: 860px;
}

.account-profile-form-wrap {
  margin-top: 0.25rem;
}

.account-modal-panel {
  display: grid;
  gap: 0.7rem;
}

.account-modal-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
}

.account-modal-headline strong {
  font-size: 1.06rem;
  color: #12385a;
}

.account-modal-headline .status-pill {
  white-space: nowrap;
}

.account-modal-meta {
  display: grid;
  gap: 0.68rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-modal-meta div {
  border: 1px solid #d9e4f1;
  border-radius: 10px;
  background: #f8fbff;
  padding: 0.58rem 0.65rem;
  display: grid;
  gap: 0.22rem;
}

.account-modal-meta span {
  color: #56708f;
  font-size: 0.78rem;
  font-weight: 700;
}

.account-modal-meta strong {
  color: #12385a;
  font-size: 0.92rem;
}

.account-modal-actions {
  justify-content: flex-start;
}

.account-modal-signout {
  margin-top: 0.2rem;
  padding-top: 0.85rem;
  border-top: 1px solid #dbe7f4;
  background: transparent;
}

.account-modal-signout .button-danger {
  width: 100%;
}

.account-role-admin {
  background: #e9f2ff;
  color: #0f4c81;
  border: 1px solid #c8def8;
}

.account-role-assistant {
  background: #eaf7f6;
  color: #0f6c66;
  border: 1px solid #c6ece8;
}

.account-role-member {
  background: #edf4ff;
  color: #2e4c72;
  border: 1px solid #d3e1f3;
}

.account-role-view {
  background: #f4f6fa;
  color: #475569;
  border: 1px solid #d9e1ec;
}

.aircraft-status-reason-list {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.28rem;
}

.aircraft-status-reason-list li {
  color: #1f3a57;
}

.landing-grounded-alert {
  border: 1px solid #e0a4a4;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff2f2, #ffe6e6);
  color: #7e2d2d;
  padding: 0.58rem 0.66rem;
  margin: 0.52rem 0 0;
  font-weight: 800;
}

.page-switcher {
  display: none;
}

.page-switcher.hidden {
  display: none !important;
}

.page-switcher select {
  border: 1px solid rgba(237, 244, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #edf4ff;
  border-radius: 10px;
  padding: 0.5rem 0.65rem;
  font: inherit;
  font-weight: 700;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.brand {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.brand h1 {
  margin-bottom: 0.2rem;
  font-size: 1.2rem;
}

.brand p {
  margin: 0;
  color: var(--topbar-muted);
  font-size: 0.92rem;
}

.layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.8rem;
}

.layout.hidden {
  display: none !important;
}

.auth-gate {
  margin-bottom: 1rem;
  display: grid;
  place-items: center;
}

.auth-gate-card {
  width: min(540px, 100%);
  border: 2px solid var(--auth-gate-border);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(var(--auth-gate-rgb), 0.08), rgba(var(--auth-gate-rgb), 0.02)),
    var(--auth-gate-surface);
  padding: 1.1rem;
  box-shadow:
    inset 0 0 0 1px rgba(var(--auth-gate-rgb), 0.1),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

.auth-gate-card h2 {
  margin-bottom: 0.35rem;
}

.auth-gate-card p {
  margin-bottom: 0.9rem;
}

.auth-gate-status {
  min-height: 1.2rem;
  margin-top: -0.25rem;
  margin-bottom: 0.75rem;
  color: var(--accent);
  font-size: 0.86rem;
  font-weight: 700;
}

.auth-gate-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.auth-gate-recover {
  border: 1px solid var(--button-secondary-border);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  border-radius: 10px;
  padding: 0.65rem 0.9rem;
  font-weight: 700;
}

.auth-gate-recover:hover {
  filter: brightness(0.98);
}
.auth-gate-status.error {
  color: #9b2c2c;
}
.sidebar,
.content {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-lg);
}

.sidebar {
  padding: 0.7rem;
  height: fit-content;
  background: linear-gradient(180deg, var(--section-surface), var(--panel-soft));
  border-color: var(--section-border);
}

.menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.55rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding-top: 0.18rem;
  padding-bottom: 0.15rem;
}

.menu-item {
  text-align: center;
  white-space: nowrap;
  border: 1px solid var(--menu-border);
  background: linear-gradient(165deg, var(--menu-surface-start), var(--menu-surface-end));
  color: var(--menu-text);
  border-radius: 12px;
  padding: 0.58rem 0.8rem;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  box-shadow:
    0 8px 15px rgba(12, 34, 58, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.menu-item:hover {
  background: linear-gradient(165deg, var(--menu-surface-start), var(--menu-surface-hover-end));
  border-color: color-mix(in srgb, var(--menu-border) 72%, var(--accent) 28%);
  transform: translateY(-2px);
  box-shadow:
    0 12px 22px rgba(12, 34, 58, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.menu-item.active {
  background: linear-gradient(145deg, var(--menu-active-start), var(--menu-active-end));
  border-color: var(--menu-active-border);
  color: var(--menu-active-text);
  box-shadow:
    inset 0 0 0 1px rgba(var(--auth-gate-rgb), 0.22),
    0 14px 24px rgba(12, 34, 58, 0.14);
}

.menu-item.is-hidden {
  display: none;
}

.content {
  padding: 1.15rem;
}

.page {
  display: none;
}

.page.active {
  display: block;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.card,
.panel,
.summary,
.metric-strip {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0.9rem;
  background: var(--panel-soft);
}

.booking-panel {
  display: grid;
  gap: 0.7rem;
}

.booking-status-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.booking-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.booking-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.booking-filter-panel {
  border-color: var(--booking-panel-border);
  background:
    linear-gradient(180deg, rgba(var(--booking-panel-rgb), 0.1), rgba(var(--booking-panel-rgb), 0.02)),
    var(--booking-panel-surface);
}

.booking-control-surface {
  display: grid;
  grid-template-columns: minmax(360px, 1.7fr) minmax(280px, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.booking-filter-column {
  display: grid;
  gap: 0.7rem;
}

.booking-mobile-filter-toggle-wrap {
  display: none;
  margin-bottom: 0.6rem;
}

.booking-controls {
  display: grid;
  gap: 0.7rem;
}

.booking-filter-card {
  display: grid;
  gap: 0.8rem;
  padding: 0.9rem;
  border: 1px solid var(--booking-filter-card-border);
  border-radius: 18px;
  background: linear-gradient(
    180deg,
    var(--booking-filter-card-surface-start),
    var(--booking-filter-card-surface-end)
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 10px 24px rgba(13, 46, 80, 0.06);
}

.booking-range-controls {
  display: grid;
  grid-template-columns: minmax(120px, 0.85fr) minmax(160px, 1fr) minmax(160px, 1fr);
  gap: 0.7rem;
}

.booking-quick-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}

.booking-cta-column {
  display: flex;
}

@media (max-width: 1400px) {
  #page-booking .booking-control-surface {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-cta-column {
    order: -1;
  }

  #page-booking .booking-cta-card {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-primary-cta {
    width: 100%;
    min-width: 0;
  }
}

.booking-cta-card {
  width: 100%;
  border: 1px solid var(--booking-cta-border);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, var(--booking-cta-glow), transparent 34%),
    linear-gradient(145deg, var(--booking-cta-start), var(--booking-cta-mid) 58%, var(--booking-cta-end));
  color: #ecf5ff;
  padding: 1rem 1.05rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.8rem;
  align-items: center;
  box-shadow: 0 16px 30px rgba(12, 34, 58, 0.22);
}

.booking-cta-kicker {
  margin: 0;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #cde4fb;
}

.booking-cta-card h3 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 1.12rem;
  color: #ffffff;
}

.booking-cta-card p {
  margin: 0;
  color: #dbeafb;
  font-size: 0.9rem;
  max-width: 58ch;
}

.booking-cta-copy {
  display: grid;
  gap: 0.35rem;
}

.booking-primary-cta {
  width: fit-content;
  min-width: 220px;
  margin-top: 0.2rem;
  min-height: 52px;
  box-shadow: 0 10px 22px rgba(6, 24, 43, 0.22);
}

.booking-results-panel {
  border-color: #b8cfe8;
  background: linear-gradient(180deg, rgba(20, 101, 162, 0.05), rgba(20, 101, 162, 0.01)), #ffffff;
}

.booking-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
}

.booking-info-toggle {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1;
}

.booking-info-toggle.active {
  background: #d7e8fa;
  border-color: #7ca4ce;
  color: #134469;
}

.page#page-booking.active {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

#page-booking > .expense-head {
  order: 0;
}

#page-booking > .booking-filter-panel {
  order: 1;
}

#page-booking > .booking-results-panel {
  order: 2;
}

#page-booking > #booking-info-panel {
  order: 3;
}

.booking-range-controls label {
  color: #23425f;
  font-size: 0.78rem;
  font-weight: 700;
}

.booking-range-field {
  margin: 0;
}

.booking-range-field label {
  margin-bottom: 0.3rem;
}

.booking-range-controls select,
.booking-range-controls input {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #c5d8ea;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.booking-range-separator {
  color: #4a6987;
  font-weight: 600;
  font-size: 0.78rem;
}

.booking-control-btn {
  min-height: 42px;
  border-radius: 999px;
  padding-inline: 0.95rem;
  font-weight: 700;
  background: #fff;
  border-color: #bfd3e8;
}

.booking-control-btn:hover,
.booking-control-btn:focus-visible {
  border-color: #7ea4cb;
  background: #eef5ff;
}

.booking-view-segment {
  display: inline-flex;
  border: 1px solid #b7cde6;
  border-radius: 999px;
  overflow: hidden;
  background: #edf4fc;
}

.booking-view-btn {
  border: 0;
  background: transparent;
  color: #21415f;
  font-weight: 700;
  padding: 0.36rem 0.72rem;
  cursor: pointer;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}

.booking-view-btn.active {
  background: #19558f;
  color: #fff;
}

.booking-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  border: 1px solid #bfd3ea;
  background: #f4f9ff;
  color: #1b3b59;
  font-weight: 600;
  font-size: 0.82rem;
  min-height: 42px;
}

.booking-state-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.booking-loading {
  display: grid;
  gap: 0.5rem;
}

.booking-skeleton {
  height: 54px;
  border-radius: 12px;
  border: 1px solid #cad9ec;
  background: linear-gradient(90deg, #eef5fd 25%, #f8fbff 50%, #eef5fd 75%);
  background-size: 200% 100%;
  animation: bookingPulse 1.2s ease-in-out infinite;
}

@keyframes bookingPulse {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.booking-inline-message {
  border: 1px solid #f1d8af;
  background: #fff7ea;
  color: #7a5200;
  border-radius: 12px;
  padding: 0.58rem 0.72rem;
  line-height: 1.35;
}

.booking-warning-list {
  display: grid;
  gap: 0.42rem;
}

.booking-warning-item {
  border-radius: 10px;
  border: 1px solid #f0d8ad;
  background: #fff6e7;
  padding: 0.5rem 0.62rem;
  color: #7a5000;
  font-size: 0.86rem;
}

.booking-message {
  margin: 0;
}

.booking-message.error {
  border-color: #efc0c0;
  background: #fff1f1;
  color: #8b2c2c;
}

.booking-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.58rem;
}

.booking-card {
  border: 1px solid #bfd2e8;
  border-radius: 12px;
  background: #fff;
  padding: 0.58rem;
  box-shadow: 0 5px 11px rgba(12, 34, 58, 0.06);
  display: grid;
  gap: 0.4rem;
}

@media (max-width: 1280px) {
  .booking-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.booking-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.6rem;
}

.booking-card-title {
  margin: 0;
  color: #163a5b;
  font-family: "Sora", sans-serif;
  font-size: 0.98rem;
  line-height: 1.3;
}

.booking-card-subtle {
  margin: 0.2rem 0 0;
  color: #3b5d7f;
  font-size: 0.8rem;
}

.booking-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.14rem 0.52rem;
  font-size: 0.73rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.booking-chip.today {
  border-color: #a4d8bb;
  color: #14663a;
  background: #e9f9f0;
}

.booking-chip.upcoming {
  border-color: #bed8f3;
  color: #1f5a95;
  background: #edf5ff;
}

.booking-chip.past {
  border-color: #d6dbe1;
  color: #5a6775;
  background: #f4f6f8;
}

.booking-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.36rem 0.62rem;
  color: #264868;
  font-size: 0.84rem;
}

.booking-meta p {
  margin: 0;
}

.booking-notes {
  margin: 0;
  color: #284766;
  line-height: 1.4;
  white-space: pre-wrap;
}

.booking-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.booking-week {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.62rem;
}

.booking-week-day {
  border: 1px solid #bfd2e8;
  border-radius: 11px;
  background: #fff;
  padding: 0.58rem;
  display: grid;
  gap: 0.35rem;
}

.booking-week-day h4 {
  margin: 0;
  color: #173f62;
  font-size: 0.9rem;
}

.booking-week-day p {
  margin: 0;
  color: #365978;
  font-size: 0.8rem;
}

.booking-week-event {
  border: 1px solid #d2dfef;
  border-radius: 8px;
  padding: 0.38rem 0.42rem;
  background: #f8fbff;
}

.booking-week-event strong {
  display: block;
  color: #153b5b;
  font-size: 0.84rem;
}

.booking-week-event small {
  color: #3a5b7a;
}

.booking-detail-body {
  border: 1px solid #c8d7ea;
  border-radius: 12px;
  padding: 0.72rem;
  background: #fbfdff;
  margin-bottom: 0.72rem;
  display: grid;
  gap: 0.48rem;
}

.booking-detail-body h4 {
  margin: 0;
  color: #163e60;
}

.booking-detail-meta {
  display: grid;
  gap: 0.28rem;
}

.booking-detail-meta p {
  margin: 0;
  color: #2a4b69;
}

.booking-form .expense-form-section {
  border-color: #bdd2ea;
  background: linear-gradient(180deg, rgba(20, 86, 143, 0.09), rgba(20, 86, 143, 0.03)), #f8fbff;
}

.booking-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.8rem;
}

.primary-action {
  border: none;
  background: linear-gradient(120deg, var(--accent), var(--accent-strong));
  color: #fff;
  border-radius: 10px;
  padding: 0.65rem 0.95rem;
  font-weight: 700;
}

.section-block {
  border: 2px solid var(--section-border);
  border-radius: 16px;
  background: var(--section-surface);
  padding: 1rem;
  margin-bottom: 0.9rem;
  box-shadow: var(--section-shadow);
}

.items-block {
  border-color: var(--section-primary-border);
  background:
    linear-gradient(180deg, rgba(var(--section-primary-rgb), 0.08), rgba(var(--section-primary-rgb), 0.02)),
    var(--section-primary-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-primary-rgb), 0.12),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

.metrics-block {
  border-color: var(--section-metrics-border);
  background:
    linear-gradient(180deg, rgba(var(--section-metrics-rgb), 0.12), rgba(var(--section-metrics-rgb), 0.03)),
    var(--section-metrics-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-metrics-rgb), 0.14),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

.section-head {
  margin-bottom: 0.7rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid rgba(var(--auth-gate-rgb), 0.12);
}

.section-head p {
  margin: 0;
}

.logbook-head,
.expense-head {
  margin-bottom: 0.8rem;
}

.logbook-form,
.settings-form,
.expense-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin-bottom: 1rem;
}

#logbook-modal .modal-card {
  border-color: #bfd2e7;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.06), rgba(15, 76, 129, 0.02)), #ffffff;
}

#logbook-form {
  gap: 0.85rem;
}

.flight-form-section {
  border: 1px solid #d3e2f4;
  border-radius: 12px;
  padding: 0.72rem 0.74rem;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.05), rgba(15, 76, 129, 0.01)), #f9fcff;
  box-shadow:
    inset 0 0 0 1px rgba(15, 76, 129, 0.08),
    0 6px 14px rgba(12, 34, 58, 0.06);
}

.flight-form-section h4 {
  margin: 0 0 0.65rem;
  font-family: "Sora", sans-serif;
  font-size: 0.9rem;
  color: #123a61;
}

.flight-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.68rem;
}

.flight-form-grid-times {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#logbook-form .field label {
  color: #234765;
  font-weight: 700;
}

#logbook-form .flight-form-grid > .field {
  align-self: start;
}

#logbook-form .field input,
#logbook-form .field select,
#logbook-form .field textarea {
  border-color: #bfd2e7;
  background: #ffffff;
}

#logbook-form .hint {
  color: #345e83;
  font-weight: 600;
}

.date-input-wrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem;
  align-items: center;
}

.date-picker-trigger {
  border: 1px solid #bfd2e7;
  background: #ffffff;
  color: #234765;
  border-radius: 10px;
  padding: 0.58rem 0.62rem;
  min-width: 2.35rem;
  font-size: 1rem;
  line-height: 1;
}

.date-picker-trigger:hover {
  border-color: #8fb0d5;
  background: #f3f8ff;
}

.date-picker-trigger:focus-visible {
  outline: 2px solid #2f6ea8;
  outline-offset: 1px;
}

#logbook-form .actions {
  margin-top: 0.2rem;
}

#expense-modal .modal-card {
  border-color: #bfd2e7;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.05), rgba(15, 76, 129, 0.015)), #ffffff;
}

#expense-form {
  gap: 0.85rem;
}

.expense-form-section {
  border: 1px solid #d3e2f4;
  border-radius: 12px;
  padding: 0.72rem 0.74rem;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.045), rgba(15, 76, 129, 0.012)), #f9fcff;
  box-shadow:
    inset 0 0 0 1px rgba(15, 76, 129, 0.08),
    0 6px 14px rgba(12, 34, 58, 0.06);
}

.expense-form-section h4 {
  margin: 0 0 0.65rem;
  font-family: "Sora", sans-serif;
  font-size: 0.9rem;
  color: #123a61;
}

.expense-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.68rem;
}

#expense-form .expense-form-grid > .field {
  align-self: start;
}

#expense-form .field label {
  color: #234765;
  font-weight: 700;
}

#expense-form .field input,
#expense-form .field select,
#expense-form .field textarea {
  border-color: #bfd2e7;
  background: #ffffff;
}

#expense-form .actions {
  margin-top: 0.2rem;
}
.settings-admin {
  display: grid;
  gap: 0.8rem;
}

.field {
  display: grid;
  gap: 0.3rem;
}

.field label {
  font-size: 0.9rem;
  color: var(--ink-soft);
  font-weight: 600;
}

.hint {
  min-height: 1rem;
  color: #5c7a9c;
  font-size: 0.84rem;
}

.field input,
.field textarea,
.field select,
.inline-form input {
  border: 1px solid #cfd9e8;
  background: #ffffff;
  border-radius: 10px;
  padding: 0.6rem 0.68rem;
  font: inherit;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.inline-form input:focus {
  outline: none;
  border-color: #6fa6de;
  box-shadow: 0 0 0 3px rgba(111, 166, 222, 0.2);
}

.inline-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.6rem;
}

.span-2 {
  grid-column: span 2;
}

.input-help {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.79rem;
  color: #566780;
}

.actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.actions button,
.inline-form button,
.button-secondary,
#export-data {
  border: none;
  background: linear-gradient(120deg, var(--accent), var(--accent-strong));
  color: #fff;
  border-radius: 10px;
  padding: 0.65rem 0.95rem;
  font-weight: 700;
}

.button-secondary,
#export-data {
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  border: 1px solid var(--button-secondary-border);
  text-decoration: none;
}

.metric-strip {
  margin-bottom: 0.7rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  border: 1px solid rgba(var(--auth-gate-rgb), 0.18);
  background: var(--panel);
}

.metric {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  padding: 0.6rem;
}

.metric strong {
  display: block;
  font-size: 1.05rem;
}

.metric small {
  color: #5c6f8b;
}

.profile-highlights {
  margin-top: 0.35rem;
  border-style: dashed;
  border-color: rgba(15, 76, 129, 0.34);
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.08), rgba(15, 76, 129, 0.03)), #f6fbff;
}

.profile-highlights h4 {
  margin: 0 0 0.55rem;
  font-family: "Sora", sans-serif;
  color: #123a61;
}

.profile-highlights ul {
  margin: 0;
  padding-left: 1.05rem;
  display: grid;
  gap: 0.35rem;
}

.profile-highlights li {
  color: #203955;
}

.profile-highlights strong {
  color: #0f3f6b;
}

.expense-filters {
  margin-bottom: 0.7rem;
}

.filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.expense-filter-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto auto;
  gap: 0.55rem;
  align-items: end;
}

.logbook-filter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
  gap: 0.55rem;
  align-items: end;
}

.logbook-mobile-list {
  display: none;
  gap: 0.55rem;
  margin-bottom: 0.65rem;
}

.logbook-mobile-filter-toggle-wrap {
  display: none;
  margin-bottom: 0.55rem;
}

.expense-mobile-balance-section,
.expense-mobile-balance-cards {
  display: none;
}

.expense-mobile-balance-cards {
  gap: 0.55rem;
}

.expense-mobile-balance-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.72rem;
  border-color: #bcd0e6;
  background: linear-gradient(180deg, #ffffff, #f4f9ff);
  box-shadow:
    0 10px 22px rgba(17, 44, 78, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.expense-mobile-balance-head {
  margin: -0.72rem -0.72rem 0;
  padding: 0.68rem 0.72rem 0.62rem;
  border-bottom: 1px solid #c9d9ec;
  border-radius: 11px 11px 0 0;
  background: linear-gradient(180deg, #e6f1fc, #dceafb);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
  text-align: center;
}

.expense-mobile-balance-head h4 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 0.92rem;
  color: #183e62;
}

.expense-mobile-balance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.expense-mobile-balance-data {
  border: 1px solid #c9d8eb;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfdff, #eef5fd);
  padding: 0.5rem 0.56rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.expense-mobile-balance-data span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #5c7190;
  margin-bottom: 0.12rem;
}

.expense-mobile-balance-data strong {
  color: #183e62;
  font-size: 0.84rem;
}

.expense-mobile-balance-actions {
  margin: 0 -0.72rem -0.72rem;
  padding: 0.62rem 0.72rem 0.72rem;
  border-top: 1px solid #d5e1ef;
  border-radius: 0 0 11px 11px;
  background: linear-gradient(180deg, #edf3fb, #e2ecf8);
}

.expense-mobile-balance-actions .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  padding: 0.48rem 0.72rem;
  text-align: center;
}

.expense-mobile-balance-empty {
  color: #304b69;
  font-weight: 700;
}

.logbook-mobile-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.72rem;
  border-color: #bcd0e6;
  background: linear-gradient(180deg, #ffffff, #f4f9ff);
  box-shadow:
    0 10px 22px rgba(17, 44, 78, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.logbook-mobile-card-head {
  display: block;
  margin: -0.72rem -0.72rem 0;
  padding: 0.68rem 0.72rem 0.62rem;
  border-bottom: 1px solid #c9d9ec;
  border-radius: 11px 11px 0 0;
  background: linear-gradient(180deg, #e6f1fc, #dceafb);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.logbook-mobile-card-head > div {
  min-width: 0;
  text-align: center;
}

.logbook-mobile-card-head h4 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 0.92rem;
  color: #183e62;
}

.logbook-mobile-card-head p {
  margin: 0.14rem 0 0;
  color: #58708d;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.logbook-mobile-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.logbook-mobile-data {
  border: 1px solid #c9d8eb;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfdff, #eef5fd);
  padding: 0.5rem 0.56rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.logbook-mobile-data span {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #5c7190;
  margin-bottom: 0.12rem;
}

.logbook-mobile-data strong {
  color: #183e62;
  font-size: 0.84rem;
}

.logbook-mobile-meta,
.logbook-mobile-empty {
  margin: 0;
  color: #304b69;
  font-size: 0.8rem;
  font-weight: 700;
}

.logbook-mobile-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin: 0 -0.72rem -0.72rem;
  padding: 0.62rem 0.72rem 0.72rem;
  border-top: 1px solid #d5e1ef;
  border-radius: 0 0 11px 11px;
  background: linear-gradient(180deg, #edf3fb, #e2ecf8);
}

.logbook-mobile-actions .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  padding: 0.48rem 0.72rem;
  text-align: center;
}

.logbook-mobile-actions .button-small {
  width: 100%;
  min-height: 38px;
}

.logbook-detail-view {
  display: grid;
  gap: 0.72rem;
}

.logbook-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.logbook-detail-item {
  border: 1px solid #d3ddeb;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f6fbff);
  padding: 0.58rem 0.62rem;
}

.logbook-detail-item span,
.logbook-detail-notes span {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  color: #5a6f8b;
  margin-bottom: 0.14rem;
}

.logbook-detail-item strong {
  color: #183e62;
}

.logbook-detail-notes {
  border: 1px solid #d3ddeb;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f6fbff);
  padding: 0.62rem;
  margin-bottom: 0.28rem;
}

.logbook-detail-notes p {
  margin: 0;
  color: #304b69;
}

.logbook-detail-actions {
  margin-top: 0.32rem;
  padding-top: 0.1rem;
}

.squawk-filter-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.55rem;
  align-items: end;
}

#squawks-table {
  min-width: 1240px;
  table-layout: auto;
}

.squawk-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.squawk-id {
  font-family: "Sora", sans-serif;
  font-size: 0.8rem;
  color: #234a71;
  font-weight: 700;
}

.squawk-row {
  cursor: pointer;
}

.squawk-row:hover {
  background: #f7fbff;
}

.squawk-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.52rem 0.78rem;
}

.squawk-detail-grid p {
  margin: 0;
}

.squawk-detail-label {
  color: #4f6683;
  font-size: 0.8rem;
  font-weight: 700;
}

.squawk-detail-value {
  color: #1e3653;
  font-weight: 700;
}

.squawk-detail-description {
  grid-column: span 2;
  border: 1px solid #d5dfec;
  border-radius: 10px;
  background: #ffffff;
  padding: 0.55rem 0.62rem;
}

.squawk-detail-history-toggle {
  margin-top: 0.72rem;
  margin-bottom: 0.55rem;
}

.squawk-detail-history-toggle .button-secondary {
  width: 100%;
}

#squawk-history-wrap {
  display: grid;
  gap: 0.42rem;
}

.squawk-audit-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.42rem;
}

.squawk-audit-item {
  border: 1px solid #d6deea;
  border-radius: 10px;
  background: #fff;
  padding: 0.5rem 0.6rem;
}

.squawk-audit-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.22rem;
}

.squawk-audit-meta small {
  color: #566c88;
  font-weight: 700;
}

.squawk-audit-change {
  margin: 0;
  color: #1f3a57;
  font-size: 0.84rem;
  line-height: 1.35;
}

.squawk-ground-warning {
  border: 1px solid #dfb2b2;
  border-radius: 10px;
  background: #fff2f2;
  color: #7e2d2d;
  padding: 0.46rem 0.56rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.squawk-mobile-list {
  display: none;
  gap: 0.58rem;
  margin-bottom: 0.72rem;
}

#squawk-mobile-pagination {
  display: none;
}

.squawk-mobile-card-head p {
  letter-spacing: 0.01em;
}

.squawk-mobile-actions .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
}

.squawk-mobile-empty-card {
  grid-column: 1 / -1;
}

.reports-filters-block {
  position: relative;
}

.reports-mobile-filter-toggle-wrap {
  display: none;
  margin-bottom: 0.55rem;
}

.reports-filter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.48rem;
  align-items: end;
}

.reports-filter-grid .field {
  min-width: 0;
}

.reports-filter-actions {
  margin-top: 0.45rem;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.reports-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.55rem;
}

.reports-head-actions {
  margin: 0;
  justify-content: flex-end;
}

.reports-head-actions .button-small {
  min-width: 140px;
}

.reports-kpi-strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.48rem;
}

.reports-kpi-strip .metric {
  min-height: 74px;
  background: linear-gradient(180deg, #ffffff, #f6faff);
  padding: 0.55rem;
}

.reports-kpi-strip .metric strong {
  font-size: 1rem;
}

#documents-metrics .metric {
  min-height: 0;
  padding: 0.58rem 0.62rem;
}

#documents-metrics .metric strong {
  font-size: 1.02rem;
}

#documents-metrics .metric small {
  font-size: 0.72rem;
}

.reports-loading {
  margin: 0 0 0.55rem;
  border: 1px solid #c9d8eb;
  border-radius: 10px;
  background: #f5faff;
  color: #24486b;
  padding: 0.42rem 0.58rem;
  font-size: 0.84rem;
  font-weight: 700;
}

.reports-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.report-widget {
  border: 1px solid #c8d8ed;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  padding: 0.62rem;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  box-shadow: inset 0 0 0 1px rgba(63, 110, 168, 0.08);
}

.report-widget h4 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 0.9rem;
  color: #183e62;
}

.report-chart {
  flex: 1;
  min-height: 220px;
  display: grid;
  align-content: stretch;
}

.report-empty {
  border: 1px dashed #c4d3e7;
  border-radius: 10px;
  background: #ffffff;
  color: #48607d;
  padding: 0.65rem;
  min-height: 108px;
  display: grid;
  place-items: center;
  text-align: center;
  font-weight: 700;
}

.report-bar-chart {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
  gap: 0.36rem;
  align-items: end;
}

.report-bar-item {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.34rem;
  align-items: end;
}

.report-bar-value {
  font-size: 0.74rem;
  color: #1f4063;
  font-weight: 800;
  text-align: center;
}

.report-bar-track {
  height: 154px;
  border: 1px solid #d4deeb;
  border-radius: 9px;
  background: linear-gradient(180deg, #f8fbff, #eef4fb);
  display: flex;
  align-items: flex-end;
  justify-content: stretch;
  overflow: hidden;
}

.report-bar-fill {
  width: 100%;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(180deg, #4a8fd2, #1f5f9e);
}

.report-bar-label {
  font-size: 0.7rem;
  color: #536885;
  font-weight: 700;
  text-align: center;
}

.report-donut-wrap {
  display: grid;
  grid-template-columns: minmax(150px, 200px) minmax(0, 1fr);
  gap: 0.62rem;
  align-items: center;
}

.report-donut {
  width: min(200px, 100%);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid #cad9eb;
  margin: 0 auto;
  position: relative;
}

.report-donut::after {
  content: "";
  position: absolute;
  inset: 23%;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d8e2ef;
}

.report-donut-legend {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.26rem;
}

.report-donut-legend li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0.4rem;
  align-items: center;
  border: 1px solid #d5dfec;
  border-radius: 8px;
  background: #fff;
  padding: 0.28rem 0.42rem;
}

.report-donut-legend .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.report-donut-legend .label {
  min-width: 0;
  color: #1f3a58;
  font-weight: 700;
  font-size: 0.78rem;
}

.report-donut-legend .value {
  color: #4d617d;
  font-size: 0.74rem;
  font-weight: 700;
}

#reports-maintenance-table {
  min-width: 700px;
  table-layout: auto;
}

#reports-detail-table {
  min-width: 820px;
  table-layout: auto;
}

.expense-filter-grid .field,
.logbook-filter-grid .field {
  min-width: 0;
}

.squawk-filter-grid .field {
  min-width: 0;
}

.rows-field {
  width: 90px;
}

.rows-field select {
  min-width: 90px;
}

.status-field {
  width: 170px;
}

.checkbox-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.checkbox-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  border: 1px solid #d6deea;
  border-radius: 10px;
  background: #fff;
  padding: 0.58rem 0.68rem;
  min-height: 43px;
  font-size: 0.87rem;
  color: #1f3551;
  font-weight: 600;
}

.checkbox-inline input {
  margin: 0;
}

.expense-recon-actions {
  justify-content: flex-start;
  margin: 0.4rem 0 0.7rem;
}

.settlement-panel {
  padding: 1rem;
}

.settlement-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 0.7rem;
}

.settlement-block {
  border: 1px solid #d6deea;
  border-radius: 10px;
  background: #fff;
  padding: 0.7rem;
}

#engine-fund-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.45rem;
  padding: 0.68rem;
}

#engine-fund-metrics .metric {
  padding: 0.5rem;
}

#engine-fund-metrics .metric strong {
  font-size: 0.95rem;
}

#engine-fund-metrics .metric small {
  font-size: 0.74rem;
  line-height: 1.2;
}
#engine-fund-partner-cards {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.engine-fund-partner-card {
  display: grid;
  gap: 0.55rem;
  border: 1px solid #bcd0e6;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f4f9ff);
  padding: 0.72rem;
  box-shadow:
    0 10px 22px rgba(17, 44, 78, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.engine-fund-partner-head {
  margin: -0.72rem -0.72rem 0;
  padding: 0.68rem 0.72rem 0.62rem;
  border-bottom: 1px solid #c9d9ec;
  border-radius: 11px 11px 0 0;
  background: linear-gradient(180deg, #e6f1fc, #dceafb);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
  text-align: center;
}

.engine-fund-partner-head h4 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 0.92rem;
  color: #183e62;
}

.engine-fund-partner-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.engine-fund-partner-data {
  border: 1px solid #c9d8eb;
  border-radius: 10px;
  background: linear-gradient(180deg, #fbfdff, #eef5fd);
  padding: 0.5rem 0.56rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.engine-fund-partner-data strong {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #58708d;
}

.engine-fund-partner-data span {
  display: block;
  margin-top: 0.14rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #183e62;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.engine-fund-partner-footer {
  display: grid;
  align-items: center;
  min-height: 44px;
  margin: 0 -0.72rem -0.72rem;
  padding: 0.58rem 0.72rem;
  border-top: 1px solid #d0deef;
  border-radius: 0 0 11px 11px;
  background: linear-gradient(180deg, #edf4fd, #e3eefb);
}

.engine-fund-partner-footer .status-pill {
  justify-self: center;
}

.engine-fund-partner-note {
  font-size: 0.78rem;
  line-height: 1.3;
  color: #58708d;
}

#engine-fund-audit-table {
  min-width: 1050px;
  table-layout: auto;
}
.settlement-line,
.alert-line {
  margin: 0.22rem 0;
  color: #1f3a57;
}

.status-pill {
  display: inline-block;
  border-radius: 999px;
  padding: 0.12rem 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.status-good {
  background: #e8f9ee;
  color: #1a7f3f;
  border: 1px solid #b8e8c8;
}

.status-soon {
  background: #fff4e5;
  color: #a15e00;
  border: 1px solid #f1d4a8;
}

.status-overdue {
  background: #ffe9e9;
  color: #a02d2d;
  border: 1px solid #efc0c0;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 2px solid #b8c9de;
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(23, 55, 88, 0.06);
}

table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

th,
td {
  padding: 0.62rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
}

th {
  background: #f1f6fc;
  font-weight: 800;
  color: #23324a;
}

.table-sort {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  border: none;
  background: transparent;
  padding: 0;
  font: inherit;
  font-weight: 800;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.table-sort:hover {
  color: #0f4c81;
}

.table-sort:focus-visible {
  outline: 2px solid #6fa6de;
  outline-offset: 2px;
  border-radius: 4px;
}

.table-sort .sort-indicator {
  font-size: 0.74rem;
  color: #60738f;
}

.table-sort.is-active .sort-indicator {
  color: #0f4c81;
}

.table-pagination {
  margin-top: 0.6rem;
}

.table-pagination-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  flex-wrap: wrap;
  padding: 0.55rem 0.2rem 0.1rem;
}

.table-pagination-controls {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.table-page-btn {
  border: 1px solid #cfd9e8;
  background: #f4f8fd;
  color: #22344d;
  border-radius: 8px;
  padding: 0.35rem 0.56rem;
  font: inherit;
  font-weight: 700;
  line-height: 1.1;
}

.table-page-btn:hover:not([disabled]) {
  background: #e7f0fb;
  border-color: #b8cde8;
}

.table-page-btn.active {
  background: linear-gradient(120deg, var(--accent), var(--accent-strong));
  border-color: var(--accent-strong);
  color: #fff;
}

.table-page-btn[disabled] {
  opacity: 0.48;
  cursor: not-allowed;
}

.table-pagination-summary {
  margin: 0;
  font-size: 0.84rem;
  color: #51627a;
  font-weight: 700;
}

.delete-entry,
.delete-expense,
.delete-document,
.delete-doc,
.delete-maintenance {
  border: 1px solid #ecc6c6;
  color: var(--danger);
  background: #fff7f7;
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
  font: inherit;
}

.expense-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.maintenance-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.document-actions {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.documents-mobile-list {
  display: none;
  gap: 0.55rem;
  margin-top: 0.55rem;
}

.documents-mobile-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.72rem;
}

.documents-mobile-head {
  display: flex;
  justify-content: space-between;
  gap: 0.55rem;
  align-items: flex-start;
}

.documents-mobile-head h4 {
  margin: 0;
  font-family: "Sora", sans-serif;
  font-size: 0.94rem;
  color: #183e62;
}

.documents-mobile-head p {
  margin: 0.16rem 0 0;
  color: #58708d;
  font-size: 0.8rem;
  font-weight: 700;
}

.documents-mobile-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.documents-mobile-meta-item {
  border: 1px solid #c9d8eb;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f5faff);
  padding: 0.5rem 0.58rem;
}

.documents-mobile-meta-item span {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  color: #5c7190;
  margin-bottom: 0.14rem;
}

.documents-mobile-meta-item strong {
  color: #183e62;
  font-size: 0.86rem;
}

.documents-mobile-reference,
.documents-mobile-empty {
  margin: 0;
  color: #304b69;
  font-size: 0.84rem;
}

.documents-mobile-actions {
  margin-top: 0.05rem;
}

.danger-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.button-danger {
  border: 1px solid #f0bdbd;
  background: #fff5f5;
  color: var(--danger);
  border-radius: 10px;
  padding: 0.6rem;
  font-weight: 700;
}

.modal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 1000;
}

.modal.hidden {
  display: none;
}

.iphone-entry-note {
  display: none;
  margin: -0.2rem 0 0.85rem;
  padding: 0.62rem 0.72rem;
  border: 1px solid #d4dce8;
  border-radius: 10px;
  background: #f7f9fc;
  color: #34465f;
  font-size: 0.84rem;
  font-weight: 700;
}

html[data-theme="f-117"] .iphone-entry-note {
  border-color: #324238;
  background: linear-gradient(180deg, rgba(127, 211, 140, 0.08), rgba(127, 211, 140, 0.03)), #10161d;
  color: #d7e7d9;
  box-shadow: inset 0 0 0 1px rgba(127, 211, 140, 0.03);
}

.modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.54);
}

.modal-card {
  position: relative;
  width: min(860px, calc(100vw - 1.2rem));
  max-height: calc(100vh - 1.2rem);
  overflow-y: auto;
  background: #fff;
  border: 1px solid #d6deea;
  border-radius: 14px;
  box-shadow: var(--shadow-lg);
  padding: 1rem;
}

.modal-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.7rem;
}

.modal-close {
  border: 1px solid #cfd9e8;
  background: #f4f8fd;
  color: #22344d;
  border-radius: 8px;
  padding: 0.35rem 0.55rem;
  font-weight: 700;
}

.hidden {
  display: none;
}

#page-settings > h2 {
  margin-bottom: 0.3rem;
}

#page-settings > p {
  margin-bottom: 1rem;
  max-width: 72ch;
}

#settings-admin {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}

.settings-mobile-nav-wrap {
  display: none;
  gap: 0.38rem;
  padding: 0.72rem 0.78rem;
  border: 1px solid #c9d6e8;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.08), rgba(15, 76, 129, 0.02)), #f7fbff;
}

.settings-mobile-nav-wrap label {
  font-size: 0.76rem;
  font-weight: 700;
  color: #476382;
}

.settings-nav-select {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid #c7d8ed;
  background: linear-gradient(180deg, #ffffff, #eef4fc);
  color: #1f3551;
  font-weight: 700;
  box-shadow:
    0 8px 16px rgba(12, 34, 58, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.settings-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.55rem;
  padding: 0.7rem;
  border: 2px solid #c9d6e8;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.1), rgba(15, 76, 129, 0.03)), #f7fbff;
}

.settings-nav-btn {
  border: 1px solid #c7d8ed;
  background: linear-gradient(180deg, #ffffff, #eef4fc);
  color: #1f3551;
  border-radius: 10px;
  padding: 0.62rem 0.65rem;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(12, 34, 58, 0.08);
}

.settings-nav-btn.active {
  border-color: #7ca6d2;
  background: linear-gradient(135deg, #e6f1ff, #d8e9ff);
  color: #0d3f6a;
  box-shadow:
    inset 0 0 0 1px rgba(15, 76, 129, 0.2),
    0 8px 16px rgba(12, 34, 58, 0.1);
}

#page-settings .settings-section {
  margin-bottom: 0;
}

#settings-admin .settings-section .section-head {
  margin-bottom: 0.85rem;
}

#settings-admin .settings-section .section-head h3 {
  margin-bottom: 0.25rem;
}

#settings-general-panel {
  border-color: var(--section-primary-border);
  background:
    linear-gradient(180deg, rgba(var(--section-primary-rgb), 0.08), rgba(var(--section-primary-rgb), 0.02)),
    var(--section-primary-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-primary-rgb), 0.12),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-general-panel .settings-form.settings-general-form {
  display: grid;
  gap: 1rem;
}

.settings-general-controls {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 0.72rem;
}

.settings-general-guard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.42rem 0.62rem;
  border: 1px solid rgba(61, 104, 153, 0.14);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(248, 252, 255, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 6px 14px rgba(16, 37, 61, 0.04);
}

.settings-general-guard-secondary {
  border-color: rgba(61, 104, 153, 0.11);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
}

.settings-general-guard.is-unlocked {
  border-color: rgba(214, 166, 72, 0.32);
  background: linear-gradient(180deg, rgba(255, 249, 232, 0.96), rgba(255, 244, 215, 0.98));
}

.settings-general-guard-copy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.settings-general-guard-topline {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  flex-wrap: wrap;
}

.settings-general-guard-topline-stack {
  display: grid;
  gap: 0.08rem;
}

.settings-general-guard-icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid rgba(61, 104, 153, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(237, 244, 253, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  position: relative;
}

.settings-general-guard-icon::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 999px;
  background: #2f648f;
  box-shadow: 0 0 0 2px rgba(47, 100, 143, 0.12);
}

.settings-general-guard.is-unlocked .settings-general-guard-icon {
  border-color: rgba(214, 166, 72, 0.36);
  background: linear-gradient(180deg, rgba(255, 253, 244, 0.95), rgba(255, 245, 217, 0.98));
}

.settings-general-guard.is-unlocked .settings-general-guard-icon::before {
  background: #a86a11;
  box-shadow: 0 0 0 2px rgba(168, 106, 17, 0.14);
}

.settings-general-guard-icon-neutral::before {
  background: #587791;
  box-shadow: 0 0 0 2px rgba(88, 119, 145, 0.1);
}

.settings-general-guard-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0.08rem 0.38rem;
  border-radius: 999px;
  border: 1px solid rgba(61, 104, 153, 0.18);
  background: rgba(255, 255, 255, 0.84);
  color: #24496e;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.settings-general-guard.is-unlocked .settings-general-guard-badge {
  border-color: rgba(214, 166, 72, 0.42);
  background: rgba(255, 251, 239, 0.9);
  color: #8b5a0b;
}

.settings-general-guard strong {
  color: #173b60;
  font-size: 0.8rem;
  line-height: 1.25;
}

.settings-general-guard-help {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.32;
}

.settings-general-guard .button-secondary {
  min-height: 32px;
  padding: 0.3rem 0.68rem;
  border-radius: 10px;
  font-size: 0.76rem;
  font-weight: 800;
}

.settings-general-guard .checkbox-inline-toggle {
  flex: 0 0 auto;
}

.settings-general-card {
  display: grid;
  gap: 0.72rem;
  padding: 0.86rem 0.95rem 0.92rem;
  border: 1px solid rgba(61, 104, 153, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 10px 22px rgba(16, 37, 61, 0.055);
}

.settings-general-card-head {
  display: grid;
  gap: 0.18rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(115, 146, 182, 0.16);
}

.settings-general-card-head h4 {
  margin: 0;
  color: #173b60;
  font-size: 1rem;
}

.settings-general-card-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.36;
}

.settings-general-grid {
  display: grid;
  gap: 0.68rem 0.82rem;
}

.settings-general-grid-1 {
  grid-template-columns: minmax(0, 1fr);
}

.settings-general-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-general-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.settings-general-grid .field {
  min-width: 0;
}

.settings-general-grid .field .input-help {
  margin-top: 0.22rem;
  font-size: 0.74rem;
  line-height: 1.35;
}

.settings-general-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.2rem 0;
}

.settings-general-toggle-copy {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.settings-general-toggle-copy label {
  margin: 0;
}

.settings-general-toggle-row .checkbox-inline-toggle {
  flex: 0 0 auto;
}

.settings-general-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  margin-top: 0.15rem;
  padding: 0.85rem 0 0;
  background: linear-gradient(180deg, rgba(246, 250, 255, 0), rgba(246, 250, 255, 0.95) 44%);
}

.settings-general-actions button {
  min-width: 180px;
  min-height: 46px;
  box-shadow: 0 12px 22px rgba(17, 52, 87, 0.14);
}

.settings-general-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
  gap: 1rem 1.15rem;
  align-items: start;
}

.settings-general-rail {
  display: grid;
  gap: 0.9rem;
}

.settings-general-card {
  gap: 0.9rem;
  padding: 1rem 1.05rem 1.05rem;
  border-color: rgba(61, 104, 153, 0.1);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(246, 250, 255, 0.98)),
    #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.86),
    0 18px 34px rgba(14, 36, 61, 0.06);
}

.settings-general-card-secondary {
  border-color: rgba(61, 104, 153, 0.08);
  background:
    linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(246, 250, 255, 0.98)),
    #fbfdff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 12px 24px rgba(14, 36, 61, 0.045);
}

.settings-general-card-primary {
  padding: 1.06rem 1.14rem 1.14rem;
}

.settings-general-card-compact {
  gap: 0.78rem;
  padding: 0.92rem 0.96rem 0.98rem;
}

.settings-general-card-head {
  gap: 0.18rem;
  padding-bottom: 0.76rem;
  border-bottom: 1px solid rgba(115, 146, 182, 0.14);
}

.settings-general-card-head-rich {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.9rem;
}

.settings-general-card-heading {
  display: flex;
  align-items: flex-start;
  gap: 0.82rem;
  min-width: 0;
}

.settings-general-card-heading-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.settings-general-card-heading-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.settings-general-card-head h4 {
  font-size: 1.03rem;
}

.settings-general-card-primary .settings-general-card-head h4 {
  font-size: 1.08rem;
}

.settings-general-card-head p {
  font-size: 0.8rem;
  line-height: 1.4;
  max-width: 46ch;
}

.settings-general-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(61, 104, 153, 0.12);
  color: #1f5b88;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 6px 14px rgba(18, 44, 73, 0.08);
  flex: 0 0 auto;
}

.settings-general-icon-badge svg {
  width: 20px;
  height: 20px;
  display: block;
}

.settings-general-icon-badge-lock {
  background: linear-gradient(180deg, rgba(220, 235, 249, 0.96), rgba(205, 226, 245, 0.92));
  color: #285f8f;
}

.settings-general-icon-badge-mode {
  background: linear-gradient(180deg, rgba(232, 229, 255, 0.96), rgba(218, 212, 251, 0.92));
  color: #5d56a5;
}

.settings-general-icon-badge-integrations {
  background: linear-gradient(180deg, rgba(238, 228, 254, 0.96), rgba(226, 214, 249, 0.92));
  color: #7154a4;
}

.settings-general-icon-badge-aircraft {
  background: linear-gradient(180deg, rgba(219, 235, 250, 0.96), rgba(205, 226, 245, 0.92));
  color: #245e8f;
}

.settings-general-icon-badge-baseline {
  background: linear-gradient(180deg, rgba(224, 241, 230, 0.96), rgba(205, 232, 214, 0.92));
  color: #2c7a50;
}

.settings-general-icon-badge-fund {
  background: linear-gradient(180deg, rgba(252, 238, 213, 0.97), rgba(246, 225, 191, 0.93));
  color: #9a6a14;
}

.settings-general-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  border: 1px solid rgba(61, 104, 153, 0.16);
  background: rgba(239, 246, 254, 0.9);
  color: #28597f;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.settings-general-card-body {
  display: grid;
  gap: 0.72rem;
}

.settings-general-card-body-form {
  gap: 0.62rem;
}

.settings-general-card-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.settings-general-card-action {
  min-height: 40px;
  width: 100%;
  border-radius: 12px;
  font-weight: 800;
}

.settings-general-toggle-button {
  width: 100%;
  min-height: 44px;
}

.settings-general-toggle-button:disabled {
  cursor: default;
  opacity: 0.72;
}

.settings-general-toggle-button:disabled:hover {
  border-color: #b8c9e0;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 6px 16px rgba(24, 53, 84, 0.08);
}

.settings-general-grid {
  gap: 0.72rem 0.86rem;
}

.settings-general-field-span-2 {
  grid-column: 1 / -1;
}

#settings-general-panel .settings-general-card input,
#settings-general-panel .settings-general-card select {
  min-height: 42px;
  border-radius: 12px;
}

#settings-general-panel .settings-general-card .checkbox-inline-toggle {
  flex: 0 0 auto;
  min-height: 38px;
}

#settings-general-panel .settings-general-card .checkbox-inline-label {
  font-size: 0.78rem;
}

.settings-general-card-compact .settings-general-card-head {
  padding-bottom: 0.66rem;
}

.settings-general-card-compact .settings-general-card-body {
  gap: 0.62rem;
}

.settings-general-card-compact .settings-general-card-note {
  font-size: 0.78rem;
}

#settings-general-guard.is-unlocked .settings-general-chip-lock {
  border-color: rgba(214, 166, 72, 0.42);
  background: rgba(255, 247, 226, 0.96);
  color: #94610e;
}

#settings-general-guard.is-unlocked .settings-general-icon-badge-lock {
  background: linear-gradient(180deg, rgba(255, 243, 214, 0.98), rgba(246, 225, 186, 0.94));
  color: #9a6a14;
}

.settings-locked-field {
  cursor: not-allowed;
  opacity: 1;
  color: #5e6d82;
  background: linear-gradient(180deg, #eef4fb, #e4edf8);
}

.settings-mobile-card-list {
  display: none;
  gap: 0.68rem;
}

.settings-mobile-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 255, 0.98));
  box-shadow: 0 10px 22px rgba(12, 34, 58, 0.08);
}

.settings-mobile-card-head,
.settings-mobile-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  padding: 0.68rem 0.8rem;
}

.settings-mobile-card-head {
  background: linear-gradient(180deg, rgba(15, 76, 129, 0.1), rgba(15, 76, 129, 0.04));
  border-bottom: 1px solid rgba(15, 76, 129, 0.12);
}

.settings-mobile-card-head h4 {
  margin: 0;
  font-size: 0.92rem;
}

.settings-mobile-card-body {
  display: grid;
  gap: 0.56rem;
  padding: 0.74rem 0.8rem;
}

.settings-mobile-card-footer {
  background: linear-gradient(180deg, rgba(7, 31, 52, 0.06), rgba(7, 31, 52, 0.02));
  border-top: 1px solid rgba(7, 31, 52, 0.08);
}

.settings-mobile-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.settings-mobile-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 76, 129, 0.16);
  background: rgba(255, 255, 255, 0.72);
  color: #355878;
  font-size: 0.72rem;
  font-weight: 700;
}

.settings-mobile-kv {
  display: grid;
  gap: 0.14rem;
}

.settings-mobile-kv span {
  font-size: 0.73rem;
  color: var(--muted);
}

.settings-mobile-kv strong {
  font-size: 0.88rem;
}

.settings-mobile-detail-copy,
.settings-mobile-detail-meta {
  margin: 0;
}

.settings-mobile-detail-copy {
  font-size: 0.84rem;
  line-height: 1.45;
}

.settings-mobile-detail-meta {
  font-size: 0.74rem;
  color: var(--muted);
}

.settings-mobile-empty {
  margin: 0;
  padding: 0.9rem;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
}

#user-admin-panel {
  border-color: var(--section-metrics-border);
  background:
    linear-gradient(180deg, rgba(var(--section-metrics-rgb), 0.12), rgba(var(--section-metrics-rgb), 0.03)),
    var(--section-metrics-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-metrics-rgb), 0.14),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-dropdowns-panel {
  border-color: var(--section-violet-border);
  background:
    linear-gradient(180deg, rgba(var(--section-violet-rgb), 0.11), rgba(var(--section-violet-rgb), 0.03)),
    var(--section-violet-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-violet-rgb), 0.14),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-vendors-panel {
  border-color: var(--section-amber-border);
  background:
    linear-gradient(180deg, rgba(var(--section-amber-rgb), 0.14), rgba(var(--section-amber-rgb), 0.04)),
    var(--section-amber-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-amber-rgb), 0.16),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-ops-panel {
  border-color: var(--section-teal-border);
  background:
    linear-gradient(180deg, rgba(var(--section-teal-rgb), 0.12), rgba(var(--section-teal-rgb), 0.03)),
    var(--section-teal-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-teal-rgb), 0.16),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-email-panel {
  border-color: var(--section-indigo-border);
  background:
    linear-gradient(180deg, rgba(var(--section-indigo-rgb), 0.12), rgba(var(--section-indigo-rgb), 0.03)),
    var(--section-indigo-surface);
  box-shadow:
    inset 0 0 0 1px rgba(var(--section-indigo-rgb), 0.16),
    0 10px 22px rgba(12, 34, 58, 0.08);
}
#settings-email-panel .settings-form {
  gap: 0.58rem;
  margin-bottom: 0.75rem;
}
#settings-email-panel .field label {
  margin-bottom: 0.2rem;
  font-size: 0.82rem;
}
#settings-email-panel input,
#settings-email-panel select,
#settings-email-panel textarea {
  padding: 0.52rem 0.6rem;
  min-height: 40px;
  font-size: 0.9rem;
}
#settings-email-panel .input-help {
  font-size: 0.76rem;
}
.email-service-status {
  margin: 0 0 0.62rem;
}

.email-service-status p {
  margin: 0.2rem 0;
}

.email-tests-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.62rem;
  margin-bottom: 0.62rem;
  align-items: start;
}

.email-tests-grid .settings-form {
  margin-bottom: 0;
}

.email-dispatch-log-panel {
  border: 1px solid #bfd1ec;
  border-radius: 12px;
  background: #fff;
  padding: 0.62rem;
  box-shadow:
    inset 0 0 0 1px rgba(63, 110, 168, 0.08),
    0 6px 14px rgba(12, 34, 58, 0.06);
}

.email-dispatch-log-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
}

.email-dispatch-log-status {
  margin: 0.38rem 0 0.5rem;
  font-size: 0.82rem;
  color: #385171;
}

#email-dispatch-log-body td {
  vertical-align: top;
}

.email-dispatch-detail {
  margin: 0;
  line-height: 1.3;
}

.email-dispatch-meta {
  margin: 0.16rem 0 0;
  color: #60708a;
  font-size: 0.75rem;
}

.email-dispatch-actions {
  margin-top: 0.35rem;
}

.email-dispatch-recipient-preview {
  max-width: 240px;
  overflow-wrap: anywhere;
}

.email-dispatch-detail-modal-card {
  width: min(1100px, 96vw);
  max-height: min(88vh, 980px);
  overflow-y: auto;
}

.email-dispatch-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.5rem;
}

.email-dispatch-summary-item {
  border: 1px solid #d3dfef;
  border-radius: 10px;
  background: #f8fbff;
  padding: 0.5rem 0.58rem;
  display: grid;
  gap: 0.14rem;
}

.email-dispatch-summary-item span {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #5a6f8b;
}

.email-dispatch-summary-item strong {
  font-size: 0.9rem;
  color: #193d60;
  overflow-wrap: anywhere;
}

.email-dispatch-summary-item-wide {
  grid-column: 1 / -1;
}

.email-dispatch-block {
  margin-top: 0.55rem;
}

.email-dispatch-block h4 {
  margin: 0 0 0.38rem;
  color: #1f4f84;
  font-size: 0.92rem;
}

.email-dispatch-pre {
  margin: 0;
  padding: 0.56rem 0.62rem;
  border: 1px solid #d3dfef;
  border-radius: 10px;
  background: #f8fbff;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: "JetBrains Mono", "Consolas", monospace;
  font-size: 0.78rem;
  line-height: 1.42;
  max-height: 190px;
  overflow: auto;
}

.email-dispatch-detail-table-wrap {
  max-height: 320px;
  overflow: auto;
}

.email-test-card {
  border: 1px solid #bfd1ec;
  border-radius: 12px;
  background: #ffffff;
  padding: 0.62rem;
  box-shadow:
    inset 0 0 0 1px rgba(63, 110, 168, 0.08),
    0 6px 14px rgba(12, 34, 58, 0.06);
}

.email-test-card-accent {
  border-color: #c99030;
  background: linear-gradient(180deg, rgba(201, 144, 48, 0.14), rgba(201, 144, 48, 0.03)), #fffaf1;
  box-shadow:
    inset 0 0 0 1px rgba(201, 144, 48, 0.2),
    0 8px 18px rgba(12, 34, 58, 0.08);
}

.email-test-card-accent .settings-subhead {
  color: #8b5200;
}

.email-test-form textarea {
  min-height: 96px;
}

.email-test-form .actions {
  justify-content: flex-end;
}

.help-sections {
  display: grid;
  gap: 0.9rem;
}

.help-hero-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.help-hero-card,
.help-placeholder-card {
  border: 1px solid var(--panel-card-border, #bfd1ec);
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    var(--panel-card-surface-start, #ffffff),
    var(--panel-card-surface-end, #f7fbff)
  );
  padding: 0.82rem 0.9rem;
  display: grid;
  gap: 0.3rem;
}

.help-hero-card span,
.help-placeholder-label {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--panel-card-label, #587092);
}

.help-hero-card strong {
  font-size: 1.1rem;
  color: var(--panel-card-text, #183554);
}

.help-hero-card small {
  color: var(--panel-card-label, #587092);
  line-height: 1.45;
}

.help-article-list {
  display: grid;
  gap: 0.7rem;
}

.help-article {
  overflow: hidden;
  padding: 0;
}

.help-article-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.9rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.9rem;
}

.help-article-summary::-webkit-details-marker {
  display: none;
}

.help-article-summary-copy {
  display: grid;
  gap: 0.2rem;
}

.help-article-summary-copy strong {
  color: var(--panel-card-text, #183554);
  font-size: 1rem;
}

.help-article-summary-copy small {
  color: var(--panel-card-label, #587092);
  line-height: 1.45;
}

.help-article-toggle {
  flex: 0 0 auto;
  min-width: 72px;
  text-align: right;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--button-secondary-text, #305781);
}

.help-article[open] .help-article-toggle {
  font-size: 0;
}

.help-article[open] .help-article-toggle::before {
  content: "Collapse";
  font-size: 0.82rem;
  color: var(--menu-active-text, #184a74);
}

.help-article-body {
  border-top: 1px solid rgba(63, 110, 168, 0.12);
  padding: 0 1rem 1rem;
}

.help-placeholder-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0.75rem;
  padding-top: 0.9rem;
}

.help-placeholder-card p {
  margin: 0;
  line-height: 1.5;
  color: var(--panel-card-text, #183554);
}

.help-rich-content {
  display: grid;
  gap: 0.65rem;
  color: var(--panel-card-text, #183554);
}

.help-rich-content p,
.help-rich-content ul {
  margin: 0;
  line-height: 1.55;
}

.help-rich-content ul {
  padding-left: 1.15rem;
  display: grid;
  gap: 0.35rem;
}

.help-rich-content strong {
  color: var(--panel-card-text, #183554);
}

.help-screenshot-frame {
  min-height: 156px;
  border: 1px dashed var(--panel-card-border, #bfd1ec);
  border-radius: 12px;
  background: repeating-linear-gradient(
    -45deg,
    rgba(63, 110, 168, 0.05),
    rgba(63, 110, 168, 0.05) 12px,
    rgba(63, 110, 168, 0.11) 12px,
    rgba(63, 110, 168, 0.11) 24px
  );
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1rem;
  color: var(--panel-card-label, #587092);
  font-weight: 700;
}

@media (max-width: 760px) {
  .help-hero-grid,
  .help-placeholder-grid {
    grid-template-columns: 1fr;
  }

  .help-article-summary {
    flex-direction: column;
  }

  .help-article-toggle {
    min-width: 0;
    text-align: left;
  }

  .help-screenshot-frame {
    min-height: 128px;
  }
}

.settings-subhead {
  margin: 0;
  color: #1f4f84;
}
.email-events-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.7rem;
  padding-top: 0.1rem;
}
.email-events-toolbar .button-small {
  width: auto;
  padding: 0.45rem 0.7rem;
  border-radius: 8px;
}
.email-events-toolbar > div {
  min-width: 0;
}
.email-events-toolbar .input-help {
  display: block;
  margin-top: 0.2rem;
}
.profile-notification-fieldset {
  padding-top: 0.15rem;
}

.profile-notification-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.4rem 0.8rem;
  margin-top: 0.3rem;
}

.email-event-card {
  border: 1px solid #bfd1ec;
  border-radius: 10px;
  background: #ffffff;
  padding: 0.52rem;
  display: grid;
  gap: 0.25rem;
  align-content: start;
  box-shadow: inset 0 0 0 1px rgba(63, 110, 168, 0.08);
}
.email-event-card-wide {
  grid-column: span 2;
}
.email-event-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.28rem;
}

.email-event-head h4 {
  margin: 0;
  font-size: 0.94rem;
}

.email-event-card label {
  display: block;
  margin-top: 0;
}

.email-event-card textarea {
  min-height: 72px;
  resize: vertical;
}

.checkbox-inline-toggle,
.settings-general-toggle-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 44px;
  min-width: 148px;
  padding: 0.5rem 0.72rem 0.5rem 0.9rem;
  border-radius: 999px;
  border-color: #b8c9e0;
  background: linear-gradient(180deg, #ffffff, #edf4ff);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 6px 16px rgba(24, 53, 84, 0.08);
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    color 0.2s ease;
  cursor: pointer;
}

.checkbox-inline-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkbox-inline-toggle-ui {
  position: relative;
  flex: 0 0 auto;
  order: 2;
  margin-left: auto;
  width: 2.05rem;
  height: 1.2rem;
  border-radius: 999px;
  background: #cad6e6;
  box-shadow: inset 0 0 0 1px rgba(63, 110, 168, 0.16);
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.checkbox-inline-toggle-ui::after {
  content: "";
  position: absolute;
  top: 0.12rem;
  left: 0.12rem;
  width: 0.96rem;
  height: 0.96rem;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(10, 24, 40, 0.18);
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.checkbox-inline-label {
  display: inline-block;
  order: 1;
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 0.2rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
  text-align: left;
  white-space: nowrap;
}

.checkbox-inline-toggle:has(input:checked),
.settings-general-toggle-button.is-active {
  border-color: #8ebda0;
  background: linear-gradient(180deg, #f4fff7, #e7f7ed);
  color: #21573c;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 8px 18px rgba(33, 87, 60, 0.12);
}

.checkbox-inline-toggle:has(input:checked) .checkbox-inline-toggle-ui,
.settings-general-toggle-button.is-active .checkbox-inline-toggle-ui {
  background: #6eb586;
  box-shadow: inset 0 0 0 1px rgba(24, 70, 42, 0.12);
}

.checkbox-inline-toggle:has(input:checked) .checkbox-inline-toggle-ui::after,
.settings-general-toggle-button.is-active .checkbox-inline-toggle-ui::after {
  transform: translateX(0.85rem);
}

.checkbox-inline-toggle:hover,
.settings-general-toggle-button:hover {
  border-color: #9db4d1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 8px 18px rgba(24, 53, 84, 0.12);
}

.checkbox-inline-toggle:focus-within,
.settings-general-toggle-button:focus-visible {
  border-color: #4d77a6;
  box-shadow:
    0 0 0 3px rgba(77, 119, 166, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.email-maint-threshold-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.42rem;
  margin: 0.16rem 0 0.24rem;
}

.email-template-test-form .actions,
.email-test-form .actions {
  justify-content: flex-end;
}

#settings-backup-panel {
  border-color: #5b82af;
  background: linear-gradient(180deg, rgba(42, 92, 148, 0.12), rgba(42, 92, 148, 0.03)), #f4f9ff;
  box-shadow:
    inset 0 0 0 1px rgba(42, 92, 148, 0.16),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-recycle-panel {
  border-color: #8f5e5e;
  background: linear-gradient(180deg, rgba(128, 66, 66, 0.12), rgba(128, 66, 66, 0.03)), #fff8f8;
  box-shadow:
    inset 0 0 0 1px rgba(128, 66, 66, 0.14),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#settings-audit-panel {
  border-color: #5f789c;
  background: linear-gradient(180deg, rgba(72, 101, 136, 0.12), rgba(72, 101, 136, 0.03)), #f6f9ff;
  box-shadow:
    inset 0 0 0 1px rgba(72, 101, 136, 0.14),
    0 10px 22px rgba(12, 34, 58, 0.08);
}

#audit-history-status.is-success {
  border-color: #9ccfb2;
  color: #1f6240;
  background: #edf9f1;
}

#audit-history-status.is-warn {
  border-color: #ebc989;
  color: #7a5110;
  background: #fff7e8;
}

#audit-history-status.is-error {
  border-color: #df9f9f;
  color: #6f2929;
  background: #fff0f0;
}

.audit-filter-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) 96px minmax(250px, 1.2fr);
  gap: 0.55rem;
  align-items: end;
}

.audit-filter-grid .field {
  min-width: 0;
}

.audit-noise-field {
  min-width: 0;
}

.audit-noise-field .checkbox-inline {
  width: 100%;
  justify-content: flex-start;
}

.audit-noise-field .input-help {
  margin-top: 0.2rem;
}

.audit-group-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 0.55rem;
  margin: 0.45rem 0 0.35rem;
}

.audit-group-card {
  border: 1px solid #c8d8ec;
  border-radius: 10px;
  background: #fff;
  padding: 0.5rem 0.62rem;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  box-shadow: 0 6px 14px rgba(12, 34, 58, 0.05);
}

.audit-group-card strong {
  font-size: 1.02rem;
  color: #1a304d;
}

.audit-group-card small {
  color: #546985;
  font-size: 0.74rem;
}

.audit-subtle {
  margin-top: 0.12rem;
  color: #51627a;
  font-size: 0.76rem;
}

.audit-group-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.16rem 0.52rem;
  border: 1px solid #c7d5e7;
  background: #f3f7fd;
  color: #1f3551;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.audit-group-operations {
  border-color: #9ebbe0;
  background: #edf4ff;
  color: #1f4f82;
}
.audit-group-finance {
  border-color: #b8d6a9;
  background: #eff9ea;
  color: #2d6a31;
}
.audit-group-access {
  border-color: #d0c2ea;
  background: #f5f0ff;
  color: #553587;
}
.audit-group-configuration {
  border-color: #f0c79a;
  background: #fff6ea;
  color: #8a4e13;
}
.audit-group-comms {
  border-color: #9fd7d2;
  background: #ebf9f7;
  color: #1f6962;
}
.audit-group-system {
  border-color: #d4dbe7;
  background: #f4f7fb;
  color: #425876;
}
.audit-group-other {
  border-color: #cdd6e1;
  background: #f5f8fc;
  color: #4b5f78;
}

.audit-action-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.16rem 0.52rem;
  border: 1px solid #c7d5e7;
  background: #f3f7fd;
  color: #1f3551;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.audit-action-insert {
  border-color: #9dcfb3;
  background: #eef9f2;
  color: #1f6340;
}

.audit-action-update {
  border-color: #a7c4e7;
  background: #edf4ff;
  color: #21436a;
}

.audit-action-delete {
  border-color: #deafaf;
  background: #fff1f1;
  color: #7a2d2d;
}

#audit-history-table td:nth-child(5),
#audit-history-table th:nth-child(5) {
  max-width: 220px;
  overflow-wrap: anywhere;
}

#audit-history-table td:nth-child(7),
#audit-history-table th:nth-child(7) {
  max-width: 280px;
  overflow-wrap: anywhere;
}

.audit-change-preview {
  margin: 0;
  line-height: 1.28;
}

.audit-row-actions {
  margin-top: 0.35rem;
}

.audit-history-detail-modal-card {
  width: min(1100px, 96vw);
  max-height: min(88vh, 980px);
  overflow-y: auto;
}

.audit-detail-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.5rem;
}

.audit-detail-summary-item {
  border: 1px solid #d3dfef;
  border-radius: 10px;
  background: #f8fbff;
  padding: 0.5rem 0.58rem;
  display: grid;
  gap: 0.14rem;
}

.audit-detail-summary-item span {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #5a6f8b;
}

.audit-detail-summary-item strong {
  font-size: 0.9rem;
  color: #193d60;
  overflow-wrap: anywhere;
  display: grid;
  gap: 0.12rem;
}

.audit-detail-summary-item strong small {
  font-size: 0.75rem;
  font-weight: 500;
  color: #5a6f8b;
}

.audit-history-detail-block {
  margin-top: 0.55rem;
}

.audit-history-detail-block h4 {
  margin: 0 0 0.38rem;
  color: #1f4f84;
  font-size: 0.92rem;
}

.audit-history-detail-pre {
  margin: 0;
  padding: 0.56rem 0.62rem;
  border: 1px solid #d3dfef;
  border-radius: 10px;
  background: #f8fbff;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: "JetBrains Mono", "Consolas", monospace;
  font-size: 0.78rem;
  line-height: 1.42;
  max-height: 220px;
  overflow: auto;
}

.audit-history-detail-table-wrap {
  max-height: 360px;
  overflow: auto;
}
.backup-status-panel,
.backup-guidance {
  margin: 0;
}

.backup-status-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(53, 101, 155, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.98));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.84),
    0 12px 26px rgba(12, 34, 58, 0.06);
}

.backup-status-copy {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

#backup-create-full-now {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.8rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(84, 129, 188, 0.16);
  background: linear-gradient(180deg, rgba(246, 250, 255, 0.98), rgba(239, 246, 255, 0.98));
  box-shadow: 0 10px 22px rgba(12, 34, 58, 0.05);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

#backup-create-full-now:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(12, 34, 58, 0.08);
}

.backup-trust-note {
  margin: 0.35rem 0 0;
  color: #566a83;
  font-size: 0.84rem;
  line-height: 1.45;
}

.backup-status-intro {
  margin: 0.18rem 0 0;
  color: #51627a;
  font-size: 0.86rem;
  line-height: 1.45;
}

.backup-button-icon,
.backup-action-icon,
.backup-status-icon,
.backup-recommended-icon,
.backup-module-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
  color: inherit;
}

.backup-button-icon::before,
.backup-action-icon::before,
.backup-status-icon::before,
.backup-recommended-icon::before,
.backup-module-icon::before {
  content: "";
}

.backup-button-icon {
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  border: 1px solid rgba(73, 115, 168, 0.12);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  font-size: 0.88rem;
}

.backup-action-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(73, 115, 168, 0.12);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  font-size: 0.98rem;
}

.backup-status-icon,
.backup-recommended-icon,
.backup-module-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(73, 115, 168, 0.12);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  font-size: 1rem;
}

.backup-button-icon,
.backup-action-icon,
.backup-status-icon,
.backup-recommended-icon,
.backup-module-icon {
  font-family: "Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols", sans-serif;
}

.backup-icon-download::before {
  content: "\2193";
}

.backup-icon-upload::before {
  content: "\2191";
}

.backup-icon-restore::before,
.backup-icon-sync::before {
  content: "\21BB";
}

.backup-icon-check::before {
  content: "\2713";
}

.backup-icon-clock::before,
.backup-icon-history::before {
  content: "\25F7";
}

.backup-icon-export::before {
  content: "\21C4";
}

.backup-icon-table::before {
  content: "\25A6";
}

.backup-icon-file::before {
  content: "\25A4";
}

.backup-icon-book::before {
  content: "\25A5";
}

.backup-icon-money::before {
  content: "$";
}

.backup-icon-wrench::before {
  content: "\2692";
}

.backup-icon-bank::before {
  content: "\25F0";
}

.backup-icon-alert::before {
  content: "\26A0";
}

.backup-icon-store::before {
  content: "\2302";
}

.backup-icon-chart::before {
  content: "\25F0";
}

.backup-icon-users::before {
  content: "\25C9";
}

.backup-icon-settings::before {
  content: "\2699";
}

.backup-icon-mail::before {
  content: "\2709";
}

.backup-icon-trash::before {
  content: "\232B";
}

.backup-icon-idea::before {
  content: "\2726";
}

.backup-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.backup-status-item {
  display: grid;
  gap: 0.18rem;
  padding: 0.78rem 0.86rem;
  border: 1px solid rgba(73, 115, 168, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
}

.backup-status-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.backup-status-item span {
  color: #60728a;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.backup-status-item strong {
  color: #173b60;
  font-size: 0.96rem;
}

.backup-status-item strong.is-good {
  color: #1f6845;
}

.backup-status-item strong.is-warn {
  color: #8a4e13;
}

.backup-status-item small {
  color: #586c86;
  font-size: 0.76rem;
  line-height: 1.4;
}

.backup-top-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.backup-top-actions > button {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.7rem;
  padding: 0.85rem 1rem;
  text-align: left;
  border-radius: 16px;
  border: 1px solid rgba(96, 129, 168, 0.14);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 22px rgba(12, 34, 58, 0.05);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.backup-top-actions > button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(12, 34, 58, 0.08);
}

#export-system-backup {
  border-color: rgba(74, 123, 183, 0.16);
  background: linear-gradient(180deg, rgba(246, 250, 255, 0.98), rgba(239, 246, 255, 0.98));
}

#restore-system-backup-btn {
  border-color: rgba(207, 144, 66, 0.22);
  background: linear-gradient(180deg, rgba(255, 249, 238, 0.98), rgba(255, 244, 226, 0.98));
}

#import-backup-file-btn {
  border-color: rgba(119, 135, 157, 0.16);
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(245, 249, 253, 0.98));
}

.backup-top-action-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.backup-top-action-copy strong {
  color: #173b60;
  font-size: 0.92rem;
}

.backup-top-action-copy small {
  color: #5d7089;
  font-size: 0.77rem;
  line-height: 1.4;
}

.backup-guidance {
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(98, 134, 175, 0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(243, 248, 255, 0.98));
}

.backup-guidance strong,
.backup-guidance-more strong {
  display: block;
  margin-bottom: 0.2rem;
}

.backup-guidance-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  list-style: none;
  cursor: pointer;
  padding: 0;
}

.backup-guidance-summary::-webkit-details-marker {
  display: none;
}

.backup-guidance-title {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.6rem;
}

.backup-guidance-summary small {
  display: block;
  margin-top: 0.12rem;
  color: #586c86;
  font-size: 0.78rem;
}

.backup-guidance-body {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.65rem;
}

.backup-recommended-list {
  margin: 0;
  padding-left: 1.1rem;
  color: #445976;
  display: grid;
  gap: 0.2rem;
}

.backup-recommended-list li {
  line-height: 1.42;
}

.backup-guidance-more {
  border-top: 1px solid rgba(97, 133, 177, 0.12);
  padding-top: 0.65rem;
}

.backup-guidance-more summary {
  cursor: pointer;
  color: #315274;
  font-size: 0.82rem;
  font-weight: 700;
}

.backup-guidance-more > div {
  padding-top: 0.65rem;
}

.backup-how-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.backup-how-card {
  border: 1px solid rgba(97, 133, 177, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.86);
  padding: 0.85rem 0.92rem;
}

.backup-how-card h5 {
  margin: 0 0 0.24rem;
  color: #193f66;
  font-size: 0.88rem;
}

.backup-how-card p {
  margin: 0;
  color: #566a84;
  font-size: 0.8rem;
  line-height: 1.48;
}

.backup-component-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.9rem;
}

.backup-component-card {
  display: grid;
  gap: 0.72rem;
  padding: 0.9rem 0.95rem;
  border: 1px solid #c9d8eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(12, 34, 58, 0.06);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.backup-component-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(12, 34, 58, 0.09);
}

.backup-component-card.is-primary {
  border-color: rgba(64, 112, 168, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(245, 250, 255, 0.98));
}

.backup-component-card.is-operational {
  border-color: rgba(124, 138, 156, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 254, 0.98));
}

.backup-component-card.is-system {
  background: linear-gradient(180deg, rgba(252, 253, 255, 0.98), rgba(247, 250, 253, 0.98));
  border-color: rgba(143, 156, 176, 0.14);
}

.backup-component-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.backup-component-title-group {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  min-width: 0;
}

.backup-component-title-copy {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.backup-component-head-side {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.backup-component-card h4 {
  margin: 0;
}

.backup-component-title-copy p {
  margin: 0;
  color: #51627a;
  font-size: 0.82rem;
  line-height: 1.42;
}

.backup-component-category-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0.12rem 0.52rem;
  border-radius: 999px;
  border: 1px solid rgba(96, 129, 168, 0.12);
  background: rgba(244, 248, 253, 0.96);
  color: #3d5777;
  font-size: 0.68rem;
  font-weight: 800;
  white-space: nowrap;
}

.backup-component-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0.2rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(96, 129, 168, 0.12);
  background: rgba(255, 255, 255, 0.82);
  color: #50657f;
  font-size: 0.72rem;
  font-weight: 800;
}

.backup-component-meta {
  display: grid;
  gap: 0.18rem;
  padding: 0.68rem 0.74rem;
  border: 1px solid rgba(96, 129, 168, 0.12);
  border-radius: 14px;
  background: rgba(246, 250, 255, 0.82);
}

.backup-component-meta span {
  color: #576a84;
  font-size: 0.77rem;
  line-height: 1.4;
}

.backup-component-meta strong {
  color: #173b60;
}

.backup-component-meta-note {
  margin-top: 0.14rem;
}

.backup-component-actions {
  display: grid;
  gap: 0.62rem;
}

.backup-component-action-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
}

.backup-component-action-main > button,
.backup-export-menu > summary,
.backup-export-menu-list button,
.backup-component-action-restore button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.backup-component-action-main > button,
.backup-component-action-restore > button,
.backup-export-menu > summary {
  min-height: 42px;
}

.backup-component-action-restore {
  padding-top: 0.62rem;
  border-top: 1px solid rgba(96, 129, 168, 0.12);
}

.backup-component-action-restore button {
  width: 100%;
}

.backup-export-menu {
  position: relative;
}

.backup-export-menu > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  cursor: pointer;
  min-width: 108px;
}

.backup-export-menu > summary::-webkit-details-marker {
  display: none;
}

.backup-export-menu[open] > summary {
  border-color: #88a9cc;
}

.backup-component-card.is-primary .backup-module-icon,
.backup-component-card.is-primary .backup-component-category-badge,
.backup-status-item-check .backup-status-icon,
#export-system-backup .backup-action-icon,
#backup-create-full-now .backup-button-icon {
  background: rgba(232, 242, 255, 0.98);
  border-color: rgba(84, 129, 188, 0.16);
  color: #25517d;
}

.backup-component-card.is-operational .backup-module-icon,
.backup-component-card.is-operational .backup-component-category-badge,
.backup-status-item-recency .backup-status-icon,
#import-backup-file-btn .backup-action-icon {
  background: rgba(243, 247, 252, 0.98);
  border-color: rgba(112, 132, 156, 0.14);
  color: #425a75;
}

.backup-component-card.is-system .backup-module-icon,
.backup-component-card.is-system .backup-component-category-badge,
.backup-status-item-auto .backup-status-icon {
  background: rgba(247, 249, 252, 0.98);
  border-color: rgba(132, 145, 164, 0.14);
  color: #52657f;
}

#restore-system-backup-btn .backup-action-icon,
.backup-component-action-restore .backup-button-icon {
  background: rgba(255, 245, 226, 0.98);
  border-color: rgba(214, 162, 78, 0.2);
  color: #9a6013;
}

.backup-export-menu-list {
  position: absolute;
  top: calc(100% + 0.38rem);
  right: 0;
  z-index: 4;
  display: grid;
  gap: 0.32rem;
  min-width: 130px;
  padding: 0.42rem;
  border: 1px solid #cfdaea;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(12, 34, 58, 0.12);
}

.backup-export-menu-list button {
  width: 100%;
}

.backup-restore-confirm-modal-card {
  width: min(680px, 94vw);
}

.backup-restore-confirm-body {
  display: grid;
  gap: 0.75rem;
}

.backup-restore-confirm-summary {
  padding: 0.85rem 0.95rem;
}

.backup-restore-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}

.backup-restore-summary-item {
  display: grid;
  gap: 0.16rem;
}

.backup-restore-summary-item span {
  color: #5d708a;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.backup-restore-summary-item strong {
  color: #173b60;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.backup-restore-summary-item small {
  color: #60728a;
  font-size: 0.75rem;
}

.backup-restore-warning {
  padding: 0.82rem 0.9rem;
  border: 1px solid #ebc989;
  border-radius: 14px;
  background: #fff7e8;
  color: #7a5110;
  font-size: 0.84rem;
  line-height: 1.45;
}

.recycle-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 0.7rem;
  align-items: end;
}

.recycle-controls .actions {
  margin: 0;
  justify-content: flex-end;
}

.subtle-note {
  margin: 0.4rem 0 0.6rem;
  color: #51627a;
  font-size: 0.86rem;
}

.recycle-record-label {
  margin: 0;
}

.recycle-record-meta {
  margin: 0.15rem 0 0;
  color: #51627a;
  font-size: 0.78rem;
}

.system-ops-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
  margin-bottom: 0.7rem;
}

.ops-indicator {
  border: 1px solid #cfe0ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.65rem;
}

.ops-indicator strong {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.35rem;
}

.ops-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 0.35rem;
  vertical-align: -1px;
}

.ops-dot.ok {
  background: #1f9d4f;
}

.ops-dot.warn {
  background: #d28a1f;
}

.ops-dot.bad {
  background: #be3a3a;
}

.system-architecture {
  border: 1px solid #cfe0ef;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
}

.system-architecture-head {
  margin-bottom: 0.6rem;
}

.system-architecture-head h4 {
  margin: 0 0 0.22rem;
  font-family: "Sora", sans-serif;
  font-size: 1rem;
  color: #173f60;
}

.system-architecture-head p {
  margin: 0;
  color: #4f6683;
  font-size: 0.85rem;
}

.system-architecture-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0.55rem;
}

.system-architecture-item {
  border: 1px solid #d5e2f0;
  border-radius: 10px;
  background: #ffffff;
  padding: 0.56rem 0.62rem;
  display: grid;
  gap: 0.16rem;
}

.system-architecture-item span {
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #5a6f8b;
}

.system-architecture-item strong {
  font-size: 0.9rem;
  color: #1d3856;
  line-height: 1.3;
}

.system-architecture-item small {
  font-size: 0.78rem;
  color: #58708d;
}
#settings-data-panel {
  border-color: #e4c8c8;
  background: linear-gradient(180deg, #fff9f9, #fff1f1);
}

.dropdown-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.compact-wrap {
  margin-top: 0.5rem;
}

.dropdown-value {
  width: 100%;
  border: 1px solid #cfd9e8;
  border-radius: 8px;
  padding: 0.45rem 0.5rem;
  font: inherit;
}

#settings-vendors-panel .table-wrap,
#user-admin-panel .table-wrap,
#settings-dropdowns-panel .table-wrap {
  margin-top: 0.4rem;
}

#vendors-table {
  min-width: 0;
  table-layout: auto;
}

#allowed-users-table {
  min-width: 860px;
  table-layout: auto;
}

#document-categories-table,
#maintenance-types-table {
  min-width: 420px;
  table-layout: auto;
}

#entries-table {
  min-width: 1120px;
  table-layout: auto;
}

#entries-table th,
#entries-table td {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

#entries-table th:nth-child(11),
#entries-table td:nth-child(11) {
  white-space: normal;
  min-width: 220px;
}

#page-settings th,
#page-settings td {
  overflow-wrap: break-word;
  word-break: normal;
}
.user-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.button-small {
  padding: 0.4rem 0.58rem;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 700;
}

.user-edit-input {
  width: 100%;
  border: 1px solid #cfd9e8;
  background: #ffffff;
  border-radius: 8px;
  padding: 0.4rem 0.5rem;
  font: inherit;
  font-size: 0.84rem;
}

.user-view-value {
  display: inline-block;
  min-height: 1.6rem;
  padding-top: 0.22rem;
}
@media (max-width: 1200px) {
  .metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #engine-fund-metrics {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media (max-width: 1280px) {
  #entries-table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
  }

  #entries-table th,
  #entries-table td {
    padding: 0.45rem;
    font-size: 0.82rem;
  }

  #entries-table th {
    white-space: normal;
  }

  #entries-table td {
    white-space: nowrap;
  }

  #entries-table th:nth-child(5),
  #entries-table td:nth-child(5),
  #entries-table th:nth-child(6),
  #entries-table td:nth-child(6),
  #entries-table th:nth-child(11),
  #entries-table td:nth-child(11),
  #entries-table th:nth-child(12),
  #entries-table td:nth-child(12) {
    display: none;
  }

  #entries-table .logbook-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
  }

  #entries-table .logbook-actions button {
    padding: 0.32rem 0.45rem;
    font-size: 0.74rem;
  }

  .squawk-filter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #squawks-table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
  }

  #squawks-table th,
  #squawks-table td {
    padding: 0.45rem;
    font-size: 0.8rem;
  }

  #squawks-table th {
    white-space: normal;
  }

  #squawks-table td {
    white-space: nowrap;
  }

  #squawks-table th:nth-child(8),
  #squawks-table td:nth-child(8),
  #squawks-table th:nth-child(9),
  #squawks-table td:nth-child(9),
  #squawks-table th:nth-child(10),
  #squawks-table td:nth-child(10) {
    display: none;
  }

  #squawks-table th:nth-child(4),
  #squawks-table td:nth-child(4) {
    min-width: 220px;
    white-space: normal;
  }
}
@media (max-width: 1024px) {
  #settings-admin {
    grid-template-columns: 1fr;
  }

  .settings-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .backup-status-copy,
  .backup-top-actions,
  .backup-status-grid,
  .backup-how-grid {
    grid-template-columns: 1fr;
  }

  .backup-status-copy {
    display: grid;
  }

  .backup-guidance-summary {
    display: grid;
  }

  .recycle-controls {
    grid-template-columns: 1fr;
  }

  .recycle-controls .actions {
    justify-content: flex-start;
  }

  .dropdown-grid {
    grid-template-columns: 1fr;
  }

  #page-settings .settings-form {
    grid-template-columns: 1fr;
  }

  #page-settings .span-2 {
    grid-column: span 1;
  }

  .layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .sidebar {
    padding: 0.7rem;
    height: fit-content;
    background: linear-gradient(180deg, #f8fbff, #f0f6ff);
    border-color: #c9d9ec;
  }

  .page-switcher {
    display: none;
  }

  table {
    font-size: 0.9rem;
  }

  .card-grid,
  .filter-grid,
  .settlement-grid,
  .danger-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .expense-filter-grid,
  .logbook-filter-grid,
  .audit-filter-grid,
  .reports-filter-grid,
  .squawk-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reports-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-grid {
    grid-template-columns: 1fr;
  }

  .report-donut-wrap {
    grid-template-columns: 1fr;
  }

  .reports-section-head {
    display: block;
  }

  .reports-head-actions {
    margin-top: 0.45rem;
    justify-content: flex-end;
  }

  .rows-field,
  .status-field {
    width: auto;
  }
  #entries-table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
  }

  #entries-table th,
  #entries-table td {
    padding: 0.45rem;
    font-size: 0.8rem;
  }

  #entries-table th {
    white-space: normal;
  }

  #entries-table td {
    white-space: nowrap;
  }

  #entries-table th:nth-child(5),
  #entries-table td:nth-child(5),
  #entries-table th:nth-child(6),
  #entries-table td:nth-child(6),
  #entries-table th:nth-child(11),
  #entries-table td:nth-child(11),
  #entries-table th:nth-child(12),
  #entries-table td:nth-child(12) {
    display: none;
  }
}

@media (max-width: 1024px) {
  #squawks-table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
  }

  #squawks-table th,
  #squawks-table td {
    padding: 0.45rem;
    font-size: 0.8rem;
  }

  #squawks-table th {
    white-space: normal;
  }

  #squawks-table td {
    white-space: nowrap;
  }

  #squawks-table th:nth-child(8),
  #squawks-table td:nth-child(8),
  #squawks-table th:nth-child(9),
  #squawks-table td:nth-child(9),
  #squawks-table th:nth-child(10),
  #squawks-table td:nth-child(10) {
    display: none;
  }

  #squawks-table th:nth-child(4),
  #squawks-table td:nth-child(4) {
    min-width: 240px;
    white-space: normal;
  }
}

@media (max-width: 720px) {
  .sidebar {
    display: none;
  }
  .aircraft-status-pill {
    display: none;
  }

  .aircraft-status-banner {
    display: block;
  }
  .app-shell {
    padding: 0.6rem;
  }

  .topbar {
    padding: 0.75rem;
    gap: 0.55rem;
  }

  .topbar-actions {
    width: 100%;
    justify-content: flex-end;
  }

  .account-chip {
    max-width: 220px;
  }

  #account-menu-btn {
    order: 1;
  }

  #top-settings-btn {
    order: 2;
  }

  #page-switcher-wrap {
    order: 3;
  }

  .brand h1 {
    font-size: 1rem;
  }

  .brand p {
    font-size: 0.82rem;
  }

  .content {
    padding: 0.75rem;
  }

  #page-logbook .page-actions .primary-action {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  #page-booking .booking-panel {
    padding: 0.72rem;
  }

  #page-booking .booking-mobile-filter-toggle-wrap {
    display: block;
  }

  #page-booking .booking-filter-panel.mobile-collapsed .booking-control-surface {
    display: grid;
  }

  #page-booking .booking-filter-panel.mobile-collapsed .booking-filter-column {
    display: none;
  }

  #page-booking .booking-control-surface {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-cta-column {
    order: -1;
  }

  #page-booking .booking-primary-cta {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  #page-booking .booking-quick-controls,
  #page-booking .booking-range-controls {
    width: 100%;
  }

  #page-booking .booking-cta-card {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-primary-cta {
    width: 100%;
    min-width: 0;
  }

  #page-booking .booking-status-head,
  #page-booking .booking-header-row,
  #page-booking .booking-header-actions,
  #page-booking .booking-actions,
  #page-booking .booking-state-row {
    justify-content: flex-start;
  }

  #page-booking .booking-meta {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-range-controls {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
  }

  #page-booking .booking-range-controls select,
  #page-booking .booking-range-controls input {
    min-width: 0;
    padding-inline: 0.48rem;
    font-size: 0.86rem;
  }

  #page-booking .booking-range-field label {
    margin-bottom: 0.22rem;
    font-size: 0.72rem;
  }

  #page-booking .booking-week {
    grid-template-columns: 1fr;
  }

  #page-booking .booking-list {
    grid-template-columns: 1fr;
  }

  .page-switcher {
    display: block;
    flex: 1 1 100%;
  }

  .page-switcher select {
    width: 100%;
  }

  .settings-mobile-nav-wrap {
    display: grid;
  }

  .settings-nav {
    display: none;
  }

  #page-settings > p {
    margin-bottom: 0.68rem;
  }

  #settings-admin {
    gap: 0.72rem;
  }

  #page-settings .settings-section {
    padding: 0.78rem;
  }

  #page-settings .settings-form {
    gap: 0.68rem;
  }

  #page-settings .settings-mobile-nav-wrap {
    padding: 0.78rem 0.82rem;
  }

  #page-settings .settings-mobile-nav-wrap label {
    font-size: 0.78rem;
  }

  #page-settings .settings-nav-select {
    font-size: 0.98rem;
    font-weight: 800;
    min-height: 52px;
    border-radius: 16px;
  }

  #page-settings .button-secondary,
  #page-settings .button-danger,
  #page-settings .button-small,
  #page-settings .actions button {
    min-height: 44px;
    border-radius: 12px;
  }

  #page-settings .settings-setup-lock {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
    padding: 0.72rem;
  }

  #page-settings .settings-setup-lock .button-small {
    min-height: 44px;
    border-radius: 12px;
  }

  #page-settings .settings-mobile-card-list {
    display: grid;
  }

  #user-admin-panel .table-wrap,
  #settings-dropdowns-panel .table-wrap,
  #settings-vendors-panel .table-wrap,
  #settings-email-panel .table-wrap,
  #settings-audit-panel .table-wrap {
    display: none;
  }

  #page-settings .settings-mobile-card-actions {
    gap: 0.45rem;
  }

  #page-settings .settings-mobile-card-actions .button-small,
  #page-settings .settings-mobile-card-actions .button-secondary,
  #page-settings .settings-mobile-card-actions .button-danger {
    min-height: 44px;
    border-radius: 12px;
  }

  #user-admin-panel .settings-user-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.82rem;
  }

  #user-admin-panel .settings-user-toolbar > button,
  #user-admin-panel .settings-user-invite-actions button {
    width: 100%;
    min-width: 0;
  }

  #user-admin-panel .settings-user-invite-panel {
    padding: 0.82rem;
  }

  #user-admin-panel .settings-user-invite-head {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }

  #user-admin-panel .settings-user-invite-head .button-small {
    width: 100%;
  }

  #user-admin-panel .settings-user-invite-actions {
    grid-template-columns: 1fr;
  }

  #user-admin-panel .settings-matrix-summary {
    padding: 0.8rem 0.82rem;
  }

  #user-admin-panel .settings-matrix-body {
    padding: 0 0.82rem 0.82rem;
  }

  #page-settings .email-dispatch-log-head {
    gap: 0.55rem;
  }

  #page-settings .email-dispatch-log-head > div {
    min-width: 0;
  }

  #email-dispatch-detail-modal .modal-card,
  #audit-history-detail-modal .modal-card {
    padding: 0.78rem;
  }

  #email-dispatch-detail-modal .modal-head .modal-close,
  #audit-history-detail-modal .modal-head .modal-close {
    display: none;
  }

  #email-dispatch-detail-modal .actions,
  #audit-history-detail-modal .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  #email-dispatch-detail-modal .actions button,
  #audit-history-detail-modal .actions button,
  #email-dispatch-detail-modal .actions .button-secondary,
  #audit-history-detail-modal .actions .button-secondary {
    min-height: 44px;
    border-radius: 11px;
  }

  .backup-component-grid,
  .backup-top-actions,
  .backup-status-grid,
  .backup-how-grid,
  .recycle-controls,
  .audit-filter-grid,
  .squawk-filter-grid {
    grid-template-columns: 1fr;
  }

  .backup-component-action-main,
  .backup-restore-summary-grid {
    grid-template-columns: 1fr;
  }

  .backup-component-head,
  .backup-component-title-group {
    align-items: stretch;
  }

  .backup-component-head {
    flex-direction: column;
  }

  .backup-component-head-side {
    justify-content: flex-start;
  }

  .backup-top-actions > button {
    align-items: flex-start;
  }

  .backup-export-menu > summary,
  .backup-component-action-main > button {
    width: 100%;
  }

  table {
    font-size: 0.84rem;
  }

  .card-grid,
  .danger-grid,
  .metric-strip,
  .filter-grid,
  .settlement-grid,
  .system-ops-grid,
  .system-architecture-grid {
    grid-template-columns: 1fr;
  }

  .reports-filter-grid,
  .squawk-filter-grid {
    grid-template-columns: 1fr;
  }

  #page-reports .reports-mobile-filter-toggle-wrap {
    display: block;
  }

  #page-reports .reports-filters-block.mobile-collapsed .section-head,
  #page-reports .reports-filters-block.mobile-collapsed .reports-filter-grid,
  #page-reports .reports-filters-block.mobile-collapsed .reports-filter-actions {
    display: none;
  }

  .reports-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reports-filter-actions {
    justify-content: stretch;
  }

  .report-widget {
    min-height: 240px;
    padding: 0.52rem;
  }

  .report-chart {
    min-height: 180px;
  }

  .report-bar-track {
    height: 118px;
  }

  .report-donut-wrap {
    gap: 0.45rem;
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .report-donut {
    width: 170px;
    height: 170px;
    margin-inline: auto;
  }

  .report-donut::after {
    width: 98px;
    height: 98px;
  }

  .report-donut-legend {
    gap: 0.32rem;
  }

  .report-donut-legend li {
    padding: 0.42rem 0.48rem;
  }

  .reports-filters-block .section-head,
  .reports-detail-section .section-head,
  .reports-filter-actions {
    gap: 0.35rem;
  }

  .reports-filters-block .field label {
    font-size: 0.78rem;
  }

  #engine-fund-metrics {
    grid-template-columns: 1fr;
  }

  #page-engine-fund.active {
    display: flex;
    flex-direction: column;
  }

  #page-engine-fund .page-actions {
    order: 1;
  }

  #engine-fund-partner-section {
    order: 2;
  }

  #engine-fund-summary-section {
    order: 3;
  }

  #page-engine-fund .history-list-section {
    order: 4;
  }

  #page-engine-fund .page-actions .primary-action {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  #engine-fund-partner-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.48rem;
  }

  .engine-fund-partner-grid {
    grid-template-columns: 1fr;
    gap: 0.36rem;
  }

  .engine-fund-partner-card {
    min-width: 0;
    padding: 0.72rem;
  }

  .engine-fund-partner-head {
    margin: -0.72rem -0.72rem 0;
  }

  .engine-fund-partner-head h4 {
    font-size: 0.86rem;
  }

  .engine-fund-partner-data {
    min-width: 0;
    padding: 0.48rem 0.5rem;
  }

  .engine-fund-partner-data strong {
    font-size: 0.68rem;
  }

  .engine-fund-partner-data span {
    font-size: 0.84rem;
  }

  #page-engine-fund .iphone-entry-note {
    display: none;
  }

  #page-maintenance .page-actions .primary-action,
  #page-documents .page-actions .primary-action {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  .engine-fund-partner-footer {
    min-height: 42px;
  }

  .engine-fund-partner-note {
    font-size: 0.72rem;
  }

  .inline-form,
  .settings-form,
  .expense-form {
    grid-template-columns: 1fr;
  }

  .expense-form-grid {
    grid-template-columns: 1fr;
  }

  .squawk-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.46rem 0.52rem;
  }

  .squawk-detail-description,
  .squawk-detail-resolution {
    grid-column: span 2;
  }

  .flight-form-section,
  .expense-form-section {
    padding: 0.62rem 0.64rem;
  }

  #page-expenses .page-actions .primary-action {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  #page-squawks .page-actions .primary-action {
    min-height: 52px;
    border-radius: 14px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 22px rgba(6, 24, 43, 0.18);
  }

  #page-expenses .expense-mobile-balance-section {
    display: block;
    margin-bottom: 0.72rem;
  }

  #page-expenses .expense-mobile-balance-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #page-expenses .history-list-section {
    display: none;
  }

  #page-expenses .expense-filters {
    margin-bottom: 0.55rem;
  }

  #page-expenses .metric-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #page-squawks .history-list-section {
    display: none;
  }

  #page-squawks .iphone-entry-note {
    display: none;
  }

  #page-squawks .squawk-mobile-list {
    display: grid;
    grid-template-columns: 1fr;
  }

  #page-squawks #squawk-mobile-pagination {
    display: block;
  }

  #page-squawks #squawk-pagination {
    display: none !important;
  }

  #page-squawks #squawk-mobile-pagination .table-pagination-inner {
    display: block;
    padding-top: 0.1rem;
  }

  #page-squawks #squawk-mobile-pagination .table-pagination-controls {
    flex-wrap: nowrap;
    justify-content: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.08rem;
  }

  #page-squawks #squawk-mobile-pagination .table-pagination-controls::-webkit-scrollbar {
    display: none;
  }

  #page-squawks #squawk-mobile-pagination .table-pagination-summary {
    display: none;
  }

  #squawk-detail-modal .squawk-detail-history-toggle,
  #squawk-detail-modal #squawk-history-wrap {
    display: none;
  }

  .squawk-mobile-actions {
    grid-template-columns: 1fr;
  }

  #expense-settlement {
    display: none;
  }

  #expense-modal .modal-card {
    padding: 0.78rem;
  }

  #expense-modal .modal-head .modal-close {
    display: none;
  }

  #document-modal .modal-card,
  #maintenance-modal .modal-card {
    padding: 0.78rem;
  }

  #document-modal .modal-head .modal-close,
  #maintenance-modal .modal-head .modal-close {
    display: none;
  }

  #document-form,
  #maintenance-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
  }

  #document-form .span-2,
  #maintenance-form .span-2,
  #document-form > .actions,
  #maintenance-form > .actions {
    grid-column: span 2;
  }

  #document-form > .field,
  #maintenance-form > .field,
  #document-form input,
  #document-form select,
  #document-form textarea,
  #maintenance-form input,
  #maintenance-form select,
  #maintenance-form textarea {
    min-width: 0;
  }

  #document-form .field label,
  #maintenance-form .field label {
    font-size: 0.82rem;
  }

  #document-form textarea,
  #maintenance-form textarea {
    min-height: 92px;
  }

  #document-form .input-help,
  #maintenance-form .input-help {
    margin-top: 0.22rem;
    font-size: 0.72rem;
  }

  #document-form .actions,
  #maintenance-form .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.12rem;
    padding-top: 0.18rem;
  }

  #document-form .actions button,
  #maintenance-form .actions button {
    min-height: 44px;
    border-radius: 11px;
  }

  #squawk-modal .modal-card,
  #squawk-detail-modal .modal-card {
    padding: 0.78rem;
  }

  #squawk-modal .modal-head .modal-close,
  #squawk-detail-modal .modal-head .modal-close {
    display: none;
  }

  #squawk-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
  }

  #squawk-form .span-2,
  #squawk-form > .field:first-child,
  #squawk-form > .actions {
    grid-column: span 2;
  }

  #squawk-form > .field,
  #squawk-form input,
  #squawk-form select,
  #squawk-form textarea {
    min-width: 0;
  }

  #squawk-form .field label {
    font-size: 0.82rem;
  }

  #squawk-form textarea {
    min-height: 92px;
  }

  #squawk-form .input-help {
    margin-top: 0.22rem;
    font-size: 0.72rem;
  }

  #squawk-form .actions,
  #squawk-detail-modal .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.18rem;
  }

  #squawk-form .actions button,
  #squawk-detail-modal .actions button {
    min-height: 44px;
    border-radius: 11px;
  }

  #squawk-detail-modal .actions [data-modal-close="squawk-detail-modal"] {
    grid-column: 1 / -1;
  }

  #expense-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
  }

  #expense-form .span-2,
  #expense-form .expense-form-section,
  #expense-form > .field,
  #expense-form > .actions {
    grid-column: span 2;
  }

  #expense-form .expense-form-section {
    padding: 0.58rem 0.6rem;
    border-radius: 11px;
  }

  #expense-form .expense-form-section h4 {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
  }

  #expense-form .expense-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.52rem;
  }

  #expense-form .expense-form-grid > .field,
  #expense-form .field input,
  #expense-form .field select,
  #expense-form .field textarea {
    min-width: 0;
  }

  #expense-form .field label {
    font-size: 0.82rem;
  }

  #expense-form .field textarea {
    min-height: 92px;
  }

  #expense-form .input-help {
    margin-top: 0.22rem;
    font-size: 0.72rem;
  }

  #expense-form .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.1rem;
    padding-top: 0.18rem;
  }

  #expense-form .actions button {
    min-height: 44px;
    border-radius: 11px;
  }

  #logbook-modal .modal-card {
    padding: 0.78rem;
  }

  #logbook-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.72rem;
  }

  #logbook-form .span-2,
  #logbook-form .flight-form-section,
  #logbook-form > .field,
  #logbook-form > .actions {
    grid-column: span 2;
  }

  #logbook-form .flight-form-section {
    padding: 0.58rem 0.6rem;
    border-radius: 11px;
  }

  #logbook-form .flight-form-section h4 {
    margin-bottom: 0.5rem;
    font-size: 0.82rem;
  }

  #logbook-form .flight-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.52rem;
  }

  #logbook-form .flight-form-grid > .field,
  #logbook-form .flight-form-grid-times > .field,
  #logbook-form .date-input-wrap,
  #logbook-form .field input,
  #logbook-form .field select {
    min-width: 0;
  }

  #logbook-form .flight-form-grid-times {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.52rem;
  }

  #logbook-form .flight-form-grid-times > .field:last-child {
    grid-column: span 2;
  }

  #logbook-form .field label {
    font-size: 0.82rem;
  }

  #logbook-form .field textarea {
    min-height: 92px;
  }

  #logbook-form .hint {
    margin-top: 0.18rem;
    font-size: 0.72rem;
  }

  #logbook-form .date-input-wrap {
    gap: 0.35rem;
  }

  #logbook-form .date-picker-trigger {
    min-width: 2.15rem;
    padding: 0.62rem 0.56rem;
  }

  #logbook-form .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.1rem;
    padding-top: 0.18rem;
  }

  #logbook-modal .modal-head .modal-close {
    display: none;
  }

  #logbook-form .actions button {
    min-height: 44px;
    border-radius: 11px;
  }

  #settings-general-panel .settings-form.settings-general-form {
    gap: 0.85rem;
  }

  .settings-general-layout {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }

  .settings-general-rail {
    gap: 0.7rem;
  }

  .settings-general-card {
    padding: 0.92rem;
    gap: 0.78rem;
    border-radius: 18px;
  }

  .settings-general-card-head-rich {
    flex-direction: column;
    align-items: stretch;
    gap: 0.68rem;
  }

  .settings-general-card-heading {
    gap: 0.72rem;
  }

  .settings-general-icon-badge {
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  .settings-general-card .button-secondary,
  .settings-general-card .checkbox-inline-toggle {
    width: 100%;
  }

  .settings-general-card .button-secondary {
    min-height: 40px;
  }

  .settings-general-grid-2,
  .settings-general-grid-3 {
    grid-template-columns: 1fr;
  }

  .settings-general-field-span-2 {
    grid-column: auto;
  }

  .settings-general-toggle-row {
    flex-direction: column;
    align-items: stretch;
  }

  .settings-general-toggle-row .checkbox-inline-toggle {
    width: 100%;
  }

  .settings-general-actions {
    position: static;
    padding-top: 0.2rem;
    background: transparent;
  }

  .settings-general-actions button {
    width: 100%;
    min-height: 48px;
  }

  #entries-table {
    min-width: 980px;
  }

  #squawks-table {
    min-width: 1080px;
  }

  #reports-maintenance-table,
  #reports-detail-table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
  }

  #allowed-users-table {
    min-width: 760px;
  }

  #vendors-table {
    min-width: 0;
  }

  #allowed-users-table th,
  #allowed-users-table td,
  #vendors-table th,
  #vendors-table td {
    font-size: 0.78rem;
    padding: 0.45rem;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .user-row-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }

  .button-small {
    width: 100%;
  }

  .span-2 {
    grid-column: span 1;
  }

  .actions {
    justify-content: stretch;
  }

  .page-actions {
    justify-content: stretch;
  }

  .primary-action,
  .actions button,
  .inline-form button,
  .button-secondary,
  .button-danger,
  #export-data {
    width: 100%;
  }

  .iphone-entry-note {
    display: block;
  }

  .history-list-section {
    display: none;
  }

  #page-logbook .history-list-section {
    display: block;
  }

  #page-landing .landing-announcements-actions,
  #page-landing .landing-squawks-block .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    width: 100%;
  }

  #page-landing .landing-squawks-block .actions button:last-child {
    grid-column: 1 / -1;
  }

  #page-landing .landing-announcements-actions button,
  #page-landing .landing-squawks-block .actions .button-small,
  #page-landing .landing-squawks-block .actions .button-secondary {
    width: 100%;
    min-height: 44px;
    border-radius: 12px;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    padding: 0.58rem 0.72rem;
  }

  #page-logbook .logbook-mobile-filter-toggle-wrap {
    display: block;
  }

  #page-logbook .expense-filters.mobile-collapsed {
    display: none;
  }

  #page-logbook .table-wrap {
    display: none;
  }

  #page-logbook .rows-field {
    display: none;
  }

  #page-logbook .logbook-mobile-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #page-logbook .expense-filters {
    margin-bottom: 0.55rem;
  }

  #logbook-pagination .table-pagination-inner {
    display: block;
    padding-top: 0.1rem;
  }

  #logbook-pagination .table-pagination-controls {
    flex-wrap: nowrap;
    justify-content: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.08rem;
  }

  #logbook-pagination .table-pagination-controls::-webkit-scrollbar {
    display: none;
  }

  #logbook-pagination .table-pagination-summary {
    display: none;
  }

  .logbook-overview-section {
    display: none;
  }

  .modal-card {
    width: calc(100vw - 0.5rem);
    max-height: calc(100vh - 0.5rem);
    padding: 0.9rem;
    border-radius: 12px;
  }

  .modal .field label {
    font-size: 0.92rem;
    font-weight: 700;
  }

  .modal .field input,
  .modal .field textarea,
  .modal .field select {
    font-size: 16px;
    padding: 0.68rem 0.72rem;
  }

  #page-documents .history-list-section {
    display: block;
  }

  #page-documents .table-wrap {
    display: none;
  }

  #documents-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
  }

  #documents-metrics .metric {
    min-height: 0;
    padding: 0.48rem 0.5rem;
  }

  #documents-metrics .metric strong {
    font-size: 0.98rem;
  }

  #documents-metrics .metric small {
    font-size: 0.7rem;
  }

  .documents-mobile-list {
    display: grid;
  }

  .documents-category-tabs {
    gap: 0.32rem;
    margin-bottom: 0.42rem;
  }

  .documents-category-tab {
    padding: 0.42rem 0.6rem;
    font-size: 0.8rem;
  }

  .documents-mobile-actions .button-small,
  .documents-mobile-actions .delete-document,
  .documents-mobile-actions .button-secondary {
    width: auto;
    flex: 1 1 calc(50% - 0.2rem);
  }

  .logbook-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
  }

  .logbook-detail-item,
  .logbook-detail-notes {
    padding: 0.5rem 0.54rem;
    border-radius: 9px;
  }

  .logbook-detail-notes {
    margin-bottom: 0.36rem;
  }

  .logbook-detail-item span,
  .logbook-detail-notes span {
    font-size: 0.7rem;
    margin-bottom: 0.1rem;
  }

  .logbook-detail-item strong,
  .logbook-detail-notes p {
    font-size: 0.84rem;
  }

  .logbook-mobile-actions .button-small {
    width: 100%;
    min-width: 0;
  }

  #reports-maintenance-table th,
  #reports-maintenance-table td,
  #reports-detail-table th,
  #reports-detail-table td {
    font-size: 0.76rem;
    padding: 0.38rem;
    white-space: normal;
    overflow-wrap: break-word;
  }

  .modal .actions button {
    width: 100%;
    padding: 0.72rem 0.9rem;
    font-size: 0.94rem;
  }
  .account-modal-meta {
    grid-template-columns: 1fr;
  }

  .account-modal-signout {
    margin-top: 0.15rem;
    padding-top: 0.75rem;
  }

  #account-profile-insights {
    display: none;
  }
}

.orientation-hint {
  margin-bottom: 0.75rem;
  border: 1px solid #e6c88a;
  background: linear-gradient(180deg, #fff8e9, #fff2d8);
  color: #6b4300;
  border-radius: 12px;
  padding: 0.65rem 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
}
.alerts-list {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
}

.alerts-list li {
  margin: 0.3rem 0;
}

.app-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 2000;
  background: #10395e;
  color: #f5f9ff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  padding: 0.7rem 0.9rem;
  box-shadow: 0 14px 28px rgba(12, 34, 58, 0.28);
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  pointer-events: none;
}

.app-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.app-toast.error {
  background: #7b2020;
}
#email-variable-helper-modal .modal-card {
  max-width: 860px;
}
.email-helper-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.6rem;
}
.email-helper-panel {
  border: 1px solid #c8d8ee;
  border-radius: 10px;
  background: #f9fcff;
  padding: 0.62rem;
}
.email-helper-panel h4 {
  margin: 0 0 0.4rem;
  color: #204e7d;
}
.email-helper-list {
  margin: 0;
  padding-left: 1rem;
  display: grid;
  gap: 0.26rem;
}
.email-helper-list code {
  font-size: 0.83rem;
  background: rgba(13, 45, 88, 0.08);
  border-radius: 5px;
  padding: 0.08rem 0.28rem;
}
@media (max-width: 900px) {
  .email-helper-grid {
    grid-template-columns: 1fr;
  }
}


.account-role-maintenance {
  background: #eef7ef;
  color: #255a3b;
  border: 1px solid #cae7d2;
}

.user-notify-summary {
  display: grid;
  gap: 0.14rem;
  min-width: 0;
}

.user-notify-summary strong {
  color: var(--text);
  font-size: 0.82rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.user-notify-summary span {
  color: var(--muted);
  font-size: 0.73rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.settings-user-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0.2rem 0 0.95rem;
}

.settings-user-toolbar > button {
  min-height: 44px;
}

.settings-user-toolbar-primary {
  min-width: 156px;
}

.settings-user-toolbar-primary.is-active {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.settings-user-invite-panel {
  margin-bottom: 1rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(73, 115, 168, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.98), rgba(241, 247, 255, 0.98));
  box-shadow: 0 12px 24px rgba(12, 34, 58, 0.05);
}

.settings-user-invite-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.settings-user-invite-head > div {
  min-width: 0;
}

.settings-user-invite-head p {
  max-width: 62ch;
}

.settings-user-invite-form {
  margin-top: 0.2rem;
}

.settings-user-invite-actions {
  justify-content: flex-end;
}

.settings-user-invite-actions .button-secondary,
.settings-user-invite-actions button[type="submit"] {
  min-width: 154px;
}

.settings-user-list-head {
  margin-top: 0.15rem;
}

.settings-access-matrix-panel {
  margin-top: 1rem;
}

.settings-matrix-details {
  padding: 0;
  overflow: hidden;
}

.settings-matrix-summary {
  padding: 0.88rem 1rem;
}

.settings-matrix-body {
  padding-top: 0.85rem;
}

#role-access-matrix-table {
  min-width: 780px;
  table-layout: fixed;
}

#role-access-matrix-table th,
#role-access-matrix-table td {
  vertical-align: middle;
}

#role-access-matrix-table th:not(:first-child),
#role-access-matrix-table td:not(:first-child) {
  text-align: center;
}

.permission-row-label {
  display: grid;
  gap: 0.22rem;
}

.permission-row-label strong {
  color: var(--text);
  font-size: 0.9rem;
}

.permission-row-label span,
.permission-matrix-description {
  color: var(--muted);
  font-size: 0.77rem;
  line-height: 1.45;
}

.permission-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  min-width: 72px;
  padding: 0.24rem 0.65rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.permission-chip-admin {
  background: rgba(15, 76, 129, 0.12);
  border-color: rgba(15, 76, 129, 0.18);
  color: #0f4c81;
}

.permission-chip-manage {
  background: rgba(18, 106, 90, 0.12);
  border-color: rgba(18, 106, 90, 0.18);
  color: #126a5a;
}

.permission-chip-edit {
  background: rgba(45, 108, 177, 0.12);
  border-color: rgba(45, 108, 177, 0.18);
  color: #1c5d98;
}

.permission-chip-read {
  background: rgba(106, 123, 145, 0.12);
  border-color: rgba(106, 123, 145, 0.18);
  color: #41556d;
}

.permission-chip-none {
  background: rgba(148, 163, 184, 0.14);
  border-color: rgba(148, 163, 184, 0.22);
  color: #5b6878;
}

.permission-matrix-mobile-card .settings-mobile-card-head {
  align-items: flex-start;
}

.permission-matrix-mobile-card .settings-mobile-card-head h4 {
  font-size: 0.94rem;
}

.permission-matrix-mobile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.7rem;
}

.permission-matrix-mobile-grid .settings-mobile-kv strong {
  display: inline-flex;
  align-items: center;
}

#allowed-users-table {
  min-width: 980px;
}

#allowed-users-table th:nth-child(2),
#allowed-users-table td:nth-child(2) {
  min-width: 210px;
}

.allowed-user-secondary-notification-input {
  min-width: 0;
}

html[data-theme="f-117"] .account-role-maintenance {
  background: rgba(34, 68, 44, 0.86);
  color: #d7f0d1;
  border-color: rgba(126, 171, 120, 0.36);
}

html[data-theme="f-117"] .user-notify-summary strong {
  color: #f1f7eb;
}

html[data-theme="f-117"] .settings-user-invite-panel {
  border-color: #324238;
  background: linear-gradient(180deg, #11181d, #151f26);
  box-shadow:
    0 16px 28px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(127, 211, 140, 0.04);
}

html[data-theme="f-117"] .settings-user-toolbar-primary.is-active {
  box-shadow:
    inset 0 0 0 1px rgba(127, 211, 140, 0.22),
    0 0 16px rgba(127, 211, 140, 0.1);
}

html[data-theme="f-117"] .user-notify-summary span,
html[data-theme="f-117"] .permission-row-label span,
html[data-theme="f-117"] .permission-matrix-description {
  color: #95b397;
}

html[data-theme="f-117"] .permission-chip-admin {
  background: rgba(90, 132, 168, 0.18);
  border-color: rgba(118, 159, 194, 0.28);
  color: #d8e9f6;
}

html[data-theme="f-117"] .permission-chip-manage,
html[data-theme="f-117"] .permission-chip-edit {
  background: rgba(52, 86, 58, 0.7);
  border-color: rgba(110, 151, 111, 0.3);
  color: #ecf6e7;
}

html[data-theme="f-117"] .permission-chip-read {
  background: rgba(46, 58, 52, 0.72);
  border-color: rgba(94, 116, 104, 0.28);
  color: #d5e1d2;
}

html[data-theme="f-117"] .permission-chip-none {
  background: rgba(53, 41, 41, 0.7);
  border-color: rgba(118, 84, 84, 0.28);
  color: #d7c3c3;
}

html[data-theme="f-117"] #role-access-matrix-table th,
html[data-theme="f-117"] #role-access-matrix-table td {
  border-color: rgba(99, 126, 95, 0.18);
}

@media (max-width: 900px) {
  #role-access-matrix-table {
    min-width: 700px;
  }

  #allowed-users-table {
    min-width: 900px;
  }
}

@media (max-width: 640px) {
  .permission-matrix-mobile-grid {
    grid-template-columns: 1fr;
  }

  .permission-chip {
    min-width: 0;
    width: 100%;
  }

  .user-notify-summary strong,
  .user-notify-summary span {
    line-height: 1.35;
  }
}
