/* Namespaced, minimal additions on top of base.css */
.ctl-form-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 740px) {
  .ctl-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ctl-label { display:block; font-weight:600; margin-bottom:6px; }

.ctl-summary {
  position: sticky; top: 64px;
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-card);
  background: var(--bg);
}
.ctl-summary__item { display:flex; flex-direction:column; }
.ctl-summary__label { color: var(--ink-500); font-size: 12px; }
.ctl-summary__value { font-weight: 700; font-size: 18px; }

.ctl-table { width:100%; border-collapse: collapse; border:1px solid var(--line); background:#fff; border-radius:12px; overflow:hidden; }
.ctl-table th, .ctl-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.ctl-table thead th { background: #F3F6FB; font-weight:600; }
.ctl-col-actions { width: 110px; }

.ctl-tag {
  display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600;
  border:1px solid var(--line);
}
.ctl-tag--paid { background:#ECFDF5; color:#065F46; border-color:#A7F3D0; }     /* green style */
.ctl-tag--pending { background:#FEF3C7; color:#92400E; border-color:#FCD34D; } /* amber style */

.ctl-table .ctl-action {
  background:#fff; color:var(--ink-900); border:1px solid var(--line);
  border-radius: var(--radius-btn); padding:6px 10px; font-weight:600; cursor:pointer;
}
.ctl-table .ctl-action:hover { text-decoration:none; }

.ctl-editing {
  padding:0 !important;
}
.ctl-edit-input, .ctl-edit-select {
  width:100%; border: none; outline: none; padding: 10px 12px; font: inherit; background:#fff;
}

.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ctl-visually-muted { color: var(--ink-500); font-size: 12px; }
