/* InterviewCommand visual coherence layer.
   No product logic belongs here. Reference screens migrate onto these primitives one at a time. */

.ic-template-dashboard,
.ic-template-training,
.ic-template-report{
  color:var(--ic-text-primary);
  font-family:var(--ic-font-body);
}
.ic-template-dashboard h1,.ic-template-dashboard h2,.ic-template-dashboard h3,
.ic-template-training h1,.ic-template-training h2,.ic-template-training h3,
.ic-template-report h1,.ic-template-report h2,.ic-template-report h3{
  font-family:var(--ic-font-display);
}
.ic-template-dashboard{
  max-width:var(--ic-width-dashboard);
  padding:var(--ic-space-8) clamp(var(--ic-space-5),3vw,var(--ic-space-10)) var(--ic-space-12);
}
.ic-template-training{max-width:var(--ic-width-training)}
.ic-template-report{max-width:var(--ic-width-app)}

.ic-density-relaxed{--ic-section-gap:var(--ic-space-16);--ic-card-pad:var(--ic-space-8)}
.ic-density-standard{--ic-section-gap:var(--ic-space-8);--ic-card-pad:var(--ic-space-6)}
.ic-density-focused{--ic-section-gap:var(--ic-space-6);--ic-card-pad:var(--ic-space-5)}

.ic-card{
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-xl);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-xs);
}
.ic-card--action{background:linear-gradient(145deg,var(--ic-surface),var(--ic-surface-soft))}
.ic-card--insight{background:linear-gradient(145deg,var(--ic-surface),var(--ic-premium-soft))}
.ic-card--dark{
  border-color:var(--ic-border-inverse);
  background:linear-gradient(145deg,var(--ic-surface-dark),var(--ic-surface-dark-2) 62%,var(--ic-surface-dark-3));
  color:var(--ic-text-inverse);
  box-shadow:var(--ic-shadow-lg);
}

.ic-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  gap:var(--ic-space-2);
  padding:10px 14px;
  border-radius:var(--ic-radius-md);
  border:1px solid transparent;
  font:800 var(--ic-text-sm)/1 var(--ic-font-display);
  cursor:pointer;
  transition:transform var(--ic-motion-fast) var(--ic-ease),box-shadow var(--ic-motion-fast) var(--ic-ease),background-color var(--ic-motion-fast) ease,border-color var(--ic-motion-fast) ease;
}
.ic-button--primary{background:linear-gradient(135deg,var(--ic-brand-600),var(--ic-brand-500));color:var(--ic-text-inverse);box-shadow:var(--ic-shadow-brand)}
.ic-button--secondary{border-color:var(--ic-brand-border);background:var(--ic-brand-100);color:var(--ic-brand-700)}
.ic-button--quiet{border-color:var(--ic-border-subtle);background:var(--ic-surface);color:var(--ic-text-secondary)}
@media(hover:hover) and (pointer:fine){.ic-button:hover{transform:translateY(-1px)}}

.ic-kicker{
  color:var(--ic-brand-600);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ic-status{
  display:inline-flex;
  align-items:center;
  gap:var(--ic-space-2);
  min-height:28px;
  padding:5px 9px;
  border:1px solid var(--ic-border-subtle);
  border-radius:999px;
  background:var(--ic-surface);
  color:var(--ic-text-secondary);
  font:700 var(--ic-text-xs)/1 var(--ic-font-body);
}
.ic-status[data-state="success"]{border-color:var(--ic-success-border);background:var(--ic-success-soft);color:var(--ic-success-600)}
.ic-status[data-state="warning"]{border-color:var(--ic-warning-border);background:var(--ic-warning-soft);color:var(--ic-warning-600)}
.ic-status[data-state="danger"]{border-color:var(--ic-danger-border);background:var(--ic-danger-soft);color:var(--ic-danger-600)}
.ic-status[data-state="active"]{border-color:var(--ic-brand-border);background:var(--ic-brand-100);color:var(--ic-brand-700)}

.ic-journey{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--ic-space-2);
}
.ic-journey-step{
  min-width:0;
  padding:var(--ic-space-3);
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-journey-step span{display:block;color:var(--ic-text-tertiary);font:800 var(--ic-text-xs)/1 var(--ic-font-display);text-transform:uppercase;letter-spacing:.07em}
.ic-journey-step b{display:block;margin-top:var(--ic-space-2);font:800 var(--ic-text-sm)/1.2 var(--ic-font-display)}
.ic-journey-step[data-state="complete"]{border-color:var(--ic-success-border);background:var(--ic-success-soft)}
.ic-journey-step[data-state="current"]{border-color:var(--ic-brand-border);background:var(--ic-brand-100);box-shadow:var(--ic-shadow-sm)}
.ic-journey-step[data-state="locked"]{opacity:.58}

/* Reference Screen 01 — Home / Today.
   Preserve all IDs and behavior; only hierarchy, rhythm and component language change. */
.ic-template-dashboard[data-v22-panel="today"]{
  --home-gap:var(--ic-space-6);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-kicker{
  color:var(--ic-brand-600);
  font-family:var(--ic-font-display);
  font-size:10px;
  letter-spacing:.09em;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program{
  gap:var(--home-gap);
  margin-bottom:var(--home-gap);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main,
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-progress{
  border-radius:var(--ic-radius-xl);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main{
  padding:var(--ic-space-8);
  border:1px solid var(--ic-border-inverse);
  background:linear-gradient(145deg,var(--ic-surface-dark),var(--ic-surface-dark-2) 62%,var(--ic-surface-dark-3));
  box-shadow:var(--ic-shadow-lg);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main:after{display:none}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main h1{
  margin:var(--ic-space-2) 0 var(--ic-space-3);
  max-width:760px;
  font:800 clamp(34px,4vw,var(--ic-text-display))/var(--ic-leading-tight) var(--ic-font-display);
  letter-spacing:-.045em;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main>p{
  max-width:680px;
  color:var(--ic-text-inverse-muted);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-current{
  margin-top:var(--ic-space-6);
  padding:var(--ic-space-4);
  border:1px solid var(--ic-overlay-dark-line);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-overlay-dark-subtle);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-current span{
  color:var(--ic-premium-500);
  font:800 10px/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-current strong{
  margin:var(--ic-space-2) 0 var(--ic-space-1);
  font:800 var(--ic-text-lg)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-current small{
  max-width:680px;
  color:var(--ic-text-inverse-muted);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-actions{margin-top:var(--ic-space-5);gap:var(--ic-space-2)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-actions .v22-primary,
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome-actions .v22-primary{
  min-height:44px;
  border-radius:var(--ic-radius-md);
  background:linear-gradient(135deg,var(--ic-brand-600),var(--ic-brand-500));
  box-shadow:var(--ic-shadow-brand);
  font:800 12px/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-actions .v22-secondary,
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome-actions .v22-secondary,
.ic-template-dashboard[data-v22-panel="today"] .v22-card .v22-secondary{
  min-height:44px;
  border:1px solid var(--ic-brand-border);
  border-radius:var(--ic-radius-md);
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font:800 12px/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main .v22-secondary{
  border-color:var(--ic-border-inverse);
  background:var(--ic-overlay-dark-subtle);
  color:var(--ic-text-inverse);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-progress{
  padding:var(--ic-space-6);
  border:1px solid var(--ic-border-subtle);
  background:linear-gradient(180deg,var(--ic-surface),var(--ic-surface-soft));
  box-shadow:var(--ic-shadow-sm);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-progress-head span{
  color:var(--ic-text-tertiary);
  font:800 10px/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-progress-head strong{
  font:800 32px/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-progress-track{background:var(--ic-surface-muted)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-progress-track i{background:linear-gradient(90deg,var(--ic-brand-600),var(--ic-premium-500))}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats{border-color:var(--ic-border-subtle)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats div+div{border-color:var(--ic-border-subtle)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats strong{font:800 var(--ic-text-h3)/1 var(--ic-font-display)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats span,
.ic-template-dashboard[data-v22-panel="today"] .v22-home-program-progress>p{color:var(--ic-text-secondary);font-size:var(--ic-text-xs)}

.ic-template-dashboard[data-v22-panel="today"] .v22-hero-grid{
  gap:var(--home-gap);
  margin-top:0;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome,
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity,
.ic-template-dashboard[data-v22-panel="today"] .v22-briefing-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-cycle-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-target-continuity{
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-xl);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-xs);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome{
  min-height:auto;
  padding:var(--ic-space-6);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-surface-soft));
}
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome h1{
  margin:var(--ic-space-2) 0 var(--ic-space-3);
  max-width:680px;
  font:800 clamp(24px,2.8vw,var(--ic-text-h1))/var(--ic-leading-heading) var(--ic-font-display);
  letter-spacing:-.04em;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-welcome p{
  margin:0;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-next-reason{
  margin-top:var(--ic-space-4);
  padding:var(--ic-space-2) var(--ic-space-3);
  border-color:var(--ic-brand-border);
  background:var(--ic-brand-50);
  color:var(--ic-brand-700);
  font-size:var(--ic-text-xs);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity{padding:var(--ic-space-6)}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity-head{font-size:var(--ic-text-xs)}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity dl{margin-top:var(--ic-space-4)}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity dl div{padding:var(--ic-space-3) 0;border-color:var(--ic-border-subtle)}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity dt{color:var(--ic-text-secondary);font-size:var(--ic-text-xs)}
.ic-template-dashboard[data-v22-panel="today"] .v22-continuity dd{font:800 var(--ic-text-sm)/1 var(--ic-font-display)}

.ic-template-dashboard[data-v22-panel="today"] .v22-target-continuity,
.ic-template-dashboard[data-v22-panel="today"] .v22-briefing-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-cycle-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-dashboard-grid{margin-top:var(--home-gap)}
.ic-template-dashboard[data-v22-panel="today"] .v22-target-continuity,
.ic-template-dashboard[data-v22-panel="today"] .v22-briefing-card,
.ic-template-dashboard[data-v22-panel="today"] .v22-cycle-card{padding:var(--ic-space-6)}
.ic-template-dashboard[data-v22-panel="today"] .v22-briefing-head h2,
.ic-template-dashboard[data-v22-panel="today"] .v22-section-head h2{
  margin:var(--ic-space-2) 0 0;
  font:800 var(--ic-text-h2)/var(--ic-leading-heading) var(--ic-font-display);
  letter-spacing:-.035em;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-section-head p{
  max-width:520px;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}

.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases{
  gap:var(--ic-space-3);
  margin-top:var(--ic-space-5);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article{
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface-soft);
  overflow:hidden;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article>header{
  padding:var(--ic-space-4);
  border-bottom:1px solid var(--ic-border-subtle);
  background:var(--ic-surface);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article>header span{
  color:var(--ic-brand-600);
  font:800 10px/1 var(--ic-font-display);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article>header b{
  display:block;
  margin-top:var(--ic-space-2);
  font:800 var(--ic-text-h3)/1 var(--ic-font-display);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article>header small{
  display:block;
  margin-top:var(--ic-space-2);
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases>article>div{padding:var(--ic-space-3)}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases button{
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-home-system-phases button:hover{border-color:var(--ic-brand-border);background:var(--ic-brand-50)}

.ic-template-dashboard[data-v22-panel="today"] .v22-dashboard-grid{
  gap:var(--home-gap);
}
.v22-app[data-v22-view="today"] .ic-template-dashboard .v22-dashboard-grid .v22-card{
  padding:var(--ic-space-6);
  box-shadow:var(--ic-shadow-xs);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-card-label{
  color:var(--ic-text-tertiary);
  font:800 10px/1 var(--ic-font-display);
}
.v22-app[data-v22-view="today"] .ic-template-dashboard .v22-dashboard-grid .v22-card p{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-template-dashboard[data-v22-panel="today"] .v22-metric strong{font:800 36px/1 var(--ic-font-display)}
.ic-template-dashboard[data-v22-panel="today"] .v22-progress{background:var(--ic-surface-muted)}
.ic-template-dashboard[data-v22-panel="today"] .v22-progress i{background:linear-gradient(90deg,var(--ic-brand-600),var(--ic-premium-500))}
.ic-template-dashboard[data-v22-panel="today"] .v22-route-list{
  min-width:0;
  gap:4px;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.ic-template-dashboard[data-v22-panel="today"] .v22-route-list span{
  min-width:0;
  padding-inline:1px;
}

:is(.ic-template-dashboard,.ic-role-center-reference,.ic-learning-reference)
  :is(button,a,summary,input,textarea):focus-visible,
.v22-rail :is(a,button):focus-visible,
.v22-topbar :is(a,button):focus-visible{
  outline:3px solid var(--ic-focus-ring);
  outline-offset:3px;
}

@media(min-width:980px) and (max-width:1100px){
  .v22-app[data-v22-view="today"] .ic-template-dashboard .v22-dashboard-grid{
    grid-template-columns:minmax(0,.9fr) minmax(300px,1.25fr) minmax(0,.9fr);
  }
}
@media(max-width:900px){
  .ic-template-dashboard{padding:var(--ic-space-6) var(--ic-space-5) var(--ic-space-10)}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program{grid-template-columns:1fr}
}
@media(max-width:760px){
  .v22-nav{
    grid-template-columns:repeat(7,minmax(64px,1fr));
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .v22-nav::-webkit-scrollbar{display:none}
  .v22-nav button{padding-inline:6px}
  .ic-template-dashboard{padding:var(--ic-space-5) var(--ic-space-4) var(--ic-space-8)}
  .ic-template-dashboard[data-v22-panel="today"]{--home-gap:var(--ic-space-4)}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main,
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-progress,
  .ic-template-dashboard[data-v22-panel="today"] .v22-welcome,
  .ic-template-dashboard[data-v22-panel="today"] .v22-continuity,
  .ic-template-dashboard[data-v22-panel="today"] .v22-briefing-card,
  .ic-template-dashboard[data-v22-panel="today"] .v22-cycle-card,
  .ic-template-dashboard[data-v22-panel="today"] .v22-card{border-radius:var(--ic-radius-lg)}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main,
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-progress,
  .ic-template-dashboard[data-v22-panel="today"] .v22-welcome,
  .ic-template-dashboard[data-v22-panel="today"] .v22-continuity,
  .ic-template-dashboard[data-v22-panel="today"] .v22-briefing-card,
  .ic-template-dashboard[data-v22-panel="today"] .v22-cycle-card,
  .ic-template-dashboard[data-v22-panel="today"] .v22-card{padding:var(--ic-space-5)}
  .ic-journey{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .ic-template-dashboard{padding-inline:var(--ic-space-3)}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-main h1{font-size:32px}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats{grid-template-columns:1fr}
  .ic-template-dashboard[data-v22-panel="today"] .v22-home-program-stats div+div{border-left:0;border-top:1px solid var(--ic-border-subtle)}
  .ic-journey{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .ic-button{transition:none}
}


/* Reference Screen 02 — Role Center / Career Portfolio.
   Preserve all role, entitlement, search, filter, passport and progress behavior. */
.ic-role-center-reference{
  margin-bottom:var(--ic-space-6);
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-xl);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-sm);
  color:var(--ic-text-primary);
  font-family:var(--ic-font-body);
}
.ic-role-center-reference .v22-role-center-head{
  gap:var(--ic-space-6);
  padding:var(--ic-space-8);
  border-bottom-color:var(--ic-border-subtle);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-brand-50));
}
.ic-role-center-reference .v22-role-center-head h2{
  max-width:880px;
  margin:var(--ic-space-2) 0 var(--ic-space-3);
  font:800 clamp(30px,3.4vw,42px)/var(--ic-leading-tight) var(--ic-font-display);
  letter-spacing:-.045em;
}
.ic-role-center-reference .v22-role-center-head p{
  max-width:820px;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-local-pill{
  min-height:32px;
  padding:7px 10px;
  border:1px solid var(--ic-brand-border);
  border-radius:999px;
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-body);
  white-space:nowrap;
}
.ic-role-center-reference .v22-career-cycle{
  gap:var(--ic-space-2);
  margin-top:var(--ic-space-5);
}
.ic-role-center-reference .v22-career-cycle span{
  min-height:30px;
  padding:7px 10px;
  border-color:var(--ic-brand-border);
  background:var(--ic-brand-50);
  color:var(--ic-brand-700);
  font-size:var(--ic-text-xs);
}
.ic-role-center-reference .v22-career-cycle b{
  color:var(--ic-text-tertiary);
  font-size:var(--ic-text-xs);
}

.ic-role-center-reference .v22-portfolio-summary{
  gap:var(--ic-space-3);
  padding:var(--ic-space-5) var(--ic-space-8);
  border-bottom-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-portfolio-summary>div{
  padding:var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface);
}
.ic-role-center-reference .v22-portfolio-summary span{
  color:var(--ic-text-tertiary);
  font-size:var(--ic-text-xs);
}
.ic-role-center-reference .v22-portfolio-summary strong{
  margin-top:var(--ic-space-2);
  color:var(--ic-text-primary);
  font:800 26px/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-portfolio-summary>small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}

.ic-role-center-reference .v22-career-passport{
  margin:var(--ic-space-6) var(--ic-space-8);
  border-color:var(--ic-brand-border);
  border-radius:var(--ic-radius-xl);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-brand-50));
  box-shadow:var(--ic-shadow-xs);
}
.ic-role-center-reference .v22-career-passport-head{
  gap:var(--ic-space-6);
  padding:var(--ic-space-6);
  border-bottom-color:var(--ic-brand-border);
}
.ic-role-center-reference .v22-career-passport-head h3{
  margin:var(--ic-space-2) 0 var(--ic-space-3);
  color:var(--ic-text-primary);
  font:800 var(--ic-text-h2)/var(--ic-leading-heading) var(--ic-font-display);
  letter-spacing:-.035em;
}
.ic-role-center-reference .v22-career-passport-head p{
  max-width:850px;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-passport-metrics{
  gap:var(--ic-space-3);
  padding:var(--ic-space-5) var(--ic-space-6);
  border-bottom-color:var(--ic-brand-border);
  background:var(--ic-surface);
}
.ic-role-center-reference .v22-passport-metrics>div{
  padding:var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-passport-metrics span{
  color:var(--ic-text-tertiary);
  font-size:var(--ic-text-xs);
}
.ic-role-center-reference .v22-passport-metrics strong{
  margin-top:var(--ic-space-2);
  color:var(--ic-text-primary);
  font:800 24px/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-passport-suggestion[hidden]{display:none!important}
.ic-role-center-reference .v22-passport-suggestion{
  gap:var(--ic-space-4);
  margin:var(--ic-space-5) var(--ic-space-6) 0;
  padding:var(--ic-space-5);
  border-color:var(--ic-brand-border);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-brand-50);
}
.ic-role-center-reference .v22-passport-suggestion h4{
  margin:var(--ic-space-2) 0;
  color:var(--ic-text-primary);
  font:800 var(--ic-text-lg)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-passport-suggestion p{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-passport-bridge{
  gap:var(--ic-space-3);
  padding:var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface);
}
.ic-role-center-reference .v22-passport-bridge-head span{
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-passport-bridge-head small,
.ic-role-center-reference .v22-passport-bridge li small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-passport-bridge li{
  grid-template-columns:32px minmax(0,1fr);
  gap:var(--ic-space-3);
  padding:var(--ic-space-3);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-role-center-reference .v22-passport-bridge li>span{
  width:30px;
  height:30px;
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-passport-bridge li b{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/var(--ic-leading-heading) var(--ic-font-display);
}

.ic-role-center-reference .v22-gap-matrix-head{
  gap:var(--ic-space-6);
  padding:var(--ic-space-6) var(--ic-space-6) var(--ic-space-4);
}
.ic-role-center-reference .v22-gap-matrix-head h4{
  margin:var(--ic-space-2) 0 0;
  color:var(--ic-text-primary);
  font:800 var(--ic-text-lg)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-gap-matrix-head>p{
  max-width:520px;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-gap-matrix{
  gap:var(--ic-space-3);
  padding:0 var(--ic-space-6) var(--ic-space-6);
}
.ic-role-center-reference .v22-gap-row{
  gap:var(--ic-space-3);
  padding:var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface);
}
.ic-role-center-reference .v22-gap-row.is-active{
  border-color:var(--ic-brand-border);
  background:var(--ic-brand-50);
  box-shadow:var(--ic-shadow-xs);
}
.ic-role-center-reference .v22-gap-row.is-locked{
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-gap-role h5{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-gap-role span,
.ic-role-center-reference .v22-gap-evidence>span,
.ic-role-center-reference .v22-gap-missing>span{
  color:var(--ic-text-tertiary);
  font-size:11px;
}
.ic-role-center-reference .v22-gap-role span{
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
}
.ic-role-center-reference .v22-gap-coverage strong{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-h3)/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-gap-coverage small,
.ic-role-center-reference .v22-gap-practice small,
.ic-role-center-reference .v22-gap-evidence em,
.ic-role-center-reference .v22-gap-missing em{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-gap-evidence b,
.ic-role-center-reference .v22-gap-missing b{
  padding:5px 7px;
  font-size:11px;
  line-height:1.25;
}
.ic-role-center-reference .v22-gap-evidence b{
  background:var(--ic-success-soft);
  color:var(--ic-success-600);
}
.ic-role-center-reference .v22-gap-missing b{
  background:var(--ic-warning-soft);
  color:var(--ic-warning-600);
}
.ic-role-center-reference .v22-gap-practice strong{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-xs)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-gap-action{
  min-height:44px;
  border-radius:var(--ic-radius-md);
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font-size:var(--ic-text-xs);
}
.ic-role-center-reference .v22-gap-action:disabled{
  background:var(--ic-surface-muted);
  color:var(--ic-text-tertiary);
}

.ic-role-center-reference .v22-role-catalog-tools{
  gap:var(--ic-space-4);
  padding:var(--ic-space-5) var(--ic-space-8) var(--ic-space-3);
}
.ic-role-center-reference .v22-role-catalog-search{
  gap:var(--ic-space-2);
}
.ic-role-center-reference .v22-role-catalog-search>span{
  color:var(--ic-text-tertiary);
  font-size:var(--ic-text-xs);
}
.ic-role-center-reference .v22-role-catalog-search input{
  min-height:44px;
  padding:10px 12px;
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
  color:var(--ic-text-primary);
  font:600 var(--ic-text-sm)/1.2 var(--ic-font-body);
}
.ic-role-center-reference .v22-role-catalog-search input:focus{
  border-color:var(--ic-brand-border);
  box-shadow:0 0 0 3px var(--ic-focus-ring);
}
.ic-role-center-reference .v22-role-family-filters{
  gap:var(--ic-space-2);
}
.ic-role-center-reference .v22-role-family-filters button{
  min-height:44px;
  padding:9px 11px;
  border-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
  color:var(--ic-text-secondary);
  font:800 var(--ic-text-xs)/1 var(--ic-font-body);
}
.ic-role-center-reference .v22-role-family-filters button[aria-pressed="true"]{
  border-color:var(--ic-brand-border);
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
}
.ic-role-center-reference .v22-role-catalog-result{
  gap:var(--ic-space-4);
  padding:var(--ic-space-3) var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-role-catalog-result strong{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-role-catalog-result span,
.ic-role-center-reference .v22-role-catalog-empty{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}

.ic-role-center-reference .v22-role-pack-grid{
  gap:var(--ic-space-4);
  padding:var(--ic-space-5) var(--ic-space-8) var(--ic-space-8);
}
.ic-role-center-reference .v22-role-pack{
  min-height:360px;
  padding:var(--ic-space-5);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-xs);
}
.ic-role-center-reference .v22-role-pack:hover{
  border-color:var(--ic-brand-border);
  box-shadow:var(--ic-shadow-sm);
}
.ic-role-center-reference .v22-role-pack-media{
  height:150px;
  margin:calc(var(--ic-space-5) * -1) calc(var(--ic-space-5) * -1) var(--ic-space-4);
  border-radius:var(--ic-radius-lg) var(--ic-radius-lg) 0 0;
  background:var(--ic-surface-muted);
}
.ic-role-center-reference .v22-role-pack.is-active{
  border-color:var(--ic-brand-border);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-brand-50));
  box-shadow:var(--ic-shadow-sm);
}
.ic-role-center-reference .v22-role-pack.is-locked{
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-role-pack-top span{
  padding:6px 8px;
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font-size:11px;
}
.ic-role-center-reference .v22-role-pack-top small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:1.35;
}
.ic-role-center-reference .v22-role-pack h3{
  margin:var(--ic-space-4) 0 var(--ic-space-2);
  color:var(--ic-text-primary);
  font:800 var(--ic-text-h3)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-role-pack>p{
  color:var(--ic-text-secondary);
  font-size:13px;
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-role-pack-focus{
  gap:var(--ic-space-2);
  margin:var(--ic-space-4) 0;
}
.ic-role-center-reference .v22-role-pack-focus b{
  padding:6px 8px;
  border-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
  color:var(--ic-text-secondary);
  font-size:11px;
}
.ic-role-center-reference .v22-role-progress{
  gap:var(--ic-space-2);
  margin-bottom:var(--ic-space-4);
  padding:var(--ic-space-3);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-role-progress span{
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
}
.ic-role-center-reference .v22-role-progress small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-role-pack button{
  min-height:44px;
  padding:10px 12px;
  border-radius:var(--ic-radius-md);
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-body);
}
.ic-role-center-reference .v22-role-pack button:disabled{
  background:var(--ic-success-soft);
  color:var(--ic-success-600);
}

.ic-role-center-reference .v22-role-center-foot{
  gap:var(--ic-space-5);
  padding:var(--ic-space-6) var(--ic-space-8);
  border-top-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
}
.ic-role-center-reference .v22-role-center-foot strong{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-role-center-reference .v22-role-center-foot p{
  margin:var(--ic-space-2) 0 0;
  color:var(--ic-text-secondary);
  font-size:13px;
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-role-center-foot small{
  margin-top:var(--ic-space-2);
  color:var(--ic-text-tertiary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-role-center-reference .v22-role-center-foot .v22-secondary{
  min-height:44px;
  border-radius:var(--ic-radius-md);
}

@media(max-width:1100px){
  .ic-role-center-reference .v22-role-pack-grid{grid-template-columns:1fr 1fr}
  .ic-role-center-reference .v22-gap-row{grid-template-columns:1fr 1fr}
  .ic-role-center-reference .v22-gap-role,
  .ic-role-center-reference .v22-gap-coverage{grid-column:auto}
  .ic-role-center-reference .v22-gap-evidence,
  .ic-role-center-reference .v22-gap-missing{grid-column:1/-1}
  .ic-role-center-reference .v22-gap-practice{grid-column:1/2}
  .ic-role-center-reference .v22-gap-action{grid-column:2/3}
}
@media(max-width:820px){
  .ic-role-center-reference .v22-role-center-head,
  .ic-role-center-reference .v22-career-passport-head,
  .ic-role-center-reference .v22-gap-matrix-head{display:grid}
  .ic-role-center-reference .v22-role-center-head,
  .ic-role-center-reference .v22-portfolio-summary,
  .ic-role-center-reference .v22-role-catalog-tools,
  .ic-role-center-reference .v22-role-pack-grid,
  .ic-role-center-reference .v22-role-center-foot{padding-left:var(--ic-space-5);padding-right:var(--ic-space-5)}
  .ic-role-center-reference .v22-career-passport{margin-left:var(--ic-space-5);margin-right:var(--ic-space-5)}
  .ic-role-center-reference .v22-career-passport-head,
  .ic-role-center-reference .v22-passport-metrics,
  .ic-role-center-reference .v22-gap-matrix,
  .ic-role-center-reference .v22-gap-matrix-head{padding-left:var(--ic-space-5);padding-right:var(--ic-space-5)}
}
@media(max-width:720px){
  .ic-role-center-reference .v22-role-pack-grid{grid-template-columns:1fr}
  .ic-role-center-reference .v22-role-pack{min-height:0}
}
@media(max-width:520px){
  .ic-role-center-reference{border-radius:var(--ic-radius-lg)}
  .ic-role-center-reference .v22-role-center-head{padding:var(--ic-space-5)}
  .ic-role-center-reference .v22-role-center-head h2{font-size:30px}
  .ic-role-center-reference .v22-portfolio-summary{grid-template-columns:1fr 1fr;padding:var(--ic-space-4)}
  .ic-role-center-reference .v22-career-passport{margin:var(--ic-space-4)}
  .ic-role-center-reference .v22-career-passport-head,
  .ic-role-center-reference .v22-passport-metrics,
  .ic-role-center-reference .v22-gap-matrix,
  .ic-role-center-reference .v22-gap-matrix-head{padding-left:var(--ic-space-4);padding-right:var(--ic-space-4)}
  .ic-role-center-reference .v22-role-catalog-tools,
  .ic-role-center-reference .v22-role-pack-grid,
  .ic-role-center-reference .v22-role-center-foot{padding-left:var(--ic-space-4);padding-right:var(--ic-space-4)}
  .ic-role-center-reference .v22-role-family-filters{grid-template-columns:1fr 1fr}
  .ic-role-center-reference .v22-gap-row{grid-template-columns:1fr}
  .ic-role-center-reference .v22-gap-role,
  .ic-role-center-reference .v22-gap-coverage,
  .ic-role-center-reference .v22-gap-evidence,
  .ic-role-center-reference .v22-gap-missing,
  .ic-role-center-reference .v22-gap-practice,
  .ic-role-center-reference .v22-gap-action{grid-column:auto}
  .ic-role-center-reference .v22-gap-action{width:100%}
}


/* Reference Screen 04 — Voice / Answer.
   Presentation-only: preserve question selection, voice capture, transcript handling,
   attempt persistence, receipts, Gold handoff and written-fallback behavior. */
.ic-voice-reference{
  max-width:var(--ic-width-dashboard);
  color:var(--ic-text-primary);
  font-family:var(--ic-font-body);
}
.ic-voice-reference .v22-page-head{
  max-width:var(--ic-width-training);
  padding:var(--ic-space-5) 0 var(--ic-space-6);
}
.ic-voice-reference .v22-page-head .v22-kicker{
  color:var(--ic-brand-600);
  font-size:var(--ic-text-xs);
}
.ic-voice-reference .v22-page-head h1{
  margin:var(--ic-space-2) 0 var(--ic-space-3);
  font:800 clamp(34px,4vw,50px)/var(--ic-leading-tight) var(--ic-font-display);
  letter-spacing:-.045em;
}
.ic-voice-reference .v22-page-head p{
  max-width:760px;
  margin:0;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}

.ic-voice-reference .v22-practice-layout{
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  gap:var(--ic-space-5);
  align-items:start;
}
.ic-voice-reference .v22-question-list{
  position:sticky;
  top:84px;
  overflow:hidden;
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-xl);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-xs);
}
.ic-voice-reference .v22-question-search{
  padding:var(--ic-space-3);
  border-bottom-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
}
.ic-voice-reference .v22-question-search input{
  min-height:44px;
  padding:10px 12px;
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
  color:var(--ic-text-primary);
  font:600 var(--ic-text-sm)/1.2 var(--ic-font-body);
}
.ic-voice-reference .v22-question-search input:focus{
  border-color:var(--ic-brand-border);
  outline:3px solid var(--ic-focus-ring);
  outline-offset:2px;
}
.ic-voice-reference .v22-question-scroll{
  max-height:650px;
  padding:var(--ic-space-2);
}
.ic-voice-reference .v22-question-item{
  min-height:52px;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:var(--ic-space-2);
  padding:10px;
  border-radius:var(--ic-radius-md);
}
.ic-voice-reference .v22-question-item:hover{
  background:var(--ic-brand-50);
}
.ic-voice-reference .v22-question-item.is-active{
  background:var(--ic-brand-100);
  box-shadow:inset 3px 0 0 var(--ic-brand-600);
}
.ic-voice-reference .v22-question-item span{
  color:var(--ic-brand-600);
  font:800 var(--ic-text-xs)/1.2 var(--ic-font-display);
}
.ic-voice-reference .v22-question-item b{
  color:var(--ic-text-primary);
  font:700 13px/1.4 var(--ic-font-body);
}
.ic-voice-reference .v22-question-item small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:1.35;
}
.ic-voice-reference .v22-question-item.has-evidence span,
.ic-voice-reference .v22-question-item.has-evidence small{
  color:var(--ic-text-primary);
}

.ic-voice-reference .v22-question-stage{
  min-width:0;
  padding:var(--ic-space-8);
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-xl);
  background:var(--ic-surface);
  box-shadow:var(--ic-shadow-sm);
}
.ic-voice-reference .v22-question-meta{
  align-items:center;
  gap:var(--ic-space-3);
  color:var(--ic-text-secondary);
  font:800 var(--ic-text-xs)/1.2 var(--ic-font-display);
  letter-spacing:.06em;
}
.ic-voice-reference .v22-question-meta b{
  color:var(--ic-brand-600);
}
.ic-voice-reference .v22-question-stage>h2{
  max-width:950px;
  margin:var(--ic-space-6) 0 var(--ic-space-5);
  color:var(--ic-text-primary);
  font:800 clamp(30px,3.6vw,48px)/1.08 var(--ic-font-display);
  letter-spacing:-.045em;
}
.ic-voice-reference .v22-gold-entry,
.ic-voice-reference .v22-tech-entry{
  border-radius:var(--ic-radius-lg);
}
.ic-voice-reference .v22-gold-entry small,
.ic-voice-reference .v22-tech-entry small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-voice-reference .v22-gold-entry .v22-secondary,
.ic-voice-reference .v22-tech-entry .v22-secondary{
  min-height:44px;
  border-radius:var(--ic-radius-md);
}

.ic-voice-reference .v22-guidance{
  margin-top:var(--ic-space-5);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-lg);
  background:var(--ic-surface-soft);
}
.ic-voice-reference .v22-guidance summary,
.ic-voice-reference .v22-written-fallback summary{
  min-height:44px;
  padding:12px 14px;
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/1.3 var(--ic-font-display);
}
.ic-voice-reference .v22-dertn-guide{
  gap:var(--ic-space-2);
  padding:0 var(--ic-space-3) var(--ic-space-3);
}
.ic-voice-reference .v22-dertn-guide span{
  grid-template-columns:auto minmax(0,1fr);
  min-height:72px;
  padding:10px;
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
  color:var(--ic-text-primary);
  font-size:var(--ic-text-xs);
  line-height:1.35;
}
.ic-voice-reference .v22-dertn-guide b{
  width:28px;
  height:28px;
  border-radius:var(--ic-radius-sm);
  background:var(--ic-brand-100);
  color:var(--ic-brand-700);
  font:800 var(--ic-text-xs)/1 var(--ic-font-display);
}
.ic-voice-reference .v22-dertn-guide small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  font-weight:500;
  line-height:1.35;
}

.ic-voice-reference .v22-voice-console{
  margin-top:var(--ic-space-5);
  padding:var(--ic-space-6);
  border:1px solid var(--ic-brand-border);
  border-radius:var(--ic-radius-xl);
  background:
    radial-gradient(circle at 100% 0,var(--ic-brand-soft-strong),transparent 34%),
    linear-gradient(145deg,var(--ic-surface),var(--ic-surface-soft));
  box-shadow:var(--ic-shadow-xs);
}
.ic-voice-reference .v22-live-clock{
  gap:var(--ic-space-5);
  padding-bottom:var(--ic-space-5);
  border-bottom-color:var(--ic-border-subtle);
}
.ic-voice-reference .v22-live-clock span{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  letter-spacing:.07em;
}
.ic-voice-reference .v22-live-clock strong{
  color:var(--ic-text-primary);
  font:800 36px/1 var(--ic-font-display);
  letter-spacing:-.04em;
}
.ic-voice-reference .v22-voice-status{
  gap:var(--ic-space-3);
  padding:var(--ic-space-5) 0;
}
.ic-voice-reference .v22-voice-status i{
  flex:0 0 auto;
}
.ic-voice-reference .v22-voice-status div{
  gap:var(--ic-space-1);
}
.ic-voice-reference .v22-voice-status b{
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-voice-reference .v22-voice-status small{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-voice-reference .v22-voice-trigger{
  min-height:56px;
  padding:12px 16px;
  border-radius:var(--ic-radius-md);
  background:linear-gradient(135deg,var(--ic-brand-600),var(--ic-brand-500));
  box-shadow:var(--ic-shadow-brand);
}
.ic-voice-reference .v22-voice-trigger b{
  font:800 var(--ic-text-sm)/1 var(--ic-font-display);
  letter-spacing:0;
}
.ic-voice-reference .v22-voice-trigger:focus,
.ic-voice-reference .v22-voice-trigger:focus-visible{
  outline:3px solid var(--ic-focus-ring);
  outline-offset:3px;
}
.ic-voice-reference .v22-voice-trigger.is-recording{
  background:var(--ic-danger-600);
}

.ic-voice-reference .v22-practice-receipt{
  margin-top:var(--ic-space-5);
  padding:var(--ic-space-6);
  border-color:var(--ic-success-border);
  border-radius:var(--ic-radius-xl);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-success-soft));
}
.ic-voice-reference .v22-receipt-head{
  gap:var(--ic-space-3);
}
.ic-voice-reference .v22-receipt-head>b{
  color:var(--ic-text-primary);
  font-size:var(--ic-text-xs);
  letter-spacing:.06em;
}
.ic-voice-reference .v22-receipt-metrics{
  gap:var(--ic-space-3);
  margin-top:var(--ic-space-5);
}
.ic-voice-reference .v22-receipt-metrics div{
  padding:var(--ic-space-4);
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-voice-reference .v22-receipt-metrics span{
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
}
.ic-voice-reference .v22-receipt-metrics strong{
  margin-top:var(--ic-space-2);
  color:var(--ic-text-primary);
  font:800 24px/1 var(--ic-font-display);
}
.ic-voice-reference .v22-receipt-routes{
  gap:var(--ic-space-2);
  margin-top:var(--ic-space-4);
}
.ic-voice-reference .v22-receipt-routes span{
  min-height:54px;
  padding:8px;
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
  color:var(--ic-text-secondary);
  font:800 var(--ic-text-sm)/1.2 var(--ic-font-display);
}
.ic-voice-reference .v22-receipt-routes span b{
  font:600 var(--ic-text-xs)/1.2 var(--ic-font-body);
}
.ic-voice-reference .v22-receipt-routes span.has-evidence{
  border-color:var(--ic-success-border);
  background:var(--ic-success-soft);
  color:var(--ic-text-primary);
}
.ic-voice-reference .v22-practice-receipt p{
  margin:var(--ic-space-4) 0;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}

.ic-voice-reference .v22-receipt-framing{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--ic-space-3);
  margin-top:var(--ic-space-5);
}
.ic-voice-reference .v22-receipt-state{
  min-width:0;
  padding:var(--ic-space-4);
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-voice-reference .v22-receipt-state>span{
  display:block;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  font-weight:700;
}
.ic-voice-reference .v22-receipt-state>strong{
  display:block;
  margin-top:var(--ic-space-2);
  color:var(--ic-text-primary);
  font:800 var(--ic-text-lg)/var(--ic-leading-heading) var(--ic-font-display);
}
.ic-voice-reference .v22-receipt-state>small{
  display:block;
  margin-top:var(--ic-space-2);
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-xs);
  line-height:var(--ic-leading-body);
}
.ic-voice-reference .v22-receipt-state[data-state="not-assessed"],
.ic-voice-reference .v22-receipt-state[data-state="unknown"],
.ic-voice-reference .v22-receipt-state[data-state="neutral"]{
  border-color:var(--ic-border-subtle);
  background:var(--ic-surface-soft);
}
.ic-voice-reference .v22-receipt-state[data-state="needs-attention"]{
  border-color:var(--ic-warning-border);
  background:var(--ic-warning-soft);
}
.ic-voice-reference .v22-receipt-state[data-state="needs-attention"]>strong{color:var(--ic-warning-600)}
.ic-voice-reference .v22-receipt-state[data-state="developing"]{
  border-color:var(--ic-brand-border);
  background:var(--ic-brand-50);
}
.ic-voice-reference .v22-receipt-state[data-state="developing"]>strong{color:var(--ic-brand-700)}
.ic-voice-reference .v22-receipt-state[data-state="strong"]{
  border-color:var(--ic-success-border);
  background:var(--ic-success-soft);
}
.ic-voice-reference .v22-receipt-state[data-state="strong"]>strong{color:var(--ic-text-primary)}
.ic-voice-reference .v22-receipt-state[data-state="available"]{
  border-color:var(--ic-success-border);
  background:var(--ic-success-soft);
}
.ic-voice-reference .v22-receipt-state[data-state="limited"]{
  border-color:var(--ic-warning-border);
  background:var(--ic-warning-soft);
}
.ic-voice-reference .v22-receipt-state[data-state="unavailable"]{
  border-color:var(--ic-border-subtle);
  background:var(--ic-surface-muted);
}
.ic-voice-reference .v22-receipt-transcript{
  margin-top:var(--ic-space-4);
  border:1px solid var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
}
.ic-voice-reference .v22-receipt-transcript summary{
  min-height:44px;
  padding:12px 14px;
  color:var(--ic-text-primary);
  font:800 var(--ic-text-sm)/1.2 var(--ic-font-display);
  cursor:pointer;
}
.ic-voice-reference .v22-receipt-transcript p{
  margin:0;
  padding:0 14px 14px;
  color:var(--ic-text-secondary);
  font-size:var(--ic-text-sm);
  line-height:var(--ic-leading-body);
}

/* Voice lifecycle: the same console owns every state. */
.ic-voice-reference .v22-voice-console[data-voice-state="requesting"],
.ic-voice-reference .v22-voice-console[data-voice-state="processing"]{
  border-color:var(--ic-brand-border);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-brand-50));
}
.ic-voice-reference .v22-voice-console[data-voice-state="listening"]{
  border-color:var(--ic-danger-border);
}
.ic-voice-reference .v22-voice-console[data-voice-state="saved"]{
  border-color:var(--ic-success-border);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-success-soft));
}
.ic-voice-reference .v22-voice-console[data-voice-state="error"]{
  border-color:var(--ic-danger-border);
  background:linear-gradient(145deg,var(--ic-surface),var(--ic-danger-soft));
}
.ic-voice-reference .v22-voice-trigger:disabled{
  cursor:wait;
  opacity:.72;
  box-shadow:none;
}
.ic-voice-reference .v22-practice-receipt .v22-secondary{
  min-height:44px;
  border-radius:var(--ic-radius-md);
}

.ic-voice-reference .v22-written-fallback{
  margin-top:var(--ic-space-5);
  border-top-color:var(--ic-border-subtle);
}
.ic-voice-reference .v22-written-fallback textarea{
  min-height:150px;
  margin-top:0;
  border-color:var(--ic-border-subtle);
  border-radius:var(--ic-radius-md);
  background:var(--ic-surface);
  color:var(--ic-text-primary);
  font:400 var(--ic-text-sm)/var(--ic-leading-body) var(--ic-font-body);
}
.ic-voice-reference .v22-written-fallback textarea:focus{
  border-color:var(--ic-brand-border);
  outline:3px solid var(--ic-focus-ring);
}
.ic-voice-reference .v22-written-fallback button{
  min-height:44px;
  border-radius:var(--ic-radius-md);
}
.ic-voice-reference .v22-note{
  margin-top:var(--ic-space-4);
  color:var(--ic-text-secondary)!important;
  font-size:var(--ic-text-xs)!important;
  line-height:var(--ic-leading-body);
}

@media(max-width:1100px){
  .ic-voice-reference .v22-practice-layout{
    grid-template-columns:minmax(230px,270px) minmax(0,1fr);
  }
  .ic-voice-reference .v22-question-stage{
    padding:var(--ic-space-6);
  }
}
@media(max-width:760px){
  .ic-voice-reference .v22-page-head{
    padding-top:var(--ic-space-4);
  }
  .ic-voice-reference .v22-practice-layout{
    grid-template-columns:1fr;
    gap:var(--ic-space-4);
  }
  .ic-voice-reference .v22-question-list{
    position:static;
  }
  .ic-voice-reference .v22-question-scroll{
    max-height:240px;
  }
  .ic-voice-reference .v22-question-stage{
    padding:var(--ic-space-5);
    border-radius:var(--ic-radius-lg);
  }
  .ic-voice-reference .v22-question-stage>h2{
    margin:var(--ic-space-5) 0 var(--ic-space-4);
    font-size:30px;
  }
  .ic-voice-reference .v22-dertn-guide{
    grid-template-columns:1fr;
  }
  .ic-voice-reference .v22-dertn-guide span:last-child{
    grid-column:auto;
  }
  .ic-voice-reference .v22-voice-console,
  .ic-voice-reference .v22-practice-receipt{
    padding:var(--ic-space-5);
    border-radius:var(--ic-radius-lg);
  }
}
@media(max-width:520px){
  .ic-voice-reference .v22-question-stage{
    padding:var(--ic-space-4);
  }
  .ic-voice-reference .v22-voice-trigger{
    width:100%;
    min-height:64px;
    font-size:var(--ic-text-body);
  }
  .ic-voice-reference .v22-receipt-framing{
    grid-template-columns:1fr;
  }
  .ic-voice-reference .v22-receipt-metrics{
    grid-template-columns:1fr;
  }
  .ic-voice-reference .v22-receipt-routes{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ic-voice-reference .v22-receipt-routes span:last-child{
    grid-column:1/-1;
  }
}
