/* 首页看板：按 1920×1080 的高密度桌面布局组织，场地状态块仅展示、不承担点击行为。 */
.dashboard-page{min-height:calc(100vh - 128px)}
.dashboard-metrics{gap:16px;margin-bottom:16px}.dashboard-metrics .metric{min-height:98px;padding:14px 16px;border:1px solid #edf1f7;border-radius:14px;box-shadow:0 4px 18px rgba(32,61,104,.06)}.dashboard-metrics .metric img{width:58px;height:58px;object-fit:contain;mix-blend-mode:normal}.dashboard-metrics .metric strong{display:inline-block;font-size:32px;line-height:34px;margin-top:5px}.dashboard-metrics .metric em{margin-left:8px;color:#758197;font-size:13px;font-style:normal;font-weight:600}.dashboard-metrics .metric span{display:block;color:#293852;font-size:15px}
.dashboard-layout{grid-template-columns:minmax(720px,2.12fr) minmax(350px,1fr);gap:16px;align-items:start}.dashboard-left{display:grid;gap:16px;min-width:0}.board-panel{padding:16px 16px 12px}.board-panel h2,.dashboard-right h2,.booking-summary h2{font-size:19px;line-height:24px;margin-bottom:12px}.board-panel .legend{margin:0 0 13px;gap:26px;font-size:13px}.sport-heading{display:flex;align-items:center;margin:13px 0 9px;color:#20304a;font-size:16px;line-height:22px}
.dashboard-schedule{border-color:#e1e7f0;border-radius:8px}.dashboard-schedule th{height:35px;background:#f8faff;color:#273650;font-size:13px;font-weight:700}.dashboard-schedule th,.dashboard-schedule td{height:48px;padding:5px;border-color:#e1e7f0}.dashboard-schedule th:first-child,.dashboard-schedule td:first-child{width:150px;padding-left:16px;font-size:14px}.dashboard-schedule .slot{padding:9px 4px;border:1px solid transparent;border-radius:4px;font-size:13px;line-height:16px;white-space:nowrap}.dashboard-schedule .AVAILABLE{border-color:#c9efd8;background:#eaf8f0;color:#16a765}.dashboard-schedule .RESERVED{border-color:#ffd0d0;background:#fdecec;color:#ef4444}.dashboard-schedule .IN_USE{border-color:#c9dcff;background:#eaf2ff;color:#1769e8}.dashboard-schedule .CLOSED{border-color:#e7eaf0;background:#f0f2f5;color:#7b8495}.dashboard-schedule .PARTIAL{border-color:#ffe0aa;background:#fff4d9;color:#d97706}.dashboard-schedule .FULL,.dashboard-schedule .NO_SHOW{border-color:#ffd0d0;background:#fdecec;color:#ef4444}
.dashboard-right{gap:14px}.pending-panel,.violation-panel,.quick-panel{padding:16px 18px}.pending-panel .pending-list{display:grid;gap:0}.pending-panel .pending-row{grid-template-columns:42px minmax(0,1fr) 94px 58px;min-height:57px;border-top:1px solid #edf1f6}.pending-panel .pending-row:first-child{border-top:0}.pending-panel .pending-row b{font-size:14px}.pending-panel .pending-row small{font-size:12px;white-space:nowrap}.pending-panel .badge{padding:4px 6px;font-size:12px}.dashboard-empty{padding:24px 0}.violation-panel .alert-row{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border:1px solid #fee1e1;background:#fff5f5;color:#59677e;font-size:13px}.violation-panel .alert-row:first-of-type{margin-top:0}.violation-panel .alert-row b{margin:0;color:#ef4444;font-size:14px}.quick-panel .quick{gap:10px}.quick-panel .quick button{display:grid;place-items:center;gap:5px;min-height:95px;padding:10px;border-radius:8px;font-size:13px}.quick-panel .quick img{width:40px;height:40px;object-fit:contain;mix-blend-mode:normal;margin:0}
.booking-summary{padding:14px 18px}.booking-summary h2{margin-bottom:8px}.summary-rings{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.summary-ring{display:grid;justify-items:center;gap:6px;color:#5f6d83;font-size:12px}.summary-ring b{display:grid;place-items:center;width:58px;height:58px;border:6px solid #d9e6fb;border-top-color:#1769f6;border-radius:50%;color:#1c2b45;font-size:16px}.summary-ring b small{font-size:10px;margin-left:1px}.summary-ring span{white-space:nowrap}.summary-ring--verify b{border-top-color:#884cf6;border-right-color:#e8dfff}.summary-ring--using b{border-top-color:#ff8a00;border-right-color:#ffe7c2}.summary-ring--available b{border-top-color:#12ae63;border-right-color:#d9f5e4}.summary-ring--noshow b{border-top-color:#ff3b3b;border-right-color:#ffd6d6}
@media(max-width:1450px){.dashboard-metrics .metric{padding:12px}.dashboard-metrics .metric img{width:50px;height:50px}.dashboard-metrics .metric strong{font-size:28px}.dashboard-schedule th:first-child,.dashboard-schedule td:first-child{width:124px}.dashboard-schedule .slot{font-size:12px}.summary-rings{gap:5px}}

/* 预约核验页使用同一套紧凑指标卡，避免嵌套卡片与大面积空白。 */
.verify-page{max-width:1240px;margin:8px auto}.verify-metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.verify-metric{border:1px solid #e4eaf3;background:#fff;border-radius:12px;min-height:96px;padding:14px 20px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:14px;text-align:left;box-shadow:0 4px 18px rgba(32,61,104,.06);cursor:pointer}.verify-metric:hover{border-color:#aac8ff;background:#f8fbff}.verify-metric img{grid-row:1 / 3;width:54px;height:54px;object-fit:contain;mix-blend-mode:normal}.verify-metric span{align-self:end;color:#2d3b54;font-size:15px;font-weight:700}.verify-metric strong{align-self:start;font-size:30px;line-height:34px;color:#162540}.verify-records{padding:18px 20px}.verify-records__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.verify-records h2{margin:0 0 7px;font-size:20px}.verify-records p{margin:0;color:#72809a}.verify-entry{display:flex;align-items:center;gap:10px}.verify-entry input{width:246px;height:38px;border:1px solid #d7e0ed;border-radius:7px;padding:0 12px;color:#263650;font:14px "Microsoft YaHei",Arial,sans-serif}.verify-entry .button{height:38px;padding:0 18px;border-radius:7px}.verify-records .data-table th,.verify-records .data-table td{height:52px;padding:10px 14px}.verify-records .data-table td:last-child{text-align:right}.verify-records .more{float:none;margin-left:8px}.verify-records .empty{padding:34px}
@media(max-width:1000px){.verify-metrics{grid-template-columns:repeat(2,1fr)}.verify-records__head{align-items:flex-start;flex-direction:column}.verify-entry{width:100%}.verify-entry input{flex:1}}


