/* Scoped additions. Reuse the verified admin palette, font and controls. */
.plan-management { min-width:0; }
#plans-list.plan-management { display:block; }
.plan-management [hidden] { display:none!important; }
.plan-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.plan-toolbar p { margin:0; color:var(--night-secondary); line-height:1.6; }
.plan-toolbar button { flex:none; }
.plan-toolbar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.plan-management button { min-height:44px; white-space:nowrap; }
.plan-management button:disabled { opacity:.55; cursor:not-allowed; }
.plan-management :is(button,input,select,textarea):focus-visible { outline:3px solid var(--night-gold); outline-offset:3px; }
.plan-management .plan-table { width:100%; table-layout:auto; min-width:0; }
.plan-management .plan-table :is(th,td) { padding:18px 12px; }
.plan-management .plan-table td { font-size:16px; }
.plan-management .plan-table small { overflow-wrap:anywhere; }
.plan-state { display:inline-block; font-size:14px; font-weight:700; padding:4px 10px; border-radius:6px; }
.plan-state.is-active { color:#9bdfb3; background:#193b2a; }
.plan-state.is-inactive { color:#ffc0ba; background:#512727; }
.plan-state.is-archived { color:#d3c8b4; background:#34312d; }
.plan-table tr.is-archived { opacity:.74; }
.plan-management .plan-error, .plan-dialog [data-error] { color:#ffc0ba; }
.plan-dialog { width:min(580px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:0; border:1px solid var(--night-line-strong); border-radius:16px; background:var(--night-surface); color:var(--night-text); }
.plan-dialog::backdrop { background:rgba(0,0,0,.65); }
.plan-dialog form { display:grid; gap:18px; padding:24px; }
.plan-dialog h2,.plan-dialog h3,.plan-dialog p { margin:0; }
.plan-dialog p { font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.plan-dialog [data-fields] { display:grid; gap:16px; }
.plan-dialog [data-create-fields] { display:grid; gap:16px; }
.plan-dialog .field span { font-size:15px; letter-spacing:0; color:var(--night-secondary); }
.plan-dialog .field small { display:block; margin-top:7px; color:var(--night-secondary); line-height:1.5; }
.plan-dialog :is(input,select,textarea) { font-family:inherit; font-size:16px; min-height:44px; }
.plan-dialog textarea { min-height:92px; }
.plan-dialog [data-confirm] { display:grid; gap:14px; }
.plan-dialog [data-create-confirm] { display:grid; gap:14px; }
.plan-limit-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.plan-check { display:flex; align-items:center; gap:10px; min-height:44px; }
.plan-check input { min-height:0; width:20px; height:20px; }
.danger-btn { border:1px solid #8f3933; background:#512727; color:#ffd2ce; border-radius:8px; padding:10px 16px; font:inherit; font-weight:700; cursor:pointer; }
.danger-btn:hover { background:#652f29; }
.danger-btn:disabled { opacity:.55; cursor:not-allowed; }
.plan-danger-note { padding:14px; border-left:3px solid #ca574f; background:rgba(121,42,37,.18); color:#ffd2ce; }
.plan-dialog dl { margin:0; }
.plan-dialog dl div { padding:12px 0; border-bottom:1px solid var(--night-line); }
.plan-dialog dt { color:var(--night-secondary); font-size:14px; margin-bottom:6px; }
.plan-dialog dd { margin:0; overflow-wrap:anywhere; line-height:1.5; }
.plan-dialog-actions { display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.plan-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
[data-theme="light"] .plan-state.is-active { color:#17522d; background:#e4f4e9; }
[data-theme="light"] .plan-state.is-inactive { color:#8c2222; background:#fce9e7; }
[data-theme="light"] .plan-state.is-archived { color:#5f5548; background:#ece7df; }
[data-theme="light"] .danger-btn { color:#fff; background:#9b3029; border-color:#9b3029; }
[data-theme="light"] .plan-danger-note { color:#81211d; background:#fce9e7; }
[data-theme="light"] :is(.plan-management .plan-error,.plan-dialog [data-error]) { color:#9b2525; }
@media(max-width:700px) {
  .plan-toolbar { align-items:stretch; flex-direction:column; gap:12px; }
  .plan-toolbar-actions { display:grid; grid-template-columns:1fr 1fr; }
  .plan-toolbar-actions button { width:100%; }
  .plan-management .plan-table, .plan-management .plan-table tbody { display:block; }
  .plan-management .plan-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
  .plan-management .plan-table tr { display:block; padding:12px 0; border-bottom:1px solid var(--night-line); }
  .plan-management .plan-table td { display:grid; grid-template-columns:100px minmax(0,1fr); gap:4px 12px; border:0; padding:8px 0; overflow-wrap:anywhere; }
  .plan-management .plan-table td::before { content:attr(data-label); grid-column:1; grid-row:1; color:var(--night-secondary); font-size:14px; }
  .plan-management .plan-table td:first-child::before { grid-row:1 / span 3; }
  .plan-management .plan-table td > * { grid-column:2; justify-self:start; }
  .plan-dialog form { padding:20px 16px; gap:16px; }
  .plan-dialog-actions { display:grid; grid-template-columns:1fr 1fr; }
  .plan-dialog-actions .primary-btn { grid-column:1 / -1; }
  .plan-limit-grid { grid-template-columns:1fr; }
  .plan-dialog-actions .danger-btn { grid-column:1 / -1; }
}
