/* ============================================
   Bootstrap 3 Panel Compatibility Layer
   (Updated for modern design)
   ============================================ */

.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid var(--pos-border, #e2e8f0);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
    overflow: hidden;
}

.panel-body {
    padding: 1.25rem;
}

.panel-heading {
    padding: .8rem 1.25rem;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 11px;
    border-top-right-radius: 11px;
}

.panel-heading > .dropdown .dropdown-toggle {
    color: inherit;
}

.panel-title {
    margin: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: inherit;
}

.panel-title > a,
.panel-title > small,
.panel-title > .small {
    color: inherit;
}

.panel-footer {
    padding: .75rem 1.25rem;
    background-color: #f8fafc;
    border-top: 1px solid var(--pos-border, #e2e8f0);
    border-bottom-right-radius: 11px;
    border-bottom-left-radius: 11px;
}

.panel > .list-group,
.panel > .panel-collapse > .list-group {
    margin-bottom: 0;
}

.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
    border-width: 1px 0;
    border-radius: 0;
}

.panel > .list-group:first-child .list-group-item:first-child {
    border-top: 0;
}

.panel > .list-group:last-child .list-group-item:last-child {
    border-bottom: 0;
}

.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
    margin-bottom: 0;
}

.panel > .table-responsive {
    margin-bottom: 0;
    border: 0;
}

/* ---- Panel Variants ---- */

.panel-default {
    border-color: #e2e8f0;
}

.panel-default > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #475569, #334155);
    border-color: #475569;
}

.panel-primary {
    border-color: #4f46e5;
}

.panel-primary > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #4f46e5, #3730a3);
    border-color: #4f46e5;
}

.panel-success {
    border-color: #a7f3d0;
}

.panel-success > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #059669, #047857);
    border-color: #059669;
}

.panel-info {
    border-color: #a5f3fc;
}

.panel-info > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #0891b2, #0e7490);
    border-color: #0891b2;
}

.panel-warning {
    border-color: #fde68a;
}

.panel-warning > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #d97706, #b45309);
    border-color: #d97706;
}

.panel-danger {
    border-color: #fecaca;
}

.panel-danger > .panel-heading {
    color: #ffffff;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    border-color: #dc2626;
}

/* ---- Helper utilities ---- */

.hide      { display: none !important; }
.show      { display: block !important; }
.invisible { visibility: hidden; }

/* ---- Button Sizes (MDB override) ---- */

.btn-sm,
.btn-group-sm > .btn {
    --mdb-btn-padding-top:    5px !important;
    --mdb-btn-padding-bottom: 5px !important;
    --mdb-btn-padding-x:      10px !important;
    --mdb-btn-font-size:      12px !important;
    --mdb-btn-border-radius:  6px !important;
}

.btn-xs,
.btn-group-xs > .btn {
    --mdb-btn-padding-top:    2px !important;
    --mdb-btn-padding-bottom: 2px !important;
    --mdb-btn-padding-x:      7px !important;
    --mdb-btn-font-size:      11.5px !important;
    --mdb-btn-border-radius:  4px !important;
}

/* ---- Validation ---- */

.help-block {
    color: var(--mdb-danger, #ef4444) !important;
    font-size: 12px;
}
