html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.evaluation-profile-configuration-link {
  color: #5b1f45;
  text-decoration: none;
}

.evaluation-profile-configuration-link:hover {
  color: #5b1f45;
  text-decoration: underline;
}

.interview-shell {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 24px;
  min-height: calc(100vh - 160px);
}

.interview-panel,
.interview-consent__panel,
.interview-empty {
  border: 1px solid #d8dee9;
  border-radius: 8px;
  padding: 24px;
  background: #fff;
}

.interview-kicker {
  color: #52616f;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.interview-status {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #c9d6e2;
  border-radius: 999px;
  color: #23313f;
  background: #f5f8fb;
}

.interview-actions {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.interview-stage {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.interview-avatar {
  position: relative;
  display: grid;
  min-height: 360px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d8dee9;
  border-radius: 8px;
  background: radial-gradient(circle at center, #f9fbfd 0, #eef4f8 56%, #dde8ef 100%);
}

.interview-avatar::before {
  content: "";
  width: 122px;
  height: 122px;
  border-radius: 50%;
  background: #1d7a8c;
  box-shadow: 0 18px 50px rgba(29, 122, 140, 0.28);
}

.interview-avatar span {
  position: absolute;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(29, 122, 140, 0.24);
  border-radius: 50%;
  opacity: 0.4;
}

.interview-avatar span:nth-child(2) {
  width: 230px;
  height: 230px;
}

.interview-avatar span:nth-child(3) {
  width: 290px;
  height: 290px;
}

.interview-avatar.is-speaking span {
  animation: interviewPulse 1.4s ease-out infinite;
}

.interview-avatar.is-speaking span:nth-child(2) {
  animation-delay: 0.18s;
}

.interview-avatar.is-speaking span:nth-child(3) {
  animation-delay: 0.36s;
}

@keyframes interviewPulse {
  0% { transform: scale(0.86); opacity: 0.5; }
  100% { transform: scale(1.08); opacity: 0.08; }
}

.interview-transcript {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 520px;
  border: 1px solid #d8dee9;
  border-radius: 8px;
  background: #fff;
}

.interview-transcript__log {
  overflow: auto;
  padding: 18px;
}

.interview-line {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 8px;
  background: #f5f8fb;
}

.interview-line strong {
  display: block;
  margin-bottom: 4px;
  color: #52616f;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.interview-line p {
  margin: 0;
}

.interview-line--assistant {
  background: #eef8f4;
}

.interview-line--user {
  background: #f6f1e7;
}

.interview-text-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid #d8dee9;
}

.interview-text-form input {
  min-width: 0;
  border: 1px solid #c9d6e2;
  border-radius: 6px;
  padding: 10px 12px;
}

.interview-consent {
  max-width: 760px;
  margin: 0 auto;
}

.interview-consent__version {
  color: #52616f;
}

.interview-consent__body {
  margin: 20px 0;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .interview-shell,
  .interview-stage {
    grid-template-columns: 1fr;
  }

  .interview-avatar {
    min-height: 260px;
  }

  .interview-text-form {
    grid-template-columns: 1fr;
  }
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

:root {
  --talentiaz-ink: #2f353b;
  --talentiaz-muted: #69707a;
  --talentiaz-red: #d83b43;
  --talentiaz-teal: #008b94;
  --talentiaz-panel: rgba(255, 255, 255, .96);
  --talentiaz-line: rgba(61, 64, 70, .14);
  --talentiaz-shadow: 0 18px 40px rgba(61, 64, 70, .12);
}

.interview-shell {
  display: block;
  width: min(1180px, calc(100vw - 2rem));
  min-height: 68vh;
  margin: 0 auto;
}

.interview-agent-hero {
  width: 100%;
  margin: 0 auto 1rem;
  text-align: center;
}

.interview-agent-layout {
  display: grid;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  align-items: start;
  gap: 2rem;
  width: 100%;
}

.interview-agent-main {
  min-width: 0;
}

.agent-subtitle {
  color: var(--talentiaz-muted);
  font-size: 1.35rem;
  margin-bottom: .15rem;
}

.agent-hero__title {
  color: var(--talentiaz-red);
  font-weight: 800;
}

.agent-status {
  margin-bottom: 1rem;
  color: var(--talentiaz-muted);
  text-align: center;
}

.agent-experience-layout {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}

.agent-history-panel {
  min-height: 340px;
  height: 420px;
  padding: 1rem;
  text-align: left;
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--talentiaz-line);
  border-radius: 1.25rem;
  box-shadow: var(--talentiaz-shadow);
}

.agent-history-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .75rem;
}

.agent-history-panel__header h2 {
  margin: 0;
  color: var(--talentiaz-ink);
  font-size: 1.22rem;
  font-weight: 800;
}

.agent-history-panel__toggle {
  display: none;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: #d9d9e4;
  color: var(--talentiaz-ink);
  padding: 0;
}

.agent-history-panel__toggle-icon {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform .15s ease;
}

.agent-history-panel.is-expanded .agent-history-panel__toggle-icon {
  transform: rotate(225deg) translateY(-1px);
}

.agent-history-panel__list {
  max-height: 340px;
  overflow: auto;
  display: grid;
  gap: .65rem;
  padding-right: .2rem;
}

.agent-history-panel__empty {
  margin: 0;
  color: var(--talentiaz-muted);
  line-height: 1.45;
}

.agent-history-item {
  width: 100%;
  border: 1px solid rgba(61, 64, 70, .12);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .94);
  padding: .85rem .95rem;
  text-align: left;
  color: var(--talentiaz-ink);
  box-shadow: 0 8px 18px rgba(61, 64, 70, .06);
}

.agent-history-item__date {
  display: block;
  font-weight: 700;
}

.agent-voice-stage {
  display: flex;
  justify-content: center;
  margin-top: .1rem;
}

.agent-voice-orb {
  position: relative;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 32%, var(--talentiaz-teal) 0 11%, transparent 12%),
    radial-gradient(circle at 68% 36%, rgba(216, 59, 67, .95) 0 13%, transparent 14%),
    radial-gradient(circle at 47% 52%, rgba(61, 64, 70, .88) 0 17%, transparent 18%),
    radial-gradient(circle at 62% 64%, var(--talentiaz-teal) 0 10%, transparent 11%),
    radial-gradient(circle at 40% 72%, rgba(216, 59, 67, .86) 0 12%, transparent 13%),
    radial-gradient(circle at center, rgba(255, 255, 255, .98) 0 24%, rgba(255, 255, 255, 0) 25%);
  box-shadow: inset 0 0 70px rgba(255, 255, 255, .9), 0 12px 34px rgba(61, 64, 70, .1);
  pointer-events: none;
}

.agent-voice-orb::after {
  content: "";
  position: absolute;
  inset: 14px;
  border-radius: 50%;
  border: 10px solid rgba(255, 255, 255, .45);
}

.voice-waves {
  position: absolute;
  inset: -10px;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.wave {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(217, 217, 228, .8);
  transform: scale(.88);
  opacity: 0;
}

.wave-1 { width: 92%; height: 92%; border-color: rgba(216, 59, 67, .55); }
.wave-2 { width: 102%; height: 102%; border-color: rgba(217, 217, 228, .95); }
.wave-3 { width: 112%; height: 112%; border-color: rgba(216, 59, 67, .32); }

.agent-voice-orb.speaking .wave {
  animation: wavePulse 1.5s ease-out infinite;
}

.agent-voice-orb.speaking .wave-2 { animation-delay: .2s; }
.agent-voice-orb.speaking .wave-3 { animation-delay: .4s; }

@keyframes wavePulse {
  0% { transform: scale(.92); opacity: .34; }
  55% { transform: scale(1.08); opacity: .62; }
  100% { transform: scale(1.18); opacity: 0; }
}

.agent-actions {
  display: flex;
  justify-content: center;
  margin: .55rem auto 0;
  flex-wrap: wrap;
  gap: .8rem;
  position: relative;
  z-index: 1;
  width: 100%;
}

.agent-chip,
.agent-mic {
  border: none;
  border-radius: 999px;
  padding: .95rem 1.45rem;
  font-size: 1.1rem;
  box-shadow: 0 10px 22px rgba(61, 64, 70, .10);
}

.agent-chip {
  background: #d9d9e4;
  color: var(--talentiaz-ink);
}

.agent-chip--secondary {
  background: rgba(216, 59, 67, .12);
  color: var(--talentiaz-red);
}

.agent-mic {
  min-width: 152px;
  height: 92px;
  padding: 0 1.15rem;
  border: 6px solid rgba(255, 255, 255, .92);
  background: var(--talentiaz-teal);
  color: white;
  line-height: 1.1;
  text-align: center;
}

.agent-conversation {
  position: fixed;
  top: 110px;
  right: 0;
  bottom: 0;
  width: min(460px, calc(100vw - 1.25rem));
  max-width: none;
  margin: 0;
  padding: 1rem 1.25rem;
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--talentiaz-line);
  border-radius: 1.25rem 0 0 0;
  z-index: 20;
  box-shadow: -18px 0 40px rgba(61, 64, 70, .16);
}

.agent-conversation__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .5rem;
}

.agent-conversation__close {
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: #d9d9e4;
  color: var(--talentiaz-ink);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.agent-conversation__log {
  min-height: 260px;
  height: calc(100vh - 250px);
  overflow: auto;
  padding-right: .25rem;
  white-space: normal;
}

.agent-line {
  margin-bottom: .9rem;
}

.agent-line__content p {
  margin: 0 0 .65rem;
}

.agent-chat-form {
  display: flex;
  gap: .8rem;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
}

.agent-chat-form input {
  min-width: 0;
  flex: 1;
  border: 1px solid rgba(61, 64, 70, .16);
  border-radius: .85rem;
  padding: .85rem 1rem;
}

.agent-chat-form .btn-primary {
  background: #0dcaf0;
  border-color: #0dcaf0;
}

.agent-chat-form__close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: var(--talentiaz-red);
  color: white;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 920px) {
  .interview-agent-layout {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .agent-history-panel {
    max-width: 640px;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 auto;
  }
}

@media (max-width: 720px) {
  .interview-shell {
    width: calc(100vw - 2rem);
  }

  .agent-history-panel__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .agent-history-panel__list {
    display: none;
    max-height: 220px;
    margin-top: .75rem;
  }

  .agent-history-panel.is-expanded .agent-history-panel__list {
    display: grid;
  }

  .agent-voice-orb {
    width: 220px;
    height: 220px;
  }

  .agent-actions {
    flex-wrap: nowrap;
    gap: .45rem;
    max-width: 390px;
  }

  .agent-chip,
  .agent-mic {
    padding: .75rem .65rem;
    font-size: .92rem;
  }

  .agent-chip {
    flex: 1 1 0;
    min-width: 0;
  }

  .agent-mic {
    flex: 1.2 1 0;
    min-width: 0;
    height: 58px;
    border-width: 4px;
  }

  .agent-conversation {
    top: 96px;
    width: calc(100vw - 1rem);
    border-radius: 1rem 0 0 0;
  }

  .agent-conversation__log {
    height: calc(100vh - 196px);
  }

  .agent-chat-form {
    flex-direction: column;
  }
}

/* TalentIAZ design system: adapted from talentiaz_app_v4.html. */
:root { --tz-bg:#fbf8fa; --tz-soft:#f5edf3; --tz-card:#fff; --tz-purple:#711e61; --tz-purple-deep:#4a1240; --tz-purple-tint:#f1e4ee; --tz-gold:#ebb757; --tz-ink:#2e1728; --tz-muted:#8a7488; --tz-line:rgba(113,30,97,.12); --tz-shadow:0 12px 32px rgba(113,30,97,.10); }
html { min-height:100%; }
body { margin:0; background:radial-gradient(circle at 15% 0%,rgba(235,183,87,.10),transparent 45%),radial-gradient(circle at 100% 10%,rgba(113,30,97,.07),transparent 40%),var(--tz-bg); color:var(--tz-ink); font-family:Inter,system-ui,sans-serif; }
.app-shell { display:flex; min-height:100vh; }
.app-sidebar { position:sticky; top:0; width:236px; height:100vh; flex:none; display:flex; flex-direction:column; padding:22px 16px; background:var(--tz-card); border-right:1px solid var(--tz-line); }
.app-brand { display:flex; align-items:center; gap:8px; padding:8px 10px 26px; color:var(--tz-purple-deep); font:600 22px 'Bricolage Grotesque',sans-serif; text-decoration:none; letter-spacing:-.04em; }.app-brand>span:last-child>span,.app-brand>span:not(.app-brand__mark):last-child { color:var(--tz-gold); }.app-brand__mark { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--tz-purple); color:#fff; font-size:17px; letter-spacing:0; }
.app-nav { display:flex; flex:1; flex-direction:column; gap:3px; }.app-nav__label { padding:14px 12px 6px; color:#b7a5b5; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }.app-nav__link { display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:10px; color:var(--tz-muted); font-size:13.5px; font-weight:500; text-decoration:none; transition:.15s ease; }.app-nav__link>span { width:17px; text-align:center; color:inherit; }.app-nav__link:hover { background:var(--tz-soft); color:var(--tz-purple-deep); }.app-nav__link.is-active { background:var(--tz-purple-tint); color:var(--tz-purple-deep); font-weight:600; }
.app-sidebar__footer { margin-top:10px; padding-top:14px; border-top:1px solid var(--tz-line); }.app-user { display:flex; align-items:center; gap:10px; padding:8px 10px; color:var(--tz-ink); text-decoration:none; font-size:12px; }.app-user small { display:block; color:#b7a5b5; }.app-user__avatar { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--tz-purple),var(--tz-purple-deep)); color:#fff; font-family:'Bricolage Grotesque',sans-serif; }.app-logout,.app-login { display:block; width:100%; padding:9px 10px; border:0; border-radius:10px; background:none; color:var(--tz-muted); font:500 12.5px Inter,sans-serif; text-align:left; text-decoration:none; }.app-logout:hover,.app-login:hover { background:var(--tz-soft); color:var(--tz-purple); }
.app-main { min-width:0; flex:1; display:flex; flex-direction:column; }.app-content { flex:1; width:100%; max-width:1500px; margin:0 auto; padding:30px 36px 50px; }.app-footer { padding:18px 36px; border-top:1px solid var(--tz-line); color:#b7a5b5; font-size:11px; }.app-mobile-header,.sidebar-backdrop { display:none; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.display-4 { color:var(--tz-purple-deep); font-family:'Bricolage Grotesque',sans-serif; font-weight:600; }h1,.h1,.display-4 { margin-bottom:.3rem; font-size:clamp(2rem,3.2vw,2.55rem); } h2.h4 { margin-top:2rem; font-size:1.2rem; }.btn { border-radius:999px; padding:.62rem 1.15rem; font-weight:600; }.btn-primary { background:var(--tz-purple); border-color:var(--tz-purple); }.btn-primary:hover,.btn-primary:focus { background:var(--tz-purple-deep); border-color:var(--tz-purple-deep); }.btn-outline-primary { border-color:var(--tz-purple); color:var(--tz-purple); }.btn-outline-primary:hover { background:var(--tz-purple); border-color:var(--tz-purple); }
.table { overflow:hidden; border:1px solid var(--tz-line); border-radius:14px; background:var(--tz-card); box-shadow:0 2px 10px rgba(113,30,97,.05); }.table>:not(caption)>*>* { padding:.9rem 1rem; border-color:var(--tz-line); }.table thead th { color:var(--tz-muted); background:var(--tz-soft); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }.table-striped>tbody>tr:nth-of-type(odd)>* { --bs-table-accent-bg:rgba(245,237,243,.42); }.list-group { border-radius:14px; overflow:hidden; box-shadow:0 2px 10px rgba(113,30,97,.05); }.list-group-item { padding:1rem 1.2rem; border-color:var(--tz-line); color:var(--tz-purple-deep); }.list-group-item:hover { background:var(--tz-soft); color:var(--tz-purple); }.form-control,.form-select { border-color:var(--tz-line); border-radius:10px; }.form-control:focus,.form-select:focus { border-color:var(--tz-purple); box-shadow:0 0 0 .2rem rgba(113,30,97,.12); }.alert { border-radius:12px; border-color:var(--tz-line); }.card,.interview-consent__panel,.interview-panel,.interview-empty { border-color:var(--tz-line); border-radius:16px; box-shadow:0 2px 10px rgba(113,30,97,.05); }
.welcome-hero { padding:clamp(42px,8vw,100px) clamp(20px,7vw,100px); border-radius:22px; background:radial-gradient(circle at 85% 10%,rgba(235,183,87,.28),transparent 31%),linear-gradient(135deg,#fff 10%,#f5edf3); box-shadow:var(--tz-shadow); }.eyebrow { margin-bottom:14px; color:var(--tz-purple); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }.welcome-hero h1 { max-width:720px; font-size:clamp(2.25rem,5vw,4.1rem); line-height:1.04; }.welcome-hero__lead { max-width:620px; color:var(--tz-muted); font-size:1.05rem; line-height:1.7; }.welcome-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:22px; }.feature-card { display:block; min-height:238px; padding:24px; border:1px solid var(--tz-line); border-radius:18px; background:var(--tz-card); box-shadow:0 2px 10px rgba(113,30,97,.05); color:var(--tz-muted); text-decoration:none; transition:transform .18s,box-shadow .18s; }.feature-card:hover { transform:translateY(-3px); box-shadow:var(--tz-shadow); color:var(--tz-muted); }.feature-card__icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:22px; border-radius:12px; background:var(--tz-purple-tint); color:var(--tz-purple); font-size:22px; }.feature-card h2 { font-size:1.2rem; }.feature-card p { min-height:52px; line-height:1.55; }.feature-card>span:last-child { color:var(--tz-purple); font-size:.85rem; font-weight:600; }
@media (max-width:900px) { .app-sidebar { position:fixed; z-index:65; width:250px; transform:translateX(-100%); box-shadow:16px 0 40px rgba(113,30,97,.18); transition:transform .25s; }.app-sidebar.is-open { transform:translateX(0); }.sidebar-backdrop.is-open { display:block; position:fixed; z-index:64; inset:0; border:0; background:rgba(46,23,40,.3); }.app-mobile-header { display:flex; align-items:center; justify-content:space-between; padding:15px 18px; background:var(--tz-card); border-bottom:1px solid var(--tz-line); }.app-mobile-header .app-brand { padding:0; }.app-menu-button { width:38px; height:38px; border:0; border-radius:10px; background:var(--tz-soft); color:var(--tz-purple-deep); font-size:18px; }.app-content { padding:24px 18px 40px; }.app-footer { padding:16px 18px; }.feature-grid { grid-template-columns:1fr; } }

/* Refined fidelity pass */
body::before { content:""; position:fixed; z-index:80; inset:0; pointer-events:none; opacity:.028; mix-blend-mode:multiply; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.app-brand { display:block; padding:8px 10px 26px; }
.app-brand img { display:block; width:auto; height:40px; object-fit:contain; }
.app-nav__link svg,.app-logout svg { width:17px; height:17px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.app-nav__link { min-height:40px; }
.app-logout { display:flex; align-items:center; gap:8px; cursor:pointer; transition:background .15s,color .15s; }
.app-menu-button { display:grid; place-items:center; cursor:pointer; }
.app-menu-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.view-header { margin-bottom:26px; }
.view-title { margin:0 0 4px; color:var(--tz-purple-deep); font:600 clamp(2rem,3vw,2.2rem)/1.15 'Bricolage Grotesque',sans-serif; }
.view-sub { margin:0; color:var(--tz-muted); font-size:13.5px; }
.panel,.action-panel { padding:24px 26px; margin-bottom:22px; border:0; border-radius:20px; background:var(--tz-card); box-shadow:0 2px 10px rgba(113,30,97,.06); }
.action-panel { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.panel-title-row { display:flex; align-items:center; gap:14px; }
.panel-icon { display:grid; place-items:center; width:46px; height:46px; flex:none; border-radius:50%; background:var(--tz-purple); color:#fff; }
.panel-icon svg,.feature-card__icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.panel-title { margin:0; color:var(--tz-purple-deep); font:600 16px 'Bricolage Grotesque',sans-serif; }
.panel-sub { margin:2px 0 0; color:var(--tz-muted); font-size:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; border-radius:999px; font-family:Inter,sans-serif; font-size:13px; font-weight:600; transition:transform .15s,box-shadow .2s,background .15s,color .15s,border-color .15s; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:linear-gradient(135deg,var(--tz-purple),var(--tz-purple-deep)); border-color:transparent; box-shadow:0 8px 20px rgba(113,30,97,.18); }
.btn-primary:hover,.btn-primary:focus,.btn-primary:active { background:linear-gradient(135deg,#812570,var(--tz-purple-deep)); border-color:transparent; box-shadow:0 10px 24px rgba(113,30,97,.24); }
.btn-outline-primary { background:transparent; border-color:rgba(113,30,97,.30); color:var(--tz-purple); }
.btn-outline-primary:hover,.btn-outline-primary:focus { background:var(--tz-purple-tint); border-color:rgba(113,30,97,.30); color:var(--tz-purple-deep); }
.btn-outline-secondary { background:#fff; border-color:var(--tz-line); color:var(--tz-muted); }
.btn-outline-secondary:hover,.btn-outline-secondary:focus { background:var(--tz-soft); border-color:var(--tz-line); color:var(--tz-purple-deep); }
.back-link,.btn-link.back-link { color:var(--tz-gold); font-weight:600; text-decoration:none; }
.back-link:hover,.back-link:focus,.btn-link.back-link:hover,.btn-link.back-link:focus { color:#c98e2b; text-decoration:underline; text-underline-offset:3px; }
.btn-danger,.btn-outline-danger:hover { background:#d14343; border-color:#d14343; }
.btn-sm { padding:.4rem .78rem; font-size:11.5px; }
.btn-lg { padding:.82rem 1.45rem; font-size:14px; }
.btn:disabled,.btn.disabled { transform:none; box-shadow:none; opacity:.5; }
.table { border-collapse:separate; border-spacing:0; box-shadow:0 2px 10px rgba(113,30,97,.06); }
.table thead th { border-top:0; color:#a28e9f; font-size:10.5px; font-weight:500; }
.table tbody tr { transition:background .12s; }
.table tbody tr:hover>* { background:var(--tz-soft); }
.evaluation-score-table { width:100%; table-layout:fixed; }
.evaluation-score-table th,.evaluation-score-table td { min-width:0; overflow-wrap:anywhere; }
.evaluation-score-table--interview col:nth-child(1) { width:19%; }
.evaluation-score-table--interview col:nth-child(2) { width:13%; }
.evaluation-score-table--interview col:nth-child(3) { width:10%; }
.evaluation-score-table--interview col:nth-child(4) { width:29%; }
.evaluation-score-table--interview col:nth-child(5) { width:29%; }
.evaluation-score-table--global col:nth-child(1) { width:18%; }
.evaluation-score-table--global col:nth-child(2),.evaluation-score-table--global col:nth-child(3),.evaluation-score-table--global col:nth-child(4),.evaluation-score-table--global col:nth-child(5),.evaluation-score-table--global col:nth-child(6) { width:8%; }
.evaluation-score-table--global col:nth-child(7) { width:12%; }
.evaluation-score-table--global col:nth-child(8) { width:30%; }
.evaluation-evidence-details { min-width:0; }
.evaluation-evidence { box-sizing:border-box; max-width:100%; max-height:20rem; margin:.65rem 0 0; padding:.75rem; overflow:auto; border:1px solid var(--tz-line); border-radius:8px; background:var(--tz-soft); white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; }
.evaluation-global-justification { overflow-wrap:anywhere; }
.rag-document-download { color:var(--tz-purple-deep); font-weight:600; text-decoration:none; }
.rag-document-download:hover,.rag-document-download:focus-visible { color:var(--tz-purple-deep); text-decoration:underline; text-underline-offset:3px; }
.badge { border-radius:999px; padding:.38em .72em; font-weight:600; }
.alert-info { background:#f3eaf1; border-color:rgba(113,30,97,.16); color:var(--tz-purple-deep); }
.feature-card { min-height:220px; border:0; }
.feature-card__icon { width:46px; height:46px; border-radius:50%; background:var(--tz-purple); color:#fff; }
.feature-card:hover .feature-card__icon { background:var(--tz-purple-deep); }
.kpi-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.kpi-card { display:flex; min-width:0; flex-direction:column; padding:20px 22px; border-radius:18px; background:var(--tz-card); box-shadow:0 2px 10px rgba(113,30,97,.06); }
.kpi-icon { display:grid; place-items:center; width:34px; height:34px; margin-bottom:8px; border-radius:10px; }
.kpi-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.kpi-icon.purple { background:var(--tz-purple-tint); color:var(--tz-purple); }
.kpi-icon.gold { background:#fbe9c6; color:#9c7526; }
.kpi-icon.red { background:#fbe4e4; color:#d14343; }
.kpi-value { color:var(--tz-purple-deep); font:600 clamp(2.5rem,5vw,3.45rem)/1 'Bricolage Grotesque',sans-serif; }
.kpi-value--gold { color:#9c7526; }
.kpi-value--red { color:#d14343; }
.kpi-label { margin-top:7px; color:var(--tz-muted); font-size:12.5px; }
.panel-header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:20px; flex-wrap:wrap; }
.person-cell { display:flex; align-items:center; gap:10px; }
.person-avatar { display:grid; place-items:center; width:32px; height:32px; flex:none; border-radius:50%; background:var(--tz-purple-tint); color:var(--tz-purple); font:600 12px 'Bricolage Grotesque',sans-serif; }
.status-pill { display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; font-size:11.5px; font-weight:600; white-space:nowrap; }
.status-pill.is-success { background:#e6f4ed; color:#2e9e6b; }
.status-pill.is-pending { background:var(--tz-soft); color:var(--tz-muted); }
.status-pill.is-alert { background:#fbe4e4; color:#d14343; }
.score-value { color:var(--tz-purple-deep); font:600 13px 'Bricolage Grotesque',sans-serif; }
.empty-state { display:flex; flex-direction:column; align-items:center; padding:46px 24px; text-align:center; color:var(--tz-muted); }
.empty-state .panel-icon { margin-bottom:16px; }
.empty-state h3 { margin:0 0 6px; font-size:17px; }
.empty-state p { margin:0; font-size:13px; }

.auth-shell { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:40px; text-align:center; background:radial-gradient(circle at 20% 10%,rgba(235,193,115,.32),transparent 45%),radial-gradient(circle at 85% 90%,rgba(113,30,97,.33),transparent 45%),var(--tz-bg); }
.auth-logo { display:block; margin-bottom:32px; animation:fadeSlideUp .55s ease both; }
.auth-logo img { display:block; width:auto; height:92px; max-width:min(78vw,600px); object-fit:contain; }
.auth-content { width:100%; max-width:760px; animation:fadeSlideUp .6s .08s ease both; }
.auth-intro h1 { max-width:650px; margin:0 auto 14px; font-size:clamp(28px,4vw,40px); line-height:1.2; }
.auth-intro>p:not(.eyebrow) { max-width:500px; margin:0 auto 30px; color:var(--tz-muted); line-height:1.65; }
.auth-intro small { display:block; margin-top:18px; color:#a995a6; font-size:11px; }
.auth-note { margin:34px 0 0; color:#ad9bab; font-size:11px; }
.auth-content>.row { justify-content:center; }
.auth-content .col-md-4,.auth-content .col-md-6 { width:min(100%,460px); }
.auth-content form { text-align:left; }
.auth-content h1,.auth-content h2,.auth-content h3 { text-align:center; }
body:has(form#account) .auth-content { max-width:460px; }
body:has(form#account) .auth-content>.row>div:last-child { display:none; }
body:has(form#account) .auth-content>.row>div:first-child { width:100%; }
@keyframes fadeSlideUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

.agent-hero__title { color:var(--tz-purple-deep); }
.agent-subtitle,.agent-status { color:var(--tz-muted); }
.agent-history-panel { border:0; background:#fff; box-shadow:0 2px 10px rgba(113,30,97,.06); }
.agent-history-item { border-color:var(--tz-line); box-shadow:none; }
.agent-voice-orb { background:radial-gradient(circle at 32% 30%,rgba(235,183,87,.95) 0 5%,transparent 6%),radial-gradient(circle at 65% 35%,rgba(113,30,97,.9) 0 8%,transparent 9%),radial-gradient(circle at 48% 53%,rgba(74,18,64,.82) 0 13%,transparent 14%),radial-gradient(circle at 65% 67%,rgba(235,183,87,.78) 0 7%,transparent 8%),radial-gradient(circle at 35% 70%,rgba(113,30,97,.7) 0 9%,transparent 10%),radial-gradient(circle,rgba(241,228,238,.95),rgba(255,255,255,.5) 58%,transparent 72%); box-shadow:0 20px 54px rgba(113,30,97,.15); }
.agent-mic { width:78px; min-width:78px; height:78px; padding:0; border:0; background:linear-gradient(145deg,var(--tz-purple),var(--tz-purple-deep)); box-shadow:0 14px 30px rgba(74,18,64,.28); }
.agent-chip { padding:.72rem 1rem; border:0; background:#fff; color:var(--tz-purple); font-size:12px; box-shadow:0 2px 10px rgba(113,30,97,.08); }
.agent-chip:hover { background:var(--tz-purple-tint); }
.agent-chip--secondary { background:#fbe4e4; color:#d14343; }

@media (max-width:900px) { .app-mobile-header .app-brand img { height:22px; }.auth-shell { padding:30px 20px; }.auth-logo img { height:auto; width:min(82vw,420px); }.action-panel { align-items:flex-start; }.agent-mic { width:64px; min-width:64px; height:64px; }.kpi-row { grid-template-columns:1fr; } }

/* Interview stage: particle orb and controls matching the approved reference. */
.interview-shell { width:min(1440px, calc(100vw - 2rem)); max-width:100%; }
.interview-agent-layout { grid-template-columns:minmax(250px,300px) minmax(0,1fr); gap:clamp(1.25rem,2.5vw,2.5rem); }
.interview-shell.is-conversation-open .interview-agent-layout { grid-template-columns:minmax(250px,300px) minmax(430px,1fr) minmax(340px,400px); gap:clamp(1rem,2vw,2rem); }
.interview-agent-main { display:flex; min-height:570px; flex-direction:column; align-items:center; }
.interview-agent-main .agent-subtitle { margin:0 0 .12rem; font-size:1.2rem; }
.interview-agent-main .agent-hero__title { margin:0; }
.interview-agent-main .agent-status { margin:.3rem 0 1rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#a995a6; }
.agent-experience-layout { margin:0; }
.agent-voice-stage { margin:0; }
.interview-orb-wrap { position:relative; width:clamp(260px,23vw,330px); height:clamp(260px,23vw,330px); flex:none; }
.interview-orb-ambient { position:absolute; inset:-42px; border-radius:50%; background:radial-gradient(circle,rgba(113,30,97,.16),rgba(235,183,87,.10) 55%,transparent 75%); filter:blur(28px); animation:interviewOrbFloat 7s ease-in-out infinite; }
.interview-orb-wrap canvas { position:relative; z-index:1; display:block; width:100%; height:100%; }
.interview-orb-wrap.speaking .interview-orb-ambient { animation-duration:1.4s; }
@keyframes interviewOrbFloat { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }
.interview-actions { width:auto; margin:16px auto 0; align-items:center; gap:18px; flex-wrap:wrap; }
.interview-control { display:grid; place-items:center; box-sizing:border-box; border:0; border-radius:50%; cursor:pointer; transition:background .2s,transform .15s,box-shadow .2s; }
.interview-control:hover { transform:translateY(-2px); }
.interview-control--mode { width:46px; height:46px; background:#fff; box-shadow:0 2px 10px rgba(113,30,97,.08); }
.interview-control--mode { color:var(--tz-purple); font:600 19px Georgia,serif; }
.interview-control--mode:hover { background:var(--tz-purple-tint); }
.interview-control--mute { width:78px; height:78px; color:var(--tz-purple); background:#fff; box-shadow:0 14px 30px rgba(74,18,64,.14); }
.interview-control--mute:hover { background:var(--tz-purple-tint); }
.interview-control--mute svg { width:21px; height:21px; }
.interview-control--mic { width:78px; height:78px; color:#fff; background:linear-gradient(145deg,var(--tz-purple),var(--tz-purple-deep)); box-shadow:0 14px 30px rgba(74,18,64,.32); }
.interview-control--mic svg { width:28px; height:28px; }
.interview-control--mic.is-listening { background:linear-gradient(145deg,var(--tz-gold),#d99f3c); box-shadow:0 16px 36px rgba(235,183,87,.45); animation:interviewMicPulse 1.4s ease-in-out infinite; }
@keyframes interviewMicPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }
.interview-action-pill { border:0; border-radius:999px; padding:9px 14px; background:#fff; color:var(--tz-purple); box-shadow:0 2px 10px rgba(113,30,97,.08); font-size:12px; font-weight:600; cursor:pointer; transition:background .2s,transform .15s; }
.interview-action-pill:hover { background:var(--tz-purple-tint); transform:translateY(-1px); }
.interview-action-pill--quiet { color:var(--tz-muted); }
.interview-conversation { position:static; align-self:stretch; width:auto; min-height:480px; max-height:calc(100vh - 100px); margin:0; padding:18px 20px; border:1px solid var(--tz-line); border-radius:18px; background:rgba(255,255,255,.96); box-shadow:0 12px 32px rgba(113,30,97,.10); text-align:left; }
.agent-conversation__header h2 { margin:0; font-size:1.75rem; }
.agent-conversation__log { height:calc(100vh - 210px); min-height:280px; max-height:none; }

@media (max-width:1500px) {
  .interview-shell.is-conversation-open .interview-agent-layout { grid-template-columns:minmax(220px,270px) minmax(0,1fr); }
  .interview-conversation { grid-column:1 / -1; min-height:0; max-height:420px; }
  .agent-conversation__log { height:300px; }
}

@media (max-width:920px) {
  .interview-shell.is-conversation-open .interview-agent-layout { grid-template-columns:1fr; }
  .interview-agent-main { min-height:0; }
  .interview-conversation { grid-column:auto; }
}

@media (max-width:560px) {
  .interview-orb-wrap { width:240px; height:240px; }
  .interview-actions { gap:12px; }
  .interview-action-pill { padding:8px 11px; }
}
