:is(.request-reference,.admin-availability) .avail-req{background:#fbfbfd;border:1px solid #ececf1;border-radius:14px;align-items:center;gap:14px;margin:20px 0 18px;padding:14px 18px;display:flex}:is(.request-reference,.admin-availability) .avail-req.met{background:#f7fdfa;border-color:#cfe3d9}:is(.request-reference,.admin-availability) .avail-req-pips{flex-shrink:0;gap:5px;display:flex}:is(.request-reference,.admin-availability) .avail-req-pips i{background:#e4e4ec;border-radius:50%;width:9px;height:9px;transition:background .2s}:is(.request-reference,.admin-availability) .avail-req-pips i.on{background:#5b6bd6}:is(.request-reference,.admin-availability) .avail-req.met .avail-req-pips i.on{background:#0f7b4d}:is(.request-reference,.admin-availability) .avail-req-text strong{letter-spacing:-.01em;font-size:13.5px;display:block}:is(.request-reference,.admin-availability) .avail-req-text span{color:#5f5f6e;margin-top:2px;font-size:12.5px;display:block}:is(.request-reference,.admin-availability) .avail-req-weeks{flex-shrink:0;gap:6px;margin-left:auto;display:flex}:is(.request-reference,.admin-availability) .avail-week-chip{color:#9a9aa8;white-space:nowrap;background:#f2f2f7;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}:is(.request-reference,.admin-availability) .avail-week-chip.ok{color:#0f7b4d;background:#e6f5ee}:is(.request-reference,.admin-availability) .viewport-shell.mobile .avail-req{flex-wrap:wrap}:is(.request-reference,.admin-availability) .viewport-shell.mobile .avail-req-weeks{width:100%;margin-left:0}:is(.request-reference,.admin-availability) .availability-shell{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;overflow:hidden}:is(.request-reference,.admin-availability) .availability-toolbar{border-bottom:1px solid var(--line);background:#fbfcfd;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}:is(.request-reference,.admin-availability) .availability-toolbar-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}:is(.request-reference,.admin-availability) .availability-range{font-size:14px;font-weight:900}:is(.request-reference,.admin-availability) .availability-toolbar .select{width:auto;min-width:190px;margin:0}:is(.request-reference,.admin-availability) .availability-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}:is(.request-reference,.admin-availability) .availability-actions .btn{padding:8px 11px;font-size:10px}:is(.request-reference,.admin-availability) .availability-week{padding:0 18px 14px}:is(.request-reference,.admin-availability) .availability-week+.availability-week{border-top:1px solid var(--line);padding-top:6px}:is(.request-reference,.admin-availability) .availability-week-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 0 8px;display:flex}:is(.request-reference,.admin-availability) .availability-week-title{font-size:12px;font-weight:900}:is(.request-reference,.admin-availability) .availability-week-sub{color:var(--muted);font-size:10px}:is(.request-reference,.admin-availability) .availability-table{border-collapse:separate;border-spacing:0 7px;width:100%}:is(.request-reference,.admin-availability) .availability-table th{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);text-align:left;padding:0 8px 4px;font-size:9px}:is(.request-reference,.admin-availability) .availability-table td{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 8px}:is(.request-reference,.admin-availability) .availability-table td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}:is(.request-reference,.admin-availability) .availability-table td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}:is(.request-reference,.admin-availability) .availability-day{align-items:center;gap:10px;min-width:135px;display:flex}:is(.request-reference,.admin-availability) .availability-day strong{font-size:11px;display:block}:is(.request-reference,.admin-availability) .availability-day span{color:var(--muted);margin-top:1px;font-size:9px;display:block}:is(.request-reference,.admin-availability) .availability-check{width:18px;height:18px;accent-color:var(--teal)}:is(.request-reference,.admin-availability) .availability-time{border:1px solid var(--line);height:34px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;min-width:104px;padding:0 8px;font-size:10px}:is(.request-reference,.admin-availability) .availability-time:disabled{opacity:.42;background:#f0f3f5}:is(.request-reference,.admin-availability) .availability-dash{color:var(--muted);text-align:center;font-weight:800}:is(.request-reference,.admin-availability) .availability-add{border:1px solid var(--line);width:32px;height:32px;color:var(--teal-2);background:#fff;border-radius:9px;font-weight:900}:is(.request-reference,.admin-availability) .availability-add:hover{background:var(--teal-soft);border-color:#7dbab2}:is(.request-reference,.admin-availability) .availability-remove{color:#ad4c45;background:#fff;border:1px solid #efd2ce;border-radius:9px;width:32px;height:32px;font-weight:900}:is(.request-reference,.admin-availability) .availability-unavailable{color:var(--muted);font-size:10px}:is(.request-reference,.admin-availability) .availability-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}:is(.request-reference,.admin-availability) .availability-summary .metric-card{padding:12px}:is(.request-reference,.admin-availability) .availability-summary .metric-card strong{font-size:18px}:is(.request-reference,.admin-availability) .availability-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:9px;display:flex}:is(.request-reference,.admin-availability) .availability-legend span{align-items:center;gap:6px;display:flex}:is(.request-reference,.admin-availability) .availability-dot{background:var(--teal);border-radius:50%;width:8px;height:8px}:is(.request-reference,.admin-availability) .availability-dot.muted{background:#cbd5dc}@media (max-width:900px){:is(.request-reference,.admin-availability) .availability-toolbar{flex-direction:column;align-items:flex-start}:is(.request-reference,.admin-availability) .availability-toolbar-left,:is(.request-reference,.admin-availability) .availability-actions,:is(.request-reference,.admin-availability) .availability-toolbar .select{width:100%}:is(.request-reference,.admin-availability) .availability-table{white-space:nowrap;display:block;overflow-x:auto}:is(.request-reference,.admin-availability) .availability-summary{grid-template-columns:1fr}}
