/* Shared phone-first structure; theme adaptation is confined to the portal. */
.tam-wrap[data-tam-appearance]{width:100%;min-width:0;line-height:1.5;overflow-wrap:anywhere}
.tam-wrap[data-tam-appearance="theme"]{font-family:var(--tam-font,inherit);color:var(--tam-text,inherit)}
.tam-wrap[data-tam-appearance="theme"] :is(h1,h2,h3,h4,h5,h6){font-family:var(--tam-heading-font,inherit);font-weight:var(--tam-heading-weight,700);color:var(--tam-text,inherit)}
.tam-wrap[data-tam-appearance] :is(input,select,textarea,button){font-family:inherit;max-width:100%}
.tam-wrap[data-tam-appearance] .tam-form :is(input,select,textarea){color:var(--tam-text,#1f2937)}
.tam-wrap[data-tam-appearance] :is(.tam-card,.tam-row,.tam-grid-2,.tam-auth-grid,.tam-form,.tam-top>*){min-width:0}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-primary,.tam-nav a.active){background:var(--tam-accent,#111827);color:var(--tam-on-accent,#fff);border-color:var(--tam-accent,#111827);background-image:none}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-secondary,.tam-button:not(.tam-primary)){background:var(--tam-soft2,#e5e7eb);color:var(--tam-text,#111827);background-image:none}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-primary,.tam-secondary,.tam-button){font-family:var(--tam-button-font,inherit);font-weight:var(--tam-button-weight,600);border-radius:var(--tam-button-radius,9px);text-transform:var(--tam-button-transform,none);letter-spacing:var(--tam-button-tracking,normal);white-space:normal}
.tam-wrap[data-tam-appearance="theme"] a:not(.tam-primary):not(.tam-secondary):not(.tam-button):not(.active){color:var(--tam-link,#334155)}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-stepper-bar span,.tam-mini-progress i){background:var(--tam-accent,#334155)}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-choice-card:has(input:checked),.tam-ui-language-option.is-selected,.tam-ui-language-option:has(input:checked)){background:var(--tam-accent-soft,#f8fafc);border-color:var(--tam-accent,#64748b);box-shadow:none}
.tam-wrap[data-tam-appearance="theme"] :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--tam-accent,#334155)}
.tam-wrap[data-tam-appearance="theme"] .tam-form :is(input,textarea)::placeholder{color:var(--tam-muted,#64748b);opacity:1}
.tam-wrap[data-tam-appearance="theme"] .tam-auth-intro{background:var(--tam-soft,#f8fafc);color:var(--tam-text,#1f2937)}
.tam-wrap[data-tam-appearance="theme"] :is(.tam-note,.tam-ready-panel,.tam-privacy-note,.tam-consent-calm,.tam-registration-section,.tam-register-card,.tam-login-card){background:var(--tam-surface,#fff);color:var(--tam-text,#1f2937);border-color:var(--tam-border,#e2e8f0)}
/* Validation colours keep their meaning even when the theme is dark. */
.tam-wrap[data-tam-appearance] .tam-form input:is(.tam-field-valid,.tam-field-invalid,.tam-email-used,.tam-required-missing){color:#1f2937}
.tam-wrap[data-tam-appearance="theme"] .tam-field-status.is-good{color:var(--tam-text,#15803d)}
.tam-wrap[data-tam-appearance="theme"] .tam-field-status.is-bad{color:var(--tam-text,#b91c1c);font-weight:600}
.tam-wrap[data-tam-appearance] :is(.tam-alert,.tam-success,.tam-alert-green,.tam-alert-red){color:#1f2937}
.tam-wrap[data-tam-appearance] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--tam-focus,#334155);outline-offset:3px}
.tam-wrap[data-tam-appearance] :is(button,.tam-button,.tam-nav a){min-height:44px;touch-action:manipulation}
.tam-wrap[data-tam-appearance] button:disabled{cursor:not-allowed;opacity:.6}
.tam-wrap[data-tam-appearance] [hidden]{display:none!important}
.tam-wrap[data-tam-appearance] .iti{--iti-dropdown-bg:var(--tam-surface,#fff);--iti-text-color:var(--tam-text,#1f2937);--iti-border-color:var(--tam-border,#cbd5e1)}
@media(max-width:600px){
 .tam-wrap[data-tam-appearance]{margin:12px auto;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));font-size:16px}
 .tam-wrap[data-tam-appearance] .tam-card{padding:16px;border-radius:16px;margin-bottom:12px}
 .tam-wrap[data-tam-appearance] .tam-top{align-items:stretch;gap:12px;flex-direction:column}
 .tam-wrap[data-tam-appearance] .tam-nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:4px 2px 8px;gap:8px;overscroll-behavior-x:contain}
 .tam-wrap[data-tam-appearance] .tam-nav a{flex:0 0 auto;display:flex;align-items:center;white-space:nowrap;padding:10px 14px}
 .tam-wrap[data-tam-appearance] .tam-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){font-size:16px!important;min-height:48px}
 .tam-wrap[data-tam-appearance] :is(.tam-primary,.tam-secondary,.tam-button){min-height:48px;padding:12px 16px}
 .tam-wrap[data-tam-appearance] :is(.tam-step-actions,.tam-actions){display:flex;flex-wrap:wrap;gap:10px}
 .tam-wrap[data-tam-appearance] :is(.tam-step-actions,.tam-actions)>:is(button,a){flex:1 1 140px;text-align:center}
 .tam-wrap[data-tam-appearance] .tam-check,.tam-wrap[data-tam-appearance] .tam-radio{min-height:44px;align-items:center!important}
 .tam-wrap[data-tam-appearance] .tam-table-wrap{max-width:100%;overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){.tam-wrap[data-tam-appearance] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.tam-wrap[data-tam-appearance] .tam-form input.tam-field-valid{background:#f0fdf4!important;color:#1f2937!important}
.tam-wrap[data-tam-appearance] .tam-form input:is(.tam-field-invalid,.tam-email-used,.tam-required-missing){background:#fff7f7!important;color:#1f2937!important}
.tam-wrap[data-tam-appearance]{box-sizing:border-box}
