/* ============================================================
   User Panel - Custom Improvements
   ============================================================ */

/* ---------- Sidebar ---------- */
.dash-aside-navbar {
    background: #ffffff;
    box-shadow: -2px 0 20px rgba(0, 0, 0, 0.04);
    border-left: 1px solid #f0f0f0;
}

.dash-aside-navbar .logo {
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: 24px;
    margin-bottom: 8px;
}

.sidebar-logo {
    max-height: 50px;
    max-width: 180px;
    object-fit: contain;
    transition: opacity 0.2s ease;
}

.sidebar-logo:hover {
    opacity: 0.8;
}

.dash-aside-navbar .user-data {
    padding: 10px 0 20px;
}

.dash-aside-navbar .user-data .user-avatar {
    width: 72px;
    height: 72px;
    margin: 10px auto 0;
    border: 3px solid #e8f0eb;
    transition: border-color 0.3s ease;
    box-shadow: 0 2px 10px rgba(49, 121, 90, 0.1);
}

.dash-aside-navbar .user-data .user-avatar:hover {
    border-color: #31795a;
}

.dash-aside-navbar .user-data .user-avatar.online::before {
    background: #29d259;
    border: 3px solid #ffffff;
    width: 14px;
    height: 14px;
    bottom: 6px;
    left: -2px;
}

.dash-aside-navbar .user-data .user-name {
    width: 100%;
    font-size: 16px;
    font-weight: 600;
    color: #244034;
    margin: 12px 0 35px;
    letter-spacing: -0.2px;
    padding: 8px 12px;
    border-radius: 10px;
    transition: background 0.2s ease;
}

.dash-aside-navbar .user-data .user-name:hover {
    background: #f7faf8;
}

.dash-aside-navbar .user-data .user-name-data .dropdown-menu {
    width: 100%;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    margin-top: 4px;
}

.dash-aside-navbar .user-data .user-name-data .dropdown-menu .dropdown-item {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    transition: all 0.15s ease;
}

.dash-aside-navbar .user-data .user-name-data .dropdown-menu .dropdown-item:hover {
    background: #f7faf8;
    color: #31795a;
}

.dash-aside-navbar .dasboard-main-nav {
    padding: 0 4px;
}

.dash-aside-navbar .dasboard-main-nav li {
    margin-bottom: 2px;
}

.dash-aside-navbar .dasboard-main-nav li a {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.15px;
    color: #4a4a4a;
    padding: 13px 16px 13px 12px;
    border-radius: 12px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.dash-aside-navbar .dasboard-main-nav li a:hover {
    color: #31795a;
    background: #f0f7f3;
}

.dash-aside-navbar .dasboard-main-nav li a.active {
    background: #31795a;
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(49, 121, 90, 0.2);
}

.dash-aside-navbar .dasboard-main-nav li a.active:hover {
    background: #286b4b;
}

.dash-aside-navbar .dasboard-main-nav li a img {
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    object-fit: contain;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.dash-aside-navbar .dasboard-main-nav li a:hover img {
    opacity: 0.9;
}

.dash-aside-navbar .dasboard-main-nav li a.active img {
    opacity: 1;
    filter: brightness(0) invert(1);
}

.dash-aside-navbar .dasboard-main-nav li a span {
    padding-right: 0;
}

.dash-aside-navbar .close-btn {
    color: #666;
    font-size: 20px;
    padding: 4px 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.dash-aside-navbar .close-btn:hover {
    background: #f0f0f0;
    color: #333;
}

/* ---------- Dashboard Body ---------- */
.dashboard-body {
    background: #f5f7f6;
}

.dashboard-body .main-title {
    font-weight: 700;
    color: #1a2e23;
    position: relative;
    padding-bottom: 12px;
}

.dashboard-body .main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 3px;
    background: #d2f34c;
    border-radius: 2px;
}

/* ---------- Dashboard Header ---------- */
.dashboard-body .dashboard-header {
    background: #f5f7f6;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.dashboard-body .dashboard-header .profile-notification .noti-btn {
    background: rgba(0, 0, 0, 0.04);
    border-radius: 12px;
    padding: 8px 12px;
    transition: background 0.2s ease;
}

.dashboard-body .dashboard-header .profile-notification .noti-btn:hover {
    background: rgba(0, 0, 0, 0.08);
}

.dashboard-body .dashboard-header .dash-mobile-nav-toggler {
    background: rgba(0, 0, 0, 0.04);
    border-radius: 10px;
}

/* ---------- Header User Nav ---------- */
.dashboard-body .dashboard-header .header-user {
    position: relative;
}

.dashboard-body .dashboard-header .header-user .header-user-toggler {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 0, 0, 0.04);
    border: none;
    border-radius: 12px;
    padding: 4px 14px 4px 6px;
    transition: background 0.2s ease;
    max-width: 190px;
}

.dashboard-body .dashboard-header .header-user .header-user-toggler:hover {
    background: rgba(0, 0, 0, 0.08);
}

.dashboard-body .dashboard-header .header-user .header-user-toggler::after {
    display: none;
}

.dashboard-body .dashboard-header .header-user .header-user-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #31795a;
    background: #fff;
}

.dashboard-body .dashboard-header .header-user .header-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-body .dashboard-header .header-user .header-user-avatar.online {
    position: relative;
}

.dashboard-body .dashboard-header .header-user .header-user-avatar.online::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #29d259;
    border: 2px solid #ffffff;
    bottom: -2px;
    left: -2px;
    z-index: 1;
}

.dashboard-body .dashboard-header .header-user .header-user-name {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-body .dashboard-header .header-user .dropdown-menu {
    min-width: 190px;
    border: 1px solid #f0f0f0;
    border-radius: 14px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    padding: 8px 0;
}

.dashboard-body .dashboard-header .header-user .dropdown-menu .dropdown-item {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    transition: all 0.15s ease;
}

.dashboard-body .dashboard-header .header-user .dropdown-menu .dropdown-item:hover {
    background: #f7faf8;
    color: #31795a;
}

.dashboard-body .dashboard-header .header-user .dropdown-menu .dropdown-item img {
    width: 20px;
    height: 20px;
}

/* Hide user name on small screens to avoid overflow */
@media (max-width: 575px) {
    .dashboard-body .dashboard-header .header-user .header-user-toggler {
        padding: 5px;
        max-width: 44px;
    }

    .dashboard-body .dashboard-header .header-user .header-user-name {
        display: none;
    }
}

/* ---------- Dashboard Announcements ---------- */
.dash-announcements .dash-announcements-list {
    display: flex;
    flex-direction: column;
}

.dash-announcements .dash-announcement-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #f0f0f0;
    margin-bottom: 10px;
    background: #fbfcfb;
    transition: all 0.2s ease;
    text-decoration: none;
}

.dash-announcements .dash-announcement-item:last-child {
    margin-bottom: 0;
}

.dash-announcements .dash-announcement-item:hover {
    background: #f4f8f5;
    border-color: #d8e6dd;
}

.dash-announcements .dash-announcement-item .dai-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef3f0;
    color: #31795a;
    font-size: 18px;
}

.dash-announcements .dash-announcement-item .dai-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.dash-announcements .dash-announcement-item .dai-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dash-announcements .dash-announcement-item .dai-title {
    font-size: 15px;
    font-weight: 600;
    color: #244034;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-announcements .dash-announcement-item .dai-date {
    font-size: 12px;
    color: rgba(36, 64, 52, 0.55);
    margin-top: 2px;
}

.dash-announcements .dash-announcement-item .dai-arrow {
    color: #c0c9c3;
    font-size: 18px;
}

.dash-announcements .dash-announcement-item .dai-badge {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #ff2730;
    border-radius: 30px;
    padding: 2px 10px;
}

/* New/unread announcement is more prominent */
.dash-announcements .dash-announcement-item.dai-new {
    background: #fff;
    border-color: #d2f34c;
    box-shadow: 0 3px 12px rgba(210, 243, 76, 0.35);
}

.dash-announcements .dash-announcement-item.dai-new .dai-icon {
    background: #d2f34c;
    color: #244034;
}

/* ---------- Card Box ---------- */
.card-box {
    background: #fff;
    border-radius: 16px;
    padding: 30px 35px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.3s ease;
    overflow: clip;
}

.card-box:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* ---------- Tables ---------- */
.job-alert-table {
    margin-bottom: 0;
    min-width: 640px;
}

.job-alert-table th {
    background: #f9faf9;
    font-weight: 600;
    color: #244034;
    border-bottom: 2px solid #e8ece9;
    padding: 14px 16px;
    font-size: 14px;
    letter-spacing: -0.1px;
    white-space: nowrap;
}

.job-alert-table td {
    padding: 18px 16px;
    color: #333;
    font-size: 14px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.job-alert-table tbody tr:hover td {
    background: #f9fcfa;
}

.job-alert-table tbody tr:last-child td {
    border-bottom: none;
}

/* ---------- Status Badges ---------- */
.badge {
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 12px;
    letter-spacing: 0;
}

.badge.bg-info {
    background: #e8f4f8 !important;
    color: #0c7a9e;
}

.badge.bg-warning {
    background: #fef3e2 !important;
    color: #b87d00;
}

.badge.bg-success {
    background: #e6f7ed !important;
    color: #1a8a4a;
}

.badge.bg-danger {
    background: #fde8ea !important;
    color: #c0392b;
}

.badge.bg-secondary {
    background: #f0f0f0 !important;
    color: #555;
}

/* ---------- Status Labels (pending/approved/rejected) ---------- */
.text-warning,
.text-success,
.text-danger {
    font-weight: 500;
}

/* ---------- Buttons ---------- */
.btn-primary {
    background: #31795a;
    border-color: #31795a;
    color: #fff;
    border-radius: 10px;
    font-weight: 500;
    padding: 8px 20px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(49, 121, 90, 0.15);
}

.btn-primary:hover {
    background: #245a42;
    border-color: #245a42;
    box-shadow: 0 4px 15px rgba(49, 121, 90, 0.25);
    transform: translateY(-1px);
}

.btn-success {
    background: #d2f34c;
    border-color: #d2f34c;
    color: #244034;
    border-radius: 10px;
    font-weight: 600;
    padding: 8px 20px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(210, 243, 76, 0.2);
}

.btn-success:hover {
    background: #c5e63a;
    border-color: #c5e63a;
    color: #1a2e23;
    box-shadow: 0 4px 15px rgba(210, 243, 76, 0.35);
    transform: translateY(-1px);
}

.btn-outline-primary {
    border-color: #31795a;
    color: #31795a;
    border-radius: 10px;
    font-weight: 500;
}

.btn-outline-primary:hover {
    background: #31795a;
    color: #fff;
}

.rounded-pill {
    border-radius: 50px !important;
}

/* ---------- Action Buttons (circular in tables) ---------- */
.save-btn {
    background: #f0f5f3;
    color: #31795a;
    border: 1px solid #e3f0eb;
    width: 36px;
    height: 36px;
    line-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px !important;
    transition: all 0.2s ease;
    font-size: 14px;
}

.save-btn:hover {
    background: #31795a;
    color: #fff;
    border-color: #31795a;
    transform: scale(1.05);
}

/* ---------- Contract Items ---------- */
.contract-item {
    border: 2px solid #e8f0eb !important;
    border-radius: 14px !important;
    overflow: hidden;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
    margin-bottom: 20px;
}

.contract-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    border-color: #d2f34c;
}

.contract-header {
    background: linear-gradient(135deg, #f7faf8 0%, #f0f5f3 100%) !important;
    color: #244034 !important;
    font-weight: 600 !important;
    padding: 12px 18px !important;
    font-size: 13px !important;
    letter-spacing: -0.1px;
    border-bottom: 1px solid #e3f0eb;
}

.contract-body {
    background: #fff !important;
    color: #333 !important;
    font-weight: 500 !important;
    padding: 16px 18px !important;
    font-size: 15px;
    min-height: 50px;
    display: flex;
    align-items: center;
}

/* ---------- Candidate Profile Card (kept for compatibility) ---------- */
.candidate-profile-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.candidate-profile-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.candidate-profile-card .candidate-name a {
    color: #244034;
    font-weight: 600;
}

.candidate-profile-card .candidate-name a:hover {
    color: #31795a;
}

.candidate-profile-card .candidate-post {
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
}

/* ---------- Forms ---------- */
.dash-input-wrapper label,
.form-group label {
    display: block;
    font-weight: 600;
    color: #244034;
    margin-bottom: 8px;
    font-size: 14px;
}

.dash-input-wrapper input,
.dash-input-wrapper select,
.dash-input-wrapper textarea,
.form-group input,
.form-group select,
.form-group textarea {
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 15px;
    transition: all 0.2s ease;
    background: #fafbfa;
    width: 100%;
}

.dash-input-wrapper input:focus,
.dash-input-wrapper select:focus,
.dash-input-wrapper textarea:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #31795a;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(49, 121, 90, 0.1);
    outline: none;
}

.text-danger {
    color: #dc3545 !important;
}

/* ---------- Alerts & Messages ---------- */
.alert {
    border-radius: 12px;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 500;
    border: none;
}

.alert-success {
    background: #e6f7ed;
    color: #1a6b3a;
    border-right: 4px solid #28a745;
}

.alert-danger {
    background: #fde8ea;
    color: #a71d2a;
    border-right: 4px solid #dc3545;
}

.alert-warning {
    background: #fef3e2;
    color: #856404;
    border-right: 4px solid #ffc107;
}

.alert-info {
    background: #e8f4f8;
    color: #0c6e7e;
    border-right: 4px solid #17a2b8;
}

.dashboard-body .dashboard-header .profile-notification .noti-btn .badge-pill.notification-counter {
    display: none;
}

.dashboard-body .dashboard-header .profile-notification .noti-btn .badge-pill.notification-counter:empty {
    display: none;
}

/* ---------- Notification Counter (when shown via JS) ---------- */
.scroll-top {
    background: #31795a;
    color: #fff;
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(49, 121, 90, 0.25);
    transition: all 0.3s ease;
}

.scroll-top:hover {
    background: #245a42;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(49, 121, 90, 0.35);
}

/* ---------- Pagination ---------- */
.dash-pagination {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
}

.dash-pagination .pagination {
    display: flex;
    gap: 4px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-pagination .page-item {
    list-style: none;
}

.dash-pagination .page-link,
.dash-pagination .page-item span {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #244034;
    background: #fff;
    border: 1px solid #e3e3e3;
    transition: all 0.2s ease;
    text-decoration: none;
    padding: 0;
    line-height: 1;
}

.dash-pagination .page-link:hover {
    background: #f0f7f3;
    border-color: #31795a;
    color: #31795a;
}

.dash-pagination .page-item.active .page-link,
.dash-pagination .page-item.active span {
    background: #31795a;
    color: #fff;
    border-color: #31795a;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(49, 121, 90, 0.25);
}

.dash-pagination .page-item.disabled .page-link,
.dash-pagination .page-item.disabled span {
    color: #bbb;
    background: #f9f9f9;
    border-color: #eee;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---------- Bank Accounts Card Grid ---------- */
.bank-accounts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 20px;
}

.bank-account-card {
    background: #fafbfa;
    border: 1px solid #e8ece9;
    border-radius: 14px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.bank-account-card:hover {
    border-color: #31795a;
    box-shadow: 0 4px 16px rgba(49, 121, 90, 0.08);
}

.ba-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid #e8ece9;
}

.ba-bank-name {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 15px;
    color: #244034;
}

.ba-bank-name i {
    color: #31795a;
    font-size: 18px;
}

.ba-body {
    padding: 16px 18px;
}

.ba-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #f0f2f0;
}

.ba-row:last-child {
    border-bottom: none;
}

.ba-label {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

.ba-value {
    font-size: 14px;
    color: #244034;
    font-weight: 500;
}

.ba-mono {
    font-family: monospace;
    font-size: 13px;
}

.ba-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 18px;
    background: #fff;
    border-top: 1px solid #e8ece9;
}

.ba-contracts {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.ba-actions {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* ---------- Notifications ---------- */
.notifications-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.notification-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid #e8ece9;
    transition: all 0.2s ease;
}

.notification-item.is-unseen {
    background: #fffde6;
    border-color: #f0d060;
}

.notification-item.is-seen {
    background: #fafbfa;
}

.notif-body {
    flex: 1;
}

.notif-text {
    margin-bottom: 6px;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
}

.notif-date {
    font-size: 12px;
    color: #999;
}

.notif-action {
    margin-right: 16px;
    flex-shrink: 0;
}

/* ---------- Form Controls ---------- */
.form-control {
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 15px;
    transition: all 0.2s ease;
    background: #fafbfa;
}

.form-control:focus {
    border-color: #31795a;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(49, 121, 90, 0.1);
}

.form-select {
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    padding: 10px 16px;
    font-size: 15px;
    transition: all 0.2s ease;
    background-color: #fafbfa;
}

.form-select:focus {
    border-color: #31795a;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(49, 121, 90, 0.1);
}

.nice-select {
    height: 48px;
    line-height: 44px;
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    font-size: 15px;
    padding: 0 16px;
    background: #fafbfa;
    transition: all 0.2s ease;
}

.nice-select:focus,
.nice-select.open {
    border-color: #31795a;
}

.nice-select .list {
    border-radius: 10px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    margin-top: 4px;
}

.nice-select .option {
    line-height: 40px;
    padding: 0 16px;
}

/* ---------- Headings ---------- */
h2, h3, h4, h5, h6 {
    color: #244034;
}

/* ---------- Links ---------- */
a {
    color: #31795a;
    transition: color 0.2s ease;
}

a:hover {
    color: #245a42;
}

/* ---------- Bootstrap Overrides ---------- */
.border-20 {
    border-radius: 16px !important;
}

.border-15 {
    border-radius: 14px !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
    .card-box {
        padding: 24px 20px;
    }

    .bank-accounts-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-body {
        margin-right: 0 !important;
        border-radius: 0 !important;
        padding: 100px 16px 30px !important;
    }

    .card-box {
        padding: 16px 12px;
        border-radius: 12px;
    }

    .card-box > .row {
        --bs-gutter-x: 12px;
    }

    .bank-accounts-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .table-responsive {
        border-radius: 8px;
        margin: 0 -4px;
    }

    .job-alert-table {
        min-width: 500px;
        font-size: 12px;
    }

    .job-alert-table th,
    .job-alert-table td {
        padding: 10px 8px;
        font-size: 12px;
    }

    .job-alert-table th {
        padding: 10px 8px;
        font-size: 11px;
    }

    .contract-item {
        border-radius: 10px !important;
        margin-bottom: 10px;
    }

    .contract-header {
        padding: 8px 12px !important;
        font-size: 11px !important;
    }

    .contract-body {
        padding: 10px 12px !important;
        font-size: 12px;
        min-height: 36px;
    }

    .main-title {
        font-size: 20px !important;
        margin-bottom: 20px !important;
    }

    .ba-header {
        padding: 10px 14px;
    }

    .ba-body {
        padding: 12px 14px;
    }

    .ba-footer {
        padding: 10px 14px;
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }

    .ba-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .dash-pagination ul {
        gap: 2px;
    }

    .dash-pagination {
        margin-top: 20px;
    }

    .save-btn {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 12px;
    }

    .btn {
        font-size: 13px;
        padding: 6px 14px;
    }

    .btn-primary.rounded-pill,
    .btn-outline-primary.rounded-pill {
        font-size: 12px;
        padding: 6px 14px;
    }

    .dash-input-wrapper label,
    .form-group label {
        font-size: 13px;
    }

    .dash-input-wrapper input,
    .dash-input-wrapper select,
    .dash-input-wrapper textarea,
    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 14px;
        padding: 8px 12px;
    }

    .dash-pagination .page-link,
    .dash-pagination .page-item span {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    h4 {
        font-size: 16px;
    }

    h5 {
        font-size: 14px;
    }

    .badge {
        font-size: 10px;
        padding: 3px 8px;
    }

    .alert {
        font-size: 13px;
        padding: 10px 14px;
    }
}

@media (max-width: 480px) {
    .card-box {
        padding: 12px 8px;
    }

    .job-alert-table {
        min-width: 450px;
    }

    .job-alert-table th,
    .job-alert-table td {
        padding: 8px 6px;
        font-size: 11px;
    }

    .save-btn {
        width: 28px;
        height: 28px;
        line-height: 28px;
        font-size: 11px;
    }

    .btn {
        font-size: 12px;
        padding: 5px 10px;
    }

    .dash-pagination .page-link,
    .dash-pagination .page-item span {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }

    .notification-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 14px;
    }

    .notif-action {
        margin-right: 0;
        width: 100%;
    }

    .notif-action .btn {
        width: 100%;
    }

    .bank-accounts-grid {
        grid-template-columns: 1fr;
    }

    .contract-header {
        padding: 6px 10px !important;
        font-size: 10px !important;
    }

    .contract-body {
        padding: 8px 10px !important;
        font-size: 11px;
        min-height: 30px;
    }
}

/* ---------- Dropdown Menus ---------- */
.dropdown-menu {
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    overflow: hidden;
}

.dropdown-menu .dropdown-item {
    padding: 10px 20px;
    font-size: 14px;
    color: #244034;
    transition: all 0.15s ease;
}

.dropdown-menu .dropdown-item:hover {
    background: #f0f5f3;
    color: #31795a;
}

/* ---------- Tab Filter Buttons ---------- */
.tab-filter-btn .nav-link {
    border-radius: 10px;
    font-weight: 500;
    padding: 8px 16px;
    color: #244034;
    transition: all 0.2s ease;
}

.tab-filter-btn .nav-link.active {
    background: #d2f34c;
    color: #244034;
    font-weight: 600;
}

/* ---------- Preloader ---------- */
#preloader {
    background: #f5f7f6;
}

/* ---------- Utility Classes ---------- */
.fw-500 {
    font-weight: 500;
}

.mb-25 {
    margin-bottom: 25px;
}

.mb-30 {
    margin-bottom: 30px;
}

.mt-25 {
    margin-top: 25px;
}

.mt-30 {
    margin-top: 30px;
}

.mb-40 {
    margin-bottom: 40px;
}

.mt-40 {
    margin-top: 40px;
}

/* ---------- Amount Words & Helper Text ---------- */
.amount-words {
    color: #666;
    font-size: 14px;
    font-weight: 500;
}

.soot-price-info {
    color: #888;
    font-size: 13px;
}

/* ---------- Info Boxes ---------- */
.info-box {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 16px 20px;
}

.warning-box {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 12px;
    padding: 16px 20px;
}

/* ---------- Transactions Table ---------- */
.job-alert-table th.text-right {
    text-align: right;
}

/* ---------- Empty State ---------- */
.alert-warning {
    text-align: center;
    font-size: 16px;
    padding: 24px;
}

/* ---------- Dashboard Stat Cards ---------- */
.dash-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid #e8ece9;
    border-radius: 14px;
    padding: 20px 24px;
    transition: all 0.2s ease;
}

.dash-stat-card:hover {
    border-color: #31795a;
    box-shadow: 0 4px 16px rgba(49, 121, 90, 0.08);
}

.stat-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.stat-icon-contracts {
    background: #e8f5e9;
    color: #2e7d32;
}

.stat-icon-invested {
    background: #e3f2fd;
    color: #1565c0;
}

.stat-icon-balance {
    background: #f3e5f5;
    color: #7b1fa2;
}

.stat-icon-profit {
    background: #e8f5e9;
    color: #2e7d32;
}

.stat-icon-loss {
    background: #ffebee;
    color: #c62828;
}

.stat-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-label {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

.stat-value {
    font-size: 22px;
    font-weight: 700;
    color: #244034;
    line-height: 1.2;
}

.stat-unit {
    font-size: 12px;
    color: #999;
    font-weight: 500;
}

/* ---------- Dashboard Section Title ---------- */
.dash-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #244034;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f2f0;
}

/* ---------- Dashboard Quick Info ---------- */
.quick-info-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.quick-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #f0f2f0;
}

.quick-info-row:last-child {
    border-bottom: none;
}

.quick-info-label {
    font-size: 14px;
    color: #555;
    display: flex;
    align-items: center;
    gap: 8px;
}

.quick-info-label i {
    color: #31795a;
    font-size: 16px;
}

.quick-info-value {
    font-size: 15px;
    font-weight: 600;
    color: #244034;
}

.quick-info-pending {
    background: #fffde6;
    margin: 0 -12px;
    padding: 14px 12px;
    border-radius: 8px;
}

/* ---------- Dashboard Contract Card ---------- */
.dash-contract-card {
    display: block;
    background: #fafbfa;
    border: 1px solid #e8ece9;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.2s ease;
}

.dash-contract-card:hover {
    border-color: #31795a;
    box-shadow: 0 4px 16px rgba(49, 121, 90, 0.08);
    transform: translateY(-2px);
}

.dcc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    border-bottom: 1px solid #e8ece9;
}

.dcc-title {
    font-weight: 600;
    font-size: 15px;
    color: #244034;
}

.dcc-body {
    padding: 14px 18px;
}

.dcc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}

.dcc-label {
    font-size: 13px;
    color: #888;
}

.dcc-value {
    font-size: 14px;
    color: #244034;
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

/* ---------- Dashboard Responsive ---------- */
@media (max-width: 992px) {
    .dash-stat-card {
        padding: 16px 18px;
    }

    .stat-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .stat-value {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .dash-stat-card {
        padding: 14px 16px;
    }

    .stat-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
        border-radius: 10px;
    }

    .stat-value {
        font-size: 16px;
    }

    .stat-label {
        font-size: 12px;
    }

    .dash-section-title {
        font-size: 15px;
    }

    .quick-info-label {
        font-size: 13px;
    }

    .quick-info-value {
        font-size: 13px;
    }
}

/* ============================================================
   DASHBOARD V2 - Modern Redesign
   ============================================================ */

/* ---------- Welcome Banner ---------- */
.dash-welcome-banner {
    background: linear-gradient(135deg, #31795a 0%, #245a42 50%, #1a3d2c 100%);
    border-radius: 18px;
    padding: 30px 35px;
    position: relative;
    overflow: hidden;
}

.dash-welcome-banner::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 300px;
    height: 300px;
    background: rgba(210, 243, 76, 0.08);
    border-radius: 50%;
}

.dash-welcome-banner::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 50%;
}

.dwb-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}

.dwb-greeting {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
}

.dwb-subtitle {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}

.dwb-date {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    padding: 10px 18px;
    border-radius: 12px;
    color: #fff;
}

.dwb-date-icon {
    font-size: 18px;
    opacity: 0.8;
}

.dwb-date-text {
    font-size: 13px;
    font-weight: 500;
}

/* ---------- V2 Stat Cards ---------- */
.dash-stat-card-v2 {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    padding: 22px 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.dash-stat-card-v2:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.dscv2-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.dscv2-contracts .dscv2-icon { background: linear-gradient(135deg, #e8f5e9, #c8e6c9); color: #2e7d32; }
.dscv2-invested .dscv2-icon { background: linear-gradient(135deg, #e3f2fd, #bbdefb); color: #1565c0; }
.dscv2-balance .dscv2-icon { background: linear-gradient(135deg, #f3e5f5, #e1bee7); color: #7b1fa2; }
.dscv2-profit .dscv2-icon { background: linear-gradient(135deg, #e8f5e9, #c8e6c9); color: #2e7d32; }
.dscv2-loss .dscv2-icon { background: linear-gradient(135deg, #ffebee, #ffcdd2); color: #c62828; }

.dscv2-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dscv2-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.dscv2-value {
    font-size: 22px;
    font-weight: 700;
    color: #244034;
    line-height: 1.3;
}

.dscv2-unit {
    font-size: 11px;
    color: #999;
    font-weight: 500;
}

.dscv2-sub-value {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #b8860b;
}

.dscv2-decoration {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    border-radius: 0 4px 4px 0;
}

.dscv2-contracts .dscv2-decoration { background: linear-gradient(180deg, #66bb6a, #388e3c); }
.dscv2-invested .dscv2-decoration { background: linear-gradient(180deg, #42a5f5, #1565c0); }
.dscv2-balance .dscv2-decoration { background: linear-gradient(180deg, #ab47bc, #7b1fa2); }
.dscv2-profit .dscv2-decoration { background: linear-gradient(180deg, #66bb6a, #388e3c); }
.dscv2-loss .dscv2-decoration { background: linear-gradient(180deg, #ef5350, #c62828); }

/* ---------- Chart Card ---------- */
.dash-chart-card {
    padding: 28px 30px;
}

.dash-chart-wrapper {
    position: relative;
    width: 100%;
}

.dash-donut-wrapper {
    display: flex;
    justify-content: center;
    padding: 10px 0;
}

.dash-donut-legend {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #f0f2f0;
}

.ddl-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
}

.ddl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ddl-label {
    color: #555;
    flex: 1;
}

.ddl-value {
    font-weight: 600;
    color: #244034;
}

/* ---------- Quick Info Cards ---------- */
.dash-quick-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    padding: 22px 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dash-quick-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.dqc-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.dqc-bank .dqc-icon { background: #e8f5e9; color: #2e7d32; }
.dqc-transactions .dqc-icon { background: #e3f2fd; color: #1565c0; }
.dqc-pending .dqc-icon { background: #fff3e0; color: #e65100; }
.dqc-gold .dqc-icon { background: #fff8e1; color: #f9a825; }

.dqc-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dqc-value {
    font-size: 20px;
    font-weight: 700;
    color: #244034;
}

.dqc-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
}

/* ---------- Contract Item V2 ---------- */
.dash-contracts-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dash-contract-item-v2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    background: #fafbfa;
    border: 1px solid #eef1ef;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.dash-contract-item-v2:hover {
    border-color: #31795a;
    background: #f0f7f3;
    transform: translateX(-4px);
}

.dciv2-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dciv2-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
    flex-shrink: 0;
}

.dciv2-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dciv2-title {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
}

.dciv2-asset {
    font-size: 12px;
    color: #888;
}

.dciv2-left {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.dciv2-balance {
    font-size: 15px;
    font-weight: 700;
    color: #244034;
}

.dciv2-toman {
    font-size: 11px;
    color: #888;
}

.dash-badge-count {
    font-size: 12px;
    font-weight: 600;
    color: #31795a;
    background: #e8f5e9;
    padding: 5px 14px;
    border-radius: 20px;
}

/* ---------- Transaction Types List ---------- */
.dash-types-chart-wrapper {
    margin-bottom: 16px;
}

.dash-types-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid #f0f2f0;
}

.dtl-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #fafbfa;
    border-radius: 10px;
    font-size: 13px;
}

.dtl-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dtl-name {
    color: #555;
    flex: 1;
    font-weight: 500;
}

.dtl-count {
    color: #999;
    font-size: 12px;
}

.dtl-amount {
    font-weight: 600;
    color: #244034;
}

/* ---------- Table V2 ---------- */
.dash-table-v2 {
    margin-bottom: 0;
    min-width: 640px;
}

.dash-table-v2 thead th {
    background: #f8faf9;
    font-weight: 600;
    color: #244034;
    border-bottom: 2px solid #e8ece9;
    padding: 14px 18px;
    font-size: 13px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.dash-table-v2 tbody td {
    padding: 16px 18px;
    color: #333;
    font-size: 14px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f2f0;
    transition: background 0.15s ease;
    white-space: nowrap;
}

.dash-table-v2 tbody tr:hover td {
    background: #f9fcfa;
}

.dash-table-v2 tbody tr:last-child td {
    border-bottom: none;
}

.dtv2-id {
    font-weight: 600;
    color: #888;
}

.dtv2-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
}

.dtv2-payment { background: #e6f7ed; color: #1a8a4a; }
.dtv2-payout { background: #fde8ea; color: #c0392b; }
.dtv2-profit { background: #e8f4f8; color: #0c7a9e; }
.dtv2-base_balance { background: #f3e5f5; color: #7b1fa2; }

.dtv2-desc {
    color: #666;
    font-size: 13px;
}

.dtv2-amount {
    font-weight: 600;
    font-size: 14px;
}

.dtv2-positive { color: #1a8a4a; }
.dtv2-negative { color: #c0392b; }

.dtv2-balance {
    font-weight: 500;
    color: #244034;
}

/* ---------- Dashboard Responsive V2 ---------- */
@media (max-width: 1200px) {
    .dscv2-value {
        font-size: 18px;
    }
}

@media (max-width: 992px) {
    .dash-welcome-banner {
        padding: 24px 20px;
    }

    .dwb-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .dwb-greeting {
        font-size: 18px;
    }

    .dash-stat-card-v2 {
        padding: 18px 16px;
    }

    .dscv2-icon {
        width: 46px;
        height: 46px;
        font-size: 20px;
    }

    .dscv2-value {
        font-size: 18px;
    }

    .dash-quick-card {
        padding: 18px 16px;
    }

    .dash-chart-card {
        padding: 22px 18px;
    }
}

@media (max-width: 768px) {
    .dash-welcome-banner {
        padding: 20px 16px;
        border-radius: 14px;
    }

    .dwb-greeting {
        font-size: 16px;
    }

    .dwb-subtitle {
        font-size: 13px;
    }

    .dwb-date {
        padding: 8px 14px;
    }

    .dwb-date-text {
        font-size: 12px;
    }

    .dash-stat-card-v2 {
        padding: 16px 14px;
        gap: 12px;
        border-radius: 12px;
    }

    .dscv2-icon {
        width: 40px;
        height: 40px;
        font-size: 18px;
        border-radius: 10px;
    }

    .dscv2-label {
        font-size: 11px;
    }

    .dscv2-value {
        font-size: 16px;
    }

    .dash-quick-card {
        padding: 16px 14px;
        border-radius: 12px;
    }

    .dqc-icon {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .dqc-value {
        font-size: 18px;
    }

    .dqc-label {
        font-size: 11px;
    }

    .dash-chart-card {
        padding: 18px 14px;
        border-radius: 12px;
    }

    .dash-contract-item-v2 {
        padding: 14px 12px;
    }

    .dciv2-icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .dciv2-title {
        font-size: 13px;
    }

    .dciv2-balance {
        font-size: 14px;
    }

    .dtl-item {
        padding: 8px 12px;
        font-size: 12px;
    }

    .dash-table-v2 thead th,
    .dash-table-v2 tbody td {
        padding: 10px 10px;
        font-size: 12px;
    }

    .dtv2-type-badge {
        font-size: 11px;
        padding: 4px 8px;
    }
}

@media (max-width: 480px) {
    .dash-welcome-banner {
        padding: 16px 12px;
    }

    .dwb-greeting {
        font-size: 15px;
    }

    .dscv2-value {
        font-size: 15px;
    }

    .dqc-value {
        font-size: 16px;
    }

    .dciv2-balance {
        font-size: 13px;
    }
}

/* ============================================================
   CONTRACTS LIST PAGE
   ============================================================ */

.contracts-grid-v2 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 20px;
}

.contract-card-v2 {
    display: block;
    background: #fafbfa;
    border: 1px solid #eef1ef;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.contract-card-v2:hover {
    border-color: #31795a;
    box-shadow: 0 12px 40px rgba(49, 121, 90, 0.1);
    transform: translateY(-4px);
}

.ccv2-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    background: #fff;
    border-bottom: 1px solid #f0f2f0;
}

.ccv2-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ccv2-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #fff;
    flex-shrink: 0;
}

.ccv2-titles {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ccv2-name {
    font-size: 15px;
    font-weight: 600;
    color: #244034;
}

.ccv2-id {
    font-size: 12px;
    color: #888;
}

.ccv2-status {
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
    letter-spacing: 0.3px;
}

.ccv2-status-active {
    background: #e6f7ed;
    color: #1a8a4a;
}

.ccv2-status-inactive {
    background: #fde8ea;
    color: #c0392b;
}

.ccv2-body {
    padding: 18px 20px;
}

.ccv2-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}

.ccv2-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ccv2-metric-label {
    font-size: 11px;
    color: #888;
    font-weight: 500;
}

.ccv2-metric-value {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
}

.ccv2-metric-value.ccv2-highlight {
    color: #31795a;
}

.ccv2-metric-unit {
    font-size: 10px;
    color: #999;
}

.ccv2-profit-bar {
    margin-top: 12px;
}

.ccv2-profit-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 12px;
}

.ccv2-profit-info span:first-child {
    color: #888;
}

.ccv2-profit-info span:last-child {
    font-weight: 600;
}

.ccv2-progress {
    height: 6px;
    background: #f0f2f0;
    border-radius: 10px;
    overflow: hidden;
}

.ccv2-progress-bar {
    height: 100%;
    border-radius: 10px;
    transition: width 0.6s ease;
}

.ccv2-toman-value {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 10px 14px;
    background: #f8f9fa;
    border-radius: 10px;
    font-size: 12px;
    color: #555;
}

.ccv2-toman-value i {
    color: #31795a;
}

.ccv2-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: #fff;
    border-top: 1px solid #f0f2f0;
}

.ccv2-actions {
    display: flex;
    gap: 8px;
}

.ccv2-action-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f0f5f3;
    color: #31795a;
    font-size: 14px;
    transition: all 0.2s ease;
    text-decoration: none;
}

.ccv2-action-btn:hover {
    background: #31795a;
    color: #fff;
}

.ccv2-action-deposit {
    background: #e6f7ed;
    color: #1a8a4a;
}

.ccv2-action-deposit:hover {
    background: #1a8a4a;
    color: #fff;
}

.ccv2-action-withdraw {
    background: #fde8ea;
    color: #c0392b;
}

.ccv2-action-withdraw:hover {
    background: #c0392b;
    color: #fff;
}

.ccv2-arrow {
    color: #ccc;
    font-size: 16px;
    transition: all 0.2s ease;
}

.contract-card-v2:hover .ccv2-arrow {
    color: #31795a;
    transform: translateX(-4px);
}

.ccv2-empty {
    text-align: center;
    padding: 60px 20px;
}

.ccv2-empty-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f7f6;
    border-radius: 50%;
    font-size: 36px;
    color: #ccc;
}

.ccv2-empty h4 {
    font-size: 18px;
    color: #244034;
    margin-bottom: 8px;
}

.ccv2-empty p {
    color: #888;
    font-size: 14px;
}

/* ============================================================
   CONTRACT SHOW PAGE
   ============================================================ */

.contract-hero-v2 {
    border-radius: 20px;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.contract-hero-v2::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -15%;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.contract-hero-v2::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
}

.chv2-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}

.chv2-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.chv2-icon {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #fff;
    backdrop-filter: blur(10px);
}

.chv2-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.chv2-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.chv2-title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.chv2-status {
    font-size: 12px;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 20px;
}

.chv2-status-active {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.chv2-status-inactive {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.chv2-subtitle {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.chv2-left {
    flex-shrink: 0;
}

.chv2-balance-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, 0.2);
    padding: 20px 30px;
    border-radius: 16px;
    backdrop-filter: blur(10px);
}

.chv2-balance-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
}

.chv2-balance-value {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
}

.chv2-balance-unit {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.chv2-balance-toman {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 4px;
}

/* Contract Stat Cards */
.contract-stat-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.3s ease;
}

.contract-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.csc-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.csc-base .csc-icon { background: #e3f2fd; color: #1565c0; }
.csc-profit .csc-icon { background: #e8f5e9; color: #2e7d32; }
.csc-deposits .csc-icon { background: #fff3e0; color: #e65100; }
.csc-transactions .csc-icon { background: #f3e5f5; color: #7b1fa2; }

.csc-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.csc-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
}

.csc-value {
    font-size: 16px;
    font-weight: 700;
    color: #244034;
}

.csc-value small {
    font-weight: 500;
    font-size: 12px;
}

/* Contract Details Grid */
.contract-details-grid-v2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.cdv2-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: #fafbfa;
    border-radius: 14px;
    border: 1px solid #f0f2f0;
    transition: all 0.2s ease;
}

.cdv2-item:hover {
    border-color: #e0e8e2;
    background: #f5f7f6;
}

.cdv2-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background: #e8f5e9;
    color: #31795a;
    flex-shrink: 0;
}

.cdv2-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cdv2-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
}

.cdv2-value {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
}

/* Contract Actions */
.contract-actions-v2 {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cav2-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.cav2-deposit {
    background: #f0faf4;
}

.cav2-deposit:hover {
    background: #e6f7ed;
    border-color: #31795a;
}

.cav2-withdraw {
    background: #fef5f5;
}

.cav2-withdraw:hover {
    background: #fde8ea;
    border-color: #dc3545;
}

.cav2-transactions {
    background: #f5f8ff;
}

.cav2-transactions:hover {
    background: #e8f4f8;
    border-color: #0c7a9e;
}

.cav2-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.cav2-deposit .cav2-icon { background: #31795a; color: #fff; }
.cav2-withdraw .cav2-icon { background: #dc3545; color: #fff; }
.cav2-transactions .cav2-icon { background: #0c7a9e; color: #fff; }

.cav2-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.cav2-title {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
}

.cav2-desc {
    font-size: 12px;
    color: #888;
}

.cav2-arrow {
    color: #ccc;
    font-size: 14px;
    transition: all 0.2s ease;
}

.cav2-item:hover .cav2-arrow {
    color: #31795a;
    transform: translateX(-4px);
}

/* ============================================================
   CONTRACTS RESPONSIVE
   ============================================================ */

@media (max-width: 1200px) {
    .contracts-grid-v2 {
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    }
}

@media (max-width: 992px) {
    .contract-hero-v2 {
        padding: 28px 24px;
    }

    .chv2-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .chv2-title {
        font-size: 20px;
    }

    .chv2-balance-card {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        padding: 16px 20px;
    }

    .chv2-balance-value {
        font-size: 22px;
    }

    .contract-details-grid-v2 {
        grid-template-columns: 1fr;
    }

    .ccv2-metrics {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .contracts-grid-v2 {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .contract-hero-v2 {
        padding: 22px 18px;
        border-radius: 14px;
    }

    .chv2-icon {
        width: 52px;
        height: 52px;
        font-size: 24px;
    }

    .chv2-title {
        font-size: 18px;
    }

    .chv2-balance-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .contract-stat-card {
        padding: 16px;
    }

    .csc-icon {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .csc-value {
        font-size: 14px;
    }

    .cdv2-item {
        padding: 14px;
    }

    .cav2-item {
        padding: 14px;
    }

    .ccv2-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .ccv2-header {
        padding: 14px 16px;
    }

    .ccv2-body {
        padding: 14px 16px;
    }

    .ccv2-footer {
        padding: 12px 16px;
    }
}

@media (max-width: 480px) {
    .contract-hero-v2 {
        padding: 18px 14px;
    }

    .chv2-title {
        font-size: 16px;
    }

    .chv2-balance-value {
        font-size: 20px;
    }

    .ccv2-metrics {
        grid-template-columns: 1fr;
    }

    .ccv2-action-btn {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }
}

/* ============================================================
   TRANSACTIONS PAGE
   ============================================================ */

/* ---------- Filter Tabs ---------- */
.txn-filter-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid #f0f2f0;
}

.txn-filter-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #f5f7f6;
    border: 2px solid transparent;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    transition: all 0.2s ease;
}

.txn-filter-tab:hover {
    background: #eef1ef;
    color: #244034;
}

.txn-filter-tab.active {
    background: #31795a;
    color: #fff;
    border-color: #31795a;
}

.txn-filter-tab.active:hover {
    background: #286b4b;
}

.txn-filter-tab i {
    font-size: 16px;
}

.txn-filter-tab.txn-filter-payment.active {
    background: #1a8a4a;
    border-color: #1a8a4a;
}

.txn-filter-tab.txn-filter-payout.active {
    background: #c0392b;
    border-color: #c0392b;
}

.txn-filter-tab.txn-filter-profit.active {
    background: #0c7a9e;
    border-color: #0c7a9e;
}

.txn-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
}

.txn-filter-tab.active .txn-filter-count {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

/* ---------- Transaction Contract Link ---------- */
.txn-contract-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f5f7f6;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #244034;
    text-decoration: none;
    transition: all 0.2s ease;
}

.txn-contract-link:hover {
    background: #eef1ef;
    color: #31795a;
}

.txn-contract-link i {
    color: #31795a;
    font-size: 14px;
}

/* ---------- Transaction Description ---------- */
.txn-desc {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

/* ---------- Transaction Pagination ---------- */
.txn-pagination {
    display: flex;
    justify-content: center;
    padding-top: 24px;
    margin-top: 24px;
    border-top: 1px solid #f0f2f0;
}

.txn-pagination .pagination {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.txn-pagination .page-item {
    list-style: none;
}

.txn-pagination .page-link,
.txn-pagination .page-item span {
    min-width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #244034;
    background: #fff;
    border: 1px solid #e3e3e3;
    transition: all 0.2s ease;
    text-decoration: none;
    padding: 0 12px;
    line-height: 1;
}

.txn-pagination .page-link:hover {
    background: #f0f7f3;
    border-color: #31795a;
    color: #31795a;
}

.txn-pagination .page-item.active .page-link,
.txn-pagination .page-item.active span {
    background: #31795a;
    color: #fff;
    border-color: #31795a;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(49, 121, 90, 0.25);
}

.txn-pagination .page-item.disabled .page-link,
.txn-pagination .page-item.disabled span {
    color: #bbb;
    background: #f9f9f9;
    border-color: #eee;
    cursor: not-allowed;
    pointer-events: none;
}

/* ---------- Transactions Responsive ---------- */
@media (max-width: 992px) {
    .txn-filter-tabs {
        gap: 8px;
    }

    .txn-filter-tab {
        padding: 8px 14px;
        font-size: 12px;
    }
}

@media (max-width: 768px) {
    .txn-filter-tabs {
        flex-direction: column;
        gap: 6px;
    }

    .txn-filter-tab {
        justify-content: center;
        padding: 10px 16px;
    }

    .txn-contract-link {
        font-size: 12px;
        padding: 4px 10px;
    }

    .txn-pagination .page-link,
    .txn-pagination .page-item span {
        min-width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .txn-filter-tab {
        font-size: 12px;
        padding: 8px 12px;
    }

    .txn-filter-count {
        min-width: 20px;
        height: 20px;
        font-size: 10px;
    }

    .txn-pagination .page-link,
    .txn-pagination .page-item span {
        min-width: 32px;
        height: 32px;
        font-size: 12px;
    }
}

/* ============================================================
   PAYMENTS & PAYOUTS PAGES
   ============================================================ */

/* ---------- Filter Tab Colors for Status ---------- */
.txn-filter-tab.txn-filter-pending.active {
    background: #e67e22;
    border-color: #e67e22;
}

.txn-filter-tab.txn-filter-approved.active {
    background: #27ae60;
    border-color: #27ae60;
}

.txn-filter-tab.txn-filter-rejected.active {
    background: #c0392b;
    border-color: #c0392b;
}

/* ---------- Status Badge ---------- */
.pp-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.pp-status-pending {
    background: #fef3e2;
    color: #b87d00;
}

.pp-status-approved {
    background: #e6f7ed;
    color: #1a8a4a;
}

.pp-status-rejected {
    background: #fde8ea;
    color: #c0392b;
}

/* ---------- Reject Reason ---------- */
.pp-reject-reason {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 8px;
    padding: 8px 12px;
    background: #fef5f5;
    border: 1px solid #fde8ea;
    border-radius: 8px;
    font-size: 12px;
    color: #c0392b;
    line-height: 1.5;
}

.pp-reject-reason i {
    flex-shrink: 0;
    margin-top: 2px;
}

/* ---------- Amount Cell ---------- */
.txn-amount-cell {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.txn-main-amount {
    font-weight: 600;
    color: #244034;
}

.txn-sub-amount {
    font-size: 12px;
    color: #888;
}

/* ---------- Receipt Link ---------- */
.txn-receipt-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f0f7f3;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #31795a;
    text-decoration: none;
    transition: all 0.2s ease;
}

.txn-receipt-link:hover {
    background: #31795a;
    color: #fff;
}

/* ---------- Bank Link ---------- */
.txn-bank-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #f5f8ff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #244034;
}

.txn-bank-link i {
    color: #0c7a9e;
    font-size: 14px;
}

/* ---------- Gap Utility ---------- */
.gap-15 {
    gap: 15px;
}

.gap-10 {
    gap: 10px;
}

/* ---------- Payments/Payouts Responsive ---------- */
@media (max-width: 768px) {
    .pp-status-badge {
        font-size: 11px;
        padding: 5px 10px;
    }

    .pp-reject-reason {
        font-size: 11px;
        padding: 6px 10px;
    }

    .txn-amount-cell {
        min-width: 100px;
    }

    .txn-main-amount {
        font-size: 13px;
    }

    .txn-sub-amount {
        font-size: 11px;
    }

    .txn-receipt-link {
        font-size: 11px;
        padding: 4px 8px;
    }

    .txn-bank-link {
        font-size: 12px;
        padding: 4px 8px;
    }
}

@media (max-width: 480px) {
    .pp-status-badge {
        font-size: 10px;
        padding: 4px 8px;
        gap: 4px;
    }

    .pp-reject-reason {
        font-size: 10px;
        padding: 5px 8px;
    }

    .txn-amount-cell {
        min-width: 80px;
    }
}

/* ============================================================
   PROFILE PAGE
   ============================================================ */

/* ---------- Profile Hero ---------- */
.profile-hero-v2 {
    background: linear-gradient(135deg, #31795a 0%, #245a42 50%, #1a3d2c 100%);
    border-radius: 20px;
    padding: 35px 40px;
    position: relative;
    overflow: hidden;
}

.profile-hero-v2::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -15%;
    width: 350px;
    height: 350px;
    background: rgba(210, 243, 76, 0.08);
    border-radius: 50%;
}

.profile-hero-v2::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 250px;
    height: 250px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 50%;
}

.phv2-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}

.phv2-user {
    display: flex;
    align-items: center;
    gap: 24px;
}

.phv2-avatar-wrapper {
    position: relative;
}

.phv2-avatar {
    width: 90px;
    height: 90px;
    border-radius: 20px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.phv2-avatar-edit {
    position: absolute;
    bottom: -4px;
    left: -4px;
    width: 32px;
    height: 32px;
    background: #d2f34c;
    color: #244034;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    border: 2px solid #fff;
    transition: all 0.2s ease;
}

.phv2-avatar-edit:hover {
    transform: scale(1.1);
    background: #fff;
    color: #31795a;
}

.phv2-user-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.phv2-name {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.phv2-mobile,
.phv2-email {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.phv2-mobile i,
.phv2-email i {
    font-size: 14px;
    opacity: 0.7;
}

.phv2-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #d2f34c;
    font-weight: 600;
}

.phv2-unverified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #fbbf24;
    font-weight: 600;
    text-decoration: none;
}

.phv2-unverified:hover {
    color: #f59e0b;
}

.phv2-member-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    padding: 10px 18px;
    border-radius: 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    backdrop-filter: blur(10px);
}

.phv2-member-badge i {
    opacity: 0.8;
}

/* ---------- Profile Form ---------- */
.pf-input-group {
    margin-bottom: 20px;
}

.pf-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #244034;
    margin-bottom: 8px;
}

.pf-label i {
    color: #31795a;
    font-size: 14px;
}

.pf-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e5e5;
    border-radius: 12px;
    font-size: 14px;
    color: #244034;
    background: #fafbfa;
    transition: all 0.2s ease;
}

.pf-input:focus {
    outline: none;
    border-color: #31795a;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(49, 121, 90, 0.1);
}

.pf-input.has-error {
    border-color: #dc3545;
}

.pf-select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e5e5e5;
    border-radius: 12px;
    font-size: 14px;
    color: #244034;
    background: #fafbfa;
    transition: all 0.2s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: left 12px center;
    background-size: 16px 12px;
    padding-left: 40px;
}

.pf-select:focus {
    outline: none;
    border-color: #31795a;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(49, 121, 90, 0.1);
}

.pf-error {
    display: block;
    font-size: 12px;
    color: #dc3545;
    margin-top: 6px;
}

.pf-verify-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #e67e22;
    font-weight: 500;
    text-decoration: none;
    margin-top: 6px;
}

.pf-verify-link:hover {
    color: #d35400;
}

.pf-submit-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 10px;
}

/* ---------- Avatar Section ---------- */
.pf-avatar-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.pf-avatar-preview {
    width: 120px;
    height: 120px;
    border-radius: 16px;
    object-fit: cover;
    border: 3px solid #e8ece9;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* ---------- Password Alert ---------- */
.pf-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.5;
}

.pf-alert-warning {
    background: #fef3e2;
    color: #b87d00;
    border: 1px solid #fde68a;
}

.pf-alert-warning i {
    flex-shrink: 0;
    margin-top: 2px;
    font-size: 16px;
}

/* ---------- Account Info List ---------- */
.pf-info-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pf-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid #f0f2f0;
}

.pf-info-row:last-child {
    border-bottom: none;
}

.pf-info-label {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

.pf-info-value {
    font-size: 14px;
    font-weight: 600;
    color: #244034;
}

.pf-check {
    color: #27ae60;
    font-size: 16px;
}

.pf-cross {
    color: #c0392b;
    font-size: 16px;
}

/* ---------- mt-10 Utility ---------- */
.mt-10 {
    margin-top: 10px;
}

/* ---------- Profile Responsive ---------- */
@media (max-width: 992px) {
    .profile-hero-v2 {
        padding: 28px 24px;
    }

    .phv2-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .phv2-user {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .phv2-avatar {
        width: 72px;
        height: 72px;
    }

    .phv2-name {
        font-size: 20px;
    }

    .phv2-member-badge {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .profile-hero-v2 {
        padding: 22px 18px;
        border-radius: 14px;
    }

    .phv2-avatar {
        width: 64px;
        height: 64px;
    }

    .phv2-avatar-edit {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .phv2-name {
        font-size: 18px;
    }

    .phv2-mobile,
    .phv2-email {
        font-size: 13px;
    }

    .pf-input {
        padding: 10px 14px;
        font-size: 13px;
    }

    .pf-label {
        font-size: 12px;
    }

    .pf-avatar-preview {
        width: 100px;
        height: 100px;
    }

    .pf-info-row {
        padding: 12px 0;
    }

    .pf-info-label {
        font-size: 12px;
    }

    .pf-info-value {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .profile-hero-v2 {
        padding: 18px 14px;
    }

    .phv2-avatar {
        width: 56px;
        height: 56px;
    }

    .phv2-name {
        font-size: 16px;
    }

    .phv2-member-badge {
        font-size: 12px;
        padding: 8px 14px;
    }

    .pf-avatar-preview {
        width: 80px;
        height: 80px;
    }
}
