.panel, .card { background: var(--color-surface); border: var(--line); border-radius: var(--radius-m); padding: var(--space-l); margin-bottom: var(--space-l); } .table { width: 100%; border-collapse: collapse; } .table th, .table td { text-align: left; padding: var(--space-s) var(--space-m); border-bottom: var(--line); } .muted { color: var(--color-muted); } .stack { display: grid; gap: var(--space-m); } input, button, select, textarea { font: inherit; } label { display: grid; gap: var(--space-xs); } input, select, textarea { background: var(--color-surface); border: var(--line); border-radius: var(--radius-s); color: var(--color-text); padding: var(--space-s) var(--space-m); } input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; } button { background: var(--color-primary); border: none; border-radius: var(--radius-s); color: #fff; padding: var(--space-s) var(--space-l); cursor: pointer; } button.danger { background: var(--color-danger); } .link-button { background: none; border: none; color: var(--color-link); padding: 0; text-decoration: underline; cursor: pointer; } .inline-form { display: inline; } .auth-panel { max-width: 28rem; } dialog.modal { background: var(--color-surface); color: var(--color-text); border: var(--line); border-radius: var(--radius-m); padding: 0; width: min(32rem, 90vw); max-height: 90vh; } dialog.modal::backdrop { background: rgba(0, 0, 0, 0.45); } .modal-header, .modal-body, .modal-footer { padding: var(--space-l); } .modal-header { display: flex; justify-content: space-between; align-items: center; border-bottom: var(--line); } .modal-header h2 { margin: 0; font-size: 1.1rem; } .modal-body { display: grid; gap: var(--space-m); overflow-y: auto; } .modal-footer { display: flex; justify-content: flex-end; gap: var(--space-m); border-top: var(--line); } .modal-close { background: none; color: var(--color-muted); padding: var(--space-xs) var(--space-s); font-size: 1.25rem; line-height: 1; } .button-secondary { background: var(--color-surface); color: var(--color-text); border: var(--line); } .field-hint { color: var(--color-muted); font-size: 0.875rem; } .page-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--space-m); margin-bottom: var(--space-l); } .page-heading h1, .page-heading h2 { margin: 0; } .button-row { display: flex; gap: var(--space-s); flex-wrap: wrap; } .detail-grid { display: grid; gap: var(--space-l); } .used-by-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-s); }