*{box-sizing:border-box}body{margin:0;background:#f1f4f3;color:#233b35;font:16px/1.5 'Segoe UI',sans-serif;display:flex;min-height:100vh}aside{width:245px;background:#233f35;color:#f7f7e9;padding:30px 22px;flex-shrink:0}.brand{font:38px Georgia,serif}nav{display:grid;gap:8px;margin:36px 0}nav a{color:inherit;text-decoration:none;padding:12px;border-radius:7px}nav a:hover{background:#315c4b}aside small{display:block;margin-top:36px}main{width:100%;max-width:1280px;padding:30px 40px}header{display:flex;justify-content:space-between;border-bottom:1px solid #dfe8e2;padding-bottom:20px;gap:20px}header span{color:#596d62}h1{font:36px Georgia,serif;margin:28px 0 12px}h2{font-size:22px;margin:0 0 12px}.card{background:white;border:1px solid #dfe8e2;padding:24px;border-radius:12px;margin:20px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.cards .card{margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:6px;font-weight:600}input,select,textarea,button{font:inherit;border-radius:6px;padding:11px;min-width:0}input,select,textarea{border:1px solid #9aaea2;width:100%;background:white;color:inherit}textarea{min-height:90px;resize:vertical}button{background:#315c4b;color:white;border:0;cursor:pointer;min-height:44px;align-self:end}button:hover{background:#244537}form:not(.grid) label{margin-bottom:14px}fieldset{border:1px solid #dfe8e2;border-radius:8px}.check{display:flex;align-items:center;gap:10px;font-weight:400;margin:10px 0}.check input{width:20px;height:20px}.wide{grid-column:1/-1}.booking{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.filter{display:flex;gap:12px;align-items:end}.filter label{margin:0!important}.login{max-width:520px}.error{border-left:5px solid #a03232;background:#fff0ef;padding:15px}.empty{padding:20px;background:#e4ece6}dt{font-weight:650}dd{margin:0 0 12px;white-space:pre-wrap}footer{font-size:14px;color:#596d62;margin-top:35px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px}:focus-visible{outline:3px solid #9a6417;outline-offset:3px}@media(max-width:850px){body{display:block}aside{width:100%;padding:18px}nav{display:flex;flex-wrap:wrap;margin:12px 0}aside small{margin-top:12px}main{padding:20px}.booking,.grid{grid-template-columns:1fr}header{flex-wrap:wrap}h1{font-size:30px}.wide{grid-column:auto}}

.views,.week-nav{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:20px 0}.views{justify-content:flex-start}.views a,.week-nav a,.filter a{color:#315c4b;font-weight:600}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:8px;overflow-x:auto}.week-day{border:1px solid #dfe8e2;padding:10px;border-radius:6px}.week-day h3{margin:0 0 15px;font-size:15px}.week-day h3 a{color:#233b35}.week-booking{display:grid;gap:5px;background:#e7f0e9;color:#233b35;text-decoration:none;padding:10px;margin-bottom:10px;border-left:4px solid #315c4b;border-radius:5px}.week-booking span{font-weight:700}.week-booking.cancelled{border-color:#a03232;background:#fff0ef}.quiet{font-size:14px;color:#596d62}.week-nav h2{font-size:18px;margin:0}@media(max-width:650px){.week-nav{flex-wrap:wrap}.week-grid{grid-template-columns:1fr;overflow:visible}.filter{flex-wrap:wrap}}
