/* 场地排期、预约核验、预约管理和人员管理统一采用 1920px 高密度后台布局。 */
.sidebar{width:240px}.menu-toggle{display:none}.crumb{gap:0}.topbar{height:80px}.page{max-width:none;padding:16px 22px}main{margin-left:240px!important}
.admin-metric{min-height:108px;display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #edf1f6;border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(32,61,104,.06)}.admin-metric img{width:56px;height:56px;object-fit:contain;mix-blend-mode:normal}.admin-metric span{display:block;color:#263650;font-size:15px;font-weight:700}.admin-metric strong{font-size:32px;line-height:38px}.admin-metric em{margin-left:6px;color:#68758b;font-size:13px;font-style:normal}.admin-status{display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700}.admin-status--NORMAL,.admin-status--AVAILABLE,.admin-status--COMPLETED{color:#12ae63;background:#eaf8f0}.admin-status--DISABLED,.admin-status--RESERVED{color:#d97706;background:#fff4d9}.admin-status--FROZEN,.admin-status--CANCELLED,.admin-status--NO_SHOW{color:#ef4444;background:#fdecec}.admin-status--CHECKED_IN,.admin-status--IN_USE{color:#1769f6;background:#eaf2ff}.text-action{border:0;background:transparent;color:#1769f6;padding:0 5px;font:600 13px inherit;cursor:pointer}.text-action:hover{text-decoration:underline}.table-pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 0 0;color:#66758b}.table-pagination span,.table-pagination b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #dce4ef;border-radius:6px}.table-pagination b{border-color:#1769f6;background:#1769f6;color:#fff}.table-pagination select{margin-left:20px;border:1px solid #dce4ef;border-radius:6px;padding:7px 11px;background:#fff;color:#48566d}
.schedule-v2__grid{display:grid;grid-template-columns:minmax(720px,3fr) minmax(330px,1fr);gap:16px}.schedule-v2__board{padding:0 18px 18px}.admin-tabs{display:flex;gap:34px;height:56px;margin:0 -18px 18px;padding:0 22px;border-bottom:1px solid #e6ebf2}.admin-tabs button{position:relative;border:0;background:transparent;color:#34425b;padding:0 10px;font:700 17px inherit;cursor:pointer}.admin-tabs button.active{color:#1769f6}.admin-tabs button.active::after{position:absolute;right:0;bottom:0;left:0;height:3px;border-radius:3px;background:#1769f6;content:""}.schedule-v2__board h2{margin:0 0 16px;font-size:19px}.schedule-v2__board .legend{margin:0 0 16px}.schedule-v2__board .schedule-table th,.schedule-v2__board .schedule-table td{height:59px}.schedule-v2__board .slot-pick{width:100%;border:0;background:transparent;padding:0;cursor:pointer}.schedule-v2__board .slot{padding:11px 5px;font-size:14px}.schedule-v2__form{padding:18px 20px}.schedule-v2__form h2{margin:0 0 14px;font-size:20px}.schedule-v2__form label{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;margin:14px 0;color:#263650;font-weight:600}.schedule-v2__form input,.schedule-v2__form select,.schedule-v2__form textarea{width:100%;border:1px solid #dce4ef;border-radius:7px;padding:10px 12px;background:#fff;color:#334159;font:14px inherit}.schedule-v2__form textarea{height:78px;resize:none}.schedule-v2__status{display:flex;align-items:center;gap:25px;margin:14px 0 14px;padding:0;border:0}.schedule-v2__status legend{width:72px;float:left;color:#263650;font-weight:600}.schedule-v2__status button{border:0;background:#fff;color:#58677c;font:14px inherit;cursor:pointer}.schedule-v2__status button:first-of-type{color:#12ae63}.schedule-v2__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.schedule-v2__actions .button{padding:11px}.schedule-v2__history{margin-top:16px;padding:16px 18px}.schedule-v2__history h2{margin:0 0 12px;font-size:18px}.schedule-v2__history .empty{padding:25px}
.schedule-v2__board{overflow-x:auto}.schedule-v2__board .schedule-table{min-width:920px}.schedule-v2__board .schedule-table th:first-child,.schedule-v2__board .schedule-table td:first-child{position:sticky;left:0;z-index:1;background:#fff}.schedule-v2__board .schedule-table th:first-child{z-index:2;background:#fbfcfe}.board-panel{overflow-x:auto}.board-panel .dashboard-schedule{min-width:920px}.board-panel .dashboard-schedule th:first-child,.board-panel .dashboard-schedule td:first-child{position:sticky;left:0;z-index:1;background:#fff}.board-panel .dashboard-schedule th:first-child{z-index:2;background:#fbfcfe}
.people-v2 .page-subtitle{margin:0 0 16px}.people-v2__layout{display:grid;grid-template-columns:minmax(760px,1fr) 330px;gap:16px}.people-v2__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.people-v2__metrics .admin-metric{min-height:104px;padding:14px}.people-v2__metrics .admin-metric img{width:50px;height:50px}.people-v2__table{padding:14px}.people-v2__tools{display:flex;align-items:center;gap:14px;margin-bottom:16px}.people-v2__tools .button{padding:10px 17px}.people-v2__tools select{width:175px;height:40px;border:1px solid #dce4ef;border-radius:7px;padding:0 11px;color:#536177}.people-v2__tools .search{width:290px;margin-left:auto}.people-v2__drawer{align-self:start;padding:18px}.people-v2__drawer h2{margin:0 0 16px}.drawer-tip{padding:12px;border:1px solid #bad7ff;border-radius:8px;background:#edf5ff;color:#42658f;line-height:20px}.people-v2__drawer label{display:block;margin:20px 0 7px;color:#263650;font-weight:700}.people-v2__drawer input,.people-v2__drawer select{width:100%;height:42px;margin-top:8px;border:1px solid #dce4ef;border-radius:7px;padding:0 12px;color:#48566d;font:14px inherit}.drawer-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.drawer-buttons .button{padding:11px}
.people-v2__layout>main{margin-left:0!important;min-width:0}.notices-v2{max-width:1320px;margin:0 auto}.notices-v2__grid{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(580px,1.2fr);gap:16px}.notices-v2__editor,.notices-v2__list{padding:20px}.notices-v2 h2{margin:0 0 8px}.notices-v2 p,.settings-v2 p{margin:0 0 22px;color:#72809a}.notices-v2__editor label{display:block;margin:18px 0 8px;color:#263650;font-weight:700}.notices-v2__editor input:not([type=checkbox]),.notices-v2__editor textarea{width:100%;margin-top:8px;border:1px solid #dce4ef;border-radius:7px;padding:10px 12px;color:#3c4a62;font:14px inherit}.notices-v2__editor textarea{height:170px;resize:vertical}.notices-v2__editor .notices-v2__pin{display:flex;align-items:center;gap:8px;font-weight:500}.notice-tabs{display:flex;gap:20px;height:42px;margin:0 0 12px;border-bottom:1px solid #e6edf5}.notice-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#66758b;font:14px inherit}.notice-tabs button.active{border-color:#1769f6;color:#1769f6;font-weight:700}.settings-v2{max-width:1040px;margin:20px auto}.settings-v2__card{display:grid;grid-template-columns:1fr;gap:0;padding:28px 32px}.settings-v2__card>label{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:16px;margin:12px 0;color:#263650;font-weight:700}.settings-v2__card input{height:43px;border:1px solid #dce4ef;border-radius:7px;padding:0 12px;color:#3c4a62;font:14px inherit}.settings-v2__actions{display:flex;justify-content:flex-end;margin-top:20px}
.people-v2__tools .import-template,.people-v2__tools .import-file-label{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.people-v2__tools [data-import-users]:disabled{cursor:not-allowed;opacity:.55}.import-hint{margin:0 0 12px;color:#72809a;font-size:13px}
.text-action--danger{color:#ef4444}.verify-card{grid-template-areas:"icon label blank" "icon value unit";grid-template-columns:60px 1fr auto}.verify-card img{grid-area:icon}.verify-card span{grid-area:label;align-self:end}.verify-card strong{grid-area:value;align-self:start;line-height:34px}.verify-card em{grid-area:unit;align-self:start;margin-left:6px;line-height:34px}
.reservations-v2__metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:16px}.reservations-v2__metrics .admin-metric{min-height:98px;padding:13px}.reservations-v2__metrics .admin-metric img{width:48px;height:48px}.reservations-v2__filters{display:grid;gap:16px;margin-bottom:16px;padding:18px}.reservations-v2__filters>div{display:flex;align-items:center;gap:10px}.reservations-v2__filters b{color:#263650}.filter-chip{border:1px solid #dce4ef;border-radius:6px;background:#fff;color:#536177;padding:8px 15px;font:14px inherit}.filter-chip.active{border-color:#8db9ff;background:#eef5ff;color:#1769f6}.reservations-v2__filters input,.reservations-v2__filters select{height:38px;border:1px solid #dce4ef;border-radius:6px;padding:0 10px;color:#536177}.reservations-v2__filters .search{width:305px;margin-left:14px}.reservations-v2__layout{display:grid;grid-template-columns:minmax(860px,1fr) 350px;gap:16px}.reservations-v2__table{padding:0 14px 14px}.reservations-v2__table .reservation-tabs{height:52px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #e7edf4}.reservations-v2__table .reservation-tabs button{height:52px;border:0;border-bottom:3px solid transparent;background:transparent;color:#66758b;font:14px inherit;cursor:pointer}.reservations-v2__table .reservation-tabs button.active{border-bottom-color:#1769f6;color:#1769f6;font-weight:700}.reservation-v2__detail{padding:18px}.reservation-v2__detail h2{margin:0 0 14px}.reservation-v2__user{display:flex;align-items:center;gap:12px;margin:12px 0 18px}.reservation-v2__user img{width:62px;height:62px;border-radius:50%;background:#e9f2ff}.reservation-v2__user b,.reservation-v2__user span{display:block}.reservation-v2__user span{margin-top:5px;color:#66758b}.reservation-v2__detail dl{display:grid;grid-template-columns:85px 1fr;gap:14px;margin:0}.reservation-v2__detail dt{color:#637186}.reservation-v2__detail dd{margin:0;color:#22314a;font-weight:600}.reservation-v2__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.reservation-v2__actions .button{padding:11px}.danger{border-color:#ff5252!important;color:#ef4444!important}
.verify-v2__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.verify-card{display:grid;grid-template-columns:60px 1fr auto;grid-template-rows:1fr 1fr;align-items:center;column-gap:14px;min-height:112px;padding:16px 20px;border:1px solid #edf1f6;border-radius:14px;background:#fff;text-align:left;box-shadow:0 4px 18px rgba(32,61,104,.06);cursor:pointer}.verify-card img{grid-row:1 / 3;width:58px;height:58px;object-fit:contain;mix-blend-mode:normal}.verify-card span{align-self:end;color:#263650;font-size:15px;font-weight:700}.verify-card strong{align-self:start;color:#17233c;font-size:32px}.verify-card em{grid-column:3;grid-row:2;align-self:start;color:#66758b;font-size:13px;font-style:normal}.verify-v2__main{padding:16px 20px}.verify-v2__main>h2{margin:0 0 12px;font-size:18px}.verify-v2__content{display:grid;grid-template-columns:42% 58%;min-height:260px}.verify-v2__scanner{display:flex;align-items:center;gap:26px;padding:20px 28px 20px 10px;border-right:1px solid #e4eaf2}.scan-frame{display:grid;place-items:center;width:190px;height:190px;border:3px solid #1769f6;border-radius:12px;color:#cbd5e4;font-size:54px}.scan-frame span{display:block;margin-top:-40px;color:#718097;font-size:13px}.verify-v2__scanner>div:last-child{display:grid;gap:11px;min-width:155px}.verify-v2__scanner .button{padding:12px 14px}.verify-v2__scanner input{height:39px;border:1px solid #dce4ef;border-radius:7px;padding:0 10px;font:14px inherit}.verify-v2__detail{padding:14px 0 10px 38px}.verify-v2__detail h2{margin:0 0 15px}.verify-v2__detail dl{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0}.verify-v2__detail dt{color:#657286}.verify-v2__detail dd{margin:0;font-weight:600}.verify-v2__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.verify-v2__actions .button{padding:11px 8px}.verify-v2__lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.verify-v2__lists .panel{padding:15px}.verify-v2__lists h2{margin:0 0 12px;font-size:18px}.verify-v2__lists .data-table th,.verify-v2__lists .data-table td{padding:10px 8px;font-size:13px}.verify-v2__lists .empty{padding:28px}
@media(max-width:1280px){.people-v2__layout,.reservations-v2__layout,.schedule-v2__grid{grid-template-columns:1fr}.people-v2__drawer{display:none}.reservations-v2__metrics{grid-template-columns:repeat(3,1fr)}.verify-v2__content{grid-template-columns:1fr}.verify-v2__scanner{border-right:0;border-bottom:1px solid #e4eaf2}.verify-v2__detail{padding-left:10px}.verify-v2__lists{grid-template-columns:1fr}}
.person-qr-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(7,25,53,.45)}.person-qr-modal__card{position:relative;width:340px;padding:25px;border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(7,25,53,.25);text-align:center}.person-qr-modal__card h2{margin:0 0 16px;color:#17233c;font-size:19px}.person-qr-modal__canvas{width:220px;height:220px;border:1px solid #edf1f6}.person-qr-modal__card p{margin:14px 0 7px;color:#344054}.person-qr-modal__card small{display:block;color:#72809a;line-height:20px}.person-qr-modal__close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#66758b;font-size:24px;cursor:pointer}


