.panel-heading select, .traffic-controls select, .form-field input:not([type="checkbox"]):not([type="file"]), .form-field select, .form-field textarea, .search-input { min-height: var(--control-height); border: 1px solid var(--color-border-strong); border-radius: var(--radius-control); background: var(--color-input); padding: 8px 10px; color: var(--color-text); box-shadow: var(--shadow-control); transition: border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease; }
.panel-heading select:hover, .traffic-controls select:hover, .form-field input:not([type="checkbox"]):not([type="file"]):hover, .form-field select:hover, .form-field textarea:hover, .search-input:hover { border-color: var(--color-primary-border); }
.form-field input::placeholder, .form-field textarea::placeholder, .search-input::placeholder { color: var(--color-text-faint); }
.search-input { width: min(300px, 45vw); }

.table-wrap { overflow-x: auto; border-radius: var(--radius-control); }
table { border-collapse: collapse; width: 100%; min-width: 620px; color: var(--color-text); font-size: 13px; }
th { background: var(--color-surface-subtle); color: var(--color-text-muted); text-align: left; font-weight: 720; }
th, td { padding: 11px; border-bottom: 1px solid var(--color-border); }
tbody tr { transition: background-color var(--motion-fast) ease; }
tbody tr:hover { background: var(--color-surface-hover); }
.badge { font-size: 12px; font-weight: 700; }
.badge.ok { color: var(--color-success); }
.table-link, .text-button { border: 0; background: transparent; color: var(--color-primary-strong); padding: 0; font: inherit; font-weight: 750; text-align: left; }
.table-link { display: inline-flex; min-height: 32px; align-items: center; }
.table-link:hover, .text-button:hover { color: var(--color-primary); text-decoration: underline; }

.traffic-controls { display: flex; align-items: end; gap: 8px; margin: 0 0 10px; }
.traffic-controls label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-width: 0; gap: 6px; color: var(--color-text-muted); font-size: 12px; }
.traffic-controls select { min-width: 138px; }
.traffic-controls span { margin: 0 0 9px auto; color: var(--color-text-muted); font-size: 12px; white-space: nowrap; }

.detail-dialog { width: min(620px, calc(100vw - 28px)); border: 1px solid var(--color-border-strong); border-radius: var(--radius-panel); background: var(--color-surface-raised); color: var(--color-text); padding: 0; box-shadow: var(--shadow-dialog); }
.detail-dialog::backdrop { background: var(--color-overlay); backdrop-filter: blur(2px); }
.detail-dialog article { margin: 0; padding: 20px; background: var(--color-surface-raised); color: var(--color-text); }
.detail-dialog header { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.detail-dialog h2 { margin: 3px 0; color: var(--color-heading); font-size: 20px; }
.detail-dialog p, .detail-dialog header span { margin: 0; color: var(--color-text-muted); font-size: 12px; }
.detail-dialog header span { display: block; margin-top: 6px; line-height: 1.45; }
.dialog-content { padding: 18px 0; color: var(--color-text); line-height: 1.55; }
.detail-dialog footer { display: flex; justify-content: end; gap: 8px; border-top: 1px solid var(--color-border); padding-top: 14px; margin-top: 16px; background: var(--color-surface-raised); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding-top: 20px; }
.form-field { display: grid; gap: 6px; color: var(--color-text-muted); font-size: 12px; }
.form-field textarea { min-height: 82px; resize: vertical; }
.check-field { display: flex; align-items: center; gap: 8px; min-height: 30px; color: var(--color-text); font-size: 12px; }
.check-field input, .inline-check input, .table-checkbox, .toggle-list input, .recipient-options input, .platform-features input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: 0; padding: 0; box-shadow: none; accent-color: var(--color-primary); }
.inline-check { display: flex; align-items: center; gap: 8px; min-height: 30px; color: var(--color-text); }

.toast { position: fixed; right: 18px; bottom: 18px; z-index: 20; max-width: min(360px, calc(100vw - 36px)); border: 1px solid var(--color-primary-border); border-radius: var(--radius-control); background: var(--color-toast); color: var(--color-toast-text); padding: 12px 14px; font-size: 13px; box-shadow: var(--shadow-dialog); }

@media print {
  body > *:not(.detail-dialog) { display: none !important; }
  .detail-dialog { position: static !important; width: 100% !important; max-width: none !important; border: 0 !important; box-shadow: none !important; }
  .detail-dialog header, .detail-dialog footer { display: none !important; }
}
