/* Absenz erfassen / Anträge */
.abs-empty{ padding:24px; color:var(--text-muted); }
.abs-sec{ font-weight:600; margin-bottom:12px; }
.abs-dim{ color:var(--text-muted); font-size:12px; }

.abs-form{ margin-bottom:16px; }
.abs-grid{ display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:12px 16px; }
.abs-form label{ display:flex; flex-direction:column; gap:4px; font-size:13px; color:var(--text-muted); }
.abs-form label.abs-chk{ flex-direction:row; align-items:center; gap:8px; color:var(--text); }
.abs-form label.abs-ztlbl{ grid-column:1/-1; }
.abs-in{ padding:7px 9px; border:1px solid var(--border,#e5e7eb); border-radius:7px; font-size:14px; background:#fff; }
.abs-actions{ margin-top:14px; display:flex; align-items:center; gap:12px; }
.abs-hint{ font-size:12px; color:var(--text-muted); }

.abs-tbl{ width:100%; border-collapse:collapse; font-size:14px; }
.abs-tbl th{ text-align:left; font-size:12px; color:var(--text-muted); border-bottom:1px solid var(--border,#e5e7eb); padding:7px 8px; }
.abs-tbl td{ border-bottom:1px solid #f1f5f9; padding:8px; vertical-align:top; }
.abs-act{ white-space:nowrap; }
.abs-act .btn{ margin-left:6px; }

.abs-badge{ display:inline-block; padding:2px 9px; border-radius:9px; font-size:12px; font-weight:600; }
.abs-badge.st-b{ background:#fef3c7; color:#92400e; }  /* beantragt */
.abs-badge.st-w{ background:#dbeafe; color:#1d4ed8; }  /* bewilligt */
.abs-badge.st-c{ background:#dcfce7; color:#166534; }  /* bestätigt */
.abs-badge.st-x{ background:#fee2e2; color:#b91c1c; }  /* abgelehnt */
.abs-abw{ margin-left:6px; color:#b45309; font-weight:600; }
