.weekly-config{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:20px 0}.zone-search{position:relative;max-width:620px;margin:20px 0}.zone-results{position:absolute;top:76px;left:0;right:0;z-index:4;background:#202b26;border:1px solid #698451;border-radius:10px;max-height:300px;overflow:auto;box-shadow:0 14px 30px #0008}.zone-results[hidden]{display:none}.zone-results button{display:block;width:100%;border:0;border-bottom:1px solid var(--border);padding:13px;text-align:left;background:transparent;color:var(--ink)}.zone-results button:hover,.zone-results button:focus{background:#354a2d}.zone-results small,.zone-selected small{display:block;margin-top:5px}.zone-selected{font-size:13px;margin:10px 0}.availability-table{min-width:620px;table-layout:fixed}.availability-table caption{padding:15px;text-align:left;color:var(--muted);font-size:13px}.availability-table td,.availability-table th{padding:12px 8px;text-align:center;border-right:1px solid var(--border);font-size:12px}.availability-table thead th{position:sticky;top:0}.availability-table th small{display:block;margin-top:7px}.availability-table .day-fill{display:block;margin:9px auto 0;color:var(--lime);font-size:10px}.availability-table .available{background:#a6f47b15;color:var(--lime)}.availability-cell label{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;min-height:55px}.availability-cell input{width:20px;height:20px}.availability-cell span{font-size:10px;color:inherit}.weekly-actions{margin-top:20px}.weekly-actions span{font-size:12px;color:var(--muted)}.week-navigation{display:flex;gap:12px;align-items:end;margin:25px 0}.week-navigation label{max-width:200px}.read-only td b{font-size:11px;white-space:nowrap;display:block}.read-only td small{display:block;font-size:10px;margin:5px 0 9px}.read-only td{vertical-align:top}.weekly-save-state{font-size:12px}@media(max-width:650px){.weekly-config{grid-template-columns:1fr 1fr}.weekly-config>label:first-child{grid-column:1/-1}.week-navigation{gap:6px;flex-wrap:wrap}.week-navigation button{padding:10px}.availability-table{min-width:710px}.zone-search{max-width:100%}}
