.sch-overlay{z-index:9999;backdrop-filter:blur(4px);opacity:0;background:#070b128c;justify-content:center;align-items:center;padding:16px;transition:opacity .2s;display:none;position:fixed;inset:0}.sch-overlay.open{opacity:1;display:flex}body[data-theme=dark] .sch-overlay{background:#000000a6}.sch-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 32px);transition:transform .22s;display:flex;position:relative;overflow:hidden;transform:translateY(12px);box-shadow:0 24px 60px #0f172a40}.sch-overlay.open .sch-modal{transform:translateY(0)}body[data-theme=dark] .sch-modal{background:#0f1728;box-shadow:0 24px 60px #00000080}.sch-modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:flex-start;gap:8px;padding:24px 28px 16px;display:flex}body[data-theme=dark] .sch-modal-header{border-color:#243247}.sch-header-inner{flex:1;min-width:0}.sch-title{color:#152d52;margin:0;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:22px;font-weight:800;line-height:1.3}body[data-theme=dark] .sch-title{color:#f8fafc}.sch-subtitle{color:#708195;margin:6px 0 0;font-size:13px;line-height:1.6}body[data-theme=dark] .sch-subtitle{color:#94a3b8}.sch-close{color:#708195;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;transition:background .15s,color .15s;display:flex}.sch-close:hover{color:#152d52;background:#f1f5f9}body[data-theme=dark] .sch-close{color:#94a3b8}body[data-theme=dark] .sch-close:hover{color:#e7eef8;background:#1e293b}.sch-modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:20px 28px;overflow-y:auto}.sch-modal-body::-webkit-scrollbar{width:4px}.sch-modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}body[data-theme=dark] .sch-modal-body::-webkit-scrollbar-thumb{background:#243247}.sch-section{margin-bottom:22px}.sch-section:last-child{margin-bottom:0}.sch-two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sch-two-col .sch-section{margin-bottom:0}@media (width<=480px){.sch-two-col{grid-template-columns:1fr;gap:22px}.sch-two-col .sch-section{margin-bottom:0}}.sch-label{color:#152d52;align-items:center;gap:8px;margin-bottom:12px;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:13px;font-weight:700;display:flex}body[data-theme=dark] .sch-label{color:#e7eef8}.sch-time-note{color:#708195;font-size:11px;font-weight:400}.sch-date-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.sch-date-item{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 0 8px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.sch-date-item:hover{border-color:#2d96ce}.sch-date-item.selected{background:#fff7ed;border-color:#ea580c}body[data-theme=dark] .sch-date-item{background:#162236;border-color:#243247}body[data-theme=dark] .sch-date-item:hover{border-color:#2d96ce}body[data-theme=dark] .sch-date-item.selected{background:#ea580c26;border-color:#ea580c}.sch-date-day{color:#708195;text-transform:uppercase;letter-spacing:.04em;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:10px;font-weight:700}.sch-date-num{color:#152d52;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:17px;font-weight:800;line-height:1}.sch-date-mon{color:#708195;font-size:9px}.sch-date-item.selected .sch-date-day,.sch-date-item.selected .sch-date-num{color:#ea580c}body[data-theme=dark] .sch-date-num{color:#e7eef8}body[data-theme=dark] .sch-date-item.selected .sch-date-num{color:#ea580c}.sch-time-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sch-time-item{color:#152d52;text-align:center;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 0;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,color .15s}.sch-time-item:hover{border-color:#2d96ce}.sch-time-item.selected{color:#fff;background:#ea580c;border-color:#ea580c}body[data-theme=dark] .sch-time-item{color:#e7eef8;background:#162236;border-color:#243247}body[data-theme=dark] .sch-time-item:hover{border-color:#2d96ce}body[data-theme=dark] .sch-time-item.selected{color:#fff;background:#ea580c;border-color:#ea580c}.sch-no-time{color:#708195;text-align:center;padding:12px 0;font-size:12px}.sch-input{color:#152d52;box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback,Arial,sans-serif;font-size:14px;transition:border-color .15s}.sch-input:focus{border-color:#2d96ce}.sch-input::placeholder{color:#94a3b8}.sch-input.error,.sch-input.error:focus{border-color:#ef4444}.sch-err-msg{color:#ef4444;margin-top:5px;font-size:11px;display:none}.sch-err-msg.show{display:block}body[data-theme=dark] .sch-input{color:#e7eef8;background:#162236;border-color:#243247}body[data-theme=dark] .sch-input:focus{border-color:#2d96ce}.sch-modal-footer{border-top:1px solid #e2e8f0;flex-shrink:0;padding:16px 28px 24px}body[data-theme=dark] .sch-modal-footer{border-color:#243247}.sch-submit{color:#fff;cursor:pointer;background:#ea580c;border:0;border-radius:10px;width:100%;padding:14px;font-family:Sora,Sora Fallback,Arial,sans-serif;font-size:14px;font-weight:800;transition:opacity .15s,transform .1s}.sch-submit:hover{opacity:.92}.sch-submit:active{transform:scale(.98)}.sch-submit:disabled{opacity:.4;cursor:not-allowed}.sch-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 28px;display:none}.sch-success.show{display:flex}.sch-success-icon{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.sch-success p{color:#152d52;margin:0;font-size:14px;line-height:1.5}body[data-theme=dark] .sch-success p{color:#e7eef8}@media (width<=520px){.sch-date-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=380px){.sch-date-grid,.sch-time-grid{grid-template-columns:repeat(3,1fr)}.sch-modal-header{padding:20px 20px 14px}.sch-modal-body{padding:16px 20px}.sch-modal-footer{padding:14px 20px 20px}}
