.account-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; }
#website-referral:not(:empty) { margin-bottom:24px; }
.account-card { background:var(--card-bg); color:var(--text-color); border:1px solid var(--border-color); border-radius:22px; padding:22px; min-width:0; }
.account-card h3 { font-size:1.15rem; margin:0; overflow-wrap:anywhere; }
.account-card p { color:var(--text-muted); margin:8px 0; font-size:.9rem; }
.account-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.account-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.account-icon { width:42px; height:42px; border-radius:13px; background:var(--icon-circle-bg); color:var(--icon-circle-color); display:grid; place-items:center; flex-shrink:0; }
.account-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; }
.account-status { display:inline-flex; align-items:center; padding:5px 10px; border:1px solid var(--border-color); border-radius:30px; font-size:.8rem; }
.account-status.expired,.account-status.suspended,.account-status.disabled { color:#cc5555; }
.account-status.expiring { color:#ae7100; }
.account-metrics { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.account-metrics small { display:block; color:var(--text-muted); font-size:.8rem; margin-bottom:4px; }
.account-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.account-button { display:inline-flex; justify-content:center; align-items:center; padding:11px 15px; min-height:44px; border:1px solid var(--border-color); border-radius:12px; background:var(--card-bg); color:var(--text-color); font:inherit; font-size:.9rem; cursor:pointer; text-decoration:none; gap:6px; }
.account-button.primary { background:var(--btn-bg); color:var(--btn-text); border-color:var(--btn-bg); }
.account-button:disabled { opacity:.45; cursor:default; }
.account-button:focus-visible, .account-dialog :focus-visible { outline:3px solid #858585; outline-offset:3px; }
.account-progress { width:100%; height:5px; accent-color:var(--text-color); }
.account-future { padding:10px 12px; background:var(--bg-color); border-radius:10px; font-size:.85rem; }
.account-dialog { margin:auto; width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; border:1px solid var(--border-color); border-radius:24px; background:var(--card-bg); color:var(--text-color); }
.account-dialog::backdrop { background:rgba(0,0,0,.65); backdrop-filter:blur(4px); }
.account-dialog h2 { font-size:1.35rem; margin:12px 0; }
.account-dialog p { color:var(--text-muted); margin:12px 0; line-height:1.6; }
.account-dialog label { display:block; margin:14px 0; }
.account-dialog input:not([type=checkbox]),.account-dialog select { width:100%; min-height:46px; background:var(--bg-color); color:var(--text-color); border:1px solid var(--border-color); padding:10px 12px; border-radius:10px; font:inherit; }
.account-dialog input[type=checkbox] { margin:0; }
.account-dialog .account-close { float:right; }
.account-dialog .account-client { border-top:1px solid var(--border-color); margin-top:16px; padding-top:16px; }
.account-qr { display:block; width:min(100%,280px); height:auto; margin:20px auto; background:white; padding:12px; border-radius:12px; }
.account-message { color:var(--text-muted); min-height:1.5em; overflow-wrap:anywhere; }
.account-toast { position:fixed; z-index:10000; bottom:100px; left:50%; transform:translateX(-50%); background:var(--btn-bg); color:var(--btn-text); padding:12px 20px; border-radius:12px; max-width:90vw; }
.product-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.product-admin-table { overflow:auto; margin:20px 0; }
.product-admin-table table { min-width:760px; width:100%; }
.product-admin-table input { min-width:80px; width:100%; }
.product-admin-table td,.product-admin-table th { padding:8px; text-align:left; }
@media (max-width:420px) { .account-card { padding:17px; border-radius:18px; } .account-actions .account-button { flex:1 1 40%; } }

.product-table-wrap{overflow:auto}.product-table-wrap input{min-width:70px;width:100%;box-sizing:border-box}.product-table-wrap td{padding:8px}#product-editor fieldset{margin:12px 0;padding:16px;border:1px solid var(--border-color,#ddd);border-radius:12px}#product-editor label{display:block;margin:8px 0}#product-editor input[type=checkbox]{width:auto}#product-editor textarea{width:100%;min-height:90px}

/* Compact account summaries and a shared, responsive financial ledger. */
.account-cards{align-items:start;grid-template-columns:1fr}
.account-card{padding:18px;overflow-wrap:anywhere}
.account-card .account-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.account-card .account-identity>div{min-width:0}.account-card h3{font-size:1rem;line-height:1.3}
.account-card .account-identity p{margin:3px 0 0;font-size:.75rem}
.account-icon{width:34px;height:34px;border-radius:10px}.account-status{font-size:.7rem;padding:4px 7px;max-width:115px}
.account-metrics{margin:12px 0;gap:10px}.account-metrics small{margin-bottom:3px}.account-metrics strong{font-size:.9rem}
.account-primary-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px;gap:8px}
.account-primary-actions .account-button{padding:8px;min-height:42px}
.account-details{margin-top:8px;border-top:1px solid var(--border-color)}.account-details summary{cursor:pointer;padding:10px 0 2px;font-size:.8rem;color:var(--text-muted);min-height:32px}
.account-detail-body{padding-top:6px}.account-details[open] .account-detail-body{animation:account-enter 220ms ease-out}
.account-details summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.handoff-shell{width:min(580px,100%);margin:0 auto;padding:8vh 16px;min-height:100dvh}.handoff-shell h1{font-size:1.6rem}.handoff-shell label{display:block;margin:18px 0 8px}
.connection-url{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-color);color:var(--text-color);font:inherit}
.checkbox-row{display:flex!important;align-items:flex-start;gap:10px;line-height:1.5;cursor:pointer}.checkbox-row input{flex:0 0 auto;width:18px;height:18px;margin:2px 0 0!important}.checkbox-row span{min-width:0}
.account-payment-breakdown{margin:18px 0;padding:16px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-color)}
.account-payment-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem;line-height:1.4}
.account-payment-breakdown>div span{min-width:0}.account-payment-breakdown>div strong{white-space:nowrap;text-align:right}
.account-payment-breakdown .account-payment-total{margin-top:7px;padding-top:12px;border-top:1px solid var(--border-color);font-weight:700}
.account-dialog .account-terms-choice{display:flex;align-items:flex-start;gap:12px;line-height:1.5;cursor:pointer;margin:18px 0;font-size:.9rem}
.account-terms-choice span{min-width:0}.account-terms-choice a{overflow-wrap:anywhere}
.account-dialog .account-terms-choice input{flex:none;margin-top:1px!important}
body:not(.admin-page) input[type=checkbox]:not(.custom-checkbox-input){appearance:none;-webkit-appearance:none;position:relative;flex:none;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;border:1.5px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--btn-text);cursor:pointer;vertical-align:middle;transition:background-color .15s,border-color .15s,box-shadow .15s}
body:not(.admin-page) input[type=checkbox]:not(.custom-checkbox-input):checked{background-color:var(--btn-bg);border-color:var(--btn-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-8' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-size:16px 16px;background-repeat:no-repeat}
[data-theme=dark] body:not(.admin-page) input[type=checkbox]:not(.custom-checkbox-input):checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-8' fill='none' stroke='%23050608' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
body:not(.admin-page) input[type=checkbox]:not(.custom-checkbox-input):focus-visible{outline:3px solid var(--text-color);outline-offset:3px}
body:not(.admin-page) input[type=checkbox]:not(.custom-checkbox-input):disabled{opacity:.5;cursor:not-allowed}
.profile-help{display:grid;gap:12px}.profile-help>button{width:100%;margin:0}.profile-help p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0!important}.profile-help a{padding:10px 4px;min-height:44px}
.account-empty{padding:24px;color:var(--text-muted);text-align:center;border:1px dashed var(--border-color);border-radius:16px}
.ledger-wrap{width:100%;min-width:0}.account-ledger{width:100%;min-width:0;border-collapse:separate;border-spacing:0;text-align:left;font-size:.9rem}
.account-ledger th{padding:12px;color:var(--text-muted);font-size:.75rem;font-weight:500;border-bottom:1px solid var(--border-color)}
.account-ledger td{padding:16px 12px;border-bottom:1px solid var(--border-color);vertical-align:top}.account-ledger td:first-child{width:45%}.account-ledger small{display:block;color:var(--text-muted);margin-top:6px;overflow-wrap:anywhere}
.account-ledger .ledger-amount{font-weight:700;white-space:nowrap}.ledger-amount.positive{color:#258753}.ledger-amount.negative{color:var(--text-color)}.ledger-date,.ledger-balance{color:var(--text-muted);font-size:.8rem}.ledger-balance span{display:none}
.ledger-description{margin-top:8px;font-size:.8rem;color:var(--text-muted)}.ledger-description summary{cursor:pointer}.ledger-description p{overflow-wrap:anywhere;line-height:1.5}
[data-more]{margin-top:18px}.account-ledger tr{transition:background-color 180ms}.account-ledger tbody tr:hover{background:var(--bg-color)}
@media(min-width:720px){.account-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:719px){.account-ledger thead{display:none}.account-ledger,.account-ledger tbody{display:block}.account-ledger tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border:1px solid var(--border-color);border-radius:16px;background:var(--card-bg);margin-bottom:12px}.account-ledger td{display:block;padding:0;border:0;min-width:0}.account-ledger td:first-child{width:auto;grid-column:1/-1}.account-ledger .ledger-balance{grid-column:1/-1}.ledger-balance span{display:inline}.account-ledger .ledger-amount{text-align:right}}
body[data-mini-app] .account-ledger thead{display:none}body[data-mini-app] .account-ledger,body[data-mini-app] .account-ledger tbody{display:block}body[data-mini-app] .account-ledger tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border:1px solid var(--border-color);border-radius:16px;margin-bottom:12px;background:var(--card-bg)}body[data-mini-app] .account-ledger td{display:block;padding:0;border:0;min-width:0}body[data-mini-app] .account-ledger td:first-child{width:auto;grid-column:1/-1}body[data-mini-app] .ledger-balance{grid-column:1/-1}body[data-mini-app] .ledger-balance span{display:inline}
@keyframes account-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes account-toast-enter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.account-dialog{animation:account-enter 240ms cubic-bezier(.16,1,.3,1)}.account-toast{animation:account-toast-enter 220ms ease-out}
.account-button,.btn,.nav-item,.primary-button,.secondary-button{transition:transform 180ms,background-color 180ms,color 180ms,box-shadow 180ms}
@media(hover:hover){.account-button:not(:disabled):hover,.btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014}}
.account-button:not(:disabled):active,.nav-item:active,.btn:active{transform:scale(.96)}
.view-enter{animation:account-enter 260ms cubic-bezier(.16,1,.3,1)}.view-enter .account-card{animation:account-enter 260ms both;animation-delay:0ms}.view-enter .account-card:nth-child(2){animation-delay:40ms}.view-enter .account-card:nth-child(3){animation-delay:80ms}.view-enter .account-card:nth-child(4){animation-delay:120ms}.view-enter .account-card:nth-child(n+5){animation-delay:160ms}
.motion-enter{animation:account-enter 300ms cubic-bezier(.16,1,.3,1)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.auth-choice{width:min(860px,100%);padding:32px 20px;margin:0 auto}.auth-choice-brand{display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:750;color:var(--text-color);text-decoration:none}.auth-choice-heading{position:static!important;display:block!important;background:none!important;border:0!important;box-shadow:none!important;padding:28px 0!important;text-align:left!important}.auth-choice-heading h1{font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.2;margin:12px 0}.auth-choice-heading>p:not(.account-status){color:var(--text-muted);line-height:1.65;max-width:620px}.auth-choice-identity{font-weight:700;color:var(--text-color)!important}.auth-choice-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}.auth-choice-grid>section{padding:24px;margin:0;max-width:none;min-width:0;text-align:left}.auth-choice h2{font-size:1.2rem;margin:0 0 12px;line-height:1.4}.auth-choice form label{display:block;font-size:.85rem;margin:16px 0 7px}.auth-choice form input:not([type=hidden]){display:block;box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;background:var(--bg-color);color:var(--text-color);font:inherit}.auth-choice form button{width:100%;margin-top:12px}.auth-choice .form-message{line-height:1.5;min-height:1em}.auth-choice-footer{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;padding:16px 0;border-top:1px solid var(--border-color);background:none;box-shadow:none}.auth-choice-footer a{padding:10px 0;font-size:.85rem}.auth-choice [role=status]{overflow-wrap:anywhere}[data-theme=dark] .auth-choice-brand img{filter:invert(1)}
@media(max-width:600px){.auth-choice{padding:20px 16px}.auth-choice-grid{grid-template-columns:1fr}.auth-choice-heading{padding:20px 0!important}.auth-choice-grid>section{padding:20px}}

/* Shared interactive controls; content is never faded out after initial paint. */
.telegram-button{width:100%;gap:10px;justify-content:center;text-decoration:none!important;font-weight:650}
.telegram-button svg{flex:none}.auth-choice-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);color:var(--text-color);text-decoration:none;transition:background-color 200ms,transform 200ms}
.auth-choice-footer a:hover{background:var(--bg-color);transform:translateY(-2px)}
.account-select{display:block;position:relative;width:100%;min-width:0}.account-select-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0;clip-path:inset(50%);pointer-events:none}
.account-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;text-align:left;padding:11px 14px;border:1px solid var(--border-color);border-radius:12px;color:var(--text-color);background:var(--card-bg);font:inherit;cursor:pointer;overflow-wrap:anywhere;transition:background-color 200ms,border-color 200ms,box-shadow 200ms}
.account-select-trigger:after{content:'';flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform 200ms}.account-select-trigger[aria-expanded=true]:after{transform:rotate(225deg)}
.account-select-trigger:focus-visible{outline:2px solid var(--text-color);outline-offset:3px}.account-select-trigger:disabled{opacity:.45;cursor:default}
.account-select-options{position:fixed;z-index:200000;overflow:auto;padding:6px;border:1px solid var(--border-color);border-radius:14px;background:var(--card-bg);color:var(--text-color);box-shadow:0 16px 44px #0005;overscroll-behavior:contain}
.account-select-options [role=option]{padding:11px 12px;min-height:42px;border-radius:9px;cursor:pointer;overflow-wrap:anywhere;transition:background-color 180ms,color 180ms}.account-select-options [aria-selected=true]{font-weight:700}.account-select-options .focused,.account-select-options [role=option]:hover{background:var(--text-color);color:var(--bg-color)}.account-select-options [aria-disabled=true]{opacity:.4;cursor:default}
.account-details[open] .account-detail-body{animation:none}
a,button,input,textarea,summary,[role=option]{transition:background-color 200ms,color 200ms,border-color 200ms,box-shadow 200ms,opacity 200ms}
.account-card,.list-card{transition:border-color 220ms,box-shadow 220ms}.account-card:focus-within,.list-card:focus-within{border-color:var(--text-muted)}
@media(hover:hover){button:not(:disabled):hover,summary:hover{filter:brightness(1.08)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.account-select-options{background:var(--bg-color)}

.account-toast { display:flex; align-items:center; gap:16px; bottom:calc(90px + env(safe-area-inset-bottom,0px)); max-height:45dvh; overflow:auto; overflow-wrap:anywhere; box-shadow:0 4px 24px #0005; }
.account-toast button { flex-shrink:0; border:0; background:transparent; color:inherit; font:inherit; font-size:24px; min-width:44px; min-height:44px; cursor:pointer; }
.account-toast[role=alert] { border:2px solid #c84c4c; }
[data-action-message] { color:var(--text-color); padding:12px; border-left:3px solid #c84c4c; }
[aria-invalid=true] { outline:2px solid #c84c4c; }
dialog .account-toast { position:sticky; bottom:0; left:auto; transform:none; margin-top:12px; }

/* Account feedback uses document flow and the current surface palette. */
.trial-feedback{display:grid;gap:8px;width:100%;min-width:0;margin:12px 0}
.trial-feedback .trial-status{margin:0;line-height:1.5;overflow-wrap:break-word}
.trial-feedback .hidden,.trial-feedback [hidden]{display:none}
.field-error{display:block;color:var(--text-color);font-size:.85rem;line-height:1.5;padding:6px 0;overflow-wrap:break-word}
.account-toast{width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);padding:12px 14px;gap:12px;line-height:1.5;align-items:flex-start;overflow-wrap:break-word}
.account-toast-text{flex:1;min-width:0;white-space:normal;word-break:normal;overflow-wrap:break-word}
.account-toast[role=alert]{border:1px solid var(--border-color);border-left:3px solid #b96969}
.account-toast button{margin:-4px -6px -4px 0}
[data-action-message]{background:var(--bg-color);border-radius:10px;line-height:1.5;white-space:normal;word-break:normal;overflow-wrap:break-word}
.profile-help p{justify-content:center}
.period-ring{position:relative;flex:none;width:44px;height:44px;border:0;background:transparent;padding:4px;color:var(--text-muted);cursor:pointer}
.period-ring svg{width:36px;height:36px;display:block;transform:rotate(-90deg)}
.period-ring circle{fill:none;stroke-width:3}.ring-track{stroke:var(--border-color)}.ring-value{stroke:currentColor;stroke-linecap:round}
.period-ring.green{color:#299264}.period-ring.amber{color:#c28b24}.period-ring.red{color:#c45c5c}
.ring-tooltip{display:none;position:absolute;z-index:5;right:0;top:100%;width:190px;padding:10px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-color);font-size:.8rem;line-height:1.5}
.period-ring:hover .ring-tooltip,.period-ring:focus-visible .ring-tooltip{display:block}
.period-ring:focus-visible{outline:2px solid var(--text-color);outline-offset:2px;border-radius:50%}
.subscription-services{display:grid;gap:8px;margin:14px 0}
.subscription-service{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-color);min-width:0}
.subscription-service svg{width:24px;height:24px;flex:none}.subscription-service div{display:grid;gap:4px;min-width:0}.subscription-service strong{font-size:.9rem}.subscription-service span{font-size:.8rem;color:var(--text-muted)}
.telegram-avatar{width:22px;height:22px;object-fit:cover;border-radius:50%;flex:none}
.account-toast{bottom:calc(24px + env(safe-area-inset-bottom,0px) + var(--account-keyboard-inset,0px))}
body[data-mini-app] .account-toast{bottom:calc(90px + env(safe-area-inset-bottom,0px) + var(--account-keyboard-inset,0px))}
dialog .account-toast{width:100%;max-width:100%;bottom:0}
.subscription-service svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Native dialogs must fit the Desktop Telegram viewport as well as mobile. */
.account-dialog{box-sizing:border-box;inset:0;width:min(560px,calc(100vw - 32px));min-width:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:20px}
.account-dialog-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.account-dialog-heading h2{flex:1;min-width:0;margin:6px 0;font-size:1.2rem;line-height:1.35;overflow-wrap:break-word}
.account-close,.account-dialog .account-close,.account-toast .account-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;margin:0;padding:8px;border:1px solid var(--border-color);border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer;float:none}
.account-close svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.account-close:hover{color:var(--text-color);background:var(--bg-color)}
.account-close:focus-visible{outline:2px solid var(--text-color);outline-offset:2px}
.account-dialog .account-actions{gap:8px;margin-top:12px}
.account-dialog .account-actions>*{flex:1 1 100px;min-width:0;text-align:center;justify-content:center}
.account-dialog label{margin:12px 0}.account-dialog p{font-size:.9rem;line-height:1.55;margin:12px 0}.account-dialog .account-message:empty{display:none}
.account-dialog .account-select{min-width:0;max-width:100%}
.account-toast{align-items:center}.account-toast-text{align-self:center}.account-toast .account-close{border:0}
.modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:8px;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);background:transparent}
.modal-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}

/* Registration and legacy subscription transfer share the account surfaces. */
.registration-terms { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.registration-terms input, .import-choice input { width:1.2rem; height:1.2rem; flex:none; }
.import-card { margin-bottom:1.25rem; }
.promo-card{margin-bottom:1.25rem}
.promo-card h2{font-size:1.5rem;line-height:1.3;margin:0}
.promo-card .promo-intro{margin:8px 0 18px;line-height:1.55;max-width:680px}
.promo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.promo-field{min-width:0}
#promo-redeem-form .promo-field label{display:block;margin:0 0 7px;color:var(--text-muted);font-size:.86rem;font-weight:600;line-height:1.4}
#promo-redeem-form .promo-field input,#promo-redeem-form .promo-field select{display:block;width:100%;min-width:0;min-height:46px;margin:0;padding:11px 13px;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);color:var(--text-color);font:inherit;font-size:.95rem}
#promo-redeem-form .promo-field input:focus-visible,#promo-redeem-form .promo-field select:focus-visible{outline:2px solid var(--text-color);outline-offset:2px}
.promo-field .account-select{width:100%}
.promo-card .promo-result:not(:empty){margin:16px 0 0;padding:11px 13px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-color);overflow-wrap:anywhere}
.promo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:620px){.promo-fields{grid-template-columns:1fr}.promo-actions>*{flex:1 1 130px}}
.account-dialog .import-choice { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; padding:.8rem 0; overflow-wrap:anywhere; }
.account-dialog .import-choice > span { flex:1; min-width:0; }
.account-dialog .import-choice small { flex-basis:100%; padding-left:1.8rem; }
.import-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:1rem; }
