/* NOTAM 查询页样式（2026-11-05）
 * 页面只做 HTML + JS：数据全部来自 /api/v1/notam，服务端不再拼表格。
 */
#nt-root { padding-bottom: 1.5rem; }

.nt-query { padding: 1rem 1.25rem 0.9rem; }
.nt-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 .9rem; }
.nt-row .field { margin-bottom: .7rem; }
.nt-f-station { flex: 1 1 260px; min-width: 220px; }
.nt-f-sel { flex: 0 0 auto; }
.nt-f-sel .select, .nt-f-sel select { width: 100%; }
.nt-f-act { flex: 0 0 auto; padding-bottom: .55rem; }
.nt-check { font-size: .85rem; color: #374151; user-select: none; }
.nt-f-btn { flex: 0 0 auto; display: flex; gap: .5rem; }
.nt-f-btn .control { margin-bottom: 0; }
.nt-hint { font-size: .78rem; color: #6b7280; margin: .1rem 0 .2rem; line-height: 1.5; }
.nt-hint code { background: #f3f4f6; padding: 0 .25rem; border-radius: 3px; font-size: .95em; }

/* ---- 工具条 ---- */
.nt-bar {
	display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
	margin: .9rem 0 .2rem; padding: .45rem .85rem;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}
.nt-grow { flex: 1 1 auto; }
.nt-summary { font-size: .82rem; color: #374151; }
.nt-summary b { color: #111827; }
.nt-filter { max-width: 260px; height: 2rem; font-size: .82rem; }

/* ---- 提示 / 错误 ---- */
.nt-msg {
	margin: .8rem 0; padding: .7rem .9rem; border-radius: 8px;
	font-size: .85rem; line-height: 1.6;
	background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412;
}
.nt-msg.nt-msg-error { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.nt-msg.nt-msg-info { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }

/* ---- 机场卡片 ---- */
.nt-card {
	background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
	margin: .9rem 0; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); overflow: hidden;
}
.nt-card-head {
	display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
	padding: .65rem 1rem; border-bottom: 1px solid #eef2f7;
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
.nt-card-st { font-size: 1.05rem; font-weight: 700; color: #1d4ed8; letter-spacing: .02em; }
.nt-card-meta { font-size: .8rem; color: #4b5563; }
.nt-card-note { font-size: .78rem; color: #9ca3af; }
.nt-card-body { padding: .2rem 0; }

/* ---- 单条通告 ---- */
.nt-item {
	padding: .6rem 1rem .65rem; border-bottom: 1px solid #f1f5f9;
	border-left: 3px solid transparent;
}
.nt-item:last-child { border-bottom: 0; }
.nt-item:hover { background: #fcfdff; }
.nt-item-head { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.nt-num { font-weight: 600; color: #111827; font-size: .88rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.nt-when { font-size: .75rem; color: #6b7280; margin-left: auto; white-space: nowrap; }
.nt-item-sub { margin-top: .2rem; }
.nt-q { font-size: .74rem; color: #6b7280; }

.nt-chip {
	display: inline-block; padding: 0 .4rem; border-radius: 999px;
	font-size: .68rem; line-height: 1.45; font-weight: 600; letter-spacing: .02em;
	background: #eef2f7; color: #4b5563;
}
.nt-chip-active { background: #dcfce7; color: #166534; }
.nt-chip-scheduled { background: #dbeafe; color: #1e40af; }
.nt-chip-expired { background: #f1f5f9; color: #94a3b8; }
.nt-chip-cancelled { background: #fee2e2; color: #991b1b; }
.nt-chip-unknown { background: #fef3c7; color: #92400e; }

.nt-sev { font-size: .68rem; font-weight: 700; padding: 0 .35rem; border-radius: 4px; }
.nt-sev-high { background: #fee2e2; color: #b91c1c; }
.nt-sev-medium { background: #fef3c7; color: #b45309; }

.nt-raw {
	margin: .35rem 0 0; padding: .45rem .7rem;
	background: #f8fafc; border-left: 3px solid #c7d2fe; border-radius: 0 6px 6px 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .78rem; line-height: 1.55; color: #1f2937;
	white-space: pre-wrap; word-break: break-word;
}
.nt-item-expired .nt-raw { color: #9ca3af; }
.nt-item-cancelled .nt-raw { color: #b91c1c; text-decoration: line-through; text-decoration-color: rgba(185, 28, 28, .35); }

.nt-empty, .nt-loading { padding: 1rem; text-align: center; color: #9ca3af; font-size: .84rem; }

/* ---- 分页 ---- */
.nt-pager {
	display: flex; align-items: center; justify-content: center; gap: .75rem;
	padding: .5rem 1rem .7rem; border-top: 1px solid #f1f5f9;
}
.nt-pageinfo { font-size: .78rem; color: #4b5563; min-width: 4.5rem; text-align: center; }
.nt-pager .button[disabled] { opacity: .45; }

/* ---- 移动端 ---- */
@media screen and (max-width: 768px) {
	.nt-query { padding: .8rem .8rem .5rem; }
	.nt-f-station { flex: 1 1 100%; }
	.nt-f-sel { flex: 1 1 44%; }
	.nt-f-sel .select, .nt-f-sel select { width: 100%; }
	.nt-f-btn { flex: 1 1 100%; }
	.nt-f-btn .control { flex: 1 1 auto; }
	.nt-f-btn .button { width: 100%; }
	.nt-filter { max-width: none; width: 100%; }
	.nt-item { padding: .55rem .75rem .6rem; }
	.nt-when { margin-left: 0; flex-basis: 100%; }
}
