:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172b46;background:#f4f7fb;line-height:1.55;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dde5ef;padding:20px max(5vw,20px);display:flex;justify-content:space-between;gap:20px;align-items:center}a{color:#174fbc;text-decoration:none}a:hover{text-decoration:underline}.brand{display:flex;align-items:center;gap:13px;font-size:30px;font-weight:800}.brand span{font-size:19px;color:#172b46}.brand small{display:block;font-size:10px;letter-spacing:2px}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}nav form{margin:0}main{max-width:1180px;padding:44px 24px;margin:auto;min-height:70vh}h1{font-size:clamp(30px,4.7vw,52px);line-height:1.12;letter-spacing:-1.5px;margin:16px 0 22px}h2{line-height:1.25;font-size:24px}h3{font-size:18px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;color:#62748b;text-transform:uppercase}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:35px}.hero{max-width:640px;margin-bottom:36px}.hero h1{font-size:clamp(40px,6vw,70px)}em{font-style:normal;color:#174fbc}.panel{background:white;border:1px solid #dce4ef;border-radius:16px;padding:25px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.card{color:inherit;border-top:4px solid #2865d6;display:block}.card:hover{box-shadow:0 8px 22px #172b4610;text-decoration:none}.card strong{color:#174fbc}.pill{display:inline-block;background:#edf2fa;border-radius:30px;padding:5px 12px;font-size:12px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;align-items:end}.row{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.grow{flex:1}label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}input,select{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #b8c6d9;border-radius:8px;font:inherit;background:white;color:#172b46}button,.button{display:inline-block;background:#174fbc;color:white;padding:12px 18px;border:0;border-radius:9px;font:inherit;font-weight:600;cursor:pointer;min-height:44px;text-align:center}button:hover,.button:hover{background:#103e96;text-decoration:none}.quiet{background:#edf2fa;color:#174fbc}.danger{background:#fff0ee;color:#a72a24}.danger:hover{background:#fbd3d0}.notice{background:#e7f0ff;border-left:4px solid #2865d6;padding:18px;border-radius:8px;margin:20px 0}.notice form{display:inline-block;margin-left:12px}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:24px;align-items:start}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{font-size:12px;text-align:center;color:#62748b}.date,.empty{min-height:65px;border-radius:9px;padding:8px;text-align:center}.date{display:flex;flex-direction:column;justify-content:center}.available{background:#e7efff;color:#174fbc}.full{background:#eef0f3;color:#59697d}.selected{outline:3px solid #174fbc;outline-offset:1px}.empty{color:#a0adbd}.date small{font-size:11px}.legend,.muted,small{font-size:13px;color:#62748b}.banner{background:#fff0c9;padding:9px;text-align:center;font-size:12px;font-weight:600}footer{padding:30px 24px;text-align:center;color:#62748b;font-size:13px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.login{max-width:550px}:focus-visible{outline:3px solid #e59b25;outline-offset:3px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}nav{gap:12px;font-size:14px}main{padding:26px 16px}.heading{display:block}.layout{grid-template-columns:1fr}.panel{padding:18px}.calendar{gap:5px}.date,.empty{padding:5px;min-height:54px}.row>*{flex:1 1 130px}.heading .button{margin-top:10px}}
