:root { --management-bg:#f4f7fb; --management-border:#dfe5ee; --management-text:#172033; --management-muted:#657187; --management-radius:1rem; }
.management-page { color:var(--management-text); }
.management-page::before { content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(180deg,#f8faff 0,var(--management-bg) 100%); }
.page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.page-header h1 { margin:.2rem 0 .35rem; font-size:clamp(1.8rem,4vw,2.6rem); font-weight:750; letter-spacing:-.035em; }
.page-header p,.card-heading p { color:var(--management-muted); margin:0; }
.page-kicker { color:#3157a4; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.management-card { background:#fff; border:1px solid var(--management-border); border-radius:var(--management-radius); box-shadow:0 12px 35px rgba(35,48,75,.07); overflow:hidden; padding:1.25rem; }
.management-table thead th { background:#f7f9fc; border-bottom:1px solid var(--management-border); color:#58657b; font-size:.76rem; letter-spacing:.06em; padding:.9rem 1rem; text-transform:uppercase; }
.management-table tbody td { border-color:#edf0f5; padding:1rem; }
.entity-link { color:#244f9d; font-weight:700; text-decoration:none; }
.entity-link:hover { text-decoration:underline; }
.count-badge { background:#edf3ff; border-radius:999px; color:#3157a4; display:inline-flex; font-weight:750; min-width:2rem; justify-content:center; padding:.25rem .6rem; }
.action-cell { white-space:nowrap; }
.action-cell .btn + .btn { margin-left:.35rem; }
.empty-state { color:var(--management-muted); padding:2.5rem 1rem; text-align:center; }
.empty-state.compact { padding:1.5rem 0; }
.form-card { max-width:760px; }
.form-actions { border-top:1px solid var(--management-border); display:flex; justify-content:flex-end; gap:.75rem; margin-top:1.5rem; padding-top:1.25rem; }
.form-hint { background:#f6f8fc; border-radius:.6rem; color:var(--management-muted); font-size:.9rem; padding:.75rem 1rem; }
.management-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.card-heading { border-bottom:1px solid var(--management-border); margin:-.1rem 0 1rem; padding-bottom:1rem; }
.card-heading h2 { font-size:1.15rem; margin:0 0 .2rem; }
.assignment-form { background:#f7f9fc; border-radius:.75rem; margin-bottom:1rem; padding:1rem; }
.assignment-form .mb-3 { margin-bottom:.75rem!important; }
.item-list { display:flex; flex-direction:column; }
.item-row { align-items:center; border-top:1px solid #edf0f5; display:flex; gap:1rem; justify-content:space-between; padding:.9rem 0; }
.item-row:first-child { border-top:0; }
.item-row small,.table-subtitle { color:var(--management-muted); display:block; margin-top:.15rem; }
.header-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.filter-card { margin-bottom:1rem; padding:1rem 1.25rem; }
.filter-form { align-items:end; display:flex; flex-wrap:wrap; gap:.75rem; }
.filter-form label { color:var(--management-muted); font-size:.82rem; font-weight:700; width:100%; }
.filter-form .form-select { max-width:340px; }
.danger-card { border-top:4px solid #c83a46; }
.danger-card h1 { margin:.5rem 0 1rem; }
.danger-text { color:#b52f3c; }
@media (max-width: 767.98px) {
  .page-header { align-items:stretch; flex-direction:column; }
  .page-header>.btn,.header-actions .btn { width:100%; }
  .management-grid { grid-template-columns:1fr; }
  .management-card { border-radius:.8rem; padding:1rem; }
  .management-table thead { display:none; }
  .management-table,.management-table tbody,.management-table tr,.management-table td { display:block; width:100%; }
  .management-table tr { border-bottom:1px solid var(--management-border); padding:.65rem 0; }
  .management-table tr:last-child { border-bottom:0; }
  .management-table tbody td { border:0; display:grid; gap:.75rem; grid-template-columns:7rem 1fr; padding:.45rem .25rem; text-align:left!important; white-space:normal; }
  .management-table tbody td::before { color:var(--management-muted); content:attr(data-label); font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
  .action-cell .btn { display:block; margin:.35rem 0 0!important; width:100%; }
  .item-row { align-items:stretch; flex-direction:column; }
  .item-row form,.item-row .btn { width:100%; }
  .filter-form>* { max-width:none!important; width:100%; }
  .form-actions { flex-direction:column-reverse; }
  .form-actions .btn { width:100%; }
}
