/* Shared panel polish — layout only, no business logic */
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-content .btn,
.ktc-main .btn,
.ktc-sp .btn,
.ktc-sp-toggle { min-height: 40px; }
.ktc-empty-state, .empty-state { text-align: center; padding: 1.5rem 1rem; color: #64748b; }
.admin-content img,
.ktc-main img,
.ktc-sp-content img { max-width: 100%; height: auto; }
.admin-content :focus-visible,
.ktc-main :focus-visible,
.ktc-sp :focus-visible { outline: 2px solid #f59e0b; outline-offset: 2px; }

.admin-content .card,
.ktc-main .ktc-card,
.ktc-stat {
    border-radius: 14px;
}
.admin-content .table thead th,
.ktc-main .table thead th {
    white-space: nowrap;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}
.admin-content .badge,
.ktc-main .badge {
    font-weight: 600;
    letter-spacing: 0.01em;
}
.admin-content .form-control,
.admin-content .form-select,
.ktc-main .form-control,
.ktc-main .form-select {
    min-height: 40px;
}
.admin-sidebar .nav-link,
.ktc-side a {
    border-radius: 0;
}
.admin-content .alert,
.ktc-main .alert,
.ktc-sp .alert {
    border-radius: 12px;
}

@media (max-width: 767.98px) {
    .admin-content .table,
    .ktc-main .table,
    .ktc-sp .table { font-size: 0.9rem; }
    .admin-content, .ktc-main, .ktc-sp-content { overflow-x: hidden; }
    .admin-content {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .ktc-main {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-sidebar,
    .ktc-side,
    .admin-sidebar .nav-link {
        transition: none;
    }
}
