.request-section{background:#f4f5ee}.request-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:start}.calendar-card,.request-form{padding:32px;background:#fff;border:1px solid #dce3d9;border-radius:16px}.step-label{font-size:12px;font-weight:700;letter-spacing:.13em;margin:0 0 24px;color:#45685c}.request-section label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px}.request-section label>span{font-weight:400}.request-section input,.request-section select,.request-section textarea{font:inherit;background:#fff;color:#153e35;border:1px solid #bfcdbf;border-radius:8px;padding:12px;width:100%;min-width:0}.request-section input:focus-visible,.request-section select:focus-visible,.request-section textarea:focus-visible,.request-section button:focus-visible{outline:3px solid #4f7e35;outline-offset:3px}.calendar-selectors{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.availability-status{font-size:13px;line-height:1.55;min-height:42px;color:#45685c;margin:18px 0}.availability-status.error{color:#8b422c}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{text-align:center;font-size:12px;padding:8px 0;color:#648071}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:54px;padding:5px 0;font:inherit;font-size:15px;border:1px solid #b5c9a2;border-radius:9px;background:#eff5e3;color:#153e35;cursor:pointer}.calendar-day small{font-size:10px;font-weight:500}.calendar-day.busy{background:#f8eee9;border-color:#d9c3b8;color:#84452f}.calendar-day:disabled{background:#f6f6f2;color:#a1a99d;border-color:#e3e6df;cursor:default}.calendar-day[aria-pressed=true]{background:#153e35;border-color:#153e35;color:#fff}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 15px;font-size:11px;color:#607266;margin-top:18px}.calendar-legend span{display:flex;align-items:center;gap:5px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.free{background:#719446}.dot.busy{background:#b3785b}.dot.unknown{background:#b8c0b2}.time-selection{border-top:1px solid #e1e6da;margin-top:26px;padding-top:24px}.time-selection h3{font-size:20px;margin:0 0 8px}.time-note,.request-footnote{font-size:12px;line-height:1.6;color:#627466}.hour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.hour-button{background:#fff;border:1px solid #a9be9c;border-radius:8px;padding:10px;font:inherit;color:#153e35;cursor:pointer;text-align:left}.hour-button small{display:block;font-size:11px;margin-top:3px;color:#607a55}.hour-button:disabled{cursor:default;background:#f7f2ed;border-color:#e0d4cb;color:#a08675}.hour-button:disabled small{color:inherit}.hour-button[aria-pressed=true]{background:#153e35;color:#fff}.hour-button[aria-pressed=true] small{color:#dcf09d}.request-form{display:grid;gap:20px}.request-form .step-label{margin:0 0 4px}.request-summary{background:#f3f6eb;border-left:3px solid #abc77a;padding:14px;font-size:14px;line-height:1.5}.request-section .privacy-check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6;font-size:12px}.request-section .privacy-check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#153e35}.privacy-check a,.request-fallback a{text-decoration:underline}.request-form .button{justify-content:space-between;cursor:pointer;border:0}.request-form .button:disabled{opacity:.5;cursor:not-allowed}.request-form .request-footnote{margin:0}.request-fallback{font-size:12px;line-height:1.6;margin:0}.request-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#request-result:empty{display:none}#request-result{padding:14px;background:#f3f6eb;font-size:14px;line-height:1.6;margin:0}#request-result.error{background:#fff0e9;color:#8b422c}@media(max-width:850px){.request-layout{grid-template-columns:1fr}.calendar-card,.request-form{padding:24px}}@media(max-width:420px){.calendar-card,.request-form{padding:18px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day{min-height:49px}.calendar-day small{font-size:9px}.hour-button{font-size:13px}.request-section .section-top p{max-width:100%}}
.calendar-retry{border:1px solid #abc77a;background:#eff5e3;color:#153e35;border-radius:8px;padding:10px 14px;cursor:pointer;font:inherit;font-size:12px;margin-bottom:16px}.calendar-retry[hidden]{display:none}
