.mck { font-size: 1rem; line-height: 1.5; }
.mck .modal-body { padding: 1rem 1.25rem; }
.mck-section { padding: 1rem 0; }
.mck-section + .mck-section { border-top: 1px solid var(--dm-border, #e3e6f0); }
.mck-section:first-child { padding-top: 0; }
.mck-card-head { margin: 0 0 0.75rem; }
.mck-title { margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.mck-text { margin: 0.25rem 0 0; }
.mck-muted { opacity: .8; }
.mck-loading, .mck-element-loading { display: flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 2rem 1rem; }

.mck-notice { display: flex; align-items: flex-start; gap: 0.75rem; margin: 0 0 1rem; padding: 0.875rem 1rem; background: rgba(54, 185, 204, .1); border: 1px solid rgba(54, 185, 204, .45); border-radius: 0.35rem; }
.mck-notice .fas { margin-top: 0.2rem; color: #36b9cc; }
.mck-notice.is-error { background: rgba(231, 74, 59, .08); border-color: rgba(231, 74, 59, .45); }
.mck-notice.is-error .fas { color: #e74a3b; }

.mck-status { display: flex; align-items: center; gap: 1.25rem; }
.mck-status-icon { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: rgba(28, 200, 138, .14); color: #1cc88a; font-size: 1.5rem; }

.mck-list { border: 1px solid var(--dm-border, #e3e6f0); border-radius: 0.35rem; overflow: hidden; }
.mck-row { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.75rem 1rem; transition: background-color .15s ease; }
.mck-row + .mck-row { border-top: 1px solid var(--dm-border, #e3e6f0); }
.mck-row.is-selected { background: rgba(0, 163, 211, .08); box-shadow: inset 3px 0 0 #00a3d3; }
.mck-row.is-owned, .mck-row.is-disabled { background: var(--dm-surface-2, #f8f9fc); }
.mck-row.is-owned .mck-row-text, .mck-row.is-disabled .mck-row-text { opacity: .6; }
.mck-row.is-owned .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: var(--dm-border-2, #d1d3e2) !important; border-color: var(--dm-border-2, #d1d3e2) !important; }
.mck-row.is-owned .mck-row-main, .mck-row.is-disabled .mck-row-main { pointer-events: none; }
.mck-row-main { flex: 1 1 16rem; display: flex; align-items: center; gap: 0.875rem; min-width: 0; margin: 0; font-weight: 400; cursor: pointer; }
.mck-row.is-disabled .mck-row-main, .mck-row.is-owned .mck-row-main { cursor: default; }
.mck-control { flex: 0 0 auto; min-height: 1.5rem; padding-left: 1.5rem; margin: 0; }
.mck-control.custom-switch { padding-left: 2.25rem; }
.mck-control .custom-control-label { cursor: pointer; }
.mck-control .custom-control-input:disabled ~ .custom-control-label { cursor: default; }
.mck-row-text { display: flex; flex-direction: column; min-width: 0; }
.mck-row-name { font-weight: 700; }
.mck-row-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 0.5rem; margin-left: auto; }
.mck-tag { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0 0.5rem; border: 1px solid var(--dm-border, #e3e6f0); border-radius: 0.2rem; background: var(--dm-surface, #ffffff); font-size: 0.875rem; line-height: 1.6; white-space: nowrap; }
.mck-qty { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-weight: 700; }
.mck-qty-input { width: 5.5rem; border-color: var(--dm-border-2, #d1d3e2); }
.mck-qty-input:focus { border-color: #00a3d3; box-shadow: 0 0 0 .15rem rgba(0, 163, 211, .35); }

.mck-grid { border: 1px solid var(--dm-border, #e3e6f0); border-radius: 0.35rem; overflow-x: auto; }
.mck-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.mck-table th, .mck-table td { padding: 0.625rem 1rem; border-bottom: 1px solid var(--dm-border, #e3e6f0); text-align: left; }
.mck-table thead th { background: var(--dm-surface-2, #f8f9fc); font-weight: 700; }
.mck-table td:nth-child(n+2), .mck-table thead th:nth-child(n+2), .mck-table tfoot td { text-align: right; }
.mck-table tfoot th, .mck-table tfoot td { border-bottom: 0; font-weight: 700; }
.mck-total { font-size: 1.25rem; }

.mck-pay { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.mck-element { width: 100%; min-height: 1px; }
.mck-btn-wide { display: block; width: 100%; height: 3rem; margin-top: 0.5rem; font-size: 1rem; font-weight: 700; border-radius: 0.35rem; }
.mck-link { padding: 0; border: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.mck-link:focus-visible { outline: 2px solid #00a3d3; outline-offset: 2px; border-radius: 0.2rem; }
.mck-secure { margin: 0.25rem 0 0; font-size: 0.875rem; opacity: .8; text-align: center; }
.mck-secure .fas { color: #1cc88a; }

@media (max-width: 576px) {
  .mck-row-actions { width: 100%; margin-left: 0; }
}
@media (max-width: 400px) {
  .mck .modal-body { padding: 0.75rem; }
  .mck-row { padding: 0.625rem 0.75rem; }
  .mck-table th, .mck-table td { padding: 0.5rem 0.625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mck-row { transition: none; }
}
