/* public/widgets/owner-plans-admin.css
   Owner plans (not for sale) on Service plans > Plans
   (public/widgets/owner-plans-admin.js, 2026-10-18). Tokens only, both themes,
   44px targets. */
.op-head { margin-bottom: var(--s-3); }
.op-title { margin: 0; font-size: var(--text-lg); font-weight: 700; color: var(--ink); }
.op-help { margin: var(--s-1) 0 0; font-size: var(--text-sm); color: var(--ink-3); }
.op-err { color: var(--danger); font-size: var(--text-sm); min-height: 1em; }
.op-rows { display: flex; flex-direction: column; border: 1px solid var(--border-subtle); border-radius: var(--r-lg); background: var(--surface); }
.op-row { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); min-height: 56px; border-bottom: 1px solid var(--border-subtle); }
.op-row:last-child { border-bottom: 0; }
.op-row-main { flex: 1; min-width: 0; }
.op-row-name { font-weight: 600; color: var(--ink); }
.op-row-meta { font-size: var(--text-xs); color: var(--ink-3); margin-top: 2px; }
.op-dialog { width: min(720px, 100%); }
.op-field { display: flex; flex-direction: column; gap: var(--s-1); margin-top: var(--s-3); }
.op-label { font-size: var(--text-xs); font-weight: 700; color: var(--ink-2); }
.op-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--s-3); }
@media (max-width: 640px) { .op-grid { grid-template-columns: minmax(0, 1fr); } }
.op-switch { margin-top: var(--s-3); min-height: 44px; }
.op-chips { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.op-chip { display: inline-flex; align-items: center; gap: var(--s-1); padding: var(--s-1) var(--s-1) var(--s-1) var(--s-3); border-radius: var(--r-full); background: var(--accent-soft); color: var(--accent-ink); font-size: var(--text-sm); font-weight: 600; }
.op-chip.is-missing { background: var(--danger-soft); color: var(--danger-ink); }
.op-chip button { background: transparent; border: 0; color: inherit; cursor: pointer; min-width: 32px; min-height: 32px; border-radius: var(--r-full); font-size: var(--text-md); }
.op-incl-row { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-2) 0; border-bottom: 1px solid var(--border-subtle); flex-wrap: wrap; }
.op-incl-name { flex: 1; min-width: 160px; font-weight: 600; color: var(--ink); }
.op-incl-textwrap { flex: 1; min-width: 200px; }
.op-incl-qty .ds-input { width: 90px; }
.op-incl-charge { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--text-sm); color: var(--ink-2); min-height: 44px; }
.op-incl-add { display: flex; gap: var(--s-2); margin-top: var(--s-2); flex-wrap: wrap; }
