:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#183d36;background:#f5f3ee;font-size:15px}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,textarea,select{font:inherit}button,.button{background:#183d36;color:white;border:1px solid #183d36;padding:11px 16px;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:600}button:hover,.button:hover{filter:brightness(1.09)}button.secondary,.button.secondary{background:#fff;color:#183d36;border-color:#ced7d0}button.quiet{background:transparent;border:0;color:#183d36;padding:7px}button.danger{color:#a44337}.small{padding:8px 10px;font-size:13px}h1,h2,h3,h4{line-height:1.22}h1{font-size:clamp(28px,5vw,44px);margin:5px 0 10px}h2{font-size:24px;margin:0 0 8px}h3{font-size:18px;margin:0 0 13px}h4{margin:24px 0 10px}p{margin:5px 0 15px}.container{max-width:1120px;margin:0 auto;padding:0 18px}.top{background:#fff;border-bottom:1px solid #e5e7e2}.topinner{display:flex;justify-content:space-between;align-items:center;min-height:75px;gap:12px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:19px;line-height:1.13}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.02em;margin-top:5px}.logo{display:grid;place-items:center;background:#183d36;color:#ebd3a3;border-radius:12px;width:42px;height:42px;font-size:27px}.welcome{padding:36px 0 17px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:#6b806f;margin:0 0 8px}.tabs{display:flex;gap:7px;overflow:auto;border-bottom:1px solid #d7dfd8;margin:7px 0 24px;padding-bottom:8px}.tab{background:transparent;color:#476056;border:0;white-space:nowrap}.tab.active{background:#183d36;color:white}.section{display:none}.section.active{display:block}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.heading p{color:#6b7b75}.panel{background:white;border:1px solid #e5e7e2;border-radius:17px;padding:22px;margin:0 0 20px;box-shadow:0 5px 22px #183d3608}.panel.slim{max-width:500px}.login{max-width:460px;margin:10vh auto 0;padding:32px}.login p{color:#66756d}.stack{display:flex;flex-direction:column;gap:13px}.stack label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}input,select,textarea{width:100%;border:1px solid #cdd6ce;background:#fff;color:#183d36;padding:11px;border-radius:10px;min-width:0}textarea{resize:vertical}.twocol,.split{display:grid;grid-template-columns:1fr 1fr;gap:17px}.hint{font-size:12px;color:#718078}.alert{margin-top:18px;padding:12px 16px;border-radius:10px}.alert.error{background:#fce8e4;color:#9a2a22}.alert.success{background:#ddecdf;color:#235c37}.calendar-head{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 15px}.calendar-head strong{min-width:180px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:22px}.day{background:white;border:1px solid #e2e8e1;border-radius:13px;min-height:165px;padding:10px 7px}.day.today{border-color:#b28e4b}.daytitle{font-size:12px;font-weight:750;margin-bottom:12px;text-align:center}.daytitle small{display:block;color:#728579;font-weight:400}.slot{display:block;width:100%;text-align:left;padding:7px;border-radius:8px;font-size:11px;line-height:1.3;margin:5px 0;overflow-wrap:anywhere;border:0;background:#e5f1e8;color:#1f5a41;cursor:pointer}.slot.booked{background:#efe7d5;color:#654d20;cursor:default}.slot.blocked{background:#e7e8e6;color:#5e6861;cursor:default}.slot.mine{background:#dbe8f4;color:#254b69}.empty{font-size:11px;color:#abb5ac;text-align:center;margin-top:35px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.compact-list{max-height:350px;overflow:auto}.listline{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e8ede9;padding:9px 0}.listline small{display:block;color:#79847c;font-size:11px}.listline strong{font-size:12px}.booking-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.pill{border-radius:99px;background:#e0eee4;color:#22533a;padding:6px 12px;font-size:12px;white-space:nowrap}.pill.completed{background:#dde7f5;color:#21476d}.pill.cancelled{background:#f8e4e1;color:#963b30}.log{border-left:3px solid #d6bd83;padding:4px 14px;margin:12px 0;white-space:normal}.log small{color:#748177}.addlog{margin-top:20px;border-top:1px solid #e9ece7;padding-top:18px}.inline{display:flex;align-items:center;gap:9px}.inline select{width:auto}.minutes{width:155px;font-size:12px}footer{text-align:center;color:#8a998d;font-size:11px;padding:55px 15px 30px}@media(max-width:700px){.split{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day{min-height:105px}.empty{margin-top:8px}.heading{align-items:flex-start}.panel{padding:17px}.twocol{grid-template-columns:1fr}.brand{font-size:17px}.booking-head{flex-wrap:wrap}.login{margin-top:7vh}}@media(min-width:701px) and (max-width:930px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
