.availability-shell{max-width:900px}.requirements h2{margin-top:0}.requirements ul{padding-left:20px;line-height:1.6}.requirements li+li{margin-top:10px}.field-grid{display:grid;grid-template-columns:1fr;gap:0 18px}.weekday-grid{display:grid;gap:12px}.weekday-card{border:1px solid #cdd6d0;border-radius:10px;padding:14px;background:#fafbf9}.weekday-card h3{margin:0 0 8px;font-size:1.1rem}.weekday-card label{margin-top:6px}.day-hours{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fixed-days{display:grid;gap:10px;margin-top:18px}.fixed-days>div{background:#e8f2e9;border:1px solid #bdcdbf;border-radius:9px;padding:16px;display:grid;gap:5px}.fixed-days strong{font-size:1.1rem}.fixed-days small{margin:0}.rule-progress{padding:14px;border-radius:9px;background:#edf1ed;margin-top:18px;line-height:1.7}.rule-progress p{margin:0}.rule-good{color:#225f35;font-weight:650}.rule-needed{color:#823817}.availability-summary ul{padding-left:20px;line-height:1.8}.availability-summary p{margin:6px 0}#validation{color:#8b2229}#validation ul{padding-left:20px;line-height:1.7}button:disabled{cursor:not-allowed}.availability-request{scroll-margin-top:12px}.availability-request details{overflow-wrap:anywhere}.availability-table{display:grid;gap:0;margin:15px 0}.availability-table>div{display:grid;grid-template-columns:100px 1fr;padding:9px 0;border-bottom:1px solid #e1e5e1;gap:10px}.availability-table .fixed{background:#edf6ef}.availability-table small{margin:3px 0 0}.availability-conflicts:empty,#permanentAvailabilityWarnings:empty{display:none}.decision-message{white-space:pre-wrap}.availability-request .actions button{flex:1 1 130px}.availability-request textarea{min-height:80px}.request-email{overflow-wrap:anywhere}#accessForm button{margin-top:15px}nav{line-height:1.9}@media(min-width:700px){.field-grid,.fixed-days{grid-template-columns:1fr 1fr}.weekday-grid{grid-template-columns:1fr 1fr}.weekday-card:last-child{grid-column:1/-1}}@media(max-width:480px){.availability-shell h1{font-size:1.85rem}.availability-shell legend{font-size:1.12rem}.availability-shell input,.availability-shell select{min-height:48px}.availability-table>div{grid-template-columns:80px 1fr}.availability-request{padding:15px}.availability-shell .day-hours label{font-size:.95rem}}@media print{#accessForm,#availabilityForm,#message,.requirements{display:none}#receipt{display:block}}
.availability-shell .field-feedback{position:relative;margin:10px 0 4px;padding:10px 12px;border:1px solid #cbd8df;border-radius:8px;background:#edf4f7;color:#254b5f;font-size:.88rem;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.availability-shell .field-feedback::before{content:"";position:absolute;top:-5px;left:16px;width:8px;height:8px;background:inherit;border-top:1px solid #cbd8df;border-left:1px solid #cbd8df;transform:rotate(45deg)}.availability-shell .field-error{background:#fff0e7;color:#812d14;border-color:#c97043}.availability-shell .field-error::before{border-color:#c97043}.availability-shell [aria-invalid=true]{border:2px solid #b74924;background:#fffaf5}.availability-shell #ruleProgress[aria-invalid=true]{border-radius:9px}.availability-shell #validation a{color:#812d14;text-decoration:underline;text-underline-offset:3px}.availability-shell input,.availability-shell select,.availability-shell textarea{scroll-margin:90px 0}
@media(max-width:480px){.availability-shell .day-hours{grid-template-columns:1fr}}
