/* Customer requests retain the existing calm, compact SLOPE visual language. */
.portal-refresh{border:0;background:transparent;color:#476e62;font-size:11px;padding:8px 0;min-height:44px;white-space:nowrap}.lesson-section>.timezone{margin:0 0 12px;text-align:right}.lesson-actions{margin-top:18px;display:flex;justify-content:flex-end}.change-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border-radius:8px;border:1px solid #b9cec1;padding:11px 16px;font-size:12px;line-height:1.5;letter-spacing:-.2px;font-weight:500}.change-button.secondary{background:#fff;color:#3d6c5b}.change-button.primary{background:#24564b;border-color:#24564b;color:#fff}.change-button:hover:not(:disabled){filter:brightness(.97)}.change-button:disabled{cursor:default;opacity:.48}.change-button:focus-visible,.change-time:focus-visible,.change-close:focus-visible,.portal-refresh:focus-visible,.change-text-button:focus-visible{outline:3px solid #a9c6ac;outline-offset:3px}.change-dialog{width:min(630px,calc(100vw - 36px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #d2e0d5;border-radius:18px;color:#244647;background:#fff;box-shadow:0 25px 90px #173c4040;overflow:auto;overscroll-behavior:contain}.change-dialog::backdrop{background:#173c4060;backdrop-filter:blur(3px)}.change-header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#f7faf6;border-bottom:1px solid #e2eae1;padding:25px 28px 21px}.change-header h2{font-size:24px;font-weight:500;letter-spacing:-.8px;margin:10px 0 7px}.change-header p{margin:0;font-size:12px;color:#6f8e7c;overflow-wrap:anywhere;line-height:1.8}.change-close{flex-shrink:0;background:#fff;border:1px solid #d9e5d8;color:#507a65;width:44px;height:44px;border-radius:50%;font-size:25px;font-weight:300;line-height:1}.change-close:disabled{opacity:.4;cursor:default}.change-body{padding:24px 28px}.change-demo{font-size:11px;background:#fcf6e6;color:#8e713c;padding:11px 28px;line-height:1.8;border-bottom:1px solid #e9dfc2}.change-current,.change-proposed{border:1px solid #dbe7db;border-radius:10px;padding:17px 19px;background:#f2f7f0;display:flex;flex-direction:column;gap:8px}.change-current>span,.change-proposed>span{font-size:10px;color:#6b8c70}.change-current>strong,.change-proposed>strong{font-size:16px;font-weight:500;line-height:1.7;letter-spacing:-.4px}.change-current>small,.change-proposed>small{font-size:10px;color:#7a987e;line-height:1.9}.change-policy{margin:21px 0 24px;color:#66836c;font-size:11px;line-height:1.9}.change-policy>strong{font-size:12px;color:#456c55;font-weight:500}.change-policy>p{margin:7px 0}.change-policy>small{display:block;color:#8a997a;font-size:10px}.change-field{display:flex;flex-direction:column;gap:9px;margin:20px 0}.change-field>span{font-size:12px;font-weight:500;color:#446b59}.change-field>span small{font-size:10px;font-weight:400;color:#8ea28e;margin-left:5px}.change-field input,.change-field textarea{font:inherit;min-width:0;width:100%;border:1px solid #ceddcf;border-radius:8px;background:#fff;color:#315c4b;padding:12px 13px;font-size:14px;line-height:1.7}.change-field input{min-height:48px}.change-field textarea{resize:vertical;min-height:100px}.change-field textarea::placeholder{color:#96aa98;font-size:12px}.change-field input:focus,.change-field textarea:focus{outline:2px solid #91b49b;outline-offset:1px;border-color:#91b49b}.change-times{padding:0;border:0;margin:25px 0 20px;min-width:0}.change-times legend{font-size:12px;color:#446b59;font-weight:500;padding:0;margin-bottom:12px}.change-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.change-time{border:1px solid #d2e2d3;border-radius:8px;background:#fff;color:#487156;padding:12px 5px;text-align:center;min-height:65px}.change-time strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}.change-time small{display:block;color:#879f87;font-size:9px;margin-top:7px;font-variant-numeric:tabular-nums}.change-time[aria-pressed=true]{background:#eaf4e7;border:2px solid #588769;padding:11px 4px}.change-time[aria-pressed=true] strong{color:#2b6145}.change-time:disabled{opacity:.45;cursor:default}.change-hint,.change-empty{font-size:12px;line-height:1.9;color:#829783;margin:0;background:#f6f8f3;padding:17px;border:1px dashed #d7e1d2;border-radius:8px}.change-empty{color:#8a7c5d;background:#fbf8ee;border-color:#e8debd}.change-proposed{margin:20px 0;background:#ecf5e9;border-color:#c7ddc1}.change-submit{padding-top:4px;text-align:center}.change-submit>p{color:#7a977d;font-size:11px;line-height:1.8;margin:0 0 12px}.change-submit .change-button{width:100%;min-height:48px;font-size:13px}.change-error,.change-success,.change-unavailable{border-radius:8px;padding:14px 16px;font-size:12px;line-height:1.9;margin:18px 0;overflow-wrap:anywhere}.change-error{background:#fff1eb;color:#955a3c;border:1px solid #ecd0bf}.change-error>p{margin:0 0 6px}.change-text-button{border:0;background:transparent;padding:9px 0;min-height:44px;color:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px}.change-success{background:#eaf6eb;border:1px solid #c9e2c7;color:#40714b}.change-unavailable{background:#f8f5e9;border:1px solid #e8dfc3;color:#87784e}.change-loading{padding:20px 8px;text-align:center;color:#7f9980;font-size:12px;line-height:1.8}.change-history{margin:28px 0 0;border-top:1px solid #e2eae0;padding-top:22px}.change-history h3{font-size:14px;font-weight:500;color:#476b55;margin:0 0 14px}.change-history-item{border:1px solid #dee7dc;border-radius:9px;padding:16px;margin-bottom:10px}.change-history-item.pending{border-color:#dbcfaa;background:#fffdf6}.change-history-item>header{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:12px}.change-status{padding:4px 7px;font-size:10px;border-radius:5px;color:#7e8b76;background:#f0f3ec}.change-status.pending{color:#9b792c;background:#f9efd2}.change-status.approved{color:#467e4e;background:#eaf5e8}.change-status.rejected{color:#a0694c;background:#fbede5}.change-status.stale{color:#88694f;background:#f3eadf}.change-history-item header small{font-size:9px;color:#93a18c}.change-history-item>strong{font-size:13px;font-weight:500;color:#41664f;line-height:1.8}.change-history-item p{font-size:11px;color:#81937d;line-height:1.9;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere}.change-history-item .change-review-note{color:#627f60;background:#f2f6ee;padding:10px 12px;border-radius:6px}.change-history-item .change-button{font-size:10px;padding:8px 12px;min-height:44px;margin-top:4px}.change-footer{display:flex;justify-content:center;margin-top:26px}.change-footer .change-button{font-size:11px}.change-dialog[open]{animation:change-appear .18s ease-out}@keyframes change-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.change-dialog[open]{animation:none}}@media(max-width:620px){.portal-refresh{font-size:10px}.lesson-actions{justify-content:stretch;margin-top:16px}.lesson-actions .change-button{width:100%;justify-content:space-between;font-size:11px;min-height:44px}.change-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 18px);margin:auto 0 0;border-radius:17px 17px 0 0}.change-header{padding:21px 20px 17px}.change-header h2{font-size:21px}.change-header p{font-size:11px}.change-body{padding:20px 20px max(24px,env(safe-area-inset-bottom))}.change-demo{padding:10px 20px;font-size:10px}.change-current,.change-proposed{padding:15px}.change-current>strong,.change-proposed>strong{font-size:14px}.change-policy{font-size:11px;line-height:1.85}.change-field input,.change-field textarea{font-size:16px}.change-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.change-time strong{font-size:15px}.change-history-item>header{gap:7px;flex-wrap:wrap}.change-history-item>strong{font-size:12px}.change-close{width:44px;height:44px}.change-button.primary{min-height:50px}}

/* Keep the date picker near the current booking; retain every approval policy. */
@media(min-width:800px){.lesson-actions{margin-top:12px}.change-header{padding:16px 22px}.change-header h2{font-size:22px;margin:6px 0}.change-body{padding:18px 22px}.change-demo{padding:8px 22px}.change-current,.change-proposed{padding:12px 15px;gap:5px}.change-policy{margin:14px 0 17px}.change-field{margin:15px 0}.change-times{margin:18px 0}.change-history{margin-top:20px;padding-top:17px}.change-footer{margin-top:18px}}
