:root {
  --odict-ink: #101828;
  --odict-muted: #667085;
  --odict-soft: #f6f8fb;
  --odict-line: #e4e7ec;
  --odict-navy: #13235b;
  --odict-blue: #245bd8;
  --odict-teal: #0f8f80;
  --odict-amber: #b7791f;
  --odict-green: #157f3b;
  --odict-red: #b42318;
  --odict-radius: 8px;
  --odict-shadow: 0 12px 30px rgba(16, 24, 40, 0.07);
}

html {
  background: #fff;
}

body {
  color: var(--odict-ink);
  background: #fff;
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

.page-shell,
.site-public .container,
.ops-page .wrap,
.account-page .dashboard-container {
  max-width: 1180px;
}

.site-public header,
.ops-page header,
.account-page .dashboard-header,
.legal-page .topbar,
.interview-page .topbar {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  box-shadow: none;
  background: #fff;
}

.site-public .logo,
.auth-page .logo-mark,
.ops-page .brand img,
.account-page .brand-section img {
  height: 34px;
  width: auto;
}

.brand-wordmark,
.chat-wordmark,
.site-wordmark {
  color: var(--odict-ink);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.chat-wordmark {
  color: inherit;
  font-size: 24px;
}

.brand-wordmark span,
.chat-wordmark span,
.site-wordmark span {
  color: var(--odict-blue);
}

.site-public nav a,
.site-public .footer-links a,
.account-page .footer-link {
  color: var(--odict-muted);
  font-weight: 600;
}

.site-public nav a:hover,
.site-public .footer-links a:hover,
.account-page .footer-link:hover {
  color: var(--odict-ink);
}

.site-public .nav-cta,
.site-public .btn-primary,
.auth-page .primary,
.ops-page .btn,
.account-page .action-button,
.checkout-page button,
.interview-page .btn-primary {
  background: var(--odict-ink);
  color: #fff;
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.site-public .nav-cta:hover,
.site-public .btn-primary:hover,
.auth-page .primary:hover,
.ops-page .btn:hover,
.account-page .action-button:hover,
.checkout-page button:hover,
.interview-page .btn-primary:hover {
  background: var(--odict-navy);
  transform: none;
  box-shadow: none;
}

.site-public .btn-secondary,
.auth-page .outline,
.ops-page .btn.outline,
.account-page .action-button.secondary,
.checkout-page .back-link,
.interview-page .btn-outline {
  background: #fff;
  color: var(--odict-ink);
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
}

.site-public .hero {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 56px;
  padding: 48px 0 34px;
  margin: 0;
}

.site-public .hero h1 {
  color: var(--odict-ink);
  background: none;
  -webkit-text-fill-color: currentColor;
  font-size: clamp(42px, 5.6vw, 68px);
  line-height: 0.96;
  letter-spacing: 0;
  max-width: 780px;
}

.site-public .hero p {
  color: var(--odict-muted);
  font-size: 18px;
  line-height: 1.65;
  max-width: 610px;
}

.site-public .hero-eyebrow,
.site-public .section-kicker,
.site-public .metric-label {
  color: var(--odict-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.site-public .hero-panel,
.site-public .feature-card,
.site-public .operating-panel,
.site-public .metric-card,
.ops-page .card,
.ops-page .stat,
.account-page .dashboard-card,
.account-page .feature-card,
.checkout-page .container,
.checkout-page .payment-option,
.checkout-page .card-details-container,
.auth-page .card,
.interview-page .panel,
.legal-page .panel {
  background: #fff;
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.site-public .hero-panel {
  padding: 22px;
  min-height: 360px;
}

.site-public .hero-panel-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.site-public .status-pill,
.site-public .capability-pill,
.ops-page .badge,
.account-page .compatibility-item,
.account-page .feature-icon {
  border-radius: 999px;
  background: var(--odict-soft);
  color: var(--odict-ink);
  border: 1px solid var(--odict-line);
}

.site-public .signal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.site-public .signal {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  padding: 12px;
  min-height: 0;
}

.site-public .signal strong {
  display: block;
  font-size: 22px;
  margin-bottom: 8px;
}

.site-public .signal span,
.site-public .feature-card p,
.site-public .operating-panel p,
.site-public .metric-card p {
  color: var(--odict-muted);
}

.site-public .trust-strip {
  text-align: left;
  border: 0;
  border-top: 1px solid var(--odict-line);
  border-bottom: 1px solid var(--odict-line);
  padding: 28px 0;
  margin: 0 0 72px;
}

.site-public .trust-strip p {
  text-align: left;
  margin: 0 0 18px;
  letter-spacing: 0;
}

.site-public .uni-logos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  justify-content: flex-start;
  gap: 12px;
}

.site-public .uni-logo-item,
.site-public .uni-logo-item.on-dark {
  display: flex;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  min-height: 60px;
  min-width: 190px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 18px;
}

.site-public .uni-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: var(--odict-ink);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}

.site-public .uni-logos img,
.site-public .uni-logo-item.on-dark img {
  filter: grayscale(1) opacity(0.78);
}

.site-public .institution-name {
  display: block;
  color: var(--odict-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  max-width: 180px;
}

.site-public .institution-type {
  display: block;
  color: var(--odict-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 3px;
}

.site-public .section-head {
  text-align: left;
}

.site-public .section-head h2 {
  color: var(--odict-ink);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.06;
  max-width: 760px;
}

.site-public .section-head p {
  margin: 12px 0 0;
  max-width: 680px;
}

.site-public .features-grid {
  gap: 16px;
}

.site-public .feature-card {
  padding: 24px;
}

.site-public .feature-card:hover {
  transform: none;
}

.site-public .operating-grid,
.site-public .metric-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.site-public .operating-panel,
.site-public .metric-card {
  padding: 24px;
}

.site-public .cta-section {
  background: var(--odict-ink);
  color: #fff;
  border-radius: var(--odict-radius);
}

.site-public .cta-section p {
  color: rgba(255, 255, 255, 0.72);
}

.site-public footer {
  background: #fff;
  color: var(--odict-ink);
  border-top: 1px solid var(--odict-line);
}

.site-public .footer-about p,
.site-public .footer-bottom {
  color: var(--odict-muted);
}

.site-public .footer-links h4 {
  color: var(--odict-ink);
}

.auth-page {
  background: #fff;
}

.auth-page .wrap {
  max-width: 460px;
}

.auth-page .card {
  padding: 30px;
}

.auth-page h2 {
  color: var(--odict-ink);
  text-align: left;
}

.auth-page .toggle {
  background: var(--odict-soft);
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  padding: 4px;
}

.auth-page .toggle button {
  color: var(--odict-muted);
  border-radius: 6px;
}

.auth-page input {
  border-color: var(--odict-line);
  border-radius: var(--odict-radius);
}

.auth-page input:focus,
.checkout-page input:focus,
.checkout-page select:focus,
.chat-input:focus {
  outline: none;
  border-color: var(--odict-blue);
  box-shadow: 0 0 0 3px rgba(36, 91, 216, 0.12);
}

.extension-auth {
  background: #fff;
}

.extension-auth .topbar {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  background: #fff;
  padding: 12px 14px;
}

.extension-auth .dashboard-link,
.extension-auth .btn,
.extension-auth .primary {
  background: var(--odict-ink);
  color: #fff;
  border-radius: var(--odict-radius);
}

.extension-auth .box,
.extension-auth .card {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.ops-page {
  background: #fff;
  color: var(--odict-ink);
}

.ops-page header {
  margin-bottom: 18px;
}

.ops-page .brand h1,
.account-page .brand-text,
.account-page .card-title,
.account-page .solution-title,
.ops-page .card h2 {
  color: var(--odict-ink);
}

.ops-page .stat {
  border-left: 0;
  border-top: 3px solid var(--odict-ink);
}

.ops-page .stat .label,
.ops-page th,
.ops-page .log-time,
.ops-page .empty {
  color: var(--odict-muted);
  letter-spacing: 0;
}

.ops-page .pipe-step {
  background: var(--odict-soft);
  border: 1px solid var(--odict-line);
}

.ops-page .chart-fill {
  background: var(--odict-ink);
}

.ops-page .btn.success,
.account-page .buy-button {
  background: var(--odict-teal);
}

.ops-page .btn.danger,
.account-page .logout-button {
  background: var(--odict-red);
}

.command-page {
  background: #fff;
  display: block;
  min-height: 100vh;
  padding: 18px;
}

.command-page .chat-app {
  max-width: 1180px;
  height: calc(100vh - 36px);
  margin: 0 auto;
  border-radius: var(--odict-radius);
  border: 1px solid var(--odict-line);
  box-shadow: none;
}

.command-page .chat-header {
  background: #fff;
  color: var(--odict-ink);
  border-bottom: 1px solid var(--odict-line);
}

.command-page .chat-header img {
  background: var(--odict-ink);
  border-radius: 6px;
  padding: 5px;
}

.command-page .menu-toggle span {
  background: var(--odict-ink);
}

.command-page .chat-header .sub,
.command-page .status,
.command-page .timestamp {
  color: var(--odict-muted);
}

.command-page .chat-header .status {
  background: var(--odict-soft);
  border: 1px solid var(--odict-line);
}

.command-page .chat-messages {
  background: #fff;
}

.command-page .message {
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.command-page .user-message,
.command-page .send-button {
  background: var(--odict-ink);
  color: #fff;
}

.command-page .bot-message,
.command-page .typing-indicator {
  background: var(--odict-soft);
  border-color: var(--odict-line);
}

.command-page .analysis-message {
  background: #fff8eb;
  border-color: #f3d29b;
}

.command-page .action-message,
.command-page .processing-animation {
  background: #eefaf8;
  border: 1px solid #b7e4dc;
}

.command-page .side-panel {
  background: #fff;
  color: var(--odict-ink);
  border-left: 1px solid var(--odict-line);
}

.command-page .panel-section + .panel-section {
  border-color: var(--odict-line);
}

.command-page .panel-stat strong,
.command-page .back-link {
  color: var(--odict-blue);
}

.account-page {
  background: #fff;
}

.account-page .dashboard-header {
  padding: 18px 20px;
}

.account-page .brand-text span {
  color: var(--odict-ink);
}

.account-page .support-notice,
.account-page .credit-explanation,
.account-page .contact-section,
.account-page .how-it-works,
.account-page .trial-offer {
  background: var(--odict-soft);
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  border-left: 1px solid var(--odict-line);
}

.account-page .feature-icon {
  width: 44px;
  height: 44px;
  font-size: 18px;
}

.account-page .has-credits {
  background: #eefaf1;
  color: var(--odict-green);
  border-color: #bde6c8;
}

.account-page .no-credits {
  background: #fff4f2;
  color: var(--odict-red);
  border-color: #fecdca;
}

.account-page .dashboard-footer {
  border-color: var(--odict-line);
}

.checkout-page {
  background: #fff;
  align-items: flex-start;
}

.checkout-page .container {
  max-width: 760px;
}

.checkout-page h2 {
  color: var(--odict-ink);
  text-align: left;
}

.checkout-page .alert-info {
  background: var(--odict-soft);
  border-color: var(--odict-line);
  color: var(--odict-muted);
}

.checkout-page .payment-option:hover {
  border-color: var(--odict-ink);
  box-shadow: none;
}

.checkout-page .selected {
  background: #eef4ff;
  border-color: var(--odict-blue);
}

.legal-page {
  background: #fff;
  color: var(--odict-ink);
}

.legal-page .card {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.legal-page h1,
.legal-page h2 {
  color: var(--odict-ink);
}

.legal-page h2 {
  border-left-color: var(--odict-ink);
}

.legal-page nav a {
  color: var(--odict-blue);
}

.legal-page .btn {
  background: var(--odict-ink);
  border-radius: var(--odict-radius);
}

.legal-page .muted,
.interview-page .muted {
  color: var(--odict-muted);
}

.interview-page {
  background: #fff;
  color: var(--odict-ink);
}

.interview-page .shell {
  border: 1px solid var(--odict-line);
  border-radius: var(--odict-radius);
  box-shadow: none;
}

.interview-page .top {
  background: #fff;
  color: var(--odict-ink);
  border-bottom: 1px solid var(--odict-line);
}

.interview-page .top img {
  background: var(--odict-ink);
  border-radius: 6px;
  padding: 5px;
}

.interview-page .question,
.interview-page .done h2 {
  color: var(--odict-ink);
}

.interview-page textarea {
  border-color: var(--odict-line);
  border-radius: var(--odict-radius);
}

.interview-page textarea:focus {
  outline: none;
  border-color: var(--odict-blue);
  box-shadow: 0 0 0 3px rgba(36, 91, 216, 0.12);
}

@media (max-width: 900px) {
  .site-public .hero,
  .site-public .operating-grid,
  .site-public .metric-grid {
    grid-template-columns: 1fr;
  }

  .site-public .hero-panel {
    display: none;
    min-height: auto;
  }

  .site-public .signal-grid {
    grid-template-columns: 1fr;
  }

  .site-public .uni-logos {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .site-public .hero {
    padding: 46px 0 34px;
  }

  .site-public .hero h1 {
    font-size: 42px;
  }

  .command-page {
    padding: 0;
  }

  .command-page .chat-app {
    height: 100vh;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }
}
