/* Shared late-loading green theme overrides for public, seeker, admin, and provider portals. */

@import url('mobile-responsive.css');

:root {
    --primary: #2e8b57 !important;
    --primary-dark: #256f46 !important;
    --primary-light: #cfe8d7 !important;
    --primary-soft: #edf8f0 !important;
    --primary-dim: rgba(46, 139, 87, 0.12) !important;
    --secondary: #1f6b5c !important;
    --secondary-dark: #174f45 !important;
    --dark-color: #163129 !important;
    --light-bg: #f4faf6 !important;
    --text-muted: #728379 !important;
    --border: #dce7df !important;
    --bundle: #2e8b57 !important;
    --blue: #2e8b57 !important;
    --blue-dim: rgba(46, 139, 87, 0.12) !important;
}

body.seeker-unified {
    --su-primary: #2e8b57;
    --su-primary-dark: #205e3d;
    --su-gradient: linear-gradient(135deg, #1f6b5c 0%, #2e8b57 60%, #5aa16c 100%);
}

body,
body.seeker-unified {
    background-color: var(--light-bg);
}

.admin-sidebar,
.portal-sidebar,
.sidebar,
.sidebar-header,
.sidebar-footer {
    background: linear-gradient(180deg, #163129 0%, #215444 100%) !important;
}

.sb-brand-icon,
.sb-avatar,
.portal-sidebar .dept-dot,
.logo .icon-ring,
.header-icon,
.conv-avatar,
.chat-avatar,
.chat-hav,
.msg-av,
.av.them,
.si-blue,
.si-purple,
.stat-icon.blue,
.stat-icon.purple,
.mini-stat-icon.blue,
.mini-stat-icon.purple,
.vd-info-icon.blue,
.vd-info-icon.purple,
.bk-active {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(46, 139, 87, 0.18) !important;
}

.provider-hero,
.provider-header,
.service-header,
.card-header,
.map-pickee-header,
.vd-header,
.modal-top {
    background: linear-gradient(135deg, var(--secondary), var(--primary)) !important;
    color: #ffffff !important;
}

.btn-primary,
.btn-search,
.btn-view,
.btn-request,
.btn-provider,
.service-action,
.provider-btn,
.btn-view-details,
.modal-btn-confirm,
.btn-submit,
.send,
.map-confirm-btn,
.btn-pay-now,
.vd-btn-accept,
.btn-accept,
.ql-btn {
    background: linear-gradient(135deg, var(--primary), var(--secondary)) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 10px 20px rgba(46, 139, 87, 0.16) !important;
}

.btn-primary:hover,
.btn-search:hover,
.btn-view:hover,
.btn-request:hover,
.btn-provider:hover,
.service-action:hover,
.provider-btn:hover,
.btn-view-details:hover,
.modal-btn-confirm:hover,
.btn-submit:hover,
.send:hover,
.map-confirm-btn:hover,
.btn-pay-now:hover,
.vd-btn-accept:hover,
.btn-accept:hover,
.ql-btn:hover,
.back:hover {
    background: linear-gradient(135deg, var(--primary-dark), var(--secondary-dark)) !important;
    color: #ffffff !important;
}

.btn-outline,
.btn-outline-green,
.btn-secondary,
.btn-reset,
.btn-contact,
.btn-return-outline,
.guide-dismiss-btn,
.vd-btn-close,
.modal-btn-cancel,
.btn-back-form,
.map-cancel-btn,
.btn-cancel-req {
    background: #ffffff !important;
    color: var(--dark-color) !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
}

.btn-outline:hover,
.btn-outline-green:hover,
.btn-secondary:hover,
.btn-reset:hover,
.btn-contact:hover,
.btn-return-outline:hover,
.guide-dismiss-btn:hover,
.vd-btn-close:hover,
.modal-btn-cancel:hover,
.btn-back-form:hover,
.map-cancel-btn:hover,
.btn-cancel-req:hover {
    background: var(--primary-soft) !important;
    border-color: var(--primary-light) !important;
    color: var(--primary-dark) !important;
}

.badge-blue,
.badge-purple,
.pill-blue,
.pill-purple,
.role-admin,
.review-service-tag,
.modal-icon,
.page-tab-count,
.status-count {
    background: var(--primary-soft) !important;
    color: var(--primary-dark) !important;
    border-color: var(--primary-light) !important;
}

.page-tab.active .page-tab-count,
.status-filter.active .status-count,
.pagination .active,
.pagination a:hover,
.cal-day.selected,
.notif-unread-dot,
.unread-total,
.unread-dot {
    background: var(--primary) !important;
    color: #ffffff !important;
    border-color: var(--primary) !important;
}

.status-filter:hover,
.status-filter.active,
.conv-item.active,
.notif-item.unread {
    background: var(--primary-soft) !important;
    border-color: var(--primary-light) !important;
}

.page-header h1 i,
.card-header h2 i,
.section-title i,
.info-item i,
.service-price,
.provider-avatar,
.modal-service-name,
.back-link,
.cal-day.today,
.t-blue h3,
.s-screening,
.b-released {
    color: var(--primary) !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.code-input:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px var(--primary-dim) !important;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--primary);
}

.sb-company,
.sb-dept-hr,
.sb-dept-fin,
.sb-dept-mgmt {
    background: rgba(46, 139, 87, 0.16) !important;
    color: #d9f1e2 !important;
}

.portal-sidebar .sb-item.active,
.admin-sidebar .sb-item.active,
.sidebar-menu a.active,
.sidebar-menu a:hover {
    border-left-color: var(--primary) !important;
}
