.availability-box{border:1px solid #555;padding:18px;margin:18px 0;border-radius:8px}.availability-box button,.admin-panel button{font:inherit;cursor:pointer;padding:10px 14px;border:1px solid #777;border-radius:4px;background:#222;color:#fff}.availability-box button:disabled{opacity:.45;cursor:not-allowed}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid button{padding:10px 0;min-width:0}.calendar-grid .selected{background:#ce0018;color:white;border-color:#ce0018}.calendar-grid .partial{border-bottom:4px solid #c17e15}.calendar-grid small{text-align:center}.calendar-status{min-height:1.5em;font-size:.9rem;margin:12px 0}.availability-box select{width:100%;padding:12px;font:inherit;margin-top:8px}.availability-box [hidden]{display:none}.availability-box button:focus-visible,.admin-panel button:focus-visible{outline:3px solid #d59c4b;outline-offset:2px}.admin-panel{max-width:650px;margin:40px auto;padding:24px;color:#f6f3ec;background:#141414}.admin-panel h1{font-size:2rem}.admin-panel label{display:block;margin:16px 0}.admin-panel input,.admin-panel select{display:block;width:100%;padding:12px;font:inherit;margin-top:6px}.admin-panel .admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-panel li{margin:12px 0}.admin-panel a{color:#fff}.admin-panel button.primary{background:#ce0018}.admin-panel [hidden]{display:none!important}@media(max-width:500px){.availability-box{padding:12px}.calendar-grid{gap:3px}.admin-panel{margin:10px;padding:18px}}
