.management-panel{background:#fffdf9;border:1px solid #dde3de;border-radius:18px;padding:28px;margin:24px 0}.management-panel h2{font:600 25px Outfit,sans-serif;margin:0 0 12px}.management-panel p{color:#617471;line-height:1.65}.team-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0}.team-controls button,.small-action{border:1px solid #d8e0da;background:transparent;border-radius:8px;padding:10px 14px;color:#173a3e;cursor:pointer}.team-controls button[aria-pressed="true"]{background:#173a3e;color:white}.team-controls input{margin-left:auto;max-width:100%}.management-scroll{overflow-x:auto}.management-table{width:100%;border-collapse:collapse;text-align:left}.management-table td,.management-table th{padding:18px 12px;border-bottom:1px solid #e5e9e3;vertical-align:top}.management-table th{font-size:12px;color:#617471}.management-table small{display:block;color:#617471;margin-top:6px}.management-table input[type=number]{width:110px}.management-table td:first-child{min-width:170px}.management-table .small-action{margin:3px}.management-table a{color:#173a3e}.management-panel label,dialog label{display:block;font-size:14px;margin:12px 0}.management-panel input,dialog input,dialog select,.team-controls input{padding:12px;border:1px solid #cad6ce;border-radius:8px;font:inherit;background:white;color:#173a3e}dialog{width:min(580px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #d8e0da;border-radius:20px;padding:28px;color:#173a3e;background:#fffdf9}dialog::backdrop{background:#173a3e88}dialog label input:not([type=checkbox]),dialog select{display:block;width:100%;box-sizing:border-box;margin-top:8px}dialog p{line-height:1.6;color:#617471}dialog fieldset{border:1px solid #dde3de;border-radius:10px;padding:12px}dialog input[type=checkbox],.category-choice input{accent-color:#173a3e;margin-right:10px}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading button{background:none;border:0;font-size:28px;cursor:pointer}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-choice{border:1px solid #dde3de;padding:18px;border-radius:12px}.category-choice small{display:block;line-height:1.5;color:#617471;margin:8px 0 0 26px}#person-error{color:#a63d2e}#employer-message:not(:empty){padding:14px;background:#e4f1e8;border-radius:10px}.event-list{list-style:none;padding:0}.event-list li{padding:14px 0;border-bottom:1px solid #e5e9e3}.event-list small{display:block;color:#617471}.budget-summary{font:600 32px Outfit,sans-serif}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}@media(max-width:650px){.management-panel{padding:18px}.category-grid{grid-template-columns:1fr}.team-controls input{width:100%;margin:0}.management-table td,.management-table th{padding:12px 8px}dialog{padding:20px}.dashboard-main header{gap:16px}}
.dashboard-body [hidden]{display:none!important}
.management-table .small-action{font:inherit;font-size:13px}

/* Budget controls share one rhythm; labels never sit beside their input. */
[data-employer-page="budgets"] #default-form {
  display:flex;
  align-items:flex-end;
  gap:16px;
  margin:24px 0 16px;
}
[data-employer-page="budgets"] #default-form label {
  display:grid;
  gap:8px;
  margin:0;
  width:220px;
  max-width:100%;
  font-weight:500;
}
[data-employer-page="budgets"] input[type="number"] {
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  height:48px;
  padding:0 14px;
  font-size:16px;
  font-variant-numeric:tabular-nums;
}
[data-employer-page="budgets"] #default-form .button {
  box-sizing:border-box;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0 22px;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;
}
[data-employer-page="budgets"] .management-table {
  table-layout:fixed;
  margin-top:24px;
}
[data-employer-page="budgets"] .management-table th {
  line-height:1.5;
  font-weight:500;
  padding:0 12px 16px;
}
[data-employer-page="budgets"] .management-table th:nth-child(1){width:23%}
[data-employer-page="budgets"] .management-table th:nth-child(2){width:17%}
[data-employer-page="budgets"] .management-table th:nth-child(n+3){width:30%}
[data-employer-page="budgets"] .management-table td {
  min-width:0;
  padding:20px 12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
[data-employer-page="budgets"] .management-table td:first-child {font-weight:600}
[data-employer-page="budgets"] .management-table form {
  display:grid;
  gap:10px;
  margin:0;
}
[data-employer-page="budgets"] .management-table form .small-action {
  box-sizing:border-box;
  width:100%;
  min-height:44px;
  margin:0;
  padding:10px 12px;
  line-height:1.35;
  font-weight:500;
  background:#f1f5f0;
}
[data-employer-page="budgets"] .management-table [data-reset] {
  display:block;
  margin:10px 0 0;
  padding:4px 0;
  min-height:32px;
  border:0;
  border-radius:0;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:3px;
  line-height:1.5;
}
[data-employer-page="budgets"] .management-table small {margin-top:12px;line-height:1.5}
[data-employer-page="budgets"] input:focus-visible,
[data-employer-page="budgets"] button:focus-visible {outline:2px solid #173a3e;outline-offset:3px}
@media(max-width:1100px) {
  [data-employer-page="budgets"] .management-table,
  [data-employer-page="budgets"] .management-table tbody {display:block}
  [data-employer-page="budgets"] .management-table thead {
    position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
  }
  [data-employer-page="budgets"] .management-table tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 24px;
    padding:24px 0;
    border-top:1px solid #e5e9e3;
  }
  [data-employer-page="budgets"] .management-table td {
    display:block;
    padding:0;
    border:0;
  }
  [data-employer-page="budgets"] .management-table td::before {
    content:attr(data-label);
    display:block;
    color:#617471;
    font-size:12px;
    font-weight:500;
    margin-bottom:10px;
  }
}
@media(max-width:540px) {
  [data-employer-page="budgets"] #default-form {display:grid;grid-template-columns:minmax(0,1fr)}
  [data-employer-page="budgets"] #default-form label,
  [data-employer-page="budgets"] #default-form .button {width:100%}
  [data-employer-page="budgets"] .management-table tr {gap:20px 16px}
  [data-employer-page="budgets"] .management-table td:nth-child(n+3){grid-column:1/-1}
  [data-employer-page="budgets"] .management-table form {grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start}
  [data-employer-page="budgets"] .management-table form .small-action {min-height:48px;height:48px;padding:4px 10px}
}
