/* Shared surfaces follow the selected theme, including the caseta overrides. */
:root{--ui-soft:#f0eaf9;--ui-strong:#352153;--ui-success-bg:#e8f4ed;--ui-success-text:#256745;--ui-warning-bg:#fff1d6;--ui-warning-text:#795419;--ui-disabled-bg:#d9d4df;--ui-disabled-text:#655b70}
:root[data-theme=dark]{--ui-soft:#352b40;--ui-strong:#efe4ff;--ui-success-bg:#203d31;--ui-success-text:#a7e2bd;--ui-warning-bg:#44351b;--ui-warning-text:#ffe0a0;--ui-disabled-bg:#41384b;--ui-disabled-text:#cfc3d7;--ui-line:#71647b}
.guard-view{background:var(--ui-bg)}
.guard-view #visits-panel h2,.guard-identity h2{color:var(--ui-strong)}
.guard-view .visit-card,.guard-view #visit-actions{background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-line)}
.guard-identity,.guard-view #capture-missing,.guard-hint{background:var(--ui-soft);color:var(--ui-text)}
.guard-step{background:var(--ui-soft);color:var(--ui-muted)}.guard-step span{background:var(--ui-panel);color:var(--ui-text)}
.guard-step.done{background:var(--ui-success-bg);color:var(--ui-success-text)}.guard-step.done span{background:var(--ui-success-text);color:var(--ui-success-bg)}
.guard-hint.warning{background:var(--ui-warning-bg);color:var(--ui-warning-text);border-color:var(--ui-line)}
.guard-primary:disabled{background:var(--ui-disabled-bg)!important;color:var(--ui-disabled-text)}
.guard-view :is(#visit-summary,#capture-policy,#guard-history),#guard-live-status{color:var(--ui-muted)}
.guard-view :is(#capture-section,#visit-contact-box>div){border-color:var(--ui-line)}
.guard-view #capture-form label[data-required=true]:not(:has(input[type=checkbox]))::before{color:var(--ui-strong)}
.guard-view #visits-panel>.notice{background:var(--ui-soft);color:var(--ui-text);border-color:var(--ui-line)}
.guard-view #visit-actions>button.secondary{background:var(--ui-soft);color:var(--ui-strong)}
.notice,#message:not(:empty),#newtoken,#directory-feed-secret{background:var(--ui-warning-bg);color:var(--ui-warning-text)}
.action-feedback:empty{display:none}
.ui-icon{display:block;width:1.4em;height:1.4em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.visit-primary-bar .ui-icon{width:26px;height:26px}.icon-button .ui-icon{width:24px;height:24px}
.module-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.module-heading h2{margin:0}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;padding:0;flex:none;font-size:1.8rem;border-radius:12px;background:var(--ui-soft);color:var(--ui-strong);border:1px solid var(--ui-line)}
.icon-button.is-loading>span{display:none}
.visit-primary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.visit-primary-bar :is(button,a){display:flex;align-items:center;justify-content:center;gap:9px;min-height:60px;font-weight:700;padding:12px}.visit-primary-bar button>span[aria-hidden=true]{font-size:1.6rem;line-height:1}.visit-primary-bar button>span:not([aria-hidden=true]){font:inherit;line-height:1.25}.visit-primary-bar .ui-icon{flex:none}
.visit-secondary-bar{padding:10px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-soft);gap:8px}.visit-secondary-bar button{background:var(--ui-panel);color:var(--ui-text);flex:1 1 auto}.visit-secondary-bar button[aria-pressed=true]{background:var(--ui-selected);color:white;box-shadow:none}
.visit-extra-tools:has(>button.guard-secondary-tool){display:none}
.window-heading{position:sticky;top:-24px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ui-panel);padding:12px 0;margin:0 0 12px;border-bottom:1px solid var(--ui-line)}.window-heading :is(h1,h2,h3){margin:0;min-width:0;overflow-wrap:anywhere}.window-close{margin-left:auto}
.guard-view #visit-detail>.window-heading{top:-22px}.guard-view [data-admin-tool=true]{display:none!important}
.guard-view #visit-actions button[data-guard-action]{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:.86rem}.action-icon{font-size:1.35rem;line-height:1;flex:none}.guard-view #visit-actions button[data-guard-action="AUTORIZAR CON QR DEL RESIDENTE"]{flex-basis:100%}
@media(max-width:600px){.window-heading{top:-16px}.visit-primary-bar{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.visit-primary-bar :is(button,a){flex-direction:column;font-size:.8rem;padding:10px 6px;min-height:82px}.module-heading h2{font-size:1.4rem!important}}
@media(max-width:520px){.guard-view #visit-detail>.window-heading{top:-14px}.guard-view #visit-actions button[data-guard-action]{flex:1 1 calc(50% - 8px);min-height:52px}.visit-secondary-bar button{font-size:.8rem;padding:10px 8px}}

.module-heading>.action-feedback{display:none}.module-heading h2{flex:1;min-width:0}

/* Keep header icons beside their labels on every shared page. */
header .header-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;height:44px;padding:10px 16px;white-space:nowrap;flex:0 0 auto}
header .header-action>span{flex:0 0 auto;white-space:nowrap}
header .header-icon{display:inline-flex;align-items:center;justify-content:center}
header>.platform-brand+#theme-toggle{margin-left:auto}

/* Loading stays inside the existing header button footprint. */
header button{position:relative}
header button.is-loading::before{position:absolute;left:50%;top:50%;margin:-.5em 0 0 -.5em}
header button.is-loading:not(.header-action){color:transparent!important}
header .header-action.is-loading::before{left:calc(16px + .7em);top:50%;margin:-.5em 0 0 -.5em}
header .header-action.is-loading>.header-icon{visibility:hidden}
.monitor-header .monitor-header-actions{flex-wrap:wrap;align-items:center}
.monitor-header .monitor-header-actions>*{flex:0 0 auto;white-space:nowrap}

.parcel-visit-summary{padding:16px;margin:12px 0}.parcel-delivery-summary{padding:12px;margin:10px 0;border:1px solid var(--ui-line);border-radius:10px}.parcel-delivery-summary p{margin:6px 0}

.visit-primary-bar .parcel-primary-action{background:var(--ui-action);color:var(--ui-action-text);border:0;border-radius:6px;text-decoration:none;text-align:center;white-space:normal;min-width:0;overflow-wrap:anywhere;touch-action:manipulation}.visit-primary-bar .parcel-primary-action>span{font-size:inherit;line-height:1.25}.visit-primary-bar .parcel-primary-action .ui-icon{flex:none}.visit-primary-bar .parcel-primary-action:hover{background:var(--comunara-dark-coral);color:white}

/* The primary intake action stays first in DOM and uses the selected accent. */
.visit-primary-bar #visit-new{background:var(--ui-selected);color:#fff;border:1px solid var(--ui-selected);box-shadow:0 3px 9px #0002}.visit-primary-bar #visit-new:hover{filter:brightness(1.1)}.visit-primary-bar #visit-new:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
