.notification-settings{height:auto;min-height:100%;overflow:auto;font-size:16px}
.policy-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(24px,calc((100% - 1200px)/2));border-bottom:1px solid var(--line);background:var(--surface)}
.policy-header .brand{color:var(--ink);text-decoration:none;gap:12px}.policy-header>div{display:flex;align-items:center;gap:20px}.policy-header a{color:var(--ink)}.policy-back{display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font-size:14px}.policy-back:hover{color:var(--brand)}
.policy-main{max-width:1248px;margin:auto;padding:36px 24px 160px}.policy-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.policy-eyebrow,.policy-small-label{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted);margin:0 0 12px;display:block}.policy-main h1{font-size:32px;letter-spacing:-.04em;margin:0 0 8px;font-weight:600}.policy-intro{color:var(--muted);margin:0;font-size:16px}.policy-owner-badge{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:8px 14px;color:var(--muted);font-size:12px;white-space:nowrap;margin-top:4px}
#policyMessage{font-size:14px;color:var(--muted);margin:16px 0 20px;overflow-wrap:anywhere}#policyMessage[data-error="true"]{color:var(--danger);background:var(--danger-bg);padding:14px 16px;border-radius:10px}#policySignIn a{color:var(--brand)}
#policyMessage.policy-visually-quiet{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0}.policy-heading{margin-bottom:24px}
#policyMessage.policy-save-toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:16px;z-index:50;max-width:min(420px,calc(100vw - 32px));margin:0;padding:16px 20px;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--surface);font-size:16px;line-height:1.5;box-shadow:var(--shadow);pointer-events:none}
.policy-overview{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;margin:0 0 32px}.policy-notice,.policy-device-card{padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.policy-notice{display:flex;gap:14px;align-items:flex-start}.policy-status-dot{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--warning);margin-top:6px}.policy-notice h2{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--ink)}.policy-notice p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:64ch}.policy-device-card .policy-small-label{margin-bottom:8px}.policy-device-card>strong{font-size:20px;font-weight:600;letter-spacing:-.02em}.policy-device-card p{font-size:12px;line-height:1.6;margin:6px 0 0;color:var(--muted)}
.policy-layout{display:grid;grid-template-columns:212px minmax(0,1fr);gap:32px;align-items:start}.policy-nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:4px;padding:4px 0}.policy-nav a{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px;border-radius:10px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:500}.policy-nav a>span{font-size:11px;color:var(--muted);font-weight:400}.policy-nav a:hover{background:var(--raised);color:var(--ink)}.policy-nav a[aria-current="location"]{background:var(--brand-soft);color:var(--brand)}.policy-nav a[aria-current="location"]>span{color:var(--brand)}.policy-nav>p{font-size:12px;line-height:1.7;color:var(--muted);margin:20px 12px}
.policy-sections{min-width:0}#policyFields{border:0;padding:0;margin:0;min-width:0}.policy-card{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:0 0 20px;scroll-margin-top:24px}.policy-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.policy-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.policy-icon svg{width:23px;height:23px}.policy-card h2{font-size:20px;font-weight:600;letter-spacing:-.025em;margin:0 0 5px}.policy-card-heading p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}
.policy-switch-row{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);cursor:pointer;position:relative}.policy-switch-row>span:first-child{margin-right:auto;min-width:0}.policy-switch-row strong{font-size:15px;font-weight:500;display:block;line-height:1.5}.policy-switch-row small{display:block;font-size:13px;color:var(--muted);line-height:1.6;margin-top:3px}.policy-switch-row>input{position:absolute;right:0;width:56px;height:56px;opacity:0;margin:0;cursor:pointer;z-index:1}.policy-switch-track{width:44px;height:26px;flex-shrink:0;border-radius:20px;background:var(--line);position:relative;margin:0 6px}.policy-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:1px solid var(--muted)}.policy-switch-row>input:checked+.policy-switch-track{background:var(--brand)}.policy-switch-row>input:checked+.policy-switch-track:after{transform:translateX(18px);background:var(--on-brand);border-color:var(--on-brand)}.policy-switch-row>input:focus-visible+.policy-switch-track{outline:3px solid var(--info);outline-offset:4px}.policy-switch-row>input:disabled+.policy-switch-track{opacity:.5}
.policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.policy-grid>label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;min-width:0}.policy-grid input,.policy-grid select{width:100%;min-width:0;min-height:56px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--sunken);color:var(--ink);font-size:16px}.policy-grid input:disabled,.policy-grid select:disabled{opacity:.5;cursor:default}.policy-hours{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
.policy-days{border:0;padding:0;margin:20px 0 8px;min-width:0}.policy-days legend{margin-bottom:10px;font-weight:500;font-size:13px}.policy-days>div{display:grid;grid-template-columns:repeat(7,minmax(56px,1fr));gap:8px}.policy-days label{position:relative;cursor:pointer;min-width:0}.policy-days input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}.policy-days span{display:flex;align-items:center;justify-content:center;min-height:56px;border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:14px;color:var(--muted)}.policy-days input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}.policy-days input:checked+span:after{content:"✓";font-size:10px;margin-left:4px}.policy-days input:focus-visible+span{outline:3px solid var(--info);outline-offset:3px}
.policy-help{font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0}.policy-rule-summary{font-size:14px;line-height:1.6;margin:18px 0;padding:12px 14px;border-radius:10px;background:var(--raised);color:var(--ink)}.policy-details{border-top:1px solid var(--divider);padding-top:4px}.policy-details summary{font-size:13px;color:var(--muted);padding:14px 0;min-height:56px;cursor:pointer}.policy-details p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 8px}
.policy-main button{min-height:56px;border-radius:10px;padding:12px 18px;cursor:pointer;background:linear-gradient(135deg,var(--action-start),var(--action-end));color:var(--on-brand);border:1px solid transparent;font-weight:600;font-size:15px}.policy-main button.policy-secondary,.policy-main .policy-day-presets button{background:var(--surface);color:var(--ink);border-color:var(--line);font-weight:500}.policy-day-presets{display:flex;gap:8px}.policy-main .policy-day-presets button{padding:10px 12px;font-size:13px}.policy-main button:hover:not(:disabled){filter:brightness(.96)}.policy-main button:disabled{opacity:.6;cursor:default}.policy-main :focus-visible,.policy-header :focus-visible{outline:3px solid var(--info);outline-offset:3px}
.policy-save{position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--surface);border-top:1px solid var(--line);padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px))}.policy-save-inner{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.policy-save-inner>div{min-width:0}.policy-save-inner strong{display:block;font-size:14px;font-weight:500}.policy-save-inner span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.policy-save[data-dirty="true"] #policySaveState{color:var(--brand)}.policy-save button{flex-shrink:0}
.policy-history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;cursor:pointer;list-style:none}.policy-history-details>summary::-webkit-details-marker{display:none}.policy-history-details strong{font-size:16px;font-weight:500}.policy-history-details small{display:block;color:var(--muted);font-size:13px;margin-top:5px}.policy-history-chevron{color:var(--muted)}.policy-history-details[open] .policy-history-chevron{transform:rotate(180deg)}#policyHistory{padding-left:20px;overflow-wrap:anywhere}#policyHistory li{margin:14px 0;font-size:13px;color:var(--muted)}#policySavedAt{overflow-wrap:anywhere}.policy-reload-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted);margin:24px 0}.policy-reload-row button{font-size:13px}.policy-initial-retry{margin-top:12px}
@media(max-width:1050px){.policy-main{max-width:1000px}.policy-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.policy-card{padding:22px}.policy-grid{grid-template-columns:1fr 1fr}.policy-grid>label:first-child{grid-column:1/-1}.policy-days>div{grid-template-columns:repeat(4,minmax(56px,1fr))}.policy-overview{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:700px){.policy-header{padding:12px 16px}.policy-header .brand-name small{display:block}.policy-header>div{gap:10px}.policy-header .brand{gap:8px}.policy-main{padding:24px 16px 180px}.policy-main h1{font-size:28px}.policy-heading{gap:10px}.policy-owner-badge{font-size:11px;padding:7px 10px}.policy-eyebrow{font-size:10px}.policy-intro{font-size:14px}.policy-overview{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.policy-notice,.policy-device-card{padding:16px}.policy-device-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}.policy-device-card .policy-small-label{margin:0}.policy-device-card strong{font-size:16px;grid-column:2;grid-row:1/3}.policy-device-card p{margin:0;max-width:34ch}.policy-layout{display:block}.policy-nav{flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;top:0;z-index:15;padding:8px 0;background:var(--canvas);margin:0 0 16px;max-width:100%}.policy-nav .policy-small-label,.policy-nav>p,.policy-nav a>span{display:none}.policy-nav a{flex-shrink:0;min-height:56px;padding:12px;font-size:13px;white-space:nowrap;border-radius:24px}.policy-card{padding:18px;border-radius:16px;scroll-margin-top:90px}.policy-card-heading{gap:12px;margin-bottom:16px}.policy-card h2{font-size:19px}.policy-icon{width:40px;height:40px}.policy-card-heading p{font-size:13px}.policy-grid{grid-template-columns:1fr;gap:16px;margin:20px 0}.policy-grid>label:first-child{grid-column:auto}.policy-hours{grid-template-columns:1fr 1fr}.policy-hours>label:first-child{grid-column:1/-1}.policy-switch-row{gap:8px}.policy-switch-row strong{font-size:14px}.policy-switch-row small{font-size:12px}.policy-days>div{gap:6px}.policy-days span{font-size:13px}.policy-save{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.policy-save-inner{display:grid;grid-template-columns:1fr;gap:10px}.policy-save-inner>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.policy-save-inner strong{font-size:13px}.policy-save-inner span{font-size:11px;max-width:150px;text-align:right;margin:0}.policy-save button{width:100%}.policy-reload-row{flex-direction:column;align-items:flex-start}.policy-reload-row button{width:100%}}

.policy-nav a[hidden],.policy-card[hidden]{display:none}
.policy-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px}
.policy-main{padding-bottom:40px}.policy-heading{margin-bottom:24px}.policy-card-heading{margin-bottom:16px}
.policy-card-heading h2{margin:0}.policy-grid.minimal-reminders{grid-template-columns:1fr 1fr}
.policy-grid.minimal-reminders>label:first-child{grid-column:auto}.policy-switch-row strong{font-size:16px}
.policy-switch-row small{font-size:14px}.policy-main .policy-help{font-size:14px}
.policy-save{position:static;padding:0;background:transparent;border:0;margin:0 0 20px}
.policy-save-inner{padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.policy-save-inner>strong{font-size:14px;font-weight:500}.policy-history-card{padding-block:12px}
.minimal-summary{position:sticky;top:20px}.minimal-summary h2{font-size:18px}
.minimal-summary dl{margin-bottom:0}.minimal-summary dl>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line);font-size:14px}
.minimal-summary dt{color:var(--muted)}.minimal-summary dd{margin:0;font-weight:600;white-space:nowrap}
#policy-automatic .policy-switch-row,.policy-card>.policy-switch-row:first-child{border-top:0}
@media(max-width:850px){.policy-layout{grid-template-columns:minmax(0,1fr)}.minimal-summary{position:static}}
@media(max-width:700px){.policy-save-inner{display:flex;gap:12px}.policy-save button{width:auto}.policy-save-inner>strong{max-width:120px}.policy-grid.minimal-reminders{grid-template-columns:1fr}.minimal-summary{padding:18px}.policy-days>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Room for the shared actions menu (admin-header.js) on the smallest phones. */
@media(max-width:400px){.policy-header{padding:10px 12px;gap:8px}.policy-header>div{gap:4px}.policy-header .brand-name small{display:none}.policy-back{padding:0 6px}}
