/* 约课展示与本机模拟，所有选择器独立命名 */
.book-section{background:linear-gradient(155deg,#fffaf4,#fff)}.book-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}.book-heading h2{font-size:28px;margin:10px 0}.book-heading p{font-size:13px;color:#8290a4;line-height:1.8}.book-eyebrow{font-size:10px;letter-spacing:1.5px;color:#ed642b;font-weight:700}.book-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #ed642b;background:linear-gradient(110deg,#ed642b,#ff8a36);border-radius:10px;color:white;font-size:14px;font-weight:700;min-height:48px;padding:13px 22px;line-height:1.5;cursor:pointer;white-space:normal;transition:.2s}.book-button:hover{filter:brightness(1.04);box-shadow:0 6px 18px #ed642b33}.book-button.book-small{font-size:11px;min-height:38px;padding:9px 12px}.book-link{color:#bf5b27;font-size:12px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.book-note{background:#fff4e8;border:1px solid #ffe1c4;border-radius:9px;padding:13px 16px;color:#9b744f;font-size:11px!important;line-height:1.9;margin:15px 0!important}.book-main-tabs,.book-modal-tabs{display:flex;gap:10px;border-bottom:1px solid #ffe0c7;margin:22px 0 18px}.book-main-tabs button,.book-modal-tabs button{font-size:13px;color:#71809a;padding:13px 18px;border-radius:8px 8px 0 0;position:relative;line-height:1.5}.book-main-tabs button.active,.book-modal-tabs button.active{color:#ed642b;background:#fff2e5;font-weight:700}.book-main-tabs button.active:after,.book-modal-tabs button.active:after{position:absolute;bottom:-1px;left:12px;right:12px;height:3px;background:#ed642b;content:""}.book-main-tabs b{font-size:10px;background:white;padding:3px 6px;border-radius:10px}.book-filters{display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:20px}.book-filters label,.book-form-grid>label{display:grid;gap:7px;font-size:11px;color:#6f7f94;min-width:0}.book-filters input,.book-filters select,.book-form-grid input,.book-form-grid select,.book-form-grid textarea{padding:11px 12px;border:1px solid #f2d6bf;border-radius:8px;background:white;color:#43536b;font-size:12px;width:100%;min-width:0;max-width:100%;min-height:42px}.book-filters label{min-width:155px;flex:1}.book-filters .book-link{min-height:42px}.book-legend{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.book-status,.book-calendar-label{display:inline-block;font-size:10px;line-height:1.6;padding:3px 7px;border-radius:5px;font-weight:500}.book-history{color:#6d7481;background:#e9ecef}.book-intention{color:#9b650b;background:#fff0c7}.book-confirmed{color:#255e9a;background:#e2efff}.book-free{color:#267451;background:#dff4e8}.book-unreported{color:#9aa2ad;background:#f1f3f5}.book-calendar-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 15px}.book-calendar-top h3{font-size:18px}.book-calendar-top small{font-size:10px;font-weight:400;color:#9aa7b5;margin-left:10px}.book-calendar-top>div{display:flex;gap:8px}.book-calendar-top button{width:36px;height:36px;border:1px solid #f2d8c4;background:white;border-radius:8px}.book-calendar{border:1px solid #f1dfce;border-radius:12px;overflow:hidden;background:white}.book-week,.book-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.book-week{background:#fff4e8;border-bottom:1px solid #f0dfce}.book-week span{font-size:11px;text-align:center;padding:12px 0;color:#ab805a}.book-day{min-height:102px;display:flex;flex-direction:column;gap:7px;padding:10px;border:0;border-right:1px solid #f2e9df;border-bottom:1px solid #f2e9df;text-align:left;background:white;min-width:0;transition:background .2s}.book-day:nth-child(7n){border-right:0}.book-day:hover:not(.book-spacer){background:#fff7ef}.book-day.book-today{box-shadow:inset 0 0 0 2px #f7aa69}.book-day.book-past{background:#fafafa}.book-day-number{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#43536b;font-variant-numeric:tabular-nums}.book-past .book-day-number{color:#a9afb7}.book-day-number i{font-style:normal;font-size:8px;color:#ed642b}.book-day-marks{display:flex;gap:4px;flex-wrap:wrap;max-width:100%}.book-calendar-label{font-size:9px;padding:2px 5px;max-width:100%;overflow-wrap:anywhere}.book-list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 0 12px}.book-list-heading h3{font-size:18px}.book-list-heading span{font-size:11px;color:#92a0b2}.book-record-list{display:grid;gap:10px}.book-record{display:flex;align-items:center;gap:18px;border:1px solid #f2dfce;background:white;border-radius:11px;padding:17px;margin:10px 0;min-width:0;overflow-wrap:anywhere}.book-record-date{min-width:94px;display:grid;gap:7px;align-self:start}.book-record-date strong{font-family:Arial,sans-serif;font-size:13px}.book-record-date>span{font-size:11px;color:#99a5b3}.book-record-info{flex:1;min-width:0}.book-record-info h4{font-size:14px;line-height:1.8;margin:7px 0}.book-record-info p{font-size:11px!important;line-height:1.8;margin:4px 0!important;color:#8b97a8}.book-record-actions{display:grid;gap:5px;justify-items:center;max-width:160px}.book-record-actions small{font-size:10px;color:#8b97a8;line-height:1.8}.book-withdrawn{font-size:10px;color:#a9afb7;margin-left:8px;text-decoration:line-through}.book-empty{text-align:center;padding:30px 20px;background:#fafafa;border:1px dashed #dfd9d1;border-radius:11px;font-size:13px;color:#8e9baa;line-height:1.9}.book-empty p{font-size:12px!important;color:#99a5b4;margin:8px 0!important}.book-modal{width:min(980px,calc(100% - 36px))!important}.book-profile{display:flex;gap:20px;align-items:center}.book-profile>img{width:100px;height:124px;object-fit:cover;object-position:center 20%;border-radius:11px}.book-profile>div{min-width:0}.book-profile h2{font-size:28px!important;margin:8px 0!important}.book-profile h2 small{font-size:12px;color:#96a3b3;margin-left:10px}.book-profile p{font-size:12px!important;line-height:1.8;margin:5px 0!important;color:#8695aa}.book-profile-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0;padding:18px;background:#fff5e9;border-radius:12px;border:1px solid #ffdfc4}.book-profile-guide strong{font-size:14px}.book-profile-guide p{font-size:11px!important;line-height:1.9;color:#9b805f;margin:5px 0!important}.book-profile-guide .book-button{font-size:13px;flex-shrink:0}.book-detail-actions{display:flex;align-items:center;gap:20px;margin:20px 0 25px;flex-wrap:wrap}.book-about h3{margin:18px 0 8px!important}.book-about p,.book-about li{line-height:1.95;color:#7e8ea5;font-size:13px}.book-about ul{padding-left:20px}.book-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.book-wide{grid-column:1/-1}.book-form-grid textarea{resize:vertical;line-height:1.9}.book-form-grid input[readonly]{background:#f6f7f8;color:#8d99a9}.book-form-foot{display:block;font-size:10px;line-height:1.9;color:#a18b72;margin-top:12px}.book-error{color:#b44c37!important;font-size:12px!important;background:#fff1ed;padding:12px;border-radius:8px;line-height:1.9;margin:13px 0!important}.book-error:empty{display:none}.book-form-grid input[type=hidden]{display:none}.book-section [hidden]{display:none!important}
@media(max-width:700px){.book-heading{display:block}.book-heading h2{font-size:24px;line-height:1.6}.book-heading>.book-button{margin-top:15px;width:100%;font-size:14px}.book-filters{gap:12px}.book-filters label{flex:1 1 calc(50% - 6px);min-width:0}.book-calendar-top small{display:block;margin:5px 0 0;font-size:9px}.book-calendar-top h3{font-size:16px}.book-week span{font-size:9px;padding:10px 0}.book-day{padding:7px 4px;min-height:88px;gap:5px}.book-day-number{font-size:11px}.book-calendar-label{font-size:8px;padding:2px 3px;line-height:1.5}.book-day-number i{font-size:7px}.book-day-marks{gap:3px}.book-legend{gap:5px}.book-status{font-size:9px;padding:3px 6px}.book-list-heading{align-items:start}.book-list-heading span{font-size:9px;max-width:160px;line-height:1.8}.book-record{gap:12px;flex-wrap:wrap;padding:14px}.book-record-date{min-width:76px}.book-record-date strong{font-size:11px}.book-record-info{flex:1 1 calc(100% - 95px)}.book-record-actions{display:flex;gap:15px;max-width:100%;margin-left:88px;flex-wrap:wrap;justify-items:start}.book-record-info h4{font-size:12px}.book-record-info p{font-size:10px!important}.book-profile{gap:15px;align-items:start}.book-profile>img{width:78px;height:104px}.book-profile h2{font-size:25px!important}.book-profile h2 small{display:block;margin:5px 0 0;font-size:11px}.book-profile .book-eyebrow{font-size:8px;letter-spacing:0}.book-profile p{font-size:10px!important}.book-profile-guide{display:block;padding:16px}.book-profile-guide .book-button{width:100%;margin-top:10px;font-size:13px}.book-modal{width:calc(100% - 20px)!important}.book-modal #modal-content{padding:20px 14px}.book-modal-tabs button,.book-main-tabs button{font-size:11px;padding:13px 10px}.book-form-grid{grid-template-columns:1fr;gap:15px}.book-wide{grid-column:auto}.book-form-grid input,.book-form-grid select,.book-form-grid textarea{font-size:12px}.book-detail-actions{gap:10px}.book-detail-actions .book-button{width:100%;font-size:12px}.book-note{font-size:10px!important;padding:12px!important}.book-button{max-width:100%}.book-calendar-top button{height:32px;width:32px}.book-day-marks .book-calendar-label{white-space:normal}}
@media(prefers-reduced-motion:reduce){.book-day,.book-button{transition:none}}

/* 可讲时间公布与不可约维护 */
.book-unavailable{color:#a66060;background:#f6e7e7}.book-entry-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.book-button.book-outline{background:white;color:#c46935;border-color:#efc2a1;box-shadow:none}.book-availability-panel{border:1px solid #f0dfcd;background:#fffdf9;border-radius:12px;padding:18px;margin:22px 0}.book-availability-panel>.book-list-heading{margin:0 0 12px}.book-availability-panel .book-record{background:white}.book-availability-panel .book-empty{padding:20px;font-size:11px}.book-availability-panel .book-record-info h4{font-size:13px}@media(max-width:700px){.book-entry-actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px;margin-top:14px}.book-entry-actions .book-button{width:100%;font-size:13px}.book-availability-panel{padding:13px}.book-availability-panel>.book-list-heading{gap:10px;align-items:center}.book-availability-panel .book-list-heading h3{font-size:15px}.book-availability-panel .book-list-heading .book-link{font-size:10px}}
/* Compact calendars: monthly records are opt-in; date cells never grow with record volume. */
.book-agenda{margin:20px 0 0;border:1px solid #f1dfce;border-radius:12px;background:#fff;overflow:hidden}
.book-agenda>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;padding:17px 19px;cursor:pointer;min-height:66px;background:#fffaf5}
.book-agenda>summary::-webkit-details-marker{display:none}
.book-agenda>summary:hover{background:#fff3e7}
.book-agenda>summary:focus-visible{outline:3px solid #ffad70;outline-offset:-3px}
.book-agenda-label{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0}.book-agenda-label strong{font-size:15px;color:#23324b}.book-agenda-label small{font-size:11px;color:#96a0ae;font-weight:400}
.book-agenda-toggle{display:flex;align-items:center;gap:10px;flex:none;font-size:12px;color:#dd6d20}.book-agenda-toggle i{font-style:normal;font-size:18px;transition:transform .18s}
.book-agenda .book-when-open{display:none}.book-agenda[open] .book-when-open{display:inline}.book-agenda[open] .book-when-closed{display:none}.book-agenda[open] .book-agenda-toggle i{transform:rotate(180deg)}
.book-agenda-body{padding:4px 16px 15px;border-top:1px solid #f6e8dc}.book-agenda:not([open])>.book-agenda-body{display:none}
.book-record-viewport{max-height:420px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffd2af transparent;padding-right:4px}
.book-paged-records .book-record{padding:13px;margin:10px 0;gap:15px}.book-paged-records .book-record-info h4{margin:5px 0}.book-paged-records .book-record-info p{margin:2px 0!important}
.book-record-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #f6e8dc;padding-top:12px;margin-top:8px}.book-record-pagination>span{font-size:11px;color:#8e99a9}.book-record-pagination>div{display:flex;gap:8px}
.book-page-button{font-size:11px;border:1px solid #f2d6bf;border-radius:7px;padding:8px 12px;color:#b86a33;background:white;min-height:34px}.book-page-button:hover:not(:disabled){background:#fff4e9}.book-page-button:disabled{opacity:.4;cursor:default}
.book-availability-panel>.book-agenda{margin-top:12px}
.book-calendar .book-day{height:112px;min-height:112px;overflow:hidden}.book-calendar .book-day-marks{flex-direction:column;align-items:flex-start;gap:3px}.book-calendar .book-calendar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;overflow-wrap:normal}.book-calendar-more{font-size:9px;line-height:1.5;color:#a17f66;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.book-agenda>summary{padding:14px 12px;gap:10px}.book-agenda-label{display:grid;gap:5px}.book-agenda-label strong{font-size:14px}.book-agenda-label small{font-size:10px}.book-agenda-toggle{font-size:11px;gap:5px}.book-agenda-body{padding:4px 9px 12px}.book-record-viewport{max-height:360px}.book-record-pagination{flex-wrap:wrap;gap:9px}.book-record-pagination>span{font-size:10px}.book-page-button{padding:7px 11px}.book-calendar .book-day{height:100px;min-height:100px}.book-calendar-more{font-size:8px}}
