:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #142440;
  background: #f6f8fc;
  --blue: #1758e8;
  --blue-dark: #0d42bf;
  --navy: #0a1d3d;
  --line: #e1e8f2;
  --muted: #6b7a92;
}
body { background: #f6f8fc; }
a { color: var(--blue); }
.brand { gap: .7rem; font-size: inherit; letter-spacing: 0; white-space: nowrap; }
.brand-symbol { display: grid; place-items: center; color: #3d84ff; width: 34px; height: 36px; flex: none; }
.brand-symbol svg { width: 34px; height: 34px; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { color: inherit; font-size: 1.37rem; letter-spacing: -.055em; font-weight: 850; }
.brand-copy small { color: #8db9ff; font-size: .54rem; letter-spacing: .32em; font-weight: 800; margin-top: .34rem; }
.test-flag { margin-left: auto; color: #b3c9ff; border: 1px solid #5d79ac; border-radius: 5px; padding: .22rem .36rem; font-size: .57rem; font-weight: 800; letter-spacing: .1em; }
.shell { grid-template-columns: 258px minmax(0, 1fr); }
.sidebar { background: #091c3b; padding: 1.45rem .9rem 1rem; gap: 0; box-shadow: 4px 0 20px #10244a08; }
.sidebar .brand { padding: .25rem .75rem 1.1rem; color: white; }
.sidebar-rule { border-bottom: 1px solid #294165; margin: 0 .65rem 1.3rem; }
.sidebar-caption { color: #7993bc; font-size: .63rem; letter-spacing: .16em; font-weight: 800; padding: 0 .85rem; }
.building-mini { margin: .65rem .3rem 1.75rem; padding: .9rem .85rem; border-color: #375179; border-radius: 11px; background: #142b53; display: flex; gap: .75rem; min-height: 88px; }
.building-dot { width: 32px; height: 32px; background: #2e5cc4; color: white; border-radius: 8px; display: grid; place-items: center; flex: none; font-size: 1.1rem; }
.building-mini .label { color: #a5b9da; font-size: .57rem; font-weight: 800; }
.building-mini strong { color: white; font-size: .78rem; margin: .35rem 0 .18rem; line-height: 1.28; }
.building-mini small { color: #b5c5df; font-size: .66rem; line-height: 1.3; display: block; }
.nav-caption { margin-bottom: .55rem; }
.nav { gap: .18rem; }
.nav button { min-height: 40px; color: #c1cde2; border-radius: 8px; padding: .6rem .8rem; font-size: .79rem; font-weight: 650; gap: .7rem; }
.nav button:hover { background: #17345f; color: white; }
.nav button.active { background: #1758e8; color: white; box-shadow: 0 5px 13px #06132b33; }
.nav button.active:before { display: none; }
.nav-icon { font-size: .94rem; width: 19px; }
.nav-count { margin-left: auto; display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 99px; background: #3b76e8; color: #fff; font-size: .61rem; font-weight: 850; }
.sidebar-help { margin: auto .3rem 1rem; border: 1px solid #34537b; border-radius: 10px; padding: .75rem; display: flex; gap: .65rem; background: #102b54; align-items: center; }
.sidebar-help .help-icon { width: 28px; height: 28px; display: grid; place-items: center; flex: none; background: #3766d4; border-radius: 50%; color: white; font-size: .8rem; font-weight: 850; }
.sidebar-help strong, .sidebar-help small { display: block; }
.sidebar-help strong { color: white; font-size: .69rem; }
.sidebar-help small { color: #a9bfdf; font-size: .61rem; line-height: 1.35; margin-top: .18rem; }
.sidebar-foot { margin: 0 .15rem; padding: .85rem .55rem .05rem; border-color: #294165; }
.avatar { background: #2861dd; color: white; border-radius: 9px; }
.sidebar-foot strong { font-size: .72rem; }
.sidebar-foot small { font-size: .62rem; color: #aec0db; }
.logout { color: #b9cbe7; }
.main { padding: 0 clamp(1.2rem, 2.6vw, 2.7rem) 3rem; }
.topbar { background: #fff; border-bottom: 1px solid var(--line); margin: 0 calc(-1 * clamp(1.2rem, 2.6vw, 2.7rem)); padding: 0 clamp(1.2rem, 2.6vw, 2.7rem); height: 68px; }
.breadcrumbs { font-size: .8rem; color: #8290a6; }
.breadcrumbs span { color: #b8c4d5; margin: 0 .55rem; }
.breadcrumbs strong { color: #243655; font-weight: 750; }
.topbar-tools { display: flex; align-items: center; gap: 1.15rem; }
.topbar-date { color: #7586a1; font-size: .75rem; }
.topbar-avatar { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #e8efff; color: #1f55ce; font-size: .72rem; font-weight: 800; border: 1px solid #d0dcf7; }
.environment-tag { border: 1px solid #adc4f9; background: #ecf2ff; color: #1a4fbd; padding: .32rem .55rem; font-size: .62rem; font-weight: 800; border-radius: 6px; letter-spacing: .04em; }
.content { max-width: 1460px; }
.page-head { margin: 2rem 0 1.4rem; align-items: center; }
.page-head h1 { color: #112348; font-size: clamp(1.75rem, 2.6vw, 2.15rem); letter-spacing: -.045em; font-weight: 830; }
.page-head p { color: var(--muted); font-size: .83rem; line-height: 1.5; }
.btn { border-radius: 8px; background: var(--blue); padding: .7rem 1rem; font-size: .76rem; box-shadow: 0 3px 8px #1758e819; }
.btn:hover { background: var(--blue-dark); }
.btn.secondary { background: #fff; color: #2259ce; border: 1px solid #d0defd; box-shadow: none; }
.btn.secondary:hover { background: #edf3ff; }
.btn.ghost { color: #4b648c; border-color: #dce6f4; }
.btn.small { font-size: .72rem; }
.card, .stat { border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 5px 18px #1b326009; background: #fff; }
.card { padding: 1.25rem 1.4rem; }
.card-head h3, .card h3 { color: #13274a; font-size: .95rem; font-weight: 760; }
.card-head a, .card-bottom a { color: #1b56cb; font-size: .74rem; }
.card-kicker { display: block; color: #406ed1; font-size: .58rem; font-weight: 850; letter-spacing: .13em; margin-bottom: .35rem; }
.dashboard-hero { position: relative; overflow: hidden; background: linear-gradient(112deg, #0d2861, #1552cb 72%, #2f75f5); color: white; border-radius: 15px; min-height: 196px; margin-bottom: 1.2rem; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 13px 25px #174db025; }
.dashboard-hero:after { content: ""; position: absolute; right: -55px; top: -120px; width: 390px; height: 390px; border: 1px solid #ffffff20; border-radius: 50%; box-shadow: 0 0 0 45px #ffffff08, 0 0 0 100px #ffffff06; }
.hero-copy { position: relative; z-index: 1; padding: 1.75rem 2rem; }
.hero-eyebrow { font-size: .65rem; letter-spacing: .16em; font-weight: 800; color: #c6d9ff; display: flex; align-items: center; gap: .5rem; }
.hero-eyebrow span { background: #62dcad; width: 7px; height: 7px; border-radius: 50%; }
.hero-copy h2 { color: white; font-size: clamp(1.55rem, 2.6vw, 2.3rem); margin: .58rem 0 .35rem; letter-spacing: -.045em; }
.hero-copy p { margin: 0; color: #d3e0ff; font-size: .84rem; }
.hero-details { display: flex; gap: 1.55rem; flex-wrap: wrap; margin-top: 1.35rem; }
.hero-details span { font-size: .7rem; color: #d5e3ff; border-right: 1px solid #b9d0ff70; padding-right: 1.5rem; }
.hero-details span:last-child { border: 0; }
.hero-details strong { color: white; font-size: .91rem; margin-right: .15rem; }
.hero-graphic { align-self: stretch; width: 34%; min-width: 220px; display: flex; align-items: end; justify-content: center; color: #d2e2ff; opacity: .76; padding: .3rem 1rem 0; }
.hero-graphic svg { height: 185px; width: 100%; max-width: 310px; }
.stats { gap: .9rem; margin-bottom: 1.15rem; }
.stat { padding: 1rem 1.15rem; min-height: 112px; }
.stat-icon { background: #eaf0ff; color: #225ee3; border-radius: 8px; width: 30px; height: 30px; display: grid; place-items: center; font-weight: 800; }
.stat:nth-child(2) .stat-icon { background: #e5f6ef; color: #1a9871; }
.stat:nth-child(3) .stat-icon { background: #fff3e6; color: #db8c2c; }
.stat:nth-child(4) .stat-icon { background: #f0eaff; color: #8b61d6; }
.stat-label { color: #71809a; font-size: .72rem; }
.stat-value { color: #142b55; font-size: clamp(1.35rem, 2vw, 1.75rem); margin: .58rem 0 .25rem; white-space: nowrap; }
.stat-foot { color: #8d9ab0; font-size: .67rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(275px, 1fr); gap: 1rem; margin-bottom: 1rem; }
.dashboard-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.chart-card { min-height: 267px; }
.chart-head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.chart-head h3 { margin: 0; }
.chart-head p { font-size: .7rem; color: #93a0b3; margin: .3rem 0 0; }
.chart-legend { display: flex; align-items: center; gap: .85rem; color: #7b89a0; font-size: .66rem; white-space: nowrap; }
.chart-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.chart-legend i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.legend-income { background: #306ce9; }
.legend-expense { background: #ffad6c; }
.chart-area { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); height: 162px; margin: 1rem .15rem 0; border-bottom: 1px solid #dfe8f4; }
.chart-grid { position: absolute; inset: 0 0 22px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.chart-grid span { border-top: 1px dashed #e7edf5; width: 100%; }
.chart-month { display: flex; flex-direction: column; align-items: center; justify-content: end; min-width: 0; position: relative; z-index: 1; }
.chart-month > span { height: 22px; display: grid; place-items: center; color: #8796ae; font-size: .66rem; }
.chart-bars { display: flex; align-items: flex-end; justify-content: center; gap: 4px; height: 140px; width: 100%; padding: 0 .2rem; }
.chart-bars > div { display: block; width: min(18px, 29%); border-radius: 4px 4px 0 0; flex: none; }
.bar-income { background: linear-gradient(#4d82f5, #1758e8); }
.bar-expense { background: #ffb276; }
.card-bottom { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: 1rem; border-top: 1px solid #e9eef6; padding-top: .85rem; }
.card-bottom span { font-size: .68rem; color: #8694a9; }
.card-bottom strong { color: #153e98; font-size: .84rem; margin-left: .3rem; }
.activity-card .card-head { margin-bottom: .8rem; }
.activity-list { display: flex; flex-direction: column; }
.activity-item { display: flex; align-items: center; gap: .7rem; border-top: 1px solid #ebeff6; padding: .68rem 0; min-width: 0; }
.activity-item:first-child { border: 0; padding-top: .2rem; }
.activity-icon { display: grid; place-items: center; flex: none; width: 31px; height: 31px; border-radius: 8px; font-size: .9rem; }
.activity-icon.blue { color: #2d67df; background: #ecf2ff; }
.activity-icon.amber { color: #cc842e; background: #fff2e5; }
.activity-icon.violet { color: #8d61ce; background: #f3edff; }
.activity-item strong { display: block; font-size: .72rem; color: #273b5d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-item small { display: block; font-size: .63rem; color: #91a0b3; margin-top: .18rem; }
.finance-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .8fr); gap: 1rem; margin-bottom: 1rem; }
.finance-side { min-height: 267px; }
.finance-side h3 { margin-top: .3rem; }
.finance-balance { font-size: 1.75rem; font-weight: 830; color: #1752c4; margin: 1.1rem 0 .1rem; letter-spacing: -.04em; }
.finance-side > p { font-size: .72rem; color: #8595aa; margin: 0 0 1rem; line-height: 1.45; }
.finance-side-row { border-top: 1px solid #e9eef6; padding: .65rem 0; display: flex; justify-content: space-between; font-size: .73rem; gap: .5rem; }
.finance-side-row span { color: #75869d; }
.finance-side-row strong { font-weight: 800; }
.finance-actions { display: flex; gap: .7rem; flex-wrap: wrap; padding-bottom: 1rem; }
.finance-voided td { color: #8895a8; }
.finance-voided td:last-child { text-decoration: line-through; }
.finance-history small { line-height: 1.55; }
.reserve-lists { margin: 1rem 0; }
.reserve-lists .card { min-width: 0; }
.sidebar { overflow-y: auto; }
.issue-row { align-items: flex-start; }
.issue-content { min-width: 0; flex: 1; }
.issue-photos { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0; }
.issue-photo { position: relative; width: 96px; height: 72px; }
.issue-photos a { display: block; width: 96px; height: 72px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.issue-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.issue-photo button { position: absolute; right: 3px; top: 3px; border: 0; border-radius: 50%; width: 20px; height: 20px; background: #142440cc; color: #fff; font-weight: 800; }
.issue-inline { margin: .7rem 0 0; background: #fff; }
.issue-inline summary { cursor: pointer; font-size: .75rem; font-weight: 750; color: #235fcb; }
.work-order { background: #f4f7ff; border: 1px solid #dfe8fa; border-radius: 10px; padding: .9rem; margin: .8rem 0; font-size: .78rem; }
.work-order > strong { color: #17325d; }
.work-order p { margin: .4rem 0; }
.work-meta { display: flex; flex-wrap: wrap; gap: .45rem 1.2rem; margin: .6rem 0; color: #61748f; }
.work-order a { font-weight: 750; }
.note { border-left-color: #3170e7; background: #ecf3ff; color: #41628e; margin: 1rem 0; }
.note a { font-weight: 750; }
.composer { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 1rem; box-shadow: 0 5px 18px #1b326009; }
.composer summary { display: flex; gap: .75rem; padding: 1rem 1.25rem; align-items: center; cursor: pointer; list-style: none; }
.composer summary::-webkit-details-marker { display: none; }
.summary-icon { border-radius: 8px; background: #e9f0ff; color: #1c5fe1; font-size: 1.1rem; width: 31px; height: 31px; display: grid; place-items: center; }
.composer summary strong, .composer summary small { display: block; }
.composer summary strong { color: #162a4b; font-size: .81rem; }
.composer summary small { color: #8b9aaf; font-size: .67rem; margin-top: .13rem; }
.summary-chevron { margin-left: auto; color: #8b9aaf; }
.composer[open] .summary-chevron { transform: rotate(180deg); }
.composer form { border-top: 1px solid var(--line); padding: 1.2rem 1.25rem .2rem; }
.poll-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.poll-item { background: #fff; border: 1px solid var(--line); border-radius: 13px; box-shadow: 0 5px 18px #1b326009; padding: 1.3rem; }
.poll-top { display: flex; align-items: center; justify-content: space-between; }
.poll-icon { width: 31px; height: 31px; display: grid; place-items: center; color: #2464e0; background: #eaf1ff; border-radius: 8px; }
.poll-item h3 { color: #182d51; font-size: 1rem; margin: .9rem 0 .4rem; }
.poll-item p { color: #667890; font-size: .75rem; line-height: 1.5; min-height: 2.25rem; margin: 0 0 .75rem; }
.poll-meta { color: #93a0b2; font-size: .68rem; border-bottom: 1px solid #e9eef6; padding-bottom: .9rem; }
.vote-meter { display: flex; width: 100%; height: 8px; border-radius: 99px; background: #edf1f7; overflow: hidden; margin: 1rem 0 .65rem; }
.vote-meter span { height: 100%; }
.meter-yes, .dot-yes { background: #2c69e5; }
.meter-no, .dot-no { background: #f1a16c; }
.meter-abstain, .dot-abstain { background: #aab8ca; }
.poll-numbers { display: flex; flex-wrap: wrap; gap: .75rem; color: #7b8aa0; font-size: .68rem; }
.poll-numbers span { display: inline-flex; align-items: center; gap: .25rem; }
.poll-numbers i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; }
.poll-numbers strong { color: #263c60; }
.poll-item .vote-actions { padding-top: .9rem; border-top: 1px solid #e9eef6; margin-top: 1rem; }
.decision-list { display: grid; gap: 1rem; margin-top: 1rem; }
.decision-item { max-width: 900px; }
.decision-item > p { min-height: 0; white-space: pre-wrap; }
.decision-attachment, .decision-export { display: inline-block; font-size: .73rem; font-weight: 750; margin-top: .8rem; }
.decision-results { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; margin-top: 1rem; }
.decision-results div { background: #f4f7fc; border: 1px solid #e7edf7; border-radius: 9px; padding: .65rem; min-width: 0; }
.decision-results strong, .decision-results span { display: block; }
.decision-results strong { color: #193760; font-size: .85rem; }
.decision-results span { color: #8393aa; font-size: .65rem; margin-top: .15rem; }
.decision-threshold { color: #9a642b; background: #fff6e9; border-radius: 8px; padding: .6rem .75rem; font-weight: 750; font-size: .72rem; margin-top: .8rem; }
.decision-threshold.met { color: #1f805b; background: #eaf8f1; }
.decision-my-vote { display: block; color: #5d6e88; font-size: .7rem; margin-top: .7rem; }
.decision-comments { border-top: 1px solid #e9eef6; padding-top: 1rem; margin-top: 1rem; }
.decision-comments > strong { color: #263c60; font-size: .8rem; }
.decision-comment { border-bottom: 1px solid #edf1f7; padding: .6rem 0; }
.decision-comment b { color: #344865; font-size: .72rem; }
.decision-comment small { color: #90a0b6; font-size: .65rem; margin-left: .5rem; }
.decision-comment p { min-height: 0; margin: .3rem 0; white-space: pre-wrap; }
.decision-comments form { display: flex; align-items: end; gap: .65rem; margin-top: .8rem; }
.decision-comments form .field { flex: 1; }
.decision-comments textarea { min-height: 50px; resize: vertical; }
.issue-status { background: #fff; border: 1px solid #dbe5f2; border-radius: 7px; color: #345073; padding: .43rem .5rem; font-size: .73rem; }
.inline-form { background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 5px 18px #1b326009; padding: 1.15rem; }
.inline-form h3 { color: #142b50; }
.field { color: #344865; font-size: .75rem; }
.field input, .field select, .field textarea { border-color: #d9e3f1; border-radius: 8px; font-size: .79rem; min-height: 42px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #3774e9; box-shadow: 0 0 0 3px #3774e921; }
.table th { background: #f7f9fd; color: #8391a8; font-size: .64rem; }
.table td { color: #3a4c69; font-size: .77rem; }
.table td strong { color: #1c3357; }
.list-row { border-color: #e9edf5; }
.list-row strong { color: #22395e; font-size: .8rem; }
.list-row small { color: #91a0b5; font-size: .68rem; }
.list-row p { color: #65758e; font-size: .75rem; }
.document-actions { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; }
.document-filters { display: grid; grid-template-columns: minmax(0,2fr) minmax(160px,1fr); gap: .75rem; margin-bottom: 1rem; }
.document-list [hidden], .document-no-results[hidden] { display: none !important; }
.announcement-row.unread { background: #f6f9ff; border-left: 3px solid #3b76e8; padding-left: .8rem; }
.announcement-row .pill { margin-left: .3rem; }
.document-access { color: #65758e; display: inline-flex; align-items: center; gap: .4rem; font-size: .7rem; }
.document-access select { border: 1px solid #dce6f3; border-radius: 7px; background: #fff; color: #22395e; padding: .35rem; max-width: 150px; }
.pill { font-size: .61rem; }
.pill.open,.pill.urgent { background: #fff1e3; color: #ba732b; }
.pill.in_progress { background: #edf2ff; color: #295ac6; }
.pill.resolved,.pill.yes { background: #e8f8f0; color: #1e8a5d; }
.empty { background: #f9fbfe; border-color: #dce6f3; color: #93a0b3; }
.auth { grid-template-columns: minmax(360px, 1fr) minmax(420px, .9fr); background: #fff; }
.auth-side { background: linear-gradient(148deg, #091d42, #0f3986 70%, #175cde); padding: clamp(2rem, 4.5vw, 4rem); }
.auth-side .brand { color: white; }
.auth-message { margin-top: auto; margin-bottom: auto; }
.auth-side .eyebrow { color: #8bb7ff; font-size: .69rem; font-weight: 850; letter-spacing: .17em; margin-bottom: 1rem; }
.auth-side h1 { font-size: clamp(2.4rem, 4vw, 4.6rem); line-height: 1.05; }
.auth-side p { color: #d3e1ff; font-size: .92rem; }
.auth-preview { display: flex; align-items: center; gap: .8rem; background: #ffffff14; border: 1px solid #ffffff30; border-radius: 12px; padding: .9rem; max-width: 410px; margin-top: 2rem; }
.preview-icon { width: 38px; height: 38px; border-radius: 9px; background: #3b76e8; display: grid; place-items: center; }
.auth-preview strong, .auth-preview span { display: block; }
.auth-preview strong { font-size: .77rem; }
.auth-preview span { color: #bad0f4; font-size: .68rem; margin-top: .18rem; }
.auth-preview .preview-arrow { margin-left: auto; color: white; font-size: 1rem; }
.auth-foot { color: #b6c9ea; }
.auth-main { background: #fff; }
.auth-card { width: min(100%, 400px); }
.login-kicker { color: #1d5cda; font-size: .68rem; font-weight: 850; letter-spacing: .15em; margin-bottom: .9rem; }
.auth-card h2 { font-size: 1.9rem; color: #112348; }
.auth-card > p { color: #7b8aa2; font-size: .82rem; margin-bottom: 1.7rem; }
.auth-card .btn { min-height: 45px; }
.auth-card .test-hint { margin-top: 1.2rem; text-align: center; color: #5a78b5; font-size: .71rem; }
@media (max-width: 980px) {
  .dashboard-grid, .finance-layout { grid-template-columns: 1fr; }
  .finance-side { min-height: 0; }
  .dashboard-bottom { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-bottom { grid-template-columns: 1fr; }
  .hero-graphic { width: 28%; min-width: 150px; }
  .poll-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .document-filters { grid-template-columns: 1fr; }
  .auth { grid-template-columns: 1fr; }
  .auth-side { min-height: 220px; padding: 1.5rem; }
  .auth-message { margin: 2rem 0 0; }
  .auth-side h1 { font-size: 2rem; margin-bottom: .7rem; }
  .auth-side p, .auth-preview, .auth-foot { display: none; }
  .auth-main { padding: 2rem 1.2rem; }
  .sidebar { width: 258px; }
  .sidebar-help { margin-top: auto; }
  .main { padding: 0 1rem 2rem; }
  .topbar { margin: 0 -1rem; padding: 0 1rem; }
  .topbar-date { display: none; }
  .topbar-tools { gap: .5rem; }
  .environment-tag { font-size: .54rem; }
  .page-head { align-items: flex-start; }
  .dashboard-hero { min-height: 180px; }
  .hero-copy { padding: 1.35rem; }
  .hero-graphic { display: none; }
  .hero-details { gap: .7rem; margin-top: 1rem; }
  .hero-details span { padding-right: .7rem; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stat { min-height: 104px; padding: .85rem; }
  .stat-value { font-size: 1.2rem; }
  .chart-legend { font-size: .57rem; gap: .4rem; }
  .card { padding: 1rem; }
}
@media (max-width: 420px) {
  .decision-results { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .decision-comments form { display: block; }
  .decision-comments form button { margin-top: .5rem; }
  .hero-details span { font-size: .62rem; }
  .stats { gap: .55rem; }
  .stat-value { font-size: 1.05rem; }
  .stat-label { font-size: .63rem; }
  .chart-head { flex-direction: column; }
  .chart-area { margin-top: .5rem; }
}
