.mbc21{--accent:#166534;max-width:1160px;margin:32px auto;font-family:Inter,system-ui,sans-serif;color:#172019}.mbc21 *{box-sizing:border-box}.card{background:#fff;border:1px solid #e4e9e5;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.08);overflow:hidden}.card header{padding:30px 34px;border-bottom:1px solid #edf0ed}.card header span{font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--accent)}.card h2{font-size:30px;margin:5px 0 8px}.card header p{margin:0;color:#69746c}.layout{display:grid;grid-template-columns:1.15fr .85fr}.layout>section{padding:30px 34px}.formbox{background:#f7f9f7;border-left:1px solid #edf0ed}.calhead{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:18px}.calhead strong{text-align:center}.calhead button{height:40px;border:1px solid #dde3de;background:#fff;border-radius:11px;font-size:24px}.week,.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week b{text-align:center;font-size:10px;color:#89928c;padding-bottom:7px}.day{min-height:70px;border:1px solid #e1e6e2;background:#fff;border-radius:12px;cursor:pointer}.day b,.day small{display:block}.day small{font-size:9px;margin-top:5px;color:#718077}.day.partial{background:#fff8df;border-color:#e9cf72}.day.full,.day:disabled{background:#f0f2f1;color:#a6aca8;cursor:not-allowed}.day.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.day.selected small{color:#eaf4ed}.day.blocked{opacity:.5}.chosen{margin-top:17px;padding:12px;background:#f5f7f5;border-radius:11px;font-size:12px}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.types input{position:absolute;opacity:0}.types span{display:flex;flex-direction:column;text-align:center;padding:11px 5px;border:1px solid #dce2dd;background:#fff;border-radius:11px;cursor:pointer}.types input:checked+span{border:2px solid var(--accent);padding:10px 4px;background:#f0f8f2}.types small{font-size:9px}.field{display:block;font-size:12px;font-weight:700;margin:14px 0}.field input,.field textarea{display:block;width:100%;margin-top:6px;border:1px solid #dbe1dc!important;border-radius:11px!important;padding:12px!important;background:#fff!important}.submit{width:100%;padding:14px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-weight:800;margin-top:12px}.bad,.good{padding:11px;border-radius:9px;margin-top:10px;font-size:12px}.bad{background:#fee2e2;color:#991b1b}.good{background:#dcfce7;color:#166534}@media(max-width:800px){.layout{grid-template-columns:1fr}.formbox{border-left:0;border-top:1px solid #edf0ed}.layout>section,.card header{padding:22px}.day{min-height:54px}.day small{display:none}}
.human-check{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px 14px;background:#fff;border:1px solid #dbe1dc;border-radius:11px;font-size:13px;font-weight:700}.human-check input{width:18px;height:18px;accent-color:var(--accent)}

/* Symon Booking System V2.2 branding */
.symon-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.symon-mark{display:inline-flex!important;width:42px;height:42px;align-items:center;justify-content:center;border-radius:11px;background:#1677ff;color:#fff!important;font-size:25px!important;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 22px rgba(22,119,255,.25)}
.symon-word{display:inline-block!important;color:#1677ff!important;font-size:25px!important;font-weight:900!important;letter-spacing:.08em!important}
.symon-credit{text-align:center;padding:13px 18px 17px;color:#87909a;font-size:11px;border-top:1px solid #edf0ed}
.symon-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.human-check{display:flex;align-items:center;gap:9px;margin:14px 0;font-weight:700;font-size:13px}
.human-check input{width:18px;height:18px;accent-color:#1677ff}

/* Symon V2.4 configurable booking-state colours */
.mbc21 .day:not(.past):not(.booked):not(.full):not(.am-booked):not(.pm-booked),
.mbc21 .cal-day:not(.past):not(.booked):not(.full):not(.am-booked):not(.pm-booked){background:var(--available)!important}
.mbc21 .day.am-booked,.mbc21 .cal-day.am-booked,.mbc21 [data-status="am"],.mbc21 [data-status="morning"]{background:var(--morning)!important}
.mbc21 .day.pm-booked,.mbc21 .cal-day.pm-booked,.mbc21 [data-status="pm"],.mbc21 [data-status="afternoon"]{background:var(--afternoon)!important}
.mbc21 .day.booked,.mbc21 .day.full,.mbc21 .cal-day.booked,.mbc21 .cal-day.full,.mbc21 [data-status="booked"],.mbc21 [data-status="full"]{background:var(--booked)!important}
