/* Scoped styles: shared by public page and host dialog. */
:root{--ag-blue:#1261ef;--ag-ink:#172e4e;--ag-muted:#596b82;--ag-line:#dce5f0;--ag-soft:#f3f7fd}
.ag-page{margin:0;min-width:0;color:var(--ag-ink);background:linear-gradient(165deg,#eaf2ff 0,#f7f9fc 55%,#fff 100%);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100dvh}
.ag-wrap{max-width:680px;margin:auto;padding:20px 16px max(26px,env(safe-area-inset-bottom));box-sizing:border-box}
.ag-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.ag-brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:750;color:var(--ag-ink)}.ag-brand img{width:38px;height:38px;object-fit:contain}.ag-lang{display:flex;gap:4px;padding:4px;border:1px solid var(--ag-line);border-radius:14px;background:#fff}.ag-lang button{border:0;border-radius:10px;background:transparent;padding:9px 13px;font:700 13px system-ui;color:var(--ag-muted)}.ag-lang button[aria-pressed=true]{background:var(--ag-blue);color:#fff}
.ag-card,.ag-dialog{background:#fff;border:1px solid var(--ag-line);border-radius:24px;padding:24px;box-shadow:0 8px 35px #203c6a0a}.ag-card+.ag-card{margin-top:16px}.ag-card h1{font-size:clamp(24px,5.8vw,32px);letter-spacing:-.6px;line-height:1.2;margin:10px 0 15px}.ag-card h2,.ag-form h2{font-size:24px;line-height:1.25;margin:16px 0 22px;letter-spacing:-.3px}.ag-card p{margin:12px 0;color:var(--ag-muted)}.ag-eyebrow{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:1.1px;color:var(--ag-blue)!important}.ag-stay{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ag-soft);border-radius:16px;padding:14px 16px;margin:18px 0}.ag-stay strong{display:block}.ag-stay span{font-size:13px;color:var(--ag-muted)}
.ag-primary,.ag-secondary,.ag-link-button,.ag-lang button{cursor:pointer;touch-action:manipulation}.ag-primary,.ag-secondary{box-sizing:border-box;min-height:48px;border-radius:14px;padding:12px 18px;font:650 15px/1.35 system-ui;border:1px solid var(--ag-line);white-space:normal}.ag-primary{background:var(--ag-blue);color:white;border-color:var(--ag-blue)}.ag-secondary{background:white;color:var(--ag-ink)}.ag-wide{width:100%}.ag-primary:disabled,.ag-secondary:disabled{opacity:.55;cursor:wait}.ag-primary:focus-visible,.ag-secondary:focus-visible,.ag-lang button:focus-visible,.ag-field input:focus-visible,.ag-field select:focus-visible{outline:3px solid #77a8ff;outline-offset:2px}
.ag-actions{display:flex;gap:10px;margin-top:25px}.ag-actions>button:last-child{flex:1}.ag-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.ag-small{font-size:12px;line-height:1.55;color:var(--ag-muted)}.ag-small a{color:#0b50c1;text-decoration:underline}.ag-note,.ag-warning{border-radius:14px;padding:14px!important;background:#eff5ff;color:#345273!important;font-size:14px}.ag-warning{background:#fff6e3;color:#76500d!important}.ag-error{display:block;color:#b32222;font-size:13px;line-height:1.4;margin-top:5px}.ag-error:empty{display:none}.ag-success-icon{display:grid;place-items:center;border-radius:50%;width:56px;height:56px;background:#e4f5eb;color:#147c48;font-size:28px;margin-bottom:18px}
.ag-field{margin-bottom:17px;position:relative}.ag-field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}.ag-field input,.ag-field select,.ag-date input,.ag-dialog select,.ag-dialog input[type=date],.ag-dialog input[type=number]{display:block;box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid #cad6e5;background:white;color:var(--ag-ink);border-radius:12px;font:16px system-ui;padding:12px}.ag-field input[aria-invalid=true],.ag-field select[aria-invalid=true],.ag-date input[aria-invalid=true]{border-color:#b32222}.ag-field small{display:block;font-size:12px;color:var(--ag-muted);margin-top:5px}.ag-date{padding:0;margin:16px 0;border:0}.ag-date legend{font-size:14px;font-weight:700;margin-bottom:8px}.ag-date-parts{display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:10px}.ag-date-parts label{display:block;font-size:12px;color:var(--ag-muted);margin-bottom:5px}.ag-help,.ag-calendar{font-size:13px;color:var(--ag-muted);margin:8px 0 20px}.ag-help summary,.ag-calendar summary{display:flex;align-items:center;min-height:44px;color:#1659bd;cursor:pointer;padding:6px 0}.ag-help p{font-size:14px}.ag-calendar input{margin-top:8px;max-width:260px}
.ag-progress{height:5px;background:#e8edf4;border-radius:8px;overflow:hidden;margin-bottom:24px}.ag-progress span{display:block;height:100%;background:var(--ag-blue);transition:width .2s}.ag-check{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5;margin-top:20px;color:var(--ag-ink)}.ag-check input{width:21px!important;height:21px!important;min-height:0!important;margin:1px 0 0;flex:0 0 21px;accent-color:var(--ag-blue)}.ag-summary{margin:20px 0}.ag-summary>div{padding:12px 0;border-bottom:1px solid #e8edf5}.ag-summary dt{font-size:12px;color:var(--ag-muted)}.ag-summary dd{font-size:17px;font-weight:650;margin:4px 0 0;overflow-wrap:anywhere}.ag-memory{margin-top:18px!important}
.ag-results{border:1px solid var(--ag-line);border-radius:12px;margin-top:5px;max-height:260px;overflow-y:auto;background:#fff;box-shadow:0 6px 16px #243d6020}.ag-results[hidden]{display:none}.ag-results button{display:block;width:100%;border:0;border-bottom:1px solid #edf0f4;background:#fff;text-align:left;font:14px/1.5 system-ui;color:var(--ag-ink);padding:12px;cursor:pointer}.ag-results button:hover,.ag-results button:focus{background:#eef5ff}.ag-results .ag-search-unresolved{font-size:12px;color:#735214;background:#fff9ed}.ag-results p{padding:8px}
.ag-document-diagram{padding:15px;border:1px dashed #9fb0c6;border-radius:12px;background:#f7faff;font:11px system-ui;max-width:330px;margin:10px 0}.ag-document-diagram>b{float:right;color:#1051b0;background:#e7efff;border:1px solid #84adee;border-radius:4px;padding:4px}.ag-document-diagram>div{font-size:32px;margin-top:20px;display:flex;align-items:center;gap:25px;color:#91a5bf}.ag-document-diagram>div span{font-size:20px}
.ag-guest-row{border:1px solid var(--ag-line);border-radius:16px;padding:15px;margin:12px 0}.ag-guest-row header{display:flex;justify-content:space-between;gap:12px;align-items:center}.ag-guest-row strong{font-size:16px}.ag-badge{display:inline-block;border-radius:8px;padding:4px 8px;font:650 11px/1.4 system-ui;background:#edf1f5;color:#54657b;max-width:190px}.ag-badge.received{background:#e8f6ed;color:#17683b}.ag-badge.checked{background:#eaf1ff;color:#134c9e}.ag-badge.correction{background:#fff0d3;color:#80520c}.ag-badge.deleted{background:#edf1f5;color:#465a73}.ag-guest-row .ag-inline-actions{margin-bottom:0}.ag-footer{text-align:center;font-size:11px;color:#677b95;padding-top:22px}.ag-list-note{margin-top:15px}.ag-dialog{color:var(--ag-ink);font:15px/1.5 system-ui;box-sizing:border-box;position:fixed;inset:0;max-height:90dvh;width:min(720px,calc(100% - 24px));margin:auto;overflow-y:auto;z-index:100000}.ag-dialog::backdrop{background:#11294390;backdrop-filter:blur(3px)}.ag-dialog[open]{display:block}.ag-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ag-dialog-head h2{margin:0;font-size:23px}.ag-dialog-head button{background:#eff3f8;border:0;width:44px;height:44px;border-radius:50%;font-size:24px;color:var(--ag-ink);cursor:pointer}.ag-host-summary{font-size:14px;background:#f4f8ff;border-radius:14px;padding:14px;margin:16px 0}.ag-host-summary p{margin:4px 0}.ag-table-import{margin:16px 0;padding:16px;border:1px solid var(--ag-line);border-radius:14px}.ag-table-import select{font-size:14px;margin:5px 0 10px}.ag-table-import pre{overflow:auto;font-size:11px;background:#f4f6fa;padding:10px;max-height:120px}.ag-host-detail{margin-top:16px}.ag-host-detail details{padding:12px 0;border-top:1px solid var(--ag-line)}.ag-host-detail summary{cursor:pointer;font-weight:650}.ag-token-field{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--ag-line);border-radius:8px;font-size:13px;overflow-wrap:anywhere}.ag-host-meta{font-size:12px;color:var(--ag-muted);margin:6px 0}.ag-export-exclusions{font-size:13px;margin:12px 0}.ag-export-exclusions li{margin:7px 0}
@media(max-width:430px){.ag-card,.ag-dialog{padding:20px 17px;border-radius:20px}.ag-wrap{padding:16px 12px 25px}.ag-guest-row header{align-items:flex-start;flex-direction:column;gap:5px}.ag-inline-actions>button{flex:1;min-width:115px}.ag-dialog{max-height:94dvh}.ag-actions{gap:8px}.ag-actions button{padding:12px}.ag-stay{padding:12px}.ag-top{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.ag-progress span{transition:none}}

.ag-legacy-migration{position:fixed;z-index:4000;bottom:100px;left:12px;right:12px;max-width:500px;margin:auto;border:1px solid #eeb454;background:#fff8e8;color:#33220b;border-radius:18px;padding:16px;box-shadow:0 12px 40px #142d4b33;font:14px/1.45 system-ui}.ag-legacy-migration p{margin:6px 0 10px}.ag-legacy-migration button{padding:12px;border:0;border-radius:12px;background:#075bff;color:white;font:600 14px system-ui;width:100%}

.ag-page,.ag-dialog,.ag-primary,.ag-secondary,.ag-lang button,.ag-field input,.ag-field select,.ag-date input,.ag-results button,.ag-badge{font-family:var(--af-font-sans,system-ui)}

/* 1.3.5.5 operational details and public controller */
.ag-controller{padding:14px 16px;margin:14px 0;border:1px solid #dbe5ef;border-radius:16px;font-size:.9rem}.ag-controller summary{cursor:pointer;color:#284766;font-weight:650}.ag-controller dd{margin:4px 0 12px;overflow-wrap:anywhere}.ag-controller dt{color:#536678}.ag-controller a{display:inline-flex;align-items:center;min-height:44px}.ag-warning p{margin:.4em 0}.ag-badge.checked{background:#e5efff;color:#124ba0;white-space:normal}.ag-dialog .ag-inline-actions>.ag-badge{align-self:center;padding:14px}.ag-dialog :focus-visible{outline:3px solid #1766db;outline-offset:3px}#ag-controller-form input{width:100%;box-sizing:border-box}.ag-controller input[type=checkbox]{width:auto}

/* 1.3.5.5 booking-centred workflow */
.ag-help-actions{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 18px}.ag-help-actions button{background:#edf4ff;border:0;border-radius:18px;color:#1858a8;padding:9px 14px;font:inherit;font-size:14px;font-weight:700}
.ag-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.ag-progress-tile{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dce6f2;border-radius:16px;background:#f3f7ff;padding:13px;color:#17324e;font:inherit;text-align:left}.ag-progress-tile strong{font-size:23px}.ag-progress-tile span{font-size:13px;line-height:1.4}.ag-next-action{margin:16px 0}.ag-next-action>button{width:100%;margin-top:6px}.ag-secondary-actions button{font-size:14px!important}.ag-slot-states{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#235a96;margin:10px 0}.ag-bulk-guest{border:1px solid #d8e3ef;border-radius:18px;padding:16px;margin:14px 0;background:#fff}.ag-bulk-guest.is-ineligible{background:#f5f7fa}.ag-bulk-guest .ag-check{margin:0 0 8px}.ag-bulk-details{font-size:14px;margin:14px 0}.ag-bulk-details div{padding:8px 0;border-top:1px solid #eef1f5}.ag-bulk-details dt{color:#5c6c7b}.ag-bulk-details dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:600}.ag-common-arrival{padding:16px;background:#f2f6fd;border-radius:18px;margin:14px 0}.ag-common-arrival label,.ag-individual-arrival label{display:block;margin:12px 0 6px}.ag-individual-arrival{font-size:14px;margin-top:12px}.ag-bulk-footer{border-top:1px solid #dbe5ef;margin-top:16px;background:#fff;padding-top:8px}.ag-bulk-footer button:disabled{opacity:.5;cursor:not-allowed}.ag-common-arrival [hidden]{display:none!important}.ag-link-button{padding:9px 12px;min-height:44px;border:1px solid #dbe4ee;border-radius:12px;background:#fff;font:inherit;color:#1e4b7d}
@media(min-width:680px){.ag-progress-grid{grid-template-columns:repeat(4,1fr)}.ag-bulk-details{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}}

/* 1.3.5.5: persistent, accessible inline validation */
#ag-validation-summary ul{padding-left:18px} .ag-error-link{min-height:44px;border:0;background:transparent;color:#a03226;text-align:left;font:inherit;text-decoration:underline;padding:6px 0} .ag-field [aria-invalid=true],.ag-date [aria-invalid=true]{border-color:#ac392f} #ag-validation-summary button{min-height:44px} .ag-field,.ag-date{scroll-margin-top:70px}

/* 1.3.5.5: individual link cards, aligned with the cleaning-share controls. */
.ag-link-panel{margin-top:14px;padding:14px;border:1px solid #d7e3ef;border-radius:16px;background:#f8fbff}.ag-link-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ag-link-panel>label{display:block;font-size:13px;font-weight:700;margin:10px 0 6px}.ag-link-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ag-link-actions>button{min-height:44px;min-width:116px;flex:1}.ag-whatsapp,.ag-danger-secondary{box-sizing:border-box;min-height:44px;border-radius:14px;padding:11px 16px;font:650 15px/1.35 system-ui;cursor:pointer;touch-action:manipulation}.ag-whatsapp{border:1px solid #128c54;background:#128c54;color:#fff}.ag-danger-secondary{border:1px solid #d7a9a9;background:#fff;color:#9a2424}.ag-whatsapp:focus-visible,.ag-danger-secondary:focus-visible,.ag-link-more summary:focus-visible{outline:3px solid #1766db;outline-offset:3px}.ag-link-more{margin-top:12px}.ag-link-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#355b82;font-weight:650}.ag-token-field[readonly]{background:#fff;color:#233f5d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;min-height:44px}.ag-token-field[readonly]:focus{white-space:normal;overflow-wrap:anywhere}.ag-danger-secondary:disabled,.ag-whatsapp:disabled{opacity:.55;cursor:wait}
@media(max-width:430px){.ag-link-actions{display:grid;grid-template-columns:1fr 1fr}.ag-link-actions>button{min-width:0;width:100%;overflow-wrap:anywhere}.ag-link-panel{padding:12px}.ag-dialog{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
@media(max-width:340px){.ag-link-actions{grid-template-columns:1fr}}
