:root {
  --bg: #f5f5f2;
  --surface: #ffffff;
  --surface-muted: #f0f0eb;
  --text: #111111;
  --text-soft: #5d5d57;
  --line: #d9d9d2;
  --accent: #161616;
  --radius: 22px;
  --shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
  --container: 1180px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: Inter, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
.container { width: min(var(--container), calc(100% - 48px)); margin: 0 auto; }
.narrow { width: min(840px, calc(100% - 48px)); }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(245,245,242,0.85); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(0,0,0,0.05); }
.nav-row, .footer-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.site-nav, .footer-links { display: flex; align-items: center; gap: 20px; }
.brand { font-weight: 700; letter-spacing: -0.03em; }
.hero { padding: 72px 0 48px; }
.hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 36px; align-items: center; }
.hero h1, .section h1, .panel-header h1, .auth-card h1 { font-size: clamp(2.3rem, 5vw, 4.7rem); line-height: 0.95; letter-spacing: -0.05em; margin: 0 0 20px; }
.lead { font-size: 1.05rem; color: var(--text-soft); max-width: 62ch; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; color: var(--text-soft); margin-bottom: 12px; }
.hero-actions { display: flex; gap: 14px; margin-top: 28px; }
.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: 0 20px; border-radius: 999px; border: 1px solid var(--line); font-weight: 600;
}
.button-dark { background: var(--accent); color: #fff; border-color: var(--accent); }
.button-light { background: transparent; color: var(--text); }
.hero-card, .card, .auth-card { background: var(--surface); border: 1px solid rgba(0,0,0,0.05); border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-card { padding: 18px; }
.mock-window { border-radius: 18px; overflow: hidden; border: 1px solid var(--line); background: #fcfcf9; }
.mock-top { height: 38px; background: var(--surface-muted); border-bottom: 1px solid var(--line); }
.mock-body { padding: 18px; }
.mock-row, .mock-grid { display: grid; gap: 12px; }
.mock-row { grid-template-columns: 1fr 1fr; margin-top: 12px; }
.mock-grid { grid-template-columns: 1fr 1fr; margin-top: 12px; }
.mock-tile, .mock-result { background: var(--surface-muted); border-radius: 16px; min-height: 64px; }
.mock-tile.large { min-height: 72px; }
.mock-result { min-height: 108px; }
.section { padding: 48px 0; }
.card-grid { display: grid; gap: 20px; }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card { padding: 28px; }
.card h3 { margin-top: 0; font-size: 1.25rem; letter-spacing: -0.03em; }
.stack { display: grid; gap: 18px; }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.auth-card { width: min(560px, 100%); padding: 32px; }
.form-stack { display: grid; gap: 18px; }
.form-stack.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-stack .full { grid-column: 1 / -1; }
label span { display: block; margin-bottom: 8px; font-size: 0.92rem; color: var(--text-soft); }
input, textarea {
  width: 100%; min-height: 50px; border-radius: 14px; border: 1px solid var(--line); background: #fff;
  padding: 14px 16px; font: inherit; color: var(--text);
}
textarea { min-height: 140px; resize: vertical; }
.dashboard-shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.sidebar { padding: 28px; border-right: 1px solid rgba(0,0,0,0.06); background: #f2f2ed; }
.sidebar nav { display: grid; gap: 10px; margin-top: 28px; }
.sidebar nav a { padding: 12px 14px; border-radius: 14px; }
.sidebar nav a:hover { background: rgba(0,0,0,0.04); }
.app-main { padding: 34px; }
.panel-header { margin-bottom: 24px; }
.stat strong { display: block; font-size: 2rem; letter-spacing: -0.05em; margin-top: 8px; }
.price { font-size: 2.4rem; letter-spacing: -0.05em; margin: 12px 0; }
.pricing.featured { outline: 2px solid rgba(0,0,0,0.16); }
.alert { margin-bottom: 18px; padding: 14px 16px; border-radius: 14px; }
.alert.success { background: #eef8ef; border: 1px solid #cde4cf; }
.site-footer { padding: 22px 0 36px; color: var(--text-soft); }
@media (max-width: 960px) {
  .hero-grid, .card-grid.three, .card-grid.two, .dashboard-shell, .form-stack.two-col { grid-template-columns: 1fr; }
  .site-nav, .footer-links { flex-wrap: wrap; }
}

.field-error { display: block; margin-top: 8px; color: #a33434; font-size: 0.9rem; }
.alert.error { background: #fff2f2; border: 1px solid #efcccc; }
.page-section { padding: 28px 0; }
.sidebar-user { margin-top: 18px; padding: 14px; border-radius: 14px; background: rgba(255,255,255,0.55); display: grid; gap: 4px; }
.sidebar-user span { color: var(--text-soft); font-size: 0.9rem; }
.logout-form { margin-top: 28px; }
.button-full { width: 100%; }
.simple-table { width: 100%; border-collapse: collapse; }
.simple-table th, .simple-table td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--line); }

.field-error { display:block; margin-top:8px; color:#9b1c1c; font-size:12px; }
.form-actions, .inline-actions, .section-head-inline, .result-meta-row { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.empty-state { text-align:left; }
.result-card h3, .result-asset-card h3 { margin-bottom:8px; }
.badge { display:inline-flex; align-items:center; border:1px solid #d8d2c8; background:#f8f6f1; color:#1a1a1a; border-radius:999px; padding:5px 10px; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.badge-dark { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
.muted { color:#666; font-size:14px; }
.panel-section { margin-top:32px; }
.result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.result-preview-frame { background:#f4f1ec; border:1px solid #ddd6ca; border-radius:18px; padding:14px; margin-bottom:14px; aspect-ratio: 4 / 3; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.result-preview-frame img { max-width:100%; max-height:100%; display:block; }
.meta-list { display:grid; gap:14px; margin:0; }
.meta-list div { display:grid; gap:4px; }
.meta-list dt { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#777; }
.meta-list dd { margin:0; color:#141414; }
.table-card { overflow:auto; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th, .data-table td { padding:14px 10px; border-bottom:1px solid #ece7df; text-align:left; vertical-align:top; }
.data-table th { font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#666; }

.alert.info { background:#eef4fb; border:1px solid #c8d9ef; }
.button[disabled] { opacity:.55; cursor:not-allowed; }
.alert-info { background:#eef4fb; border:1px solid #c8d9ef; }


select { width:100%; min-height:50px; border-radius:14px; border:1px solid var(--line); background:#fff; padding:14px 16px; font:inherit; color:var(--text); }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.compact-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.compact-grid-text { gap:18px; }
.subtle-card { background:#faf9f6; box-shadow:none; }
.checkbox-row { display:flex; align-items:center; gap:10px; min-height:50px; }
.checkbox-row input { width:auto; min-height:auto; }
.badge-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; background:#f3f0ea; padding:3px 8px; border-radius:999px; }
@media (max-width: 960px) { .form-grid, .compact-grid { grid-template-columns:1fr; } }


.filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0;align-items:end}.filter-form input,.filter-form select{width:100%;padding:10px 12px;border:1px solid #d8dde3;border-radius:10px;background:#fff}.detail-card p{margin:0 0 12px 0}.btn-secondary{background:#eef2f5;color:#0f1720}.table-card .data-table td:last-child,.table-card .data-table th:last-child{text-align:right}pre{white-space:pre-wrap;word-break:break-word;background:#0f1720;color:#f8fafc;padding:16px;border-radius:14px;overflow:auto}
.hero-rich{padding-top:88px}.section-contrast{background:#efeee8}.split-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.hero-badges{margin-top:22px}.feature-list{padding-left:18px;color:var(--text-soft)}.feature-list li{margin-bottom:8px}.cta-card{margin-top:24px}.site-nav .button{min-height:42px}.site-footer .footer-links a{color:var(--text-soft)}@media (max-width:960px){.split-grid{grid-template-columns:1fr}}

.locale-switch{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.locale-switch-sidebar{margin-top:20px}.locale-label{font-size:12px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.checklist{margin:0;padding-left:20px}.docs-code{white-space:pre-wrap;background:#111;color:#fff;padding:16px;border-radius:16px;overflow:auto}


/* --- Frontend polish layer --- */
.public-body {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.9), rgba(255,255,255,0) 32%),
    linear-gradient(180deg, #f7f7f3 0%, #f2f1eb 100%);
}
.app-body {
  background: linear-gradient(180deg, #f6f5ef 0%, #efeee7 100%);
}
.site-header {
  background: rgba(247,247,243,0.78);
  border-bottom: 1px solid rgba(17,17,17,0.06);
}
.brand { font-size: 1.05rem; }
.site-nav a:not(.button) { color: var(--text-soft); }
.site-nav a:hover, .footer-links a:hover, .sidebar nav a:hover { color: var(--text); }
.button {
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(0,0,0,0.08); }
.button-light { background: rgba(255,255,255,0.72); }
.button-light:hover { background: #fff; }
.button-dark { box-shadow: 0 14px 28px rgba(17,17,17,0.18); }
.button-ghost {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 16px;
  border-radius:999px; border:1px solid rgba(17,17,17,0.08); background:transparent; color:var(--text-soft); font-weight:600;
}
.hero-rich { padding-top: 92px; padding-bottom: 58px; }
.hero-grid-refined {
  display:grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 32px; align-items: stretch;
}
.hero-copy {
  padding: 16px 0 10px;
}
.hero-copy .lead { max-width: 58ch; }
.hero-kpis {
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; margin-top: 30px;
}
.mini-kpi {
  padding: 18px 18px 16px; border-radius: 20px; background: rgba(255,255,255,0.72); border: 1px solid rgba(17,17,17,0.06);
  backdrop-filter: blur(10px);
}
.mini-kpi strong { display:block; font-size:1.4rem; letter-spacing:-0.05em; }
.mini-kpi span { color: var(--text-soft); font-size: .9rem; }
.showcase-shell {
  background: linear-gradient(180deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.98) 100%);
  border: 1px solid rgba(17,17,17,0.06); border-radius: 30px; padding: 18px; box-shadow: 0 22px 56px rgba(0,0,0,0.08);
}
.showcase-topbar { display:flex; align-items:center; justify-content:space-between; padding: 4px 2px 14px; }
.window-dots { display:flex; gap:8px; }
.window-dots span { width:10px; height:10px; border-radius:50%; background:#d7d6cf; display:block; }
.showcase-label { color: var(--text-soft); font-size: .82rem; }
.showcase-grid { display:grid; grid-template-columns: .82fr 1.18fr; gap:16px; }
.showcase-brief, .showcase-results, .process-card, .cta-band, .workspace-hero, .chart-card, .summary-card, .sticky-brief {
  background:#fff; border:1px solid rgba(17,17,17,0.06); border-radius:24px; box-shadow: 0 14px 30px rgba(0,0,0,0.05);
}
.showcase-brief { padding:18px; }
.showcase-results { padding:18px; }
.showcase-heading { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:14px; }
.showcase-heading strong { font-size:1rem; letter-spacing:-0.03em; }
.showcase-heading span { color: var(--text-soft); font-size:.86rem; }
.token-row, .showcase-badges, .summary-tags { display:flex; gap:10px; flex-wrap:wrap; }
.token, .summary-tag {
  display:inline-flex; align-items:center; min-height:32px; padding:0 12px; border-radius:999px; background:#f4f3ee; border:1px solid #e3e1d9; color:#222; font-size:.86rem;
}
.logo-matrix { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.logo-tile {
  border-radius:20px; border:1px solid #ece8df; background: linear-gradient(180deg,#fbfaf7 0%, #f3f1ea 100%); min-height:160px;
  padding:16px; display:flex; flex-direction:column; justify-content:space-between;
}
.logo-mark {
  width:58px; height:58px; border-radius:18px; background:linear-gradient(135deg,#151515 0%, #363636 100%); color:#fff;
  display:grid; place-items:center; font-weight:700; letter-spacing:-0.04em;
}
.logo-line { height:10px; border-radius:999px; background:#d8d4ca; }
.logo-line.short { width:58%; }
.metric-strip {
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; margin-top: 12px;
}
.metric-card {
  padding:20px 22px; border-radius:24px; background: rgba(255,255,255,0.8); border:1px solid rgba(17,17,17,0.06);
}
.metric-card strong { display:block; font-size:1.65rem; letter-spacing:-0.05em; margin-bottom:8px; }
.metric-card span { color:var(--text-soft); }
.section-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom: 22px; }
.section-heading h2 { margin:0; font-size: clamp(1.8rem, 2.8vw, 3rem); letter-spacing:-0.05em; }
.section-heading p { margin:8px 0 0; color:var(--text-soft); max-width:60ch; }
.section-heading .eyebrow { margin-bottom: 8px; }
.feature-card-premium { min-height: 100%; }
.feature-card-premium p { color: var(--text-soft); }
.feature-icon {
  width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:#f4f2eb; border:1px solid #e3e0d7; font-weight:700; margin-bottom:18px;
}
.process-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px; }
.process-card { padding: 26px; }
.process-number { font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-soft); }
.process-card h3 { margin: 16px 0 8px; }
.process-card p { margin: 0; color: var(--text-soft); }
.audience-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px; }
.cta-band { padding: 30px; display:grid; grid-template-columns: 1.2fr .8fr; gap:24px; align-items:center; }
.cta-band h3 { margin:0 0 10px; font-size: clamp(1.6rem, 2.4vw, 2.4rem); letter-spacing:-0.05em; }
.cta-band p { margin:0; color: var(--text-soft); }
.cta-band .hero-actions { margin-top:0; justify-content:flex-end; }
.dashboard-shell { grid-template-columns: 280px 1fr; }
.sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(242,242,237,0.9) 100%);
  backdrop-filter: blur(14px);
}
.sidebar nav a { color: var(--text-soft); font-weight: 500; }
.sidebar nav a:hover, .sidebar nav a.active { background:#fff; color:var(--text); box-shadow: 0 10px 22px rgba(0,0,0,0.05); }
.app-main { padding: 34px 36px 50px; }
.workspace-hero {
  padding: 28px; display:grid; grid-template-columns: 1.15fr .85fr; gap:24px; margin-bottom: 24px;
}
.workspace-hero h1 { margin:0 0 12px; font-size: clamp(2.2rem, 4vw, 3.6rem); letter-spacing:-0.05em; }
.workspace-hero p { margin:0; color: var(--text-soft); }
.workspace-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.workspace-meta { display:grid; gap:14px; }
.meta-panel {
  padding:18px; border-radius:20px; background:#f7f5ef; border:1px solid #e6e2d8;
}
.meta-panel strong { display:block; font-size:1.2rem; margin-bottom:6px; letter-spacing:-0.04em; }
.meta-panel span { color:var(--text-soft); font-size:.92rem; }
.stats-grid, .kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.stat-card {
  position:relative; overflow:hidden; padding:22px; border-radius:24px;
}
.stat-card::after {
  content:''; position:absolute; inset:auto -20% -45% auto; width:130px; height:130px; border-radius:50%; background: radial-gradient(circle, rgba(17,17,17,0.08) 0%, rgba(17,17,17,0) 68%);
}
.stat-label { color: var(--text-soft); font-size: .9rem; }
.progress-row { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:14px; }
.progress { width:100%; height:9px; border-radius:999px; background:#ece9e1; overflow:hidden; }
.progress > span { display:block; height:100%; border-radius:999px; background:#181818; }
.chart-card, .summary-card { padding:24px; }
.chart-card h2, .summary-card h2 { margin-top:0; }
.chart-bars { display:grid; gap:12px; }
.chart-bar-row { display:grid; grid-template-columns: 90px 1fr 42px; gap:14px; align-items:center; }
.chart-track { height:10px; border-radius:999px; background:#ece9e1; overflow:hidden; }
.chart-fill { height:100%; border-radius:999px; background:#1a1a1a; }
.generator-layout {
  display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:24px; align-items:start;
}
.generator-header-card {
  padding: 24px 26px; border-radius: 26px; background: linear-gradient(180deg,#ffffff 0%, #f8f6f0 100%); border:1px solid rgba(17,17,17,0.06); box-shadow:0 16px 34px rgba(0,0,0,0.05);
}
.generator-header-card h1 { margin-bottom: 12px; }
.form-shell {
  padding: 26px; border-radius: 28px; background:#fff; border:1px solid rgba(17,17,17,0.06); box-shadow: 0 18px 40px rgba(0,0,0,0.06);
}
.form-section-title { margin: 0 0 14px; font-size: 1.15rem; letter-spacing: -0.03em; }
.input-soft, select, input, textarea { transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease; }
select:focus, input:focus, textarea:focus {
  outline:none; border-color: rgba(17,17,17,0.2); box-shadow:0 0 0 4px rgba(17,17,17,0.05);
}
.field-group { display:grid; gap:16px; }
.sticky-brief {
  position: sticky; top: 96px; padding:24px;
}
.summary-card-title { margin:0 0 12px; font-size:1.05rem; }
.summary-grid { display:grid; gap:12px; }
.summary-item {
  display:grid; gap:4px; padding:14px 16px; border-radius:18px; background:#f7f5ef; border:1px solid #e6e2d8;
}
.summary-item span { font-size:.82rem; color:var(--text-soft); text-transform:uppercase; letter-spacing:.08em; }
.summary-item strong { font-size:1rem; letter-spacing:-0.03em; }
.tip-list { display:grid; gap:12px; padding-left: 18px; color: var(--text-soft); }
.tip-list li { padding-left: 4px; }
.generator-footer-note { color: var(--text-soft); font-size:.92rem; margin-top: 14px; }
.table-card, .card, .auth-card { backdrop-filter: blur(10px); }
.status-pill { display:inline-flex; align-items:center; gap:8px; font-size:.82rem; color:var(--text-soft); }
.status-dot { width:8px; height:8px; border-radius:50%; background:#181818; display:block; }
@media (max-width: 1100px) {
  .hero-grid-refined, .workspace-hero, .generator-layout, .cta-band, .showcase-grid { grid-template-columns: 1fr; }
  .metric-strip, .stats-grid, .kpi-grid, .process-grid, .audience-grid { grid-template-columns: 1fr 1fr; }
  .hero-kpis { grid-template-columns: 1fr; }
  .sticky-brief { position: static; }
}
@media (max-width: 760px) {
  .metric-strip, .stats-grid, .kpi-grid, .process-grid, .audience-grid, .logo-matrix, .chart-bar-row { grid-template-columns: 1fr; }
  .chart-bar-row { gap:8px; }
  .hero-actions, .workspace-actions { flex-direction: column; align-items: stretch; }
  .cta-band .hero-actions { justify-content: stretch; }
}


/* --- Final brand/theme system --- */
:root {
  --brand-accent: #111111;
  --brand-accent-2: #444444;
  --brand-bg: #f5f5f2;
  --brand-surface: #ffffff;
  --brand-surface-muted: #f3f2ec;
  --brand-line: rgba(17,17,17,0.08);
  --brand-text: #111111;
  --brand-text-soft: #66625a;
  --brand-success: #edf8ef;
  --brand-success-line: #cfe6d4;
  --brand-error: #fff3f1;
  --brand-error-line: #efc8c2;
  --brand-info: #eff4fb;
  --brand-info-line: #cadbee;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
}
.brand-lockup { display:inline-flex; align-items:center; gap:12px; }
.brand-logo { height:34px; width:auto; display:block; }
.brand-logo-sidebar { height:32px; max-width:170px; }
.brand-logo-footer { height:28px; margin-bottom:10px; }
.brand-mark-img { width:38px; height:38px; display:block; }
.brand-lockup-sidebar { color:var(--brand-text); font-weight:700; margin-bottom:18px; display:inline-flex; align-items:center; }
.footer-brand { display:flex; align-items:flex-start; gap:14px; }
.page-shell { padding-top: 56px; }
.component-header { margin-bottom: 24px; }
.component-header.align-center { text-align:center; }
.component-header.align-center .lead { margin-left:auto; margin-right:auto; }
.surface-card, .unified-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,249,244,0.98) 100%);
  border:1px solid var(--brand-line);
  box-shadow: 0 18px 40px rgba(0,0,0,0.05);
}
.unified-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.unified-grid-results { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.pricing-grid-unified { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; }
.pricing-card-unified { display:grid; gap:20px; align-content:start; min-height:100%; }
.pricing-card-featured { outline:2px solid rgba(17,17,17,0.15); transform: translateY(-4px); }
.pricing-card-head h3 { margin:10px 0 0; font-size:1.45rem; letter-spacing:-0.04em; }
.feature-list-tight { margin:0; padding-left:18px; display:grid; gap:10px; }
.cta-card-inline { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.detail-layout-unified { display:grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap:20px; }
.meta-list-unified { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.history-metrics { display:grid; gap:8px; margin:16px 0; color:var(--brand-text-soft); font-size:.92rem; }
.state-card {
  display:flex; align-items:flex-start; gap:14px; padding:18px 20px; border-radius:22px; border:1px solid var(--brand-line);
}
.state-card p, .state-inline p { margin:6px 0 0; color:var(--brand-text-soft); }
.state-inline-card { margin:18px 0 22px; }
.state-empty { background:linear-gradient(180deg,#fff 0%, #faf8f2 100%); }
.state-loading { background:var(--brand-info); border-color:var(--brand-info-line); }
.state-success { background:var(--brand-success); border-color:var(--brand-success-line); }
.state-error { background:var(--brand-error); border-color:var(--brand-error-line); }
.state-icon {
  flex:0 0 auto; width:34px; height:34px; border-radius:999px; display:grid; place-items:center; font-weight:700; background:rgba(17,17,17,0.08);
}
.state-inline { padding:14px 16px; border-radius:16px; border:1px solid var(--brand-line); margin:14px 0 18px; }
.state-loading .state-icon { animation:pulse 1.4s ease-in-out infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(.92);opacity:.65} }
.empty-preview { color:var(--brand-text-soft); font-size:.95rem; }
.detail-actions-wrap { gap:10px; }
.button-full { width:100%; }
.site-nav { gap:18px; }
.site-nav .locale-switch { margin-left:8px; }
.table-card { border-radius:20px; }
.card h2, .card h3 { letter-spacing:-0.04em; }
/* Mobile polish */
@media (max-width: 1100px) {
  .pricing-grid-unified, .detail-layout-unified, .meta-list-unified { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
  .container { width:min(var(--container), calc(100% - 28px)); }
  .nav-row { min-height:unset; padding:14px 0; align-items:flex-start; }
  .site-nav { width:100%; flex-wrap:wrap; justify-content:flex-start; }
  .footer-row, .cta-card-inline { flex-direction:column; align-items:flex-start; }
  .dashboard-shell, .app-shell { grid-template-columns:1fr; }
  .sidebar { border-right:0; border-bottom:1px solid rgba(0,0,0,0.06); }
  .app-main { padding:24px 18px 38px; }
}
@media (max-width: 640px) {
  .hero, .section, .page-section { padding-top:34px; padding-bottom:34px; }
  .button, .button-ghost { width:100%; }
  .hero-actions, .inline-actions, .section-head-inline, .result-meta-row { align-items:stretch; }
  .pricing-grid-unified, .unified-grid, .unified-grid-results { grid-template-columns:1fr; }
  .simple-table, .data-table { font-size:14px; }
  .data-table th:nth-child(n+4), .data-table td:nth-child(n+4) { display:none; }
  .brand-logo { height:28px; }
  .brand-logo-sidebar { height:28px; max-width:150px; }
}
