/* Scoped customer account UI; the existing catalogue and editor stay intact. */
#ventroAccountEntry { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:10px 15px; color:#234f83; background:#fffefa; border:1px solid #cdd9e4; border-radius:999px; text-decoration:none; font:700 13px/1.2 Arial,sans-serif; cursor:pointer; }
#ventroAccountEntry svg { width:19px; height:19px; }
#ventroAccountEntry:hover { background:#eaf1f7; }
#ventroAccountEntry:focus-visible, .ventro-account-dialog :focus-visible, .ventro-account-save button:focus-visible { outline:3px solid #6d9fc7; outline-offset:3px; }
.ventro-account-dialog { box-sizing:border-box; width:min(500px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; color:#1c3044; background:#fffefa; border:1px solid #d7e0e7; border-radius:22px; box-shadow:0 26px 90px #10283b30; font:15px/1.6 Arial,'Microsoft YaHei',sans-serif; }
.ventro-account-dialog::backdrop { background:#102b4865; backdrop-filter:blur(4px); }
.ventro-account-dialog[hidden], .ventro-account-dialog [hidden] { display:none!important; }
.ventro-account-dialog * { box-sizing:border-box; }
.ventro-account-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:20px 24px 17px; background:#fffefa; border-bottom:1px solid #e2e8ed; }
.ventro-account-brand { color:#24548a; font:700 23px/1 Georgia,serif; letter-spacing:.05em; }
.ventro-account-close { width:40px; height:40px; flex:none; padding:0; border:1px solid #d5dfe7; border-radius:50%; color:#234f83; background:transparent; font:25px/1 Arial,sans-serif; cursor:pointer; }
.ventro-account-dialog #ventroAccountBody { padding:22px 24px 8px; }
.ventro-account-dialog #ventroAccountMessage { margin:0 24px 20px; }
.ventro-account-dialog h2 { font:400 clamp(25px,5vw,31px)/1.15 Georgia,'Microsoft YaHei',serif; color:#142b40; margin:0 0 8px; }
.ventro-account-dialog p { margin:9px 0 14px; }
.ventro-account-intro, .ventro-account-small { color:#5c7082; }
.ventro-account-small { font-size:12px; line-height:1.6; }
.ventro-account-note { margin-top:14px!important; padding:11px 13px; border-radius:11px; background:#f2f6f8; }
.ventro-account-methods { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:18px 0 14px; padding:4px; border:1px solid #d6e0e8; border-radius:13px; background:#edf3f7; }
.ventro-account-methods button { min-height:42px; padding:8px 12px; border:0; border-radius:9px; background:transparent; color:#587084; font:700 14px/1.2 Arial,'Microsoft YaHei',sans-serif; cursor:pointer; }
.ventro-account-methods button[aria-pressed="true"] { background:#fffefa; color:#1f568e; box-shadow:0 2px 10px #183a5814; }
.ventro-account-tabs { display:flex; gap:18px; border-bottom:1px solid #dbe3ea; margin:12px 0 16px; }
.ventro-account-tabs button { padding:10px 8px; color:#536a7c; background:none; border:0; border-bottom:3px solid transparent; cursor:pointer; font:700 14px/1.4 Arial,'Microsoft YaHei',sans-serif; }
.ventro-account-tabs button[aria-current="true"] { color:#24548a; border-bottom-color:#24548a; }
.ventro-phone-tabs { display:flex; gap:18px; margin:2px 0 14px; border-bottom:1px solid #dbe3ea; }
.ventro-phone-tabs button { padding:9px 4px; border:0; border-bottom:3px solid transparent; background:transparent; color:#5b7184; font:700 13px/1.3 Arial,'Microsoft YaHei',sans-serif; cursor:pointer; }
.ventro-phone-tabs button[aria-current="true"] { color:#24548a; border-bottom-color:#24548a; }
.ventro-account-form { display:grid; gap:14px; margin:14px 0 10px; }
.ventro-account-form label { display:grid; gap:6px; font-size:13px; font-weight:700; color:#2f4960; }
.ventro-account-form input { width:100%; min-height:48px; border:1px solid #bccbd8; border-radius:11px; padding:11px 13px; background:#fff; color:#152b40; font:16px/1.35 Arial,sans-serif; }
.ventro-account-form input:focus { border-color:#2d659d; outline:3px solid #72a5d02b; }
.ventro-account-consents { display:grid; gap:9px; margin:0; padding:12px 13px; border:1px solid #d7e1e8; border-radius:12px; background:#f5f8fa; }
.ventro-account-consents legend { padding:0; color:#5b7184; font-size:11px; }
.ventro-account-consents label { display:flex; grid-template-columns:none; align-items:flex-start; gap:8px; color:#526a7c; font-size:11px; font-weight:400; line-height:1.5; }
.ventro-account-consents input[type="checkbox"] { width:16px; min-height:16px; flex:none; margin:2px 0 0; accent-color:#24548a; }
.ventro-account-code-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.ventro-account-code-row .ventro-account-secondary { min-width:116px; border-radius:11px; white-space:nowrap; }
.ventro-account-form > .ventro-account-main { width:100%; margin-top:2px; }
.ventro-account-main, .ventro-account-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:47px; border:1px solid #24548a; border-radius:999px; padding:12px 18px; font:700 14px/1.35 Arial,'Microsoft YaHei',sans-serif; text-align:center; text-decoration:none; cursor:pointer; }
.ventro-account-main { color:white; background:#24548a; }
.ventro-account-secondary { color:#24548a; background:transparent; }
.ventro-account-main:disabled, .ventro-account-secondary:disabled { opacity:.55; cursor:wait; }
.ventro-account-actions { display:grid; grid-template-columns:1fr; gap:10px; margin:16px 0; }
.ventro-account-link { color:#24548a; background:none; border:0; padding:6px 0; font:inherit; font-size:13px; text-decoration:underline; cursor:pointer; }
.ventro-account-links { display:flex; flex-wrap:wrap; gap:8px 18px; }
.ventro-account-message { padding:0; color:#24548a; font-size:14px; min-height:1.6em; overflow-wrap:anywhere; }
.ventro-account-message.is-error { color:#9d3030; }
.ventro-account-summary { margin:14px 0; padding:14px 0; border-top:1px solid #dce4ea; border-bottom:1px solid #dce4ea; }
.ventro-account-email { overflow-wrap:anywhere; font-weight:700; }
.ventro-account-list { max-height:170px; overflow:auto; margin:12px 0; padding-left:22px; font-size:13px; }
.ventro-account-list li { padding:3px 0; }
.ventro-account-choice { border-top:1px solid #dce4ea; margin-top:14px; padding-top:10px; }
.ventro-account-choice h3 { font-size:16px; }
.ventro-account-save { margin:10px 0 0; padding:11px 0 0; border-top:1px solid #dce4ea; color:#587086; font:12px/1.5 Arial,'Microsoft YaHei',sans-serif; }
.ventro-account-save button { background:transparent; padding:4px 0; border:0; color:#24548a; font:700 12px/1.5 Arial,'Microsoft YaHei',sans-serif; text-decoration:underline; cursor:pointer; }
.ventro-account-toast { position:fixed; z-index:150; bottom:26px; left:50%; transform:translateX(-50%); width:max-content; max-width:min(520px,calc(100vw - 32px)); padding:13px 18px; border-radius:14px; border:1px solid #d2deea; background:#fffefa; box-shadow:0 12px 45px #102b4830; color:#214c7b; font:14px/1.5 Arial,'Microsoft YaHei',sans-serif; text-align:center; }
.ventro-account-standalone { margin:0; background:#f4f6f7; min-height:100dvh; font-family:Arial,'Microsoft YaHei',sans-serif; }
.ventro-account-shell { max-width:540px; margin:0 auto; padding:32px 22px; }
.ventro-account-shell > a { color:#24548a; text-decoration:none; }
.ventro-account-shell > h1 { font:400 42px/1.15 Georgia,serif; color:#193b5f; margin-top:80px; }
@media(max-width:1000px) { #ventroAccountEntry { padding:9px; } #ventroAccountEntry > span { display:none; } }
@media(max-width:540px) { .ventro-account-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:18px; } .ventro-account-head { padding:17px 18px 14px; } .ventro-account-dialog #ventroAccountBody { padding:19px 18px 6px; } .ventro-account-dialog #ventroAccountMessage { margin:0 18px 16px; } .ventro-account-dialog h2 { font-size:27px; } .ventro-account-code-row { grid-template-columns:1fr; } .ventro-account-code-row .ventro-account-secondary { width:100%; } }
@media(prefers-reduced-motion:reduce) { .ventro-account-dialog *, #ventroAccountEntry { animation:none!important; transition:none!important; } }
