/* FINCORYA workspace — unified product shell */
.workspace{display:grid;min-height:100vh;grid-template-columns:264px minmax(0,1fr);background:var(--brand-light)}
.workspace-sidebar{position:sticky;top:0;z-index:30;display:flex;height:100vh;min-width:0;flex-direction:column;border-right:1px solid rgba(247,248,245,.08);padding:18px 14px;background:linear-gradient(180deg,#013b36 0%,#012f2b 100%);color:#fff}
.workspace-brand{display:flex;min-height:68px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(247,248,245,.10);padding:0 8px 14px}.workspace-brand img{display:block;width:174px;height:54px;object-fit:contain;object-position:left center}.nav-kicker{margin:18px 12px 5px;color:rgba(247,248,245,.52);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nav-kicker:first-child{margin-top:4px}.workspace-link{display:flex;min-height:44px;align-items:center;gap:11px;border-radius:10px;padding:9px 12px;color:rgba(247,248,245,.76);font-size:12px;font-weight:600;text-decoration:none;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.workspace-link svg,.workspace-topbar svg,.page-hero svg,.action-banner svg,.metric-symbol svg,.success-orb svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.workspace-link:hover{background:rgba(247,248,245,.08);color:#fff}.workspace-link.active{background:linear-gradient(90deg,rgba(201,162,39,.18),rgba(247,248,245,.08));color:#fff;box-shadow:inset 3px 0 var(--brand-accent),0 8px 22px rgba(0,0,0,.10)}
.workspace-security{display:flex;align-items:center;gap:10px;margin-top:auto;border:1px solid rgba(247,248,245,.10);border-radius:12px;padding:11px;background:rgba(247,248,245,.05)}.workspace-security div,.workspace-identity div{display:grid;min-width:0}.workspace-security strong,.workspace-identity strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.workspace-security small,.workspace-identity small{color:rgba(247,248,245,.57);font-size:9px}.security-pulse{width:8px;height:8px;border-radius:50%;background:#51d49a;box-shadow:0 0 0 4px rgba(81,212,154,.12)}.workspace-identity{display:flex;align-items:center;gap:9px;margin-top:10px;padding:10px 6px}.workspace-identity .avatar{background:var(--brand-accent);color:var(--brand-secondary)}
.workspace-main{min-width:0}.workspace-topbar{position:sticky;top:0;z-index:20;display:flex;height:68px;align-items:center;gap:16px;border-bottom:1px solid rgba(1,59,54,.11);padding:0 clamp(16px,3vw,34px);background:rgba(247,248,245,.90);backdrop-filter:blur(16px)}.workspace-context{display:flex;align-items:center;gap:8px;color:rgba(24,32,31,.55);font-size:11px}.workspace-context strong{color:var(--brand-text)}.context-mark{width:8px;height:8px;border-radius:3px;background:var(--brand-primary);box-shadow:0 0 0 4px rgba(0,107,79,.09)}.workspace-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.profile-compact{display:flex;min-height:44px;align-items:center;gap:8px;border:0;border-left:1px solid rgba(1,59,54,.12);padding:3px 4px 3px 13px;background:transparent;color:var(--brand-text);font-size:11px;font-weight:700;cursor:pointer}.profile-compact>svg{width:15px}.profile-compact .avatar{width:34px;height:34px;flex-basis:34px;background:var(--brand-secondary);color:#fff}.workspace-content{width:min(1600px,100%);margin:auto;padding:clamp(20px,3vw,38px)}.workspace-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(1,59,54,.10);margin-top:24px;padding:20px 2px 0;color:rgba(24,32,31,.50);font-size:9px}
.page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-hero h1,.module-page-header h1{margin:0 0 6px;color:var(--brand-text);font-size:clamp(26px,3vw,38px);font-weight:750;letter-spacing:-.045em}.page-hero p:not(.eyebrow){max-width:680px;margin:0;color:var(--text-muted);font-size:12px}.page-hero .button svg{width:17px}.action-banner{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:16px;border:1px solid rgba(201,162,39,.38);border-radius:13px;padding:12px 14px;background:linear-gradient(90deg,rgba(201,162,39,.16),rgba(255,255,255,.70))}.action-banner-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:rgba(201,162,39,.20);color:#685300}.action-banner strong{font-size:11px}.action-banner p{margin:1px 0 0;color:var(--text-muted);font-size:10px}.action-banner>a{color:var(--brand-secondary);font-size:10px;font-weight:800;text-decoration:none}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{position:relative;display:grid;gap:7px;min-height:154px;overflow:hidden;border:1px solid rgba(1,59,54,.11);border-radius:14px;padding:17px;background:linear-gradient(145deg,#fff,rgba(247,248,245,.72));box-shadow:0 7px 24px rgba(1,59,54,.055);transition:border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.metric-card:hover{transform:translateY(-2px);border-color:rgba(0,107,79,.28);box-shadow:0 14px 34px rgba(1,59,54,.10)}.metric-head{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:10px;font-weight:650}.metric-symbol{display:grid;width:33px;height:33px;place-items:center;border-radius:10px}.metric-symbol.emerald{background:rgba(0,107,79,.10);color:var(--brand-primary)}.metric-symbol.gold{background:rgba(201,162,39,.16);color:#725b00}.metric-symbol.deep{background:var(--brand-secondary);color:#fff}.metric-card>strong,.fee-stack strong{font-size:26px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.metric-card>small{color:var(--text-muted);font-size:9px}.metric-line{height:4px;overflow:hidden;border-radius:999px;background:rgba(1,59,54,.08)}.metric-line i{display:block;height:100%;border-radius:inherit;background:var(--brand-primary)}.metric-line.gold i{background:var(--brand-accent)}.fee-stack{display:flex;align-items:baseline;gap:10px}.fee-stack strong{font-size:18px}.fee-stack small{color:var(--text-muted);font-size:8px}
.insight-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px;margin-bottom:16px}.mix-card{min-height:318px}.mix-list{display:grid;gap:18px;padding:20px}.mix-list>div{display:grid;grid-template-columns:1fr auto;gap:8px}.mix-list span{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:10px}.mix-list strong{font-size:10px}.mix-dot{width:8px;height:8px;border-radius:50%}.mix-track{grid-column:1/-1;height:6px;overflow:hidden;border-radius:999px;background:rgba(1,59,54,.07)}.mix-track i{display:block;height:100%;border-radius:inherit}.mix-1{background:var(--brand-primary)}.mix-2{background:var(--brand-accent)}.mix-3{background:#4f8176}.mix-4{background:var(--brand-secondary)}
.content-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px;margin-bottom:16px}.notification-card{min-height:330px}.success-orb{display:grid;width:42px;height:42px;margin:auto;place-items:center;border-radius:14px;background:rgba(0,107,79,.10);color:var(--brand-primary)}.success-orb svg{width:21px}.cash-overview{margin-bottom:8px}
.module-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.module-page-header p{margin-bottom:0}.panel{border-color:rgba(1,59,54,.11);border-radius:14px;box-shadow:0 7px 24px rgba(1,59,54,.055)}.panel-heading{min-height:70px;padding:14px 18px}.panel-heading h2{font-size:15px;letter-spacing:-.025em}.filter-bar{border-radius:13px;box-shadow:0 7px 24px rgba(1,59,54,.05)}.financial-form,.impact-panel,.detail-panel,.ledger-panel{padding:20px}.button{transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.button:hover{transform:translateY(-1px)}.button:active{transform:scale(.98)}
.workspace-backdrop{display:none}.workspace-close{background:transparent;border-color:rgba(255,255,255,.18);color:#fff}.workspace-close svg{stroke:#fff}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.insight-grid,.content-grid{grid-template-columns:1fr}.notification-card{min-height:auto}}
@media(max-width:820px){.workspace{grid-template-columns:1fr}.workspace-sidebar{position:fixed;left:0;top:0;width:270px;transform:translateX(-101%);transition:transform .22s cubic-bezier(.16,1,.3,1)}.workspace-sidebar.is-open{transform:translateX(0)}.workspace-backdrop{position:fixed;inset:0;z-index:25;display:block;background:rgba(1,34,31,.52);backdrop-filter:blur(3px)}.workspace-topbar{height:62px}.workspace-context>span:not(.context-mark){display:none}.desktop-only{display:none}.workspace-content{padding:18px}.page-hero,.module-page-header{align-items:stretch;flex-direction:column}.page-hero .button,.module-page-header .button{align-self:flex-start}.workflow-grid{grid-template-columns:1fr}.impact-panel{position:static}}
@media(max-width:560px){.metric-grid{grid-template-columns:1fr}.action-banner{grid-template-columns:auto 1fr}.action-banner>a{grid-column:2}.workspace-footer{flex-direction:column}.page-hero h1,.module-page-header h1{font-size:27px}.profile-compact{border:0;padding-left:0}.workspace-content{padding:15px}.panel-heading{padding:13px 15px}.account-grid{padding:12px}}
@media(prefers-reduced-motion:reduce){.metric-card,.workspace-sidebar{transition:none!important}}.module-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-6px 0 16px}.module-stat-strip article{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(1,59,54,.10);border-radius:12px;padding:12px 15px;background:rgba(255,255,255,.76);box-shadow:0 5px 18px rgba(1,59,54,.04)}.module-stat-strip span{color:var(--text-muted);font-size:9px;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.module-stat-strip strong{color:var(--brand-secondary);font-size:15px}.header-count{display:inline-flex;min-height:36px;align-items:center;border:1px solid rgba(0,107,79,.16);border-radius:999px;padding:7px 12px;background:rgba(0,107,79,.07);color:var(--brand-secondary);font-size:10px;font-weight:750}.financial-summary{border-radius:12px;padding:4px 14px;background:rgba(0,107,79,.045)}.detail-grid{border:1px solid rgba(1,59,54,.10);border-radius:12px;overflow:hidden}.detail-grid div{transition:background .2s ease}.detail-grid div:hover{background:rgba(0,107,79,.035)}.confirmation-box{box-shadow:inset 3px 0 var(--brand-accent)}.stack-form>div,.financial-form .field{min-width:0}.stack-form label,.financial-form label{color:var(--brand-secondary)}.stack-form input,.stack-form select,.stack-form textarea,.financial-form input,.financial-form select,.financial-form textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.pagination a{border-radius:8px;padding:7px 10px;background:rgba(0,107,79,.08);text-decoration:none}.text-link{position:relative;text-decoration:none}.text-link::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--brand-accent);transition:right .2s ease}.text-link:hover::after{right:0}
@media(max-width:820px){.module-stat-strip{grid-template-columns:1fr}.module-stat-strip article{min-height:58px}}
.financial-form #id_type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.financial-form #id_type label{display:flex;align-items:center;gap:.65rem;padding:.9rem 1rem;border:1px solid rgba(1,59,54,.14);border-radius:14px;background:#fff;cursor:pointer;font-weight:700;color:var(--brand-text)}.financial-form #id_type label:has(input:checked){border-color:var(--brand-primary);background:rgba(0,107,79,.07);box-shadow:0 0 0 3px rgba(0,107,79,.1)}.financial-form #id_type input{width:auto;accent-color:var(--brand-primary)}.tariff-assurance{display:flex;flex-direction:column;gap:.2rem;margin-top:1rem;padding:1rem;border-radius:14px;background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.28)}.tariff-assurance strong{color:var(--brand-secondary)}.tariff-assurance span{color:var(--text-muted);font-size:.82rem}
@media(max-width:560px){.financial-form #id_type{grid-template-columns:1fr}}

.profile-dropdown-link{display:flex;min-height:44px;align-items:center;border-radius:9px;padding:.65rem .8rem;color:var(--brand-text);font-size:.875rem;font-weight:700;text-decoration:none;transition:background .2s ease,color .2s ease}
.profile-dropdown-link:hover,.profile-dropdown-link:focus-visible{background:rgba(0,107,79,.08);color:var(--brand-primary)}
.profile-settings-grid{display:grid;grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);gap:1rem;align-items:start}
.profile-summary{position:sticky;top:84px;display:grid;justify-items:center;gap:1rem;padding:2rem 1.25rem;text-align:center}
.profile-summary h2{margin:0;color:var(--brand-secondary);font-size:1.15rem;overflow-wrap:anywhere}
.profile-summary p{margin:.35rem 0 .75rem;color:var(--text-muted)}
.profile-avatar-large{display:grid;width:112px;height:112px;place-items:center;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 10px 28px rgba(1,59,54,.18)}
.profile-avatar-fallback{background:linear-gradient(145deg,var(--brand-primary),var(--brand-secondary));color:#fff;font-size:2.5rem;font-weight:800}
.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-form .alert,.profile-photo-field,.profile-form-actions{grid-column:1/-1}
.profile-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.25rem}
.password-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:1rem;align-items:start}
.password-form{grid-template-columns:1fr}
.password-form .alert{grid-column:1/-1}
.security-guidance{padding:1.5rem}
.security-guidance-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:rgba(0,107,79,.09);color:var(--brand-primary)}
.security-guidance-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.security-guidance h2{margin:1rem 0 .45rem;color:var(--brand-secondary);font-size:1.05rem}
.security-guidance p,.security-guidance li{color:var(--text-muted);font-size:.9rem;line-height:1.6}
.security-guidance ul{margin:.75rem 0 0;padding-left:1.15rem}
@media(max-width:820px){.profile-settings-grid,.password-settings-grid{grid-template-columns:1fr}.profile-summary{position:static}}
@media(max-width:560px){.profile-form{grid-template-columns:1fr}.profile-form-actions{flex-direction:column}.profile-form-actions .button{width:100%;justify-content:center}}

:root{
  --ui-content: 1440px;
  --ui-radius: 14px;
  --ui-focus: 0 0 0 3px rgba(201, 162, 39, .32);
}
html{ scroll-behavior: smooth; }
body{ overflow-x: hidden; font-size: 16px; line-height: 1.55; }
button,input,select,textarea{ font: inherit; }
button,[role="button"],select,summary{ cursor: pointer; }
svg{ fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.workspace-content{ width: min(100%, var(--ui-content)); min-width: 0; }
.workspace-sidebar{ overflow-y: auto; overscroll-behavior: contain; }
.workspace-link,.profile-compact,.icon-button,.button{ min-height: 44px; }
.workspace-link{ font-size: .875rem; }
.nav-kicker{ font-size: .7rem; }
.workspace-security strong,.workspace-identity strong{ font-size: .78rem; }
.workspace-security small,.workspace-identity small{ font-size: .72rem; }
.workspace-topbar{ z-index: 20; }
.workspace-backdrop{ z-index: 30; }
.workspace-sidebar{ z-index: 40; }
.profile-dropdown{ z-index: 50; }
.page-hero p:not(.eyebrow),.module-page-header p,.muted{ font-size: .925rem; line-height: 1.6; }
.eyebrow{ font-size: .72rem; }
.metric-head,.metric-card > small,.panel-meta,.mix-list span,.mix-list strong,.action-banner strong,.action-banner p,.action-banner > a,.module-stat-strip span,.header-count,.workspace-footer{ font-size: .78rem; }
.metric-card > strong{ font-size: clamp(1.65rem, 3vw, 2.15rem); }
.metric-card{ min-height: 160px; }
.panel-heading h2{ font-size: 1.05rem; }
.panel,.metric-card,.filter-bar,.account-card{ border-radius: var(--ui-radius); }
.financial-form,.stack-form{ width: 100%; }
.financial-form{ display: grid; gap: 1rem; }
.financial-form input:not([type="radio"]):not([type="checkbox"]),.financial-form select,.financial-form textarea,.stack-form input:not([type="radio"]):not([type="checkbox"]),.stack-form select,.stack-form textarea,.filter-bar input,.filter-bar select{
  width: 100%; min-height: 46px; border: 1px solid #aebdb7; border-radius: 10px;
  padding: .72rem .85rem; color: var(--brand-text); background: #fff;
}
textarea{ resize: vertical; }
.field label,.stack-form label{ font-size: .875rem; line-height: 1.4; }
.field small{ color: var(--text-muted); font-size: .8rem; }
.field-error{ margin: .2rem 0 0; color: var(--danger); font-size: .82rem; }
input:focus-visible,select:focus-visible,textarea:focus-visible{ outline: 0; border-color: var(--brand-primary) !important; box-shadow: var(--ui-focus); }
.button:disabled{ cursor: not-allowed; opacity: .55; transform: none; }
.button:hover{ transform: none; }
.button-primary:hover{ box-shadow: 0 7px 18px rgba(0, 107, 79, .22); }
.table-wrap{ width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
table{ min-width: 680px; }
th,td{ padding: .85rem 1rem; font-size: .875rem; vertical-align: middle; }
th{ font-size: .72rem; white-space: nowrap; }
tbody tr:last-child td{ border-bottom: 0; }
.money{ white-space: nowrap; }
.status-badge{ min-height: 28px; padding: .35rem .65rem; font-size: .75rem; white-space: nowrap; }
.detail-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.detail-grid > div{ min-width: 0; padding: 1rem; }
.detail-grid dt{ color: var(--text-muted); font-size: .75rem; }
.detail-grid dd{ margin: .3rem 0 0; overflow-wrap: anywhere; font-size: .92rem; font-weight: 700; }
.report-card{ margin-top: 1.5rem; }
.report-card > .muted{ max-width: 74ch; padding: 0 1.25rem; }
.report-card .financial-form{ grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 1.25rem; }
.report-card .financial-form .button{ align-self: end; }
.qr-wrap{ max-width: 100%; }
.account-card{ min-height: 190px; }
.empty-state{ padding: clamp(2rem, 6vw, 4rem) 1rem; }

@media (max-width: 1024px) {
  .report-card .financial-form{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  body{ font-size: 16px; }
  .workspace-content{ padding: 1rem; }
  .workspace-sidebar{ width: min(86vw, 300px); }
  .workspace-topbar{ padding-inline: .75rem; }
  .page-hero .button,.module-page-header .button{ width: 100%; }
  .filter-bar{ grid-template-columns: 1fr; padding: 1rem; }
  .workflow-grid{ gap: 1rem; }
  .financial-form,.impact-panel,.detail-panel,.ledger-panel{ padding: 1rem; }
}
@media (max-width: 560px) {
  .metric-card{ min-height: 142px; }
  .detail-grid{ grid-template-columns: 1fr; }
  .report-card .financial-form{ grid-template-columns: 1fr; }
  .module-stat-strip article{ align-items: flex-start; flex-direction: column; gap: .25rem; }
  .module-page-header h1,.page-hero h1{ overflow-wrap: anywhere; font-size: 1.65rem; }
  .recovery-grid{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html{ scroll-behavior: auto; }
  *,*::before,*::after{ animation: none !important; transition: none !important; }
}

[hidden]{ display: none !important; }
body.nav-open{ overflow: hidden; }
.operation-control-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.control-panel{ padding: 1.15rem; overflow: visible; }
.control-panel summary{ min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--brand-secondary); font-weight: 800; }
.control-panel summary:focus-visible{ outline: 3px solid var(--brand-accent); outline-offset: 3px; border-radius: .5rem; }
.control-panel .stack-form{ margin-top: 1rem; }
.button-danger{ border: 1px solid #9f2f35; background: #9f2f35; color: #fff; }
.button-danger:hover{ background: #7f2026; }
.danger-control{ border-color: rgba(159, 47, 53, .28); }
.field-error[role="alert"]{ display: block; }
@media (max-width: 820px) { .operation-control-grid{ grid-template-columns: 1fr; } }


/* Authentication: shared states for login and MFA screens (layout lives in interface.css). */
.login-status:empty{ display: none; }
.login-state{ margin: 0 0 12px; border: 1px solid transparent; border-radius: 10px; padding: .65rem .75rem; font-size: .85rem; line-height: 1.4; }
.login-state-error{ border-color: #D98B91; color: #7F2026; background: #FFF0F1; }
.login-state-success{ border-color: #91CDB4; color: #00563F; background: #E9F7F0; }
.login-state-warning{ border-color: #C9A227; color: #554300; background: #FFF7D7; }
.login-state-info{ border-color: #B9D1EF; color: #1E3F6D; background: #EAF2FB; }
.login-spinner{ display: none; width: 18px; height: 18px; margin-left: 8px; border: 2px solid rgba(247, 248, 245, .38); border-top-color: #F7F8F5; border-radius: 50%; animation: fincorya-spin .7s linear infinite; }
[data-auth-form].is-loading .login-spinner,[data-auth-form].htmx-request .login-spinner{ display: inline-block; }
[data-auth-form].is-loading .button-label,[data-auth-form].htmx-request .button-label{ opacity: .82; }
@keyframes fincorya-spin { to { transform: rotate(360deg); } }
.mfa-methods{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 18px 0 16px; }
.mfa-method{ display: flex; min-height: 68px; min-width: 0; align-items: center; gap: 8px; border: 1px solid #CAD5D1; border-radius: 12px; padding: 9px; color: #475B56; text-decoration: none; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.mfa-method:hover{ border-color: #006B4F; background: rgba(0, 107, 79, .05); }
.mfa-method.is-active{ border-color: #006B4F; color: #013B36; background: rgba(0, 107, 79, .09); box-shadow: inset 0 0 0 1px rgba(0, 107, 79, .12); }
.mfa-method svg{ width: 22px; height: 22px; flex: 0 0 22px; color: #006B4F; }
.mfa-method span{ display: grid; min-width: 0; }
.mfa-method strong{ font-size: .78rem; overflow-wrap: anywhere; }
.mfa-method small{ color: #60736D; font-size: .68rem; }
.mfa-instruction{ margin: 0 0 14px; color: #475B56; font-size: .86rem; line-height: 1.5; }
.email-code-request{ margin-bottom: 14px; }
.email-code-request .button{ width: 100%; justify-content: center; }
.mfa-code-form{ gap: 12px; }
.auth-back-link{ display: inline-flex; min-height: 44px; align-items: center; margin-top: 10px; }
.totp-qr-note{ display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; border: 1px solid rgba(0, 107, 79, .17); border-radius: 12px; padding: 10px 12px; background: rgba(0, 107, 79, .055); }
.totp-qr-note > svg{ width: 26px; height: 26px; flex: 0 0 26px; color: #006B4F; }
.totp-qr-note p{ display: grid; gap: 2px; margin: 0; }
.totp-qr-note strong{ color: #013B36; font-size: .8rem; }
.totp-qr-note span{ color: #475B56; font-size: .74rem; line-height: 1.4; }
.qr-activation{ display: grid; justify-items: center; gap: 8px; margin-block: 14px; }
.qr-activation > span{ color: #006B4F; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.qr-activation img{ border: 8px solid #F7F8F5; border-radius: 12px; box-shadow: 0 8px 24px rgba(1, 59, 54, .14); }
.password-control{ position: relative; width: 100%; }
.password-control input{ padding-right: 52px; }
.password-reveal{ position: absolute; top: 50%; right: 4px; display: grid; width: 40px; height: 40px; min-height: 40px; place-items: center; border: 0; border-radius: 8px; padding: 0; color: #475B56; background: transparent; cursor: pointer; transform: translateY(-50%); transition: color .2s ease, background-color .2s ease; }
.password-reveal:hover{ color: #006B4F; background: rgba(0, 107, 79, .08); }
.password-reveal:focus-visible{ outline: 3px solid rgba(201, 162, 39, .58); outline-offset: 1px; }
.password-reveal svg{ width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.password-reveal svg[hidden]{ display: none; }
@media (max-width: 560px) {
  .mfa-methods{ grid-template-columns: 1fr; }
  .mfa-method{ min-height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .login-spinner{ animation-duration: 1.4s; }
}