/* Write your custom css here */
/* ---- K12Smart functional helpers (preserved from previous theme) ---- */
/* Password show/hide toggle used on auth & profile forms (.icon-eye) */
.form-control-icon-end .position-relative,
.position-relative > .icon-eye { }
.icon-eye {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    background-image: url("/assets/images/icon-eye-off.svg");
    opacity: .65;
}
.icon-eye.active {
    background-image: url("/assets/images/icon-eye-on.svg");
}
/* Keep password inputs clear of the toggle icon */
.position-relative > .form-control + .icon-eye {
    z-index: 5;
}

/* Password eye wrapper positioning context (kept from previous theme markup) */
.form-control-icon-end { position: relative; }
.form-control-icon-end .form-control { padding-right: 2.5rem; }

/* ---- Premium polish (mirrored from K12Smart Chat app custom.css) ---- */
.btn-primary, .btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-icon-text, .copy-btn, .btn-danger {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    position: relative;
    overflow: hidden;
}
.btn-primary:hover, .btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-icon-text:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1) !important;
}
.btn-danger:hover {
    transform: translateY(-3px) scale(1.02) !important;
    box-shadow: 0 12px 24px rgba(255, 51, 102, 0.4) !important;
}
.btn-primary::after, .btn-danger::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: 0.6s ease;
}
.btn-primary:hover::after, .btn-danger:hover::after {
    left: 100%;
}
.btn-icon-text:hover .btn-icon-prepend { transform: scale(1.2) rotate(90deg) !important; }
.btn-icon-prepend { transition: transform 0.4s ease !important; }

/* Premium context/profile dropdown styling */
.premium-dropdown-toggle {
    transition: all 0.2s ease-in-out;
    border: 1px solid #e5e7eb;
    font-weight: 500;
    justify-content: space-between;
}
.premium-dropdown-menu {
    border: none;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);
    border-radius: 12px;
    margin-top: 8px !important;
    overflow: hidden;
}

/* Sidebar brand logo sizing */
.sidebar .sidebar-header .sidebar-brand img { height: 26px; width: auto; }

/* ---- Table cell density & action buttons (controllers emit .btn-action + 'icon p-5' links) ---- */
.table td, .table th { vertical-align: middle; }

/* Compact, circular icon action buttons (override Bootstrap p-5 = 3rem) */
.btn-action { align-items: center; }
.btn-action a.icon,
.table td a.icon {
    padding: 0 !important;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    color: var(--bs-secondary);
    transition: background-color .15s ease, color .15s ease;
}
.btn-action a.icon svg,
.table td a.icon svg { width: 18px; height: 18px; }
.btn-action a.icon:hover,
.table td a.icon:hover { background-color: rgba(var(--bs-primary-rgb), .12); color: var(--bs-primary); }
.btn-action a.delete-btn:hover,
.table td a.delete-btn:hover { background-color: rgba(var(--bs-danger-rgb, 255,51,102), .12); color: var(--bs-danger); }

/* Status pill badges (controllers use Bootstrap-4 style badge-success/danger which BS5 dropped) */
.badge.badge-success { background-color: rgba(var(--bs-success-rgb), .12); color: var(--bs-success); }
.badge.badge-danger  { background-color: rgba(var(--bs-danger-rgb, 255,51,102), .12); color: var(--bs-danger); }
.badge.badge-warning { background-color: rgba(var(--bs-warning-rgb), .15); color: #b45309; }
.badge.badge-info    { background-color: rgba(var(--bs-info-rgb), .15); color: var(--bs-info); }
.badge.badge-primary { background-color: rgba(var(--bs-primary-rgb), .12); color: var(--bs-primary); }
.badge.badge-secondary { background-color: rgba(var(--bs-secondary-rgb), .15); color: var(--bs-secondary); }
.table .badge .icon { padding: 0 !important; line-height: 1; }
.table .badge .icon svg { width: 12px; height: 12px; }
