@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');

* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  min-height: 100%;
}
body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #f8fafc;
  color: #111827;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
.page-shell {
  min-height: 100vh;
  display: flex;
  gap: 1.5rem;
  background: #f8fafc;
}
.sidebar {
  width: 280px;
  background: #ffffff;
  border-right: 1px solid #e5e7eb;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.sidebar .brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1d4ed8;
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
}
.brand.light { color: #fff; }
.brand.light .brand-mark { background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.25); }
.nav-list {
  display: grid;
  gap: 0.5rem;
}
.nav-list a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: #f8fafc;
  color: #374151;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav-list a:hover,
.nav-list a.active {
  background: #eff6ff;
  color: #1d4ed8;
}
.section-title {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #6b7280;
}
.main-content {
  flex: 1;
  padding: 2rem;
}
.topbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.75rem;
}
.topbar h1 {
  margin: 0;
  font-size: 1.8rem;
}
.search-bar {
  width: 100%;
  max-width: 520px;
}
.search-bar input {
  width: 100%;
  padding: 0.95rem 1rem;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #ffffff;
}
.topbar-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #4338ca;
  font-size: 0.85rem;
}
.cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.insights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.card h2,
.card h1,
.card h3 {
  margin: 0 0 0.75rem;
}
.kpi-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
}
.kpi-title {
  color: #6b7280;
  font-size: 0.95rem;
}
.kpi-value {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 0.75rem;
}
.kpi-delta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.7rem;
  color: #16a34a;
  font-weight: 600;
}
.kpi-delta.negative { color: #dc2626; }
.kpi-note { margin-top: 0.7rem; color: #64748b; font-size: 0.84rem; }
.eyebrow { margin: 0 0 0.35rem; color: #2563eb; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; }
.light-eyebrow { color: #bfdbfe; }
.subtle { color: #64748b; line-height: 1.55; }
.compact { padding: 0.65rem 0.9rem; border-radius: 0.75rem; }
.button-ghost { border: 1px solid #cbd5e1; background: #fff; color: #334155; border-radius: 0.8rem; padding: 0.85rem 1rem; }
.button-secondary { border: 1px solid #bfdbfe; background: #eff6ff; color: #1d4ed8; border-radius: 0.8rem; padding: 0.85rem 1rem; font-weight: 600; }
.full-width { width: 100%; margin-top: 1.25rem; }
.sidebar-account { margin-top: auto; display: flex; align-items: center; gap: 0.7rem; padding: 1rem; border-radius: 1rem; background: #f8fafc; }
.sidebar-account small { display: block; margin-top: 0.15rem; color: #64748b; font-size: 0.78rem; }
.account-avatar { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: #dbeafe; color: #1d4ed8; font-weight: 700; }
.coming-soon { margin-left: auto; font-size: 0.66rem; color: #64748b; background: #e2e8f0; padding: 0.2rem 0.38rem; border-radius: 999px; }
.stack { display: grid; gap: 1rem; align-content: start; }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.card-heading h2 { margin: 0; font-size: 1.1rem; }
.bar-chart { height: 230px; display: flex; align-items: flex-end; gap: 0.45rem; padding: 0.75rem 0.25rem 0; border-bottom: 1px solid #e2e8f0; }
.bar { flex: 1; height: 100%; display: flex; align-items: flex-end; min-width: 0.35rem; }
.bar span { width: 100%; border-radius: 0.4rem 0.4rem 0.12rem 0.12rem; background: linear-gradient(180deg, #60a5fa, #2563eb); transition: height 200ms ease; }
.bar span:hover { background: #1d4ed8; }
.chart-axis { display: flex; justify-content: space-between; padding-top: 0.55rem; color: #94a3b8; font-size: 0.75rem; }
.empty-state { width: 100%; text-align: center; align-self: center; color: #64748b; }
.alert-list { display: grid; gap: 0.75rem; }
.alert-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.85rem; border-radius: 0.85rem; background: #f8fafc; }
.alert-item p { margin: 0.2rem 0 0; color: #64748b; font-size: 0.9rem; line-height: 1.4; }
.alert-icon { flex: 0 0 1.5rem; display: grid; place-items: center; height: 1.5rem; border-radius: 50%; font-weight: 800; }
.alert-item.warning .alert-icon { background: #fef3c7; color: #b45309; }.alert-item.danger .alert-icon { background: #fee2e2; color: #dc2626; }.alert-item.success .alert-icon { background: #dcfce7; color: #15803d; }
.ai-dot { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #dbeafe; color: #2563eb; }
.compact-copy { margin: -0.45rem 0 1rem; font-size: 0.88rem; }
.action-list,
.data-health-list { display: grid; gap: 0.65rem; }
.action-item,
.data-health-item { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.85rem; border-radius: 0.9rem; background: #f8fafc; border: 1px solid #eef2f7; }
.action-item { justify-content: space-between; border-left: 3px solid #94a3b8; }
.action-item.urgent { border-left-color: #ef4444; }.action-item.high { border-left-color: #f59e0b; }.action-item.attention { border-left-color: #f97316; }.action-item.opportunity { border-left-color: #10b981; }.action-item.on-track { border-left-color: #10b981; }.action-item.info { border-left-color: #2563eb; }
.action-item strong,
.data-health-item strong { display: block; color: #1e293b; font-size: 0.92rem; }
.action-item p,
.data-health-item p { margin: 0.25rem 0 0; color: #64748b; font-size: 0.84rem; line-height: 1.45; }
.priority-label { display: block; margin-bottom: 0.28rem; color: #64748b; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.text-action { flex: 0 0 auto; border: none; background: #eff6ff; color: #1d4ed8; border-radius: 0.65rem; padding: 0.5rem 0.6rem; font-weight: 700; font-size: 0.75rem; }
.text-action:hover { background: #dbeafe; }
.data-health-item > span { flex: 0 0 1.5rem; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #dbeafe; color: #1d4ed8; font-weight: 800; font-size: 0.82rem; }
.data-health-item.warning > span { background: #fef3c7; color: #b45309; }.data-health-item.success > span { background: #dcfce7; color: #15803d; }
.ai-answer { margin-top: 1rem; padding: 0.9rem; border-radius: 0.85rem; background: #eff6ff; color: #1e3a8a; white-space: pre-wrap; line-height: 1.55; min-height: 4.4rem; }
.ai-answer.large { min-height: 12rem; font-size: 1rem; }
.table-wrap { overflow-x: auto; }.table-card td small { display: block; margin-top: 0.2rem; color: #94a3b8; }
.dashboard-grid,
.info-grid {
  display: grid;
  gap: 1rem;
}
.dashboard-grid {
  grid-template-columns: 1.65fr 1fr;
}
.chart-card {
  min-height: 320px;
}
.chart-placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  border-radius: 1rem;
  background: #f8fafc;
  color: #6b7280;
}
.analysis-panel {
  display: grid;
  gap: 1rem;
}
.analysis-panel .card {
  min-height: 180px;
}
.chat-card textarea {
  width: 100%;
  min-height: 160px;
  border-radius: 1rem;
  border: 1px solid #d1d5db;
  padding: 1rem;
  background: #ffffff;
}
.chat-card button {
  margin-top: 0.75rem;
  padding: 0.95rem 1.2rem;
  border-radius: 999px;
  border: none;
  background: #2563eb;
  color: white;
}
.table-card table {
  width: 100%;
  border-collapse: collapse;
}
.table-card th,
.table-card td {
  padding: 1rem;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
}
.table-card th {
  color: #6b7280;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.table-card td {
  color: #111827;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #4338ca;
  font-size: 0.85rem;
}
.report-card,
.source-card,
.team-card,
.alert-card {
  min-height: 160px;
}
.report-card button,
.button-primary {
  background: #2563eb;
  color: white;
  border: none;
  border-radius: 1rem;
  padding: 0.95rem 1.1rem;
}
.report-card button:hover,
.button-primary:hover {
  opacity: 0.95;
}
.source-meta,
.report-card p,
.team-card p,
.alert-card p {
  color: #475569;
  line-height: 1.7;
}
.source-card.connected {
  border-color: #dbeafe;
}
.source-card .status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: #ecfdf5;
  color: #166534;
  font-size: 0.85rem;
}
.alert-card.warning {
  border-left: 4px solid #f59e0b;
}
.alert-card.error {
  border-left: 4px solid #ef4444;
}
.alert-card.success {
  border-left: 4px solid #22c55e;
}
.login-split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 100vh;
}
.login-panel {
  padding: 4rem 4.5rem;
  background: linear-gradient(180deg,#0b3b8a 0%, #0f5ac1 45%, #1e66d6 100%);
  color: white;
  position: relative;
}
.login-main { display: flex; align-items: center; justify-content: center; padding: 3rem; background: #f8fafc; }
.login-copy { margin-top: 4rem; }.login-copy h1 { max-width: 12ch; }
.positive-copy { color: #86efac !important; }.warning-copy { color: #fde68a !important; }
.form-tabs { display: flex; gap: 1.25rem; border-bottom: 1px solid #e2e8f0; margin-bottom: 1.5rem; }
.form-tab { appearance: none; border: 0; background: transparent; padding: 0 0 0.65rem; color: #64748b; font-weight: 700; }.form-tab.active { color: #1d4ed8; border-bottom: 2px solid #2563eb; }
.login-form-card input { padding: 0.9rem 1rem; }
.form-divider { display: flex; align-items: center; gap: 0.75rem; margin: 1.25rem 0; color: #94a3b8; font-size: 0.8rem; }.form-divider::before,.form-divider::after { content: ''; height: 1px; flex: 1; background: #e2e8f0; }
.form-result { min-height: 1.2rem; margin: 1rem 0 0; font-size: 0.9rem; }.form-result.error { color: #b91c1c; }.form-result.success { color: #15803d; }
.narrow-content { max-width: 1380px; width: 100%; }.import-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.25rem; }.import-card { display: flex; flex-direction: column; min-height: 225px; }.import-card h2 { margin: 0.8rem 0 0.45rem; font-size: 1.1rem; }.import-card p { color: #64748b; line-height: 1.5; flex: 1; }.import-card a { color: #2563eb; font-size: 0.86rem; margin-bottom: 0.8rem; }.import-card button { border: none; border-radius: 0.7rem; background: #eff6ff; color: #1d4ed8; padding: 0.7rem; font-weight: 700; }.import-icon { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 0.7rem; background: #dbeafe; color: #1d4ed8; font-weight: 800; }.upload-panel { margin-bottom: 1.25rem; }.upload-panel input { margin: 0.75rem 0 1rem; width: 100%; padding: 0.8rem; border: 1px dashed #93c5fd; border-radius: 0.7rem; background: #f8fbff; }.inline-actions { display: flex; gap: 0.75rem; }.status-success { color: #15803d; background: #dcfce7; padding: 0.25rem 0.5rem; border-radius: 999px; font-size: 0.8rem; }
.solver-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr); gap: 1rem; }.solver-card textarea { width: 100%; min-height: 180px; margin: 1rem 0; border: 1px solid #cbd5e1; border-radius: 1rem; padding: 1rem; }.suggestion-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.2rem; }.suggestion-list button { border: 1px solid #bfdbfe; border-radius: 999px; padding: 0.5rem 0.7rem; background: #eff6ff; color: #1d4ed8; font-size: 0.82rem; }.solver-answer { display: flex; flex-direction: column; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.landing { min-height: 100vh; padding: 1.5rem clamp(1.25rem, 5vw, 6rem) 4rem; background: radial-gradient(circle at 86% 12%, #dbeafe 0, transparent 27rem), #f8fafc; }.landing-header { max-width: 1180px; margin: auto; display: flex; justify-content: space-between; align-items: center; }.landing-hero { max-width: 760px; margin: clamp(5rem, 14vh, 10rem) auto 4rem; text-align: center; }.landing-hero h1 { margin: 0; color: #0f172a; font-size: clamp(2.6rem, 7vw, 5rem); line-height: 1.02; letter-spacing: -0.045em; }.landing-hero > p:not(.eyebrow) { max-width: 640px; margin: 1.4rem auto 2rem; color: #475569; font-size: 1.1rem; line-height: 1.65; }.landing-hero .inline-actions { justify-content: center; }.landing-cards { max-width: 1040px; margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.landing-cards article { background: #fff; border: 1px solid #e2e8f0; border-radius: 1.25rem; padding: 1.5rem; box-shadow: 0 12px 30px rgba(15,23,42,.05); }.landing-cards span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: .65rem; background: #dbeafe; color: #1d4ed8; font-weight: 800; }.landing-cards h2 { margin: 1rem 0 .5rem; font-size: 1.05rem; }.landing-cards p { margin: 0; color: #64748b; line-height: 1.55; }
.login-panel h1 {
  margin: 0;
  font-size: 3rem;
  line-height: 1.05;
}
.login-panel p {
  max-width: 32rem;
  color: #dbeafe;
  margin-top: 1.25rem;
}
.login-form-card {
  background: white;
  border-radius: 1.25rem;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.12);
  padding: 2.25rem;
  max-width: 36rem;
  margin: 3.5rem auto;
}
.login-form-card label {
  display: block;
  margin-top: 1rem;
  color: #6b7280;
  font-size: 0.95rem;
}
.login-form-card input {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.9rem 1rem 0.9rem 3.25rem;
  border: 1px solid #e6eefb;
  border-radius: 0.75rem;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(16,24,40,0.02);
}
.login-form-card .social-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}
.login-form-card .social-grid button {
  border-radius: 1rem;
  padding: 0.95rem 1rem;
}
.button-oauth svg{filter:drop-shadow(0 1px 0 rgba(16,24,40,0.04))}
.button-oauth:hover{transform:translateY(-2px);transition:transform 160ms ease}
.google-sign-in { display: flex; align-items: center; justify-content: center; gap: 0.55rem; margin-top: 0; border-color: #dfe4ef; background: #fff; color: #33415b; text-decoration: none; }.google-sign-in:hover { border-color: #b7c3d9; background: #f9fbff; color: #24334f; }.google-mark { display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: conic-gradient(from -40deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0); color: #fff; font-size: 0.68rem; font-weight: 900; line-height: 1; }

.kpi-card-small{transition:transform 400ms ease, box-shadow 400ms ease}
.kpi-card-small:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(2,6,23,0.18)}
.login-form-card .hint {
  color: #6b7280;
  margin-top: 0.85rem;
}
.login-form-card .link-row {
  margin-top: 1rem;
  color: #6b7280;
}
.login-form-card .link-row a {
  color: #2563eb;
}

.button-primary{
  background: linear-gradient(90deg,#2563eb 0%, #1e40af 100%);
  color:white;border:none;padding:0.9rem 1rem;border-radius:0.75rem;font-weight:600
}
.login-left-features{margin-top:2.2rem}
.feature{display:flex;gap:0.85rem;align-items:flex-start;margin-top:1rem}
.feature .icon{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,0.08);display:inline-grid;place-items:center}
.feature p{margin:0;color:#e6f0ff}
.kpi-preview{display:flex;gap:0.75rem;margin-top:2.5rem}
.kpi-card-small{background:rgba(255,255,255,0.06);padding:0.9rem;border-radius:10px;width:100%;color:#e6f0ff}
.kpi-card-small .value{font-weight:700;font-size:1.05rem}
.content-card {
  background: #ffffff;
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.08);
}
@media (max-width: 1100px) {
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .insights-grid { grid-template-columns: 1fr; }
  .import-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .page-shell {
    flex-direction: column;
  }
  .sidebar {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sidebar .nav-list a {
    flex: 1 1 48%;
  }
  .login-split {
    grid-template-columns: 1fr;
  }
  .login-form-card {
    margin: 2rem;
  }
  .login-main { padding: 1.25rem; }
  .import-grid,.solver-layout { grid-template-columns: 1fr; }
  .landing-cards { grid-template-columns: 1fr; }
}

/* BIDrivenSME application shell ------------------------------------------------ */
body.app-body { background: #f6f7fb; color: #172033; }
.app-shell { gap: 0; background: #f6f7fb; }
.app-sidebar { position: sticky; top: 0; width: 238px; height: 100vh; flex: 0 0 238px; padding: 1.4rem 1rem 1rem; border: 0; border-right: 1px solid #ebedf5; box-shadow: none; gap: 1.45rem; }
.driven-brand { gap: 0.65rem !important; padding: 0.25rem 0.45rem; color: #172033 !important; }
.driven-brand .brand-logo { width: 2rem; height: 2rem; }
.driven-brand > span { display: grid; gap: 0.08rem; line-height: 1.1; }
.driven-brand strong { color: #172033; font-size: 1rem; letter-spacing: -0.03em; }
.driven-brand small { color: #68738a; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.01em; }
.app-sidebar .section-title { padding: 0 0.7rem; color: #9aa4b7; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.13em; }
.app-nav { gap: 0.32rem; }
.app-nav a { min-height: 2.75rem; padding: 0.72rem 0.78rem; border-radius: 0.68rem; background: transparent; color: #4c5870; font-size: 0.86rem; font-weight: 650; }
.app-nav a:hover, .app-nav a.active { background: linear-gradient(90deg, #edf0ff, #f7f8ff); color: #3154f5; }
.nav-icon { display: inline-grid; width: 1.25rem; place-items: center; font-size: 1.06rem; line-height: 1; }
.app-nav .coming-soon { background: #f0f2f7; color: #8c96a8; font-size: 0.58rem; }
.app-sidebar .sidebar-account { margin-top: 0; }
.plan-card { gap: 0.65rem; padding: 0.9rem !important; background: linear-gradient(145deg, #f3f5ff, #fbfbff) !important; border: 1px solid #e3e7ff; align-items: flex-start; }
.plan-crown { display: grid; place-items: center; flex: 0 0 1.65rem; width: 1.65rem; height: 1.65rem; border-radius: 0.5rem; background: #f5b51b; color: #fff; font-size: 0.85rem; }
.plan-card small { margin: 0; color: #75819a; font-size: 0.68rem; }.plan-card strong { display: block; margin-top: 0.15rem; font-size: 0.8rem; }.plan-card p { margin: 0.35rem 0 0; color: #75819a; font-size: 0.69rem; line-height: 1.35; }
.account-card { margin-top: auto !important; padding: 0.7rem !important; background: #fff !important; border-top: 1px solid #edf0f5; border-radius: 0.6rem !important; }
.account-card strong { font-size: 0.76rem; }.account-card small { font-size: 0.68rem; }
.app-main { min-width: 0; padding: 0 2.15rem 2.15rem; }
.global-topbar { min-height: 70px; display: flex; align-items: center; gap: 1.2rem; border-bottom: 1px solid #ebedf5; margin: 0 -2.15rem 1.8rem; padding: 0 2.15rem; background: rgba(255,255,255,.84); }
.global-search { display: flex; align-items: center; width: min(100%, 410px); height: 2.55rem; gap: 0.55rem; padding: 0 0.8rem; border: 1px solid #e0e4ee; border-radius: 0.55rem; background: #fafbfe; color: #8792a8; }
.global-search:focus-within { border-color: #9eacff; box-shadow: 0 0 0 3px #e9edff; background: #fff; }
.global-search span { font-size: 1.2rem; line-height: 1; }.global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #243049; font-size: 0.82rem; }.global-search input::placeholder { color: #9ca6b8; }
.global-actions { margin-left: auto; display: flex; align-items: center; gap: 0.75rem; }.icon-button { position: relative; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; color: #58647a; font-size: 1.05rem; }.icon-button:hover { background: #eef1ff; color: #3154f5; }.notification-button b { position: absolute; top: -0.12rem; right: -0.1rem; min-width: 1.1rem; height: 1.1rem; display: grid; place-items: center; border-radius: 50%; background: #f0445e; border: 2px solid #fff; color: #fff; font-size: 0.58rem; }.notification-button b:empty { display: none; }
.profile-button { display: flex; align-items: center; gap: 0.3rem; border: 0; background: transparent; color: #68738a; }.profile-button span { display: grid; place-items: center; width: 2.18rem; height: 2.18rem; border-radius: 50%; background: linear-gradient(135deg, #4769ff, #2345ce); color: #fff; font-weight: 800; }.profile-button i { font-style: normal; font-size: 0.75rem; }
.dashboard-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.55rem; }.dashboard-welcome h1 { margin: 0; font-size: clamp(1.45rem, 2.4vw, 1.85rem); letter-spacing: -0.04em; }.dashboard-welcome .subtle { margin: 0.35rem 0 0; font-size: 0.86rem; }.reporting-chip { display: flex; align-items: center; gap: 0.6rem; min-width: 148px; padding: 0.65rem 0.78rem; border: 1px solid #e3e7ef; border-radius: 0.65rem; background: #fff; color: #506079; }.reporting-chip > span { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 0.45rem; background: #eef1ff; color: #3154f5; }.reporting-chip small { display: block; color: #98a3b5; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; }.reporting-chip strong { display: block; margin-top: 0.12rem; color: #253047; font-size: 0.73rem; }
.metric-grid { gap: 0.85rem; margin-bottom: 1.1rem; }.app-main .card { border: 1px solid #e8ebf2; border-radius: 0.9rem; box-shadow: 0 4px 16px rgba(27, 39, 71, 0.035); }.app-main .kpi-card { min-height: 154px; padding: 1rem; }.metric-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }.app-main .kpi-title { color: #536078; font-size: 0.74rem; font-weight: 700; }.metric-icon { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #edf1ff; color: #3154f5; font-size: 0.95rem; font-weight: 800; }.metric-icon.green { background: #e7faf1; color: #16a66a; }.metric-icon.purple { background: #f1edff; color: #7156df; }.metric-icon.orange { background: #fff1e8; color: #e67b32; }.app-main .kpi-value { margin-top: 0.8rem; color: #1d273b; font-size: clamp(1.35rem, 2vw, 1.7rem); letter-spacing: -0.04em; }.app-main .kpi-delta, .app-main .kpi-note { margin-top: 0.35rem; font-size: 0.67rem; }.app-main .kpi-delta { color: #19a76b; }.app-main .kpi-delta.negative { color: #e4485a; }.mini-line { display: block; height: 0.42rem; margin-top: auto; border-radius: 99px; opacity: 0.82; background: linear-gradient(90deg, transparent 0 3%, #8eaeff 3% 10%, transparent 10% 18%, #8eaeff 18% 28%, transparent 28% 40%, #3154f5 40% 51%, transparent 51% 59%, #8eaeff 59% 69%, transparent 69% 77%, #3154f5 77% 91%, transparent 91%); }.mini-line.green { background: linear-gradient(90deg, transparent 0 6%, #78d7ae 6% 18%, transparent 18% 26%, #19a76b 26% 40%, transparent 40% 49%, #78d7ae 49% 64%, transparent 64% 75%, #19a76b 75% 92%, transparent 92%); }.mini-line.purple { background: linear-gradient(90deg, transparent 0 8%, #b09af7 8% 19%, transparent 19% 30%, #7156df 30% 43%, transparent 43% 58%, #b09af7 58% 70%, transparent 70% 82%, #7156df 82% 94%, transparent 94%); }.mini-line.orange { background: linear-gradient(90deg, transparent 0 4%, #f5b080 4% 17%, transparent 17% 26%, #e67b32 26% 39%, transparent 39% 50%, #f5b080 50% 64%, transparent 64% 74%, #e67b32 74% 92%, transparent 92%); }
.dashboard-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(275px, 305px); gap: 1rem; align-items: start; }.dashboard-core { display: grid; gap: 1rem; min-width: 0; }.app-main .chart-card { min-height: 330px; padding: 1.1rem; }.app-main .card-heading { margin-bottom: 0.85rem; }.app-main .card-heading h2 { color: #202a3e; font-size: 0.98rem; letter-spacing: -0.02em; }.app-main .eyebrow { color: #3154f5; font-size: 0.61rem; }.app-main .status-pill { padding: 0.4rem 0.6rem; background: #f2f4f9; color: #61708a; font-size: 0.66rem; }.app-main .bar-chart { height: 210px; gap: 0.42rem; border-bottom-color: #edf0f6; }.app-main .bar span { background: linear-gradient(180deg, #7b98ff, #3154f5); border-radius: 0.28rem 0.28rem 0.08rem 0.08rem; }.core-detail-grid, .bottom-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.app-main .action-plan-card, .app-main .data-health-card, .app-main .recent-sales-card, .app-main .alerts-card { padding: 1.1rem; }.compact-copy { font-size: 0.78rem; }.action-list, .data-health-list { gap: 0.5rem; }.action-item, .data-health-item { padding: 0.72rem; border-radius: 0.6rem; }.action-item strong, .data-health-item strong { font-size: 0.77rem; }.action-item p, .data-health-item p { font-size: 0.72rem; line-height: 1.35; }.priority-label { font-size: 0.55rem; }.text-action { padding: 0.4rem 0.48rem; border-radius: 0.42rem; font-size: 0.66rem; }.app-main .table-card th, .app-main .table-card td { padding: 0.72rem 0.45rem; font-size: 0.72rem; }.app-main .table-card th { font-size: 0.58rem; }.view-link { color: #3154f5; font-size: 0.68rem; font-weight: 750; }.alert-summary { padding: 0.25rem 0.43rem; border-radius: 99px; background: #fff6df; color: #ac7213; font-size: 0.62rem; font-weight: 800; }.app-main .alert-list { gap: 0.5rem; }.app-main .alert-item { padding: 0.7rem; border-radius: 0.6rem; }.app-main .alert-item p { font-size: 0.72rem; }.app-main .alert-item strong { font-size: 0.76rem; }.app-main .alert-icon { width: 1.35rem; height: 1.35rem; flex-basis: 1.35rem; font-size: 0.72rem; }
.ai-rail { min-width: 0; position: sticky; top: 1rem; }.app-main .ai-analyst-card { padding: 1.05rem; }.beta-label { margin-left: 0.2rem; padding: 0.16rem 0.28rem; border-radius: 0.24rem; background: #eef1ff; color: #3154f5; font-size: 0.54rem; letter-spacing: 0.08em; vertical-align: middle; }.ai-analyst-card > .subtle { margin: 0 0 0.85rem; font-size: 0.76rem; }.quick-prompts { display: grid; gap: 0.45rem; margin-bottom: 0.75rem; }.quick-prompts button { border: 0; border-radius: 0.5rem; padding: 0.62rem; background: linear-gradient(90deg, #4263ff, #3154f5); color: #fff; font-size: 0.72rem; font-weight: 700; text-align: left; }.quick-prompts button:nth-child(2), .quick-prompts button:nth-child(3) { background: #f0f3ff; color: #3154f5; }.app-main .chat-card textarea { min-height: 80px; border-color: #e1e5ef; border-radius: 0.58rem; padding: 0.75rem; font-size: 0.75rem; }.analyst-submit { display: flex; justify-content: space-between; width: 100%; margin-top: 0.6rem !important; padding: 0.7rem 0.8rem !important; border-radius: 0.58rem !important; font-size: 0.75rem; }.app-main .ai-answer { min-height: 5.2rem; margin-top: 0.75rem; padding: 0.75rem; border-radius: 0.58rem; background: #f3f5ff; color: #334c9d; font-size: 0.74rem; }
.mobile-brand, .mobile-bottom-nav { display: none; }
.login-brand { padding: 0; gap: 0.6rem !important; }.login-brand .brand-logo { width: 2.15rem; height: 2.15rem; }.login-brand > span { display: grid; gap: 0.12rem; }.login-brand strong { color: #fff; font-size: 1rem; }.login-brand small { color: #c8d4ff; font-size: 0.66rem; font-weight: 600; }

@media (max-width: 1160px) {
  .dashboard-workspace { grid-template-columns: 1fr; }.ai-rail { position: static; }.ai-analyst-card { max-width: none; }.quick-prompts { grid-template-columns: repeat(3, minmax(0, 1fr)); }.app-main .chat-card textarea { min-height: 60px; }
}
@media (max-width: 900px) {
  .app-sidebar { width: 205px; flex-basis: 205px; }.app-main { padding-right: 1.2rem; padding-left: 1.2rem; }.global-topbar { margin-right: -1.2rem; margin-left: -1.2rem; padding-right: 1.2rem; padding-left: 1.2rem; }.core-detail-grid, .bottom-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .app-shell { display: block; }.app-sidebar { display: none; }.app-main { padding: 0 0.9rem 5.5rem; }.global-topbar { position: sticky; z-index: 5; top: 0; flex-wrap: wrap; min-height: auto; gap: 0.55rem; margin: 0 -0.9rem 1.2rem; padding: 0.65rem 0.9rem; background: rgba(255,255,255,.96); }.mobile-brand { display: flex; align-items: center; gap: 0.38rem; color: #1e2a41; font-size: 0.78rem; font-weight: 800; }.mobile-brand img { width: 1.7rem; height: 1.7rem; }.global-search { order: 3; flex-basis: 100%; width: 100%; height: 2.3rem; }.global-actions { margin-left: auto; gap: 0.2rem; }.desktop-import, .notification-button { display: none; }.profile-button span { width: 1.9rem; height: 1.9rem; }.dashboard-welcome { align-items: flex-start; margin-bottom: 1.1rem; }.dashboard-welcome .eyebrow { font-size: 0.55rem; }.dashboard-welcome h1 { font-size: 1.35rem; }.dashboard-welcome .subtle { font-size: 0.75rem; }.reporting-chip { min-width: 0; padding: 0.52rem; }.reporting-chip > span { display: none; }.reporting-chip small { font-size: 0.5rem; }.reporting-chip strong { font-size: 0.65rem; }.metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }.app-main .kpi-card { min-height: 132px; padding: 0.78rem; }.metric-icon { width: 1.7rem; height: 1.7rem; font-size: 0.75rem; }.app-main .kpi-title { font-size: 0.65rem; }.app-main .kpi-value { margin-top: 0.65rem; font-size: 1.24rem; }.app-main .kpi-note, .app-main .kpi-delta { font-size: 0.58rem; }.dashboard-workspace { gap: 0.7rem; }.app-main .chart-card { min-height: 267px; padding: 0.9rem; }.app-main .bar-chart { height: 164px; gap: 0.25rem; }.chart-axis { font-size: 0.62rem; }.core-detail-grid, .bottom-detail-grid { gap: 0.7rem; }.app-main .action-plan-card, .app-main .data-health-card, .app-main .recent-sales-card, .app-main .alerts-card, .app-main .ai-analyst-card { padding: 0.9rem; }.quick-prompts { grid-template-columns: 1fr; }.app-main .table-card td:nth-child(2), .app-main .table-card th:nth-child(2) { display: none; }.mobile-bottom-nav { position: fixed; z-index: 20; right: 0.5rem; bottom: 0.45rem; left: 0.5rem; display: grid; grid-template-columns: repeat(4, 1fr); padding: 0.42rem; border: 1px solid #e1e5ef; border-radius: 0.9rem; background: rgba(255,255,255,.98); box-shadow: 0 12px 35px rgba(18,32,66,.16); }.mobile-bottom-nav a { display: grid; place-items: center; gap: 0.14rem; min-height: 3.05rem; border-radius: 0.65rem; color: #7a8598; font-size: 0.61rem; font-weight: 700; }.mobile-bottom-nav a span { font-size: 0.95rem; }.mobile-bottom-nav a.active { background: #eef1ff; color: #3154f5; }
}

/* Daily operations */
.settings-main { max-width: 920px; }.settings-card { padding: 1.15rem !important; }.settings-card .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.settings-card label small { color: #8792a6; font-size: 0.64rem; font-weight: 500; line-height: 1.4; }.settings-note { display: flex; gap: 0.55rem; margin-top: 0.95rem; padding: 0.72rem; border: 1px solid #f1dfb7; border-radius: 0.6rem; background: #fffbf2; color: #7c632e; }.settings-note > span { display: grid; place-items: center; flex: 0 0 1.3rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: #fff0c8; color: #b77910; font-size: 0.72rem; font-weight: 900; }.settings-note p { margin: 0; font-size: 0.71rem; line-height: 1.45; }.settings-note strong { color: #684f1a; }.link-button { margin-left: 0.45rem; padding: 0; border: 0; background: transparent; cursor: pointer; font: inherit; font-size: 0.67rem; font-weight: 800; text-decoration: underline; }.danger-link { color: #c9344d; }
.operations-main { max-width: 1500px; width: 100%; }.operations-topbar { display: flex; align-items: center; min-height: 70px; margin: 0 -2.15rem 1.6rem; padding: 0 2.15rem; border-bottom: 1px solid #ebedf5; background: rgba(255,255,255,.84); }.operations-topbar-actions { display: flex; align-items: center; gap: 0.7rem; margin-left: auto; }.operations-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }.operations-welcome h1 { margin: 0; color: #1d273b; font-size: clamp(1.5rem, 2.5vw, 1.95rem); letter-spacing: -0.045em; }.operations-welcome .subtle { max-width: 650px; margin: 0.4rem 0 0; font-size: 0.85rem; }.quick-date { padding: 0.55rem 0.7rem; border: 1px solid #e2e6f0; border-radius: 0.55rem; background: #fff; color: #56637b; font-size: 0.73rem; font-weight: 700; white-space: nowrap; }
.operation-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }.operation-summary article { display: flex; align-items: center; gap: 0.65rem; padding: 0.82rem; border: 1px solid #e8ebf2; border-radius: 0.78rem; background: #fff; box-shadow: 0 4px 16px rgba(27,39,71,.03); }.operation-summary article > span { display: grid; place-items: center; width: 1.95rem; height: 1.95rem; border-radius: 0.55rem; background: #eef1ff; color: #3154f5; font-weight: 800; }.operation-summary article:nth-child(2) > span { background: #e8faf1; color: #12a66a; }.operation-summary article:nth-child(3) > span { background: #f2eeff; color: #7156df; }.operation-summary article:nth-child(4) > span { background: #fff1e8; color: #e67b32; }.operation-summary small { display: block; color: #94a0b5; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.08em; }.operation-summary strong { display: block; margin-top: 0.16rem; color: #253048; font-size: 1.12rem; letter-spacing: -0.03em; }
.operations-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 1rem; align-items: start; }.operation-tabs { position: sticky; top: 1rem; display: grid; gap: 0.42rem; padding: 0.55rem; border: 1px solid #e8ebf2; border-radius: 0.85rem; background: #fff; }.operation-tabs button { display: grid; grid-template-columns: 1.7rem 1fr; column-gap: 0.55rem; align-items: center; padding: 0.68rem; border: 0; border-radius: 0.62rem; background: transparent; color: #59667e; text-align: left; }.operation-tabs button:hover, .operation-tabs button.active { background: linear-gradient(90deg, #edf0ff, #f7f8ff); color: #3154f5; }.operation-tabs button > span { grid-row: span 2; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 0.45rem; background: #f0f2f7; color: #6d7990; }.operation-tabs button.active > span { background: #3154f5; color: #fff; }.operation-tabs b { font-size: 0.74rem; }.operation-tabs small { margin-top: 0.13rem; color: #8b96a9; font-size: 0.61rem; }.operation-content { min-width: 0; }.operation-panel { display: none; padding: 1.2rem !important; }.operation-panel.active { display: block; }.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #edf0f5; }.panel-heading h2 { margin: 0; color: #253048; font-size: 1.12rem; letter-spacing: -0.03em; }.panel-heading .subtle { max-width: 600px; margin: 0.36rem 0 0; font-size: 0.8rem; }.panel-icon { display: grid; place-items: center; flex: 0 0 2.2rem; width: 2.2rem; height: 2.2rem; border-radius: 0.65rem; background: #edf1ff; color: #3154f5; font-weight: 900; }.panel-icon.green { background: #e8faf1; color: #12a66a; }.panel-icon.orange { background: #fff1e8; color: #e67b32; }.panel-icon.purple { background: #f2eeff; color: #7156df; }
.operation-form { margin-top: 1rem; }.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }.operation-form label { display: grid; gap: 0.38rem; color: #4c5870; font-size: 0.72rem; font-weight: 750; }.optional { color: #9aa4b5; font-weight: 500; }.operation-form input, .operation-form select { width: 100%; height: 2.55rem; border: 1px solid #dde2ec; border-radius: 0.55rem; outline: 0; background: #fff; color: #243049; padding: 0 0.68rem; font: inherit; font-size: 0.78rem; }.operation-form input:focus, .operation-form select:focus { border-color: #93a5ff; box-shadow: 0 0 0 3px #eef0ff; }.advanced-fields { margin-top: 0.8rem; padding: 0.75rem; border: 1px solid #e9ecf2; border-radius: 0.62rem; background: #fafbfe; }.advanced-fields summary { cursor: pointer; color: #3154f5; font-size: 0.73rem; font-weight: 750; }.advanced-fields .form-grid { margin-top: 0.75rem; }.form-actions { display: flex; align-items: center; gap: 0.8rem; min-height: 3.4rem; margin-top: 0.95rem; }.form-actions .button-primary { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.72rem 0.9rem; border-radius: 0.55rem; font-size: 0.76rem; }.form-actions .form-result { margin: 0; }.operation-recent { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid #edf0f5; }.section-row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 0.55rem; }.section-row h3 { margin: 0; color: #273149; font-size: 0.85rem; }.section-row .subtle { font-size: 0.68rem; text-align: right; }.operation-panel .table-wrap { border: 1px solid #edf0f5; border-radius: 0.62rem; }.operation-panel table { width: 100%; border-collapse: collapse; }.operation-panel th, .operation-panel td { padding: 0.72rem; border-bottom: 1px solid #edf0f5; color: #536078; font-size: 0.73rem; text-align: left; }.operation-panel th { color: #96a1b3; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; }.operation-panel tr:last-child td { border-bottom: 0; }.operation-panel td strong { display: block; color: #273149; font-size: 0.74rem; }.operation-panel td small { display: block; margin-top: 0.15rem; color: #9aa4b5; font-size: 0.62rem; }.low-stock-badge { display: inline-flex; padding: 0.2rem 0.37rem; border-radius: 99px; background: #fff2e5; color: #d9782e; font-weight: 800; }.invoice-status { display: inline-flex; padding: 0.2rem 0.4rem; border-radius: 99px; background: #edf1ff; color: #3154f5; font-size: 0.61rem; font-weight: 800; text-transform: capitalize; }.invoice-status.paid { background: #e9faf1; color: #15915d; }.invoice-status.partial { background: #fff6df; color: #b87816; }.invoice-status.overdue { background: #fff0f2; color: #dd4054; }
@media (max-width: 1000px) { .operations-layout { grid-template-columns: 180px minmax(0, 1fr); }.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .operations-main { padding-bottom: 5.6rem; }.operations-topbar { position: sticky; z-index: 5; top: 0; min-height: 54px; margin: 0 -0.9rem 1rem; padding: 0.55rem 0.9rem; background: rgba(255,255,255,.96); }.operations-topbar .mobile-brand { display: flex; }.operations-topbar-actions { gap: 0.45rem; }.operations-topbar-actions .button-ghost { padding: 0.5rem 0.6rem; font-size: 0.68rem; }.operations-topbar-actions .status-pill { padding: 0.42rem 0.5rem; font-size: 0.61rem; }.operations-welcome { align-items: flex-start; margin-bottom: 0.9rem; }.operations-welcome h1 { font-size: 1.32rem; }.operations-welcome .subtle { font-size: 0.74rem; }.quick-date { padding: 0.46rem; font-size: 0.61rem; }.operation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }.operation-summary article { padding: 0.65rem; }.operation-summary article > span { width: 1.65rem; height: 1.65rem; }.operation-summary small { font-size: 0.49rem; }.operation-summary strong { font-size: 1rem; }.operations-layout { display: block; }.operation-tabs { position: static; display: flex; overflow-x: auto; gap: 0.35rem; margin-bottom: 0.7rem; padding: 0.42rem; }.operation-tabs button { flex: 0 0 auto; grid-template-columns: 1.45rem auto; padding: 0.55rem; }.operation-tabs button > span { width: 1.45rem; height: 1.45rem; }.operation-tabs small { display: none; }.operation-panel { padding: 0.85rem !important; }.panel-heading { padding-bottom: 0.8rem; }.panel-heading h2 { font-size: 1rem; }.panel-heading .subtle { font-size: 0.72rem; }.settings-card { padding: 0.85rem !important; }.settings-card .form-grid { grid-template-columns: 1fr; }.form-grid, .advanced-fields .form-grid { grid-template-columns: 1fr; gap: 0.65rem; }.form-actions { align-items: flex-start; flex-direction: column; gap: 0.45rem; }.operation-panel th, .operation-panel td { padding: 0.62rem 0.45rem; }.operation-panel th:nth-child(2), .operation-panel td:nth-child(2) { display: none; }.section-row { align-items: flex-start; flex-direction: column; gap: 0.2rem; }.section-row .subtle { text-align: left; }.operations-mobile-nav { grid-template-columns: repeat(5, 1fr); } }

/* Reports */
.reports-main { max-width: 1500px; width: 100%; }.reports-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }.reports-welcome h1 { margin: 0; color: #1d273b; font-size: clamp(1.5rem, 2.5vw, 1.95rem); letter-spacing: -0.045em; }.reports-welcome .subtle { margin: 0.38rem 0 0; font-size: 0.84rem; }.report-controls { display: flex; align-items: center; gap: 0.55rem; }.report-controls select { height: 2.45rem; padding: 0 2rem 0 0.7rem; border: 1px solid #dfe4ef; border-radius: 0.55rem; outline: 0; background: #fff; color: #4e5b72; font: inherit; font-size: 0.73rem; font-weight: 700; }.report-controls select:focus { border-color: #93a5ff; box-shadow: 0 0 0 3px #eef0ff; }.report-controls .button-primary { height: 2.45rem; padding: 0 0.75rem; border-radius: 0.55rem; font-size: 0.72rem; }.export-menu { position: relative; }.export-options { position: absolute; z-index: 8; top: calc(100% + 0.42rem); right: 0; display: grid; min-width: 148px; padding: 0.35rem; border: 1px solid #e0e5ef; border-radius: 0.62rem; background: #fff; box-shadow: 0 12px 28px rgba(31,44,78,.14); }.export-options[hidden] { display: none; }.export-options button { padding: 0.55rem 0.65rem; border: 0; border-radius: 0.42rem; background: transparent; color: #536078; font: inherit; font-size: 0.71rem; font-weight: 700; text-align: left; }.export-options button:hover { background: #eff2ff; color: #3154f5; }.report-metrics { margin-bottom: 1rem; }.report-main-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(265px, .85fr); gap: 1rem; margin-bottom: 1rem; }.report-chart-card, .report-insight-card { min-height: 300px; padding: 1.1rem !important; }.report-trend-chart { height: 200px !important; }.report-insight-card { display: flex; flex-direction: column; }.report-review-list { display: grid; gap: 0.55rem; }.report-review-list p { display: flex; gap: 0.5rem; margin: 0; padding: 0.65rem; border-radius: 0.58rem; background: #f7f8fe; color: #647087; font-size: 0.75rem; line-height: 1.4; }.report-review-list p span { color: #3154f5; font-weight: 900; }.report-review-list strong { color: #273149; }.report-ai-link { display: block; margin-top: auto; padding: 0.62rem; border-radius: 0.55rem; font-size: 0.72rem; text-align: center; }.report-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }.report-detail-grid .table-card { padding: 1.1rem !important; }.report-bars { display: grid; gap: 0.75rem; }.report-bars > div > div { display: flex; justify-content: space-between; gap: 1rem; color: #4d5a72; font-size: 0.73rem; }.report-bars strong { color: #273149; }.report-bars i { display: block; height: 0.38rem; margin-top: 0.32rem; overflow: hidden; border-radius: 99px; background: #edf0f6; }.report-bars b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #86a0ff, #3154f5); }.low-stock-report { padding: 1.1rem !important; }.stock-report-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; }.stock-report-list > div { display: grid; grid-template-columns: 1.55rem 1fr; column-gap: 0.48rem; padding: 0.65rem; border: 1px solid #f0dfd7; border-radius: 0.6rem; background: #fffaf7; }.stock-report-icon { display: grid; place-items: center; grid-row: span 2; width: 1.55rem; height: 1.55rem; border-radius: 0.45rem; background: #fff0e8; color: #df7b36; font-size: 0.76rem; font-weight: 900; }.stock-report-list strong { color: #3f485a; font-size: 0.73rem; }.stock-report-list p { grid-column: 2; margin: 0.15rem 0 0; color: #8b7780; font-size: 0.65rem; line-height: 1.35; }
@media (max-width: 920px) { .report-main-grid { grid-template-columns: 1fr; }.stock-report-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .reports-main { padding-bottom: 5.6rem; }.reports-welcome { align-items: flex-start; flex-direction: column; margin-bottom: 0.9rem; }.reports-welcome h1 { font-size: 1.32rem; }.reports-welcome .subtle { font-size: 0.74rem; }.report-controls { width: 100%; }.report-controls select, .report-controls .export-menu { flex: 1; }.report-controls select { min-width: 0; width: 100%; }.report-controls .button-primary { width: 100%; justify-content: center; }.report-main-grid, .report-detail-grid { gap: 0.7rem; margin-bottom: 0.7rem; }.report-chart-card, .report-insight-card, .report-detail-grid .table-card, .low-stock-report { padding: 0.85rem !important; }.report-chart-card, .report-insight-card { min-height: 0; }.report-trend-chart { height: 165px !important; }.report-detail-grid { grid-template-columns: 1fr; }.report-detail-grid .table-card th:nth-child(2), .report-detail-grid .table-card td:nth-child(2) { display: none; }.stock-report-list { grid-template-columns: 1fr; }.export-options { right: auto; left: 0; } }

/* Data centre, alerts, and connections */
.data-centre-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; }.manual-entry-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1.05rem 1.15rem !important; border-color: #dfe5ff !important; background: linear-gradient(110deg, #fbfcff, #f4f6ff); }.manual-entry-card h2 { margin: 0; color: #28334a; font-size: 0.98rem; }.manual-entry-card .subtle { max-width: 650px; margin: 0.35rem 0 0; font-size: 0.74rem; line-height: 1.45; }.manual-entry-actions { display: grid; grid-template-columns: repeat(2, minmax(125px, 1fr)); gap: 0.45rem; min-width: 305px; }.manual-entry-actions a { display: flex; align-items: center; gap: 0.42rem; padding: 0.55rem; border: 1px solid #dce3fb; border-radius: 0.52rem; background: #fff; color: #3154f5; font-size: 0.69rem; font-weight: 750; }.manual-entry-actions a:hover { border-color: #3154f5; background: #eef1ff; }.manual-entry-actions span { display: grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 0.36rem; background: #edf0ff; color: #3154f5; font-weight: 900; }
.data-centre-main, .alerts-main, .connections-main { max-width: 1500px; width: 100%; }.data-centre-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }.data-centre-welcome h1 { margin: 0; color: #1d273b; font-size: clamp(1.5rem, 2.5vw, 1.95rem); letter-spacing: -0.045em; }.data-centre-welcome .subtle { max-width: 720px; margin: 0.38rem 0 0; font-size: 0.84rem; }.import-review-card, .import-preview, .import-history-card { padding: 1.15rem !important; }.import-review-card > .subtle { max-width: 760px; font-size: 0.78rem; line-height: 1.45; }.drop-zone { display: grid; grid-template-columns: 2.4rem 1fr; align-items: center; column-gap: 0.68rem; min-height: 78px; margin: 1rem 0; padding: 0.8rem; border: 1px dashed #aebcf8; border-radius: 0.72rem; background: #f8f9ff; cursor: pointer; }.drop-zone:hover { border-color: #3154f5; background: #f2f4ff; }.drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }.drop-zone strong { overflow: hidden; color: #31405e; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }.drop-zone small { display: block; margin-top: 0.15rem; color: #8792a6; font-size: 0.65rem; }.drop-icon { display: grid; place-items: center; grid-row: span 2; width: 2.4rem; height: 2.4rem; border-radius: 0.62rem; background: #e8edff; color: #3154f5; font-size: 1.15rem; font-weight: 900; }.import-preview { margin-top: 1rem; border-color: #dce3ff !important; }.preview-counts { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 0.9rem 0; }.preview-counts span { padding: 0.48rem 0.62rem; border-radius: 0.5rem; background: #eff2ff; color: #52617d; font-size: 0.71rem; }.preview-counts strong { margin-right: 0.18rem; color: #3154f5; }.preview-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }.preview-fields p { display: grid; gap: 0.15rem; margin: 0; padding: 0.62rem; border: 1px solid #edf0f5; border-radius: 0.55rem; }.preview-fields strong { color: #35405a; font-size: 0.72rem; text-transform: capitalize; }.preview-fields span { overflow: hidden; color: #8390a5; font-size: 0.65rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }.preview-warnings { display: grid; gap: 0.38rem; margin: 0.85rem 0; }.preview-warnings p { margin: 0; color: #68758c; font-size: 0.71rem; line-height: 1.4; }.dataset-guide { margin: 1rem 0; }.clickable-card { display: block; color: inherit; transition: transform .16s ease, box-shadow .16s ease; }.clickable-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(32,49,90,.10); }.clickable-card small { color: #3154f5; font-size: 0.68rem; font-weight: 750; }.import-history-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }.clear-data-action { margin-top: 0.15rem; white-space: nowrap; }.import-history-card td small { display: block; margin-top: 0.12rem; color: #96a1b3; font-size: 0.61rem; }.danger-action { color: #d6495e; }.danger-action:hover { background: #fff0f2; color: #c9344d; }.status-warning { display: inline-flex; padding: 0.3rem 0.52rem; border-radius: 99px; background: #fff5df; color: #a97013; font-size: 0.64rem; font-weight: 800; }
.alerts-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }.alerts-summary article { display: flex; align-items: center; gap: 0.7rem; padding: 0.85rem; }.alerts-summary article > span { display: grid; place-items: center; width: 2.05rem; height: 2.05rem; border-radius: 0.58rem; background: #fff0e8; color: #e07832; font-weight: 900; }.alerts-summary article:nth-child(2) > span { background: #edf0ff; color: #3154f5; }.alerts-summary small { display: block; color: #94a0b5; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; }.alerts-summary strong { display: block; margin-top: 0.12rem; color: #263149; font-size: 1.04rem; }.alert-page-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .85fr); gap: 1rem; }.alert-feed, .alert-recommendations { padding: 1.1rem !important; }.alert-feed-item { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr) auto; align-items: center; gap: 0.65rem; padding: 0.75rem 0; border-bottom: 1px solid #edf0f5; }.alert-feed-item:last-child { border-bottom: 0; }.alert-feed-item > span { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 0.48rem; background: #fff5df; color: #ae791b; font-size: 0.75rem; font-weight: 900; }.alert-feed-item.danger > span { background: #fff0f2; color: #d6465b; }.alert-feed-item.success > span { background: #e8faf1; color: #15915d; }.alert-feed-item strong, .alert-recommendations strong { color: #303a51; font-size: 0.75rem; }.alert-feed-item p, .alert-recommendations p { margin: 0.18rem 0 0; color: #7e8aa0; font-size: 0.69rem; line-height: 1.35; }.alert-recommendations > div { display: grid; gap: 0.6rem; }.alert-recommendations article { display: flex; gap: 0.52rem; padding: 0.68rem; border-radius: 0.6rem; background: #f8f9fe; }.alert-recommendations article > span { color: #3154f5; font-weight: 900; }.alert-recommendations .text-action { display: inline-block; margin-top: 0.45rem; }.connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }.connection-card { display: grid; grid-template-columns: 2.35rem minmax(0, 1fr) auto; align-items: center; gap: 0.7rem; padding: 1rem !important; border: 1px solid #e5e9f2; border-radius: 0.78rem; background: #fff; color: inherit; text-align: left; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }.connection-card:hover { transform: translateY(-2px); border-color: #b9c5ff; box-shadow: 0 12px 24px rgba(39,55,94,.10); }.connection-logo { display: grid; place-items: center; grid-row: span 2; width: 2.35rem; height: 2.35rem; border-radius: 0.65rem; background: #edf0ff; color: #3154f5; font-weight: 900; }.connection-card.ready:nth-child(2) .connection-logo { background: #e8faf1; color: #15915d; }.connection-card.ready:nth-child(3) .connection-logo { background: #fff0e8; color: #dc7735; }.connection-card.ready:nth-child(4) .connection-logo { background: #f3edff; color: #7258dc; }.connection-copy small { display: block; color: #96a1b3; font-size: 0.57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.connection-copy strong { display: block; margin-top: 0.13rem; color: #2e3850; font-size: 0.86rem; }.connection-copy p { margin: 0.25rem 0 0; color: #7d899f; font-size: 0.69rem; line-height: 1.35; }.connection-status { justify-self: end; padding: 0.27rem 0.48rem; border-radius: 99px; background: #fff5df; color: #a97013; font-size: 0.59rem; font-weight: 800; }.connection-card.connected .connection-status { background: #e8faf1; color: #15915d; }.connection-action { grid-column: 2 / 4; color: #3154f5; font-size: 0.68rem; font-weight: 800; }.connector-detail { margin-top: 1rem; padding: 1.1rem !important; }.connector-detail .subtle { max-width: 700px; font-size: 0.78rem; }.connection-data { display: grid; gap: 0.25rem; margin: 0.85rem 0; padding: 0.7rem; border-radius: 0.6rem; background: #f8f9fe; }.connection-data small { color: #92a0b5; font-size: 0.57rem; font-weight: 800; letter-spacing: .09em; }.connection-data strong { color: #3a4660; font-size: 0.75rem; }.connector-note { max-width: 700px; color: #6d7890; font-size: 0.72rem; line-height: 1.45; }
@media (max-width: 860px) { .alert-page-grid { grid-template-columns: 1fr; }.connection-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .data-centre-main, .alerts-main, .connections-main { padding-bottom: 5.6rem; }.data-centre-welcome { align-items: flex-start; flex-direction: column; margin-bottom: 0.9rem; }.data-centre-welcome h1 { font-size: 1.32rem; }.data-centre-welcome .subtle { font-size: 0.74rem; }.data-centre-actions { justify-content: flex-start; }.data-centre-welcome .button-secondary { font-size: 0.68rem; }.manual-entry-card { align-items: flex-start; flex-direction: column; padding: 0.85rem !important; }.manual-entry-actions { width: 100%; min-width: 0; }.import-review-card, .import-preview, .import-history-card, .alert-feed, .alert-recommendations, .connector-detail { padding: 0.85rem !important; }.preview-fields { grid-template-columns: 1fr; }.preview-fields span { white-space: normal; }.import-history-heading { align-items: flex-start; flex-direction: column; }.clear-data-action { margin-top: 0; }.import-history-card th:nth-child(2), .import-history-card td:nth-child(2), .import-history-card th:nth-child(4), .import-history-card td:nth-child(4) { display: none; }.alerts-summary { gap: 0.55rem; }.alerts-summary article { padding: 0.68rem; }.alert-page-grid { gap: 0.7rem; }.alert-feed-item { grid-template-columns: 1.55rem minmax(0, 1fr); align-items: start; }.alert-feed-item .text-action { grid-column: 2; justify-self: start; }.connection-grid { gap: 0.65rem; }.connection-card { padding: 0.8rem !important; }.connection-copy p { font-size: 0.67rem; } }

/* General-purpose dataset analysis */
.dataset-purpose-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; margin: 0.95rem 0; }.dataset-purpose-switch button { display: grid; grid-template-columns: 1.85rem minmax(0, 1fr); column-gap: 0.55rem; padding: 0.72rem; border: 1px solid #e1e6f0; border-radius: 0.65rem; background: #fafbfe; color: #526079; cursor: pointer; font: inherit; text-align: left; }.dataset-purpose-switch button:hover { border-color: #aebcf8; background: #f5f7ff; }.dataset-purpose-switch button.selected { border-color: #3154f5; background: #eef1ff; color: #2444cd; }.dataset-purpose-switch button > span { display: grid; grid-row: span 2; place-items: center; width: 1.85rem; height: 1.85rem; border-radius: 0.52rem; background: #e9edf8; color: #61708a; font-weight: 900; }.dataset-purpose-switch button.selected > span { background: #3154f5; color: #fff; }.dataset-purpose-switch strong { overflow: hidden; font-size: 0.73rem; text-overflow: ellipsis; white-space: nowrap; }.dataset-purpose-switch small { margin-top: 0.13rem; color: #8390a5; font-size: 0.62rem; line-height: 1.35; }.file-purpose-flow[hidden] { display: none; }.dataset-explore-flow > .subtle { max-width: 750px; margin-top: 0; font-size: 0.78rem; }.compact-drop-zone { min-height: 68px; }.generic-analysis-output { margin-top: 0.85rem; padding-top: 0.85rem; border-top: 1px solid #edf0f5; }.analysis-dataset-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 0.65rem; }.analysis-dataset-heading strong { overflow: hidden; color: #32405c; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }.analysis-dataset-heading span { flex: 0 0 auto; color: #8a96aa; font-size: 0.65rem; }.dataset-table-picker { margin: 0.7rem 0; padding: 0.65rem; border-radius: 0.58rem; background: #f7f8fe; }.dataset-table-picker > small { display: block; margin-bottom: 0.4rem; color: #8a96aa; font-size: 0.55rem; font-weight: 800; letter-spacing: .08em; }.dataset-table-picker > div { display: flex; flex-wrap: wrap; gap: 0.35rem; }.dataset-table-picker button { display: inline-flex; gap: 0.35rem; align-items: center; padding: 0.36rem 0.52rem; border: 1px solid #dce2f5; border-radius: 0.42rem; background: #fff; color: #52607a; cursor: pointer; font: inherit; font-size: 0.65rem; }.dataset-table-picker button.selected { border-color: #3154f5; background: #eef0ff; color: #2544cc; font-weight: 750; }.dataset-table-picker button span { color: #8994a9; font-size: 0.58rem; }.generic-analysis-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }.generic-analysis-cards article { min-width: 0; padding: 0.68rem; border: 1px solid #e8ecf4; border-radius: 0.58rem; background: #fafbfe; }.generic-analysis-cards small { display: block; color: #94a0b6; font-size: 0.54rem; font-weight: 800; letter-spacing: .08em; }.generic-analysis-cards strong { display: block; overflow: hidden; margin-top: 0.18rem; color: #35415a; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }.generic-analysis-cards p { margin: 0.3rem 0 0; color: #75829a; font-size: 0.66rem; line-height: 1.45; }.dataset-fields { margin-top: 0.65rem; padding: 0.68rem; border: 1px solid #e8ecf4; border-radius: 0.58rem; }.dataset-fields summary { color: #52607a; cursor: pointer; font-size: 0.7rem; font-weight: 750; }.dataset-fields p { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 2fr); gap: 0.65rem; margin: 0.5rem 0 0; padding-top: 0.5rem; border-top: 1px solid #f0f2f6; color: #8a96aa; font-size: 0.64rem; line-height: 1.4; }.dataset-fields p strong { overflow: hidden; color: #59667e; text-overflow: ellipsis; white-space: nowrap; }.generic-suggestions { margin-top: 0.75rem; }.generic-question { margin-top: 0.9rem; padding-top: 0.85rem; border-top: 1px solid #edf0f5; }.generic-question label { display: block; margin-bottom: 0.36rem; color: #58657d; font-size: 0.72rem; font-weight: 750; }.generic-question > div { display: flex; gap: 0.55rem; }.generic-question input { min-width: 0; flex: 1; height: 2.45rem; padding: 0 0.7rem; border: 1px solid #dde3ee; border-radius: 0.55rem; outline: 0; color: #35415a; font: inherit; font-size: 0.75rem; }.generic-question input:focus { border-color: #93a5ff; box-shadow: 0 0 0 3px #eef0ff; }.generic-question .ai-answer { min-height: 0; margin: 0.65rem 0 0; padding: 0.7rem; font-size: 0.73rem; line-height: 1.45; }
@media (max-width: 700px) { .dataset-purpose-switch { grid-template-columns: 1fr; gap: 0.5rem; }.generic-analysis-cards { grid-template-columns: 1fr; }.analysis-dataset-heading { align-items: flex-start; flex-direction: column; gap: 0.18rem; }.dataset-fields p { grid-template-columns: 1fr; gap: 0.15rem; }.generic-question > div { align-items: stretch; flex-direction: column; }.generic-question .button-primary { justify-content: center; } }

/* Saved dataset sources and confirmation actions */
.file-activity-card { margin-top: 1rem; }.activity-status { display: inline-flex; padding: 0.3rem 0.48rem; border-radius: 99px; background: #e9efff; color: #3154f5; font-size: 0.63rem; font-weight: 800; white-space: nowrap; }.activity-status.deleted { background: #fff0f2; color: #ca4054; }.activity-status.cleared { background: #fff5df; color: #a97013; }
@media (max-width: 700px) { .file-activity-card th:nth-child(3), .file-activity-card td:nth-child(3), .file-activity-card th:nth-child(5), .file-activity-card td:nth-child(5) { display: none; } }
.generic-save-actions { margin-top: 0.8rem; }.action-dialog { position: fixed; z-index: 30; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(15, 23, 42, 0.42); }.action-dialog[hidden] { display: none; }.action-dialog-card { width: min(100%, 410px); padding: 1.25rem; border: 1px solid #e7eaf1; border-radius: 0.85rem; background: #fff; box-shadow: 0 20px 55px rgba(15, 23, 42, 0.22); }.action-dialog-card h2 { margin: 0.22rem 0 0; color: #202a3e; font-size: 1.05rem; }.action-dialog-card .subtle { margin: 0.55rem 0 1rem; font-size: 0.77rem; line-height: 1.5; }.button-danger { border: 0; border-radius: 0.5rem; padding: 0.64rem 0.8rem; background: #e5485c; color: #fff; cursor: pointer; font: inherit; font-size: 0.72rem; font-weight: 750; }.button-danger:disabled { cursor: wait; opacity: 0.65; }.saved-datasets-card { margin-top: 1rem; padding: 1.05rem; }.saved-datasets-card > .subtle { margin: -0.25rem 0 0.75rem; }.saved-dataset-list { display: grid; gap: 0.5rem; }.saved-dataset-list article { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem; border: 1px solid #e8ecf4; border-radius: 0.6rem; background: #fafbfe; }.saved-dataset-list strong { display: block; overflow: hidden; color: #35415a; font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }.saved-dataset-list p { margin: 0.18rem 0 0; color: #8490a5; font-size: 0.65rem; }.saved-dataset-list > article > span { min-width: 95px; text-align: right; }.saved-dataset-list small { display: block; color: #98a3b5; font-size: 0.52rem; font-weight: 800; letter-spacing: 0.06em; }.saved-dataset-list b { display: block; margin-top: 0.15rem; color: #3154f5; font-size: 0.75rem; }
@media (max-width: 700px) { .saved-dataset-list article { align-items: flex-start; flex-direction: column; }.saved-dataset-list > article > span { min-width: 0; text-align: left; } }

/* Account and security settings */
.settings-main { display: grid; gap: 1rem; }.settings-main > .topbar { margin-bottom: 0.25rem; }.settings-main .settings-card { margin: 0; }.settings-main .account-card { padding: 1.05rem 1.15rem !important; background: #fff !important; border-top: 1px solid #e8ebf2; border-radius: 0.9rem !important; }.setting-list { margin-top: 0.75rem; overflow: hidden; border: 1px solid #edf0f5; border-radius: 0.7rem; }.settings-row { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 4.15rem; gap: 1rem; padding: 0.75rem 0.85rem; border: 0; border-bottom: 1px solid #edf0f5; background: #fff; color: #28334a; cursor: pointer; font: inherit; text-align: left; transition: background .16s ease, color .16s ease; }.settings-row:last-child { border-bottom: 0; }.settings-row:hover, .settings-row:focus-visible { outline: 0; background: #f7f8ff; color: #3154f5; }.settings-row > span { min-width: 0; }.settings-row strong { display: block; overflow: hidden; color: inherit; font-size: 0.82rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }.settings-row small { display: block; overflow: hidden; margin-top: 0.2rem; color: #8a96aa; font-size: 0.65rem; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }.settings-row b { flex: 0 0 auto; color: #77839a; font-size: 1.7rem; font-weight: 400; line-height: 1; }.settings-row-danger strong, .settings-row-danger:hover, .settings-row-danger:focus-visible { color: #d5354d; }.account-dialog-card { position: relative; max-height: min(640px, calc(100vh - 2rem)); overflow-y: auto; }.dialog-close { position: absolute; top: 0.7rem; right: 0.75rem; display: grid; place-items: center; width: 1.85rem; height: 1.85rem; border: 0; border-radius: 50%; background: #f3f5fa; color: #657188; cursor: pointer; font: inherit; font-size: 1.25rem; line-height: 1; }.dialog-close:hover { background: #e8edff; color: #3154f5; }.dialog-form { display: grid; gap: 0.72rem; }.dialog-form label { display: grid; gap: 0.35rem; color: #4f5c73; font-size: 0.72rem; font-weight: 760; }.dialog-form input:not([type="checkbox"]) { width: 100%; height: 2.5rem; border: 1px solid #dde3ed; border-radius: 0.55rem; outline: 0; padding: 0 0.68rem; background: #fff; color: #27334a; font: inherit; font-size: 0.78rem; }.dialog-form input:focus { border-color: #92a4ff; box-shadow: 0 0 0 3px #eef1ff; }.dialog-form small { color: #8b96aa; font-size: 0.63rem; font-weight: 500; line-height: 1.4; }.dialog-form .check-label { display: flex; align-items: center; gap: 0.55rem; padding: 0.7rem; border: 1px solid #e5e9f2; border-radius: 0.58rem; background: #fafbfe; color: #526078; }.check-label input { width: 1rem; height: 1rem; accent-color: #3154f5; }.dialog-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.3rem; }.dialog-actions .button-primary, .dialog-actions .button-ghost { padding: 0.64rem 0.78rem; border-radius: 0.52rem; font-size: 0.72rem; }.dialog-actions .button-primary:disabled { opacity: .65; cursor: wait; }
.security-steps { display: grid; gap: 0.36rem; margin: 0.85rem 0; padding: 0.75rem 0.75rem 0.75rem 1.8rem; border-radius: 0.6rem; background: #f7f8fe; color: #64708a; font-size: 0.72rem; line-height: 1.4; }.totp-qr { display: block; width: min(100%, 205px); aspect-ratio: 1; margin: 0.8rem auto; padding: 0.45rem; border: 1px solid #e5e9f2; border-radius: 0.65rem; background: #fff; }.totp-manual { margin: 0.85rem 0; padding: 0.7rem; border: 1px solid #e6eaf3; border-radius: 0.58rem; background: #fafbfe; color: #64708a; font-size: 0.7rem; line-height: 1.4; }.totp-manual summary { color: #3154f5; cursor: pointer; font-weight: 750; }.totp-manual p { margin: 0.5rem 0; }.totp-manual code { display: block; overflow-wrap: anywhere; padding: 0.55rem; border-radius: 0.4rem; background: #edf0ff; color: #263f9e; font-size: 0.7rem; user-select: all; }.security-gate { display: grid; min-height: 100vh; place-items: center; padding: 1rem; background: linear-gradient(135deg, #f5f7ff, #f9fbff); }.security-gate-card { width: min(100%, 420px); padding: 1.45rem; border: 1px solid #e2e7f1; border-radius: 1rem; background: #fff; box-shadow: 0 22px 60px rgba(35, 53, 95, 0.13); }.security-gate-brand { margin-bottom: 1.45rem; }.security-gate-brand strong { color: #1d2940; }.security-gate-brand small { color: #738099; }.security-gate-card h1 { margin: 0.18rem 0 0; color: #1f2a42; font-size: 1.45rem; letter-spacing: -0.04em; }.security-gate-card > .subtle { margin: 0.55rem 0 1rem; color: #68758c; font-size: 0.8rem; line-height: 1.5; }.security-gate-card form { display: grid; gap: 0.75rem; }.security-gate-card label { display: grid; gap: 0.38rem; color: #4f5d74; font-size: 0.74rem; font-weight: 750; }.security-gate-card input { height: 2.7rem; border: 1px solid #dce3f0; border-radius: 0.58rem; outline: 0; padding: 0 0.75rem; color: #263149; font: inherit; font-size: 1rem; letter-spacing: 0.12em; text-align: center; }.security-gate-card input:focus { border-color: #91a3ff; box-shadow: 0 0 0 3px #edf0ff; }.security-gate-card .button-primary { margin-top: 0.15rem; }.security-cancel { display: block; margin: 0.85rem auto 0; border: 0; background: transparent; cursor: pointer; font: inherit; }
@media (max-width: 700px) { .settings-main { gap: 0.75rem; padding-bottom: 5.7rem; }.settings-main > .topbar { margin-bottom: 0; }.settings-main .account-card { padding: 0.85rem !important; }.settings-row { min-height: 3.85rem; padding: 0.68rem 0.72rem; }.settings-row strong { font-size: 0.78rem; }.settings-row small { max-width: 250px; font-size: 0.62rem; }.action-dialog { align-items: end; padding: 0; }.account-dialog-card { width: 100%; max-height: calc(100vh - 1rem); padding: 1.1rem; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }.dialog-actions { justify-content: stretch; }.dialog-actions .button-primary, .dialog-actions .button-ghost, .dialog-actions .button-danger { flex: 1; text-align: center; } }

/* Dataset library */
.dataset-library-main { max-width: 1320px; }.dataset-library-grid { display: grid; gap: 1rem; }.dataset-library-card { padding: 1.1rem !important; }.dataset-library-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 0.85rem; }.dataset-library-card h2 { margin: 0.16rem 0 0; color: #253149; font-size: 1.02rem; }.dataset-library-card header .subtle { margin: 0.28rem 0 0; font-size: 0.72rem; }.library-details { margin-top: 0.85rem; border-top: 1px solid #edf0f5; }.library-details > summary { padding: 0.78rem 0 0.1rem; color: #3154f5; cursor: pointer; font-size: 0.73rem; font-weight: 800; }.library-preview { padding-top: 0.7rem; }.library-preview h3 { margin: 0.5rem 0; color: #53617a; font-size: 0.7rem; }.dataset-preview-table { max-height: 400px; margin-bottom: 0.9rem; border: 1px solid #e8ecf4; border-radius: 0.58rem; overflow: auto; }.dataset-preview-table table { min-width: max-content; }.dataset-preview-table th { position: sticky; top: 0; background: #f7f8fe; }.dataset-preview-table td, .dataset-preview-table th { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.library-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.52rem; }.library-fields p { display: grid; gap: 0.15rem; margin: 0; padding: 0.62rem; border: 1px solid #e8ecf4; border-radius: 0.55rem; background: #fafbfe; }.library-fields strong { overflow: hidden; color: #59667e; font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }.library-fields span, .library-note { color: #8591a6; font-size: 0.63rem; line-height: 1.42; }.library-note { padding: 0.68rem; border-radius: 0.52rem; background: #f8f9fe; }.library-empty { padding: 1.2rem !important; }.library-empty h2 { margin: 0; color: #303b52; font-size: 1rem; }.library-empty .subtle { max-width: 550px; margin: 0.35rem 0 0.85rem; font-size: 0.75rem; }
@media (max-width: 700px) { .dataset-library-card { padding: 0.85rem !important; }.dataset-library-card > header { gap: 0.7rem; }.library-fields { grid-template-columns: 1fr; }.dataset-preview-table { max-height: 350px; } }
