.ac-checklist { border:1px solid var(--ac-divider,rgba(127,127,127,.18)); border-radius:18px; padding:20px; margin:24px 0; background:transparent; color:inherit; }
.ac-checklist [hidden], .ac-editor [hidden] { display:none !important; }
.ac-checklist h3 { margin:0 0 16px; font-size:1.35rem; }
.ac-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; justify-content:space-between; }
.ac-counter { display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px; background:var(--ac-soft,rgba(127,127,127,.06)); font-weight:600; font-variant-numeric:tabular-nums; }
.ac-progress { display:flex; align-items:center; gap:12px; flex:1 1 160px; min-width:120px; }
.ac-progress-meter { display:block; flex:1; min-width:0; width:100%; height:8px; appearance:none; -webkit-appearance:none; border:0; border-radius:999px; overflow:hidden; background:var(--ac-soft,rgba(127,127,127,.1)); color:var(--ac-accent,currentColor); }
.ac-progress-meter::-webkit-progress-bar { background:var(--ac-soft,rgba(127,127,127,.1)); border-radius:999px; }
.ac-progress-meter::-webkit-progress-value { background:var(--ac-accent,currentColor); border-radius:999px; }
.ac-progress-meter::-moz-progress-bar { background:var(--ac-accent,currentColor); border-radius:999px; }
.ac-percent { min-width:4ch; text-align:right; font-size:.9rem; font-weight:600; font-variant-numeric:tabular-nums; }
.ac-reset, .ac-editor button { border:1px solid var(--ac-divider,rgba(127,127,127,.18)); border-radius:10px; background:transparent; color:inherit; padding:9px 14px; min-height:44px; cursor:pointer; }
.ac-reset:hover:not(:disabled) { background:var(--ac-soft,rgba(127,127,127,.06)); }
.ac-status { font-size:.9rem; margin:12px 0; color:inherit; opacity:.82; }
.ac-status.ac-error { color:var(--ac-error,#b42318); opacity:1; font-weight:600; }
.ac-list { padding-left:30px; margin:0; }
.ac-point { padding:10px 12px; border-bottom:1px solid var(--ac-border,rgba(127,127,127,.3)); min-height:48px; position:relative; overflow-wrap:anywhere; }
.ac-control { display:inline-flex; vertical-align:middle; align-items:center; justify-content:center; width:44px; height:44px; margin:-5px 4px -5px -4px; }
.ac-control input { width:23px; height:23px; accent-color:var(--ac-accent,currentColor); cursor:pointer; flex-shrink:0; }
.ac-text { display:inline; cursor:pointer; }
.ac-text p { display:inline; }
.ac-done { background:var(--ac-done-bg,rgba(127,127,127,.1)); color:var(--ac-done-text,inherit); }
.ac-point a { text-decoration:underline; }
.ac-checklist :focus-visible, .ac-editor :focus-visible { outline:3px solid var(--ac-accent,currentColor); outline-offset:4px; }
.ac-checklist button:disabled, .ac-editor button:disabled { opacity:.55; cursor:default; }
.ac-editor label { display:block; width:100%; font-weight:600; }
.ac-editor input, .ac-editor textarea { width:100%; box-sizing:border-box; font-weight:400; }
.ac-editor-row { border:1px solid var(--ac-border,rgba(127,127,127,.4)); border-radius:6px; padding:12px; margin:12px 0; }
.ac-editor-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.ac-editor-ui > button { margin:8px 8px 0 0; }
.ac-confirm { max-width:min(430px,90vw); border:1px solid var(--ac-border,rgba(127,127,127,.6)); border-radius:10px; padding:24px; background:var(--ac-surface,Canvas); color:var(--ac-text,CanvasText); }
.ac-confirm::backdrop { background:rgba(15,30,35,.45); }
.ac-confirm button { min-height:44px; padding:8px 12px; }
.ac-inline { padding:18px; }
.ac-table-scroll { overflow-x:auto; border-radius:12px; }
.ac-checklist.ac-inline table.ac-table { width:100%; border:0; border-collapse:separate; border-spacing:0; margin:0; background:transparent; color:var(--ac-text,inherit); }
.ac-checklist.ac-inline .ac-table td, .ac-checklist.ac-inline .ac-table th { padding:15px 12px; border:0; border-bottom:1px solid var(--ac-divider,rgba(127,127,127,.14)); vertical-align:middle; line-height:1.55; background:transparent; box-shadow:none; overflow-wrap:break-word; word-break:normal; }
.ac-checklist.ac-inline .ac-table thead th, .ac-checklist.ac-inline .ac-table thead td { padding:11px 12px; background:var(--ac-soft,rgba(127,127,127,.05)); color:var(--ac-text,inherit); font-weight:600; font-size:.9em; }
.ac-checklist.ac-inline .ac-table tbody tr:last-child > td { border-bottom:0; }
.ac-checklist.ac-inline .ac-table .ac-choice { width:52px; min-width:44px; white-space:nowrap; text-align:center; padding:8px 4px; }
.ac-inline .ac-point { cursor:pointer; }
.ac-checklist.ac-inline .ac-point { border:0; background:transparent; }
.ac-checklist.ac-inline .ac-point:hover > td { background:var(--ac-hover,rgba(127,127,127,.04)); }
.ac-checklist.ac-inline .ac-point.ac-done > td { background:var(--ac-done-bg,rgba(127,127,127,.07)); color:var(--ac-done-text,inherit); }
.ac-checklist.ac-inline .ac-point:focus-within > td { background:var(--ac-hover,rgba(127,127,127,.04)); }
.ac-inline .ac-control { margin:0; }
.ac-inline .ac-control input { width:22px; height:22px; }
@media(max-width:600px) {
 .ac-checklist { padding:14px 10px; border-radius:14px; }
 .ac-checklist.ac-inline .ac-table td, .ac-checklist.ac-inline .ac-table th { padding:12px 8px; }
 .ac-checklist.ac-inline .ac-table .ac-choice { padding:6px 0; width:44px; }
 .ac-list { padding-left:25px; }
 .ac-point { padding:10px 5px; }
 .ac-toolbar { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; }
 .ac-toolbar > .ac-counter, .ac-toolbar > .ac-reset { justify-self:start; }
 .ac-progress { min-width:0; width:100%; }
 .ac-reset { font-size:.9rem; }
}
@media(prefers-reduced-motion:no-preference) { .ac-point, .ac-table td, .ac-reset { transition:background-color .15s; } }

.ac-checklist { color:var(--ac-text,inherit); }
.ac-editor dialog { background:var(--ac-surface,Canvas); color:var(--ac-text,CanvasText); border:1px solid var(--ac-border,GrayText); }
