:root {
  --ink: #191521;
  --muted: #716b7c;
  --line: #e9e4ed;
  --soft: #f7f4f8;
  --white: #fff;
  --violet: #7928e8;
  --violet-dark: #5918b5;
  --violet-soft: #f1e8fe;
  --green: #087a59;
  --green-soft: #e8f8f2;
  --red: #b93250;
  --shadow: 0 20px 55px rgba(42, 24, 55, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: radial-gradient(circle at 85% 0, rgba(121,40,232,.09), transparent 31rem), #f7f5f8;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
button, input, select { font: inherit; }
button, .upload-card { cursor: pointer; }
a { color: var(--violet-dark); }
.hidden { display: none !important; }
.text-green { color: var(--green) !important; }
.text-red { color: var(--red) !important; }

.topbar {
  align-items: center;
  backdrop-filter: blur(16px);
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 22px;
  height: 76px;
  justify-content: space-between;
  padding: 0 max(22px, calc((100vw - 1240px) / 2));
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand { align-items: center; color: inherit; display: flex; gap: 11px; text-decoration: none; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.15; }
.brand small { color: var(--muted); font-size: 11px; margin-top: 4px; }
.brand-mark {
  align-items: center; background: linear-gradient(145deg,#9c43f4,#5815be);
  border-radius: 13px; box-shadow: 0 8px 22px rgba(121,40,232,.24);
  color: white; display: flex; font-size: 20px; font-weight: 900; height: 42px;
  justify-content: center; transform: rotate(-3deg); width: 42px;
}
.main-nav { align-items: center; background: #f3f0f5; border: 1px solid var(--line); border-radius: 13px; display: flex; gap: 3px; padding: 3px; }
.main-nav a { border-radius: 9px; color: var(--muted); font-size: 12px; font-weight: 700; padding: 8px 12px; text-decoration: none; }
.main-nav a.active { background: white; box-shadow: 0 3px 12px rgba(43,25,57,.08); color: var(--violet-dark); }
.account-nav { align-items: center; display: flex; gap: 11px; }
.account-email { color: var(--muted) !important; font-size: 11px !important; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-nav a { font-size: 12px; font-weight: 700; text-decoration: none; }

.page { margin: 0 auto; max-width: 1240px; min-height: calc(100vh - 155px); padding: 52px 20px 72px; }
.footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: flex; font-size: 11px; gap: 20px; justify-content: space-between; margin: 0 auto; max-width: 1200px; padding: 25px 0 35px; }
.footer strong { color: var(--ink); letter-spacing: .08em; }
.eyebrow { color: var(--violet); font-size: 10px; font-weight: 900; letter-spacing: .12em; margin: 0; text-transform: uppercase; }
h1, h2, h3 { letter-spacing: -.035em; line-height: 1.08; }
h1 { font-size: clamp(38px,5vw,66px); margin: 8px 0 18px; }
h2 { margin: 4px 0; }

.button {
  background: linear-gradient(145deg,#892ff0,#5c18bf); border: 0; border-radius: 12px;
  box-shadow: 0 10px 24px rgba(121,40,232,.2); color: white; display: inline-flex;
  font-weight: 800; justify-content: center; padding: 12px 18px; text-decoration: none;
}
.button:hover { filter: brightness(1.04); }
.button:disabled { cursor: wait; opacity: .65; }
.button.secondary { background: white; border: 1px solid var(--line); box-shadow: none; color: var(--ink); }
.button.small { border-radius: 9px; box-shadow: none; padding: 7px 10px; }
.button.full { width: 100%; }
.hero { align-items: center; display: grid; gap: 50px; grid-template-columns: 1.3fr .7fr; }
.home-hero { padding: 38px 0 50px; }
.hero > div > p:not(.eyebrow) { color: var(--muted); font-size: 17px; max-width: 680px; }
.hero-actions { display: flex; gap: 10px; margin-top: 25px; }
.hero-card { background: linear-gradient(145deg,#1a1322,#322044); border-radius: 25px; box-shadow: 0 25px 60px rgba(28,14,38,.2); color: white; display: flex; flex-direction: column; padding: 28px; }
.hero-card span { color: #b9a5c8; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.hero-card strong { color: #aaffd6; font-size: 31px; margin: 4px 0 10px; }
.hero-card p { color: #c9bdd2; margin: 0; }

.feature-grid { display: grid; gap: 14px; grid-template-columns: repeat(3,1fr); }
.feature-grid article { background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 20px; min-height: 190px; padding: 23px; }
.feature-grid article > span { color: #b29fbf; display: block; font-size: 11px; font-weight: 900; letter-spacing: .12em; margin-bottom: 28px; }
.feature-grid h2 { font-size: 19px; }
.feature-grid p { color: var(--muted); font-size: 13px; margin: 8px 0 0; }
.feature-grid.compact article { min-height: 150px; }
.feature-grid.compact article > span { margin-bottom: 15px; }

.page-heading { align-items: flex-end; display: flex; gap: 30px; justify-content: space-between; margin-bottom: 28px; }
.page-heading > div { max-width: 760px; }
.page-heading h1 { font-size: clamp(38px,5vw,60px); }
.page-heading p:last-child { color: var(--muted); margin: 0; }
.calculator-heading h1, .report-heading h1 { font-size: clamp(40px,5vw,64px); }
.privacy-badge, .save-state { background: var(--green-soft); border-radius: 999px; color: var(--green); font-size: 11px; font-weight: 800; padding: 8px 11px; }
.save-state.saved { background: var(--green-soft); color: var(--green); }

.panel { background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: 24px; }
.panel + .panel { margin-top: 15px; }
.panel-head { align-items: flex-end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 17px; }
.panel-head a { font-size: 12px; font-weight: 800; text-decoration: none; }
.stats-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,1fr); margin-bottom: 15px; }
.stats-grid a, .stats-grid article { background: white; border: 1px solid var(--line); border-radius: 20px; color: inherit; display: flex; flex-direction: column; min-height: 145px; padding: 20px; text-decoration: none; }
.stats-grid span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.stats-grid strong { font-size: 40px; margin: auto 0 2px; }
.stats-grid small { color: var(--muted); }
.empty-state { align-items: center; display: flex; flex-direction: column; padding: 45px 20px; text-align: center; }
.empty-state strong { font-size: 20px; }
.empty-state p { color: var(--muted); }
.data-list { display: flex; flex-direction: column; }
.data-list > a, .report-history-row > a { align-items: center; border-top: 1px solid var(--line); color: inherit; display: flex; gap: 20px; justify-content: space-between; padding: 14px 4px; text-decoration: none; }
.data-list > a:first-child { border-top: 0; }
.data-list a > span { display: flex; flex-direction: column; }
.data-list a > span:last-child { text-align: right; }
.data-list small, table small { color: var(--muted); display: block; }
.report-history-row { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 12px; }
.report-history-row:first-child { border-top: 0; }
.report-history-row > a { border: 0; flex: 1; }
.legacy-import { align-items: center; background: var(--violet-soft); border: 1px solid #dac6f4; border-radius: 17px; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 14px; padding: 15px 17px; }
.legacy-import p { color: var(--muted); font-size: 12px; margin: 3px 0 0; }
.account-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,1fr); }
.danger-panel { border-color: #efcbd3; }
.danger-panel > p { color: var(--muted); }
.danger-button { background: var(--red); border: 0; border-radius: 11px; color: white; font-weight: 800; padding: 11px 14px; }

.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; min-width: 820px; width: 100%; }
th { background: var(--soft); color: var(--muted); font-size: 10px; letter-spacing: .05em; padding: 12px; text-align: left; text-transform: uppercase; }
td { border-top: 1px solid var(--line); padding: 13px 12px; }
.row-actions { align-items: center; display: flex; gap: 10px; }
.row-actions form, .report-history-row form { margin: 0; }
.link-danger { background: transparent; border: 0; color: var(--red); font-size: 11px; padding: 0; }

.calculator-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0,1fr) 390px; }
.calculator-form { display: flex; flex-direction: column; gap: 15px; }
.form-section { padding: 25px; }
.section-title { align-items: flex-start; display: flex; gap: 13px; margin-bottom: 22px; }
.section-title > span { align-items: center; background: var(--violet-soft); border-radius: 10px; color: var(--violet); display: flex; flex: 0 0 34px; font-size: 11px; font-weight: 900; height: 34px; justify-content: center; }
.section-title h2 { font-size: 21px; }
.section-title p { color: var(--muted); font-size: 12px; margin: 5px 0 0; }
.field-grid { display: grid; gap: 15px 12px; grid-template-columns: repeat(2,1fr); }
.field-grid.thirds { grid-template-columns: repeat(3,1fr); }
.full-field { grid-column: 1/-1; }
label { display: flex; flex-direction: column; gap: 6px; }
label > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.field-label, .metric-label { align-items: center; display: inline-flex; gap: 5px; }
.help-tip {
  align-items: center; background: var(--violet-soft); border: 1px solid #d9c4f4;
  border-radius: 50%; color: var(--violet-dark); cursor: help; display: inline-flex;
  flex: 0 0 17px; font-size: 10px; font-weight: 900; height: 17px;
  justify-content: center; letter-spacing: 0; line-height: 1; text-transform: none;
  position: relative; user-select: none; width: 17px;
}
.help-tip:hover, .help-tip:focus, .help-tip[aria-expanded="true"] {
  background: var(--violet); border-color: var(--violet); color: white; outline: 0;
}
.help-popover {
  background: #211829; border: 1px solid rgba(255,255,255,.12); border-radius: 13px;
  box-shadow: 0 18px 45px rgba(28,14,38,.28); color: #f7f2fa; font-size: 12px;
  font-weight: 400; line-height: 1.55; max-width: calc(100vw - 24px); padding: 12px 14px;
  position: fixed; text-transform: none; white-space: pre-line; width: 330px; z-index: 1000;
}
.help-popover[hidden] { display: none; }
html:not(.help-tooltips-ready) .help-tip::after {
  background: #211829; border: 1px solid rgba(255,255,255,.12); border-radius: 13px;
  box-shadow: 0 18px 45px rgba(28,14,38,.28); color: #f7f2fa;
  content: attr(data-help); display: none; font-size: 12px; font-weight: 400;
  left: 50%; letter-spacing: 0; line-height: 1.55; max-width: calc(100vw - 24px);
  padding: 12px 14px; pointer-events: none; position: absolute; text-align: left;
  text-transform: none; top: calc(100% + 10px); transform: translateX(-50%);
  white-space: normal; width: 330px; z-index: 1000;
}
html:not(.help-tooltips-ready) .help-tip:hover::after,
html:not(.help-tooltips-ready) .help-tip:focus::after {
  display: block;
}
html:not(.help-tooltips-ready) .result-sticky .help-tip::after {
  left: auto; right: 0; transform: none;
}
.field-help { background: var(--soft); border-radius: 11px; color: var(--muted); font-size: 11px; line-height: 1.5; margin: 0; padding: 11px 13px; }
input { background: var(--soft); border: 1px solid var(--line); border-radius: 11px; color: var(--ink); outline: 0; padding: 11px 12px; width: 100%; }
select { background: var(--soft); border: 1px solid var(--line); border-radius: 11px; color: var(--ink); outline: 0; padding: 11px 12px; width: 100%; }
input:focus, select:focus { border-color: var(--violet); box-shadow: 0 0 0 3px var(--violet-soft); }
.result-sticky { background: linear-gradient(145deg,#1a1322,#30203f); border-radius: 24px; box-shadow: 0 25px 60px rgba(29,15,39,.2); color: white; padding: 26px; position: sticky; top: 96px; }
.result-sticky .eyebrow { color: #c3a5e6; }
.main-price { display: block; font-size: 52px; letter-spacing: -.055em; line-height: 1; margin: 9px 0; }
.result-sticky > p:nth-of-type(2) { color: #bbaec4; font-size: 12px; margin: 0 0 20px; }
.result-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,1fr); }
.result-grid p { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.06); border-radius: 12px; display: flex; flex-direction: column; margin: 0; padding: 11px; }
.result-grid span { color: #a99bb4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.result-grid .help-tip, .result-sticky > .eyebrow .help-tip {
  background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.2);
  color: #d9cce2; font-size: 9px;
}
.result-grid .help-tip:hover, .result-grid .help-tip:focus,
.result-grid .help-tip[aria-expanded="true"],
.result-sticky > .eyebrow .help-tip:hover, .result-sticky > .eyebrow .help-tip:focus,
.result-sticky > .eyebrow .help-tip[aria-expanded="true"] {
  background: white; border-color: white; color: var(--violet-dark);
}
.result-grid strong { margin-top: 3px; }
.cost-details { border-bottom: 1px solid rgba(255,255,255,.11); border-top: 1px solid rgba(255,255,255,.11); margin: 18px 0; padding: 11px 0; }
.cost-details summary { color: #d0c5d7; cursor: pointer; font-size: 11px; }
#costBreakdown p { display: flex; font-size: 11px; justify-content: space-between; margin: 8px 0; }
#costBreakdown span { color: #a99bb4; }
.result-note { color: #aa9cb6; font-size: 10px; text-align: center; }
.spp-box { position: relative; }
.spp-result { align-items: center; background: var(--violet-soft); border-radius: 13px; display: flex; gap: 10px; margin-top: 14px; padding: 13px; }
.spp-result span { color: var(--violet); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.spp-result .help-tip, .profit-card .help-tip {
  background: white; border-color: #d9c4f4; color: var(--violet-dark);
  font-size: 9px; text-transform: none;
}
.spp-result .help-tip:hover, .spp-result .help-tip:focus,
.spp-result .help-tip[aria-expanded="true"],
.profit-card .help-tip:hover, .profit-card .help-tip:focus,
.profit-card .help-tip[aria-expanded="true"] {
  background: var(--violet); border-color: var(--violet); color: white;
}
.spp-result strong { color: var(--violet-dark); font-size: 21px; }
.spp-result small { color: var(--muted); margin-left: auto; }

.auth-body { align-items: center; display: flex; justify-content: center; min-height: 100vh; padding: 25px; }
.auth-shell { max-width: 520px; width: 100%; }
.setup-shell { max-width: 690px; }
.auth-brand { align-items: center; display: flex; gap: 12px; justify-content: center; margin-bottom: 18px; }
.auth-card { background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); padding: 30px; }
.auth-card h1 { font-size: 40px; }
.auth-card > p:not(.eyebrow,.auth-switch,.security-note) { color: var(--muted); }
.page-auth-card { margin: 30px auto; max-width: 480px; }
.stack-form, .form-grid { display: grid; gap: 14px; margin-top: 22px; }
.form-grid { grid-template-columns: repeat(2,1fr); }
.form-error { background: #fff0f3; border: 1px solid #f1c9d2; border-radius: 12px; color: var(--red); margin: 12px 0; padding: 11px 13px; }
.security-note { background: #fff7e9; border-radius: 11px; color: #8f621d; font-size: 11px; padding: 11px; }
.auth-switch { color: var(--muted); font-size: 12px; margin: 18px 0 0; text-align: center; }
.flash-stack { left: 50%; max-width: 520px; position: fixed; top: 90px; transform: translateX(-50%); width: calc(100% - 30px); z-index: 40; }
.flash { background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); margin-bottom: 8px; padding: 12px 14px; }
.flash.success { background: var(--green-soft); border-color: #bde6d7; color: var(--green); }
.flash.info { background: var(--violet-soft); color: var(--violet-dark); }
.flash.error { background: #fff0f3; border-color: #f1c9d2; color: var(--red); }

.admin-stats { grid-template-columns: repeat(4,1fr); }
.admin-stats article { min-height: 130px; }
.admin-columns { display: grid; gap: 15px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 15px; }
.admin-columns .panel + .panel { margin-top: 0; }
.admin-notice { margin-bottom: 15px; }
.admin-notice a { white-space: nowrap; }
.status-badge { background: var(--soft); border-radius: 999px; color: var(--muted); display: inline-flex; font-size: 10px; font-weight: 900; padding: 6px 9px; text-transform: uppercase; }
.status-badge.active { background: var(--green-soft); color: var(--green); }
.status-badge.pending { background: #fff4df; color: #94611a; }
.status-badge.blocked { background: #fff0f3; color: var(--red); }
.admin-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 190px; }
.admin-actions form { margin: 0; }
.mini-button { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 10px; font-weight: 800; padding: 6px 8px; }
.mini-button.success { background: var(--green-soft); border-color: #bde6d7; color: var(--green); }
.mini-button.danger { background: #fff0f3; border-color: #f1c9d2; color: var(--red); }
.audit-list p { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin: 0; padding: 11px 0; }
.audit-list p:first-child { border-top: 0; }
.audit-list span { display: flex; flex-direction: column; }
.audit-list small, .audit-list time { color: var(--muted); font-size: 11px; }
.migration-list { display: flex; flex-direction: column; }
.migration-list article { border-top: 1px solid var(--line); display: flex; flex-direction: column; padding: 11px 0; }
.migration-list article:first-child { border-top: 0; }
.migration-list small { color: var(--muted); }
.migration-list.applied { max-height: 310px; overflow: auto; }
.check-label { align-items: flex-start; background: var(--soft); border-radius: 11px; flex-direction: row; padding: 11px 12px; }
.check-label input { flex: 0 0 auto; margin-top: 2px; width: auto; }
.check-label span { color: var(--ink); font-size: 11px; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.empty-state.compact { padding: 25px 15px; }

.upload-card { align-items: center; background: white; border: 1px dashed #c9b6dc; border-radius: 22px; box-shadow: var(--shadow); display: grid; gap: 18px; grid-template-columns: auto 1fr auto; margin-bottom: 18px; padding: 23px 26px; }
.upload-card:hover { border-color: var(--violet); }
.upload-card input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.upload-card > span:nth-child(3) { display: flex; flex-direction: column; }
.upload-card small { color: var(--muted); }
.upload-card > b { background: var(--ink); border-radius: 10px; color: white; font-size: 12px; padding: 10px 14px; }
.upload-icon { align-items: center; background: var(--violet-soft); border-radius: 13px; color: var(--violet-dark); display: flex; font-size: 10px; font-weight: 900; height: 52px; justify-content: center; width: 52px; }
.report-filebar { align-items: center; background: #211829; border-radius: 17px; color: white; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 10px; padding: 15px 18px; }
.report-filebar > div { display: flex; flex-direction: column; }
.report-filebar small, .report-filebar div span { color: #b9acc2; font-size: 11px; }
.check-pill { background: rgba(54,199,146,.18); border-radius: 999px; color: #9dffd9; font-size: 11px; font-weight: 800; padding: 7px 10px; }
.check-pill.warning { background: rgba(238,164,54,.18); color: #ffd9a0; }
.tabs { background: rgba(247,245,248,.95); border-bottom: 1px solid var(--line); display: flex; gap: 4px; margin-bottom: 26px; overflow-x: auto; padding: 6px 0 10px; position: sticky; top: 76px; z-index: 10; }
.tabs button { background: transparent; border: 0; border-radius: 10px; color: var(--muted); font-size: 12px; font-weight: 800; padding: 9px 13px; }
.tabs button.active { background: white; box-shadow: 0 4px 14px rgba(43,25,57,.08); color: var(--violet-dark); }
.report-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4,1fr); margin-bottom: 14px; }
.report-metrics article { background: white; border: 1px solid var(--line); border-radius: 18px; display: flex; flex-direction: column; min-height: 140px; padding: 18px; }
.report-metrics article.violet { background: linear-gradient(145deg,#fff,#f2e8ff); }
.report-metrics article.green { background: linear-gradient(145deg,#fff,#eefaf5); }
.report-metrics span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.report-metrics strong { font-size: 23px; margin: auto 0 4px; }
.report-metrics small { color: var(--muted); }
.report-columns { display: grid; gap: 14px; grid-template-columns: 1.3fr .7fr; margin-bottom: 14px; }
.money-bridge p { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin: 0; padding: 9px 0; }
.money-bridge span { color: var(--muted); }
.money-bridge .total { border-bottom: 0; font-size: 18px; margin-top: 6px; padding-top: 14px; }
.money-bridge .total strong { color: var(--green); font-size: 23px; }
.profit-card { background: var(--green-soft); border-radius: 14px; display: flex; flex-direction: column; margin-top: 18px; padding: 15px; }
.profit-card span { color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.profit-card strong { color: var(--green); font-size: 25px; }
.profit-card small, .report-note { color: var(--muted); font-size: 11px; }
.report-tax-fields { display: grid; gap: 10px; grid-template-columns: repeat(2,1fr); }
.tax-preview { background: var(--soft); border-radius: 12px; margin-top: 12px; padding: 5px 12px; }
.tax-preview p { align-items: center; display: flex; justify-content: space-between; margin: 7px 0; }
.tax-preview span { color: var(--muted); font-size: 11px; }
.tax-preview strong { font-size: 12px; }
.tax-metrics { margin-top: 14px; }
.operations-list details { border-top: 1px solid var(--line); }
.operations-list details:first-child { border-top: 0; }
.operations-list summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 13px 0; }
.operations-list summary span { display: flex; flex-direction: column; }
.operations-list summary small { color: var(--muted); }
.operations-list details > p { background: var(--soft); border-radius: 11px; color: var(--muted); margin: 0 0 12px; padding: 11px 13px; }
.search-input { margin-bottom: 14px; max-width: 380px; }
.glossary-grid { display: grid; gap: 9px; grid-template-columns: repeat(2,1fr); }
.glossary-grid details { background: white; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.glossary-grid summary { align-items: center; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 28px 1fr 15px; list-style: none; min-height: 58px; padding: 10px 13px; }
.glossary-grid summary span { color: #b39fc1; font-size: 10px; font-weight: 900; }
.glossary-grid summary strong { font-size: 12px; }
.glossary-grid summary b { color: var(--violet); }
.glossary-grid details[open] summary b { transform: rotate(45deg); }
.glossary-grid details > div { border-top: 1px solid var(--line); padding: 13px 15px 15px 51px; }
.glossary-grid h3 { font-size: 14px; margin: 0 0 5px; }
.glossary-grid p { color: var(--muted); font-size: 12px; margin: 0; }

@media (max-width: 1000px) {
  .account-nav > span { display: none; }
  .calculator-layout, .report-columns { grid-template-columns: 1fr; }
  .result-sticky { position: static; }
  .report-metrics { grid-template-columns: repeat(2,1fr); }
  .admin-stats { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .topbar { flex-wrap: wrap; height: auto; padding-bottom: 9px; padding-top: 9px; }
  .brand > span:last-child, .account-nav > a:first-child { display: none; }
  .main-nav { flex: 1; order: 3; width: 100%; }
  .main-nav a { flex: 1; text-align: center; }
  .page { padding: 34px 15px 55px; }
  .hero, .feature-grid, .stats-grid, .glossary-grid, .account-grid, .admin-columns { grid-template-columns: 1fr; }
  .page-heading { align-items: stretch; flex-direction: column; }
  .field-grid.thirds { grid-template-columns: repeat(2,1fr); }
  .report-heading .privacy-badge { align-self: flex-start; }
  .upload-card { grid-template-columns: auto 1fr; padding: 18px 15px; }
  .upload-card > b { grid-column: 1/-1; text-align: center; }
  .tabs { top: 117px; }
  .footer { align-items: flex-start; flex-direction: column; margin: 0 15px; }
}
@media (max-width: 500px) {
  h1, .page-heading h1 { font-size: 38px; }
  .field-grid, .field-grid.thirds, .form-grid, .report-metrics { grid-template-columns: 1fr; }
  .report-tax-fields { grid-template-columns: 1fr; }
  .main-price { font-size: 45px; }
  .auth-card { padding: 22px 17px; }
  .report-filebar { align-items: stretch; flex-direction: column; }
  .spp-result { align-items: flex-start; flex-direction: column; }
  .spp-result small { margin-left: 0; }
}
