/* VEORA ONE 22.5: auth and role workspace. Screen-only overrides. */
@media screen {
  .veora-auth-screen { padding:clamp(12px,3vw,32px); min-height:100svh; }
  .veora-auth-shell { width:min(1240px,100%); grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); min-height:min(760px,calc(100svh - 64px)); }
  .veora-auth-brand { padding:clamp(28px,4vw,54px); }
  .veora-auth-brandcopy h1 { max-width:15ch; text-wrap:balance; }
  .veora-auth-panel { align-items:center; padding:clamp(22px,3.5vw,52px); }
  .veora-auth-card,.veora-auth-card.is-broker-register { width:min(570px,100%); }
  .veora-auth-cardhead__meta { gap:12px; }
  .veora-auth-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:20px 0; }
  .veora-auth-tabs .auth-mode-tab { min-width:0; min-height:44px; padding:8px; white-space:normal; line-height:1.3; }
  .veora-auth-tabs .auth-mode-tab[aria-selected="true"] { background:#fff!important; box-shadow:0 2px 9px rgba(17,43,70,.1); color:#123d65!important; }
  .veora-auth-form { gap:14px; }
  .veora-auth-control input,.veora-auth-control select,.veora-otp-input { min-height:48px; font-size:16px; }
  .veora-auth-submit { min-height:50px; font-size:.85rem; }
  .veora-auth-submit.is-loading { cursor:progress; opacity:.78; }
  .veora-auth-submit.is-loading .veora-auth-submit__arrow { visibility:hidden; }
  .veora-auth-submit.is-loading::after { content:""; position:absolute; right:17px; width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:veoraAuthSpin .8s linear infinite; }
  @keyframes veoraAuthSpin { to { transform:rotate(360deg); } }
  .veora-auth-feedback { margin:0 0 16px; padding:11px 14px; border:1px solid #f2c9cf; border-radius:12px; background:#fff3f4; color:#8e2937; font-size:.83rem; line-height:1.5; }
  .veora-auth-feedback[hidden] { display:none!important; }
  .veora-auth-control :is(input,select):focus-visible,.veora-auth-tabs button:focus-visible,.veora-auth-submit:focus-visible,.veora-auth-back:focus-visible,.veora-role-actions button:focus-visible,.veora-dashboard-actions button:focus-visible { outline:3px solid #d4a950; outline-offset:2px; }
  .veora-dashboard-page { background:linear-gradient(180deg,#eef3f8 0,#f5f7fa 280px); }
  .veora-dashboard-shell { padding:clamp(16px,2vw,30px); }
  .veora-dashboard-head { border-radius:22px; padding:clamp(20px,2.7vw,34px); }
  .veora-dashboard-head__copy { min-width:0; }
  .veora-dashboard-head h1 { line-height:1.2; text-wrap:balance; }
  .veora-dashboard-head .vt-button { min-height:44px; }
  .veora-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .veora-kpi strong { white-space:normal; overflow-wrap:anywhere; line-height:1.22; }
  .veora-role-workspace { margin:16px 0; padding:clamp(16px,2vw,26px); border-radius:20px; }
  .veora-role-state { margin:-4px 0 14px; color:#52677d; font-size:.75rem; }
  .veora-role-state[data-state="ready"] { color:#277455; }
  .veora-role-state[data-state="error"] { color:#ab3742; }
  .veora-role-kpis { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
  .veora-role-kpis article { border-left:3px solid #b89756; min-width:0; }
  .veora-role-kpis strong { font-size:clamp(1.05rem,1.7vw,1.4rem); overflow-wrap:anywhere; }
  .veora-role-queue__item { gap:12px; }
  .veora-role-queue__item strong { flex:0 0 auto; font-variant-numeric:tabular-nums; }
  .veora-role-actions .vt-button { min-height:44px; white-space:normal; text-align:left; }
  .veora-dashboard-role-focused .veora-dashboard-actions,
  .veora-dashboard-role-focused .veora-dashboard-overview,
  .veora-dashboard-role-focused .veora-dashboard-menu,
  .veora-dashboard-role-focused .veora-crm-cockpit,
  .veora-dashboard-role-focused .veora-kpi-grid,
  .veora-dashboard-role-focused .veora-dashboard-results,
  .veora-dashboard-role-focused .veora-dashboard-grid { display:none!important; }
  .veora-dashboard-role-focused .veora-role-workspace { margin-top:0; }
}
@media screen and (max-width:980px) {
  .veora-auth-shell { grid-template-columns:minmax(0,1fr); min-height:0; }
  .veora-auth-brand { padding:24px; }
  .veora-auth-brandcopy h1 { max-width:none; font-size:1.7rem; }
  .veora-auth-featuregrid { display:none; }
  .veora-auth-panel { padding:26px; }
  .veora-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .veora-role-workspace__grid { grid-template-columns:minmax(0,1fr); }
}
@media screen and (max-width:640px) {
  .veora-auth-screen { padding:0; min-height:100svh; display:block; }
  .veora-auth-shell { display:block; min-height:100svh; border:0; border-radius:0; box-shadow:none; }
  .veora-auth-brand { padding:max(22px,env(safe-area-inset-top)) 20px 18px; }
  .veora-auth-brandcopy,.veora-auth-trustline { display:none; }
  .veora-auth-panel { display:block; padding:24px 18px max(28px,env(safe-area-inset-bottom)); }
  .veora-auth-card,.veora-auth-card.is-broker-register { width:100%; }
  .veora-auth-heading h2 { font-size:clamp(1.55rem,7vw,2rem); }
  .veora-auth-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .veora-auth-tabs .auth-mode-tab[data-auth-mode="broker_register"] { grid-column:auto; }
  .veora-form-grid,.veora-auth-card.is-broker-register .veora-form-grid { grid-template-columns:minmax(0,1fr); }
  .veora-dashboard-shell { padding:12px; }
  .veora-dashboard-head { display:block; padding:20px 18px; border-radius:18px; }
  .veora-dashboard-head h1 { font-size:clamp(1.5rem,7vw,2rem); }
  .veora-dashboard-head__meta { gap:6px; }
  .veora-dashboard-actions { justify-content:flex-start; margin-top:18px; }
  .veora-dashboard-actions .vt-button { flex:1 1 calc(50% - 6px); }
  .veora-kpi-grid,.veora-role-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .veora-role-workspace { padding:16px; }
  .veora-role-workspace__head { gap:10px; }
  .veora-role-workspace__head h2 { overflow-wrap:anywhere; }
  .veora-role-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .veora-role-actions .vt-button { min-width:0; }
}
@media screen and (max-width:380px) {
  .veora-auth-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .veora-auth-tabs .auth-mode-tab[data-auth-mode="broker_register"] { grid-column:1/-1; }
  .veora-kpi-grid,.veora-role-kpis,.veora-role-actions { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .veora-auth-submit.is-loading::after { animation-duration:1.8s; } }
