/*
 * RSD Finance Panel - User Dashboard Styles
 * RTL / Persian Design
 * Version: 1.0.0
 */

/* ============================================
   RESET & BASE
============================================ */
.rsd-fp-portal {
    direction: rtl;
    font-family: 'IRANSans', 'Tahoma', 'Arial', sans-serif;
    background: linear-gradient(135deg, #F6F0E2 0%, #F7F1E6 50%, #fdf2f8 100%);
    background-attachment: fixed;
}

.rsd-fp-portal *,
.rsd-fp-portal *::before,
.rsd-fp-portal *::after {
    box-sizing: border-box;
}

.rsd-fp-portal h1,
.rsd-fp-portal h2,
.rsd-fp-portal h3,
.rsd-fp-portal h4,
.rsd-fp-portal h5,
.rsd-fp-portal h6 {
    margin: 0;
    line-height: 1.4;
    color: #1e293b;
}

.rsd-fp-portal p { margin: 0 0 12px; line-height: 1.6; }
.rsd-fp-portal a { color: #B8954B; text-decoration: none; transition: .2s; }
.rsd-fp-portal a:hover { color: #765821; }

/* ============================================
   MAIN LAYOUT
============================================ */
.rsd-fp-wrapper {
    display: flex;
    min-height: 100vh;
    width: 100%;
}

.rsd-fp-sidebar {
    width: 280px;
    min-width: 280px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-left: 1px solid rgba(226, 232, 240, 0.6);
    padding: 24px 0;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.rsd-fp-main {
    flex: 1;
    min-width: 0;
    padding: 20px 28px;
}

/* ============================================
   SIDEBAR
============================================ */
.rsd-fp-sidebar-header {
    padding: 0 24px 24px;
    text-align: center;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 20px;
}

.rsd-fp-sidebar-header .rsd-fp-logo {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #B8954B, #9B7B58);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 12px;
    box-shadow: 0 4px 14px rgba(184,149,75,.25);
}

.rsd-fp-sidebar-header h3 {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
}

.rsd-fp-sidebar-header p {
    font-size: 12px;
    color: #64748b;
    margin: 0;
}

.rsd-fp-nav {
    flex: 1;
    padding: 0 14px;
}

.rsd-fp-nav-label {
    display: block;
    padding: 8px 10px;
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 600;
    margin-top: 10px;
}

.rsd-fp-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #475569;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 2px;
    cursor: pointer;
    transition: all .2s ease;
    text-decoration: none !important;
}

.rsd-fp-nav-item:hover {
    background: rgba(184,149,75,.10);
    color: #B8954B;
    transform: translateX(-2px);
}

.rsd-fp-nav-item.active {
    background: linear-gradient(135deg, #B8954B 0%, #9B7B58 100%);
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(184,149,75,.22);
}

.rsd-fp-nav-item .rsd-icon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rsd-fp-sidebar-footer {
    padding: 16px 20px;
    border-top: 1px solid #f1f5f9;
    margin-top: auto;
}

.rsd-fp-version {
    font-size: 11px;
    color: #94a3b8;
    text-align: center;
}

/* ============================================
   TOP BAR (HEADER)
============================================ */
.rsd-fp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 18px;
    border: 1px solid rgba(226, 232, 240, 0.5);
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
    margin-bottom: 24px;
}

.rsd-fp-user-menu {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rsd-fp-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #C8AA67, #D8C186);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(184,149,75,.18);
    flex-shrink: 0;
}

.rsd-fp-user-info .rsd-fp-user-name {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.rsd-fp-user-info .rsd-fp-user-role {
    font-size: 12px;
    color: #64748b;
}

.rsd-fp-user-dropdown {
    display: inline-block;
    color: #64748b;
    margin: 0 4px;
}

.rsd-fp-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rsd-fp-search {
    position: relative;
    width: 420px;
    max-width: 50%;
}

.rsd-fp-search input {
    width: 100%;
    padding: 10px 40px 10px 14px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 13px;
    outline: none;
    transition: .2s;
    font-family: inherit;
}

.rsd-fp-search input:focus {
    border-color: #B8954B;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(184,149,75,.10);
}

.rsd-fp-search .search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.rsd-fp-notif-btn {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    cursor: pointer;
    transition: .2s;
}

.rsd-fp-notif-btn:hover {
    background: #fff;
    border-color: #cbd5e1;
    transform: translateY(-1px);
}


/* ============================================
   CARDS & CONTAINERS
============================================ */
.rsd-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 20px;
}

.rsd-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rsd-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rsd-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1280px) {
    .rsd-grid-4 { grid-template-columns: repeat(2, 1fr); }
    .rsd-grid-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .rsd-grid-4, .rsd-grid-3, .rsd-grid-2 { grid-template-columns: 1fr; }
    .rsd-fp-sidebar { position: relative; width: 100%; height: auto; }
    .rsd-fp-wrapper { flex-direction: column-reverse; }
    .rsd-fp-search { display: none; }
}

.rsd-card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.7);
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, .04);
    transition: box-shadow .2s, transform .2s;
}

.rsd-card:hover {
    box-shadow: 0 8px 30px rgba(15, 23, 42, .08);
}

.rsd-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f1f5f9;
}

.rsd-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

.rsd-card-title .rsd-card-icon {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #F6F0E2;
    color: #8A6A2B;
}

.rsd-card-count-badge {
    display: inline-block;
    padding: 3px 10px;
    background: #fee2e2;
    color: #dc2626;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
}

/* ============================================
   STATS CARDS (WELCOME + TOP NUMBERS)
============================================ */
.rsd-stats-welcome {
    background: linear-gradient(135deg, #B8954B 0%, #9B7B58 100%);
    color: #fff;
    border-radius: 18px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(184,149,75,.22);
}

.rsd-stats-welcome::before {
    content: '';
    position: absolute;
    left: -30px;
    top: -30px;
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.rsd-stats-welcome::after {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.rsd-stats-welcome h2 {
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
    position: relative;
    z-index: 1;
}

.rsd-stats-welcome p {
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    margin: 0;
    position: relative;
    z-index: 1;
}

.rsd-stats-welcome .welcome-go {
    position: absolute;
    left: 28px;
    bottom: 28px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 1;
    cursor: pointer;
    transition: .2s;
}

.rsd-stats-welcome .welcome-go:hover {
    background: rgba(255, 255, 255, 0.3);
}

.rsd-stat-card {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(226, 232, 240, 0.7);
    border-radius: 18px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    transition: transform .2s, box-shadow .2s;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
}

.rsd-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
}

.rsd-stat-card .stat-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.rsd-stat-card .stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rsd-stat-card.stat-green .stat-icon { background: #dcfce7; color: #16a34a; }
.rsd-stat-card.stat-purple .stat-icon { background: #F7F1E6; color: #8A6A2B; }
.rsd-stat-card.stat-red .stat-icon { background: #fee2e2; color: #dc2626; }
.rsd-stat-card.stat-blue .stat-icon { background: #F6F0E2; color: #8A6A2B; }

.rsd-stat-card .stat-amount {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.rsd-stat-card .stat-change {
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-weight: 600;
}

.rsd-stat-card.stat-green .stat-change { color: #16a34a; }
.rsd-stat-card.stat-purple .stat-change { color: #8A6A2B; }
.rsd-stat-card.stat-red .stat-change { color: #dc2626; }
.rsd-stat-card.stat-blue .stat-change { color: #8A6A2B; }

/* ============================================
   BADGES
============================================ */
.rsd-badge {
    display: inline-block;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 8px;
    line-height: 1.6;
    vertical-align: middle;
}

.rsd-badge-success { background: #dcfce7; color: #16a34a; }
.rsd-badge-danger  { background: #fee2e2; color: #dc2626; }
.rsd-badge-warning { background: #fef3c7; color: #b45309; }
.rsd-badge-info    { background: #F6F0E2; color: #8A6A2B; }
.rsd-badge-primary { background: #F7F1E6; color: #8A6A2B; }
.rsd-badge-secondary { background: #f1f5f9; color: #475569; }

/* ============================================
   BUTTONS
============================================ */
.rsd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 16px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all .2s;
    font-family: inherit;
    line-height: 1.3;
    text-decoration: none !important;
    white-space: nowrap;
}

.rsd-btn:disabled { opacity: .5; cursor: not-allowed; }
.rsd-btn-sm { padding: 6px 12px; font-size: 12px; border-radius: 9px; }
.rsd-btn-lg { padding: 12px 24px; font-size: 14px; border-radius: 13px; }

.rsd-btn-primary {
    background: linear-gradient(135deg, #B8954B, #9B7B58) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(184,149,75,.22);
}
.rsd-btn-primary:hover { box-shadow: 0 6px 18px rgba(184,149,75,.28); transform: translateY(-1px); color: #fff !important; }

.rsd-btn-success { background: #10b981 !important; color: #fff !important; }
.rsd-btn-success:hover { background: #059669 !important; color: #fff !important; }

.rsd-btn-danger { background: #ef4444 !important; color: #fff !important; }
.rsd-btn-danger:hover { background: #dc2626 !important; color: #fff !important; }

.rsd-btn-warning { background: #f59e0b !important; color: #fff !important; }
.rsd-btn-warning:hover { background: #d97706 !important; color: #fff !important; }

.rsd-btn-outline {
    background: #fff !important;
    color: #475569 !important;
    border-color: #e2e8f0 !important;
}
.rsd-btn-outline:hover { background: #f8fafc !important; border-color: #cbd5e1 !important; color: #0f172a !important; }

.rsd-btn-light {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: none !important;
}
.rsd-btn-light:hover { background: #e2e8f0 !important; color: #0f172a !important; }

/* ============================================
   LISTS (Documents, Messages, etc.)
============================================ */
.rsd-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rsd-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #f6f0e257 !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 12px !important;
    transition: all .2s;
}

.rsd-list-item:hover {
    background: #fff !important;
    border-color: #e2e8f0 !important;
    transform: translateX(-2px) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .04);
}

.rsd-list-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #FCF8EF !important;
    color: #8A6A2B !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rsd-list-main { flex: 1; min-width: 0; }
.rsd-list-title {
    font-size: 13px;
    font-weight: 600;
    color: #0f172a !important;
    line-height: 1.4;
    margin-bottom: 3px;
}
.rsd-list-meta {
    font-size: 11px;
    color: #64748b !important;
}

.rsd-list-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* ============================================
   MESSAGE CHAT STYLES
============================================ */
.rsd-chat {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 10px 0 20px;
    max-height: 500px;
    overflow-y: auto;
}

.rsd-chat-msg {
    display: flex;
    gap: 10px;
    max-width: 85%;
}

.rsd-chat-msg.mine { margin-left: auto; flex-direction: row-reverse; }

.rsd-chat-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
}

.rsd-chat-msg.theirs .rsd-chat-avatar { background: #9B7B58; }
.rsd-chat-msg.mine .rsd-chat-avatar { background: #10b981; }

.rsd-chat-bubble {
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.7;
    position: relative;
}

.rsd-chat-msg.theirs .rsd-chat-bubble {
    background: #f1f5f9;
    color: #0f172a;
    border-top-right-radius: 4px;
}

.rsd-chat-msg.mine .rsd-chat-bubble {
    background: linear-gradient(135deg, #B8954B, #9B7B58);
    color: #fff;
    border-top-left-radius: 4px;
}

.rsd-chat-time {
    display: block;
    margin-top: 6px;
    font-size: 10px;
    opacity: .75;
}

.rsd-chat-attachments {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rsd-chat-attachment {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .2);
    border-radius: 8px;
    font-size: 12px;
}

/* ============================================
   TABLES
============================================ */
.rsd-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
}

.rsd-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.rsd-table thead th {
    background: #f8fafc;
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-align: right;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

.rsd-table tbody td {
    padding: 14px;
    font-size: 13px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.rsd-table tbody tr:hover td { background: #fafbfc; }
.rsd-table tbody tr:last-child td { border-bottom: none; }

.rsd-table .cell-amount {
    font-weight: 700;
    color: #0f172a;
    font-size: 14px;
    white-space: nowrap;
}

.rsd-table .cell-actions {
    display: flex;
    gap: 6px;
}

/* ============================================
   FORMS
============================================ */
.rsd-form-row { margin-bottom: 16px; }

.rsd-form-row label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 6px;
}

.rsd-form-row label .required { color: #ef4444; margin-left: 3px; }

.rsd-form-row input[type="text"],
.rsd-form-row input[type="email"],
.rsd-form-row input[type="url"],
.rsd-form-row input[type="number"],
.rsd-form-row input[type="date"],
.rsd-form-row input[type="time"],
.rsd-form-row input[type="password"],
.rsd-form-row textarea,
.rsd-form-row select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
    font-size: 13px;
    color: #0f172a;
    outline: none;
    transition: all .2s;
    font-family: inherit;
    line-height: 1.5;
}

.rsd-form-row textarea { min-height: 100px; resize: vertical; }

.rsd-form-row input:focus,
.rsd-form-row textarea:focus,
.rsd-form-row select:focus {
    border-color: #B8954B;
    box-shadow: 0 0 0 3px rgba(184,149,75,.10);
}

.rsd-form-row-inline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.rsd-form-hint { font-size: 11px; color: #94a3b8; margin-top: 5px; }

.rsd-form-error {
    font-size: 11px;
    color: #ef4444;
    margin-top: 5px;
}

/* ============================================
   TABS
============================================ */
.rsd-tabs {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: #e7decd;
    border-radius: 12px;
    margin-bottom: 18px;
    overflow-x: auto;
}

.rsd-tab {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    border-radius: 9px;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
    flex: 0 0 auto;
    text-decoration: none !important;
}

.rsd-tab:hover { color: #0f172a; }
.rsd-tab.active {
    background: #fff;
    color: #B8954B;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .06);
}

/* ============================================
   CALENDAR MONTH GRID
============================================ */
.rsd-calendar {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rsd-calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px;
    background: #f8f3ea;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
}

.rsd-cal-nav-btn {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
}
.rsd-cal-nav-btn:hover { background: #f1f5f9; }

.rsd-cal-title { font-size: 15px; font-weight: 700; color: #0f172a; }

.rsd-cal-view-switcher {
    display: inline-flex;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    padding: 3px;
    gap: 2px;
}

.rsd-cal-view-btn {
    padding: 5px 11px;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    border-radius: 7px;
    cursor: pointer;
    transition: .2s;
}
.rsd-cal-view-btn.active { background: #B8954B; color: #fff; }

.rsd-cal-grid {
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 14px;
    overflow: hidden;
}

.rsd-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.rsd-cal-weekdays div {
    padding: 10px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
}

.rsd-cal-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.rsd-cal-day {
    min-height: 90px;
    padding: 6px;
    border: 1px solid #f1f5f9;
    position: relative;
    cursor: pointer;
    transition: background .15s;
    font-size: 11px;
}

.rsd-cal-day:hover { background: #fafbfc; }
.rsd-cal-day.other-month { opacity: .35; }

.rsd-cal-day.today {
    background: linear-gradient(135deg, rgba(184,149,75,.08), rgba(138,106,43,.08));
}

.rsd-cal-day.today .rsd-cal-num {
    background: #B8954B;
    color: #fff;
    box-shadow: 0 2px 6px rgba(184,149,75,.24);
}

.rsd-cal-num {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
}

.rsd-cal-event {
    margin-top: 4px;
    padding: 3px 6px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-right: 3px solid rgba(0,0,0,.2);
}

/* ============================================
   ALERTS
============================================ */
.rsd-alert {
    padding: 12px 16px;
    border-radius: 11px;
    font-size: 13px;
    margin-bottom: 16px;
    line-height: 1.6;
    border: 1px solid transparent;
}

.rsd-alert-success { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.rsd-alert-danger  { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.rsd-alert-warning { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.rsd-alert-info    { background: #F6F0E2; color: #765821; border-color: #E9DFC9; }

/* ============================================
   DONUT CHART (SVG)
============================================ */
.rsd-donut-wrap {
    text-align: center;
    padding: 14px;
}

.rsd-donut {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 120px;
}

.rsd-donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.rsd-donut svg circle { fill: none; stroke-width: 10; }
.rsd-donut .donut-bg { stroke: #f1f5f9; }
.rsd-donut .donut-fg { stroke-linecap: round; transition: stroke-dashoffset .6s; }

.rsd-donut-center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.rsd-donut-amount { font-size: 18px; font-weight: 800; color: #0f172a; }
.rsd-donut-label { font-size: 10px; color: #64748b; }

.rsd-legend {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 16px;
    padding: 0 4px;
}

.rsd-legend-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: #475569;
}

.rsd-legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

/* ============================================
   FILTERS TOOLBAR
============================================ */
.rsd-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #f1f5f9;
    border-radius: 14px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.rsd-toolbar .rsd-filter {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 12px;
    color: #475569;
    outline: none;
    font-family: inherit;
    cursor: pointer;
}

.rsd-toolbar .spacer { flex: 1; }

/* ============================================
   MODAL / DIALOG
============================================ */
.rsd-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .55);
    backdrop-filter: blur(2px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

.rsd-modal-backdrop.show { display: flex; }

.rsd-modal {
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 25px 80px rgba(0,0,0,.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rsd-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-bottom: 1px solid #f1f5f9;
}

.rsd-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.rsd-modal-close {
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
    border: none !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: .2s !important;
}

.rsd-modal-close:hover { background: #e2e8f0 !important; color: #0f172a !important; }

.rsd-modal-body {
    padding: 22px !important;
    overflow-y: auto !important;
    flex: 1 !important;
}

.rsd-modal-footer {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding: 16px 22px !important;
    border-top: 1px solid #f1f5f9 !important;
    background: #f8fafc !important;
}

/* ============================================
   UPLOAD AREA
============================================ */
.rsd-upload-area {
    border: 2px dashed #cbd5e1 !important;
    border-radius: 14px !important;
    padding: 30px 20px !important;
    text-align: center !important;
    background: #fafbfc !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: all .2s !important;
}

.rsd-upload-area.dragover,
.rsd-upload-area:hover {
    border-color: #B8954B !important;
    background: #FCF8EF !important;
    color: #B8954B !important;
}

.rsd-upload-area .upload-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    background: #F6F0E2 !important;
    color: #8A6A2B !important;
    margin: 0 auto 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rsd-upload-area .upload-text {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.rsd-upload-area .upload-hint { font-size: 11px !important; opacity: .8 !important; }

/* ============================================
   SERVICES GRID
============================================ */
.rsd-services-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px !important;
}

.rsd-service-card {
    background: #fff !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 16px !important;
    padding: 20px !important;
    transition: all .2s !important;
    cursor: pointer !important;
    display: flex;
    flex-direction: column;
    gap: 10px !important;
}

.rsd-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .1);
    border-color: #F3E9D3 !important;
}

.rsd-service-icon {
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #F6F0E2, #F7F1E6) !important;
    color: #4f46e5 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rsd-service-card h3 {
    font-size: 15px !important;
    font-weight: 700;
    color: #0f172a;
}

.rsd-service-card p {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0;
    flex: 1;
}

.rsd-service-card .svc-go {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #B8954B !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* ============================================
   FOOTER
============================================ */
.rsd-fp-footer {
    margin-top: 30px !important;
    padding: 18px 22px !important;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(226, 232, 240, .5);
    border-radius: 16px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.rsd-fp-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex: 1;
    justify-content: space-around;
}

.rsd-fp-footer-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #f1f5f9;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    text-decoration: none !important;
}

.rsd-fp-footer-action:hover {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #0f172a;
    transform: translateY(-1px);
}

.rsd-fp-footer-info {
    font-size: 11px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rsd-fp-footer-info .heart {
    color: #ef4444;
    display: inline-block;
    animation: heartbeat 1.6s ease-in-out infinite;
}

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

/* ============================================
   ICONS (inline SVG placeholders & fallback)
============================================ */
.rsd-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.rsd-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #cbd5e1;
    border-top-color: #B8954B;
    border-radius: 50%;
    animation: spin .7s linear infinite;
    display: inline-block;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Toast notifications */
.rsd-toasts {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.rsd-toast {
    pointer-events: auto;
    padding: 12px 16px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .18);
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 260px;
    max-width: 420px;
    border-right: 4px solid #B8954B;
    animation: toastIn .3s ease;
    font-size: 13px;
}

.rsd-toast.success { border-right-color: #10b981; }
.rsd-toast.error { border-right-color: #ef4444; }
.rsd-toast.warning { border-right-color: #f59e0b; }

@keyframes toastIn {
    from { opacity: 0; transform: translateX(-20px); }
    to { opacity: 1; transform: translateX(0); }
}

.rsd-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 16px 0;
}

.rsd-pagination .page-btn {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 9px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
}

.rsd-pagination .page-btn.active {
    background: #B8954B;
    border-color: #B8954B;
    color: #fff;
}

.rsd-pagination .page-btn:hover:not(.active) { background: #f1f5f9; }

/* Fix for WordPress theme padding if any */
.rsd-fp-portal .site-main,
.rsd-fp-portal .content-area {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.rsd-fp-portal .entry-header,
.rsd-fp-portal .entry-footer { display: none !important; }

.rsd-fp-portal .entry-content {
    padding: 0;
    margin: 0;
}

/* ========== Notification Dropdown (Client Portal Header) ========== */
.rsd-fp-header {
    position: relative;
    z-index: 9500;
}
.rsd-fp-notif-wrapper {
    position: relative;
    display: inline-block;
    z-index: 9600;
}

.rsd-fp-notif-btn.rsd-notif-bell {
    position: relative;
    z-index: 9700;
    border: 0;
    background: rgba(255, 255, 255, 0.82);
    width: 48px; height: 40px;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    cursor: pointer;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.18s ease;
}
.rsd-fp-notif-btn.rsd-notif-bell:hover { background: #ffffff; transform: translateY(-1px); }
.rsd-fp-notif-btn.rsd-notif-bell.open {
    background: #eef2ff;
    box-shadow: 0 0 0 3px rgba(184,149,75,.18);
}

.rsd-fp-badge {
    position: absolute;
    top: -3px;
    inset-inline-start: -3px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef4444;
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 800;
    font-family: monospace;
    line-height: 20px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(239, 68, 68, 0.3);
}

.rsd-notif-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    inset-inline-end: 0;
    width: 400px;
    max-width: calc(100vw - 28px);
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(226, 232, 240, 0.9);
    border: 1px solid rgba(226, 232, 240, 0.9);
    overflow: hidden;
    z-index: 99999 !important;
    animation: rsdNotifIn 0.18s ease-out;
    direction: rtl;
    text-align: right;
    isolation: isolate;
}
@keyframes rsdNotifIn {
    from { opacity: 0; transform: translateY(-6px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.rsd-notif-dropdown-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    font-size: 13px;
}
.rsd-notif-mark-all {
    border: 0 !important;
    background: rgba(184,149,75,.10) !important;
    color: #8A6A2B !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}
.rsd-notif-mark-all:hover { background: rgba(184,149,75,.16) !important; }
.rsd-notif-mark-all:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }

.rsd-notif-list {
    max-height: 420px;
    overflow-y: auto;
    background: #ffffff;
}
.rsd-notif-list::-webkit-scrollbar { width: 9px; }
.rsd-notif-list::-webkit-scrollbar-thumb { background: #cbd5e1 !important; border-radius: 999px !important; }
.rsd-notif-list::-webkit-scrollbar-thumb:hover { background: #94a3b8 !important; }

.rsd-notif-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(241, 245, 249, 0.95);
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: background 0.15s ease;
    cursor: pointer;
}
.rsd-notif-item:last-child { border-bottom: 0; }
.rsd-notif-item:hover { background: #f8fafc; }

.rsd-notif-item.unread::before {
    content: "";
    position: absolute;
    inset-inline-start: 10px;
    top: 20px;
    width: 9px;
    height: 9px;
    background: #9B7B58;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(184,149,75,.18);
}

.rsd-notif-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, #F3E9D3 0%, #F7F1E6 100%);
    color: #4f46e5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-inline-end: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.rsd-notif-body {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline-start: 8px;
}

.rsd-notif-title {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.rsd-notif-title .rsd-notif-time {
    font-size: 10px;
    font-weight: 500;
    color: #94a3b8;
    white-space: nowrap;
    flex-shrink: 0;
}
.rsd-notif-msg {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.55;
    color: #475569;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.rsd-notif-dismiss {
    flex-shrink: 0 !important;
    width: 24px !important; height: 24px !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    text-align: center;
    cursor: pointer;
    transition: all 0.15s ease;
}
.rsd-notif-dismiss:hover {
    background: #fee2e2;
    color: #dc2626;
    transform: scale(1.08);
}

.rsd-notif-empty {
    padding: 44px 20px;
    text-align: center;
    color: #64748b;
}
.rsd-notif-empty-icon {
    width: 56px !important; height: 56px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #dcfce7 0%, #d1fae5 100%);
    color: #059669 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px !important;
    margin-bottom: 14px !important;
}
.rsd-notif-empty h4 {
    margin: 0 0 6px 0;
    font-size: 14px !important;
    color: #0f172a !important;
}
.rsd-notif-empty p {
    margin: 0 !important;
    font-size: 12px !important;
}

.rsd-notif-dropdown-foot {
    padding: 12px 18px;
    border-top: 1px solid rgba(226, 232, 240, 0.9);
    background: #f8fafc;
    text-align: center;
}

@media (max-width: 520px) {
    .rsd-notif-dropdown { width: calc(100vw - 28px); right: -8px; }
}

/* 1.1 theme alignment */
.rsd-fp-portal{background:linear-gradient(135deg,#f7f5f0 0%,#fbfaf8 55%,#f1eee7 100%);}
.rsd-fp-nav-item.active,.rsd-btn-primary,.rsd-stat-welcome,.rsd-fp-sidebar-header .rsd-fp-logo{background:linear-gradient(135deg,#B8954B,#8F7138)!important;box-shadow:0 4px 14px rgba(184,149,75,.25)!important;}
.rsd-fp-portal a,.rsd-fp-nav-item:hover{color:#9b7734;}
.rsd-native-date{width:100%;min-height:42px;border:1px solid #dbe3ee;border-radius:10px;padding:8px 12px;background:#fff;}

/* ============================================
   GOLD / BEIGE THEME OVERRIDES (v1.2.1)
============================================ */
.rsd-fp-portal {
    --rsd-primary: #B8954B;
    --rsd-primary-dark: #8A6A2B;
    --rsd-primary-soft: #E9DDBB;
    --rsd-primary-pale: #F6F0E2;
    --rsd-cream: #FCFAF5;
    --rsd-surface: #FFFDF9;
    --rsd-border: #E9DFC9;
    --rsd-text: #463A24;
    --rsd-text-soft: #8B7C60;
    --rsd-success: #6E8B56;
    --rsd-warning: #C6943F;
    --rsd-danger: #B86858;
    --rsd-info: #A8863B;
    background: linear-gradient(135deg, #F8F3E8 0%, #FBF8F1 55%, #F3EBDD 100%);
    color: var(--rsd-text);
}
.rsd-fp-portal h1,
.rsd-fp-portal h2,
.rsd-fp-portal h3,
.rsd-fp-portal h4,
.rsd-fp-portal h5,
.rsd-fp-portal h6,
.rsd-fp-portal .rsd-fp-user-info .rsd-fp-user-name,
.rsd-fp-portal .rsd-stat-value,
.rsd-fp-portal .amount {
    color: var(--rsd-text);
}
.rsd-fp-portal p,
.rsd-fp-portal .rsd-fp-user-info .rsd-fp-user-role,
.rsd-fp-portal .rsd-fp-nav-item,
.rsd-fp-portal .rsd-fp-nav-label,
.rsd-fp-portal .rsd-label,
.rsd-fp-portal .rsd-muted,
.rsd-fp-portal .rsd-fp-version {
    color: var(--rsd-text-soft);
}
.rsd-fp-sidebar,
.rsd-fp-header,
.rsd-fp-card,
.rsd-fp-stat-card,
.rsd-card,
.rsd-table-card,
.rsd-ticket-card,
.rsd-document-card,
.rsd-report-card,
.rsd-service-card,
.rsd-calendar-card,
.rsd-empty-state,
.rsd-modal-content,
.rsd-chat-box,
.rsd-widget,
.rsd-panel,
.rsd-box,
.rsd-section {
    background: rgba(255, 253, 249, 0.96) !important;
    border-color: var(--rsd-border) !important;
}
.rsd-fp-sidebar-header,
.rsd-fp-sidebar-footer,
.rsd-fp-card-header,
.rsd-card-header,
.rsd-widget-header,
.rsd-table thead th,
.rsd-fp-table thead th {
    border-color: var(--rsd-border) !important;
}
.rsd-fp-sidebar-header .rsd-fp-logo,
.rsd-fp-avatar,
.rsd-fp-nav-item.active,
.rsd-fp-btn-primary,
.rsd-btn-primary,
.rsd-fp-welcome-card,
.rsd-welcome,
.rsd-cal-view-btn.active,
.rsd-page-link.active,
.rsd-pagination .current,
.rsd-submit-btn,
.rsd-upload-btn,
.rsd-chat-send,
.rsd-chat-submit,
button.rsd-primary,
input[type="submit"].rsd-primary {
    background: linear-gradient(135deg, var(--rsd-primary) 0%, var(--rsd-primary-dark) 100%) !important;
    border-color: var(--rsd-primary) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(184, 149, 75, .18) !important;
}
.rsd-fp-nav-item:hover,
.rsd-page-link:hover,
.rsd-cal-view-btn:hover,
.rsd-btn-secondary:hover,
.rsd-btn-light:hover,
.rsd-action-link:hover {
    background: var(--rsd-primary-pale) !important;
    border-color: var(--rsd-border) !important;
    color: var(--rsd-primary-dark) !important;
}
.rsd-stat-card .stat-icon,
.rsd-fp-card-icon,
.rsd-badge-info,
.rsd-alert-info,
.rsd-info-chip,
.rsd-chip,
.rsd-fp-chip,
.rsd-mini-badge,
.rsd-tag,
.rsd-tag-primary,
.rsd-filter-badge,
.rsd-stat-card.stat-blue .stat-icon,
.rsd-stat-card.stat-blue .stat-change,
.rsd-fp-quick-link .icon,
.rsd-fp-search-icon,
.rsd-cal-legend-item .dot {
    background: var(--rsd-primary-pale) !important;
    color: var(--rsd-primary-dark) !important;
    border-color: var(--rsd-border) !important;
}
.rsd-badge-warning,
.rsd-alert-warning { background: #F5E9CE !important; color: #8C6724 !important; border-color: #E6D2A6 !important; }
.rsd-badge-success,
.rsd-alert-success { background: #E8EFE0 !important; color: #587042 !important; border-color: #C9D7BC !important; }
.rsd-badge-danger,
.rsd-alert-danger { background: #F4E2DD !important; color: #9C5447 !important; border-color: #E3C2BA !important; }
.rsd-badge,
.rsd-pill,
.rsd-status,
.rsd-fp-status {
    background: #F7F1E6;
    color: var(--rsd-text);
    border: 1px solid var(--rsd-border);
}
.rsd-fp-table tbody td,
.rsd-table tbody td,
.rsd-fp-table tbody tr,
.rsd-table tbody tr,
.rsd-chat-msg,
.rsd-item-row,
.rsd-list-item {
    border-color: #EFE6D7 !important;
}
.rsd-fp-table tbody tr:hover td,
.rsd-table tbody tr:hover td,
.rsd-list-item:hover,
.rsd-item-row:hover {
    background: #FDF9F2 !important;
}
.rsd-fp-portal input,
.rsd-fp-portal select,
.rsd-fp-portal textarea,
.rsd-fp-portal .rsd-input,
.rsd-fp-portal .rsd-select,
.rsd-fp-portal .rsd-textarea {
    background: #FFFEFB !important;
    border-color: var(--rsd-border) !important;
    color: var(--rsd-text) !important;
}
.rsd-fp-portal input:focus,
.rsd-fp-portal select:focus,
.rsd-fp-portal textarea:focus,
.rsd-fp-portal .rsd-input:focus,
.rsd-fp-portal .rsd-select:focus,
.rsd-fp-portal .rsd-textarea:focus {
    border-color: var(--rsd-primary) !important;
    box-shadow: 0 0 0 3px rgba(184,149,75,.16) !important;
}
.rsd-chat-msg.theirs .rsd-chat-avatar,
.rsd-chat-msg.theirs .rsd-chat-bubble,
.rsd-timeline-dot,
.rsd-progress-fill,
.rsd-progress-bar > span {
    background: var(--rsd-primary) !important;
}
.rsd-chat-msg.theirs .rsd-chat-bubble {
    color: #fff !important;
}
.rsd-fp-portal .fc .fc-button-primary,
.rsd-fp-portal .fc .fc-button-primary:disabled,
.rsd-fp-portal .fc .fc-button-primary:not(:disabled).fc-button-active,
.rsd-fp-portal .fc .fc-button-primary:not(:disabled):active {
    background: linear-gradient(135deg, var(--rsd-primary) 0%, var(--rsd-primary-dark) 100%) !important;
    border-color: var(--rsd-primary) !important;
}
.rsd-fp-portal .fc .fc-button-primary:hover {
    background: var(--rsd-primary-dark) !important;
    border-color: var(--rsd-primary-dark) !important;
}
.rsd-fp-portal .fc .fc-daygrid-day.fc-day-today,
.rsd-fp-portal .fc .fc-timegrid-col.fc-day-today {
    background: #FBF4E7 !important;
}
.rsd-fp-portal .fc a,
.rsd-fp-portal .fc-event,
.rsd-fp-portal .fc-event-title,
.rsd-fp-portal .fc-event-time {
    color: var(--rsd-text) !important;
}
/* Auth view warm theme */
.rsd-fp-portal .rsd-auth-card {background: rgba(255,253,249,.96)!important;border-color: var(--rsd-border)!important;}
.rsd-fp-portal .rsd-auth-logo {background: linear-gradient(135deg,var(--rsd-primary) 0%,var(--rsd-primary-dark) 100%)!important;box-shadow:0 6px 18px rgba(184,149,75,.22)!important;}
.rsd-fp-portal .rsd-auth-tabs {background: #F6F0E2!important;}
.rsd-fp-portal .rsd-auth-tab {color: var(--rsd-text-soft)!important;}
.rsd-fp-portal .rsd-auth-tab.active {background:#fffdf9!important;color:var(--rsd-text)!important;}
.rsd-fp-portal .rsd-auth-alert-info {background: var(--rsd-primary-pale)!important;color: var(--rsd-primary-dark)!important;border-color: var(--rsd-border)!important;}
.rsd-fp-portal .rsd-auth-bottom-links,.rsd-fp-portal .rsd-auth-helper-note,.rsd-fp-portal .rsd-auth-remember-row label {color: var(--rsd-text-soft)!important;}
.rsd-fp-portal .rsd-auth-otp-step {background:#FBF7EF!important;border-color:var(--rsd-border)!important;color:var(--rsd-text)!important;}
.rsd-fp-portal .rsd-auth-remember-row input {accent-color: var(--rsd-primary)!important;}

/* =========================================================
   PROFESSIONAL UI SYSTEM — CLIENT PORTAL (v1.2.2)
   Warm gold / cream / beige design language
========================================================= */
.rsd-fp-portal {
    --rsd-radius-sm: 9px;
    --rsd-radius-md: 13px;
    --rsd-radius-lg: 18px;
    --rsd-radius-xl: 24px;
    --rsd-shadow-xs: 0 1px 2px rgba(73,57,31,.035);
    --rsd-shadow-sm: 0 5px 16px rgba(73,57,31,.055);
    --rsd-shadow-md: 0 12px 34px rgba(73,57,31,.075);
    --rsd-shadow-focus: 0 0 0 3px rgba(184,149,75,.15);
    --rsd-transition: 160ms ease;
    line-height: 1.75;
}
.rsd-fp-wrapper { gap: 0; }
.rsd-fp-main { padding: 24px 30px 44px; }
.rsd-fp-sidebar {
    width: 276px;
    min-width: 276px;
    padding: 26px 0 20px;
    border-left: 1px solid var(--rsd-border) !important;
    box-shadow: -8px 0 28px rgba(74,57,31,.035);
}
.rsd-fp-sidebar-header { padding: 0 22px 22px; margin-bottom: 14px; }
.rsd-fp-sidebar-header .rsd-fp-logo {
    width: 52px; height: 52px; border-radius: 16px;
    box-shadow: 0 8px 22px rgba(184,149,75,.22)!important;
}
.rsd-fp-nav { padding: 0 12px; }
.rsd-fp-nav-label { padding: 11px 12px 7px; font-size: 10.5px; letter-spacing: 0; }
.rsd-fp-nav-item {
    min-height: 44px;
    padding: 10px 13px;
    border-radius: 12px;
    margin-bottom: 4px;
    font-weight: 600;
    transition: background var(--rsd-transition), color var(--rsd-transition), transform var(--rsd-transition), box-shadow var(--rsd-transition);
}
.rsd-fp-nav-item:hover { transform: translateX(-2px); }
.rsd-fp-nav-item.active { box-shadow: 0 7px 18px rgba(184,149,75,.20)!important; }
.rsd-fp-header {
    min-height: 76px;
    padding: 15px 20px;
    border-radius: var(--rsd-radius-lg);
    border: 1px solid var(--rsd-border)!important;
    box-shadow: var(--rsd-shadow-sm);
    margin-bottom: 22px;
}
.rsd-fp-avatar { width: 44px; height: 44px; box-shadow: 0 5px 14px rgba(184,149,75,.18)!important; }
.rsd-fp-search input { min-height: 43px; border-radius: 12px!important; padding-inline: 42px 14px!important; }
.rsd-fp-search input::placeholder { color: #B0A389; }

/* Cards and sections */
.rsd-fp-card,
.rsd-card,
.rsd-stat-card,
.rsd-table-card,
.rsd-ticket-card,
.rsd-document-card,
.rsd-report-card,
.rsd-service-card,
.rsd-calendar-card,
.rsd-widget,
.rsd-panel,
.rsd-box,
.rsd-section {
    border-radius: var(--rsd-radius-lg)!important;
    border: 1px solid var(--rsd-border)!important;
    box-shadow: var(--rsd-shadow-xs)!important;
    transition: transform var(--rsd-transition), box-shadow var(--rsd-transition), border-color var(--rsd-transition);
}
.rsd-stat-card:hover,
.rsd-ticket-card:hover,
.rsd-document-card:hover,
.rsd-report-card:hover,
.rsd-service-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--rsd-shadow-md)!important;
    border-color: #DDCDAA!important;
}
.rsd-fp-card-header,
.rsd-card-header,
.rsd-widget-header {
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #EFE6D7!important;
}
.rsd-fp-card h2,.rsd-fp-card h3,.rsd-card h2,.rsd-card h3,.rsd-widget h3 { letter-spacing: -.15px; }

/* Tables */
.rsd-table-card { overflow: hidden; }
.rsd-fp-table,.rsd-table { border-collapse: separate!important; border-spacing: 0!important; }
.rsd-fp-table thead th,.rsd-table thead th {
    background: #F8F2E7!important;
    color: #776849!important;
    font-size: 11.5px!important;
    font-weight: 800!important;
    padding: 13px 14px!important;
    border-bottom: 1px solid var(--rsd-border)!important;
    white-space: nowrap;
}
.rsd-fp-table tbody td,.rsd-table tbody td {
    padding: 14px!important;
    font-size: 12.5px!important;
    vertical-align: middle!important;
    background: rgba(255,253,249,.74);
}
.rsd-fp-table tbody tr:last-child td,.rsd-table tbody tr:last-child td { border-bottom: 0!important; }
.rsd-fp-table tbody tr:hover td,.rsd-table tbody tr:hover td { background: #FCF7ED!important; }

/* Forms */
.rsd-fp-portal label,.rsd-form-row label { color:#665838!important; font-weight:700!important; font-size:12.5px; }
.rsd-fp-portal input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.rsd-fp-portal select,.rsd-fp-portal textarea {
    min-height: 43px;
    border-radius: 11px!important;
    padding: 9px 12px!important;
    transition: border-color var(--rsd-transition), box-shadow var(--rsd-transition), background var(--rsd-transition);
}
.rsd-fp-portal textarea { min-height: 108px; resize: vertical; }
.rsd-fp-portal input:hover,.rsd-fp-portal select:hover,.rsd-fp-portal textarea:hover { border-color: #DCCCA9!important; }
.rsd-fp-portal input:focus,.rsd-fp-portal select:focus,.rsd-fp-portal textarea:focus { outline: none!important; box-shadow: var(--rsd-shadow-focus)!important; }
.rsd-fp-portal input[type="checkbox"],.rsd-fp-portal input[type="radio"] { accent-color: var(--rsd-primary); }
.rsd-form-row { margin-bottom: 17px; }
.rsd-form-row > label { display:block; margin-bottom:7px; }

/* Buttons and inline links */
.rsd-btn,.rsd-btn-primary,.rsd-btn-secondary,.rsd-fp-btn,.rsd-cal-view-btn,.rsd-page-link,
.rsd-submit-btn,.rsd-upload-btn,.rsd-chat-send,.rsd-chat-submit {
    min-height: 39px;
    border-radius: 10px!important;
    padding: 8px 14px!important;
    font-weight: 700!important;
    transition: transform var(--rsd-transition), box-shadow var(--rsd-transition), background var(--rsd-transition), border-color var(--rsd-transition)!important;
}
.rsd-btn:hover,.rsd-btn-primary:hover,.rsd-fp-btn:hover,.rsd-submit-btn:hover,.rsd-upload-btn:hover { transform: translateY(-1px); }
.rsd-btn-primary:hover,.rsd-submit-btn:hover,.rsd-upload-btn:hover { box-shadow: 0 9px 20px rgba(184,149,75,.24)!important; }
.rsd-btn-secondary,.rsd-btn-outline,.rsd-btn-light {
    background: #FFFEFB!important;
    border: 1px solid var(--rsd-border)!important;
    color: var(--rsd-text)!important;
}
.rsd-fp-portal a:not(.rsd-fp-nav-item):not(.rsd-btn):not(.rsd-btn-primary):not(.rsd-page-link):not(.rsd-cal-view-btn) {
    text-decoration-color: rgba(138,106,43,.28);
    text-underline-offset: 3px;
}
.rsd-fp-portal a:not(.rsd-fp-nav-item):hover { text-decoration-color: currentColor; }

/* Badges and states */
.rsd-badge,.rsd-pill,.rsd-status,.rsd-fp-status,.rsd-tag {
    border-radius: 999px!important;
    padding: 4px 9px!important;
    line-height: 1.5!important;
    font-size: 10.5px!important;
    font-weight: 800!important;
}

/* Empty states */
.rsd-empty,.rsd-empty-state,.rsd-notif-empty {
    padding: 48px 22px!important;
    text-align: center!important;
    color: var(--rsd-text-soft)!important;
}
.rsd-empty-icon,.rsd-notif-empty-icon {
    width: 56px!important; height:56px!important;
    border-radius: 18px!important;
    display:inline-flex!important; align-items:center!important; justify-content:center!important;
    background:#F6F0E2!important; color:var(--rsd-primary-dark)!important;
    margin-bottom: 12px!important;
}

/* Modals */

.rsd-modal-content,.rsd-modal-box {
    border-radius: 20px!important;
    border: 1px solid var(--rsd-border)!important;
    box-shadow: 0 24px 64px rgba(64,47,23,.16)!important;
    overflow: hidden;
}
.rsd-modal-header { background:#FBF7EF!important; border-bottom:1px solid var(--rsd-border)!important; }
.rsd-modal-footer { background:#FCF9F3!important; border-top:1px solid var(--rsd-border)!important; }

/* Pagination / filters */
.rsd-pagination,.rsd-filters,.rsd-toolbar { gap:8px; }
.rsd-page-link,.rsd-cal-view-btn { border:1px solid var(--rsd-border)!important; background:#FFFEFB!important; color:var(--rsd-text)!important; }
.rsd-pagination .current,.rsd-page-link.active,.rsd-cal-view-btn.active { color:#fff!important; }
/* منوی فعال سایدبار */
.rsd-fp-portal .rsd-fp-nav-item.active,
.rsd-fp-portal .rsd-fp-nav-item.active span,
.rsd-fp-portal .rsd-fp-nav-item.active .rsd-icon {
    color: #fff !important;
}
.rsd-fp-portal {
    background: #fff !important;
    background-image: none !important;
}
/* Responsive polish */
@media (max-width: 1100px) {
    .rsd-fp-sidebar { width: 245px; min-width: 245px; }
    .rsd-fp-main { padding: 20px 20px 38px; }
}
@media (max-width: 900px) {
    .rsd-fp-main { padding: 16px 14px 34px; }
    .rsd-fp-header { border-radius: 14px; }
    .rsd-fp-search { width: 320px; max-width: 45%; }
}
@media (max-width: 768px) {
    .rsd-fp-card,.rsd-card,.rsd-stat-card,.rsd-table-card,.rsd-widget { border-radius: 15px!important; }
    .rsd-fp-table { min-width: 720px; }
    .rsd-table-card { overflow-x:auto; }
    .rsd-fp-header { padding: 12px 14px; }
    .rsd-fp-search { max-width: none; width: 100%; }
}

/* =========================================================
   FINAL PORTAL CORRECTIONS — v1.3.0
========================================================= */
body.rsd-fp-portal,
.rsd-fp-portal,
.rsd-fp-portal .rsd-fp-main {
    background: #fff !important;
    background-image: none !important;
}

body.rsd-fp-portal h1.entry-title,
body.rsd-fp-portal .entry-header .entry-title,
body.rsd-fp-portal .page-title {
    width: 100%;
    text-align: center !important;
    color: #342B1D !important;
    font-weight: 700 !important;
}
.rsd-fp-portal .rsd-fp-nav-item.active,
.rsd-fp-portal .rsd-fp-nav-item.active span,
.rsd-fp-portal .rsd-fp-nav-item.active .rsd-icon,
.rsd-fp-portal .rsd-fp-nav-item.active * {
    color: #fff !important;
}
.rsd-fp-portal .rsd-fp-user-menu {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-align: right;
}
.rsd-fp-portal .rsd-profile-trigger:hover .rsd-fp-user-name,
.rsd-fp-portal .rsd-profile-trigger:focus .rsd-fp-user-name {
    color: var(--rsd-primary-dark) !important;
}
.rsd-fp-sidebar-profile { padding: 0 14px; }
.rsd-fp-portal .rsd-fp-profile-link {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: right;
    font: inherit;
}
.rsd-fp-portal .rsd-fp-profile-link:hover {
    background: var(--rsd-primary-pale) !important;
    color: var(--rsd-primary-dark) !important;
}

/* Company profile */
.rsd-company-section { margin-bottom: 18px; }
.rsd-company-section .rsd-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.rsd-repeat-list { display: grid; gap: 14px; }
.rsd-repeat-row {
    border: 1px solid var(--rsd-border);
    border-radius: 14px;
    background: #FFFEFB;
    padding: 15px;
}
.rsd-repeat-row-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
    padding-bottom: 10px;
    border-bottom: 1px dashed var(--rsd-border);
}
.rsd-remove-repeat {
    appearance: none;
    border: 1px solid #E5C9C2;
    background: #FBEEEA;
    color: #9C5447;
    border-radius: 9px;
    padding: 5px 9px;
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
}
.rsd-company-docs-current { display: grid; gap: 8px; margin-bottom: 14px; }
.rsd-company-doc-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    border: 1px solid var(--rsd-border);
    background: #FCFAF5;
    padding: 10px 12px;
    border-radius: 11px;
}
.rsd-fp-portal p{color:#fff !important;}
button.rsd-auth-tab:hover{background-color:#AB8846;}
.rsd-auth-form, button.rsd-auth-tab {
    font-family: 'IranSansFnum';
}
.rsd-company-doc-current small { display:block; color:var(--rsd-text-soft); margin-top:2px; }
.rsd-company-doc-current > div:last-child { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rsd-doc-remove-label { display:inline-flex; align-items:center; gap:5px; margin:0!important; font-size:11px!important; }
.rsd-form-hint { color:var(--rsd-text-soft); font-size:11px; line-height:1.8; margin-top:6px; }

/* Explicit profile modal sizing */
.rsd-profile-modal-card { max-width: 620px !important; width: min(620px, calc(100vw - 28px)); }

/* Dashboard service shortcuts as a distinct action area */
.rsd-new-request-section {
    background: #FFFDF9 !important;
    border: 1px solid var(--rsd-border) !important;
}
.rsd-section-intro { color:var(--rsd-text-soft); font-size:12px; margin-bottom:14px!important; }
.rsd-request-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}
.rsd-request-shortcut {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--rsd-border);
    border-radius: 11px;
    background: #fff;
    color: var(--rsd-primary-dark) !important;
    font-weight: 700;
    text-decoration: none !important;
}
.rsd-request-shortcut:hover { background:var(--rsd-primary-pale)!important; transform:translateY(-1px); }
.rsd-request-shortcut > span {
    width: 26px; height:26px; border-radius:8px;
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--rsd-primary-pale); color:var(--rsd-primary-dark)!important;
}

/* Calendar: keep view and holiday UI warm, not blue */
.rsd-fp-portal .rsd-cal-nav-btn,
.rsd-fp-portal .rsd-calendar-today-link {
    background:#F6F0E2!important;
    border-color:var(--rsd-border)!important;
    color:var(--rsd-primary-dark)!important;
}
.rsd-fp-portal .rsd-cal-day.today .rsd-cal-num {
    background: var(--rsd-primary) !important;
    color:#fff!important;
}

/* Never allow legacy blue inline accents to leak through portal links/buttons. */
.rsd-fp-portal a { color: var(--rsd-primary-dark) !important; }
.rsd-fp-portal .rsd-btn-primary,
.rsd-fp-portal .rsd-submit-btn,
.rsd-fp-portal .rsd-upload-btn {
    background: linear-gradient(135deg,var(--rsd-primary),var(--rsd-primary-dark))!important;
    border-color:var(--rsd-primary)!important;
    color:#fff!important;
}
.rsd-fp-portal .rsd-btn-primary *,
.rsd-fp-portal .rsd-submit-btn *,
.rsd-fp-portal .rsd-upload-btn * { color:#fff!important; }

@media (max-width: 720px) {
    .rsd-repeat-row { padding: 12px; }
    .rsd-company-doc-current { align-items:flex-start; }
    .rsd-request-shortcuts { grid-template-columns: 1fr; }
}
.rsd-folder-picker {
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:9px!important;
    padding:9px 11px;
    border:1px solid var(--rsd-border);
    border-radius:10px;
    background:#FCFAF5;
    color:var(--rsd-primary-dark)!important;
    cursor:pointer;
}
.rsd-folder-picker input[type="file"] {
    max-width:58%;
    min-height:32px!important;
    padding:3px!important;
    font-size:11px;
}

/* Robust fallback for themes where the portal body class is added after render. */
body.rsd-fp-portal-page,
body.rsd-fp-portal-page .site,
body.rsd-fp-portal-page .site-content,
body.rsd-fp-portal-page .content-area,
body.rsd-fp-portal-page .page-content {
    background:#fff !important;
    background-image:none !important;
}
body.rsd-fp-portal-page h1.entry-title,
body.rsd-fp-portal-page .entry-header .entry-title,
body.rsd-fp-portal-page .page-title {
    width:100%;
    text-align:center !important;
    color:#342B1D !important;
}

/* ============================================
   Calendar functional views (v1.3.1)
============================================ */
.rsd-cal-view-switcher {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}
.rsd-cal-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid var(--rsd-border, #E9DFC9);
    border-radius: 9px;
    background: #fff;
    color: var(--rsd-text, #463A24) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}
.rsd-cal-view-btn:hover {
    background: var(--rsd-primary-pale, #F6F0E2) !important;
    color: var(--rsd-primary-dark, #8A6A2B) !important;
}
.rsd-cal-view-btn.active,
.rsd-cal-view-btn.active:visited {
    background: linear-gradient(135deg, var(--rsd-primary, #B8954B), var(--rsd-primary-dark, #8A6A2B)) !important;
    border-color: var(--rsd-primary, #B8954B) !important;
    color: #fff !important;
}
.rsd-cal-navigation { display:flex; gap:6px; }
.rsd-calendar-today-link {
    display:inline-flex;
    margin-right:8px;
    padding:3px 9px;
    border-radius:999px;
    background:var(--rsd-primary-pale,#F6F0E2);
    color:var(--rsd-primary-dark,#8A6A2B)!important;
    font-size:11px;
    font-weight:700;
    text-decoration:none!important;
}
.rsd-cal-num { color:var(--rsd-text,#463A24)!important; text-decoration:none!important; font-weight:800; }
.rsd-cal-day-view { padding:20px; }
.rsd-cal-day-view-date {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 16px;
    margin-bottom:14px;
    border:1px solid var(--rsd-border,#E9DFC9);
    border-radius:12px;
    background:#FCFAF5;
}
.rsd-cal-day-view-date strong { font-size:17px; }
.rsd-cal-day-view-date span { direction:ltr; font-family:monospace; color:var(--rsd-text-soft,#8B7C60); }
.rsd-cal-agenda-list { display:flex; flex-direction:column; gap:10px; }
.rsd-cal-agenda-item {
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 16px;
    border:1px solid var(--rsd-border,#E9DFC9);
    border-radius:12px;
    background:#fff;
}
.rsd-cal-agenda-item p { margin:5px 0 0; color:var(--rsd-text-soft,#8B7C60); font-size:12px; }
.rsd-cal-agenda-dot { width:10px; height:10px; border-radius:50%; margin-top:5px; flex:0 0 auto; }
.rsd-cal-week-view {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    border-top:1px solid var(--rsd-border,#E9DFC9);
    border-right:1px solid var(--rsd-border,#E9DFC9);
}
.rsd-cal-week-column {
    min-height:330px;
    border-left:1px solid var(--rsd-border,#E9DFC9);
    border-bottom:1px solid var(--rsd-border,#E9DFC9);
    background:#fff;
}
.rsd-cal-week-column.today { background:#FBF4E7; }
.rsd-cal-week-column-head {
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:11px 9px;
    border-bottom:1px solid #F0E9DC;
    text-align:center;
}
.rsd-cal-week-column-head strong { font-size:12px; }
.rsd-cal-week-column-head span { font-size:11px; color:var(--rsd-text-soft,#8B7C60); }
.rsd-cal-week-events { padding:8px; display:flex; flex-direction:column; gap:6px; }
.rsd-cal-week-events .rsd-cal-event { white-space:normal; line-height:1.55; }
.rsd-cal-no-events { display:block; padding:10px; text-align:center; color:#B5A98F; font-size:12px; }
.rsd-cal-year-view {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:16px;
}
.rsd-cal-year-month {
    min-height:190px;
    border:1px solid var(--rsd-border,#E9DFC9);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
}
.rsd-cal-year-month-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:11px 13px;
    background:#FCFAF5;
    border-bottom:1px solid var(--rsd-border,#E9DFC9);
}
.rsd-cal-year-month-head a { font-weight:800; color:var(--rsd-primary-dark,#8A6A2B)!important; text-decoration:none!important; }
.rsd-cal-year-month-head span { font-size:10px; color:var(--rsd-text-soft,#8B7C60); }
.rsd-cal-year-events { display:flex; flex-direction:column; gap:5px; padding:9px; }
.rsd-cal-year-event {
    display:grid;
    grid-template-columns:8px 25px 1fr;
    gap:6px;
    align-items:center;
    font-size:11px;
    line-height:1.45;
}
.rsd-cal-year-event i { width:8px; height:8px; border-radius:50%; }
.rsd-cal-year-event > span { direction:ltr; color:var(--rsd-text-soft,#8B7C60); }
.rsd-cal-year-event strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rsd-calendar-filters { display:flex; flex-direction:column; gap:6px; }
.rsd-calendar-filter-row {
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 8px;
    border-radius:9px;
    cursor:pointer;
    transition:.15s ease;
}
.rsd-calendar-filter-row:hover { background:#FCF8EF; }
.rsd-calendar-filter-row input { margin:0; accent-color:var(--rsd-primary,#B8954B); }
.rsd-calendar-filter-dot { width:10px; height:10px; border-radius:50%; flex:0 0 auto; }
.rsd-calendar-filter-label { flex:1; font-size:12px; color:var(--rsd-text,#463A24); }
.rsd-calendar-filter-count { min-width:24px; padding:1px 7px; border-radius:999px; text-align:center; background:#F7F1E6; color:var(--rsd-text-soft,#8B7C60); font-size:10px; }
@media (max-width: 1100px) {
    .rsd-cal-year-view { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rsd-cal-week-view { overflow-x:auto; grid-template-columns:repeat(7,minmax(150px,1fr)); }
}
@media (max-width: 760px) {
    .rsd-calendar-layout { display:block!important; }
    .rsd-calendar-main-card { margin-bottom:18px; }
    .rsd-calendar-header { align-items:flex-start!important; gap:10px; flex-wrap:wrap; }
    .rsd-cal-view-switcher { width:100%; }
    .rsd-cal-view-btn { flex:1; }
    .rsd-cal-year-view { grid-template-columns:1fr; }
}

/* ============================================
   CALENDAR LEGEND LAYOUT FIX (v1.3.2)
============================================ */
.rsd-fp-portal .rsd-calendar-legend {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 14px 14px 8px !important;
    margin-top: 8px !important;
    border-top: 1px solid var(--rsd-border, #E9DFC9) !important;
    direction: rtl !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    color: var(--rsd-text-soft, #8B7C60) !important;
}

.rsd-fp-portal .rsd-calendar-legend-title {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
    color: var(--rsd-text, #463A24) !important;
    padding-top: 4px !important;
}

.rsd-fp-portal .rsd-calendar-legend-items {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    min-width: 0 !important;
}

.rsd-fp-portal .rsd-calendar-legend-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 3px 0 !important;
    margin: 0 !important;
    color: var(--rsd-text-soft, #8B7C60) !important;
}

.rsd-fp-portal .rsd-calendar-legend-swatch {
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    border-radius: 3px !important;
    margin: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(70,58,36,.08) !important;
}

.rsd-fp-portal .rsd-calendar-legend-label {
    display: inline-block !important;
    white-space: nowrap !important;
    color: inherit !important;
}
button.rsd-profile-trigger:hover {
    background: #f2eded !important;
    padding: 10px;
}
@media (max-width: 900px) {
    .rsd-fp-portal .rsd-calendar-legend {
        flex-direction: column !important;
        gap: 6px !important;
    }
    .rsd-fp-portal .rsd-calendar-legend-items {
        width: 100% !important;
        gap: 6px 14px !important;
    }
}

@media (max-width: 520px) {
    .rsd-fp-portal .rsd-calendar-legend-items {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px 10px !important;
    }
    .rsd-fp-portal .rsd-calendar-legend-item,
    .rsd-fp-portal .rsd-calendar-legend-label {
        white-space: normal !important;
    }
}

/* === Public consultation booking (v1.4.0) === */
.rsd-public-booking-wrap{max-width:1120px;margin:32px auto;padding:0 18px;font-family:inherit;color:var(--rsd-text,#463A24)}
.rsd-public-booking-hero{background:linear-gradient(135deg,var(--rsd-primary-pale,#F6F0E2),#fff);border:1px solid var(--rsd-border,#E9DFC9);border-radius:22px;padding:30px;margin-bottom:18px;box-shadow:0 14px 40px rgba(70,58,36,.06)}
.rsd-public-booking-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--rsd-border,#E9DFC9);color:var(--rsd-primary-dark,#8A6A2B);font-size:13px;font-weight:700;margin-bottom:10px}
.rsd-public-booking-hero h2{margin:0 0 10px;font-size:clamp(22px,3vw,34px);line-height:1.5;color:#342B1D}.rsd-public-booking-hero p{margin:0;color:var(--rsd-text-soft,#8B7C60);line-height:2}
.rsd-booking-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.rsd-booking-meta span{background:#fff;border:1px solid var(--rsd-border,#E9DFC9);padding:8px 12px;border-radius:10px;font-size:13px}
.rsd-booking-account-note,.rsd-booking-account-help{padding:13px 16px;border-radius:12px;background:var(--rsd-primary-pale,#F6F0E2);border:1px solid var(--rsd-border,#E9DFC9);margin-bottom:16px;line-height:1.9}
.rsd-booking-card{background:#fff;border:1px solid var(--rsd-border,#E9DFC9);border-radius:18px;padding:22px;margin:0 0 18px;box-shadow:0 8px 26px rgba(70,58,36,.05)}
.rsd-booking-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.rsd-booking-card-head h3{margin:0 0 6px;color:#342B1D}.rsd-booking-card-head p{margin:0;color:var(--rsd-text-soft,#8B7C60);font-size:13px;line-height:1.8}
.rsd-modal-lg{max-width:min(1080px,96vw);width:min(1080px,96vw)}
.rsd-gregorian-scheduler-compact{margin-top:8px}
.rsd-selected-slot{flex:0 0 auto;padding:9px 12px;border:1px dashed var(--rsd-border,#E9DFC9);border-radius:10px;color:var(--rsd-text-soft,#8B7C60);font-size:13px}.rsd-selected-slot.has-value{border-style:solid;background:var(--rsd-primary-pale,#F6F0E2);color:var(--rsd-primary-dark,#8A6A2B);font-weight:700}
.rsd-availability-days{display:grid;gap:12px;max-height:590px;overflow:auto;padding-left:3px}.rsd-availability-day{border:1px solid #eee7d9;border-radius:14px;padding:14px;background:#fffdf9}.rsd-availability-date{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.rsd-availability-date strong{font-size:14px}.rsd-availability-date span{font-size:12px;color:var(--rsd-text-soft,#8B7C60);direction:ltr}
.rsd-slot-list{display:flex;flex-wrap:wrap;gap:8px}.rsd-slot-btn{appearance:none;border:1px solid var(--rsd-border,#E9DFC9);background:#fff;border-radius:11px;padding:9px 14px;min-width:92px;cursor:pointer;transition:.18s;display:flex;gap:5px;align-items:baseline;justify-content:center;color:var(--rsd-text,#463A24)}.rsd-slot-btn:hover{transform:translateY(-1px);border-color:var(--rsd-primary,#B8954B);background:var(--rsd-primary-pale,#F6F0E2)}.rsd-slot-btn.active{background:linear-gradient(135deg,var(--rsd-primary,#B8954B),var(--rsd-primary-dark,#8A6A2B));border-color:var(--rsd-primary,#B8954B);color:#fff}.rsd-slot-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.rsd-slot-btn small{font-size:10px;opacity:.8}
.rsd-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rsd-booking-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.rsd-public-booking-form .rsd-form-row{margin-bottom:14px}.rsd-public-booking-form label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.rsd-public-booking-form input,.rsd-public-booking-form textarea{width:100%;border:1px solid var(--rsd-border,#E9DFC9);border-radius:10px;padding:11px 12px;background:#fff;box-sizing:border-box}.rsd-booking-submit{min-width:190px;justify-content:center}.rsd-booking-message{margin:14px 0 10px;padding:0;line-height:1.9}.rsd-booking-message.success,.rsd-booking-message.error{padding:11px 13px;border-radius:10px}.rsd-booking-message.success{background:#eef5ea;color:#55703f}.rsd-booking-message.error{background:#fbefec;color:#9b5549}.rsd-booking-message a{font-weight:700;text-decoration:underline}.rsd-booking-empty{text-align:center;padding:34px 18px;color:var(--rsd-text-soft,#8B7C60)}.rsd-booking-empty>div{font-size:38px;margin-bottom:8px}.rsd-booking-empty strong{display:block;color:var(--rsd-text,#463A24);margin-bottom:6px}
.rsd-meeting-slot-picker{max-height:340px;overflow:auto;border:1px solid var(--rsd-border,#E9DFC9);border-radius:12px;padding:12px;background:#fffdf9}.rsd-meeting-slot-day{margin-bottom:13px}.rsd-meeting-slot-day:last-child{margin-bottom:0}.rsd-meeting-slot-day>strong{display:block;font-size:12px;margin-bottom:7px;color:var(--rsd-text-soft,#8B7C60)}.rsd-meeting-slot-options{display:flex;flex-wrap:wrap;gap:7px}.rsd-meeting-slot-radio{position:absolute;opacity:0;pointer-events:none}.rsd-meeting-slot-label{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border:1px solid var(--rsd-border,#E9DFC9);border-radius:9px;cursor:pointer;background:#fff}.rsd-meeting-slot-radio:checked+.rsd-meeting-slot-label{background:var(--rsd-primary,#B8954B);border-color:var(--rsd-primary,#B8954B);color:#fff}
@media(max-width:760px){.rsd-public-booking-wrap{margin:18px auto;padding:0 10px}.rsd-public-booking-hero,.rsd-booking-card{padding:17px;border-radius:15px}.rsd-booking-card-head{display:block}.rsd-selected-slot{margin-top:12px;display:inline-flex}.rsd-booking-grid,.rsd-booking-grid-2{grid-template-columns:1fr}.rsd-availability-date{align-items:flex-start;flex-direction:column}.rsd-slot-btn{flex:1 1 92px}.rsd-booking-meta{display:grid;grid-template-columns:1fr}}


/* === Gregorian consultation scheduler (v1.4.1) === */
.rsd-gregorian-scheduler{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:18px;align-items:start}
.rsd-gregorian-calendar,.rsd-booking-slots-panel{border:1px solid var(--rsd-border,#E9DFC9);border-radius:16px;background:#fffdf9;padding:16px}
.rsd-gregorian-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:15px;text-align:center}
.rsd-gregorian-calendar-head>div{display:flex;flex-direction:column;gap:2px}.rsd-gregorian-calendar-head strong{font-size:18px;color:#342B1D}.rsd-gregorian-calendar-head span{font-size:10px;letter-spacing:.04em;color:var(--rsd-text-soft,#8B7C60);direction:ltr}
.rsd-calendar-nav{appearance:none;border:1px solid var(--rsd-border,#E9DFC9);width:40px;height:40px;border-radius:10px;background:#fff;color:var(--rsd-primary-dark,#8A6A2B);font-size:24px;line-height:1;cursor:pointer;transition:.15s}.rsd-calendar-nav:hover:not(:disabled){background:var(--rsd-primary-pale,#F6F0E2);border-color:var(--rsd-primary,#B8954B)}.rsd-calendar-nav:disabled{opacity:.32;cursor:not-allowed}
.rsd-gregorian-weekdays,.rsd-gregorian-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.rsd-gregorian-weekdays{margin-bottom:7px}.rsd-gregorian-weekdays span{text-align:center;font-size:10.5px;font-weight:700;color:var(--rsd-text-soft,#8B7C60);padding:5px 1px}
.rsd-calendar-day{appearance:none;min-height:70px;border:1px solid #eee5d5;border-radius:11px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:7px 3px;color:#4a3e29;transition:.15s;position:relative}.rsd-calendar-day.is-blank{border:0;background:transparent}.rsd-calendar-day-number{font-size:15px;font-weight:800;direction:ltr}.rsd-calendar-day small{font-size:8.5px;white-space:nowrap;color:inherit;opacity:.72;display:block;}
.rsd-calendar-day.is-available{cursor:pointer;border-color:#d9c89f;background:#fff}.rsd-calendar-day.is-available:hover{transform:translateY(-1px);border-color:var(--rsd-primary,#B8954B);box-shadow:0 5px 14px rgba(70,58,36,.07)}
.rsd-calendar-day.is-unavailable{background:#f8f6f1;color:#b8ae9c;border-color:#f1ece1;cursor:not-allowed}.rsd-calendar-day.is-unavailable small{font-size:8px}
.rsd-calendar-day.is-selected{background:linear-gradient(135deg,var(--rsd-primary,#B8954B),var(--rsd-primary-dark,#8A6A2B));border-color:var(--rsd-primary,#B8954B);color:#fff;box-shadow:0 7px 18px rgba(184,149,75,.24)}
.rsd-calendar-day.is-today:not(.is-selected)::after{content:"امروز";position:absolute;top:3px;left:4px;font-size:7px;color:var(--rsd-primary-dark,#8A6A2B);background:var(--rsd-primary-pale,#F6F0E2);border-radius:99px;padding:1px 4px}
.rsd-calendar-legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:13px;color:var(--rsd-text-soft,#8B7C60);font-size:10px}.rsd-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.rsd-calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}.rsd-calendar-legend i.is-available{background:#fff;border:2px solid var(--rsd-primary,#B8954B)}.rsd-calendar-legend i.is-selected{background:var(--rsd-primary,#B8954B)}.rsd-calendar-legend i.is-unavailable{background:#e8e3da}
.rsd-booking-slots-panel{position:sticky;top:24px}.rsd-booking-slots-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #eee5d5;margin-bottom:12px}.rsd-booking-slots-title small{display:block;color:var(--rsd-text-soft,#8B7C60);font-size:10px;margin-bottom:4px}.rsd-booking-slots-title strong{font-size:14px;line-height:1.7}.rsd-slot-count{font-size:10px;padding:5px 8px;border-radius:999px;background:var(--rsd-primary-pale,#F6F0E2);color:var(--rsd-primary-dark,#8A6A2B);white-space:nowrap}
.rsd-day-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:390px;overflow:auto}.rsd-slot-btn-calendar{min-width:0;width:100%;padding:11px 8px;flex-direction:column;align-items:center;gap:2px}.rsd-slot-btn-calendar strong{font-size:15px}.rsd-slot-placeholder{grid-column:1/-1;text-align:center;color:var(--rsd-text-soft,#8B7C60);font-size:12px;line-height:2;padding:28px 12px;border:1px dashed var(--rsd-border,#E9DFC9);border-radius:11px;background:#fff}
@media(max-width:880px){.rsd-gregorian-scheduler{grid-template-columns:1fr}.rsd-booking-slots-panel{position:static}.rsd-day-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}}
@media(max-width:560px){.rsd-gregorian-calendar,.rsd-booking-slots-panel{padding:10px}.rsd-gregorian-weekdays,.rsd-gregorian-calendar-grid{gap:4px}.rsd-gregorian-weekdays span{font-size:8.5px}.rsd-calendar-day{min-height:54px;border-radius:8px;padding:4px 1px}.rsd-calendar-day-number{font-size:13px}.rsd-calendar-day small{font-size:7px}.rsd-day-slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rsd-gregorian-calendar-head strong{font-size:16px}}


/* Sidebar icon refresh — v1.4.4 */
.rsd-fp-nav-item .rsd-sidebar-icon{
    width:22px;
    height:22px;
    color:#A98435;
    opacity:.96;
}
.rsd-fp-nav-item .rsd-sidebar-icon svg{
    width:22px;
    height:22px;
    display:block;
    stroke:currentColor;
}
.rsd-fp-nav-item:hover .rsd-sidebar-icon,
.rsd-fp-profile-link:hover .rsd-sidebar-icon,
.rsd-fp-logout:hover .rsd-sidebar-icon{
    color:#8F7138;
}
.rsd-fp-nav-item.active .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-nav-item.active .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-nav-item.active .rsd-sidebar-icon svg{
    color:#fff !important;
    stroke:#fff !important;
}
.rsd-fp-sidebar-header .rsd-fp-logo{
    letter-spacing:.02em;
    font-weight:800;
}

/* Sidebar monochrome state — v1.4.5 */
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item > span:not(.rsd-icon),
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-profile-link,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-logout {
    color:#111111 !important;
}
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item .rsd-sidebar-icon svg,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-profile-link .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-logout .rsd-sidebar-icon {
    color:#111111 !important;
    stroke:#111111 !important;
}
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item:hover,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item:hover > span:not(.rsd-icon),
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-profile-link:hover,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-logout:hover,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item:hover .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item:hover .rsd-sidebar-icon svg {
    color:#111111 !important;
    stroke:#111111 !important;
}
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item.active,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item.active > span,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item.active .rsd-sidebar-icon,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item.active .rsd-sidebar-icon svg,
.rsd-fp-portal .rsd-fp-sidebar .rsd-fp-nav-item.active * {
    color:#ffffff !important;
    stroke:#ffffff !important;
}

/* =========================================================
   UNIFIED OUTLINE ICON SYSTEM — v1.4.6
   One visual language across the whole client portal.
========================================================= */
.rsd-line-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:inherit;
    vertical-align:-.16em;
    line-height:1;
}
.rsd-line-icon svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
    stroke:currentColor;
    fill:none;
}
.rsd-inline-icon{
    width:1.05em;
    height:1.05em;
    margin-inline:2px 5px;
    vertical-align:-.18em;
}
.rsd-heading-icon{
    width:22px;
    height:22px;
    color:#111!important;
    margin-inline-end:7px;
    vertical-align:-.2em;
}
.rsd-icon-glyph{width:1em;height:1em}
.rsd-fp-main .stat-icon,
.rsd-fp-main .rsd-card-icon,
.rsd-fp-main .rsd-list-icon,
.rsd-fp-main .upload-icon,
.rsd-fp-main .rsd-service-icon,
.rsd-fp-main .rsd-empty-icon,
.rsd-fp-header .search-icon,
.rsd-fp-header .rsd-notif-icon,
.rsd-fp-header .rsd-notif-empty-icon{
    font-family:inherit!important;
}
.rsd-fp-main .stat-icon .rsd-line-icon,
.rsd-fp-main .rsd-card-icon .rsd-line-icon,
.rsd-fp-main .rsd-list-icon .rsd-line-icon,
.rsd-fp-main .upload-icon .rsd-line-icon,
.rsd-fp-main .rsd-service-icon .rsd-line-icon,
.rsd-fp-main .rsd-empty-icon .rsd-line-icon,
.rsd-fp-header .search-icon .rsd-line-icon,
.rsd-fp-header .rsd-notif-icon .rsd-line-icon,
.rsd-fp-header .rsd-notif-empty-icon .rsd-line-icon{
    color:#111;
}
.rsd-fp-main .rsd-card-icon,
.rsd-fp-main .stat-icon{
    color:#111!important;
}
.rsd-fp-main .rsd-service-icon{
    color:#111!important;
    background:#F7F1E6!important;
    border:1px solid #E8DCC2;
}
.rsd-service-svg-icon{width:28px;height:28px;color:#111!important}
.rsd-fp-main .rsd-list-icon{
    color:#111;
}
.rsd-fp-main .rsd-empty-icon{
    color:#A98435!important;
}
.rsd-fp-main .upload-icon{
    color:#A98435!important;
}
.rsd-fp-main .upload-icon .rsd-line-icon,
.rsd-fp-main .rsd-empty-icon .rsd-line-icon{
    color:inherit!important;
}
.rsd-btn{
    gap:6px;
}
.rsd-btn .rsd-line-icon{
    color:currentColor!important;
}
.rsd-btn-primary .rsd-line-icon,
.rsd-btn-danger .rsd-line-icon,
.rsd-fp-nav-item.active .rsd-line-icon,
.rsd-tab.active .rsd-line-icon{
    color:#fff!important;
}
.rsd-btn-light .rsd-line-icon,
.rsd-btn-outline .rsd-line-icon{
    color:currentColor!important;
}
.rsd-calendar-event-icon{
    width:12px;
    height:12px;
    margin-inline-end:4px;
    color:currentColor!important;
    vertical-align:-.12em;
}
.rsd-fp-notif-btn .rsd-line-icon,
.rsd-fp-header .search-icon .rsd-line-icon{
    color:#111!important;
}
.rsd-notif-dismiss .rsd-line-icon{
    color:#111!important;
}
.rsd-modal-close .rsd-line-icon{
    color:#111!important;
}
.rsd-calendar-nav .rsd-line-icon,
.rsd-cal-nav-btn .rsd-line-icon{
    color:currentColor!important;
}
.rsd-heart-icon{
    color:#B8954B!important;
    margin:0 3px;
}
.rsd-fp-footer-info .rsd-heart-icon svg,
.rsd-fp-version .rsd-heart-icon svg{
    stroke:#B8954B!important;
}
.rsd-current-doc-preview .rsd-line-icon{
    color:currentColor!important;
}
.rsd-folder-picker .rsd-inline-icon{
    color:#111!important;
}
.rsd-auth-alert-icon svg{
    display:block;
    stroke:currentColor;
}
@media(max-width:768px){
    .rsd-heading-icon{width:20px;height:20px}
}


/* =========================================================
   BOOKING CALENDAR BRAND COLOR LOCK — v1.4.8
   Prevent theme/button styles from injecting pink/red into
   both public booking and logged-in meeting calendars.
========================================================= */
.rsd-public-booking-wrap,
#rsd-meeting-modal .rsd-gregorian-scheduler{
    --rsd-booking-primary:#B8954B;
    --rsd-booking-primary-dark:#8A6A2B;
    --rsd-booking-primary-soft:#D8C186;
    --rsd-booking-pale:#F6F0E2;
    --rsd-booking-border:#E9DFC9;
    --rsd-booking-text:#342B1D;
    --rsd-booking-muted:#8B7C60;
}

/* Month navigation */
.rsd-public-booking-wrap .rsd-calendar-nav,
#rsd-meeting-modal .rsd-calendar-nav{
    color:var(--rsd-booking-primary-dark)!important;
    border-color:var(--rsd-booking-primary-soft)!important;
    background:#fff!important;
    box-shadow:none!important;
    outline:none!important;
}
.rsd-public-booking-wrap .rsd-calendar-nav:hover:not(:disabled),
.rsd-public-booking-wrap .rsd-calendar-nav:focus-visible:not(:disabled),
#rsd-meeting-modal .rsd-calendar-nav:hover:not(:disabled),
#rsd-meeting-modal .rsd-calendar-nav:focus-visible:not(:disabled){
    color:var(--rsd-booking-primary-dark)!important;
    border-color:var(--rsd-booking-primary)!important;
    background:var(--rsd-booking-pale)!important;
    box-shadow:0 0 0 3px rgba(184,149,75,.12)!important;
}

/* Calendar cells */
.rsd-public-booking-wrap .rsd-calendar-day,
#rsd-meeting-modal .rsd-calendar-day{
    color:var(--rsd-booking-text)!important;
    border-color:#EEE5D5!important;
    background:#fff!important;
    box-shadow:none!important;
    outline:none!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-available,
#rsd-meeting-modal .rsd-calendar-day.is-available{
    color:var(--rsd-booking-text)!important;
    border-color:var(--rsd-booking-primary-soft)!important;
    background:#FFFEFB!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-available small,
#rsd-meeting-modal .rsd-calendar-day.is-available small{
    color:var(--rsd-booking-primary-dark)!important;
    opacity:.82!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-available:hover,
.rsd-public-booking-wrap .rsd-calendar-day.is-available:focus-visible,
#rsd-meeting-modal .rsd-calendar-day.is-available:hover,
#rsd-meeting-modal .rsd-calendar-day.is-available:focus-visible{
    color:var(--rsd-booking-primary-dark)!important;
    border-color:var(--rsd-booking-primary)!important;
    background:var(--rsd-booking-pale)!important;
    box-shadow:0 5px 14px rgba(184,149,75,.12)!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-unavailable,
#rsd-meeting-modal .rsd-calendar-day.is-unavailable{
    color:#B8AE9C!important;
    border-color:#F1ECE1!important;
    background:#F8F6F1!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-unavailable small,
#rsd-meeting-modal .rsd-calendar-day.is-unavailable small{
    color:#B8AE9C!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-selected,
#rsd-meeting-modal .rsd-calendar-day.is-selected{
    color:#fff!important;
    border-color:var(--rsd-booking-primary)!important;
    background:linear-gradient(135deg,var(--rsd-booking-primary),var(--rsd-booking-primary-dark))!important;
    box-shadow:0 7px 18px rgba(184,149,75,.24)!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-selected small,
.rsd-public-booking-wrap .rsd-calendar-day.is-selected .rsd-calendar-day-number,
#rsd-meeting-modal .rsd-calendar-day.is-selected small,
#rsd-meeting-modal .rsd-calendar-day.is-selected .rsd-calendar-day-number{
    color:#fff!important;
    opacity:1!important;
}
.rsd-public-booking-wrap .rsd-calendar-day.is-today:not(.is-selected)::after,
#rsd-meeting-modal .rsd-calendar-day.is-today:not(.is-selected)::after{
    color:var(--rsd-booking-primary-dark)!important;
    background:var(--rsd-booking-pale)!important;
    border:1px solid var(--rsd-booking-primary-soft)!important;
}

/* Time slots */
.rsd-public-booking-wrap .rsd-slot-btn,
.rsd-public-booking-wrap .rsd-slot-btn-calendar,
#rsd-meeting-modal .rsd-slot-btn,
#rsd-meeting-modal .rsd-slot-btn-calendar{
    color:var(--rsd-booking-text)!important;
    border-color:var(--rsd-booking-primary-soft)!important;
    background:#fff!important;
    box-shadow:none!important;
    outline:none!important;
}
.rsd-public-booking-wrap .rsd-slot-btn strong,
.rsd-public-booking-wrap .rsd-slot-btn small,
#rsd-meeting-modal .rsd-slot-btn strong,
#rsd-meeting-modal .rsd-slot-btn small{
    color:inherit!important;
}
.rsd-public-booking-wrap .rsd-slot-btn:hover,
.rsd-public-booking-wrap .rsd-slot-btn:focus-visible,
#rsd-meeting-modal .rsd-slot-btn:hover,
#rsd-meeting-modal .rsd-slot-btn:focus-visible{
    color:var(--rsd-booking-primary-dark)!important;
    border-color:var(--rsd-booking-primary)!important;
    background:var(--rsd-booking-pale)!important;
    box-shadow:0 0 0 3px rgba(184,149,75,.10)!important;
}
.rsd-public-booking-wrap .rsd-slot-btn.active,
#rsd-meeting-modal .rsd-slot-btn.active{
    color:#fff!important;
    border-color:var(--rsd-booking-primary)!important;
    background:linear-gradient(135deg,var(--rsd-booking-primary),var(--rsd-booking-primary-dark))!important;
    box-shadow:0 6px 16px rgba(184,149,75,.20)!important;
}
.rsd-public-booking-wrap .rsd-slot-btn.active strong,
.rsd-public-booking-wrap .rsd-slot-btn.active small,
#rsd-meeting-modal .rsd-slot-btn.active strong,
#rsd-meeting-modal .rsd-slot-btn.active small{
    color:#fff!important;
}

/* Selected label, count pill and legend */
.rsd-public-booking-wrap .rsd-selected-slot.has-value,
#rsd-meeting-modal .rsd-selected-slot.has-value{
    color:var(--rsd-booking-primary-dark)!important;
    border-color:var(--rsd-booking-primary-soft)!important;
    background:var(--rsd-booking-pale)!important;
}
.rsd-public-booking-wrap .rsd-slot-count,
#rsd-meeting-modal .rsd-slot-count{
    color:var(--rsd-booking-primary-dark)!important;
    background:var(--rsd-booking-pale)!important;
}
.rsd-public-booking-wrap .rsd-calendar-legend i.is-available,
#rsd-meeting-modal .rsd-calendar-legend i.is-available{
    border-color:var(--rsd-booking-primary)!important;
}
.rsd-public-booking-wrap .rsd-calendar-legend i.is-selected,
#rsd-meeting-modal .rsd-calendar-legend i.is-selected{
    background:var(--rsd-booking-primary)!important;
}

/* Prevent theme-level pink/red typography in scheduler */
.rsd-public-booking-wrap .rsd-gregorian-calendar button,
.rsd-public-booking-wrap .rsd-booking-slots-panel button,
#rsd-meeting-modal .rsd-gregorian-calendar button,
#rsd-meeting-modal .rsd-booking-slots-panel button{
    text-decoration:none!important;
    text-shadow:none!important;
}


/* Public booking hero contrast + meta icon fix — v1.4.9 */
.rsd-public-booking-wrap .rsd-public-booking-hero p{
    color:#5F523D!important;
    opacity:1!important;
    text-shadow:none!important;
    font-weight:500!important;
}
.rsd-public-booking-wrap .rsd-booking-meta{
    color:#2F2A22!important;
}
.rsd-public-booking-wrap .rsd-booking-meta > span{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    color:#2F2A22!important;
    background:#fff!important;
    border:1px solid #E2D3B3!important;
    box-shadow:0 2px 8px rgba(70,58,36,.03)!important;
    padding:9px 12px!important;
    border-radius:11px!important;
    font-size:13px!important;
    line-height:1.6!important;
}
.rsd-public-booking-wrap .rsd-booking-meta > span > .rsd-line-icon,
.rsd-public-booking-wrap .rsd-booking-meta > span > .rsd-inline-icon{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    flex:0 0 17px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#A78337!important;
    opacity:1!important;
}
.rsd-public-booking-wrap .rsd-booking-meta > span > .rsd-line-icon svg,
.rsd-public-booking-wrap .rsd-booking-meta > span > .rsd-inline-icon svg{
    display:block!important;
    width:17px!important;
    height:17px!important;
    fill:none!important;
    stroke:#A78337!important;
    stroke-width:1.75!important;
    opacity:1!important;
}
@media(max-width:760px){
    .rsd-public-booking-wrap .rsd-booking-meta > span{
        width:100%!important;
        justify-content:flex-start!important;
    }
}


/* =========================================================
   PROFILE PHOTO + PASSWORD SETTINGS — v1.5.0
========================================================= */
.rsd-profile-modal-card{max-width:720px!important;width:min(720px,calc(100vw - 28px))}
.rsd-fp-avatar img,.rsd-chat-avatar img,.rsd-profile-photo-preview img{width:100%;height:100%;display:block;object-fit:cover}
.rsd-chat-avatar{overflow:hidden}
.rsd-profile-photo-editor{display:flex;align-items:center;gap:18px;padding:14px;margin-bottom:18px;border:1px solid var(--rsd-border,#E9DFC9);border-radius:14px;background:#FCFAF5}
.rsd-profile-photo-preview{width:88px;height:88px;min-width:88px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#B8954B,#8A6A2B);color:#fff;font-size:28px;font-weight:800;box-shadow:0 6px 18px rgba(184,149,75,.18);border:3px solid #fff}
.rsd-profile-photo-actions{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.rsd-profile-photo-actions>strong{font-size:14px;color:var(--rsd-text,#342B1D)}
.rsd-profile-photo-note{font-size:11px;color:var(--rsd-text-soft,#8B7C60);line-height:1.7}
.rsd-profile-photo-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px}
.rsd-profile-upload-btn{cursor:pointer!important;display:inline-flex!important;align-items:center;gap:6px}
.rsd-profile-remove-photo{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#6B6255;cursor:pointer}
.rsd-profile-remove-photo input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;accent-color:var(--rsd-primary,#B8954B)}
.rsd-profile-section{padding-top:4px;margin-top:4px}
.rsd-profile-section+.rsd-profile-section{border-top:1px solid var(--rsd-border,#E9DFC9);padding-top:16px;margin-top:16px}
.rsd-profile-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--rsd-text,#342B1D);margin-bottom:12px}
.rsd-profile-section-title .rsd-line-icon{color:var(--rsd-primary-dark,#8A6A2B)}
.rsd-profile-section-title small{font-size:10px;font-weight:500;color:var(--rsd-text-soft,#8B7C60);background:#F6F0E2;border-radius:20px;padding:2px 7px}
.rsd-profile-password-section input[type="password"]{direction:ltr;text-align:left}
@media(max-width:640px){.rsd-profile-photo-editor{align-items:flex-start;gap:12px}.rsd-profile-photo-preview{width:70px;height:70px;min-width:70px;font-size:23px}.rsd-profile-photo-buttons{align-items:flex-start;flex-direction:column}.rsd-profile-modal-card{width:calc(100vw - 16px)!important}}

/* Meeting times and archive bulk actions */
.rsd-meeting-time{display:block;font-size:11px;line-height:1.6;margin-top:4px;direction:rtl;unicode-bidi:plaintext}.rsd-cal-event .rsd-meeting-time{color:inherit;opacity:.95}.rsd-bulk-toolbar button{white-space:nowrap}.rsd-doc-check,#rsd-doc-select-all{accent-color:#a48340;width:17px;height:17px;cursor:pointer}
