:root{--esb-blue:#145da0;--esb-blue2:#0c477d;--esb-ink:#17212b;--esb-soft:#f3f7fb;--esb-line:#d9e2ec;--esb-ok:#147d51;--esb-bad:#a43c3c}.esb-app{max-width:1040px;margin:32px auto;color:var(--esb-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.esb-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.esb-head h2{margin:.2rem 0;font-size:clamp(1.55rem,4vw,2.25rem)}.esb-kicker{color:var(--esb-blue);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.esb-card{background:#fff;border:1px solid var(--esb-line);border-radius:16px;padding:clamp(18px,3vw,28px);box-shadow:0 6px 24px rgba(28,57,90,.07);margin:18px 0}.esb-card h3{margin-top:0}.esb-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.esb-section-head h3{margin-bottom:4px}.esb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:0;border-radius:9px;background:var(--esb-blue);color:#fff!important;text-decoration:none!important;font-weight:700;cursor:pointer}.esb-btn:hover{background:var(--esb-blue2)}.esb-btn:disabled{opacity:.45;cursor:not-allowed}.esb-btn.esb-muted{background:#e8eef4;color:var(--esb-ink)!important}.esb-btn.esb-small{min-height:36px;padding:7px 11px;font-size:.86rem}.esb-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.esb-form input{box-sizing:border-box;width:100%;min-height:44px;padding:9px 11px;border:1px solid #aebdca;border-radius:8px;background:#fff;color:var(--esb-ink);font:inherit}.esb-schedule-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;align-items:end;padding:15px;margin:10px 0;background:var(--esb-soft);border:1px solid var(--esb-line);border-radius:11px}.esb-remove-row{min-height:44px;padding:8px 12px;border:1px solid #d8aaaa;border-radius:8px;background:#fff;color:var(--esb-bad);cursor:pointer}.esb-form-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.esb-parent-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:800px;margin-bottom:28px}.esb-parent-fields .esb-child{margin:0}.esb-parent-fields span{color:var(--esb-bad)}.esb-copy{display:flex;gap:8px}.esb-copy input{flex:1;min-width:0;padding:10px;border:1px solid var(--esb-line);border-radius:8px}.esb-help,.esb-privacy{color:#586b7d;font-size:.9rem}.esb-day{margin:24px 0}.esb-day h4{margin-bottom:10px}.esb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.esb-slot{display:flex!important;flex-direction:column!important;gap:3px!important;padding:13px;border:2px solid var(--esb-line);border-radius:11px;cursor:pointer}.esb-slot:has(input:checked){border-color:var(--esb-blue);background:#eaf4ff}.esb-slot input{position:absolute;opacity:0;pointer-events:none}.esb-slot.is-booked{background:#f1f2f3;color:#68737d;cursor:not-allowed}.esb-time{font-weight:800}.esb-status{font-size:.82rem;color:var(--esb-ok)}.is-booked .esb-status{color:#69737d}.esb-teacher-slot{cursor:default;min-height:118px}.esb-teacher-slot.is-booked{border-color:#9eb7d2;background:#edf4fb}.esb-teacher-slot.is-past{opacity:.72}.esb-child-name{margin-top:5px;font-size:.9rem;font-weight:700}.esb-teacher-slot form{margin-top:auto;padding-top:9px}.esb-card-delete{padding:4px 0;border:0;background:transparent;color:var(--esb-bad);font-weight:700;text-decoration:underline;cursor:pointer}.esb-list-title{margin-top:24px}.esb-past-details{margin-top:28px;border-top:1px solid var(--esb-line);padding-top:18px}.esb-past-details summary{cursor:pointer;font-weight:700;color:#52687c}.esb-submit{margin-top:18px}.esb-notice{padding:14px 16px;border-radius:10px;background:#e6f6ed;border-left:4px solid var(--esb-ok);margin:15px 0}.esb-notice.esb-error{background:#fff0f0;border-color:var(--esb-bad)}.esb-table-wrap{overflow-x:auto}.esb-table{width:100%;border-collapse:collapse}.esb-table th,.esb-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--esb-line);vertical-align:top}.esb-actions{display:flex;flex-wrap:wrap;gap:7px}.esb-actions input{min-height:36px;border:1px solid var(--esb-line);border-radius:7px}.esb-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff0c9;font-size:.82rem;font-weight:700}.esb-confirmed{background:#dff4e8;color:#08613b}.esb-proposed{background:#e8eefb;color:#274b8b}.esb-mail-ok{color:var(--esb-ok);font-weight:700}.esb-mail-failed{color:var(--esb-bad);font-weight:700}.esb-delete-btn{min-height:36px;padding:7px 11px;border:1px solid #d8aaaa;border-radius:8px;background:#fff;color:var(--esb-bad);font-weight:700;cursor:pointer}.esb-delete-btn:hover{background:#fff0f0}.esb-delete-all{white-space:nowrap}.esb-login{max-width:560px;margin:60px auto;text-align:center}.esb-empty{padding:18px;background:var(--esb-soft);border-radius:9px}@media(max-width:860px){.esb-section-head{flex-direction:column}.esb-schedule-row{grid-template-columns:1fr 1fr}.esb-remove-row{grid-column:1/-1}.esb-app{margin:18px 10px}.esb-head{align-items:flex-start;flex-direction:column}.esb-copy{flex-direction:column}.esb-table thead{display:none}.esb-table,.esb-table tbody,.esb-table tr,.esb-table td{display:block}.esb-table tr{padding:10px 0;border-bottom:2px solid var(--esb-line)}.esb-table td{border:0;padding:6px 0}}@media(max-width:560px){.esb-parent-fields,.esb-schedule-row{grid-template-columns:1fr}.esb-slots{grid-template-columns:1fr 1fr}}
