/* 2026-11 简洁版 UI：仅覆盖视觉样式，不改变页面结构和业务逻辑。 */
:root {
  --ink-black: #17212b;
  --ink-gray: #52606d;
  --ink-light: #81909d;
  --verdigris: #3d7b8f;
  --azurite: #2f6478;
  --malachite: #3f7a67;
  --mountain-green: #326554;
  --pale-celadon: #eef5f6;
  --mist-white: #ffffff;
  --imperial-yellow: #a66f2d;
  --cinnabar: #c4475d;
  --ochre: #9a6428;
  --indigo: #233f50;
  --clay: #7c8993;
  --rice-paper: #ffffff;
  --scroll-beige: #f4f6f8;
  --border-ink: #dde4e9;
  --shadow-soft: 0 1px 3px rgba(31, 51, 64, .07);
  --shadow-medium: 0 10px 30px rgba(31, 51, 64, .12);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
}

html { color-scheme: light; }
body {
  background: #f4f6f8;
  color: #17212b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;
}
button, input, textarea, select { font-family: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid rgba(47, 100, 120, .18);
  outline-offset: 2px;
}

/* 登录页 */
#login-overlay {
  background: #edf1f4;
  padding: 24px 16px 58px;
}
.login-card {
  max-width: 390px;
  padding: 34px 34px 28px;
  background: #fff;
  border: 1px solid #dfe6eb;
  border-radius: 18px;
  box-shadow: 0 14px 42px rgba(31, 51, 64, .11);
  animation: minimalCardIn .28s ease-out;
}
@keyframes minimalCardIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.login-card::before { display: none; }
.login-header { margin-bottom: 26px; }
.login-logo-image {
  width: 68px;
  height: 68px;
  padding: 0;
  margin-bottom: 14px;
  border-radius: 16px;
  background: transparent;
  box-shadow: 0 3px 10px rgba(35, 63, 80, .12);
}
.login-header h2 {
  margin-bottom: 7px;
  color: #233f50;
  font-size: 1.7rem;
  font-weight: 750;
  letter-spacing: .12em;
}
.login-header .login-subtitle { color: #657582; font-size: .8rem; letter-spacing: .04em; }
.login-header .login-product-name { margin-top: 4px; color: #a0aab2; font-size: .68rem; letter-spacing: .12em; }
.login-form input,
.register-code-row input {
  min-height: 46px;
  margin-bottom: 12px;
  padding: 11px 13px;
  border: 1px solid #d8e0e6;
  border-radius: 10px;
  background: #f8fafb;
  color: #17212b;
  box-shadow: none;
}
.login-form input:hover { border-color: #bdcbd4; }
.login-form input:focus {
  border-color: #3d7b8f;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(61, 123, 143, .11);
}
.login-btn {
  min-height: 46px;
  border-radius: 10px;
  background: #2f6478;
  box-shadow: none;
  font-weight: 700;
  letter-spacing: .12em;
}
.login-btn:hover { transform: none; background: #28586a; box-shadow: none; }
.login-toggle { color: #3d7185; }
.forgot-password { width: 100%; margin-top: 9px; border: 0; background: transparent; color: #71808c; font-size: .72rem; cursor: pointer; }
.forgot-password:hover { color: #2f6478; }
.code-btn { border-color: #bfd2da; background: #eef5f6; color: #2f6478; }
.login-filing-footer { color: #7c8993; }
.login-filing-footer a { color: #667783; }
.login-filing-footer a:hover { color: #233f50; }

/* 应用外壳 */
#app-content { background: #f4f6f8; }
.topbar {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid #dde4e9;
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.topbar__main { min-height: 60px; padding: 9px 22px; }
.topbar__logo {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
}
.topbar__logo img { width: 36px; height: 36px; }
.topbar__title { color: #233f50; font-size: 1rem; font-weight: 750; letter-spacing: .08em; }
.topbar__sub { color: #81909d; font-size: .7rem; letter-spacing: .02em; }
.topbar__product { color: #a0aab2; font-size: .6rem; letter-spacing: .1em; }
.topbar__author { color: #71808c; font-weight: 500; }
.cloud-status {
  padding: 4px 9px;
  border: 1px solid #d8e4df;
  border-radius: 999px;
  background: #f1f7f4;
  color: #3f7a67;
}
.cloud-status.online { background: #edf6f2; color: #326554; border-color: #cfe3da; }
.cloud-status.offline { background: #fff1f3; color: #b23b51; border-color: #f1cbd2; }

.layout {
  max-width: 1440px;
  gap: 18px;
  padding: 18px;
}
.side-panel { width: 324px; gap: 12px; }
.side-panel__inner { gap: 12px; }
.panel-card {
  padding: 16px;
  border: 1px solid #dde4e9;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(31, 51, 64, .04);
}
.panel-card__title {
  margin-bottom: 9px;
  color: #233f50;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.panel-card__desc { margin-bottom: 9px; color: #81909d; font-size: .75rem; line-height: 1.55; }

.brand {
  padding: 18px;
  border: 1px solid #d9e2e7;
  border-radius: 12px;
  background: #fff;
  color: #17212b;
  box-shadow: none;
}
.brand::after { display: none; }
.brand h1 {
  margin-bottom: 2px;
  color: #233f50;
  font-size: 1.22rem;
  font-weight: 750;
  letter-spacing: .1em;
}
.brand .brand-sub { color: #73828e; font-size: .73rem; opacity: 1; letter-spacing: .02em; }
.brand .date-badge {
  margin-top: 9px;
  padding: 3px 9px;
  border: 1px solid #d9e5e9;
  border-radius: 999px;
  background: #f2f7f8;
  color: #3d7185;
  font-size: .72rem;
  letter-spacing: .05em;
}

/* 控件与按钮 */
.day-tabs { gap: 7px; }
.day-tab {
  padding: 9px 0;
  border: 1px solid #dce4e9;
  border-radius: 9px;
  background: #f8fafb;
  color: #657582;
  font-size: .84rem;
  letter-spacing: .02em;
}
.day-tab:hover { border-color: #9db8c3; color: #2f6478; }
.day-tab.active {
  border-color: #9fc0cb;
  background: #eef5f6;
  color: #28586a;
  box-shadow: none;
}
.btn, .primary-btn, .ghost-btn, .settings-btn, .admin-publish-btn, .admin-save-role {
  border-radius: 9px;
  letter-spacing: 0;
  transition: background .16s, border-color .16s, color .16s;
}
.btn-primary, .primary-btn, .admin-publish-btn, .admin-save-role {
  border: 1px solid #2f6478;
  background: #2f6478;
  color: #fff;
  box-shadow: none;
}
.btn-primary:hover, .primary-btn:hover, .admin-publish-btn:hover, .admin-save-role:hover {
  transform: none;
  background: #28586a;
  box-shadow: none;
}
.btn-ghost, .ghost-btn {
  border: 1px solid #d8e0e6;
  background: #fff;
  color: #405564;
}
.btn-ghost:hover, .ghost-btn:hover { border-color: #9db5c0; color: #2f6478; background: #f8fafb; }
.link-btn { color: #3d7185; font-weight: 600; }
.link-btn:hover { color: #28586a; text-decoration: none; }

.image-upload-zone {
  min-height: 154px;
  border: 1px dashed #b8c7d0;
  border-radius: 11px;
  background: #f8fafb;
}
.image-upload-zone:hover, .image-upload-zone.dragging { border-color: #3d7b8f; background: #f1f7f8; }
.upload-icon { font-size: 1.8rem; opacity: .8; }
.upload-title { color: #405564; font-size: .9rem; }
.upload-hint { color: #8a98a4; font-size: .72rem; }
.recognized-text-head { color: #52606d; }
#flight-info-display,
.my-inline-panel input,
.my-inline-panel textarea,
.admin-announcement-form input,
.admin-announcement-form select,
.admin-announcement-form textarea,
.admin-library-editor textarea,
.admin-library-search-controls input,
.admin-library-search-controls select {
  border-color: #d8e0e6;
  border-radius: 9px;
  background: #f8fafb;
  color: #17212b;
  box-shadow: none;
}
#flight-info-display:focus,
.my-inline-panel input:focus,
.my-inline-panel textarea:focus,
.admin-announcement-form input:focus,
.admin-announcement-form select:focus,
.admin-announcement-form textarea:focus,
.admin-library-editor textarea:focus,
.admin-library-search-controls input:focus,
.admin-library-search-controls select:focus {
  outline: 0;
  border-color: #3d7b8f;
  box-shadow: 0 0 0 3px rgba(61, 123, 143, .1);
}
.broadcast-picker {
  border: 1px solid #dde5e9;
  border-radius: 10px;
  background: #f8fafb;
}
.broadcast-tag { border-color: #d8e0e6; border-radius: 8px; background: #fff; color: #405564; }
.broadcast-tag.selected { border-color: #7ba5b4; background: #eef5f6; color: #28586a; }

/* 筛选 */
.auto-filter-option {
  border-color: #dde4e9;
  border-radius: 9px;
  background: #f8fafb;
}
.settings-panel {
  margin: 12px 0 18px;
  padding: 16px;
  border-color: #dde4e9;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}
.filter-group { border-color: #e2e8ec; background: #f9fafb; }
.filter-group--highlight { background: #fff9fa; border-color: #efd9de; }
.filter-group--blocked { background: #f7f8f9; border-color: #e0e4e7; }
.filter-group__head, .filter-subgroup-title { color: #52606d; }
.preset-row { border-color: #e0e6ea; background: #fff; }
.type-checkbox {
  padding: 6px 10px;
  border-color: #d9e1e6;
  border-radius: 8px;
  background: #fff;
  color: #52606d;
  font-size: .8rem;
}
.type-checkbox:has(input:checked) { border-color: #86acb9; background: #eef5f6; color: #28586a; }
.filter-group--highlight .type-checkbox:has(input:checked) { border-color: #df9baa; background: #fff0f3; color: #a7354b; }
.filter-group--blocked .type-checkbox:has(input:checked) { border-color: #bfc8cf; background: #eef0f2; color: #65717b; }

/* 结果区域 */
.main-content > .panel-card { min-height: 100%; }
.section-title {
  margin-bottom: 13px;
  color: #233f50;
  font-size: 1rem;
  letter-spacing: .04em;
}
.count-badge { padding: 4px 10px; border-radius: 999px; background: #edf2f5; color: #405564; font-size: .75rem; }
.cards-grid { gap: 9px; }
.flight-card {
  border: 1px solid #dde4e9;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  transition: border-color .16s, box-shadow .16s;
}
.flight-card:hover { transform: none; border-color: #a9bdc6; box-shadow: 0 4px 14px rgba(31, 51, 64, .07); }
.flight-card--priority { border: 1px solid #d88999; box-shadow: none; }
.flight-card--priority:hover { border-color: #c85e73; box-shadow: 0 4px 14px rgba(196, 71, 93, .09); }
.flight-card__head {
  background: #f3f7f8;
  border-right-color: #dde4e9;
}
.flight-card--priority .flight-card__head { background: #fff3f5; border-right-color: #efd2d8; color: #a7354b; }
.flight-card__head .aircraft-type { border-color: #d7e0e5; background: #fff; color: #657582; }
.livery-tag { border-color: #cfe0d9; background: #f0f7f4; color: #326554; }
.priority-tag, .flight-card--priority .livery-tag { border-color: #e7b5bf; background: #fff0f3; color: #a7354b; }
.flight-detail-btn { border-color: #c4d5dc; border-radius: 8px; background: #f5f9fa; color: #2f6478; }
.flight-detail-btn:hover { background: #2f6478; color: #fff; }
.empty-state { border: 1px dashed #cbd5dc; border-radius: 11px; background: #f9fafb; box-shadow: none; }

/* 我的与底部导航 */
.my-view { background: #f4f6f8; }
.my-container { gap: 15px; }
.my-profile-card {
  padding: 17px;
  border: 1px solid #dde4e9;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
.my-profile-avatar { background: #eef3f5; color: #2f6478; }
.my-profile-label, .my-user-id { color: #87949f; }
.my-username { color: #2f6478; }
.my-section h2 { margin-left: 2px; color: #71808c; font-size: .72rem; }
.my-menu-list { border-color: #dde4e9; border-radius: 11px; background: #fff; }
.my-menu-item { border-bottom-color: #edf0f2; color: #2f4351; }
.my-menu-item:hover { background: #f7f9fa; }
.my-menu-item > small { color: #87949f; }
.my-inline-panel { border-color: #dde4e9; border-radius: 11px; background: #fff; }
.my-inline-panel button { border-radius: 9px; background: #2f6478; }
.my-logout-btn { border-color: #ecc6cd; border-radius: 10px; background: #fff; color: #b93d54; }
.my-logout-btn:hover { background: #fff2f4; color: #a7354b; }
.bottom-nav {
  min-height: 56px;
  border-top-color: #dde4e9;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -2px 10px rgba(31, 51, 64, .04);
}
.bottom-nav__item { color: #87949f; }
.bottom-nav__item.active { background: transparent; color: #2f6478; }

/* 顶部主导航 */
.top-tab-nav {
  position: static !important;
  min-height: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 0 18px 10px;
  border: 0;
  background: #fff;
  box-shadow: none;
}
.top-tab-nav .bottom-nav__item {
  min-width: 112px;
  min-height: 36px;
  flex: 0 1 170px;
  flex-direction: row;
  gap: 7px;
  border: 1px solid #d8e0e6;
  border-radius: 10px;
  background: #f7f9fa;
  color: #657582;
}
.top-tab-nav .bottom-nav__item span { font-size: .92rem; }
.top-tab-nav .bottom-nav__item b { font-size: .78rem; }
.top-tab-nav .bottom-nav__item.active {
  border-color: #3d7b8f;
  background: #3d7b8f;
  color: #fff;
}

/* 新工具控制区 */
.tool-control-card, .latest-push-card, .filter-mode-card { padding: 14px; }
.tool-control-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.tool-control-head > div:first-child { display: grid; gap: 1px; color: #233f50; font-size: .84rem; }
.tool-control-head small { color: #87949f; font-size: .68rem; font-weight: 500; }
.tool-control-head .day-tabs { width: 126px; }
.tool-control-head .day-tab { padding: 6px 0; font-size: .72rem; }
.quick-apply-btn {
  width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 13px; border: 1px solid #2f6478; border-radius: 10px;
  background: #2f6478; color: #fff; cursor: pointer;
}
.quick-apply-btn:hover { background: #28586a; }
.quick-apply-btn span { font-size: 1rem; }
.quick-apply-btn strong { font-size: .8rem; }
.latest-push-card .panel-card__title, .filter-mode-card .panel-card__title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.latest-push-card .panel-card__title small, .filter-mode-card .panel-card__title small { color: #3d7b8f; font-size: .68rem; }
.mini-refresh-btn { border: 0; background: transparent; color: #3d7185; font-size: .7rem; cursor: pointer; }
.latest-broadcast-summary {
  width: 100%; padding: 11px 12px; border: 1px solid #c8d9df; border-radius: 9px;
  background: #eef5f6; color: #28586a; text-align: left; font-size: .76rem; font-weight: 700; cursor: pointer;
}
.latest-broadcast-summary.is-empty { border-style: dashed; background: #f8fafb; color: #87949f; }
.manual-upload-entry {
  width: 100%; display: grid; grid-template-columns: 30px minmax(0,1fr) 16px; align-items: center; gap: 8px;
  padding: 12px 14px; border: 1px solid #d8e0e6; border-radius: 11px; background: #fff; color: #2f4351; text-align: left; cursor: pointer;
}
.manual-upload-entry > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: #eef5f6; color: #2f6478; font-size: 1rem; }
.manual-upload-entry > span:nth-child(2) { display: grid; gap: 1px; }
.manual-upload-entry strong { font-size: .8rem; }
.manual-upload-entry small { color: #87949f; font-size: .66rem; }
.manual-upload-entry i { color: #87949f; font-style: normal; }
.filter-mode-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.filter-mode-grid button { min-height: 66px; display: grid; align-content: center; gap: 2px; padding: 8px; border: 1px solid #dce4e9; border-radius: 9px; background: #f8fafb; color: #52606d; text-align: left; cursor: pointer; }
.filter-mode-grid button strong { color: #2f4351; font-size: .76rem; }
.filter-mode-grid button small { color: #87949f; font-size: .62rem; line-height: 1.35; }
.filter-mode-grid button.active { border-color: #3d7b8f; background: #eef5f6; }
.filter-mode-grid button.active strong { color: #28586a; }
.filter-mode-card .settings-panel { max-height: 42vh; overflow: auto; margin: 10px 0 0; padding: 12px; }
.filter-mode-card .filter-group { padding: 9px 0; }
.filter-mode-card .type-checkbox { padding: 4px 7px; font-size: .7rem; }
.filter-primary-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; margin-top: 11px; }
.filter-primary-actions .btn { min-height: 40px; }
.filter-mode-card .flight-status { display: block; margin-top: 4px; font-size: .68rem; }

/* 手动上传弹窗 */
.manual-upload-overlay { position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; padding: 18px; background: rgba(23,33,43,.46); backdrop-filter: blur(4px); }
.manual-upload-card { width: min(920px,100%); max-height: 92vh; overflow: auto; padding: 20px; border: 1px solid #dde4e9; border-radius: 16px; background: #fff; box-shadow: 0 18px 52px rgba(23,33,43,.2); }
.manual-upload-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.manual-upload-head small { color: #3d7b8f; font-size: .68rem; }
.manual-upload-head h2 { margin: 1px 0 0; color: #233f50; font-size: 1.05rem; }
.manual-upload-close { width: 34px; height: 34px; border: 1px solid #dce3e8; border-radius: 50%; background: #f5f7f9; color: #71808c; font-size: 1.2rem; cursor: pointer; }
.manual-upload-content { display: grid; grid-template-columns: minmax(190px,.65fr) minmax(320px,1.35fr); gap: 16px; }
.manual-example { min-width: 0; max-height: 520px; overflow-x: hidden; overflow-y: auto; border: 1px solid #dde4e9; border-radius: 11px; background: #f5f7f9; overscroll-behavior: contain; }
.manual-example img { width: 100%; height: auto; display: block; object-fit: contain; }
.manual-example figcaption { display: grid; gap: 3px; padding: 10px 11px; color: #52606d; font-size: .68rem; }
.manual-example figcaption strong { color: #233f50; font-size: .76rem; }
.manual-recognition { min-width: 0; }
.manual-recognition #flight-info-display { min-height: 150px; }
.manual-upload-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.manual-upload-actions .btn { min-width: 116px; }
.manual-submit-group { display: grid; justify-items: end; gap: 5px; margin-left: auto; }
.manual-submit-group small { max-width: 310px; color: #71808c; font-size: .66rem; line-height: 1.45; text-align: right; }
.admin-publish-note { min-width: 130px; padding: 7px 9px; border: 1px solid #d8e0e6; border-radius: 8px; background: #fff; }
.announcement-delete-confirm { position: fixed; inset: 0; z-index: 200000; align-items: center; justify-content: center; padding: 16px; background: rgba(23,33,43,.48); }
.announcement-delete-card { width: min(380px,100%); padding: 20px; border: 1px solid #dde4e9; border-radius: 14px; background: #fff; box-shadow: 0 18px 52px rgba(23,33,43,.22); }
.announcement-delete-card h2 { margin: 0 0 8px; color: #233f50; font-size: 1.05rem; }
.announcement-delete-card p { margin: 0; color: #52606d; font-size: .82rem; line-height: 1.65; }
.announcement-delete-card > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.announcement-delete-card .btn { min-height: 42px; }

/* 压缩“我的”设置页 */
.my-view { padding: 14px 12px 22px; }
.my-container { max-width: 680px; gap: 9px; }
.my-profile-card { padding: 11px 13px; }
.my-profile-avatar { width: 38px; height: 38px; flex-basis: 38px; font-size: 1rem; }
.my-section h2 { margin-bottom: 4px; }
.my-menu-item { min-height: 46px; padding: 6px 11px; }
.my-inline-panel { gap: 7px; padding: 11px; }
.my-logout-btn { padding: 8px; }

/* 弹层 */
.welcome-overlay, .flight-detail-overlay, .admin-console-overlay {
  background: rgba(23, 33, 43, .42);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.welcome-card, .flight-detail-card, .admin-console-card {
  border: 1px solid #dde4e9;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 52px rgba(23, 33, 43, .18);
}
.welcome-card { padding: 26px; }
.welcome-card h2, .flight-detail-card h2, .admin-console-head h2 { color: #233f50; letter-spacing: .02em; }
.welcome-lead { color: #52606d; }
.welcome-steps b { background: #eef5f6; color: #2f6478; }
.welcome-example { background: #f3f6f8; color: #405564; }
.welcome-ok, .flight-detail-more { border-radius: 9px; background: #2f6478; box-shadow: none; }
.welcome-ok:hover, .flight-detail-more:hover { transform: none; filter: none; background: #28586a; }
.flight-detail-close, .admin-console-close { border-color: #dce3e8; background: #f5f7f9; color: #71808c; }
.flight-detail-photo { border-color: #dde4e9; background: #f3f5f7; }
.flight-detail-field { background: #f6f8f9; }

/* 管理后台 */
.admin-console-card { padding: 24px; }
.admin-console-head { border-bottom-color: #e4e9ec; }
.admin-console-kicker { color: #a7354b; }
.admin-module-grid { gap: 11px; }
.admin-module-card {
  min-height: 142px;
  border-color: #dde4e9;
  border-radius: 11px;
  background: #fff;
  color: #2f4351;
  box-shadow: none;
}
.admin-module-card:hover { transform: none; border-color: #9db5c0; box-shadow: 0 4px 14px rgba(31, 51, 64, .07); }
.admin-module-back { border-color: #d8e0e6; border-radius: 8px; background: #fff; color: #2f6478; }
.admin-announcement-form, .admin-library-editor, .admin-submission-card, .admin-user-row {
  border-color: #e0e6ea;
  border-radius: 10px;
  background: #fff;
}
.admin-announcement-email { background: #f2f7f8; }
.admin-library-browser-head { border-top-color: #e4e9ec; }

/* 页脚 */
.site-footer {
  padding: 8px 16px;
  border-top: 1px solid #e2e7ea;
  background: #fff;
  color: #8a98a4;
  font-size: .68rem;
}
.site-footer strong { color: #52606d; font-weight: 600; }
.site-footer a { color: #647f8e; }
.toast { border-radius: 9px; background: #233f50; box-shadow: 0 8px 24px rgba(23, 33, 43, .16); }

@media (max-width: 900px) {
  .layout { padding: 12px; gap: 12px; }
  .side-panel { width: 100%; gap: 10px; }
  .topbar__main { padding: 7px 12px; }
  .topbar__persistent { border-top-color: #edf0f2; }
  .topbar__author { color: #71808c; }
  .brand { padding: 15px; }
  .main-content > .panel-card { min-height: auto; }
  #tool-view, .my-view { padding-bottom: 0; }
}

@media (max-width: 600px) {
  #login-overlay { padding: 16px 12px 64px; }
  .login-card { max-width: 380px; padding: 28px 22px 24px; border-radius: 15px; }
  .login-logo-image { width: 62px; height: 62px; }
  .login-header h2 { font-size: 1.52rem; }
  .login-filing-footer { color: #81909d; }
  .login-filing-footer a { color: #667783; }
  .topbar__sub { display: block; max-width: 210px; }
  .topbar__persistent { padding-top: 5px; }
  .panel-card { padding: 14px; }
  .section-title { font-size: .92rem; }
  .cards-grid { grid-template-columns: 1fr; }
  .flight-card { border-radius: 9px; }
  .welcome-card { padding: 22px; }
  .site-footer { padding-bottom: 64px; }
  .site-footer { padding-bottom: 10px; }
  .top-tab-nav { padding: 0 10px 8px; }
  .top-tab-nav .bottom-nav__item { min-height: 34px; }
  .manual-upload-overlay { padding: 8px; }
  .manual-upload-card { max-height: 96vh; padding: 15px; }
  .manual-upload-content { grid-template-columns: 1fr; }
  .manual-example { max-height: 260px; }
  .manual-upload-actions { flex-wrap: wrap; }
  .manual-upload-actions .btn { min-width: 0; flex: 1; }
  .manual-submit-group { width: 100%; }
  .manual-submit-group .btn { width: 100%; }
  .manual-submit-group small { max-width: none; text-align: left; }
}
