.access-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(20px,calc((100% - 1120px)/2));border-bottom:1px solid #ccd5ce}.access-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#163c2b;font-weight:700}.access-brand img{width:52px;height:58px;object-fit:contain}.back-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:#214536;min-height:44px}.back-link svg,.primary svg,.text-button svg{width:19px;height:19px}.access-main{max-width:1160px;margin:0 auto;padding:30px 20px 60px}.access-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.access-heading h1{font-size:32px;margin:4px 0 14px}.access-kicker{margin:0;font-size:14px;text-transform:uppercase;color:#234e38;font-weight:700}.access-policy{font-size:14px;line-height:1.55;max-width:860px;color:#30473b}.access-table{margin:22px 0;border-top:2px solid #29583f}.access-row{display:grid;grid-template-columns:minmax(130px,1.4fr) 90px 60px minmax(180px,1.5fr) 140px;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid #d1d9d3;min-width:0}.access-table-head{background:#eef3f0;font-size:13px;font-weight:700}.access-row>span{min-width:0;overflow-wrap:anywhere}.access-row .access-name{font-weight:700}.access-state{font-size:14px;color:#145534}.access-state.revoked{color:#a02135}.date-button{color:#165132;text-align:left;border:0;background:transparent;text-decoration:underline;min-height:44px;font:inherit;font-size:14px;line-height:1.5;padding:4px 0}.access-row-actions{display:flex;gap:8px}.text-button{background:transparent;border:1px solid #91a397;border-radius:5px;padding:10px 14px;min-height:44px;color:#18482f;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.text-button:hover{background:#eef4f0}.access-main #accessStatus{font-size:14px}.access-main #accessStatus:empty{display:none}dialog footer{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}#accessConfirm p{line-height:1.5}#visitHistory{width:min(560px,calc(100% - 24px));padding:22px;overflow:hidden;display:flex;flex-direction:column}#visitHistory:not([open]){display:none}#visitHistory header{flex-shrink:0;margin-bottom:8px}#visitHistory h2{overflow-wrap:anywhere}#visitHistory #historyZone{font-size:13px;line-height:1.4;margin:0 0 12px}#visitDates{padding:0 0 0 30px;margin:0;min-height:0;overflow:auto;max-height:55dvh}#visitDates li{padding:12px 4px;border-bottom:1px solid #d1d9d3;font-size:15px;line-height:1.5}#visitHistory footer{flex-shrink:0;margin-top:12px}
@media(max-width:760px){.access-brand span{display:none}.access-main{padding:24px 16px}.access-heading h1{font-size:27px}.access-heading{gap:10px}.access-heading .primary{padding:12px}.access-table-head{display:none}.access-row{grid-template-columns:1fr auto;gap:6px 16px;padding:16px 0}.access-row .access-name{font-size:18px;grid-column:1}.access-row .access-state-cell{grid-column:2;grid-row:1}.access-row .access-visits{grid-column:1;grid-row:2;font-size:14px}.access-row .access-visits:before{content:'Visits: ';font-weight:500}.access-row .access-last{grid-column:1;grid-row:3}.access-row .access-last:before{content:'Last visit: ';font-size:13px;display:block}.access-row .access-row-actions{grid-column:2;grid-row:2 / span 2;align-self:center}.access-policy{font-size:14px}.access-row .date-button{font-size:14px}#visitHistory{padding:18px}}
.visit-name{display:block;font-weight:700;overflow-wrap:anywhere;margin-top:4px}
.site-access-mode{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;margin:8px 0 20px;border-top:1px solid #ccd5ce;border-bottom:1px solid #ccd5ce}
.site-access-copy{min-width:0}.site-access-copy h2{font-size:20px;margin:0 0 10px}.site-access-copy p{margin:6px 0;font-size:14px;line-height:1.5;max-width:600px}
#siteAccessState{font-weight:700;color:#173e2d}#siteAccessMode[data-open=true] #siteAccessState{color:#8b3716}
.site-access-control{display:flex;align-items:center;gap:14px;flex-shrink:0}.site-access-control>span{font-size:14px;font-weight:700;max-width:155px;line-height:1.5}
#siteAccessToggle{display:flex;align-items:center;flex-shrink:0;width:80px;height:48px;padding:4px;border:2px solid #587268;border-radius:24px;background:#e8edf0;cursor:pointer}
#siteAccessToggle[aria-checked=true]{background:#195d3e;border-color:#195d3e}#siteAccessToggle:focus-visible{outline:3px solid #2a58b6;outline-offset:4px}#siteAccessToggle:disabled{cursor:wait;opacity:.6}
.site-access-thumb{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#234436;transform:translateX(0);transition:transform .15s}
.site-access-thumb svg{width:21px;height:21px}#siteAccessToggle[aria-checked=true] .site-access-thumb{transform:translateX(32px)}
@media(max-width:760px){.site-access-mode{align-items:stretch;flex-direction:column;gap:14px}.site-access-control{justify-content:space-between}.site-access-control>span{max-width:none}}
@media(prefers-reduced-motion:reduce){.site-access-thumb{transition:none}}
.access-row:has(.access-visit-dropdown[open]){align-items:start}
.access-visit-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;min-height:44px;color:#165132;font-size:14px;line-height:1.5}
.access-visit-dropdown summary::-webkit-details-marker{display:none}
.access-visit-dropdown summary svg{width:18px;height:18px;flex-shrink:0}
.access-visit-dropdown[open] summary svg{transform:rotate(180deg)}
.visit-history-body{margin-top:8px;padding-top:8px;border-top:1px solid #ccd5ce}
.visit-history-status{margin:0 0 8px;font-size:13px;color:#30473b}
.visit-history-list{list-style:none;padding:0;margin:0;max-height:280px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.visit-history-list li{padding:10px 4px 10px 0;border-bottom:1px solid #d1d9d3;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.visit-history-list strong,.visit-history-list time{display:block}.visit-history-list time{font-size:13px}
.visit-history-body .text-button{margin-top:10px;width:100%;padding:8px;font-size:13px}.visit-history-body .form-error:empty{display:none}
.access-row{grid-template-columns:minmax(130px,1.2fr) minmax(120px,1fr) 80px 50px minmax(160px,1.4fr) 148px;gap:14px}
.access-row-actions button:last-child{color:#a02135}
.access-code code{font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:#173e2d}
.access-code-pending{font-size:13px;line-height:1.4;color:#374b3d}
#currentGuestCode{background:#f0f5f1;color:#173e2d;font-family:ui-monospace,monospace;letter-spacing:0}
#currentCodeSection[hidden],#legacyCodeNote[hidden]{display:none}
@media(max-width:960px){
  .access-table-head{display:none}
  .access-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 0}
  .access-row .access-name{font-size:18px;grid-column:1;grid-row:1}
  .access-row .access-state-cell{grid-column:2;grid-row:1;justify-self:end}
  .access-row .access-code{grid-column:1/-1;grid-row:2}
  .access-code:before{content:'Smoke Signal Code';display:block;font-size:13px;font-weight:700;margin-bottom:4px}
  .access-row .access-visits{grid-column:1;grid-row:3;font-size:14px}
  .access-row .access-visits:before{content:'Visits: ';font-weight:500}
  .access-row .access-last{grid-column:1/-1;grid-row:4}
  .access-row .access-last:before{content:'Last visit: ';font-size:13px;display:block}
  .access-row .access-row-actions{grid-column:2;grid-row:3;align-self:center;flex-wrap:nowrap;max-width:none}
}
