.appbar .brand { color:inherit; text-decoration:none; }
.appbar .back { color:#d0dfd8; }
.appbar .save-status { color:#d0dfd8 !important; }
.am-sheet { max-width:1180px; }
.am-sheet .head { padding-top:24px; padding-bottom:20px; }
.am-sheet .head .logo { width:44px; height:44px; }
.am-sheet .head .wordmark .name { font-size:24px; }
.am-sheet .docmeta { display:none; }
.am-sheet .title-block { padding-top:18px; padding-bottom:22px; }
.am-sheet .title-block h1 { font-style:normal; font-size:36px; letter-spacing:-.02em; }
.am-beta { display:inline-block; vertical-align:middle; margin-left:8px; padding:5px 10px; border-radius:6px; background:#fbeecb; color:#714e0d; font:800 12px/1.2 var(--font-ui); letter-spacing:.02em; }
.am-sheet .lede { font-size:16px; margin-top:6px; }
.am-sheet h2 { font:900 24px/1.25 var(--font-head); margin:0; text-wrap:balance; }
.am-sheet .field label, .am-notes>label { font-size:12px; letter-spacing:0; text-transform:none; margin-bottom:6px; }
.am-sheet input, .am-sheet select { min-height:46px; }
.am-sheet textarea { resize:vertical; caret-color:var(--green2); }
.am-sheet input::placeholder, .am-sheet textarea::placeholder { color:#52655b; opacity:1; }
.am-sheet ::selection { background:var(--yellow); color:var(--ink); }
.am-sheet [hidden] { display:none !important; }
.am-sheet button:focus-visible, .am-sheet summary:focus-visible, .am-sheet select:focus-visible { outline:3px solid var(--terra); outline-offset:3px; }
.am-sheet button { cursor:pointer; }
.am-sheet .btn { border-radius:8px; min-height:48px; }
.am-sheet .am-next, .am-sheet #am-review-export { background:var(--green2); color:white; border-color:var(--green2); }
.am-review-actions + .hint { margin-top:16px; }
.am-sheet button:hover { filter:brightness(.96); }
.am-sheet button:disabled { cursor:default; opacity:.6; }
.am-sheet .callout { margin:16px 0; }
.am-sheet details>summary { cursor:pointer; color:var(--green2); font-size:14px; font-weight:600; padding:16px 0; }
.am-sheet details[open]>summary { padding-bottom:16px; }
.am-sheet .hint { font-size:13px; color:var(--muted); line-height:1.55; }
.am-profile-more { margin-top:4px; }
.am-profile-more .grid { padding:4px 0; }
.am-consent-field { grid-column:span 2; }
.am-history { border-top:1px solid var(--cream2); border-bottom:1px solid var(--cream2); }
#am-round-count { color:var(--muted); font-weight:400; }
.am-history>p { margin-top:0; }
.am-round-picker { display:flex; align-items:end; gap:16px; }
.am-round-picker .field { flex:1; min-width:0; }
.am-round-picker select { width:100%; }
.am-round-picker .btn { min-height:46px; flex-shrink:0; }
.am-round-tools { margin:16px 0 24px; }
.am-round-tools input[type=color] { width:64px; padding:4px; background:var(--field); }
.am-editor { padding:0; }
#am-age-help { margin:10px 0 22px; }
.am-progress-row { display:flex; align-items:center; gap:20px; margin-bottom:18px; }
#am-progress { font-size:13px; font-weight:600; color:var(--green2); margin:0; font-variant-numeric:tabular-nums; }
#am-progress-bar { flex:1; max-width:220px; height:7px; border:0; border-radius:6px; overflow:hidden; background:#e5eee8; color:var(--green); accent-color:var(--green); }
#am-progress-bar::-webkit-progress-bar { background:#e5eee8; }
#am-progress-bar::-webkit-progress-value { background:var(--green); }
#am-progress-bar::-moz-progress-bar { background:var(--green); }
.am-areas { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:30px; }
.am-areas button { display:flex; align-items:center; justify-content:space-between; gap:8px; text-align:left; border:1px solid #cbd7d0; padding:12px; background:white; border-radius:8px; font:600 13px/1.35 var(--font-ui); color:var(--muted); min-height:48px; }
.am-areas button[aria-current=true] { background:var(--soft); border-color:var(--green); color:var(--green3); }
.am-areas small { font-size:12px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.am-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.am-heading>span { font-size:13px; color:var(--muted); white-space:nowrap; }
#am-area-heading, #am-review-heading { scroll-margin-top:24px; }
.am-instruction { font-size:14px; color:var(--muted); max-width:68ch; line-height:1.6; margin:12px 0 6px; }
.am-point { padding:22px 0; border-bottom:1px solid var(--cream2); scroll-margin-top:24px; }
.am-point h3 { font-size:17px; line-height:1.55; margin:0 0 14px; font-weight:600; display:flex; gap:12px; max-width:72ch; }
.am-point h3>span { color:var(--green); font:800 20px/1.4 var(--font-head); min-width:18px; }
.am-rating { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.am-rating button { background:var(--field); border:1px solid #bccdc3; border-radius:8px; padding:12px 8px; min-height:48px; font:600 14px/1.3 var(--font-ui); color:var(--muted); }
.am-rating button[aria-pressed=true] { background:var(--green2); color:white; border-color:var(--green2); }
.am-point-bottom { display:flex; align-items:start; gap:12px; margin-top:6px; }
.am-point-bottom>details { flex:1; min-width:0; }
.am-point-bottom .am-reset { flex-shrink:0; white-space:nowrap; }
.am-point-bottom>details summary { font-size:13px; padding:10px 0; font-weight:500; }
.am-point textarea { min-height:90px; font-size:15px; margin-top:6px; }
.am-reset { border:0; background:none; color:var(--muted); text-decoration:underline; text-underline-offset:3px; font:12px var(--font-ui); padding:12px 0 12px 8px; min-height:40px; }
.am-unanswered { font-size:12px; color:var(--muted); padding:10px 0; }
.am-previous { font-size:13px; color:var(--muted); margin:0 0 12px; background:var(--soft); padding:10px 12px; border-radius:6px; overflow-wrap:anywhere; }
.am-navigation { display:flex; align-items:center; gap:12px; margin-top:24px; }
.am-navigation .btn { min-height:48px; font-size:14px; line-height:1.4; }
.am-next { margin-left:auto; }
.am-back { background:white; color:var(--green2); border:1px solid #bccdc3; }
.am-back:hover { background:var(--soft); color:var(--green2); }
.am-empty { padding:24px; background:var(--field); border-radius:12px; }
.am-empty p { margin:0; }
.am-empty .hint { margin-top:6px; }
.am-review>p { font-size:14px; max-width:70ch; }
#am-review-areas { margin:24px 0; }
#am-review-areas button { display:flex; align-items:center; gap:18px; padding:15px 0; width:100%; text-align:left; border:0; border-bottom:1px solid var(--cream2); background:none; color:var(--ink); font:14px/1.5 var(--font-ui); }
#am-review-areas button>span:first-child { flex:1; }
#am-review-areas strong { font-size:13px; white-space:nowrap; }
.am-review-link { color:var(--green2); text-decoration:underline; text-underline-offset:3px; font-size:13px; width:55px; }
.am-review-actions { display:flex; flex-wrap:wrap; gap:12px; }
.am-notes, .am-overview, .am-guide { border-top:1px solid var(--cream2); }
.am-notes>label { display:block; }
.am-notes textarea { margin:4px 0 20px; min-height:110px; }
.am-optional { font-size:12px; font-weight:400; margin-left:8px; }
#am-chart { max-width:500px; margin:0 auto; }
#am-chart svg { display:block; width:100%; height:auto; }
.am-chart-hint { font-size:13px; color:var(--muted); text-align:center; max-width:500px; margin:12px auto; }
.am-legend { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; font-size:13px; max-width:420px; margin:12px auto 24px; }
.am-cell { cursor:pointer; outline:none; }
.am-cell:hover>path:first-child, .am-cell:focus-visible>path:first-child { stroke:#172b23; stroke-width:3; }
.am-cell text { pointer-events:none; font:600 12px var(--font-ui); }
.am-guide p { font-size:14px; line-height:1.7; max-width:72ch; }
.am-source { font-size:11px; color:var(--muted); margin:16px 0 24px; }
.am-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; background:var(--soft); padding:18px 40px; font-size:11px; color:var(--green2); }
.am-print-only { display:none; }
body>.draft-note { max-width:1180px; }
.section-nav { display:none; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.am-assessment { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); gap:36px; align-items:start; margin:28px 0 32px; }
.am-overview { border:0; min-width:0; }
.am-map-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 16px; }
.am-map-heading h2 { font-size:23px; scroll-margin-top:20px; }
.am-map-heading>span { color:var(--green2); font-size:13px; font-weight:600; white-space:nowrap; }
.am-ages { display:flex; gap:4px; background:var(--soft); border-radius:10px; padding:4px; }
.am-ages button { flex:1; min-width:0; min-height:44px; padding:8px 3px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--muted); font:600 13px/1.3 var(--font-ui); }
.am-ages button[aria-pressed=true] { background:var(--green2); color:white; border-color:var(--green2); }
#am-chart { margin:14px auto 0; }
.am-chart-hint { margin:4px auto 14px; }
.am-legend { max-width:370px; margin:0 auto 20px; gap:8px 18px; }
.am-legend>span { display:flex; align-items:center; gap:8px; }
.am-symbol { display:inline-block; flex-shrink:0; width:15px; height:15px; border:1px solid currentColor; border-radius:50%; color:var(--round-color,var(--green2)); position:relative; background:white; }
.am-symbol.full { background:currentColor; }
.am-symbol.partial { background:linear-gradient(90deg,currentColor 50%,white 50%); }
.am-symbol.not-yet::after { content:''; position:absolute; left:3px; right:3px; top:6px; height:1px; background:currentColor; }
.am-progress-row { justify-content:center; margin:18px 0 6px; gap:14px; }
#am-progress-bar { max-width:100px; }
#am-age-help { text-align:center; margin:6px auto 0; font-size:12px; max-width:420px; }
.am-sector { cursor:pointer; outline:none; }
.am-sector:hover>path, .am-sector:focus-visible>path { stroke:var(--ink); stroke-width:3; }
.am-areas { gap:7px; margin-bottom:24px; }
.am-areas button { flex-direction:column; justify-content:center; text-align:center; gap:5px; border:1px solid var(--area); background:white; color:var(--area); padding:10px 4px; font-size:12px; min-height:65px; }
.am-areas button[aria-current=true] { color:white; background:var(--area); border-color:var(--area); }
.am-areas small { font-size:11px; }
#am-area-heading { color:var(--area,var(--green2)); }
.am-point { padding:18px 0; }
.am-point h3>span { color:var(--area,var(--green)); }
.am-rating button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-height:66px; padding:10px 3px; font-size:12px; }
.am-rating button .am-symbol { width:18px; height:18px; color:var(--green2); }
.am-rating button .not-yet::after { top:7px; }
.am-rating button[aria-pressed=true] .am-symbol { color:white; background:var(--green2); }
.am-rating button[aria-pressed=true] .full { background:white; }
.am-rating button[aria-pressed=true] .partial { background:linear-gradient(90deg,white 50%,var(--green2) 50%); }
.am-instruction { font-size:13px; }
.am-navigation { flex-wrap:wrap; }
.am-navigation .btn { font-size:13px; padding:10px 12px; }
.am-to-circle { display:none; }
@media (max-width:900px) {
  .am-assessment { grid-template-columns:1fr; gap:28px; }
  .am-overview { width:100%; max-width:490px; margin:auto; }
  .am-editor { min-width:0; }
  .am-to-circle { display:block; background:none; border:0; color:var(--green2); text-decoration:underline; text-underline-offset:3px; font:600 13px var(--font-ui); padding:16px 0; margin:8px auto 0; }
}

@media (max-width:700px) {
  .am-sheet { margin:12px 0; border-radius:0; }
  .am-sheet .head { padding-top:16px; padding-bottom:14px; gap:10px; }
  .am-sheet .head .logo { width:36px; height:36px; }
  .am-sheet .head .wordmark .name { font-size:21px; }
  .am-sheet .head .wordmark .sub { font-size:10px; }
  .am-sheet .title-block { padding-top:14px; padding-bottom:20px; }
  .am-sheet .title-block h1 { font-size:30px; }
  .am-sheet .body, .am-sheet .title-block, .am-sheet .head { padding-left:20px; padding-right:20px; }
  .am-sheet h2 { font-size:22px; }
  .am-sheet .grid.cols-3 { grid-template-columns:1fr 1fr; gap:14px; }
  .am-start-fields>.field:last-child { grid-column:1 / -1; }
  .am-consent-field { grid-column:1 / -1; }
  .am-round-picker { display:block; }
  .am-round-picker .btn { margin-top:12px; }
  .am-round-tools>.field:first-child { grid-column:1 / -1; }
  .am-editor { padding:0; }
  .am-progress-row { gap:12px; }
  #am-progress { font-size:12px; }
  #am-progress-bar { max-width:100px; }
  .am-heading { align-items:baseline; gap:12px; }
  .am-heading>span { font-size:12px; }
  .am-point h3 { font-size:16px; }
  .am-rating { gap:6px; }
  .am-rating button { font-size:13px; padding:12px 5px; }
  .am-navigation { flex-wrap:wrap; }
  .am-navigation .btn { font-size:13px; }
  .am-footer { padding:18px 20px; }
  .am-review-actions { flex-direction:column; }
}
@media (max-width:360px) {
  .am-sheet .body, .am-sheet .title-block, .am-sheet .head { padding-left:16px; padding-right:16px; }
  .am-sheet h2 { font-size:20px; }
  .am-legend { font-size:12px; gap:8px; }
}

.am-quick { position:fixed; z-index:1100; width:390px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; overscroll-behavior:contain; padding:16px; background:#fffdf9; color:var(--ink); border:1px solid #bdcec5; border-radius:14px; box-shadow:0 10px 36px #183b2b33; }
.am-quick-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-4px -4px 6px 0; }
#am-quick-context { font:600 12px/1.5 var(--font-ui); color:var(--area,var(--green2)); }
#am-quick-close { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border:0; background:transparent; color:var(--muted); border-radius:8px; }
#am-quick-question { font:700 16px/1.5 var(--font-ui); margin:0 0 16px; overflow-wrap:anywhere; }
.am-quick .am-rating { gap:6px; }
.am-quick .am-rating button { font-size:12px; }
.am-quick details>summary { font-size:13px; padding:12px 0; font-weight:500; }
.am-quick details label { display:block; color:var(--muted); font-size:12px; margin-bottom:5px; }
.am-quick textarea { min-height:82px; max-height:160px; font-size:16px; }
.am-quick-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:30px; color:var(--muted); font-size:12px; }
.am-quick .am-reset { padding:8px 0 8px 8px; min-height:36px; }
.am-cell[aria-expanded=true]>path:first-child { stroke:var(--ink); stroke-width:3; }

@media print {
  @page { size:A4; margin:12mm 12mm; }
  .am-sheet { margin:0; width:auto; max-width:none; zoom:1!important; border-radius:0; box-shadow:none; }
  .am-sheet .head, .am-sheet .title-block, .am-sheet .body { padding-left:0; padding-right:0; }
  .am-sheet .head { padding-top:0; padding-bottom:10px; }
  .am-sheet .head .logo { width:38px; height:38px; }
  .am-sheet .title-block { padding:10px 0 8px; }
  .am-sheet .title-block h1 { font-size:26px; }
  .am-sheet .lede, .am-workspace, .am-profile, .am-footer, .am-source, #am-error, .am-quick { display:none!important; }
  .am-print-only { display:block; }
  .am-sheet #am-print-report { margin:0; max-width:none; }
  .am-sheet #am-print-report, .am-sheet #am-print-report > section { break-inside:auto; page-break-inside:auto; break-after:auto; page-break-after:auto; }
  .am-print-meta { margin:8px 0 12px; overflow-wrap:anywhere; }
  .am-print-meta h2 { font-size:19px; margin:0 0 5px; }
  .am-print-meta p { font-size:11px; margin:0; }
  .am-print-meta span { color:var(--muted); }
  .am-print-chart { max-width:620px; margin:8px auto; break-inside:avoid; }
  .am-print-chart svg { width:100%; height:auto; display:block; }
  .am-print-legend { text-align:center; font-size:9px; line-height:1.5; margin:0 0 18px; }
  .am-print-details { break-before:page; page-break-before:always; }
  .am-print-details-header { margin:0 0 24px; break-inside:avoid; break-after:avoid; }
  .am-print-colors { display:flex; height:5px; margin-bottom:26px; }
  .am-print-colors span { flex:1; }
  .am-print-kicker { color:var(--green2); font-size:11px; font-weight:800; letter-spacing:.06em; margin:0 0 8px; }
  .am-print-kicker span { color:var(--muted); font-weight:500; letter-spacing:0; }
  .am-print-details-header h2 { color:var(--green2); font-size:34px; margin:0; }
  .am-print-details .am-print-identity { margin:0 0 30px; padding:20px 24px; border:1px solid #e2e7df; border-radius:10px; background:#f5f7f2; break-inside:avoid; }
  .am-print-identity .am-print-label { color:var(--muted); font-size:10px; font-weight:600; margin:0 0 4px; }
  .am-print-identity h2 { font-size:22px; margin:0 0 16px; }
  .am-print-byline { display:grid; grid-template-columns:2fr 1fr; gap:24px; border-top:1px solid #dce3d8; padding-top:12px; }
  .am-print-byline p { min-width:0; }
  .am-print-byline strong { display:block; color:var(--muted); font-size:10px; font-weight:600; margin-bottom:3px; }
  .am-print-byline span { display:block; color:var(--ink); font-size:12px; }
  .am-print-comments { margin-top:0; }
  .am-print-round-note { margin-bottom:26px; }
  .am-print-round-note h3 { color:var(--green2); font-size:14px; margin:0 0 10px; break-after:avoid; }
  .am-print-note, .am-print-point-note p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.7; margin:0; break-inside:auto; orphans:3; widows:3; }
  .am-print-point-note h3 { color:var(--muted); font-size:11px; margin:0 0 8px; break-after:avoid; }
  .am-print-point-note { padding:2px 0 2px 16px; border-left:3px solid var(--note-color,var(--green2)); margin:0 0 22px; break-inside:auto; }
}
