.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-head h2{margin:0}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.weekdays span{text-align:center;font-weight:700}.day{aspect-ratio:1;border:1px solid transparent;border-radius:.3rem;padding:.25rem}.day-available{background:#dcefe0;color:#20352f}.day-unavailable,.day-unavailable:disabled{background:#dedede;color:#666;cursor:not-allowed;opacity:1}.day.selected{outline:3px solid var(--accent);outline-offset:1px}.day-available.day-selected-start,.day-available.day-selected-end{background:#216f43!important;color:#fff!important;box-shadow:inset 0 0 0 2px #124328}.day-available.day-selected-range{background:#b9ddc4!important;color:#173b25!important;box-shadow:inset 0 0 0 1px #6da67d}.day-unavailable.day-selected-start,.day-unavailable.day-selected-range,.day-unavailable.day-selected-end{outline:2px dashed #9a5a00;outline-offset:-3px}.legend{display:flex;gap:1rem;flex-wrap:wrap}.legend .available{color:#357245}.legend .unavailable{color:#666}.legend .selected-legend{color:#216f43}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.stats .stat-card{display:flex;min-height:8rem;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;text-decoration:none}.stats strong{font-size:2.25rem;line-height:1}.stats span{line-height:1.3}.success{background:#e9f4eb;border-left:4px solid #40754d;padding:.75rem}.warning{color:#9a5a00}.filters{align-items:end}.filters label{margin-top:0}.filters .filter-actions{display:flex;gap:.5rem;align-items:center;padding-bottom:1rem}.status-badge{display:inline-block;border-radius:999px;background:#e8ecea;padding:.2rem .65rem;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-grid .card{margin:0}.stack>*+*{margin-top:.75rem}.muted{color:#667}.compact-list{margin:.5rem 0;padding-left:1.25rem}.compact-list li+li{margin-top:.35rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.admin-nav{display:flex;gap:1rem;flex-wrap:wrap}.preview-panel{margin-top:1rem;padding:1rem;border:1px solid #d6c27a;background:#fffbed}.secondary{background:#56655f}@media(max-width:760px){.day{min-height:2.5rem}.availability-calendar{padding:.75rem}.detail-grid{grid-template-columns:1fr}.stats .stat-card{min-height:6.5rem}}
