[data-checklist135] { margin: 1.25rem 0; }
.c135-panel { border: 1px solid #ced9d5; border-radius: 12px; background: #fff; padding: 1rem 1.15rem; color: #223b32; }
.c135-panel > summary { cursor: pointer; font-weight: 700; font-size: 1.05rem; }
.c135-panel > summary span { font-weight: 400; font-size: .88rem; margin-left: .65rem; color: #50625b; }
.c135-panel > p, .c135-card p { line-height: 1.5; }
.c135-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: .85rem; }
.c135-card { border: 1px solid #d6dfdc; border-radius: 9px; padding: .9rem; background: #fcfdfc; min-width: 0; }
.c135-card-heading { display: flex; align-items: flex-start; gap: .7rem; justify-content: space-between; }
.c135-card h3 { margin: 0; font-size: 1rem; line-height: 1.35; }
.c135-card p { font-size: .9rem; margin: .7rem 0; overflow-wrap: anywhere; }
.c135-badge { flex-shrink: 0; font-size: .76rem; padding: .2rem .45rem; border-radius: 5px; background: #f3e9db; color: #694a21; }
[data-c135-status="done"] .c135-badge { background: #e1f0e6; color: #195934; }
[data-c135-status="not-applicable"] .c135-badge { background: #ecefee; color: #47564f; }
[data-c135-status="stale"] .c135-badge { background: #ffe2d8; color: #852f15; }
.c135-meta { color: #53675d; }
.c135-dialog { box-sizing: border-box; width: min(980px, calc(100vw - 30px)); max-height: calc(100dvh - 32px); border: 1px solid #a8b9af; border-radius: 14px; padding: 1.4rem; color: #21392f; background: #fff; overflow: auto; }
.c135-dialog::backdrop { background: rgb(21 37 30 / 48%); }
.c135-dialog header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.c135-dialog h2 { margin: .2rem 0 .5rem; font-size: 1.35rem; }
.c135-dialog p { line-height: 1.5; }
.c135-dialog .eyebrow { color: #61746a; font-size: .72rem; font-weight: 700; margin: 0; letter-spacing: .07em; }
.c135-hint { font-size: .84rem; color: #5b6b63; }
.c135-editor { border: 0; padding: 0; margin: 0; min-width: 0; }
.c135-grid, [data-c135-fields] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.c135-dialog label { display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; min-width: 0; font-weight: 600; }
.c135-dialog input, .c135-dialog select, .c135-dialog textarea { box-sizing: border-box; width: 100%; min-width: 0; font: inherit; font-weight: 400; padding: .65rem .7rem; border: 1px solid #afbeb6; border-radius: 6px; background: #fff; color: #233c2f; }
.c135-dialog textarea { resize: vertical; }
.c135-dialog input[readonly] { color: #59685f; background: #edf1ee; font-size: .8rem; }
.c135-dialog :is(input, select, textarea, button):focus-visible { outline: 3px solid #548c77; outline-offset: 2px; }
.c135-wide, .c135-rows { grid-column: 1 / -1; }
[data-c135-fields] { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #d5dfd9; }
[data-c135-fields][hidden], [data-c135-reason][hidden], .c135-dialog [hidden] { display: none !important; }
.c135-rows h3 { margin: .3rem 0 .8rem; font-size: 1rem; }
.c135-row { min-width: 0; border: 1px solid #c8d5cc; border-radius: 9px; padding: 1rem; margin: 0 0 1rem; background: #f7faf7; }
.c135-row legend { padding: 0 .35rem; font-size: .85rem; font-weight: 700; }
.c135-dialog button { cursor: pointer; min-height: 42px; padding: .6rem .85rem; border-radius: 6px; border: 1px solid #235943; background: #235943; color: white; font: inherit; font-size: .86rem; font-weight: 600; }
.c135-dialog button.secondary { background: #fff; color: #274f3c; border-color: #a8beb0; }
.c135-dialog button:disabled { opacity: .5; cursor: default; }
.c135-remove { margin-top: .8rem; }
.c135-rows > button + button { margin-left: .6rem; }
.c135-dialog footer { display: flex; gap: .7rem; flex-wrap: wrap; margin: 1.1rem 0; padding-top: 1rem; border-top: 1px solid #d9e1dc; }
.c135-error, .c135-errors { color: #8d301e; }
.c135-errors { line-height: 1.55; padding-left: 1.25rem; }
[data-c135-feedback]:not(:empty) { border-left: 3px solid #5d8f78; background: #edf5ef; padding: .7rem .9rem; }
.c135-history { margin-top: 1rem; color: #57675e; font-size: .85rem; }
.c135-history summary { cursor: pointer; }
.c135-differences { font-size: .88rem; line-height: 1.5; padding-left: 1.25rem; }
.c135-stock { padding: .7rem; background: #f3f0e8; font-size: .88rem; border-radius: 6px; }
@media (max-width: 620px) {
  .c135-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 1rem; }
  .c135-dialog header { flex-wrap: wrap; }
  .c135-grid, [data-c135-fields] { grid-template-columns: minmax(0, 1fr); }
  .c135-row { padding: .7rem; }
  .c135-dialog footer { flex-direction: column; }
  .c135-dialog footer button { width: 100%; }
  .c135-rows > button { display: block; margin: .5rem 0 0 !important; width: 100%; }
  .c135-card-heading { flex-wrap: wrap; }
}
