:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#181c22;background:#f4f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#a70d20;color:white;padding:26px max(20px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}h1{font-size:clamp(25px,3vw,36px);margin:8px 0 3px}.brand{font-weight:900;letter-spacing:.08em;font-size:13px}.brand span{font-weight:400;letter-spacing:0}.sub{margin:0;color:#ffe7eb}main{max-width:1200px;margin:25px auto;padding:0 18px 40px}.toolbar,.month,.legend,.auth,.formActions,.dialogHead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:20px}.month h2{min-width:170px;text-align:center;font-size:21px;margin:0}.legend{margin:0 0 15px;gap:20px}.dot{display:inline-block;height:11px;width:11px;border-radius:50%;vertical-align:middle;margin-right:6px}.red{background:#b91c1c}.blue{background:#2563eb}button{border:0;border-radius:8px;padding:11px 14px;background:#a70d20;color:white;cursor:pointer;font:inherit;font-weight:650}button:hover{filter:brightness(.94)}button.secondary{color:#222;background:#e8e9ec}header button.secondary{background:#fff}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dfe2e8;background:#fff;border-radius:12px;overflow:hidden}.week{text-align:center;background:#f3f3f5;font-weight:700;font-size:12px;padding:12px 2px}.day{min-height:112px;border-top:1px solid #eceef2;border-right:1px solid #eceef2;padding:6px;overflow:hidden}.day:nth-child(7n){border-right:0}.day.empty{background:#f9f9fa}.date{font-size:13px;font-weight:700;margin-bottom:5px;padding:3px}.today .date{background:#a70d20;border-radius:50%;color:#fff;width:26px;height:26px;text-align:center}.event{padding:5px 6px;border-radius:5px;margin:3px 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.event.v1{background:#fee2e2;color:#811919;border-left:3px solid #b91c1c}.event.v2{background:#dbeafe;color:#16418d;border-left:3px solid #2563eb}.more{font-size:11px;color:#606873}.panel{background:#fff;border:1px solid #e1e3e7;border-radius:12px;padding:22px;margin-top:22px}.panel h2{font-size:20px}.booking{display:flex;gap:13px;padding:13px 0;border-top:1px solid #eee;align-items:center}.stripe{height:45px;width:5px;flex:none;border-radius:5px}.bookinginfo{flex:1;min-width:0}.bookinginfo div{margin:3px 0}.bookinginfo small,.hint{color:#67707b}.hidden{display:none!important}.error{background:#ffe4e6;color:#831522;border-radius:7px;padding:11px;margin:8px 0}.setup{max-width:650px;margin:35px auto}.setup .brand{color:#a70d20}.form,label{display:grid;gap:7px}label{margin:12px 0;font-weight:650;font-size:14px}input,select{font:inherit;width:100%;padding:11px;border:1px solid #cbd0d8;border-radius:7px;background:white}hr{border:0;border-top:1px solid #ddd;margin:15px 0}.login{max-width:450px;margin:10px 0 20px}dialog{border:0;border-radius:14px;box-shadow:0 15px 50px #0003;width:min(500px,95vw);max-height:95vh;overflow:auto;padding:24px}dialog::backdrop{background:#0008}.dialogHead{justify-content:space-between}.dialogHead h2{margin:0}.formActions{justify-content:space-between;margin-top:12px}.danger{background:#be123c}@media(max-width:650px){header{padding:20px}.day{min-height:75px;padding:3px}.week{font-size:11px;padding:9px 0}.event{font-size:9px;padding:3px 2px}.date{font-size:12px}.booking{align-items:flex-start}.month h2{min-width:135px;font-size:18px}}
