.ks-panel{display:grid;gap:12px;margin-top:18px}
.ks-panel h3,.ks-panel h4{margin:0}
.ks-message.error,.ks-validation.error,.ks-error,.ks-result .error{color:var(--danger,#9b1c1c)}
.ks-message.error,.ks-validation.error,.ks-error,.ks-result .error{font-weight:600}
.ks-ok{color:var(--ink)}
.ks-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ks-row{background:var(--surface);color:var(--surface-ink,var(--ink));border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:grid;gap:6px}
.ks-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ks-badge{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted)}
.ks-badge[data-state="ok"]{color:var(--ink);font-weight:600}
.ks-badge[data-state="error"],.ks-badge[data-state="partial"]{color:var(--ink);font-weight:700;border-color:currentColor}
.ks-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ks-actions button{font-size:12px;padding:6px 10px}
.ks-editor{display:grid;gap:10px}
.ks-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface);color:var(--surface-ink,var(--ink))}
.ks-form label{font-size:12px}.ks-form label.checkbox{display:flex;gap:8px;align-items:center}
.ks-schedule{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;gap:8px}
.ks-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 12px;align-items:center}
.ks-days{display:flex;flex-wrap:wrap;gap:10px}
.ks-journal summary{cursor:pointer;font-size:12px}
.ks-scroll{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:8px;margin-top:6px}
.ks-scroll:focus-visible,.ks-form :focus-visible,.ks-row :focus-visible{outline:2px solid var(--accent,#536B50);outline-offset:2px}
.ks-entries,.ks-samples{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:12px;overflow-wrap:anywhere}
.ks-entries li[data-kind="error"] strong{color:var(--danger,#9b1c1c)}
.ks-dialog{max-width:min(560px,94vw);border:1px solid var(--line);border-radius:16px;background:var(--background);color:var(--ink);padding:20px}
.ks-dialog::backdrop{background:rgba(0,0,0,.45)}
.ks-dialog .danger{border-color:var(--danger,#9b1c1c)}
@media(max-width:760px){.ks-grid{grid-template-columns:1fr}}
