.b180-booking-wrap{--navy:#06285c;--green:#00d982;--ink:#082d24;--muted:#647b73;--line:#dbe8e2;max-width:1320px;margin:0 auto;padding:72px 28px 120px;color:var(--ink);font-size:17px;line-height:1.7}
.b180-booking-wrap *{box-sizing:border-box}
.b180-booking-eyebrow{margin:0 0 12px;color:#008f61;font-size:15px;font-weight:900;letter-spacing:.18em}
.b180-booking-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:50px;align-items:center;margin-bottom:52px;padding:62px;border-radius:32px;background:linear-gradient(135deg,#e8f9f3,#f7fbf9)}
.b180-booking-hero h1{margin:0 0 22px;color:var(--navy);font-size:clamp(40px,5vw,70px);line-height:1.12;letter-spacing:-.045em}
.b180-booking-hero p{margin:0;color:#58766c;font-size:20px}
.b180-booking-hero-card{padding:32px;border-radius:24px;background:var(--navy);color:#fff;box-shadow:0 22px 50px rgba(6,40,92,.18)}
.b180-booking-hero-card span,.b180-booking-hero-card small{display:block;color:#b7d6cc;font-size:16px}
.b180-booking-hero-card strong{display:block;margin:10px 0;font-size:26px}
.b180-booking-notice{margin-bottom:28px;padding:18px 22px;border:2px solid #8ee9c4;border-radius:16px;background:#ecfff7;color:#07573e;font-size:18px;font-weight:800}
.b180-booking-panel,.b180-booking-section,.b180-booking-gate{margin:28px 0;padding:38px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 14px 40px rgba(8,45,36,.06)}
.b180-booking-panel h2,.b180-booking-section h2,.b180-booking-gate h1,.b180-booking-gate h2{margin:0 0 12px;color:var(--navy);font-size:34px;line-height:1.25}
.b180-booking-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:0;border-radius:999px;background:var(--navy);color:#fff!important;font-size:18px;font-weight:900;text-decoration:none;cursor:pointer}
.b180-booking-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.b180-booking-form label{display:flex;flex-direction:column;gap:8px}.b180-booking-form label.is-wide{grid-column:span 2}
.b180-booking-form label>span{font-size:16px;font-weight:850}
.b180-booking-form input,.b180-booking-form select,.b180-booking-form textarea,.b180-manage-slot input,.b180-manage-slot select{width:100%;min-height:50px;padding:11px 14px;border:1px solid #cbdcd5;border-radius:12px;background:#fff;color:var(--ink);font-size:16px}
.b180-booking-form button{grid-column:1/-1;justify-self:start}
.b180-teacher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.b180-teacher-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}
.b180-teacher-head{display:flex;align-items:center;gap:18px;padding:24px;background:#f0faf6}
.b180-teacher-head>span{display:grid;width:66px;height:66px;place-items:center;border-radius:50%;background:var(--navy);color:var(--green);font-size:28px;font-weight:950}
.b180-teacher-head small{color:#008f61;font-weight:900;letter-spacing:.12em}.b180-teacher-head h3{margin:3px 0 0;color:var(--navy);font-size:25px}
.b180-slot-list{padding:16px}.b180-slot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 8px;border-bottom:1px solid #edf3f0}
.b180-slot:last-child{border-bottom:0}.b180-slot strong,.b180-slot span{display:block}.b180-slot strong{font-size:18px}.b180-slot span{color:var(--muted);font-size:16px}
.b180-slot button{min-width:86px;min-height:46px;border:0;border-radius:999px;background:var(--green);color:#063d30;font-size:16px;font-weight:900;cursor:pointer}
.b180-my-bookings,.b180-manage-list{display:grid;gap:14px;margin-top:24px}.b180-my-booking,.b180-manage-slot{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;border:1px solid var(--line);border-radius:18px}
.b180-my-booking span{display:inline-block;margin-bottom:7px;padding:3px 10px;border-radius:999px;background:#dff8ee;color:#007952;font-size:14px;font-weight:900}
.b180-my-booking strong,.b180-my-booking small{display:block}.b180-my-booking strong{font-size:20px}.b180-my-booking small{color:var(--muted);font-size:16px}
.b180-my-booking.is-cancelled{opacity:.65}.b180-booking-actions{display:flex;align-items:center;gap:12px}.b180-booking-actions a{padding:11px 18px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font-weight:850}
.b180-booking-actions button,.b180-manage-slot button{min-height:42px;padding:0 16px;border:1px solid #b8ccc4;border-radius:10px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}
.b180-booking-actions em{color:var(--muted);font-style:normal}
.b180-manage-slot{position:relative;align-items:flex-start}.b180-manage-slot>div{min-width:260px}.b180-manage-slot strong,.b180-manage-slot span{display:block}.b180-manage-slot strong{font-size:18px}.b180-manage-slot span{color:var(--muted)}
.b180-manage-slot form{display:grid;grid-template-columns:1.2fr 1fr 130px 70px;gap:10px;flex:1}.b180-booking-delete{color:#b42318;font-weight:800}
.b180-booking-empty{padding:22px;border-radius:14px;background:#f5f9f7;color:var(--muted);font-size:17px}
.b180-booking-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 0;padding:0;list-style:none;counter-reset:guide}.b180-booking-guide li{padding:20px;border-radius:16px;background:#f1f8f5;counter-increment:guide}.b180-booking-guide li:before{content:counter(guide,decimal-leading-zero);display:block;margin-bottom:10px;color:#00a66d;font-weight:950}.b180-booking-guide strong,.b180-booking-guide span{display:block}.b180-booking-guide strong{font-size:17px}.b180-booking-guide span{margin-top:6px;color:var(--muted);font-size:15px}.b180-booking-guide a{color:var(--navy);font-weight:850}
.b180-booking-table-wrap{overflow:auto;margin-top:24px}.b180-booking-table{width:100%;min-width:900px;border-collapse:collapse}.b180-booking-table th,.b180-booking-table td{padding:15px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.b180-booking-table th{background:#f2f8f5;color:#47675c;font-size:14px}.b180-booking-table td{font-size:15px}.b180-booking-table select{min-height:40px;border:1px solid #cbdcd5;border-radius:9px}.b180-booking-table button{min-height:40px;margin-left:6px;padding:0 13px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-weight:800}
.b180-booking-gate{text-align:center;padding:60px}.b180-booking-gate p{margin:0 auto 24px;max-width:700px;color:var(--muted);font-size:19px}
.b180-booking-admin{max-width:none;padding:20px 0}.b180-booking-admin>h1{font-size:32px}
@media(max-width:980px){.b180-booking-hero{grid-template-columns:1fr;padding:42px}.b180-booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.b180-teacher-grid{grid-template-columns:1fr}.b180-manage-slot{display:block}.b180-manage-slot form{grid-template-columns:1fr 1fr;margin-top:16px}.b180-booking-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.b180-booking-wrap{padding:40px 18px 80px;font-size:17px}.b180-booking-hero{padding:30px 22px;border-radius:22px}.b180-booking-hero h1{font-size:38px}.b180-booking-hero p{font-size:18px}.b180-booking-panel,.b180-booking-section,.b180-booking-gate{padding:24px 18px;border-radius:20px}.b180-booking-panel h2,.b180-booking-section h2,.b180-booking-gate h1,.b180-booking-gate h2{font-size:28px}.b180-booking-form{grid-template-columns:1fr}.b180-booking-form label.is-wide{grid-column:auto}.b180-my-booking,.b180-slot{align-items:flex-start;flex-direction:column}.b180-booking-actions{width:100%;flex-wrap:wrap}.b180-manage-slot form{grid-template-columns:1fr}.b180-booking-button{width:100%}.b180-booking-guide{grid-template-columns:1fr}}
