/* Fyield portal visual system. Layered after the preserved application styles. */
:root {
  color-scheme: light;
  --forest: #124d37;
  --ink: #19382b;
  --muted: #5f7066;
  --border: #dce4d8;
  --canvas: #f7f8f2;
  --lime: #c5f078;
  --surface: #ffffff;
  --surface-soft: #f0f4eb;
  --surface-hover: #eaf1e4;
  --field: #fbfcf8;
  --link: #236c46;
  --focus: #41874e;
  --shadow: 0 3px 5px #173d2103, 0 14px 32px #25443107;
  --shadow-raised: 0 3px 6px #1a392409, 0 18px 45px #25443112;
  --success-bg: #e8f3e4;
  --success: #296138;
  --warning-bg: #fbf0d8;
  --warning: #80591e;
  --error-bg: #fff0eb;
  --error: #a04738;
  --highlight: #eaf3df;
  --chart: #288259;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 14px;
}
:root[data-theme='dark'] {
  color-scheme: dark;
  --forest: #bce779;
  --ink: #e9f1e4;
  --muted: #afc2b4;
  --border: #30483a;
  --canvas: #0b1914;
  --surface: #13251c;
  --surface-soft: #1b3024;
  --surface-hover: #233d2b;
  --field: #102119;
  --link: #c0e994;
  --focus: #c5f078;
  --shadow: 0 3px 8px #00000014, 0 14px 32px #00000012;
  --shadow-raised: 0 4px 10px #00000030, 0 18px 45px #00000035;
  --success-bg: #203e2a;
  --success: #b8e4a7;
  --warning-bg: #3f3420;
  --warning: #f1d395;
  --error-bg: #42291f;
  --error: #ffb9a8;
  --highlight: #233924;
  --chart: #c5f078;
}
html { background: var(--canvas); scroll-padding-top: 96px; }
body { background: var(--canvas); color: var(--ink); -webkit-font-smoothing: antialiased; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline-color: var(--focus); }
input, select, textarea {
  color: var(--ink); background: var(--field); border-color: var(--border);
  min-height: 44px; border-radius: 10px; box-shadow: inset 0 1px 2px #123b2203;
}
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .9; }
input:focus, select:focus, textarea:focus { border-color: var(--focus); box-shadow: 0 0 0 3px color-mix(in srgb, var(--focus) 15%, transparent); }
input[readonly], input:disabled, select:disabled, textarea:disabled { color: var(--muted); background: var(--surface-soft); }
input[type='checkbox'] { accent-color: var(--link); }
input[type='file'] { white-space: normal; overflow-wrap: anywhere; }
input::file-selector-button { color: var(--ink); background: var(--surface-soft); border: 1px solid var(--border); border-radius: 7px; padding: 8px 12px; margin-right: 12px; cursor: pointer; }
::selection { background: #c5f078; color: #153a28; }
small, .small, .muted, .eyebrow, .loading, .chart-empty, .chart-labels { color: var(--muted); }
h1, h2, h3, strong { color: inherit; }
h1 { font-weight: 580; letter-spacing: -1.5px; }
.eyebrow { letter-spacing: 1.65px; font-size: 10px; }
.button {
  background: #184f39; color: #fff; border-color: #184f39; border-radius: 10px;
  min-height: 44px; padding: 11px 17px; box-shadow: 0 2px 2px #14371d0b, 0 5px 10px #1638230b;
  transition: background .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.button:hover { background: #246344; border-color: #246344; box-shadow: 0 5px 14px #16382320; }
.button:active { transform: translateY(1px); }
[data-theme='dark'] .button { color: #163021; background: #c5f078; border-color: #c5f078; }
[data-theme='dark'] .button:hover { background: #d4f799; border-color: #d4f799; }
.button-secondary, [data-theme='dark'] .button-secondary { color: var(--ink); background: var(--surface); border-color: var(--border); box-shadow: 0 2px 2px #14371d04; }
.button-secondary:hover, [data-theme='dark'] .button-secondary:hover { background: var(--surface-hover); border-color: var(--focus); }
.button-danger, [data-theme='dark'] .button-danger { color: var(--error); background: var(--error-bg); border-color: color-mix(in srgb, var(--error) 28%, var(--surface)); }
.button-danger:hover, [data-theme='dark'] .button-danger:hover { color: var(--error); background: var(--error-bg); border-color: var(--error); }
.text-link, .text-button, .record-link, .breadcrumb a { color: var(--link); }
.danger-text { color: var(--error); }
.icon-button { color: var(--muted); min-width: 36px; width: 36px; height: 36px; border-radius: 9px; }
.icon-button:hover { background: var(--surface-hover); color: var(--ink); }
.brand { color: var(--ink); font-size: 33px; font-weight: 650; gap: 9px; }
.brand-dot { color: #659832; }
.brand-logo { border-radius: 12px; box-shadow: 0 2px 3px #00000008; }
/* Theme choices always have explicit labels for assistive technology. */
.theme-control {
  flex: none; display: inline-flex; align-items: center; gap: 3px;
  border: 1px solid var(--border); border-radius: 100px; padding: 4px;
  background: var(--surface-soft); box-shadow: inset 0 1px 3px #17392004;
}
.theme-control button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 34px; min-width: 38px; padding: 7px 11px; border-radius: 100px;
  border: 1px solid transparent; color: var(--muted); background: transparent;
  font-size: 11px; font-weight: 600; transition: background .18s, color .18s;
}
.theme-control button[aria-pressed='true'] { background: var(--surface); color: var(--ink); border-color: var(--border); box-shadow: 0 2px 4px #1739200c; }
.theme-control button:hover { color: var(--ink); }
.theme-control-auth { position: absolute; top: 29px; right: 32px; }
/* Login: dimensional evidence panel and a quiet form surface. */
.auth-layout { grid-template-columns: minmax(410px, 1.1fr) minmax(460px, 1fr); background: var(--canvas); }
.auth-story {
  min-height: 100svh; padding: 38px 56px 28px;
  background: radial-gradient(ellipse at 20% 80%, #3a744835, transparent 55%), radial-gradient(ellipse at 80% 10%, #59805230, transparent 50%), #103d2e;
  border-right: 1px solid #ffffff15;
}
.auth-story::before { width: 740px; height: 740px; left: 130px; bottom: -350px; border-color: #c8ef7512; box-shadow: 0 0 0 60px #bfe59b03, 0 0 0 120px #bfe59b03, 0 0 0 180px #bfe59b03; }
.auth-story .brand { color: #f1f6e9; }
.auth-story .brand-dot { color: #c5f078; }
.auth-story-main { width: 100%; max-width: 580px; padding: 50px 0 45px; z-index: 1; }
.auth-story h1 { font-size: clamp(40px, 3.8vw, 64px); line-height: 1.08; letter-spacing: -2.6px; margin: 24px 0; font-weight: 530; }
.auth-story h1 em { color: #c9eb9e; font-weight: 400; font-family: Georgia, 'Times New Roman', serif; }
.auth-story p { max-width: 375px; font-size: 14px; line-height: 1.9; color: #bfd0c3; }
.auth-story .light-eyebrow { color: #c5dda8; font-size: 10px; }
.evidence-visual {
  position: relative; margin-top: 43px; max-width: 440px; padding: 25px 27px 22px;
  background: linear-gradient(145deg, #ffffff13, #ffffff04); border: 1px solid #c1deb336;
  border-radius: 19px; box-shadow: inset 0 1px 0 #ffffff12, 0 25px 50px #041f2370, 8px 8px 0 -1px #11352a, 8px 8px 0 0 #769b6133;
  transform: perspective(1100px) rotateY(-7deg) rotateX(3deg) rotateZ(-1deg); transform-origin: center;
}
.evidence-visual::before {
  content: ''; width: 58px; height: 58px; position: absolute; right: 17px; top: -29px;
  border-radius: 50%; background: radial-gradient(circle at 30% 26%, #edfbc8 0, #bce978 22%, #739d42 59%, #355a2c 86%);
  box-shadow: inset -4px -5px 9px #1e47225c, 0 14px 20px #061b2445;
}
.evidence-label { color: #c9deb8; letter-spacing: 1.45px; font-size: 9px; padding-right: 38px; }
.evidence-grid { padding-top: 25px; font-size: 12px; color: #edf3e9; }
.evidence-visual > svg { height: 100px; margin: 16px 0 10px; }
.evidence-visual small { color: #b5cdb6; font-size: 10px; }
.auth-story-foot, .auth-story-foot a { color: #c4d3c5; font-size: 10px; }
.auth-panel { min-width: 0; flex-direction: column; min-height: 100svh; padding: 106px 46px 30px; }
.auth-form { max-width: 384px; margin-top: auto; }
.auth-form h2 { font-size: 34px; letter-spacing: -1.5px; line-height: 1.12; font-weight: 570; margin: 17px 0; }
.auth-intro { color: var(--muted); font-size: 14px; line-height: 1.75; margin-bottom: 30px; }
.auth-form input { min-height: 49px; background: var(--surface); }
.auth-form .form-stack { gap: 20px; }
.auth-submit { min-height: 49px; margin-top: 3px; padding: 14px 17px; }
.auth-switch { margin-top: 25px; color: var(--muted); font-size: 12px; }
.auth-security { color: var(--muted); border-color: var(--border); font-size: 11px; margin-top: 27px; padding-top: 19px; }
.auth-security svg { flex: none; margin-top: 1px; }
.auth-panel footer { position: static; margin-top: auto; padding-top: 29px; font-size: 10px; color: var(--muted); }
.auth-panel footer a { color: var(--muted); }
.support-links { width: 100%; max-width: 384px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin: 26px 0 29px; }
.support-label { grid-column: 1 / -1; color: var(--ink); font-size: 11px; font-weight: 600; }
.support-links a { display: flex; flex-direction: column; align-items: flex-start; font-size: 11px; line-height: 1.8; }
.support-links a span { color: var(--muted); font-size: 10px; }
.support-links a strong { color: var(--link); font-weight: 500; }
.support-links a:hover strong { text-decoration: underline; }
.support-links-compact { display: flex; width: auto; gap: 15px; margin: 0; max-width: none; flex-wrap: wrap; }
.auth-symbol, .account-identity, .empty-icon { background: var(--surface-soft); color: var(--link); border-color: var(--border); }
.account-identity span, .setup-steps { color: var(--muted); }
.app-boot { background: var(--canvas); gap: 12px; }
/* Workspace: warm canvas, forest rail, lightly raised cards. */
.sidebar { background: #123c2c; border-color: #31543b; width: 240px; box-shadow: 4px 0 30px #1c412807; }
.sidebar .brand { color: #f0f7e9; }
.sidebar .brand-dot { color: #c5f078; }
.sidebar-brand { height: 94px; padding: 0 24px; }
.workspace-label { background: #1c4735; border-color: #3b5c45; border-radius: 12px; color: #edf4e7; padding: 13px 11px; margin: 0 16px 19px; }
.workspace-mark { background: #c5f078; color: #254b27; border-radius: 8px; width: 32px; height: 32px; }
.workspace-label div > span, .workspace-label > svg { color: #bccfc0; }
.workspace-label div > span { letter-spacing: 1px; font-size: 8px; }
.workspace-label strong { font-size: 11px; }
.main-nav { padding: 0 13px 10px; scrollbar-color: #4d6d53 transparent; }
.nav-group { margin-bottom: 10px; }
.nav-label { color: #aac6af; font-size: 9px; letter-spacing: 1.3px; margin: 19px 13px 8px; }
.main-nav a { color: #d6e3d3; font-size: 12px; min-height: 39px; padding: 10px 12px; border-radius: 9px; margin: 3px 0; }
.main-nav a:hover { color: #f3f9ec; background: #234e38; }
.main-nav a.active { color: #1c402a; background: #c5f078; font-weight: 600; box-shadow: inset 0 1px 0 #edfaca, 0 6px 14px #072a2440; }
.nav-active-dot { background: #446f2c; }
.sidebar-bottom { padding: 11px 24px 18px; border-color: #34543c; }
.sidebar-message, .sidebar-message strong, .sidebar-site { color: #c3d4c3; }
.sidebar .icon-button { color: #dbe9d8; }
.sidebar .icon-button:hover { color: #fff; background: #315c41; }
.workspace-main { margin-left: 240px; }
.topbar { background: color-mix(in srgb, var(--canvas) 94%, transparent); backdrop-filter: blur(16px); border-color: var(--border); height: 83px; padding: 0 32px; gap: 20px; }
.topbar-section, .topbar-section > span { color: var(--muted); }
.topbar-section strong, .user-menu-name strong { color: var(--ink); }
.user-menu-name small, .user-menu-button > svg { color: var(--muted); }
.user-avatar { color: #3c6037; background: #e0eeca; border-color: #c3d5b0; width: 36px; height: 36px; }
.global-search { background: var(--surface); border-color: var(--border); border-radius: 10px; height: 39px; width: min(24vw, 310px); color: var(--muted); }
.global-search > input, .global-search > input::placeholder { color: var(--muted); }
.global-search > input:focus { color: var(--ink); }
.user-dropdown, .search-results { background: var(--surface); color: var(--ink); border-color: var(--border); border-radius: 13px; box-shadow: var(--shadow-raised); }
.user-dropdown a:hover, .user-dropdown button:hover, .search-results a:hover { background: var(--surface-hover); }
.search-results-heading, .search-results > p { color: var(--muted); }
.user-dropdown p { color: var(--error); }
.page-content { padding: 35px 32px 40px; }
.page-heading { margin-bottom: 28px; }
.page-heading h1 { font-size: 32px; margin-bottom: 9px; }
.page-heading p { color: var(--muted); font-size: 13px; }
.page-heading .eyebrow { color: var(--link); font-size: 9px; }
.insight-banner { background: var(--highlight); border-color: var(--border); border-radius: 15px; padding: 24px 26px; box-shadow: inset 0 1px 0 #ffffff10; }
.insight-banner .eyebrow, .insight-banner p { color: var(--ink); }
.insight-banner p { font-size: 17px; }
.insight-banner::after { border-color: color-mix(in srgb, var(--link) 13%, transparent); box-shadow: 0 0 0 28px color-mix(in srgb, var(--link) 3%, transparent), 0 0 0 58px color-mix(in srgb, var(--link) 3%, transparent); }
.banner-chip { color: var(--muted); background: var(--surface); border-color: var(--border); border-radius: 50px; font-size: 9px; }
.stat, .card { background: var(--surface); border-color: var(--border); border-radius: 15px; box-shadow: var(--shadow); }
.stat { min-height: 137px; padding: 21px; }
.stat-caption, .stat-caption svg, .stat > span { color: var(--muted); }
.stat-caption { font-size: 11px; }
.stat-caption svg { padding: 6px; width: 30px; height: 30px; border-radius: 9px; background: var(--surface-soft); }
.stat > strong { color: var(--ink); font-size: 36px; font-weight: 550; margin-top: 6px; }
.stat > span { font-size: 10px; }
.stat-highlight { color: #eef6e4; background: linear-gradient(135deg, #174f37, #123b2c); border-color: #366649; box-shadow: 0 10px 24px #183e2220; }
.stat-highlight .stat-caption, .stat-highlight > span { color: #d3e4c5; }
.stat-highlight .stat-caption svg { color: #ceee9d; background: #c5f07812; }
.stat-highlight > strong { color: #eff9e8; }
.card { padding: 24px; }
.card-heading { margin-bottom: 24px; }
.card-heading h2 { color: var(--ink); font-size: 15px; font-weight: 600; }
.card-heading p { color: var(--muted); font-size: 11px; }
.card-heading select { background: var(--field); border-color: var(--border); border-radius: 7px; }
.mini-label { color: var(--muted); border-color: var(--border); }
.chart text { fill: var(--muted); }
.chart line { stroke: var(--border); }
.chart polyline { stroke: var(--chart); filter: drop-shadow(0 4px 3px #48774818); }
.chart circle { fill: var(--chart); stroke: var(--surface); stroke-width: 2px; }
.bar-item > div:first-child, .bar-item strong { color: var(--ink); }
.bar-track { background: var(--surface-soft); height: 8px; border-radius: 6px; }
.activity-item { border-color: var(--border); }
.activity-item strong { color: var(--ink); }
.activity-item p, .activity-item time { color: var(--muted); }
.activity-dot { background: var(--link); box-shadow: 0 0 0 4px var(--surface-soft); }
.portal-footer { color: var(--muted); border-color: var(--border); padding: 22px 32px; flex-wrap: wrap; }
.portal-footer strong { color: var(--ink); }
.portal-footer > div { flex-wrap: wrap; }
.portal-footer a:hover { color: var(--link); }
.breadcrumb { color: var(--muted); }
/* Data, statuses, forms, and record details share the same surface tokens. */
.table-card { padding: 0; }
.table-toolbar, .table-footer { border-color: var(--border); }
.search-field { background: var(--field); color: var(--muted); border-color: var(--border); border-radius: 9px; }
.table-filters > svg { color: var(--muted); }
.table-filters select { border-color: var(--border); }
.table-scroll { position: relative; scrollbar-color: var(--border) transparent; }
th { color: var(--muted); background: var(--field); border-color: var(--border); font-weight: 600; }
td { color: var(--ink); border-color: var(--border); }
tbody tr:hover { background: var(--surface-hover); }
.record-link { font-weight: 600; }
.record-link:hover { color: var(--link); }
.table-footer { color: var(--muted); }
.table-footer .icon-button { border-color: var(--border); width: 34px; height: 34px; min-width: 34px; }
.badge { border-radius: 6px; padding: 4px 8px; font-size: 10px; }
.badge-green, .participant-summary .badge-green { color: var(--success); background: var(--success-bg); }
.badge-amber, .demo-label, .demo-banner { color: var(--warning); background: var(--warning-bg); }
.demo-banner { border-color: color-mix(in srgb, var(--warning) 25%, var(--surface)); }
.badge-red { color: var(--error); background: var(--error-bg); }
.badge-neutral { color: var(--muted); background: var(--surface-soft); }
.notice { background: var(--surface-soft); color: var(--ink); border-color: var(--border); border-radius: 11px; }
.notice-error { color: var(--error); background: var(--error-bg); border-color: color-mix(in srgb, var(--error) 28%, var(--surface)); }
.notice-success { color: var(--success); background: var(--success-bg); border-color: color-mix(in srgb, var(--success) 25%, var(--surface)); }
.empty p { color: var(--muted); }
.tabs { border-color: var(--border); }
.tabs button { color: var(--muted); }
.tabs button.active, .tabs button:hover { color: var(--link); border-bottom-color: var(--link); }
.modal-shade { background: #0518108a; backdrop-filter: blur(6px); }
.modal { background: var(--surface); color: var(--ink); border-color: var(--border); border-radius: 19px; padding: 28px; box-shadow: 0 25px 100px #05181055, inset 0 1px 0 #ffffff12; }
.modal-heading, .modal-footer, .metric-fields { border-color: var(--border); }
.modal-heading h2 { color: var(--ink); }
.modal-heading p, .metric-fields h3 { color: var(--muted); }
.upload-zone { color: var(--ink); background: var(--field); border-color: var(--focus); border-radius: 12px; }
.upload-zone > svg { color: var(--link); }
.permission-grid fieldset { border-color: var(--border); border-radius: 11px; }
.permission-grid legend, .permission-grid label { color: var(--ink); }
.detail-grid dt { color: var(--muted); }
.detail-grid dd { color: var(--ink); }
.detail-grid + .detail-grid, .detail-notes { border-color: var(--border); }
.detail-notes h3, .detail-notes p { color: var(--muted); }
.participant-summary { background: var(--highlight); border-color: var(--border); border-radius: 15px; }
.participant-summary h2 { color: var(--ink); }
.participant-summary .mono { color: var(--muted); }
.participant-avatar { color: var(--link); background: var(--surface); border-color: var(--border); }
.danger-zone { color: var(--muted); border-color: color-mix(in srgb, var(--error) 30%, var(--surface)); }
.comparison-grid .stat, .sector-setting { background: var(--field); border-color: var(--border); }
.timeline-item::before { background: var(--border); }
.timeline-item::after { background: var(--link); border-color: var(--surface); box-shadow: 0 0 0 2px var(--border); }
.timeline-date, .timeline-item strong, .timeline-item p { color: var(--muted); }
.json-detail, code { background: var(--surface-soft); color: var(--ink); border-color: var(--border); }
.session-row, .assigned-users > a { border-color: var(--border); }
.session-row strong { color: var(--ink); }
.session-row p, .assigned-users > a { color: var(--muted); }
.evidence-list li { color: var(--link); }
.skip-link { background: var(--surface); color: var(--ink); border-color: var(--focus); border-radius: 8px; }
[data-theme='dark'] .auth-story { background: radial-gradient(ellipse at 20% 80%, #34674033, transparent 55%), #103025; }
[data-theme='dark'] .sidebar { background: #102b20; border-color: #2b4835; }
@media (min-width: 1500px) {
  .sidebar { width: 252px; }
  .workspace-main { margin-left: 252px; }
  .topbar { padding: 0 44px; }
  .page-content { padding: 40px 44px; }
  .auth-story { padding-left: 75px; padding-right: 65px; }
}
@media (max-width: 1180px) {
  .sidebar { width: 218px; }
  .workspace-main { margin-left: 218px; }
  .topbar { padding: 0 24px; gap: 14px; }
  .topbar-leading { min-width: 0; }
  .theme-control-header button { padding: 7px 9px; }
  .global-search { width: 230px; }
  .auth-story { padding-left: 38px; padding-right: 38px; }
  .auth-story h1 { font-size: 46px; }
  .page-content { padding: 30px 24px; }
  .stat { padding: 18px; }
}
@media (max-width: 1000px) {
  .theme-control-header button span { display: none; }
  .auth-layout { grid-template-columns: minmax(350px, 1fr) minmax(390px, 1fr); }
  .auth-story { padding-left: 30px; padding-right: 30px; }
  .auth-story h1 { font-size: 42px; }
  .auth-panel { padding-left: 30px; padding-right: 30px; }
  .evidence-visual { padding: 22px; }
}
@media (max-width: 900px) {
  .sidebar { width: 248px; }
  .workspace-main { margin-left: 0; }
  .topbar { height: 72px; }
  .topbar-leading { flex: none; }
  .global-search { margin-left: auto; width: min(35vw, 310px); }
  .theme-control-header button span { display: inline; }
  .sidebar-shade { background: #051c157d; }
  .auth-layout { grid-template-columns: 1fr 1.07fr; }
  .auth-story h1 { font-size: 39px; letter-spacing: -1.8px; }
  .auth-story p { font-size: 13px; }
  .evidence-visual { margin-top: 36px; }
  .evidence-label { font-size: 8px; letter-spacing: 1px; }
  .auth-form h2 { font-size: 30px; }
}
@media (max-width: 760px) {
  .auth-layout { display: block; }
  .auth-story { display: none; }
  .auth-panel { min-height: 100svh; padding: 88px 28px 24px; align-items: center; }
  .auth-form { margin: auto 0 0; max-width: 400px; }
  .auth-mobile-brand { display: block; margin: 0 0 39px; }
  .auth-mobile-brand .brand { font-size: 34px; }
  .auth-form h2 { font-size: 34px; }
  .auth-panel footer { margin-top: auto; padding-top: 10px; }
  .theme-control-auth { top: 22px; right: 24px; }
  .support-links { max-width: 400px; }
  .theme-control-header button span { display: none; }
  .topbar-section { display: none; }
}
@media (max-width: 680px) {
  .topbar { padding: 0 14px; gap: 10px; height: 70px; }
  .topbar-leading { flex: 0 0 36px; }
  .global-search { width: 0; flex: 1; min-width: 0; padding: 0 9px; height: 39px; }
  .global-search > input { font-size: 11px; }
  .global-search > svg { width: 16px; }
  .theme-control-header { padding: 3px; gap: 0; }
  .theme-control-header button { min-width: 33px; padding: 7px; min-height: 34px; }
  .user-avatar { width: 32px; height: 32px; }
  .user-menu-button { min-height: 42px; }
  .search-results { top: 64px; left: 12px; right: 12px; width: auto; }
  .page-content { padding: 25px 16px 30px; }
  .page-heading { margin-bottom: 22px; }
  .page-heading h1 { font-size: 30px; }
  .page-heading p { font-size: 13px; }
  .page-actions { margin-top: 18px; }
  .page-actions .button { min-height: 42px; padding: 10px 13px; font-size: 12px; }
  .insight-banner { padding: 21px; border-radius: 14px; }
  .insight-banner p { font-size: 16px; line-height: 1.5; }
  .stats-grid { gap: 10px; }
  .stat { min-height: 128px; padding: 16px; border-radius: 13px; }
  .stat-caption { font-size: 11px; gap: 5px; }
  .stat-caption svg { width: 25px; height: 25px; padding: 5px; }
  .stat > strong { font-size: 32px; }
  .stat > span { font-size: 10px; }
  .card { padding: 20px; border-radius: 14px; }
  .card-heading h2 { font-size: 15px; }
  .card-heading p { font-size: 11px; }
  .table-card { padding: 0; }
  .table-filters select { min-height: 41px; }
  .table-scroll td, .table-scroll th { font-size: 12px; }
  .portal-footer { flex-direction: column; align-items: flex-start; gap: 15px; padding: 22px 18px; }
  .portal-footer > div { gap: 15px; }
  .portal-footer .support-links-compact { flex-direction: row; gap: 15px; }
  .modal-shade { padding: 16px 10px; }
  .modal { padding: 22px 18px; border-radius: 16px; }
  .modal-heading h2 { font-size: 22px; }
  .modal-heading p { font-size: 12px; }
  .form-grid input, .form-grid select, .form-grid textarea, .form-stack input { font-size: 16px; }
  .upload-zone { padding: 20px 13px; }
  .upload-zone input { font-size: 12px; }
  .permission-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .evidence-visual { transform: none; }
}
