/* Audit prep checklist. Builds on /styles.css tokens and tool classes. Nothing below 15px. */
.ap-tool{padding-top:16px}
.ap-tool .wrap.narrow{display:grid;gap:28px}

.ap-q{border:0;margin:0;padding:0;margin-top:28px;min-width:0}
.ap-q:first-of-type{margin-top:0}
.ap-q legend,.ap-q > label{font-weight:600;font-size:1.05rem;padding:0;margin-bottom:8px}
.ap-q .hint{color:var(--muted);font-size:.95rem;margin:0 0 10px}
.ap-q.field{gap:0}
.ap-choices{display:grid;gap:8px}
.ap-choices.ap-inline{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}
.ap-choices label,.ap-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:14px;
  background:var(--sky-low);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);cursor:pointer;font-weight:400;font-size:1rem;line-height:1.35}
.ap-choices label:has(input:checked){border-color:var(--ocean);background:color-mix(in srgb,var(--ocean) 9%,var(--sky-low))}
.ap-check{margin-top:12px;background:transparent;border-style:dashed}
.ap-choices input,.ap-check input,.ap-item input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ocean)}
.ap-tool input:focus-visible,.ap-view:focus-visible,.ap-tool .btn:focus-visible,.ap-cite:focus-visible{outline:3px solid var(--ocean);outline-offset:2px}
.ap-choices label:has(input:focus-visible){outline:3px solid var(--ocean);outline-offset:2px}
.ap-choices label:has(input:focus-visible) input{outline:none}

.ap-summary:focus{outline:none}
.ap-notes{display:grid;gap:12px}
.ap-notes .note{margin:0}
.ap-notes a,.ap-cite{color:var(--ocean);text-underline-offset:3px}
.ap-time{color:var(--muted);margin:0}

.ap-progress{margin-top:24px}
.ap-progress p{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.ap-bar{height:10px;border-radius:5px;background:var(--sky-mid);margin-top:8px;overflow:hidden}
.ap-bar b{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#2a95db,var(--lagoon));transition:width .4s ease}
.ap-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ap-views{display:inline-flex;gap:4px;margin-top:24px;padding:4px;border-radius:16px;background:var(--sky-low);border:1px solid var(--line);flex-wrap:wrap}
.ap-view{font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-radius:12px;padding:10px 16px;min-height:44px;cursor:pointer}
.ap-view[aria-pressed=true]{background:var(--panel-solid);box-shadow:0 1px 3px rgba(16,47,76,.12);font-weight:600;outline:2px solid var(--ocean);outline-offset:-2px}

.ap-group{margin-top:28px}
.ap-group-title{font-size:1.25rem}
.ap-when{color:var(--muted);margin:4px 0 0}
.ap-items{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}
.ap-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.ap-item:last-child{border-bottom:0}
.ap-item input{margin-top:2px;cursor:pointer}
.ap-item-body{min-width:0;flex:1}
.ap-item label{display:block;cursor:pointer;font-weight:500;overflow-wrap:anywhere}
.ap-why{color:var(--muted);font-size:.95rem;margin:4px 0 0;overflow-wrap:anywhere}
.ap-why-label{font-weight:600}
.ap-cite{white-space:nowrap}
.ap-item.is-done label{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}

.ap-actions{margin-top:28px}
.ap-actions .btn.quiet{padding:16px 18px}

.ap-tool .save-panel{margin-top:0}
.ap-tool > .wrap + .wrap{margin-top:28px}
.ap-rule{margin-top:48px}
.ap-about h2,.ap-related h2,.faq h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.ap-summary{min-height:0}
.ap-list-card .ap-views{margin-top:0}
.ap-print-only{display:none}

@media (max-width:600px){
  .ap-views{display:flex}
  .ap-view{flex:1}
  .ap-actions .btn{flex:1 1 100%}
  .ap-cite{white-space:normal}
}
@media (prefers-reduced-motion:reduce){.ap-bar b{transition:none}}

@media print{
  body.tool-audit .page-hero .lede,body.tool-audit .ap-form,body.tool-audit .ap-views,body.tool-audit .ap-actions,
  body.tool-audit .save-panel,body.tool-audit .ap-about,body.tool-audit .faq,body.tool-audit .ap-related,body.tool-audit .ap-bar{display:none!important}
  body.tool-audit .page-section{padding:0}
  body.tool-audit .card{box-shadow:none;border:0;padding:0;background:none}
  body.tool-audit .page-hero h1{font-size:22pt}
  .ap-print-only{display:block;margin:0 0 10px;color:#333}
  .ap-notes .note{background:none;padding:0;border:0}
  .ap-item{break-inside:avoid;padding:8px 0}
  .ap-group{break-inside:auto;margin-top:16px}
  .ap-group-title{break-after:avoid}
  .ap-item input{width:14pt;height:14pt}
  .ap-why,.ap-time,.ap-when{color:#333}
  .ap-cite{color:#000;text-decoration:none}
  .ap-item.is-done label{color:#000}
  body.tool-audit{font-size:12pt}
}
