:root {
  --bg:#f6f7f5;
  --panel:#fff;
  --ink:#18332b;
  --muted:#738078;
  --line:#e4e9e4;
  --green:#22664d;
  --mint:#e7f1e9;
  --amber:#926a24;
  --radius:14px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:14px;
  font-synthesis:none
}
.summary-period {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin:28px 0 12px
}
.summary-period p,.report-caption {
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
  margin-top:7px
}
.report-caption {
  margin-bottom:20px
}
.report-caption a,.stat-link {
  color:var(--green)
}
.period-options {
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  border:1px solid var(--line);
  border-radius:9px;
  padding:4px;
  background:white
}
.stats.summary-stats {
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:14px
}
.stat-link {
  display:block;
  font-size:10px;
  margin-top:12px
}
.summary-totals {
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  font-size:10px;
  color:var(--muted);
  margin:0 3px 24px
}
.summary-breakdowns {
  align-items:start
}
.summary-breakdowns>.panel {
  min-width:0
}
.breakdown-list {
  max-height:440px;
  overflow:auto;
  padding:0 23px
}
.breakdown-row {
  padding:17px 0;
  border-top:1px solid var(--line)
}
.breakdown-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.breakdown-heading>div:first-child {
  min-width:0
}
.breakdown-name {
  font-size:12px;
  font-weight:550;
  overflow-wrap:anywhere
}
.breakdown-name:hover {
  color:var(--green);
  text-decoration:underline
}
.breakdown-filed {
  display:flex;
  align-items:baseline;
  gap:5px;
  flex-shrink:0
}
.breakdown-filed strong {
  font-size:20px;
  font-weight:570
}
.breakdown-filed span {
  font-size:10px;
  color:var(--muted)
}
.breakdown-bar {
  display:block;
  width:100%;
  height:5px;
  margin:12px 0 10px;
  border:0;
  border-radius:4px;
  background:#edf3ec;
  accent-color:#4e8b69
}
.breakdown-bar::-webkit-progress-bar {
  background:#edf3ec;
  border-radius:4px
}
.breakdown-bar::-webkit-progress-value {
  background:#4e8b69;
  border-radius:4px
}
.breakdown-bar::-moz-progress-bar {
  background:#4e8b69;
  border-radius:4px
}
.breakdown-outcomes {
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  color:var(--muted);
  font-size:10px
}
.breakdown-outcomes .amber {
  color:var(--amber)
}
.issue-text {
  color:#ad4d3c
}
.summary-empty {
  padding:10px 0 30px;
  text-align:center
}
.summary-empty h3 {
  font-size:14px;
  margin:10px 0
}
.summary-empty p {
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
  margin-bottom:14px
}
.latest-scan-summary {
  display:grid;
  grid-template-columns:2fr repeat(4,1fr);
  gap:16px;
  padding:0 23px 24px
}
.latest-scan-summary>div>strong {
  display:block;
  font-size:22px;
  font-weight:550;
  margin-bottom:5px
}
.latest-scan-summary>div>span:not(.status) {
  font-size:10px;
  color:var(--muted)
}
.table-wrap {
  position:relative
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select {
  font:inherit
}
button,a,input {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
a:hover {
  text-decoration:none
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid #80b59b;
  outline-offset:3px
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:36px;
  line-height:1.15;
  letter-spacing:-1.2px;
  font-weight:620
}
h2 {
  font-size:18px;
  letter-spacing:-.4px;
  font-weight:620
}
h3 {
  font-size:18px
}
small {
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.6;
  margin-top:4px;
  overflow-wrap:anywhere
}
input {
  border:1px solid #d9e1db;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  padding:11px 12px;
  width:100%;
  min-width:0
}
input:focus {
  border-color:#6b9b82
}
label {
  display:block;
  font-size:12px;
  font-weight:550;
  color:#53655a
}
label input {
  display:block;
  margin-top:7px
}
table {
  border-collapse:collapse;
  width:100%;
  text-align:left
}
th {
  font-size:10px;
  font-weight:600;
  color:#79887e;
  text-transform:uppercase;
  letter-spacing:.8px;
  padding:14px 22px;
  background:#fcfdfb;
  border-block:1px solid var(--line)
}
td {
  padding:18px 22px;
  border-bottom:1px solid #edf0ec;
  font-size:12px;
  line-height:1.5
}
td strong {
  font-size:13px;
  font-weight:570
}
.sidebar {
  width:228px;
  position:fixed;
  inset:0 auto 0 0;
  background:#fff;
  border-right:1px solid var(--line);
  padding:36px 22px;
  display:flex;
  flex-direction:column;
  z-index:10
}
.brand {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:26px;
  font-weight:700;
  letter-spacing:-1px
}
.sidebar .brand {
  font-size:18px;
  letter-spacing:-.6px;
  white-space:nowrap
}
.brand-sub {
  display:block;
  font-size:8px;
  letter-spacing:1.6px;
  font-weight:600;
  margin-top:4px;
  color:var(--muted)
}
.brand-mark {
  display:block;
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:9px;
  overflow:hidden
}
.brand-mark img {
  display:block;
  width:100%;
  height:100%
}
.nav-label {
  font-size:9px;
  letter-spacing:1.4px;
  color:#97a299;
  margin:52px 10px 15px
}
.nav-link {
  display:flex;
  gap:12px;
  align-items:center;
  padding:13px 12px;
  margin:3px 0;
  color:#697b6d;
  font-size:12px;
  border-radius:8px
}
.nav-link.active,.nav-link:hover {
  background:var(--mint);
  color:#23533b
}
.nav-link span {
  font-size:20px;
  width:21px
}
.sidebar-bottom {
  margin-top:auto
}
.private-badge {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  color:var(--green);
  padding:12px 0
}
.dot {
  height:6px;
  width:6px;
  background:#478963;
  border-radius:50%;
  display:inline-block;
  flex-shrink:0
}
.disabled-dot {
  background:#bbb
}
.signed-in {
  font-size:10px;
  color:var(--muted);
  overflow-wrap:anywhere;
  margin:4px 0 10px
}
.main {
  margin-left:228px;
  padding:36px 44px 0;
  max-width:1680px
}
.page-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin:5px 0 28px
}
.eyebrow {
  font-size:9px;
  letter-spacing:1.6px;
  color:var(--green);
  font-weight:700;
  margin-bottom:12px
}
.subtitle {
  font-size:13px;
  color:var(--muted);
  margin-top:12px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:8px;
  padding:11px 16px;
  border:1px solid transparent;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
  min-height:39px
}
.primary {
  color:#fff;
  background:var(--green)
}
.primary:hover {
  background:#194f3b
}
.secondary {
  background:white;
  border-color:#dce4dd;
  color:#41594a
}
.secondary:hover {
  background:#f4f8f3
}
.button-row {
  display:flex;
  align-items:center;
  gap:9px
}
.button-row form {
  margin:0
}
.wide {
  width:100%;
  justify-content:space-between
}
.text-button {
  background:none;
  border:none;
  padding:5px 0;
  color:var(--green);
  font-size:12px
}
.collection-bar {
  padding:18px 21px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-radius:var(--radius)
}
.collection-state {
  display:flex;
  align-items:center;
  gap:12px
}
.collection-state strong {
  font-size:13px;
  font-weight:570
}
.collection-state span:not(.status-light) {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:4px
}
.status-light {
  display:block;
  width:9px;
  height:9px;
  background:#c89b55;
  border-radius:50%;
  box-shadow:0 0 0 5px #faf3e8;
  margin:0 6px
}
.status-light.on {
  background:#3f8d65;
  box-shadow:0 0 0 5px #ebf4eb
}
.stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:22px 0
}
.stat-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px 23px
}
.stat-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  color:#66766b
}
.stat-label span {
  font-size:19px;
  color:var(--green)
}
.stat-label .amber {
  color:var(--amber)
}
.stat-card strong {
  display:block;
  font-size:36px;
  line-height:1.3;
  font-weight:560;
  letter-spacing:-1.8px;
  margin:13px 0 8px
}
.stat-card p {
  font-size:10px;
  color:#8a968c
}
.panel {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:22px;
  overflow:hidden
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:25px 23px;
  gap:20px
}
.section-heading p:not(.eyebrow) {
  font-size:11px;
  color:var(--muted);
  margin-top:7px
}
.section-heading .eyebrow {
  margin-bottom:9px
}
.count-badge {
  font-size:10px;
  color:var(--muted);
  background:#f5f7f3;
  padding:7px 10px;
  border-radius:5px;
  white-space:nowrap
}
.filters {
  padding:0 23px 18px;
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.filter {
  font-size:11px;
  color:#7a877d;
  padding:7px 10px;
  border-radius:6px;
  display:flex;
  gap:7px;
  align-items:center
}
.filter.selected {
  color:#2b6b4c;
  background:var(--mint);
  font-weight:550
}
.filter span {
  font-size:9px;
  border-radius:3px;
  background:#fff9;
  padding:1px 4px
}
.table-wrap {
  overflow:auto
}
.file-cell {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:160px
}
.file-icon {
  font-size:8px;
  font-weight:650;
  color:#507963;
  border:1px solid #dbe5dc;
  background:#f4f8f2;
  border-radius:6px;
  width:30px;
  height:37px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0
}
.date-cell {
  white-space:nowrap
}
.status {
  display:inline-block;
  padding:5px 8px;
  border-radius:5px;
  background:#f0f2ee;
  color:#7a827b;
  font-size:10px;
  font-weight:550;
  white-space:nowrap
}
.status.uploaded,.status.completed,.status.approved,.status.ready {
  background:#edf5ed;
  color:#3c7756
}
.status.needs_review,.status.paused,.status.interrupted,.status.completed_with_errors {
  background:#fbf3df;
  color:#99763a
}
.status.failed,.status.upload_failed {
  background:#faece9;
  color:#a76452
}
.status.running,.status.queued {
  background:#edf1fa;
  color:#5b6e9b
}
.row-action {
  font-size:11px;
  color:var(--green);
  white-space:nowrap
}
.table-footer {
  display:flex;
  justify-content:space-between;
  padding:15px 23px;
  font-size:10px;
  color:#8a958c;
  gap:12px
}
.table-footer strong {
  font-weight:500;
  color:#64766a
}
.table-footer a {
  margin-left:15px;
  color:var(--green)
}
.empty-state {
  text-align:center;
  max-width:430px;
  margin:25px auto 34px
}
.empty-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f2f6ee;
  width:58px;
  height:58px;
  font-size:30px;
  border-radius:14px;
  color:#5d8368;
  margin-bottom:17px
}
.empty-state h3 {
  font-size:16px;
  margin-bottom:10px
}
.empty-state p {
  font-size:12px;
  color:var(--muted);
  line-height:1.8
}
.two-column {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px
}
.account {
  padding:0 23px 22px;
  margin-top:6px;
  border-bottom:1px solid var(--line);
  margin-bottom:20px
}
.account-top {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:15px
}
.account-top .dot {
  margin-left:auto
}
.account-top strong {
  font-size:12px;
  overflow-wrap:anywhere
}
.mailbox-shortcut {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:15px 3px 22px;
  font-size:11px;
  color:var(--muted);
  flex-wrap:wrap
}
.mailbox-shortcut strong {
  color:var(--ink);
  font-weight:550
}
.mailbox-intro {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:12px;
  color:var(--muted);
  line-height:1.7
}
.mailbox-intro .private-badge {
  white-space:nowrap
}
.mailbox-stats a,.mailbox-note a {
  color:var(--green)
}
.mailbox-search {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:30px 0 20px
}
.mailbox-search input {
  flex:1 1 230px
}
.mailbox-search select {
  padding:11px 32px 11px 12px;
  border:1px solid #d9e1db;
  border-radius:8px;
  color:var(--ink);
  background:#fff;
  max-width:100%
}
.mailbox-results {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:17px
}
.mailbox-results h2 {
  display:flex;
  gap:12px;
  align-items:center
}
.mailbox-results>span {
  font-size:11px;
  color:var(--muted)
}
.mailbox-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));
  gap:18px;
  align-items:start
}
.mailbox-card {
  padding:24px;
  margin:0
}
.mailbox-heading {
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:19px
}
.mailbox-heading>div {
  min-width:0
}
.mailbox-heading h3 {
  font-size:14px;
  font-weight:570;
  overflow-wrap:anywhere;
  line-height:1.5
}
.mailbox-state {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:19px
}
.mailbox-state>span:last-child {
  font-size:10px;
  color:var(--muted)
}
.mailbox-progress {
  margin:-7px 0 17px
}
.mailbox-actions {
  gap:18px
}
.mailbox-settings {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:16px
}
.mailbox-settings summary {
  font-size:11px;
  cursor:pointer;
  color:var(--green)
}
.mailbox-settings>form {
  margin-top:20px
}
.mailbox-settings .small {
  margin:10px 0 16px
}
.mailbox-disconnect {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:8px
}
.mailbox-disconnect .text-button {
  color:#9d4b3d
}
.mailbox-empty {
  grid-column:1/-1;
  max-width:none;
  padding:35px 25px;
  margin:0
}
.mailbox-empty p {
  max-width:440px;
  margin:auto
}
.mailbox-pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
  margin-top:22px;
  font-size:12px;
  color:var(--muted)
}
.mailbox-note {
  margin:22px 0 28px
}
.account-icon {
  display:flex;
  justify-content:center;
  align-items:center;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  width:36px;
  height:36px;
  font-weight:700;
  font-size:19px;
  color:#648579;
  flex-shrink:0
}
.account-form .button-row {
  justify-content:space-between;
  margin-top:8px
}
.checkbox-label {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:400
}
.checkbox-label input {
  display:inline-block;
  width:14px;
  height:14px;
  margin:0;
  accent-color:var(--green)
}
.connect-form {
  padding:0 23px 23px
}
.connect-form .button {
  margin-top:12px
}
.outline-icon {
  font-size:32px;
  color:#9dab9f
}
.folder-tree {
  margin:0 23px 13px;
  border:1px solid #e6ebe2;
  border-radius:9px;
  padding:16px;
  background:#fafbf8;
  font-size:11px;
  color:#57725d;
  line-height:2.2;
  overflow-x:auto
}
.tree-level {
  margin-left:17px
}
.tree-level.two {
  margin-left:34px
}
.tree-level.three {
  margin-left:51px
}
.tree-level.four {
  margin-left:68px;
  font-size:10px;
  white-space:nowrap
}
#destination>.small {
  margin:0 23px
}
#destination>form {
  margin:0 23px 20px
}
.access-list {
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px 23px
}
.access-list p {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  overflow-wrap:anywhere
}
.access-list small {
  margin-top:3px;
  font-size:9px
}
.avatar {
  display:flex;
  justify-content:center;
  align-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  color:#587961;
  background:#e8f1e4;
  font-size:10px;
  flex-shrink:0
}
.secondary-avatar {
  background:#eeecf7;
  color:#8a82a1
}
.destination-link {
  display:block;
  margin:0 23px 23px;
  font-size:11px;
  color:var(--green)
}
.settings-form {
  display:grid;
  grid-template-columns:1.4fr .75fr 1.1fr auto;
  align-items:end;
  gap:14px;
  padding:0 23px 20px
}
.panel-note {
  font-size:10px;
  line-height:1.7;
  color:#8b978d;
  padding:0 23px 22px
}
.page-footer {
  padding:3px 0 26px;
  font-size:10px;
  color:#96a098;
  display:flex;
  justify-content:space-between
}
.notice {
  border:1px solid #cddfce;
  background:#edf5e9;
  color:#416b48;
  padding:13px 17px;
  border-radius:9px;
  font-size:12px;
  line-height:1.7;
  margin-bottom:18px
}
.notice-error {
  background:#fff0ec;
  border-color:#eac6be;
  color:#a24938
}
.notice.neutral {
  background:#fbf6ea;
  border-color:#ece0c4;
  color:#8c703e;
  margin-top:18px
}
.demo-banner {
  background:#edf0e7;
  border-radius:7px;
  padding:9px 13px;
  font-size:10px;
  color:#788467;
  margin-bottom:24px;
  line-height:1.6
}
.demo-banner strong {
  font-size:9px;
  letter-spacing:.8px;
  margin-right:10px;
  color:#527043
}
.field-error {
  font-size:11px;
  color:#a25946;
  margin-bottom:10px
}
.small {
  font-size:11px;
  line-height:1.7
}
.muted {
  color:var(--muted)
}
.empty-line {
  color:#93a096;
  text-align:center;
  padding:35px
}
.login-main {
  max-width:600px;
  margin:6vh auto;
  padding:30px 22px
}
.login-card {
  padding:36px 44px 38px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:19px;
  box-shadow:0 12px 50px #29462e05
}
.login-card .brand {
  margin-bottom:48px
}
.login-card h1 {
  font-size:46px;
  line-height:1.12
}
.lead {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
  margin:22px 0
}
.login-features {
  margin:26px 0 30px
}
.login-features p {
  padding:11px 0;
  font-size:12px;
  border-bottom:1px solid #f0f2ed
}
.login-features span {
  font-size:10px;
  color:#8eab90;
  padding-right:14px
}
.login-card .small {
  margin-top:20px
}
.back-link {
  font-size:12px;
  color:var(--green);
  display:block;
  margin-bottom:25px
}
.review-panel {
  padding:25px
}
.review-panel h2 {
  margin-bottom:22px
}
.review-panel label {
  margin-bottom:20px
}
.review-panel select {
  display:block;
  margin-top:7px;
  width:100%;
  min-width:0;
  padding:11px 12px;
  border:1px solid #d9e1db;
  border-radius:8px;
  background:#fff;
  color:var(--ink)
}
.review-panel .small {
  margin-top:-10px;
  margin-bottom:20px
}
.review-panel .review-help {
  margin-top:8px;
  line-height:1.7
}
.review-actions {
  display:flex;
  gap:18px;
  align-items:center;
  margin-top:28px
}
dl {
  margin:0 0 22px
}
dt {
  font-size:11px;
  color:var(--muted);
  margin:18px 0 6px
}
dd {
  font-size:13px;
  margin:0;
  overflow-wrap:anywhere;
  line-height:1.7
}
.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
}
.security-grid {align-items:start}
.security-panel {padding:25px}
.capacity-decision {border-left:5px solid var(--amber)}
.capacity-keep {border-left-color:var(--green)}
.capacity-plan,.capacity-review {border-left-color:#b34f3e}
.capacity-decision h3 {font-size:14px;margin:18px 0 8px}
.capacity-reasons {padding-left:20px;margin:8px 0;font-size:13px;line-height:1.8}
.capacity-reasons li {margin:7px 0}
.capacity-footnote {padding:16px 23px;font-size:11px;line-height:1.8;color:#596b60;border-top:1px solid var(--line)}
.capacity-fields {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:0 24px}
.capacity-calibration summary {font-size:18px;font-weight:600;cursor:pointer}
.capacity-stats .stat-card strong {font-size:28px;letter-spacing:-.8px;overflow-wrap:anywhere}
.capacity-stats .stat-card p {line-height:1.7;color:#596b60}
.security-panel h2 {margin-bottom:16px}
.security-panel p {font-size:13px;line-height:1.8;margin:14px 0}
.security-panel form {margin-top:18px}
.security-panel label {margin-bottom:18px}
.security-panel select {width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);margin-top:8px}
.security-panel a:not(.button) {color:var(--green)}
.session-list,.health-list {padding:0;list-style:none;font-size:12px}
.session-list li,.health-list li {border-bottom:1px solid var(--line);padding:12px 0;line-height:1.8}
.session-list span,.session-list small {display:block;color:var(--muted)}
.erase-mailbox {border-top:1px solid var(--line);padding:18px 0;font-size:13px}
.erase-mailbox summary {cursor:pointer;overflow-wrap:anywhere}
.erase-mailbox form {max-width:500px}
.button.danger {color:#9d4b3d;border:1px solid #eac6be;background:#fff0ec}
@media(min-width:1600px) {
  .main {
    margin-right:auto
  }
}
@media(max-width:1150px) {
  .stats.summary-stats {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .sidebar {
    width:195px;
    padding:30px 14px
  }
  .main {
    margin-left:195px;
    padding:30px 25px 0
  }
  .settings-form {
    grid-template-columns:1fr 1fr
  }
  .two-column {
    gap:16px
  }
  .stat-card {
    padding:18px
  }
  .page-header h1 {
    font-size:31px
  }
  th,td {
    padding:14px 16px
  }
}
@media(max-width:820px) {
  .mailbox-intro {
    flex-direction:column;
    align-items:flex-start;
    gap:9px
  }
  .sidebar {
    position:static;
    width:auto;
    padding:17px 22px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    border-right:none;
    border-bottom:1px solid var(--line)
  }
  .brand {
    font-size:23px
  }
  .brand-sub,.nav-label,.sidebar-bottom {
    display:none
  }
  .sidebar nav {
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    max-width:100%
  }
  .nav-link {
    padding:9px;
    font-size:0
  }
  .nav-link span {
    font-size:20px;
    margin:0
  }
  .main {
    margin-left:0;
    padding:26px 20px 0
  }
  .two-column {
    grid-template-columns:1fr
  }
  .stats {
    gap:10px
  }
  .stat-card p {
    font-size:9px
  }
  .stat-card strong {
    font-size:29px
  }
  .stat-label {
    font-size:10px
  }
  .page-header {
    align-items:flex-start
  }
  .page-header h1 {
    font-size:29px
  }
  .page-header>.button {
    padding:9px;
    font-size:10px
  }
  .collection-bar {
    padding:16px
  }
  .collection-state strong {
    font-size:12px
  }
  .collection-state span:not(.status-light) {
    font-size:9px
  }
  .button {
    font-size:11px;
    padding:10px 12px
  }
}
@media(max-width:500px) {
  .summary-period {
    flex-direction:column;
    align-items:flex-start;
    gap:12px
  }
  .stats.summary-stats {
    grid-template-columns:1fr
  }
  .stat-link {
    grid-column:1/-1
  }
  .latest-scan-summary {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
  }
  .latest-scan-summary>div:first-child {
    grid-column:1/-1
  }
  .mailbox-card {
    padding:21px 17px
  }
  .sidebar {
    flex-wrap:wrap;
    gap:10px 16px
  }
  .page-header {
    flex-direction:column;
    gap:16px
  }
  .stats {
    grid-template-columns:1fr;
    gap:8px
  }
  .stat-card {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    padding:15px 17px
  }
  .stat-card strong {
    grid-column:2;
    grid-row:1/3;
    margin:0 0 0 15px
  }
  .stat-label span {
    display:none
  }
  .stat-card p {
    margin-top:7px;
    font-size:10px
  }
  .collection-bar {
    flex-wrap:wrap
  }
  .collection-bar>.button-row {
    width:100%;
    justify-content:flex-end
  }
  .settings-form {
    grid-template-columns:1fr
  }
  .page-footer {
    gap:20px;
    font-size:9px
  }
  .login-card {
    padding:28px
  }
  .login-card h1 {
    font-size:39px
  }
  .review-actions {
    flex-direction:column;
    align-items:stretch
  }
  .table-footer {
    flex-direction:column
  }
  .main {
    padding:20px 14px 0
  }
}

/* WhatsApp intake uses the same private workspace controls and reporting. */
.whatsapp-identity { display: flex; align-items: center; gap: 16px; }
.whatsapp-identity img { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; }
.whatsapp-contact { min-width: 0; }
.whatsapp-name { display: block; font-size: 1.3rem; }
.whatsapp-grid .whatsapp-identity .whatsapp-number { margin: 0; min-width: 0; }
.whatsapp-grid .whatsapp-number { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700; color: var(--green-dark, #193d31); overflow-wrap: anywhere; }
.whatsapp-contact-options { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 24px 0; }
.whatsapp-chat-actions { flex: 1 1 190px; min-width: 0; }
.whatsapp-chat-actions .button-row { flex-wrap: wrap; margin: 0; }
.whatsapp-chat-actions p { margin: 12px 0 0; }
.whatsapp-qr { flex: 0 0 180px; margin: 0; text-align: center; }
.whatsapp-qr img { display: block; width: 180px; height: 180px; max-width: 100%; background: #fff; border-radius: 8px; }
.whatsapp-qr figcaption { margin-top: 8px; font-weight: 600; font-size: .88rem; line-height: 1.5; }
.whatsapp-qr figcaption span { color: var(--muted, #6d7f75); font-weight: 400; }
.whatsapp-grid .security-panel form { margin-top: 20px; }
.whatsapp-grid textarea { width: 100%; resize: vertical; padding: 12px; border: 1px solid #dbe4de; border-radius: 10px; font: inherit; box-sizing: border-box; }
.whatsapp-stats { grid-template-columns: repeat(3, minmax(0,1fr)); margin: 24px 0; }
@media (max-width: 760px) { .whatsapp-stats { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .whatsapp-contact-options { flex-direction: column; align-items: flex-start; } .whatsapp-chat-actions { flex: auto; } .whatsapp-qr { flex: auto; align-self: center; } }
/* Shared messages use the workspace's existing panel and type styles. */
.conversation-history{list-style:none;padding:0;margin:0}.conversation-event{padding:22px 0;border-top:1px solid var(--border,#e0e7e2)}.conversation-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.82rem;color:#66796e}.conversation-meta strong{color:#193c30}.conversation-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-family:inherit}.conversation-answers{display:grid;grid-template-columns:minmax(100px,160px) 1fr;gap:8px 16px}.conversation-answers dt{color:#66796e}.conversation-answers dd{margin:0;overflow-wrap:anywhere}.chat-refresh[hidden]{display:none}
.reviewer-login {margin-top:28px;padding-top:20px;border-top:1px solid var(--border,#dce5df)}
