/* Generated by scripts/build_client.py. Edit the shared style sources. */
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20231f;background:#f7f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#20231f;--muted:#737970;--line:#e6e8e1;--accent:#4d6857;--accent-soft:#edf2ed;--paper:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#e9efe8 0,transparent 38rem),#f7f7f4}.shell{max-width:1060px;min-height:100vh;margin:0 auto;padding:0 36px;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9ebe5}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:650;letter-spacing:-.3px}.brand b{font-weight:450;color:#72776e}.brand-icon{width:29px;height:29px;border-radius:9px;background:var(--accent);color:white;display:grid;place-items:center;font-size:17px}.eligibility{font-size:12px;color:#656b63;background:#fff9;padding:9px 12px;border:1px solid #e7eae4;border-radius:99px}.status-dot,.online{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5b9c69;margin-right:7px}.offline{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a2a89e;margin-right:5px}.intro{max-width:700px;margin:auto;padding:70px 24px 86px;text-align:center;transition:all .25s}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#708171}.intro h1{font-size:clamp(32px,5vw,51px);letter-spacing:-2.2px;line-height:1.07;margin:20px 0 16px;font-weight:620}.intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro p{max-width:540px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.6}.start-button{margin-top:30px;border:0;border-radius:10px;padding:14px 20px;background:var(--accent);color:white;font:600 14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 6px 18px #37574025}.start-button span{margin-left:16px}.start-button:hover{background:#3e5746}.support-note{margin-top:17px!important;font-size:11px!important;color:#8c9289!important}.chat{width:min(100%,800px);height:min(770px,calc(100vh - 128px));min-height:560px;margin:24px auto;display:flex;flex-direction:column;background:var(--paper);border:1px solid #e7e9e3;border-radius:18px;box-shadow:0 18px 60px #1e34200b;overflow:hidden}.chat-head{height:68px;flex:none;border-bottom:1px solid #eceee9;padding:0 20px;display:flex;align-items:center;gap:11px}.assistant-avatar{width:34px;height:34px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:18px}.chat-head strong{display:block;font-size:13px;font-weight:650}.chat-head small{font-size:10px;color:#81877e;display:block;margin-top:3px}.online{width:6px;height:6px;margin-right:5px}.restart{margin-left:auto;border:0;background:transparent;color:#737970;cursor:pointer;font:inherit;font-size:12px}.restart span{font-size:11px;margin-left:3px}.messages{flex:1;overflow:auto;padding:22px 24px 16px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.message-row{max-width:85%;display:flex;align-items:flex-end;gap:8px}.message-row.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:25px;height:25px;flex:none;border-radius:8px;background:#edf2ed;color:var(--accent);display:grid;place-items:center;font-size:12px}.message-row.user .message-avatar{background:#eff0ed;color:#63695f;font-size:10px}.bubble{padding:12px 14px;border:1px solid #eaede8;border-radius:4px 14px 14px 14px;background:#fbfcfa;color:#343a34;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.message-row.user .bubble{border-color:#e4ebe4;background:#eef3ee;border-radius:14px 4px 14px 14px}.bubble strong{font-weight:650}.bubble a{color:#446653}.inline-brand{display:flex;align-items:center;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid #e7eae4}.brand-swatch{width:24px;height:24px;border-radius:7px;border:1px solid #0001}.inline-brand small{display:block;color:#798076;font-size:10px}.choice-card{align-self:flex-start;margin:0 0 0 33px;max-width:84%;display:flex;gap:7px;flex-wrap:wrap}.choice{border:1px solid #e1e6df;background:#fff;border-radius:99px;padding:9px 12px;font:500 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#444b43;cursor:pointer;transition:.14s}.choice:hover,.choice:focus-visible{border-color:#8ba18e;background:#f4f7f3;outline:none}.choice:disabled{opacity:.45;cursor:default}.choice .choice-sub{display:block;color:#8a9087;font-size:10px;margin-top:3px}.result-card{align-self:flex-start;margin:0 0 4px 33px;width:min(90%,560px);border:1px solid #e6e9e3;border-radius:13px;overflow:hidden;background:#fff}.result-top{padding:13px 15px;border-bottom:1px solid #edf0eb;display:flex;align-items:center;gap:10px}.result-top strong{font-size:12px}.result-top small{display:block;margin-top:3px;color:#7d847a;font-size:10px}.mini-portal{margin:15px auto;width:210px;min-height:260px;border:1px solid #e6e8e4;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #0000000c;text-align:center;color:#333;background:#fff}.mini-cover{height:66px;background:#4d6857;display:grid;place-items:center;color:#fff;font-weight:650;font-size:14px}.mini-copy{padding:18px 15px 8px}.mini-copy small{color:#81877e;font-size:9px}.mini-copy h3{font-size:15px;line-height:1.2;margin:7px 0}.mini-copy p{font-size:10px;line-height:1.4;color:#777;margin:0}.mini-form{padding:12px 17px}.mini-input{height:28px;border:1px solid #e2e5e1;border-radius:6px;margin-bottom:7px;text-align:left;padding:7px;font-size:9px;color:#888}.mini-submit{background:#4d6857;color:#fff;border-radius:6px;padding:8px;font-size:9px}.mini-terms{font-size:8px;color:#848a82;padding:6px 2px}.handoff-note{margin:0 14px 13px;padding:11px 12px;border:1px solid #e9ede7;border-radius:9px;background:#fafbf9;color:#686f66}.handoff-note strong{font-size:10px;font-weight:650}.handoff-note p{margin:5px 0 0;font-size:10px;line-height:1.45}.result-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}.result-actions button{border:0;border-radius:8px;background:var(--accent);color:white;padding:10px 13px;font:600 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.result-actions .secondary{background:#f0f2ee;color:#51584f}.compat-note{font-size:10px;line-height:1.45;color:#81877f;padding:0 14px 13px}.composer-area{flex:none;padding:10px 17px 12px;border-top:1px solid #eceee9;background:#fff}.quick-replies{display:flex;gap:7px;flex-wrap:wrap;padding:0 3px 8px}.composer{display:flex;gap:8px;align-items:center;padding:5px 6px 5px 14px;border:1px solid #dfe3dc;border-radius:12px;background:#fff;box-shadow:0 2px 6px #26332608}.composer:focus-within{border-color:#8aa18d;box-shadow:0 0 0 3px #eaf0ea}.composer input,.composer textarea{border:0;outline:0;flex:1;min-width:0;background:transparent;padding:9px 0;font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);resize:none;max-height:100px;overflow-y:auto;line-height:1.4}.composer input::placeholder,.composer textarea::placeholder{color:#a1a69d}.composer button{width:33px;height:33px;border:0;border-radius:9px;background:var(--accent);color:white;font-size:19px;cursor:pointer}.composer button:disabled{background:#c8cec7;cursor:default}.composer-hint{text-align:center;color:#9ba198;font-size:9px;padding-top:7px}.loading{color:#838b80;font-size:12px;font-style:italic}.page-foot{margin-top:auto;height:45px;display:flex;align-items:center;justify-content:space-between;color:#989e94;font-size:10px}.page-foot a{color:#70796d;text-decoration:none}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,12px);padding:10px 15px;background:#252923;color:#fff;border-radius:9px;font-size:12px;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}
@media(max-width:650px){.shell{padding:0 14px}.topbar{height:60px}.brand{font-size:13px}.eligibility{font-size:9px;padding:7px 9px}.intro{padding:65px 10px}.intro h1{letter-spacing:-1.4px}.intro p{font-size:13px}.chat{margin:8px auto;height:calc(100dvh - 86px);min-height:500px;border-radius:13px}.chat-head{height:60px;padding:0 13px}.messages{padding:16px 12px 12px;gap:13px}.message-row{max-width:93%}.bubble{font-size:12px;padding:10px 12px}.choice-card,.result-card{margin-left:31px;max-width:calc(100% - 31px)}.choice{font-size:11px;padding:8px 10px}.composer-area{padding:8px 9px calc(9px + env(safe-area-inset-bottom))}.page-foot{font-size:9px}.page-foot span{max-width:55%}}

/* The conversation is the primary workspace; the account supplies the brief. */
.sample-launch{display:block;margin:16px auto 0;border:0;background:none;color:#4d6857;font:500 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.account-context{flex:none;padding:9px 22px;background:#fafbf9;border-bottom:1px solid #edf0e9;color:#858c81;font-size:10px}
.account-context:empty{display:none}.select-choice{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;padding:2px 3px 6px}.selection-label{grid-column:1/-1;font-size:10px;color:#747d70}.context-select{min-width:0;border:1px solid #dce3d9;border-radius:8px;padding:10px;background:#fff;color:#343c32;font:12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.selection-submit{border-radius:8px}.result-card{width:min(94%,560px);flex:none}.palette-row{display:flex;align-items:center;justify-content:center;gap:5px;padding:0 16px 16px}.palette-swatch{width:16px;height:16px;display:block;border-radius:50%;border:1px solid #0001}.palette-row small{font-size:10px;color:#7f887a;margin-left:4px}.result-actions button:disabled{opacity:.45;cursor:not-allowed}.export-explanation{margin:0;padding:0 15px 12px;font-size:11px;line-height:1.5;color:#7a6c50}.result-tools{display:flex;gap:15px;flex-wrap:wrap;padding:0 15px 14px}.text-action{border:0;background:none;padding:0;color:#66745e;text-decoration:underline;text-underline-offset:3px;font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.import-details{font-size:10px;line-height:1.6;border-top:1px solid #ecf0e8;padding:11px 15px;color:#7b8375}.import-details summary{cursor:pointer;font-weight:600;color:#69755f}.import-details ol{padding-left:17px}.import-details li{margin-bottom:7px}.import-details p{margin:8px 0}.guest-preview{padding:24px 20px;margin:14px;background:var(--background);border-radius:11px;color:var(--ink);font-family:var(--guest-font)}.guest-portal{max-width:340px;margin:auto;overflow:hidden;background:var(--surface);border-radius:var(--radius);box-shadow:0 14px 38px #12233418}.guest-brand{padding:28px 22px 22px;text-align:center;border-top:0;font-size:17px;font-weight:700;letter-spacing:-.5px;overflow-wrap:anywhere}.layout-banner .guest-brand{background:var(--primary);color:var(--on-primary);padding:34px 22px}.layout-minimal{box-shadow:none;border:1px solid #12233412}.layout-minimal .guest-brand{border-top:0;border-bottom:1px solid #12233412}.guest-copy{padding:25px 25px 14px;text-align:center}.guest-eyebrow{font-size:8px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:2px;opacity:.65;font-weight:650}.guest-copy h3{font:600 25px/1.2 var(--guest-font);letter-spacing:-.7px;margin:12px 0 6px;overflow-wrap:anywhere}.guest-auth{padding:14px 25px 10px}.guest-label{font:600 8px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.7px;display:block;margin-bottom:7px;opacity:.8}.guest-input{border:1px solid #b9c3cc;border-radius:min(var(--radius),16px);padding:12px;font:10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-bottom:12px;opacity:.7}.guest-connect{text-align:center;padding:13px;border-radius:min(var(--radius),24px);font:650 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--primary);color:var(--on-primary)}.guest-agreement{font:9px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:center;opacity:.65;margin:12px 3px}.guest-notice{text-align:center;background:var(--background);padding:13px 20px;margin:0;font:10px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(max-width:650px){.account-context{padding:7px 15px;font-size:9px}.result-card{width:calc(100% - 31px)}.guest-preview{padding:15px 10px;margin:9px}.guest-copy{padding:22px 18px 8px}.guest-copy h3{font-size:23px}.guest-auth{padding:12px 18px 8px}.context-select{font-size:11px}.import-details{font-size:10px}}
.guest-logo{display:block;width:auto;height:auto;max-width:min(210px,100%);max-height:64px;object-fit:contain;margin:0 auto 12px}.artwork-note{font-size:10px;line-height:1.5;color:#7a6c50;margin:0;padding:0 15px 12px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bubble .quick-replies{margin-top:14px;white-space:normal;min-width:min(350px,65vw)}
.bubble .select-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.bubble .selection-label{grid-column:1/-1}
.bubble .context-select{width:100%;min-width:0}
.bubble .selection-submit{margin:0;align-self:stretch;border-radius:6px}
.bubble .quick-replies:empty{display:none}
.agreement-editor{display:flex;flex-direction:column;gap:10px;margin-top:16px;white-space:normal;width:min(480px,65vw)}
.agreement-text{resize:vertical;min-height:150px;border:1px solid #8894a3;border-radius:6px;padding:12px;font:13px/1.6 inherit;color:inherit;background:white;width:100%}
.agreement-hint,.handoff-help{font-size:12px;line-height:1.6;color:#687381;white-space:normal}
.agreement-upload{font-size:12px;display:flex;flex-direction:column;gap:6px}
.agreement-upload input{max-width:100%;font:inherit}
.agreement-editor .selection-submit{align-self:flex-start}
.inline-error{font-size:12px;color:#a32222;margin:0;white-space:normal}
.inline-error:empty{display:none}
.portal-handoff .bubble{white-space:normal}
.portal-handoff .choice{display:block;margin-top:14px;border-radius:6px}
.activation-checklist{font-size:12px;line-height:1.7;margin-top:12px}
.activation-checklist summary{cursor:pointer;color:var(--accent);font-weight:500}
.activation-checklist ol{padding-left:20px}.activation-checklist li{margin:8px 0}
/* Composer attachments share the same surface and focus treatment as the chat. */
.attachment-tools{position:relative;flex:0 0 auto;align-self:flex-end}
.composer .attachment-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:#52616f;font:300 27px/1 Arial,sans-serif;cursor:pointer}
.composer .attachment-toggle:hover:not(:disabled){background:#edf3fb;color:#245db1;transform:none}
.composer .attachment-toggle:disabled{background:transparent;color:#a3abb5;cursor:default}
.attachment-menu{position:absolute;left:0;bottom:calc(100% + 12px);min-width:190px;padding:6px;border:1px solid #dce2e9;border-radius:10px;background:#fff;box-shadow:0 8px 28px #17334d20;z-index:20}
.attachment-menu[hidden]{display:none}
.composer .attachment-menu button{display:block;width:100%;height:auto;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#253443;font:inherit;font-size:13px;line-height:20px;font-weight:400;text-align:left;white-space:nowrap;cursor:pointer}
.composer .attachment-menu button:hover,.composer .attachment-menu button:focus-visible{background:#edf3fb;color:#245db1;transform:none}
.attachment-toggle:focus-visible,.attachment-menu button:focus-visible{outline:2px solid #2766bc;outline-offset:2px}

/* Visual direction tokens are resolved by the same server code as the Cisco CSS. */
.guest-scene{display:block;width:100%;height:144px;object-fit:cover;object-position:center}
.guest-preview[data-friendly-copy] .guest-portal .guest-auth-title{font:600 calc(16px*var(--portal-preview-scale,.8))/1.5 var(--portal-font,sans-serif);letter-spacing:0;text-transform:none}
.guest-preview[data-friendly-copy] .guest-portal .guest-auth-description{font:400 calc(14px*var(--portal-preview-scale,.8))/1.6 var(--portal-font,sans-serif)}
.guest-preview[data-presentation]{--portal-preview-scale:.8;background:var(--portal-canvas);background-size:var(--portal-canvas-size);color:var(--portal-ink)}
.guest-portal[data-direction]{border:var(--portal-frame);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow);font-family:var(--portal-font);color:var(--portal-ink)}
.guest-portal[data-direction] .guest-brand{background:var(--portal-header);color:var(--portal-header-ink);border-top:0;border-bottom:0;padding:calc(var(--portal-header-space)*var(--portal-preview-scale)) calc(var(--portal-gutter)*var(--portal-preview-scale));text-align:var(--portal-align);font:var(--portal-mark-weight) calc(22px*var(--portal-preview-scale))/1.3 var(--portal-font);letter-spacing:-.4px}
.guest-portal[data-direction] .guest-logo{max-height:calc(64px*var(--portal-preview-scale));margin-bottom:0}
.guest-portal[data-direction] .guest-brand:has(.guest-logo){display:flex;justify-content:var(--portal-justify)}
.guest-portal[data-direction] .guest-copy{padding:calc(var(--portal-copy-space)*var(--portal-preview-scale)) calc(var(--portal-gutter)*var(--portal-preview-scale)) calc(24px*var(--portal-preview-scale));text-align:var(--portal-align)}
.guest-portal[data-direction] .guest-copy h3{color:var(--portal-ink);font:var(--portal-heading-weight) calc(var(--portal-heading-size)*var(--portal-preview-scale))/var(--portal-heading-leading) var(--portal-font);letter-spacing:-1px;margin:0 0 calc(16px*var(--portal-preview-scale));overflow-wrap:anywhere}
.guest-portal[data-direction] .guest-copy .guest-supporting{color:var(--portal-ink);font:400 calc(var(--portal-support-size)*var(--portal-preview-scale))/1.65 var(--portal-font);margin:0}
.guest-portal[data-direction] .guest-auth{padding:calc(12px*var(--portal-preview-scale)) calc(var(--portal-gutter)*var(--portal-preview-scale)) calc(24px*var(--portal-preview-scale))}
.guest-portal[data-direction] .guest-label{font:600 calc(12px*var(--portal-preview-scale))/1.4 var(--portal-font);letter-spacing:.5px;color:var(--portal-ink);opacity:1;margin-bottom:8px}
.guest-portal[data-direction] .guest-input{color:var(--portal-ink);font:400 calc(15px*var(--portal-preview-scale))/1.4 var(--portal-font);opacity:1;border-color:var(--portal-input-border);border-radius:var(--portal-input-radius);padding:calc(14px*var(--portal-preview-scale));margin-bottom:calc(16px*var(--portal-preview-scale))}
.guest-portal[data-direction] .guest-connect{color:var(--portal-button-ink);background:var(--portal-button);border:1px solid var(--portal-button-border);border-radius:var(--portal-input-radius);box-shadow:none;font:600 calc(15px*var(--portal-preview-scale))/1.4 var(--portal-font);padding:calc(15px*var(--portal-preview-scale))}
.guest-portal[data-direction] .guest-provider{color:var(--portal-ink);font-family:var(--portal-font);border-radius:var(--portal-input-radius);border-color:var(--portal-input-border)}
.guest-portal[data-direction] .guest-agreement{color:var(--portal-ink);font:400 calc(12px*var(--portal-preview-scale))/1.55 var(--portal-font);opacity:1;margin:calc(16px*var(--portal-preview-scale)) 0 0}
.guest-portal[data-direction] .guest-notice{color:var(--portal-ink);background:var(--surface);font:400 calc(13px*var(--portal-preview-scale))/1.6 var(--portal-font);border-top:1px solid var(--portal-input-border);padding:calc(18px*var(--portal-preview-scale)) calc(var(--portal-gutter)*var(--portal-preview-scale));text-align:center}
.guest-portal[data-direction] .guest-auth-title{font:700 calc(20px*var(--portal-preview-scale))/1.3 var(--portal-font);margin:calc(18px*var(--portal-preview-scale)) 0 calc(20px*var(--portal-preview-scale))}
.guest-portal[data-direction] .guest-auth-description{font:400 calc(16px*var(--portal-preview-scale))/1.35 var(--portal-font);margin:0 0 calc(20px*var(--portal-preview-scale))}
.guest-portal[data-direction] .guest-agreement{margin:0 0 calc(20px*var(--portal-preview-scale));text-align:left}
.guest-portal[data-direction] .guest-help{border-top:1px solid var(--portal-input-border);padding:calc(18px*var(--portal-preview-scale)) calc(var(--portal-gutter)*var(--portal-preview-scale));text-align:right;font:400 calc(16px*var(--portal-preview-scale))/1.4 var(--portal-font)}
/* A favicon is a small accompanying mark; retain the business name. */
.guest-portal .guest-brand.guest-brand-with-icon { display:flex;align-items:center;gap:10px; }
.guest-portal .guest-brand.guest-brand-with-icon .guest-logo { width:auto;max-width:24px;max-height:24px;height:auto;margin:0;object-fit:contain; }
.guest-portal .guest-brand.guest-brand-with-icon span { font-size:22px;line-height:1.3; }
/* Photo composition mirrors the native checked header/welcome and white form. */
.guest-portal[data-composition="photo-hero-v1"]{background:#fff;color:#253443;border:0;border-radius:14px;box-shadow:0 16px 48px #17334d18;overflow:hidden}
.guest-photo-hero{background-size:cover;background-position:center}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand{background:transparent;color:var(--primary);padding:20px 20px 0;text-align:left;min-height:62px;box-sizing:border-box;display:block}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand:not(:has(.guest-logo)){font-size:16px;line-height:1.3;width:max-content;max-width:calc(100% - 40px);margin:20px 20px 0;padding:10px 13px;background:#fff;border-radius:6px;min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand:has(.guest-logo){justify-content:flex-start;min-height:90px}
.guest-portal[data-composition="photo-hero-v1"] .guest-logo{display:block;width:176px;height:70px;max-width:100%;max-height:70px;box-sizing:border-box;object-fit:contain;background:#fff;border-radius:6px;padding:13px;margin:0}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand.guest-brand-with-icon{margin:20px 20px 0;padding:10px 13px;min-height:0;max-width:calc(100% - 40px);width:max-content;background:#fff;border-radius:6px;overflow:hidden}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand-with-icon .guest-logo{padding:0;width:20px;height:20px;max-width:20px;max-height:20px;flex-shrink:0}
.guest-portal[data-composition="photo-hero-v1"] .guest-brand-with-icon span{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guest-portal[data-composition="photo-hero-v1"] .guest-copy{display:flex;flex-direction:column;justify-content:flex-end;min-height:189px;box-sizing:border-box;background:transparent;padding:45px 20px 22px;text-align:left}
.guest-portal[data-composition="photo-hero-v1"] .guest-copy h3{font-size:26px;line-height:1.12;font-weight:700;color:#fff;letter-spacing:-.6px;margin:0 0 10px;text-wrap:balance}
.guest-portal[data-composition="photo-hero-v1"] .guest-copy .guest-supporting{color:#fff;font-size:12px;line-height:1.55}
.guest-portal[data-composition="photo-hero-v1"] .guest-notice{background:#fff;color:#4b5967;border:0;padding:13px 20px;font-size:11px;line-height:1.6}
.guest-portal[data-composition="photo-hero-v1"] .guest-auth{background:#fff;padding:5px 20px 20px}
.guest-portal[data-composition="photo-hero-v1"] .guest-input{height:39px;box-sizing:border-box;border:1px solid #94a2b1;border-radius:6px;font-size:12px;padding:10px 12px}
.guest-portal[data-composition="photo-hero-v1"] .guest-connect{min-height:39px;box-sizing:border-box;padding:10px 13px;border-radius:6px;font-size:12px;line-height:18px}
.guest-portal[data-composition="photo-hero-v1"] .guest-help{background:#fff;border-color:#edf0f3}
/* Owned OFL font files, served by strict same-origin asset routes. Native ZIPs
   embed the same bytes and their licenses; no third-party runtime font fetch. */
@font-face{font-family:"Portal Preview Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("./portal-montserrat-latin.woff2") format("woff2")}
@font-face{font-family:"Portal Preview Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url("./portal-bebas-neue-latin.woff2") format("woff2")}
.recipe-preview{--recipe-scale:.8;background:#edf1f4}
.guest-portal.recipe-portal{box-sizing:border-box;position:relative;isolation:isolate;max-width:480px;margin:0 auto;border:0;border-radius:0;box-shadow:none;overflow-y:auto;overflow-x:hidden;font-family:"Portal Preview Montserrat",Arial,sans-serif;background:#e9ede6;color:#202a25;text-align:left}
.recipe-canvas{box-sizing:border-box;position:relative;min-height:calc(512px*var(--recipe-scale))}
.recipe-brand{box-sizing:border-box;padding:calc(24px*var(--recipe-scale)) calc(var(--recipe-gutter)*var(--recipe-scale));background-size:cover;background-position:center}
.recipe-mark{display:inline-flex;align-items:center;box-sizing:border-box;width:max-content;max-width:100%;padding:calc(10px*var(--recipe-scale)) calc(13px*var(--recipe-scale));border-radius:6px;background:var(--recipe-mark-surface);color:var(--recipe-mark-ink);font:600 calc(20px*var(--recipe-scale))/1.25 "Portal Preview Montserrat",Arial,sans-serif;overflow-wrap:anywhere;text-align:left}
.recipe-mark[data-kind=wordmark]{width:calc(186px*var(--recipe-scale));height:calc(76px*var(--recipe-scale));padding:calc(12px*var(--recipe-scale))}
.recipe-mark .recipe-logo{display:block;width:100%;height:100%;object-fit:contain;min-width:0}
.recipe-mark[data-kind=icon]{gap:calc(10px*var(--recipe-scale));align-items:flex-start}
.recipe-mark[data-kind=icon] .recipe-logo{flex:none;width:calc(20px*var(--recipe-scale));height:calc(20px*var(--recipe-scale))}
.recipe-mark[data-kind=icon] .recipe-logo{margin-top:calc(2px*var(--recipe-scale))}
.recipe-mark[data-kind=icon] span{min-width:0;overflow-wrap:anywhere}
.recipe-copy{padding:calc(30px*var(--recipe-scale)) calc(var(--recipe-gutter)*var(--recipe-scale)) calc(16px*var(--recipe-scale));text-align:var(--recipe-align)}
.recipe-copy h3{font:400 calc(var(--recipe-heading-size)*var(--recipe-scale))/1.02 "Portal Preview Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.15px;margin:0 0 calc(18px*var(--recipe-scale));color:inherit;text-wrap:balance;overflow-wrap:anywhere}
.recipe-copy p{font:400 calc(15px*var(--recipe-scale))/1.65 "Portal Preview Montserrat",Arial,sans-serif;margin:0;color:inherit}
.recipe-notice{padding:0 calc(var(--recipe-gutter)*var(--recipe-scale)) calc(8px*var(--recipe-scale));margin:0;color:#536058;font:400 calc(13px*var(--recipe-scale))/1.6 "Portal Preview Montserrat",Arial,sans-serif}
.recipe-auth{padding:calc(10px*var(--recipe-scale)) calc(var(--recipe-gutter)*var(--recipe-scale)) calc(18px*var(--recipe-scale))}
.recipe-auth-description{margin:0 0 calc(16px*var(--recipe-scale));font:400 calc(14px*var(--recipe-scale))/1.6 "Portal Preview Montserrat",Arial,sans-serif;color:inherit}
.recipe-input{box-sizing:border-box;height:calc(52px*var(--recipe-scale));padding:calc(12px*var(--recipe-scale)) calc(16px*var(--recipe-scale));border:1px solid #a5b0a6;border-radius:28px;background:#dee3db;color:#202a25;text-align:left;font:400 calc(16px*var(--recipe-scale))/1.4 "Portal Preview Montserrat",Arial,sans-serif}
.recipe-agreement{font:400 calc(13px*var(--recipe-scale))/1.65 "Portal Preview Montserrat",Arial,sans-serif;margin:calc(14px*var(--recipe-scale)) 0;color:#536058;text-align:left}
.recipe-connect{box-sizing:border-box;min-height:calc(52px*var(--recipe-scale));padding:calc(15px*var(--recipe-scale)) calc(18px*var(--recipe-scale));border:1px solid var(--recipe-action-border);border-radius:28px;background:var(--recipe-action-fill);color:var(--recipe-action-ink);font:600 calc(16px*var(--recipe-scale))/20px "Portal Preview Montserrat",Arial,sans-serif;text-align:center}
.recipe-help{padding:calc(12px*var(--recipe-scale)) calc(var(--recipe-gutter)*var(--recipe-scale));text-align:right;color:#536058;font-size:calc(13px*var(--recipe-scale))}
.recipe-portal[data-recipe=retail] .recipe-brand{min-height:calc(260px*var(--recipe-scale))}
.recipe-portal[data-recipe=immersive] .recipe-canvas{display:flex;flex-direction:column;justify-content:flex-end;min-height:calc(640px*var(--recipe-scale));padding:calc(150px*var(--recipe-scale)) calc(var(--recipe-gutter)*var(--recipe-scale)) calc(24px*var(--recipe-scale));background-size:cover;background-position:center;color:#fff}
.recipe-portal[data-recipe=immersive] .recipe-brand{position:absolute;top:0;left:0;right:0}
.recipe-portal[data-recipe=immersive] .recipe-copy{padding:0 0 calc(20px*var(--recipe-scale))}
.recipe-portal[data-recipe=immersive] .recipe-copy h3{font-family:"Portal Preview Montserrat",Arial,sans-serif;font-weight:var(--recipe-heading-weight);line-height:1.12;letter-spacing:-1px}
.recipe-portal[data-recipe=immersive] .recipe-notice{padding:0 0 calc(12px*var(--recipe-scale));color:#f1f4f6}
.recipe-portal[data-recipe=immersive] .recipe-auth{padding:0}
.recipe-portal[data-recipe=immersive] .recipe-input{border-radius:6px;background:#fff}
.recipe-portal[data-recipe=immersive] .recipe-connect{border-radius:6px}
.recipe-portal[data-recipe=immersive] .recipe-agreement,.recipe-portal[data-recipe=immersive] .recipe-help{color:#f1f4f6}
.recipe-portal[data-recipe=immersive] .recipe-help{padding:calc(12px*var(--recipe-scale)) 0 0}
.recipe-portal[data-recipe=immersive][data-mark-kind=text] .recipe-canvas,
.recipe-portal[data-recipe=immersive][data-mark-kind=icon] .recipe-canvas{padding-top:calc(24px*var(--recipe-scale))}
.recipe-portal[data-recipe=immersive][data-mark-kind=text] .recipe-brand,
.recipe-portal[data-recipe=immersive][data-mark-kind=icon] .recipe-brand{position:static;padding:0 0 calc(48px*var(--recipe-scale));flex:none}
.recipe-portal[data-recipe=immersive][data-mark-kind=text] .recipe-main,
.recipe-portal[data-recipe=immersive][data-mark-kind=icon] .recipe-main{margin-top:auto}

/* Only the exact-source, display-only retained designer preview. */
.retained-native-preview .retained-document-link{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit!important;text-align:left;text-decoration:underline;cursor:pointer}
.retained-native-preview .retained-alternate-caption{margin:24px 0 12px;text-align:center;font:400 calc(13px*var(--recipe-scale))/20px "Portal Preview Montserrat",Arial,sans-serif;color:inherit}
.retained-native-preview .retained-method-button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:40px;padding:10px 12px;border:1px solid #536574;border-radius:28px;background:#fff;color:#202a25;font:600 calc(16px*var(--recipe-scale))/22px "Portal Preview Montserrat",Arial,sans-serif!important;cursor:pointer}
.retained-native-preview[data-recipe=immersive] .retained-method-button{border-radius:6px}
.retained-native-preview .retained-preview-back{display:inline-block;min-height:36px;margin:0 0 8px;padding:6px 0;border:0;background:none;color:inherit;font:500 calc(14px*var(--recipe-scale))/22px "Portal Preview Montserrat",Arial,sans-serif!important;text-decoration:underline;text-align:left;cursor:pointer}
.retained-native-preview .retained-preview-note{font:400 11px/18px Inter,sans-serif;color:inherit}
.retained-document{position:fixed;inset:0;box-sizing:border-box;width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #d7dfe9;border-radius:10px;background:#fff;color:#2e3742;box-shadow:0 16px 60px #172c4550;font:400 14px/23px "Inter var",Inter,sans-serif}
.retained-document::backdrop{background:#162d4770}
.retained-document-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 20px;border-bottom:1px solid #e6e8eb;background:#fff;font:600 14px/22px "Inter var",Inter,sans-serif}
.retained-document-close{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:none;color:#3b4653;font:400 25px/1 Inter,sans-serif!important;cursor:pointer}
.retained-document-close:hover{background:#edf4ff}
.retained-document-body{padding:20px;overflow-wrap:anywhere}
.retained-document-copy{margin:0;white-space:pre-wrap;font:400 14px/23px "Inter var",Inter,sans-serif}
.retained-document-note{margin:16px 0 0;color:#687381;font:400 12px/20px "Inter var",Inter,sans-serif}

@font-face{font-family:"Portal Brand Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-montserrat-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Slab B";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-bitter-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Anton";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/portal-anton-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/portal-poppins-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/portal-poppins500-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/portal-poppins600-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/portal-poppins700-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Work Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-worksans-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand DM Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-dm-sans-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Libre Franklin";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-librefranklin-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-inter-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Open Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-opensans-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Brand Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-roboto-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Sans L";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/portal-lato-latin.woff2") format("woff2");}
@font-face{font-family:"Portal Humanist 3";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/portal-sourcesans-latin.woff2") format("woff2");}
/* Validated website tokens; shared visual behavior with brand_application.py. */
.recipe-portal[data-company-brand]{font-family:var(--brand-body-font)!important;background:var(--brand-canvas)!important;border-top:0!important}
.recipe-portal[data-company-brand] .recipe-canvas{color:var(--brand-ink)!important;background-color:var(--brand-canvas)!important;background-image:var(--brand-backdrop)!important}
.recipe-portal[data-company-brand] .recipe-mark{background:#fff;border-radius:var(--brand-mark-radius);box-shadow:none}
.recipe-portal[data-company-brand] .recipe-copy h3{font-family:var(--brand-heading-font)!important;font-weight:var(--brand-heading-weight)!important;letter-spacing:-.6px!important;line-height:1.15!important;color:var(--brand-ink)!important;text-transform:none}
.recipe-portal[data-company-brand] .recipe-copy p,.recipe-portal[data-company-brand] .recipe-auth-description,.recipe-portal[data-company-brand] .recipe-notice{font-family:var(--brand-body-font)!important;color:var(--brand-ink)!important}
.recipe-portal[data-company-brand] .recipe-input{font-family:var(--brand-body-font)!important;background:var(--brand-form-surface);border-color:var(--brand-line);border-radius:var(--brand-radius);color:var(--brand-form-ink)}
.recipe-portal[data-company-brand] .recipe-connect{font-family:var(--brand-body-font)!important;background:var(--brand-primary);color:var(--brand-action-ink);border-color:var(--brand-action-border);border-radius:var(--brand-radius)}
.recipe-portal[data-company-brand] .recipe-agreement,.recipe-portal[data-company-brand] .recipe-help{font-family:var(--brand-body-font)!important;color:var(--brand-muted)!important}
.brand-source-details{margin:0 16px 12px;font-size:12px;color:#596676;line-height:1.5}.brand-source-details summary{cursor:pointer}.brand-source-details dl{display:grid;grid-template-columns:90px 1fr;gap:8px;margin-top:10px}.brand-source-details dt{font-weight:600}.brand-source-details dd{margin:0;overflow-wrap:anywhere}.brand-source-details a{color:#0861b7}.brand-source-details p{margin:8px 0 0}

.recipe-portal[data-company-brand] .recipe-mark[data-kind=wordmark]{height:calc(var(--brand-logo-height)*var(--recipe-scale))}
.recipe-portal[data-company-brand] .recipe-mark[data-kind=symbol]{width:max-content;max-width:100%;height:auto;min-height:calc(84px*var(--recipe-scale));padding:calc(14px*var(--recipe-scale));gap:calc(12px*var(--recipe-scale));align-items:center}
.recipe-portal[data-company-brand] .recipe-mark[data-kind=symbol] .recipe-logo{flex:none;width:calc(48px*var(--recipe-scale));height:calc(48px*var(--recipe-scale))}
.recipe-portal[data-company-brand] .brand-symbol-name{font:600 calc(20px*var(--recipe-scale))/1.2 var(--brand-body-font);color:var(--brand-logo-ink);min-width:0;overflow-wrap:anywhere}
/* Native-flow design previews share the company's visual tokens. */
.journey-phone{display:flex;align-items:stretch;gap:0;border:1px solid var(--brand-line,#b9c3cc);border-radius:var(--brand-radius,8px);background:var(--brand-form-surface,#fff);overflow:visible;margin:0 0 12px;color:var(--brand-form-ink,#17212B)}
.journey-country{width:45%;max-width:145px;min-width:75px;border:0;border-right:1px solid #d7dfe9;border-radius:inherit;padding:12px 6px;background:transparent;color:inherit;font:12px var(--brand-body-font,Arial,sans-serif)}
.journey-mobile{width:55%;min-width:0;border:0;padding:12px 8px;background:transparent;color:inherit;font:14px var(--brand-body-font,Arial,sans-serif)}
.journey-mobile:focus,.journey-code:focus{outline:2px solid var(--brand-accent,#366ac3);outline-offset:-2px}
.journey-code{display:block;width:100%;box-sizing:border-box}
.journey-inline-link{border:0;background:none;color:var(--brand-muted,#4b5d70);padding:8px 0;text-decoration:underline;font:12px/1.5 var(--brand-body-font,Arial,sans-serif);cursor:pointer;text-align:inherit}
.journey-help{display:block;margin-top:20px}
.journey-agreement{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 var(--brand-body-font,Arial,sans-serif);color:var(--brand-ink,#17212B);margin-bottom:22px;max-height:260px;overflow-y:auto}
.journey-action{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;cursor:pointer}
.recipe-connect:is(button){width:100%;cursor:pointer}
.journey-error{border:1px solid #b42318;border-radius:6px;padding:12px;background:#fff3f1;color:#8c1b13;font:14px/1.6 var(--brand-body-font,Arial,sans-serif)}
.journey-provider-note{font:12px/1.5 var(--brand-body-font,Arial,sans-serif);color:var(--brand-muted,#596676)}

/* The guest runtime uses normal document flow after the welcome page. */
.journey-screen .recipe-connect{display:block;width:100%;cursor:pointer;text-decoration:none}
.recipe-portal[data-guest-screen]:not([data-guest-screen=welcome]):not([data-guest-screen=connected]):not([data-guest-screen-base=welcome]) .recipe-canvas{display:block;min-height:calc(640px*var(--recipe-scale));padding:calc(28px*var(--recipe-scale))!important}
.recipe-portal[data-guest-screen]:not([data-guest-screen=welcome]):not([data-guest-screen=connected]):not([data-guest-screen-base=welcome]) .recipe-brand{position:relative!important;padding:0 0 calc(28px*var(--recipe-scale))!important}
.recipe-portal[data-guest-screen]:not([data-guest-screen=welcome]):not([data-guest-screen=connected]):not([data-guest-screen-base=welcome]) .recipe-copy{padding:0 0 calc(18px*var(--recipe-scale))!important}
.recipe-portal[data-guest-screen]:not([data-guest-screen=welcome]):not([data-guest-screen=connected]):not([data-guest-screen-base=welcome]) .recipe-copy h3{font-size:calc(28px*var(--recipe-scale))!important}
.recipe-portal[data-guest-screen=agreement] .journey-agreement{color:#17212B!important;background:#fff;padding:16px;border-radius:4px;box-shadow:0 4px 16px #10203916}
.journey-country-wrap{position:relative;flex:0 0 90px;min-width:75px;border-right:1px solid #d7dfe9}
.journey-country-wrap .journey-country{position:absolute;inset:0;width:100%;height:100%;max-width:none;padding:0;border:0;opacity:0;cursor:pointer;z-index:1}
.journey-country-code{display:flex;align-items:center;justify-content:center;height:100%;min-height:44px;padding:10px 8px;font:13px var(--brand-body-font,Arial,sans-serif);pointer-events:none}
.journey-country-wrap:focus-within{outline:2px solid var(--brand-accent,#366ac3);outline-offset:-2px}
.journey-phone .journey-mobile{width:auto;flex:1}
.journey-country-wrap{flex-basis:104px}
.journey-country-trigger{display:flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;height:100%;min-height:44px;padding:0 9px;border:0;background:transparent;color:#24313e;cursor:pointer;border-radius:inherit}
.journey-country-trigger .journey-country-flag{position:static;transform:none;flex:none;pointer-events:none}
.journey-country-trigger .journey-country-code{display:block;min-height:0;height:auto;padding:0!important;font-size:13px;line-height:1.4;white-space:nowrap}
.journey-country-chevron{width:6px;height:6px;flex:none;margin-left:auto;margin-bottom:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.journey-country-trigger:focus-visible{outline:2px solid #0865c0;outline-offset:-3px}
.journey-country-menu{position:fixed;inset:auto;margin:0;display:flex;flex-direction:column;gap:0;max-width:calc(100vw - 24px);max-height:280px;padding:7px;border:1px solid #c9d4e0;border-radius:10px;background:#fff;color:#24313e;box-shadow:0 8px 28px #14263d26;z-index:1000;font:13px/1.4 'Inter var',Inter,Arial,sans-serif;overflow:hidden}
.journey-country-menu[hidden]{display:none}
.journey-country-search{display:block;flex:none;width:100%;min-height:38px;height:38px;margin:0 0 6px;padding:8px 10px;border:1px solid #b8c7d7;border-radius:6px;background:#fff;color:#24313e;font:inherit;outline-offset:2px}
.journey-country-options{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.journey-country-option{display:flex;align-items:center;gap:9px;width:100%;min-height:36px;margin:0;padding:8px;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.journey-country-option:hover,.journey-country-option[data-active=true]{background:#edf4fc}
.journey-country-option[aria-selected=true]{background:#e4effc;color:#075fba}
.journey-country-option img{flex:none;width:20px;height:15px;object-fit:cover}
.journey-country-name{flex:1;min-width:0}.journey-country-prefix{flex:none;color:#637181}
.journey-country-empty{margin:10px;padding:0;color:#637181;font:inherit}
@media(prefers-reduced-motion:no-preference){.journey-screen>div{animation:guest-screen-in 160ms ease-out}@keyframes guest-screen-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Unframed identity, real consent controls and locally bundled country flags. */
.journey-country-flag{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:15px;object-fit:cover;pointer-events:none;border-radius:1px}
.journey-country-flag[hidden]{display:none}.journey-country-wrap:has(.journey-country-flag:not([hidden])) .journey-country-code{padding-left:32px}
.journey-terms-note{font:12px/1.6 var(--brand-body-font,Arial,sans-serif);color:var(--brand-muted,#4b5d70);margin:12px 0 0;text-align:inherit}
.journey-terms-link{display:inline;border:0;background:transparent;color:inherit;font:inherit;font-weight:500;padding:0;cursor:pointer;text-decoration:none;border-radius:2px}.journey-terms-link:hover{text-decoration:underline}.journey-terms-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.journey-consent{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:14px 0;font:12px/1.6 var(--brand-body-font,Arial,sans-serif);color:var(--brand-muted,#4b5d70)}
.journey-consent-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.journey-consent-checkbox{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;flex:none;width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;accent-color:var(--brand-primary,#366ac3);cursor:pointer}
.recipe-connect:disabled,.guest-connect:disabled{opacity:.55;cursor:not-allowed}
.recipe-auth>.recipe-input+.recipe-connect,.guest-auth>.guest-input+.guest-connect{margin-top:max(12px,calc(16px*var(--recipe-scale,.8)))}
/* Real form inputs must stretch like the placeholder blocks they replace. */
.recipe-auth>input.recipe-input,.guest-auth>input.guest-input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin-inline:0}
.recipe-portal:not([data-guest-controls=retained]) .recipe-mark,.recipe-portal:not([data-guest-controls=retained])[data-company-brand] .recipe-mark{background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible}
.recipe-portal:not([data-guest-controls=retained]) .recipe-brand{isolation:isolate}.recipe-portal:not([data-guest-controls=retained]) .recipe-brand:has(.recipe-logo)::before{content:"";position:absolute;inset:calc(-28px*var(--recipe-scale)) calc(-28px*var(--recipe-scale)) calc(-70px*var(--recipe-scale));background:var(--guest-logo-field,linear-gradient(180deg,#fffffff5 0%,#ffffffc7 35%,#ffffff00 100%));z-index:-1;pointer-events:none}
.recipe-portal:not([data-guest-controls=retained]) .recipe-brand:has(.recipe-logo){position:relative}.recipe-portal:not([data-guest-controls=retained])[data-recipe=immersive] .recipe-brand:has(.recipe-logo){position:absolute}
.guest-portal:not([data-guest-controls=retained]) .guest-logo{background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important}

.recipe-portal:not([data-guest-controls=retained])[data-logo-field=dark]{--guest-logo-field:linear-gradient(180deg,#0f1a2ef5 0%,#0f1a2ec7 35%,#0f1a2e00 100%)}

.recipe-portal:not([data-guest-controls=retained]) .recipe-mark:not(:has(img)){color:inherit!important}
.recipe-portal:not([data-guest-controls=retained])[data-logo-field=dark] .brand-symbol-name{color:#fff!important}

/* Optional guest settings stay within the existing portal details panel. */
.portal-options-editor { display:grid; gap:12px; min-width:0; padding:12px 0; }
.portal-option-group { border-top:1px solid #e4e7eb; padding:12px 0; }
.portal-option-group > summary { cursor:pointer; font-weight:600; margin-bottom:12px; }
.portal-option-label { display:grid; gap:6px; margin:12px 0; font-size:13px; }
.portal-option-label textarea { min-height:88px; resize:vertical; }
.portal-option-label select[multiple] { min-height:120px; }
.portal-option-check { display:flex; align-items:flex-start; gap:8px; margin:12px 0; font-size:13px; line-height:1.5; }
.portal-option-check input[type="checkbox"],.portal-option-check input[type="radio"] { appearance:auto; width:18px; height:18px; min-width:18px; margin:1px 0 0; padding:0; }
.portal-option-field { margin:12px 0; padding:12px; border:1px solid #dfe3e8; border-radius:8px; }
.portal-option-field summary { cursor:pointer; font-weight:600; }
.portal-options-guest { display:flex; flex-direction:column; gap:12px; min-width:0; }
.portal-options-guest .portal-capture-label { display:grid; gap:6px; font:inherit; margin:0; }
.portal-options-guest .portal-capture-input { box-sizing:border-box; width:100%; min-height:48px; margin:0; }
.portal-options-guest .portal-capture-choice { padding:0; margin:0; border:0; min-width:0; }
.portal-options-guest .portal-option-check { color:inherit; }
.portal-options-guest .journey-consent { margin:0; }
.portal-options-guest .journey-terms-note { order:2; }
.guest-portal:not(.recipe-portal) .portal-options-guest { --recipe-scale:1; --recipe-action-fill:var(--primary); --recipe-action-ink:var(--on-primary); --recipe-action-border:var(--primary); }
.guest-portal:not(.recipe-portal) .portal-options-guest .recipe-input { border:1px solid #8894a3; border-radius:6px; padding:12px; color:#17212b; background:#fff; width:100%; min-height:48px; }

.portal-capture-fields { border:0; margin:0; padding:0; min-width:0; }

/* A failed download attempt points to requirements inside the visible editor. */
.download-field-invalid{border-color:#b42318!important;box-shadow:0 0 0 1px #b42318!important;scroll-margin-block:28px}
.download-field-invalid:focus{outline:2px solid #b42318!important;outline-offset:2px}
.download-field-error{color:#a32222;font-size:12px;line-height:1.5;white-space:normal;margin:6px 0 8px}
.download-field-error[hidden]{display:none!important}
.download-agreement-invalid{border:1px solid #b42318;border-radius:6px;padding:12px;background:#fff}
.download-setup-invalid{border:1px solid #b42318!important;border-radius:6px;padding:12px;background:#fff8f7}
.download-setup-invalid>strong{color:#a32222}
.download-setup-invalid .text-action{color:#a32222}
.agreement-sample-action{align-self:flex-start;justify-self:start}
.agreement-sample-note{font-size:12px;line-height:1.5;color:#52616f;margin:0;white-space:normal}

/* Saved requirements stay in the same artifact instead of creating a new design. */
.completion-action{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 0;border:0;background:transparent;text-align:left;color:#263849;font:inherit;cursor:pointer;list-style:none}
.completion-action::-webkit-details-marker{display:none}
.completion-action:focus-visible{outline:2px solid #2169ce;outline-offset:2px;border-radius:4px}
.completion-status{flex-shrink:0;color:#62738a;font-size:12px}
.download-setup-item[data-complete=true]>.completion-action .completion-status{color:#267443;font-weight:600}
.download-setup-item+.download-setup-item{border-top:1px solid #dce4ec}
.sms-setting[hidden]{display:none!important}
.sms-setting{display:grid;gap:8px}
.download-setup .sms-setting{padding:0 0 10px}.download-setup .sms-setting .choice{margin:0}.download-setup .sms-setting .choice-context-note{margin:0;font-size:12px;line-height:1.5}
.sms-setting>.selection-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.download-setup .sms-setting{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.download-setup .sms-setting .choice{padding:10px 14px;min-height:40px;white-space:nowrap}
.download-setup .sms-setting .choice-context-note{grid-column:1/-1}
.download-setup-item[data-invalid=true]{border-left:2px solid #b42318;padding-left:8px}
.download-setup-item[data-invalid=true]>.completion-action,.download-setup-item[data-invalid=true] .completion-status{color:#a32222}
.download-setup .sms-setting>input,.download-setup .sms-setting>select{grid-column:1;grid-row:1;width:100%;min-width:0}
.download-setup .sms-setting>.choice{grid-column:2;grid-row:1}
.download-setup .sms-setting>.download-field-error{grid-column:1/-1;grid-row:2;margin:0}
.download-setup .sms-setting>.choice-context-note{grid-row:3}
