/* Styles für Backend + Frontend */
.katpc-wrap .katpc-search { display:flex; gap:8px; margin: 12px 0 16px; flex-wrap:wrap; }
.katpc-wrap .katpc-search input[type="text"]{ min-width: 280px; }
.katpc-wrap .katpc-form .row { margin: 8px 0; display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.katpc-wrap .katpc-form .row label { width: 180px; }
.katpc-wrap .katpc-form .row input[type="text"],
.katpc-wrap .katpc-form .row input[type="date"],
.katpc-wrap .katpc-form .row input[type="file"]{ width: 300px; }
.katpc-wrap .katpc-form .row .hint { color:#64748b; font-size:12px; }
.katpc-wrap .katpc-form .row.cols { display:grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px; }
.katpc-wrap .katpc-form .row.cols label { width:auto; display:block; margin-bottom:4px; }
.katpc-wrap .katpc-form .row.cols input { width:100%; }

.katpc-cal { background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:12px; margin: 12px 0 20px; }
.katpc-cal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.katpc-cal-title { font-weight:600; }
.katpc-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:6px; }
.katpc-wd { font-size:12px; color:#64748b; text-align:center; }
.katpc-day { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; min-height:72px; padding:6px; display:block; position:relative; text-decoration:none; color:inherit; }
.katpc-day.pad { background:transparent; border:none; }
.katpc-num { position:absolute; top:6px; right:8px; font-size:12px; color:#475569; }
.katpc-dots { position:absolute; left:6px; bottom:6px; display:flex; gap:4px; align-items:center; }
.katpc-dots .dot { width:6px; height:6px; border-radius:9999px; background:#6366f1; display:inline-block; }
.katpc-dots .more { font-size:10px; color:#4f46e5; }

.katpc-wrap .notice { padding:10px 12px; border-radius:6px; margin:10px 0; }
.katpc-wrap .notice.success { background:#ecfdf5; border:1px solid #10b98133; }
.katpc-wrap .notice.error { background:#fef2f2; border:1px solid #ef444433; }

.badge { display:inline-block; padding:2px 6px; border-radius:10px; font-size:11px; }
.badge.ok { background:#ecfdf5; color:#065f46; }
.badge.bad, .badge.warn { background:#fef2f2; color:#991b1b; }

.button.small { padding:2px 6px; font-size:12px; }

.katpc-del { color:#b91c1c; }
