﻿/* AAuJob - View-specific Styles (extracted from inline <style>) */

/* === Account/Profile === */
.profile-card { border: 1px solid var(--border-color); border-radius: var(--border-radius-xl); box-shadow: var(--shadow-sm); transition: all 0.3s ease; }
    .profile-card:hover { box-shadow: var(--shadow-md); }
    .form-control, .form-select { border-radius: 0.5rem; padding: 0.7rem 1rem; border-color: #d1d5db; transition: all 0.2s; }
    .form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 4px var(--primary-light); }
    .nav-btn { text-align: left; padding: 0.8rem 1.25rem; font-weight: 500; border-radius: 0.5rem; display: flex; align-items: center; transition: all 0.2s; margin-bottom: 0.75rem; border: none; }
    .nav-btn i { width: 24px; text-align: center; margin-right: 0.75rem; font-size: 1.1rem; }
    .nav-btn.primary { background: #fff0f0; color: #A11D21; }
    .nav-btn.primary:hover { background: #fecaca; transform: translateX(3px); }
    .nav-btn.danger { background: #fef2f2; color: #ef4444; }
    .nav-btn.danger:hover { background: #fee2e2; transform: translateX(3px); }
    .nav-btn.secondary { background: #f3f4f6; color: #4b5563; }
    .nav-btn.secondary:hover { background: #e5e7eb; transform: translateX(3px); }
    .avatar-wrapper { position: relative; width: 140px; height: 140px; margin: 0 auto; }
    .avatar-img { width: 140px; height: 140px; object-fit: cover; border-radius: 50%; border: 4px solid #fff; box-shadow: var(--shadow-md); }
    .avatar-initial { width: 140px; height: 140px; font-size: 54px; border-radius: 50%; border: 4px solid #fff; box-shadow: var(--shadow-md); display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: white; }

/* === Admin/Analytics === */
.text-purple { color: #8b5cf6 !important; }

/* === Admin/ArticleEdit === */
.note-editor.note-frame { border: none !important; border-radius: 0 !important; }
    .note-editor .note-toolbar { background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 8px 12px; }
    .note-editor .note-editing-area .note-editable { 
        font-family: 'Inter', -apple-system, sans-serif; font-size: 15px; line-height: 1.8; padding: 20px; 
        min-height: 500px; max-width: 900px; margin: 0 auto;
    }
    .note-editor .note-editing-area .note-editable img { max-width: 100%; height: auto; border-radius: 8px; }
    .note-editor .note-editing-area .note-editable blockquote { border-left: 4px solid #A11D21; padding: 12px 20px; margin: 16px 0; background: #fff9f9; font-style: italic; }
    .note-editor .note-editing-area .note-editable pre { background: #1e293b; color: #e2e8f0; padding: 16px; border-radius: 8px; overflow-x: auto; }
    .note-editor .note-editing-area .note-editable code { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; }
    .note-editor .note-editing-area .note-editable table { border-collapse: collapse; width: 100%; }
    .note-editor .note-editing-area .note-editable table td, .note-editor .note-editing-area .note-editable table th { border: 1px solid #e2e8f0; padding: 8px 12px; }
    .note-editor .note-editing-area .note-editable table th { background: #f8fafc; }
    .note-modal-backdrop { display: none !important; }

/* === Admin/Candidates === */
.plan-btn-hover {
        transition: all 0.2s ease-in-out;
    }
    .plan-btn-hover:hover {
        background-color: #f8f9fa !important;
        border-color: #198754 !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    }

/* === Admin/Companies === */
.plan-btn-hover {
        transition: all 0.2s ease-in-out;
    }
    .plan-btn-hover:hover {
        background-color: #f8f9fa !important;
        border-color: #0d6efd !important;
        transform: translateY(-2px);
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    }

/* === Admin/Jobs === */
.applicant-row { background: #f8fafc; }
    .applicant-panel { display: none; }
    .applicant-panel.show { display: table-row; }
    .app-status-badge { font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: 600; }
    .cv-btn { font-size: 12px; padding: 3px 10px; border-radius: 6px; }
    .app-count-chip {
        display: inline-flex; align-items: center; gap: 4px;
        background: #fff0f0; color: #A11D21; border-radius: 20px;
        font-size: 12px; font-weight: 700; padding: 2px 10px; cursor: pointer;
        border: none; transition: background .15s;
    }
    .app-count-chip:hover { background: #fecaca; }
    .app-count-chip.has-new { background: #fef3c7; color: #d97706; }

/* === Communication/Chat === */
.chat-layout { height: calc(100vh - 200px); min-height: 500px; }
    .channel-list { max-height: 100%; overflow-y: auto; }
    .channel-item { cursor: pointer; border: none; border-radius: 0.5rem; transition: all 0.2s; }
    .channel-item:hover { background: #f0f4ff; }
    .channel-item.active { background: var(--bs-primary); color: #fff !important; }
    .channel-item.active .text-muted { color: rgba(255,255,255,0.7) !important; }
    .chat-messages { flex: 1; overflow-y: auto; padding: 1rem; }
    .chat-msg { display: flex; gap: 0.75rem; margin-bottom: 1rem; }
    .chat-msg .avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
    .chat-msg .avatar-placeholder { width: 36px; height: 36px; border-radius: 50%; background: #e9ecef; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-weight: 600; color: #6c757d; font-size: 0.8rem; }
    .chat-msg .msg-body { flex: 1; }
    .chat-msg .sender { font-weight: 600; font-size: 0.85rem; }
    .chat-msg .time { font-size: 0.7rem; color: #adb5bd; margin-left: 0.5rem; }
    .chat-msg .content { font-size: 0.9rem; background: #f8f9fa; padding: 0.5rem 0.75rem; border-radius: 0.5rem; display: inline-block; max-width: 100%; word-break: break-word; }
    .chat-input-area { border-top: 1px solid #e9ecef; padding: 0.75rem 1rem; }
    .no-channel { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #adb5bd; }

/* === Company/CreateJob === */
.cj-hero {
        background: linear-gradient(135deg, #A11D21 0%, #0f172a 100%);
        padding: 2.5rem 0 2rem;
        margin-bottom: 2rem;
        color: #fff;
    }
    .cj-hero .breadcrumb-item a { color: rgba(255,255,255,.75); text-decoration: none; }
    .cj-hero .breadcrumb-item.active { color: #fff; }
    .cj-hero .breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,.5); }
    .cj-hero h1 { font-size: 1.8rem; font-weight: 700; margin-bottom: .25rem; }
    .cj-hero p { opacity: .85; margin: 0; font-size: .95rem; }
    .cj-body-wrap { background: #f5f5f5; min-height: 60vh; padding-bottom: 3rem; }
    .cj-card {
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 2px 14px rgba(0,0,0,.06);
        padding: 1.75rem 2rem;
        margin-bottom: 1.5rem;
    }
    .cj-section-label {
        display: flex; align-items: center; gap: .6rem;
        font-size: 1.05rem; font-weight: 700; color: #0f172a;
        padding-bottom: .85rem; margin-bottom: 1.25rem;
        border-bottom: 2px solid #f3f4f6;
    }
    .cj-section-label .icon-circle {
        width: 34px; height: 34px; border-radius: 50%;
        background: #fff0f0; display: flex; align-items: center;
        justify-content: center; font-size: 1rem; color: #A11D21; flex-shrink: 0;
    }
    .cj-field label { font-size: .87rem; font-weight: 600; color: #374151; margin-bottom: .35rem; }
    .cj-field .form-control, .cj-field .form-select {
        border-radius: 9px; border: 1.5px solid #e5e7eb;
        font-size: .93rem; transition: border-color .18s, box-shadow .18s; padding: .55rem .9rem;
    }
    .cj-field .form-control:focus, .cj-field .form-select:focus {
        border-color: #A11D21; box-shadow: 0 0 0 3px rgba(161,29,33,.1);
    }
    .cj-field textarea.form-control { min-height: 130px; resize: vertical; }
    .required-star { color: #dc2626; margin-left: 3px; }
    .salary-options { display: flex; gap: .6rem; margin-bottom: 1rem; flex-wrap: wrap; }
    .salary-option {
        padding: .5rem 1.2rem; border: 2px solid #e5e7eb; border-radius: 30px;
        font-size: .88rem; font-weight: 600; color: #4b5563; cursor: pointer;
        transition: all .18s; background: #fff; user-select: none;
    }
    .salary-option.active { background: #A11D21; border-color: #A11D21; color: #fff; }
    .salary-option:hover:not(.active) { border-color: #A11D21; color: #A11D21; background: #fff0f0; }
    #skillTagsDisplay {
        display: flex; flex-wrap: wrap; gap: .4rem; min-height: 40px;
        padding: .5rem .75rem; border: 1.5px solid #e5e7eb; border-radius: 9px;
        background: #f9fafb; cursor: text; align-content: flex-start;
    }
    .skill-tag {
        background: #fff0f0; color: #A11D21; border-radius: 20px;
        padding: .22rem .75rem; font-size: .82rem; font-weight: 600;
        display: flex; align-items: center; gap: .4rem;
    }
    .skill-tag .rm { cursor: pointer; opacity: .7; font-size: .9rem; }
    .skill-tag .rm:hover { opacity: 1; color: #dc2626; }
    #skillInput {
        border: none; outline: none; background: transparent;
        font-size: .88rem; min-width: 120px; flex: 1; padding: .1rem .25rem;
    }
    .cj-sidebar { position: sticky; top: 80px; }
    .cj-preview-card {
        background: #fff; border-radius: 14px;
        box-shadow: 0 2px 14px rgba(30,50,120,.07);
        padding: 1.4rem 1.5rem; margin-bottom: 1.25rem;
    }
    .cj-preview-card .preview-title { font-weight: 700; font-size: 1rem; color: #111827; margin-bottom: .15rem; min-height: 22px; }
    .cj-preview-card .preview-meta span { font-size: .8rem; color: #6b7280; margin-right: .9rem; }
    .cj-preview-card .preview-salary { font-size: .92rem; font-weight: 700; color: #059669; margin: .5rem 0 .6rem; }
    .cj-preview-card .preview-badge { font-size: .76rem; padding: .22rem .65rem; border-radius: 20px; font-weight: 600; }
    .cj-checklist { list-style: none; padding: 0; margin: 0; }
    .cj-checklist li { display: flex; align-items: flex-start; gap: .55rem; font-size: .85rem; color: #374151; margin-bottom: .55rem; }
    .cj-checklist li .ck-icon {
        width: 19px; height: 19px; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: .72rem; flex-shrink: 0; margin-top: 1px; transition: all .2s;
    }
    .cj-checklist li.done .ck-icon { background: #d1fae5; color: #059669; }
    .cj-checklist li:not(.done) .ck-icon { background: #f3f4f6; color: #d1d5db; border: 1.5px solid #e5e7eb; }
    .cj-tip-card { background: linear-gradient(135deg,#fff0f0,#fecaca22); border-radius: 12px; padding: 1.1rem 1.3rem; border-left: 4px solid #A11D21; }
    .cj-tip-card h6 { font-size: .87rem; font-weight: 700; color: #7f1417; margin-bottom: .65rem; }
    .cj-tip { display: flex; gap: .5rem; font-size: .82rem; color: #374151; margin-bottom: .45rem; }
    .cj-tip .tip-dot { width: 6px; height: 6px; border-radius: 50%; background: #A11D21; flex-shrink: 0; margin-top: 5px; }
    .cj-submit-row {
        background: #fff; border-radius: 14px; box-shadow: 0 2px 14px rgba(0,0,0,.06);
        padding: 1.25rem 2rem; display: flex; align-items: center;
        justify-content: space-between; gap: 1rem; flex-wrap: wrap;
    }
    .btn-publish {
        background: linear-gradient(135deg,#A11D21,#7f1417); border: none; border-radius: 9px;
        color: #fff; font-weight: 700; font-size: .97rem; padding: .65rem 2rem;
        transition: all .2s; box-shadow: 0 4px 14px rgba(161,29,33,.3);
    }
    .btn-publish:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(161,29,33,.45); color: #fff; }
    .btn-preview-open {
        border: 2px solid #A11D21; border-radius: 9px; color: #A11D21; background: #fff;
        font-weight: 600; font-size: .92rem; padding: .6rem 1.5rem; transition: all .18s;
    }
    .btn-preview-open:hover { background: #fff0f0; }
    .form-check-input.urgent-switch { width: 42px; height: 22px; cursor: pointer; }
    .modal-preview .modal-header { background: linear-gradient(135deg,#A11D21,#0f172a); color: #fff; border-radius: 12px 12px 0 0; }
    .modal-preview .modal-header .btn-close { filter: invert(1); }
    .badge-urgent { background: #fee2e2; color: #dc2626; font-size: .78rem; font-weight: 700; padding: .28rem .75rem; border-radius: 20px; }

/* === Company/Dashboard === */
.portal-sidebar { background: #fff; border-right: 1px solid var(--border-color, #e5e7eb); min-height: calc(100vh - 70px); padding: 1.5rem 0; }
.portal-sidebar .nav-link { color: #4B5563; padding: 0.75rem 1.5rem; border-radius: 0 2rem 2rem 0; margin-right: 1rem; font-size: 0.875rem; font-weight: 500; transition: all 0.2s ease; display: flex; align-items: center; gap: 0; }
.portal-sidebar .nav-link:hover { background: #fff0f0; color: #A11D21; padding-left: 1.75rem; }
.portal-sidebar .nav-link.active { background: #fff0f0; color: #A11D21; font-weight: 600; border-left: 4px solid #A11D21; padding-left: calc(1.5rem - 4px); }
.portal-sidebar .nav-link i { width: 24px; text-align: center; margin-right: 10px; font-size: 1rem; }
.portal-nav-section { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; color: #9CA3AF; padding: 1.25rem 1.5rem 0.4rem; text-transform: uppercase; display: block; }
.stat-card { border-radius: var(--border-radius-xl, 1rem); border: 1px solid var(--border-color, #e5e7eb); background: #fff; box-shadow: var(--shadow-sm); transition: all 0.2s ease; overflow: hidden; position: relative; }
.stat-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: var(--primary); opacity: 0; transition: opacity 0.2s ease; }
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--primary-light); }
.stat-card:hover::before { opacity: 1; }
.pkg-card { border-radius: var(--border-radius-xl, 1rem); border: none; background: linear-gradient(135deg, var(--primary, #A11D21), var(--primary-dark, #7f1417)); color: #fff; box-shadow: var(--shadow-md); position: relative; overflow: hidden; }
.pkg-card::after { content: ''; position: absolute; top: -50px; right: -50px; width: 100px; height: 100px; background: rgba(255,255,255,0.1); border-radius: 50%; }
.dashboard-header-bg { background: linear-gradient(to right, #f9fafb, #fff0f0); border-radius: var(--border-radius-xl, 1rem); padding: 2rem; margin-bottom: 2rem; border: 1px solid rgba(161,29,33,.1); }
@media(max-width:991px) { .portal-sidebar { display:none!important; } }

/* === Company/Jobs === */
.jobs-action-btn {
        display: inline-flex; align-items: center; gap: .3rem;
        padding: .35rem .75rem; border-radius: 7px; font-size: .8rem;
        font-weight: 600; text-decoration: none; border: none; cursor: pointer;
        transition: all .15s;
    }
    .jobs-action-btn.edit { background: #fff0f0; color: #A11D21; }
    .jobs-action-btn.edit:hover { background: #fce7e7; color: #7f1417; }
    .jobs-action-btn.view { background: #f0fdf4; color: #15803d; }
    .jobs-action-btn.view:hover { background: #dcfce7; color: #166534; }
    .jobs-action-btn.delete { background: #fff1f2; color: #dc2626; }
    .jobs-action-btn.delete:hover { background: #fee2e2; color: #b91c1c; }
    .jobs-action-btn.pause { background: #fefce8; color: #a16207; }
    .jobs-action-btn.pause:hover { background: #fef9c3; color: #854d0e; }
    .jobs-action-btn.resume { background: #f0fdf4; color: #15803d; }
    .jobs-action-btn.resume:hover { background: #dcfce7; color: #166534; }
    .jobs-action-btn i { font-size: .82rem; }
    .job-actions { display: flex; gap: .4rem; flex-wrap: nowrap; align-items: center; }

/* === Company/Manage === */
.section-card { border: none; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.06); margin-bottom: 1.5rem; }
.section-card .card-header { background: transparent; border-bottom: 1px solid #f0f0f0; padding: 1rem 1.5rem .75rem; }
.section-card .card-body { padding: 1.5rem; }
.cover-preview-box { width:100%; height:150px; border-radius:10px; border:2px dashed #dee2e6; background:#f8f9fa; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.cover-preview-box img { width:100%; height:150px; object-fit:cover; }
.logo-preview-box { width:88px; height:88px; border-radius:10px; border:1px solid #dee2e6; background:#f8f9fa; overflow:hidden; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.logo-preview-box img { width:88px; height:88px; object-fit:contain; }

/* === Cv/Edit === */
/* NOTE: body & * rules removed — Cv/Edit uses Layout=null and loads its own inline styles */

        /* === LEFT SIDEBAR === */
        .cv-sidebar { position:fixed; left:0; top:0; width:90px; height:100vh; background:#1e1e2d; z-index:100; display:flex; flex-direction:column; align-items:center; padding-top:12px; }
        .cv-sidebar .sidebar-icon { width:60px; height:54px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#8b8fa7; cursor:pointer; border-radius:10px; margin-bottom:4px; font-size:0.65rem; transition:all 0.2s; text-decoration:none; }
        .cv-sidebar .sidebar-icon i { font-size:1.1rem; margin-bottom:3px; }
        .cv-sidebar .sidebar-icon:hover, .cv-sidebar .sidebar-icon.active { background:rgba(255,255,255,0.1); color:#fff; }
        .cv-sidebar .sidebar-logo { color:#fff; font-weight:700; font-size:1rem; margin-bottom:16px; text-decoration:none; }

        /* === LEFT PANEL (form inputs) === */
        .cv-panel { position:fixed; left:90px; top:0; width:380px; height:100vh; background:#fff; border-right:1px solid #e5e7eb; overflow-y:auto; z-index:90; }
        .cv-panel::-webkit-scrollbar { width:5px; }
        .cv-panel::-webkit-scrollbar-thumb { background:#ccc; border-radius:3px; }
        .panel-header { padding:16px 20px; border-bottom:1px solid #eee; background:#fafbfc; position:sticky; top:0; z-index:10; }
        .panel-section { padding:16px 20px; border-bottom:1px solid #f0f0f0; }
        .panel-section h6 { font-size:0.85rem; font-weight:700; color:#1e1e2d; margin-bottom:12px; }
        .panel-section .form-label { font-size:0.78rem; font-weight:600; color:#555; margin-bottom:3px; }
        .panel-section .form-control, .panel-section .form-select { font-size:0.82rem; border-radius:8px; }
        .panel-section .form-control:focus { border-color:#A11D21; box-shadow:0 0 0 3px rgba(161,29,33,0.1); }

        /* Section items */
        .section-item { background:#f8fafc; border:1px solid #eee; border-radius:10px; padding:12px; margin-bottom:10px; position:relative; }
        .section-item .remove-item { position:absolute; top:6px; right:8px; cursor:pointer; color:#dc3545; font-size:0.8rem; }
        .add-item-btn { border:2px dashed #ccc; border-radius:10px; padding:10px; text-align:center; cursor:pointer; color:#888; transition:all 0.2s; }
        .add-item-btn:hover { border-color:#A11D21; color:#A11D21; background:#fff5f5; }

        /* === RIGHT: CV PREVIEW === */
        .cv-preview-area { margin-left:470px; height:100vh; overflow-y:auto; padding:30px; display:flex; justify-content:center; }
        .cv-preview-area::-webkit-scrollbar { width:6px; }
        .cv-preview-area::-webkit-scrollbar-thumb { background:#bbb; border-radius:3px; }

        /* CV Paper */
        .cv-paper { width:794px; min-height:1123px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.12); position:relative; }

        /* === TOP BAR === */
        .cv-topbar { position:fixed; left:470px; top:0; right:0; height:52px; background:#fff; border-bottom:1px solid #eee; z-index:80; display:flex; align-items:center; padding:0 20px; gap:12px; }
        .cv-topbar .btn { font-size:0.82rem; }
        .cv-preview-area { padding-top:82px; }

        /* === CV TEMPLATE STYLES === */
        .cv-paper .cv-heading { text-transform:uppercase; letter-spacing:1px; font-weight:700; border-bottom:2px solid var(--cv-primary); padding-bottom:6px; margin-bottom:12px; font-size:0.95rem; color:var(--cv-primary); }
        .cv-paper .cv-entry { margin-bottom:10px; }
        .cv-paper .cv-entry-title { font-weight:600; font-size:0.85rem; }
        .cv-paper .cv-entry-sub { font-size:0.78rem; color:#666; }
        .cv-paper .cv-entry-date { font-size:0.75rem; color:#888; }
        .cv-paper .cv-entry-desc { font-size:0.8rem; color:#444; margin-top:4px; }

        /* Classic layout */
        .cv-layout-classic { padding:40px; }
        .cv-layout-classic .cv-header { text-align:center; margin-bottom:24px; padding-bottom:20px; border-bottom:3px solid var(--cv-primary); }
        .cv-layout-classic .cv-header .cv-name { font-size:1.8rem; font-weight:700; color:var(--cv-primary); margin-bottom:4px; }
        .cv-layout-classic .cv-header .cv-jobtitle { font-size:1rem; color:#555; }
        .cv-layout-classic .cv-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; font-size:0.78rem; color:#555; margin-top:10px; }
        .cv-layout-classic .cv-avatar { width:100px; height:100px; border-radius:50%; object-fit:cover; border:3px solid var(--cv-primary); margin:0 auto 10px; }

        /* Modern layout (sidebar) */
        .cv-layout-modern { display:flex; min-height:1123px; }
        .cv-layout-modern .cv-left { width:260px; background:var(--cv-primary); color:#fff; padding:30px 20px; }
        .cv-layout-modern .cv-right { flex:1; padding:30px; }
        .cv-layout-modern .cv-left .cv-name { font-size:1.3rem; font-weight:700; margin-bottom:4px; }
        .cv-layout-modern .cv-left .cv-jobtitle { font-size:0.85rem; opacity:0.85; margin-bottom:16px; }
        .cv-layout-modern .cv-left .cv-avatar { width:120px; height:120px; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,0.4); margin:0 auto 16px; display:block; }
        .cv-layout-modern .cv-left .cv-heading { color:#fff; border-bottom-color:rgba(255,255,255,0.3); font-size:0.85rem; }
        .cv-layout-modern .cv-left .cv-contact-item { font-size:0.75rem; margin-bottom:6px; display:flex; align-items:center; gap:8px; }
        .cv-layout-modern .cv-left .cv-contact-item i { width:16px; text-align:center; }

        /* Minimal layout */
        .cv-layout-minimal { padding:50px 40px; }
        .cv-layout-minimal .cv-header { margin-bottom:24px; }
        .cv-layout-minimal .cv-header .cv-name { font-size:2rem; font-weight:300; letter-spacing:2px; color:#222; }
        .cv-layout-minimal .cv-header .cv-jobtitle { font-size:0.9rem; color:#888; text-transform:uppercase; letter-spacing:3px; }
        .cv-layout-minimal .cv-heading { font-weight:600; font-size:0.8rem; text-transform:uppercase; letter-spacing:2px; color:var(--cv-primary); border-bottom:1px solid #ddd; }

        /* Creative layout */
        .cv-layout-creative { padding:0; }
        .cv-layout-creative .cv-header-banner { background:var(--cv-primary); color:#fff; padding:40px; position:relative; }
        .cv-layout-creative .cv-header-banner .cv-name { font-size:2rem; font-weight:700; }
        .cv-layout-creative .cv-header-banner .cv-jobtitle { font-size:1rem; opacity:0.9; }
        .cv-layout-creative .cv-avatar { width:110px; height:110px; border-radius:50%; object-fit:cover; border:4px solid #fff; position:absolute; right:40px; bottom:-55px; }
        .cv-layout-creative .cv-body { padding:30px 40px; padding-top:70px; }
        .cv-layout-creative .cv-heading { color:var(--cv-primary); }

        /* Corporate layout */
        .cv-layout-corporate { padding:40px; }
        .cv-layout-corporate .cv-header { display:flex; align-items:center; gap:20px; margin-bottom:24px; padding-bottom:20px; border-bottom:3px double var(--cv-primary); }
        .cv-layout-corporate .cv-avatar { width:90px; height:90px; border-radius:8px; object-fit:cover; }
        .cv-layout-corporate .cv-name { font-size:1.6rem; font-weight:700; color:var(--cv-primary); }
        .cv-layout-corporate .cv-jobtitle { font-size:0.9rem; color:#666; }

        /* Student layout */
        .cv-layout-student { padding:30px 35px; }
        .cv-layout-student .cv-header { text-align:center; margin-bottom:20px; }
        .cv-layout-student .cv-avatar { width:90px; height:90px; border-radius:50%; object-fit:cover; border:3px solid var(--cv-primary); margin:0 auto 8px; }
        .cv-layout-student .cv-name { font-size:1.5rem; font-weight:700; color:var(--cv-primary); }
        .cv-layout-student .cv-jobtitle { font-size:0.85rem; color:#666; }
        .cv-layout-student .cv-heading { background:var(--cv-primary); color:#fff; padding:5px 12px; border-radius:4px; border-bottom:none; font-size:0.82rem; }

        /* Skill bar */
        .skill-bar { height:6px; background:#e5e7eb; border-radius:3px; overflow:hidden; }
        .skill-bar-fill { height:100%; border-radius:3px; background:var(--cv-primary); transition:width 0.5s; }

        /* Design panel */
        .color-option { width:28px; height:28px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:all 0.2s; display:inline-block; }
        .color-option:hover, .color-option.active { border-color:#333; transform:scale(1.15); }

        @media print {
            .cv-sidebar, .cv-panel, .cv-topbar { display:none !important; }
            .cv-preview-area { margin:0 !important; padding:0 !important; }
            .cv-paper { box-shadow:none !important; margin:0 !important; }
        }

/* === Cv/Preview === */
/* NOTE: body rule removed — Cv/Preview uses Layout=null with its own inline styles */
        .preview-toolbar { position:fixed; top:0; left:0; right:0; height:52px; background:#fff; border-bottom:1px solid #eee; z-index:100; display:flex; align-items:center; justify-content:center; gap:12px; padding:0 20px; }
        .preview-toolbar .btn { font-size:0.85rem; }
        .preview-container { padding-top:72px; padding-bottom:40px; display:flex; justify-content:center; }
        .cv-paper { width:794px; min-height:1123px; background:#fff; box-shadow:0 4px 20px rgba(0,0,0,0.12); position:relative; }
        .cv-heading { text-transform:uppercase; letter-spacing:1px; font-weight:700; border-bottom:2px solid var(--cv-primary); padding-bottom:6px; margin-bottom:12px; font-size:0.95rem; color:var(--cv-primary); }
        .cv-entry { margin-bottom:10px; }
        .cv-entry-title { font-weight:600; font-size:0.85rem; }
        .cv-entry-sub { font-size:0.78rem; color:#666; }
        .cv-entry-date { font-size:0.75rem; color:#888; }
        .cv-entry-desc { font-size:0.8rem; color:#444; margin-top:4px; }
        .skill-bar { height:6px; background:#e5e7eb; border-radius:3px; overflow:hidden; }
        .skill-bar-fill { height:100%; border-radius:3px; background:var(--cv-primary); }

        /* Reuse same layout CSS from editor */
        .cv-layout-classic { padding:40px; }
        .cv-layout-classic .cv-header { text-align:center; margin-bottom:24px; padding-bottom:20px; border-bottom:3px solid var(--cv-primary); }
        .cv-layout-classic .cv-header .cv-name { font-size:1.8rem; font-weight:700; color:var(--cv-primary); margin-bottom:4px; }
        .cv-layout-classic .cv-header .cv-jobtitle { font-size:1rem; color:#555; }
        .cv-layout-classic .cv-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; font-size:0.78rem; color:#555; margin-top:10px; }
        .cv-layout-classic .cv-avatar { width:100px; height:100px; border-radius:50%; object-fit:cover; border:3px solid var(--cv-primary); margin:0 auto 10px; display:block; }

        .cv-layout-modern { display:flex; min-height:1123px; }
        .cv-layout-modern .cv-left { width:260px; background:var(--cv-primary); color:#fff; padding:30px 20px; }
        .cv-layout-modern .cv-right { flex:1; padding:30px; }
        .cv-layout-modern .cv-left .cv-name { font-size:1.3rem; font-weight:700; margin-bottom:4px; }
        .cv-layout-modern .cv-left .cv-jobtitle { font-size:0.85rem; opacity:0.85; margin-bottom:16px; }
        .cv-layout-modern .cv-left .cv-avatar { width:120px; height:120px; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,0.4); margin:0 auto 16px; display:block; }
        .cv-layout-modern .cv-left .cv-heading { color:#fff; border-bottom-color:rgba(255,255,255,0.3); font-size:0.85rem; }
        .cv-layout-modern .cv-left .cv-contact-item { font-size:0.75rem; margin-bottom:6px; display:flex; align-items:center; gap:8px; }

        .cv-layout-minimal { padding:50px 40px; }
        .cv-layout-minimal .cv-header .cv-name { font-size:2rem; font-weight:300; letter-spacing:2px; color:#222; }
        .cv-layout-minimal .cv-header .cv-jobtitle { font-size:0.9rem; color:#888; text-transform:uppercase; letter-spacing:3px; }
        .cv-layout-minimal .cv-heading { font-weight:600; font-size:0.8rem; text-transform:uppercase; letter-spacing:2px; color:var(--cv-primary); border-bottom:1px solid #ddd; }

        .cv-layout-creative { padding:0; }
        .cv-layout-creative .cv-header-banner { background:var(--cv-primary); color:#fff; padding:40px; position:relative; }
        .cv-layout-creative .cv-header-banner .cv-name { font-size:2rem; font-weight:700; }
        .cv-layout-creative .cv-header-banner .cv-jobtitle { font-size:1rem; opacity:0.9; }
        .cv-layout-creative .cv-avatar { width:110px; height:110px; border-radius:50%; object-fit:cover; border:4px solid #fff; position:absolute; right:40px; bottom:-55px; }
        .cv-layout-creative .cv-body { padding:30px 40px; padding-top:70px; }

        .cv-layout-corporate { padding:40px; }
        .cv-layout-corporate .cv-header { display:flex; align-items:center; gap:20px; margin-bottom:24px; padding-bottom:20px; border-bottom:3px double var(--cv-primary); }
        .cv-layout-corporate .cv-avatar { width:90px; height:90px; border-radius:8px; object-fit:cover; }
        .cv-layout-corporate .cv-name { font-size:1.6rem; font-weight:700; color:var(--cv-primary); }
        .cv-layout-corporate .cv-jobtitle { font-size:0.9rem; color:#666; }

        .cv-layout-student { padding:30px 35px; }
        .cv-layout-student .cv-header { text-align:center; margin-bottom:20px; }
        .cv-layout-student .cv-avatar { width:90px; height:90px; border-radius:50%; object-fit:cover; border:3px solid var(--cv-primary); margin:0 auto 8px; display:block; }
        .cv-layout-student .cv-name { font-size:1.5rem; font-weight:700; color:var(--cv-primary); }
        .cv-layout-student .cv-jobtitle { font-size:0.85rem; color:#666; }
        .cv-layout-student .cv-heading { background:var(--cv-primary); color:#fff; padding:5px 12px; border-radius:4px; border-bottom:none; font-size:0.82rem; }

        @media print {
            .preview-toolbar { display:none !important; }
            .preview-container { padding-top:0 !important; }
            .cv-paper { box-shadow:none !important; }
            /* body { background:#fff; } — removed, Cv/Preview uses Layout=null */
        }

/* === Cv/Templates === */
.template-card:hover { transform: translateY(-6px); box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important; }

/* === Feed/Index === */
/* ── Facebook-style Feed ── */
.fb-feed { max-width:680px; margin:0 auto; padding:20px 0; }
/* ── Stories bar ── */
.fb-stories { display:flex; gap:10px; overflow-x:auto; padding:0 4px 12px; scrollbar-width:none; }
.fb-stories::-webkit-scrollbar { display:none; }
.fb-story-card { min-width:110px; height:180px; border-radius:14px; position:relative; overflow:hidden;
    background:linear-gradient(135deg,#A11D21 0%,#0f172a 100%); cursor:pointer; flex-shrink:0;
    box-shadow:0 2px 8px rgba(0,0,0,.12); transition:transform .2s; }
.fb-story-card:hover { transform:scale(1.03); }
.fb-story-card img { width:100%; height:100%; object-fit:cover; }
.fb-story-label { position:absolute; bottom:0; left:0; right:0; padding:8px 10px;
    background:linear-gradient(transparent, rgba(0,0,0,.7)); color:#fff; font-size:12px; font-weight:600; }
.fb-story-avatar { position:absolute; top:10px; left:10px; width:36px; height:36px; border-radius:50%;
    border:3px solid #A11D21; object-fit:cover; }
/* ── Create post box ── */
.fb-create { background:#fff; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.1); padding:16px; margin-bottom:16px; }
.fb-create-top { display:flex; gap:12px; align-items:center; }
.fb-create-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.fb-create-input { flex:1; background:#f0f2f5; border:none; border-radius:22px; padding:10px 16px;
    font-size:15px; color:#65676b; cursor:pointer; transition:background .2s; outline:none; }
.fb-create-input:hover { background:#e4e6eb; }
.fb-create-input:focus { background:#e4e6eb; color:#050505; }
.fb-create-divider { height:1px; background:#e4e6eb; margin:12px 0; }
.fb-create-actions { display:flex; justify-content:space-around; }
.fb-create-actions button { display:flex; align-items:center; gap:8px; padding:8px 16px;
    border:none; background:transparent; border-radius:8px; font-size:14px; font-weight:600;
    color:#65676b; cursor:pointer; transition:background .2s; }
.fb-create-actions button:hover { background:#f0f2f5; }
.fb-create-actions .fa-image { color:#45bd62; font-size:20px; }
.fb-create-actions .fa-smile { color:#f7b928; font-size:20px; }
.fb-create-actions .fa-map-marker-alt { color:#f5533d; font-size:20px; }
/* ── Post compose modal overlay ── */
.fb-compose-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0;
    background:rgba(255,255,255,.7); z-index:1060; align-items:center; justify-content:center; backdrop-filter:blur(2px); }
.fb-compose-overlay.open { display:flex; }
.fb-compose-box { background:#fff; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.25);
    width:95%; max-width:520px; overflow:hidden; animation:fbSlideUp .25s ease; }
@keyframes fbSlideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:none} }
.fb-compose-header { display:flex; align-items:center; justify-content:center; position:relative;
    padding:16px; border-bottom:1px solid #e4e6eb; }
.fb-compose-header h5 { margin:0; font-size:20px; font-weight:700; }
.fb-compose-close { position:absolute; right:16px; top:50%; transform:translateY(-50%);
    width:36px; height:36px; border-radius:50%; background:#e4e6eb; border:none;
    display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:18px; color:#65676b; }
.fb-compose-close:hover { background:#d8dadf; }
.fb-compose-user { display:flex; gap:10px; align-items:center; padding:16px 16px 0; }
.fb-compose-body { padding:8px 16px; }
.fb-compose-body textarea { width:100%; border:none; outline:none; resize:none; min-height:130px;
    font-size:16px; line-height:1.5; color:#050505; }
.fb-compose-body textarea::placeholder { color:#65676b; }
.fb-compose-img-preview { padding:0 16px; max-height:220px; overflow:hidden; border-radius:12px; margin:0 16px 12px; position:relative; }
.fb-compose-img-preview img { width:100%; border-radius:12px; object-fit:cover; max-height:220px; }
.fb-compose-img-remove { position:absolute; top:8px; right:24px; width:30px; height:30px;
    border-radius:50%; background:rgba(0,0,0,.6); border:none; color:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:14px; }
.fb-compose-toolbar { display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
    margin:0 16px; border:1px solid #e4e6eb; border-radius:10px; }
.fb-compose-toolbar span { font-size:14px; font-weight:600; color:#050505; }
.fb-compose-toolbar-icons { display:flex; gap:8px; }
.fb-compose-toolbar-icons button { width:36px; height:36px; border-radius:50%; border:none;
    background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; }
.fb-compose-toolbar-icons button:hover { background:#f0f2f5; }
.fb-compose-submit { display:block; width:calc(100% - 32px); margin:12px 16px 16px; padding:10px;
    border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer;
    background:linear-gradient(135deg,#A11D21,#7f1417); color:#fff; transition:opacity .2s; }
.fb-compose-submit:disabled { opacity:.5; cursor:default; }
.fb-compose-submit:hover:not(:disabled) { opacity:.9; }
/* ── Filter tabs Facebook-style ── */
.fb-tabs { display:flex; background:#fff; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.1);
    margin-bottom:16px; overflow:hidden; }
.fb-tab { flex:1; text-align:center; padding:14px 8px; font-size:14px; font-weight:600;
    color:#65676b; text-decoration:none; border-bottom:3px solid transparent; transition:all .2s; }
.fb-tab:hover { background:#fff0f0; color:#A11D21; }
.fb-tab.active { color:#A11D21; border-bottom-color:#A11D21; background:transparent; }
.fb-tab i { margin-right:6px; }
/* ── Loading skeleton ── */
.fb-skeleton { background:#fff; border-radius:12px; padding:16px; margin-bottom:16px; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.fb-skeleton-line { height:14px; background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
    background-size:200% 100%; animation:fbShimmer 1.5s infinite; border-radius:6px; margin-bottom:10px; }
@keyframes fbShimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.fb-skeleton-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);
    background-size:200% 100%; animation:fbShimmer 1.5s infinite; }
/* ── Toast ── */
.fb-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); background:#050505;
    color:#fff; padding:10px 20px; border-radius:8px; font-size:14px; z-index:9999;
    box-shadow:0 4px 16px rgba(0,0,0,.3); animation:fbToastIn .3s ease; }
@keyframes fbToastIn { from{opacity:0;transform:translateX(-50%) translateY(20px)} to{opacity:1;transform:translateX(-50%)} }
/* ── Lightbox ── */
.fb-lightbox { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.92);
    z-index:1070; align-items:center; justify-content:center; cursor:zoom-out; }
.fb-lightbox.open { display:flex; }
.fb-lightbox img { max-width:92vw; max-height:92vh; object-fit:contain; border-radius:6px; }

/* === Pricing/Upgrade === */
.upgrade-hero { background: linear-gradient(135deg, #A11D21 0%, #0f172a 100%); padding: 48px 0 64px; color: #fff; }
    .plan-card { border-radius: 16px; border: 2px solid #e5e7eb; padding: 28px 20px; text-align: center; position: relative; transition: all .25s; cursor: pointer; }
    .plan-card:hover { border-color: #A11D21; transform: translateY(-4px); box-shadow: 0 12px 32px rgba(161,29,33,.12); }
    .plan-card.popular { border-color: #A11D21; box-shadow: 0 8px 28px rgba(161,29,33,.18); }
    .plan-card.current { border-color: #059669; background: #f0fdf4; }
    .plan-card.selected { border-color: #A11D21; box-shadow: 0 8px 28px rgba(161,29,33,.18); }
    .popular-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: linear-gradient(90deg,#A11D21,#0f172a); color: #fff; padding: 3px 18px; border-radius: 20px; font-size: 11px; font-weight: 700; white-space: nowrap; }
    .plan-price { font-size: 28px; font-weight: 800; }
    .vip-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }
    .feature-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #f3f4f6; font-size: 13px; }
    .feature-row:last-child { border-bottom: none; }
    .boost-card { background: linear-gradient(135deg, #fff0f0, #f0fdf4); border: 1px solid rgba(161,29,33,.15); border-radius: 14px; padding: 24px; }

/* === Tools/GrossNet === */
:root { --red:#c41e2a; --darkred:#8b0000; }

/* Hero banner */
.tool-hero {
    background: linear-gradient(135deg, var(--darkred) 0%, var(--red) 100%);
    color: #fff;
    padding: 44px 0 0;
    margin-bottom: 0;
}
.tool-hero h1 { font-size: 2rem; font-weight: 800; }
.tool-hero p  { opacity: .88; font-size: 1rem; max-width: 580px; }

/* Mode toggle pills */
.mode-pills { display:flex; gap:8px; margin-bottom:24px; }
.mode-pill {
    flex:1; padding:11px; border-radius:10px; border:2px solid #e5e7eb;
    background:#fff; cursor:pointer; text-align:center; font-weight:600;
    transition:all .2s; font-size:14px; color:#374151;
}
.mode-pill.active   { border-color:var(--red); background:#fff5f5; color:var(--red); }
.mode-pill:hover    { border-color:var(--red); }

/* Input card */
.calc-card  { background:#fff; border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.08); padding:28px; }

/* Result card */
.result-card { background:#fff; border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.08); padding:28px; }
.result-net  {
    background: linear-gradient(135deg, var(--darkred), var(--red));
    border-radius:12px; padding:24px; text-align:center; color:#fff;
    margin-bottom:20px;
}
.result-net .label  { font-size:13px; opacity:.85; margin-bottom:6px; }
.result-net .amount { font-size:2.2rem; font-weight:800; letter-spacing:-1px; }
.result-net .gross-label { font-size:13px; opacity:.75; margin-top:8px; }

/* Breakdown rows */
.breakdown-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:9px 0; border-bottom:1px solid #f3f4f6; font-size:14px;
}
.breakdown-row:last-child { border-bottom:none; }
.breakdown-row .lbl { color:#6b7280; }
.breakdown-row .val { font-weight:600; color:#111827; }
.breakdown-row .val.red  { color:var(--red); }
.breakdown-row .val.green{ color:#059669; }

/* Tax bracket table */
.tax-table { width:100%; border-collapse:collapse; font-size:13px; margin-top:8px; }
.tax-table th { background:#f9fafb; padding:8px 12px; text-align:left; color:#374151; font-weight:600; border-bottom:2px solid #e5e7eb; }
.tax-table td { padding:7px 12px; border-bottom:1px solid #f3f4f6; color:#374151; }
.tax-table tr:last-child td { border-bottom:none; }

/* Employer section */
.emp-box { background:#f8faff; border:1px solid #dbeafe; border-radius:12px; padding:16px; }

/* SEO section */
.seo-section h2 { font-size:1.25rem; font-weight:700; color:#1a1a1a; margin-bottom:10px; }
.seo-section p  { font-size:14px; color:#374151; line-height:1.8; }


/* === Account/Register === */
/* (Styles moved inline to Register.cshtml @section Head) */
/* === Views\Shared\_ChatBotWidget.cshtml === */
#cb-fab{position:fixed;bottom:28px;right:28px;z-index:9999;display:none}
#cb-fab-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#A11D21,#0f172a);border:none;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 20px rgba(161,29,33,.4);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;position:relative}
#cb-fab-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(161,29,33,.55)}
#cb-fab-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#ef4444;border:2px solid #fff;font-size:9px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}
#cb-fab-tooltip{position:absolute;bottom:65px;right:0;background:#1e293b;color:#fff;font-size:11px;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 3px 12px rgba(0,0,0,.2)}
#cb-fab-tooltip::after{content:'';position:absolute;bottom:-5px;right:16px;border:5px solid transparent;border-top-color:#1e293b;border-bottom:none}
#cb-window{position:fixed;bottom:92px;right:28px;width:360px;height:520px;background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.18);z-index:9998;display:none;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.08)}
#cb-window.open{display:flex;animation:cb-slidein .2s ease}
.cb-header{background:linear-gradient(135deg,#0f172a,#A11D21 70%,#7f1417);color:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.cb-avatar-wrap{position:relative;flex-shrink:0}
.cb-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid rgba(255,255,255,.3)}
.cb-online-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #A11D21}
.cb-header-info{flex:1}
.cb-header-name{font-weight:700;font-size:14px}
.cb-header-sub{font-size:10px;opacity:.8}
.cb-header-actions{display:flex;gap:4px}
.cb-hdr-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .15s}
.cb-hdr-btn:hover{background:rgba(255,255,255,.28)}
.cb-body{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px;background:#f0f2f5;scroll-behavior:smooth}
.cb-body::-webkit-scrollbar{width:4px}
.cb-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}
.cb-msg{display:flex;gap:6px;max-width:88%}
.cb-msg.bot{align-self:flex-start}
.cb-msg.user{align-self:flex-end;flex-direction:row-reverse}
.cb-msg-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;margin-top:auto;background:linear-gradient(135deg,#A11D21,#0f172a);display:flex;align-items:center;justify-content:center;font-size:11px}
.cb-bubble{padding:8px 12px;border-radius:18px;font-size:13px;line-height:1.5;word-break:break-word}
.cb-bubble.bot{background:#fff;color:#1e293b;border-bottom-left-radius:4px}
.cb-bubble.user{background:linear-gradient(135deg,#A11D21,#7f1417);color:#fff;border-bottom-right-radius:4px}
.cb-time{font-size:9px;color:#94a3b8;margin-top:2px;padding:0 4px}
.cb-section-label{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:6px 0 3px}
.cb-cards{display:flex;flex-direction:column;gap:5px}
.cb-job-card{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;text-decoration:none;color:inherit;transition:all .15s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.cb-job-card:hover{border-color:#A11D21;background:#fff0f0;transform:translateY(-1px)}
.cb-job-logo{width:32px;height:32px;border-radius:6px;object-fit:contain;border:1px solid #e2e8f0;background:#f8fafc;padding:1px;flex-shrink:0}
.cb-job-logo-ph{width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#A11D21,#0f172a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.cb-job-info{flex:1;min-width:0}
.cb-job-title{font-size:11.5px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-job-meta{font-size:10px;color:#64748b;margin-top:1px}
.cb-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.cb-badge{padding:1px 6px;border-radius:16px;font-size:9px;font-weight:600}
.cb-badge-sal{background:#dcfce7;color:#15803d}
.cb-badge-loc{background:#fff0f0;color:#A11D21}
.cb-badge-type{background:#f3f4f6;color:#374151}
.cb-job-arrow{color:#94a3b8;font-size:11px;flex-shrink:0}
.cb-article-card{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;text-decoration:none;color:inherit;transition:all .15s}
.cb-article-card:hover{border-color:#A11D21;background:#fff0f0}
.cb-article-title{font-size:11.5px;font-weight:700;color:#1e293b}
.cb-article-cat{font-size:10px;color:#A11D21;margin-top:2px;font-weight:600}
.cb-followups{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.cb-chip{padding:4px 10px;border-radius:999px;font-size:10.5px;background:#fff0f0;color:#A11D21;border:1px solid #fecaca;cursor:pointer;transition:all .15s}
.cb-chip:hover{background:#A11D21;color:#fff;border-color:#A11D21}
.cb-typing{align-self:flex-start;display:flex;gap:6px}
.cb-typing-dots{display:flex;gap:3px;padding:8px 12px;background:#fff;border-radius:18px;border-bottom-left-radius:4px}
.cb-typing-dots span{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#A11D21,#0f172a);animation:cb-bounce .8s infinite}
.cb-typing-dots span:nth-child(2){animation-delay:.15s}
.cb-typing-dots span:nth-child(3){animation-delay:.3s}
#cb-quick-area{padding:8px 10px 4px;background:#fff;border-top:1px solid #f1f5f9;flex-shrink:0}
.cb-quick-label{font-size:10px;color:#94a3b8;margin-bottom:5px}
.cb-quick-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}
.cb-qbtn{padding:6px 8px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:10.5px;color:#374151;cursor:pointer;text-align:left;transition:all .15s;line-height:1.2}
.cb-qbtn:hover{background:#fff0f0;border-color:#A11D21;color:#A11D21}
.cb-qbtn .qi{font-size:13px;display:block;margin-bottom:1px}
.cb-footer{padding:8px 10px;background:#fff;border-top:1px solid #f1f5f9;flex-shrink:0}
.cb-input-wrap{display:flex;gap:6px;align-items:flex-end;background:#f0f2f5;border-radius:20px;padding:4px 4px 4px 12px;transition:background .2s}
.cb-input-wrap:focus-within{background:#e8eaed}
.cb-input{flex:1;border:none;background:transparent;font-size:13px;outline:none;color:#1e293b;min-width:0;max-height:80px;resize:none;line-height:1.4;padding:4px 0}
.cb-input::placeholder{color:#94a3b8}
.cb-send{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#A11D21,#0f172a);border:none;color:#fff;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s}
.cb-send:hover{transform:scale(1.08)}
.cb-send:disabled{opacity:.3;cursor:default;transform:none}
.cb-footer-hint{font-size:9px;color:#94a3b8;text-align:center;margin-top:4px}
@keyframes cb-slidein{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes cb-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}}
@media(max-width:430px){#cb-window{width:calc(100vw - 16px);right:8px;bottom:80px;height:calc(100svh - 100px)}}
/* === Views\Feed\_FeedPosts.cshtml === */
/* ── Facebook-style post card ── */
.fb-post-card { background:#fff; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,.1); margin-bottom:16px; overflow:hidden; }
.fb-post-header { display:flex; align-items:center; gap:10px; padding:14px 16px 0; }
.fb-post-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #e4e6eb; }
.fb-post-meta { flex:1; min-width:0; }
.fb-post-author { font-weight:700; font-size:15px; color:#050505; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.fb-post-role { font-size:11px; font-weight:600; padding:2px 8px; border-radius:12px; }
.fb-post-role.employer { background:#fff0f0; color:#A11D21; }
.fb-post-role.admin { background:#fce8e8; color:#dc2626; }
.fb-post-role.candidate { background:#e8fce8; color:#16a34a; }
.fb-post-time { font-size:13px; color:#65676b; display:flex; align-items:center; gap:4px; }
.fb-post-time i { font-size:10px; }
.fb-post-menu { position:relative; }
.fb-post-menu-btn { width:36px; height:36px; border-radius:50%; border:none; background:transparent;
    cursor:pointer; font-size:18px; color:#65676b; display:flex; align-items:center; justify-content:center; }
.fb-post-menu-btn:hover { background:#f0f2f5; }
.fb-post-menu-drop { display:none; position:absolute; right:0; top:100%; background:#fff;
    border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,.2); min-width:220px; z-index:10; padding:8px 0; }
.fb-post-menu-drop.open { display:block; }
.fb-post-menu-item { display:flex; align-items:center; gap:10px; padding:8px 16px; cursor:pointer;
    font-size:14px; color:#050505; }
.fb-post-menu-item:hover { background:#f0f2f5; }
.fb-post-menu-item i { width:20px; text-align:center; color:#65676b; }
.fb-post-hot { display:inline-flex; align-items:center; gap:4px; background:linear-gradient(135deg,#ef4444,#f97316);
    color:#fff; font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; margin:10px 16px 0; }
.fb-post-content { padding:10px 16px 14px; font-size:15px; line-height:1.55; color:#050505; white-space:pre-wrap; word-break:break-word; }
.fb-post-image-wrap { position:relative; cursor:pointer; overflow:hidden; background:#f0f2f5; }
.fb-post-image { width:100%; max-height:520px; object-fit:cover; display:block; transition:transform .3s; }
.fb-post-image:hover { transform:scale(1.01); }
/* ── Reactions bar ── */
.fb-post-stats { display:flex; justify-content:space-between; padding:10px 16px; font-size:14px; color:#65676b; }
.fb-post-stats-left { display:flex; align-items:center; gap:4px; }
.fb-post-stats-left .reaction-icons-mini { display:inline-flex; }
.fb-post-stats-left .reaction-icons-mini span { width:20px; height:20px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center; font-size:12px;
    margin-right:-4px; border:2px solid #fff; position:relative; }
.fb-post-divider { height:1px; background:#e4e6eb; margin:0 16px; }
.fb-post-actions { display:flex; padding:4px 16px; position:relative; }
.fb-action-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
    padding:8px 0; border:none; background:transparent; border-radius:8px;
    font-size:14px; font-weight:600; color:#65676b; cursor:pointer; transition:background .15s; position:relative; }
.fb-action-btn:hover { background:#f0f2f5; }
.fb-action-btn.liked { color:#A11D21; }
.fb-action-btn.reacted-love { color:#e74c3c; }
.fb-action-btn.reacted-haha { color:#f7b928; }
.fb-action-btn.reacted-wow { color:#f7b928; }
.fb-action-btn.reacted-sad { color:#f7b928; }
.fb-action-btn.reacted-angry { color:#e67e22; }
.fb-action-btn i { font-size:18px; transition:transform .2s; }
/* ── Reaction picker popup ── */
.fb-reaction-picker { display:none; position:absolute; bottom:100%; left:0; background:#fff;
    border-radius:28px; box-shadow:0 4px 20px rgba(0,0,0,.2); padding:4px 8px;
    gap:2px; z-index:20; white-space:nowrap; }
.fb-action-btn:hover .fb-reaction-picker,
.fb-reaction-picker:hover { display:flex; }
.fb-reaction-emoji { font-size:32px; cursor:pointer; padding:4px 5px; transition:transform .2s; border-radius:50%; }
.fb-reaction-emoji:hover { transform:scale(1.35) translateY(-6px); background:rgba(0,0,0,.05); }
.fb-reaction-emoji .rlabel { display:none; position:absolute; bottom:-18px; left:50%; transform:translateX(-50%);
    font-size:10px; background:#000; color:#fff; padding:2px 6px; border-radius:4px; white-space:nowrap; }
.fb-reaction-emoji:hover .rlabel { display:block; }
/* ── Comments section ── */
.fb-comments-section { padding:4px 16px 12px; }
.fb-comments-list { }
.fb-comment { display:flex; gap:8px; margin-bottom:8px; align-items:flex-start; }
.fb-comment-avatar { width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.fb-comment-bubble { background:#f0f2f5; padding:8px 12px; border-radius:18px; flex:1; min-width:0; }
.fb-comment-bubble strong { font-size:13px; color:#050505; }
.fb-comment-bubble div { font-size:14px; color:#050505; word-break:break-word; }
.fb-comment-meta { display:flex; gap:12px; padding-left:40px; margin-top:2px; margin-bottom:4px; }
.fb-comment-meta span { font-size:12px; color:#65676b; cursor:pointer; font-weight:600; }
.fb-comment-meta span:hover { text-decoration:underline; }
.fb-comment-form { display:flex; gap:8px; align-items:center; margin-top:4px; }
.fb-comment-form img { width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.fb-comment-input-wrap { flex:1; display:flex; align-items:center; background:#f0f2f5; border-radius:22px;
    padding:6px 12px; gap:6px; }
.fb-comment-input-wrap input { flex:1; border:none; background:transparent; outline:none; font-size:14px; }
.fb-comment-input-wrap input::placeholder { color:#65676b; }
.fb-comment-input-wrap button { border:none; background:transparent; color:#A11D21; cursor:pointer;
    font-size:16px; padding:2px; opacity:.7; }
.fb-comment-input-wrap button:hover { opacity:1; }
/* ── View more comments ── */
.fb-view-comments { font-size:14px; font-weight:600; color:#65676b; cursor:pointer;
    padding:4px 0; border:none; background:transparent; }
.fb-view-comments:hover { text-decoration:underline; }
/* === Views\Article\Detail.cshtml === */
.article-header { background: linear-gradient(135deg, #A11D21 0%, #0f172a 100%); padding: 40px 0 32px; }
    .article-breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 13px; }
    .article-breadcrumb a:hover { color: #fff; }
    .article-breadcrumb span { color: rgba(255,255,255,0.5); }

    .article-content { font-size: 16px; line-height: 1.9; color: #334155; }
    .article-content h2 { font-size: 1.5rem; font-weight: 700; margin-top: 32px; margin-bottom: 16px; color: #1e293b; }
    .article-content h3 { font-size: 1.25rem; font-weight: 700; margin-top: 24px; margin-bottom: 12px; color: #1e293b; }
    .article-content p { margin-bottom: 16px; }
    .article-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 16px 0; }
    .article-content blockquote { border-left: 4px solid #A11D21; padding: 16px 24px; margin: 20px 0; background: #fff0f0; border-radius: 0 8px 8px 0; font-style: italic; color: #475569; }
    .article-content pre { background: #1e293b; color: #e2e8f0; padding: 20px; border-radius: 12px; overflow-x: auto; margin: 16px 0; }
    .article-content code { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; font-size: 0.9em; color: #e11d48; }
    .article-content pre code { background: transparent; color: inherit; padding: 0; }
    .article-content ul, .article-content ol { padding-left: 24px; margin-bottom: 16px; }
    .article-content li { margin-bottom: 8px; }
    .article-content table { width: 100%; border-collapse: collapse; margin: 16px 0; border-radius: 8px; overflow: hidden; }
    .article-content table th { background: #f8fafc; font-weight: 600; }
    .article-content table td, .article-content table th { padding: 10px 14px; border: 1px solid #e2e8f0; }
    .article-content a { color: #A11D21; text-decoration: underline; }

    .article-meta { font-size: 13px; color: #94a3b8; }
    .article-tag { display: inline-block; padding: 4px 12px; border-radius: 16px; font-size: 12px; background: #f1f5f9; color: #475569; text-decoration: none; margin: 2px; }
    .article-tag:hover { background: #A11D21; color: #fff; }

    .related-card { border: none; border-radius: 12px; overflow: hidden; transition: all .3s; }
    .related-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important; }
    .related-card img { height: 150px; object-fit: cover; }
    .related-card .card-title { font-size: 14px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .related-card .card-title a { color: #1e293b; text-decoration: none; }

    .share-btn { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e2e8f0; color: #64748b; text-decoration: none; transition: all .2s; }
    .share-btn:hover { color: #fff; }
    .share-btn.fb:hover { background: #1877f2; border-color: #1877f2; }
    .share-btn.tw:hover { background: #1da1f2; border-color: #1da1f2; }
    .share-btn.ln:hover { background: #0a66c2; border-color: #0a66c2; }
    .share-btn.cp:hover { background: #475569; border-color: #475569; }
/* === Views\Article\Index.cshtml === */
.news-hero { background: linear-gradient(135deg, #A11D21 0%, #0f172a 100%); padding: 48px 0 32px; }
    .news-hero h1 { font-size: 2rem; font-weight: 800; color: #fff; }
    .news-hero p { color: rgba(255,255,255,0.8); font-size: 15px; }

    .article-card { border: none; border-radius: 12px; overflow: hidden; transition: all .3s; background: #fff; height: 100%; }
    .article-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.12) !important; }
    .article-card .card-img-top { height: 200px; object-fit: cover; }
    .article-card .card-body { padding: 20px; }
    .article-card .card-title { font-weight: 700; font-size: 1rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .article-card .card-title a { color: #1e293b; text-decoration: none; }
    .article-card .card-title a:hover { color: #A11D21; }
    .article-card .card-text { font-size: 13px; color: #64748b; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .article-card .card-meta { font-size: 12px; color: #94a3b8; }

    .featured-card { border-radius: 16px; overflow: hidden; position: relative; height: 100%; min-height: 300px; }
    .featured-card img { width: 100%; height: 100%; object-fit: cover; }
    .featured-card .featured-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px; background: linear-gradient(transparent, rgba(0,0,0,0.85)); }
    .featured-card .featured-title { color: #fff; font-weight: 700; font-size: 1.3rem; margin-bottom: 8px; }
    .featured-card .featured-title a { color: #fff; text-decoration: none; }
    .featured-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.2) !important; }

    .cat-pill { display: inline-block; padding: 6px 16px; border-radius: 20px; font-size: 13px; font-weight: 500; text-decoration: none; border: 1px solid #e2e8f0; color: #475569; background: #fff; transition: all .2s; }
    .cat-pill:hover, .cat-pill.active { background: #A11D21; color: #fff; border-color: #A11D21; }

    .sidebar-widget { background: #fff; border-radius: 12px; padding: 20px; margin-bottom: 20px; }
    .sidebar-widget h6 { font-weight: 700; font-size: 14px; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid #e2e8f0; }
/* === Views\Pricing\Index.cshtml === */
.pricing-hero { background: linear-gradient(135deg, #A11D21 0%, #0f172a 100%); color: #fff; padding: 60px 0 80px; text-align: center; }
    .pricing-tabs { background: #fff; border-bottom: 2px solid #e5e7eb; }
    .pricing-tab-btn { padding: 14px 32px; border: none; background: none; font-weight: 600; font-size: 15px; color: #6b7280; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all .2s; }
    .pricing-tab-btn.active { color: #A11D21; border-bottom-color: #A11D21; }
    .plan-card { border-radius: 16px; border: 2px solid #e5e7eb; padding: 28px 24px; padding-top: 36px; position: relative; transition: all .25s; height: 100%; }
    .plan-card.has-badge { margin-top: 18px; }
    .plan-card:hover { border-color: #A11D21; transform: translateY(-4px); box-shadow: 0 12px 32px rgba(161,29,33,.12); }
    .plan-card.popular { border-color: #A11D21; box-shadow: 0 8px 32px rgba(161,29,33,.15); }
    .popular-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: linear-gradient(90deg, #A11D21, #0f172a); color: #fff; padding: 4px 20px; border-radius: 20px; font-size: 12px; font-weight: 700; white-space: nowrap; z-index: 2; }
    .current-badge { position: absolute; top: -14px; right: 16px; background: #059669; color: #fff; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; white-space: nowrap; z-index: 2; }
    .label-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); color: #fff; padding: 4px 14px; border-radius: 20px; font-size: 11px; font-weight: 700; white-space: nowrap; z-index: 2; }
    .plan-name { font-size: 20px; font-weight: 800; }
    .plan-price { font-size: 32px; font-weight: 800; color: #0f172a; line-height: 1; }
    .plan-price-note { font-size: 13px; color: #6b7280; }
    .plan-feature { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; padding: 5px 0; }
    .plan-feature .check { color: #059669; flex-shrink: 0; margin-top: 2px; }
    .plan-feature .dash { color: #d1d5db; flex-shrink: 0; }
    .feature-val { font-size: 14px; }
    .feature-val.green { color: #059669; font-weight: 600; }
    .btn-plan { width: 100%; padding: 12px; border-radius: 10px; font-weight: 700; font-size: 15px; margin-top: 20px; transition: all .2s; }
    .btn-plan-primary { background: linear-gradient(135deg,#A11D21,#7f1417); color: #fff; border: none; box-shadow: 0 3px 10px rgba(161,29,33,.25); }
    .btn-plan-primary:hover { background: linear-gradient(135deg,#8a1519,#6b1012); color: #fff; transform: translateY(-1px); }
    .btn-plan-outline { background: #fff; color: #A11D21; border: 2px solid #A11D21; }
    .btn-plan-outline:hover { background: #fff0f0; }
    .btn-plan-current { background: #f3f4f6; color: #6b7280; border: 2px solid #e5e7eb; cursor: default; }
    .comparison-table th { background: #f8fafc; font-weight: 700; text-align: center; padding: 12px; font-size: 13px; }
    .comparison-table td { text-align: center; padding: 10px 12px; vertical-align: middle; font-size: 13px; border-bottom: 1px solid #f3f4f6; }
    .comparison-table td:first-child { text-align: left; color: #374151; }
    .employer-card { border-radius: 16px; padding: 28px; padding-top: 36px; border: 2px solid #e5e7eb; height: 100%; transition: all .25s; position: relative; }
    .employer-card.has-badge { margin-top: 18px; }
    .employer-card:hover { border-color: var(--plan-color); box-shadow: 0 8px 32px rgba(0,0,0,.1); transform: translateY(-3px); }
    .employer-card.popular { border-color: var(--plan-color); }
    .employer-icon { width: 52px; height: 52px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #fff; margin-bottom: 16px; }
    .highlight-chip { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; margin: 2px; }
    .faq-item { border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
    .faq-q { padding: 16px 20px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: #fafafa; }
    .faq-a { padding: 14px 20px; font-size: 14px; color: #4b5563; line-height: 1.7; border-top: 1px solid #e5e7eb; display: none; }
    .faq-item.open .faq-a { display: block; }
    .faq-item.open .faq-q { background: #fff0f0; color: #A11D21; }
/* ================================================ */
/* === UTILITY CLASSES (replace inline styles) === */
/* ================================================ */

/* Font sizes */
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-85 { font-size: 0.85rem !important; }
.fs-80 { font-size: 0.80rem !important; }

/* Border radius */
.rounded-4 { border-radius: 1rem !important; }
.rounded-3x { border-radius: 0.75rem !important; }
.rounded-14 { border-radius: 14px !important; }
.rounded-top-4 { border-radius: 1rem 1rem 0 0 !important; }
.rounded-top-14 { border-radius: 14px 14px 0 0 !important; }

/* Sizing */
.sz-32 { width: 32px !important; height: 32px !important; }
.sz-36 { width: 36px !important; height: 36px !important; }
.sz-40 { width: 40px !important; height: 40px !important; }
.sz-44 { width: 44px !important; height: 44px !important; }
.sz-48 { width: 48px !important; height: 48px !important; }
.sz-56 { width: 56px !important; height: 56px !important; }
.sz-64 { width: 64px !important; height: 64px !important; }
.sz-100 { width: 100px !important; height: 100px !important; }
.sz-140 { width: 140px !important; height: 140px !important; }

/* Brand color */
.text-brand { color: #A11D21 !important; }
.bg-brand { background-color: #A11D21 !important; }
.bg-brand-gradient { background: linear-gradient(135deg, #A11D21, #c0392b) !important; }
.border-brand { border-color: #A11D21 !important; }

/* Max width utility */
.mw-150 { max-width: 150px !important; }
.mw-200 { max-width: 200px !important; }

/* Object fit */
.obj-cover { object-fit: cover !important; }
.obj-contain { object-fit: contain !important; }

/* Card shadow modern */
.card-modern {
    border: none !important;
    border-radius: 1rem !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.06) !important;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.card-modern:hover {
    box-shadow: 0 8px 25px rgba(0,0,0,.1) !important;
    transform: translateY(-2px);
}