.page-recruiter-post-job{
            --gold-base:     #C4A559;
            --gold-primary:  #C9A030;
            --gold-light:    #EDCA50;
            --gold-glow:     #F8E27A;
            --gold-gradient: linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);
            --gold-btn:      linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);

            /* LIGHT THEME */
            --bg:            #F7F4EE;
            --bg-card:       #FFFFFF;
            --bg-card-hover: #FDFBF7;
            --bg-subtle:     #F2EDE3;
            --ink:           #1A1810;
            --ink-mid:       #3D3828;
            --text-muted:    #7A7060;
            --text-light:    #A8998A;
            --border-line:   #E8E0D0;
            --border-gold:   rgba(180, 140, 35, 0.3);
            --border-subtle: rgba(180, 140, 35, 0.15);
            --shadow-sm:     0 1px 3px rgba(60,50,20,0.07), 0 1px 2px rgba(60,50,20,0.05);
            --shadow-md:     0 4px 16px rgba(60,50,20,0.09), 0 1px 4px rgba(60,50,20,0.06);
            --shadow-gold:   0 8px 32px rgba(180,140,35,0.2);
        }

.page-recruiter-post-job{ margin: 0; padding: 0; box-sizing: border-box; }

.page-recruiter-post-job{
            font-family: 'DM Sans', sans-serif;
            background: var(--bg);
            color: var(--ink);
            min-height: 100vh;
            overflow-x: hidden;
        }

        /* ── NAV ── */
.page-recruiter-post-job nav{
            position: sticky;
            top: 0;
            z-index: 200;
            background: rgba(255,255,255,0.92);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border-bottom: 1px solid var(--border-line);
            padding: 0 2.5rem;
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            box-shadow: var(--shadow-sm);
        }

.page-recruiter-post-job .nav-logo svg{
            height: 42px;
            width: auto;
            display: block;
        }

.page-recruiter-post-job .nav-links{
            display: flex;
            gap: 0;
            list-style: none;
            align-items: center;
        }

.page-recruiter-post-job .nav-links a{
            text-decoration: none;
            color: var(--text-muted);
            font-size: 0.78rem;
            font-weight: 500;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.5rem 1.1rem;
            transition: color 0.2s;
            position: relative;
        }

.page-recruiter-post-job .nav-links a::after{
            content: '';
            position: absolute;
            bottom: -1px; left: 50%; right: 50%;
            height: 2px;
            background: var(--gold-gradient);
            transition: left 0.3s, right 0.3s;
            border-radius: 1px;
        }

.page-recruiter-post-job .nav-links a:hover{ color: var(--gold-primary); }
.page-recruiter-post-job .nav-links a:hover::after{ left: 1.1rem; right: 1.1rem; }

.page-recruiter-post-job .nav-links .active-link{
            color: var(--gold-primary);
            border: 1px solid var(--border-gold);
            border-radius: 5px;
        }
.page-recruiter-post-job .nav-links .active-link::after{ display: none; }

.page-recruiter-post-job .nav-cta{
            background: var(--gold-btn);
            color: #fff;
            border: none;
            padding: 0.6rem 1.4rem;
            border-radius: 5px;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 2px 8px rgba(180,140,35,0.25);
        }

.page-recruiter-post-job .nav-cta:hover{
            opacity: 0.9;
            transform: translateY(-1px);
            box-shadow: var(--shadow-gold);
        }

        /* ── PAGE HEADER ── */
.page-recruiter-post-job .page-header{
            position: relative;
            z-index: 1;
            padding: 4rem 3rem 2.5rem;
            max-width: 1280px;
            margin: 0 auto;
            border-bottom: 1px solid var(--border-line);
            margin-bottom: 0;
        }

.page-recruiter-post-job .breadcrumb{
            display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1.75rem;
            font-size: 0.72rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--text-light);
        }

.page-recruiter-post-job .breadcrumb span{ color: var(--gold-primary); }

.page-recruiter-post-job .page-eyebrow{
            font-size: 0.7rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--gold-primary);
            margin-bottom: 0.75rem;
            font-weight: 600;
        }

.page-recruiter-post-job .page-title{
            font-family: 'Playfair Display', serif;
            font-size: clamp(2.4rem, 4vw, 3.8rem);
            font-weight: 900;
            line-height: 1.05;
            letter-spacing: -0.02em;
            color: var(--ink);
            margin-bottom: 0.75rem;
        }

.page-recruiter-post-job .page-title em{
            font-style: italic;
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

.page-recruiter-post-job .page-subtitle{
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.15rem;
            font-style: italic;
            color: var(--text-muted);
            max-width: 500px;
            line-height: 1.6;
        }

        /* ── MODE TOGGLE ── */
.page-recruiter-post-job .mode-toggle{
            display: flex;
            gap: 12px;
            max-width: 1280px;
            margin: 0 auto;
            padding: 2rem 3rem;
            border-bottom: 1px solid var(--border-line);
        }

.page-recruiter-post-job .mode-card{
            flex: 1;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 16px 20px;
            border-radius: 10px;
            border: 1px solid var(--border-line);
            background: var(--bg-card);
            text-decoration: none;
            color: var(--ink);
            cursor: pointer;
            transition: all 0.22s;
            max-width: 360px;
            box-shadow: var(--shadow-sm);
        }

.page-recruiter-post-job .mode-card:hover{
            border-color: var(--border-gold);
            background: #FDFAF3;
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(180,140,35,0.1);
        }

.page-recruiter-post-job .mode-card.active{
            border-color: var(--gold-primary);
            background: #FDFAF3;
            box-shadow: 0 2px 12px rgba(180,140,35,0.12);
        }

.page-recruiter-post-job .mode-icon{
            width: 40px;
            height: 40px;
            border-radius: 9px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

.page-recruiter-post-job .mode-icon.upload{ background: linear-gradient(135deg, #C4A559, #D4A832); }
.page-recruiter-post-job .mode-icon.create{ background: var(--bg-subtle); border: 1px solid var(--border-line); }
.page-recruiter-post-job .mode-icon svg{ width: 18px; height: 18px; }

.page-recruiter-post-job .mode-info-title{
            font-size: 0.84rem;
            font-weight: 600;
            color: var(--ink);
        }

.page-recruiter-post-job .mode-info-sub{
            font-size: 0.71rem;
            color: var(--text-muted);
            margin-top: 2px;
        }

.page-recruiter-post-job .mode-badge{
            margin-left: auto;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--gold-primary);
            padding: 3px 9px;
            border-radius: 3px;
            background: rgba(180,140,35,0.08);
            border: 1px solid rgba(180,140,35,0.2);
        }

.page-recruiter-post-job .mode-arrow{ margin-left: auto; color: var(--text-light); }

        /* ── MAIN LAYOUT ── */
.page-recruiter-post-job .main{
            position: relative;
            z-index: 1;
            max-width: 1280px;
            margin: 0 auto;
            padding: 2.5rem 3rem 6rem;
            display: grid;
            grid-template-columns: 1fr 380px;
            gap: 2.5rem;
            align-items: start;
        }

        /* ── FORM PANEL ── */
.page-recruiter-post-job .form-panel{ display: flex; flex-direction: column; gap: 1.75rem; }

.page-recruiter-post-job .form-block{
            background: var(--bg-card);
            border: 1px solid var(--border-line);
            border-radius: 12px;
            padding: 2.25rem;
            box-shadow: var(--shadow-sm);
            transition: border-color 0.25s, box-shadow 0.25s;
        }

.page-recruiter-post-job .form-block:hover{
            border-color: rgba(180,140,35,0.2);
            box-shadow: var(--shadow-md);
        }

.page-recruiter-post-job .block-header{
            display: flex;
            align-items: baseline;
            gap: 0.85rem;
            margin-bottom: 1.75rem;
            padding-bottom: 1.25rem;
            border-bottom: 1px solid var(--border-line);
        }

.page-recruiter-post-job .block-number{
            font-family: 'Playfair Display', serif;
            font-style: italic;
            font-size: 0.95rem;
            color: var(--gold-primary);
            opacity: 0.7;
            min-width: 1.4rem;
        }

.page-recruiter-post-job .block-title{
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--ink);
            letter-spacing: -0.01em;
        }

.page-recruiter-post-job .block-line{
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, rgba(180,140,35,0.25), transparent);
        }

        /* ── FORM ELEMENTS ── */
.page-recruiter-post-job .form-grid-2{
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.1rem;
        }

.page-recruiter-post-job .form-group{ margin-bottom: 1.4rem; }
.page-recruiter-post-job .form-group:last-child{ margin-bottom: 0; }

.page-recruiter-post-job label{
            display: block;
            font-size: 0.7rem;
            font-weight: 600;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
        }

.page-recruiter-post-job .required-dot{
            display: inline-block;
            width: 4px; height: 4px;
            border-radius: 50%;
            background: var(--gold-primary);
            margin-left: 4px;
            vertical-align: middle;
            margin-bottom: 2px;
        }

.page-recruiter-post-job input[type="text"],
.page-recruiter-post-job input[type="number"],
.page-recruiter-post-job select,
.page-recruiter-post-job textarea{
            width: 100%;
            background: var(--bg);
            border: 1px solid var(--border-line);
            border-radius: 6px;
            padding: 0.75rem 0.9rem;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.88rem;
            color: var(--ink);
            transition: border-color 0.22s, box-shadow 0.22s, background 0.22s;
            -webkit-appearance: none;
            appearance: none;
        }

.page-recruiter-post-job input::placeholder, .page-recruiter-post-job textarea::placeholder{ color: var(--text-light); }

.page-recruiter-post-job select{
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A8998A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 1rem center;
            padding-right: 2.5rem;
            cursor: pointer;
        }

.page-recruiter-post-job select option{ background: #fff; color: var(--ink); }
.page-recruiter-post-job textarea{ resize: vertical; min-height: 120px; line-height: 1.6; }

.page-recruiter-post-job input:focus, .page-recruiter-post-job select:focus, .page-recruiter-post-job textarea:focus{
            outline: none;
            border-color: var(--gold-primary);
            background: #FDFAF3;
            box-shadow: 0 0 0 3px rgba(180,140,35,0.1);
        }

        /* ── AI ASSIST ── */
.page-recruiter-post-job .ai-assist{
            display: flex;
            align-items: center;
            gap: 9px;
            margin-top: 0.65rem;
            padding: 0.6rem 0.9rem;
            background: rgba(180,140,35,0.05);
            border: 1px solid rgba(180,140,35,0.18);
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.2s;
        }

.page-recruiter-post-job .ai-assist:hover{
            background: rgba(180,140,35,0.1);
            border-color: rgba(180,140,35,0.32);
        }

.page-recruiter-post-job .ai-badge{
            font-size: 0.58rem;
            font-weight: 800;
            letter-spacing: 0.1em;
            padding: 2px 7px;
            border-radius: 3px;
            background: var(--gold-btn);
            color: #fff;
        }

.page-recruiter-post-job .ai-text{ font-size: 0.76rem; color: var(--gold-primary); font-weight: 500; }

        /* ── REQUIREMENTS ── */
.page-recruiter-post-job .req-grid{ display: grid; gap: 0.9rem; }

.page-recruiter-post-job .req-row{
            display: grid;
            grid-template-columns: 170px 1fr;
            gap: 1rem;
            align-items: center;
        }

.page-recruiter-post-job .req-label{
            font-size: 0.78rem;
            font-weight: 500;
            color: var(--ink-mid);
            text-transform: none;
            letter-spacing: 0;
        }

        /* ── CHIPS ── */
.page-recruiter-post-job .chips-container{ display: flex; flex-wrap: wrap; gap: 7px; }

.page-recruiter-post-job .chip{
            padding: 5px 13px;
            border-radius: 100px;
            font-size: 0.73rem;
            font-weight: 500;
            border: 1px solid var(--border-line);
            background: transparent;
            color: var(--text-muted);
            cursor: pointer;
            transition: all 0.18s;
        }

.page-recruiter-post-job .chip:hover, .page-recruiter-post-job .chip.selected{
            border-color: var(--gold-primary);
            color: var(--gold-primary);
            background: rgba(180,140,35,0.07);
        }

        /* ── DIVIDER ── */
.page-recruiter-post-job .gold-rule{
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(180,140,35,0.25), transparent);
            margin: 1.75rem 0;
        }

        /* ── PUBLISH BUTTON ── */
.page-recruiter-post-job .publish-btn{
            width: 100%;
            padding: 1rem;
            border: none;
            border-radius: 7px;
            background: var(--gold-btn);
            color: #fff;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            cursor: pointer;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 16px rgba(180,140,35,0.3);
            transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
        }

.page-recruiter-post-job .publish-btn::before{
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.25) 50%, transparent 100%);
            transform: translateX(-100%);
            transition: transform 0.5s;
        }

.page-recruiter-post-job .publish-btn:hover{
            opacity: 0.93;
            transform: translateY(-2px);
            box-shadow: var(--shadow-gold);
        }

.page-recruiter-post-job .publish-btn:hover::before{ transform: translateX(100%); }

.page-recruiter-post-job .save-draft-btn{
            width: 100%;
            padding: 0.85rem;
            border: 1px solid var(--border-gold);
            border-radius: 7px;
            background: transparent;
            color: var(--gold-primary);
            font-family: 'DM Sans', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            cursor: pointer;
            margin-top: 0.65rem;
            transition: all 0.2s;
        }

.page-recruiter-post-job .save-draft-btn:hover{ background: rgba(180,140,35,0.06); }

        /* ── SIDEBAR ── */
.page-recruiter-post-job .sidebar{
            display: flex;
            flex-direction: column;
            gap: 1.4rem;
            position: sticky;
            top: 88px;
        }

        /* ── PREVIEW CARD ── */
.page-recruiter-post-job .preview-card{
            background: var(--bg-card);
            border: 1px solid var(--border-line);
            border-radius: 12px;
            overflow: hidden;
            box-shadow: var(--shadow-sm);
        }

.page-recruiter-post-job .preview-header{
            padding: 1.25rem 1.5rem 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

.page-recruiter-post-job .preview-label{
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--text-light);
        }

.page-recruiter-post-job .live-dot{
            display: flex;
            align-items: center;
            gap: 5px;
            font-size: 0.63rem;
            color: #5BBF6F;
            font-weight: 600;
            letter-spacing: 0.08em;
        }

.page-recruiter-post-job .live-dot::before{
            content: '';
            width: 5px; height: 5px;
            border-radius: 50%;
            background: #5BBF6F;
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50%       { opacity: 0.4; transform: scale(1.5); }
        }

.page-recruiter-post-job .preview-body{ padding: 1.25rem 1.5rem 1.5rem; }

.page-recruiter-post-job .preview-establishment{
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--gold-primary);
            margin-bottom: 0.4rem;
        }

.page-recruiter-post-job .preview-job-name{
            font-family: 'Playfair Display', serif;
            font-size: 1.35rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 0.9rem;
            line-height: 1.2;
        }

.page-recruiter-post-job .preview-tags{ display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 0.9rem; }

.page-recruiter-post-job .preview-tag{
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.07em;
            padding: 3px 9px;
            border-radius: 100px;
            background: var(--bg-subtle);
            border: 1px solid var(--border-line);
            color: var(--text-muted);
            text-transform: uppercase;
        }

.page-recruiter-post-job .preview-desc{
            font-family: 'Cormorant Garamond', serif;
            font-size: 0.92rem;
            color: var(--text-muted);
            line-height: 1.65;
        }

.page-recruiter-post-job .preview-rule{ height: 1px; background: var(--border-line); margin: 1rem 0; }

.page-recruiter-post-job .preview-footer{
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

.page-recruiter-post-job .prestige-label{
            font-size: 0.62rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--text-light);
            margin-right: 8px;
        }

.page-recruiter-post-job .prestige-stars{ display: inline-flex; gap: 3px; }

.page-recruiter-post-job .star{
            width: 7px; height: 7px;
            border-radius: 50%;
            background: var(--border-line);
        }

.page-recruiter-post-job .star.active{ background: var(--gold-gradient); }

        /* ── TIPS CARD ── */
.page-recruiter-post-job .tips-card{
            background: var(--bg-card);
            border: 1px solid var(--border-line);
            border-radius: 12px;
            padding: 1.6rem;
            box-shadow: var(--shadow-sm);
        }

.page-recruiter-post-job .tips-title{
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold-primary);
            margin-bottom: 1.1rem;
            display: flex;
            align-items: center;
            gap: 8px;
        }

.page-recruiter-post-job .tips-title::after{
            content: '';
            flex: 1;
            height: 1px;
            background: var(--border-line);
        }

.page-recruiter-post-job .tip-item{ display: flex; gap: 11px; margin-bottom: 0.9rem; align-items: flex-start; }
.page-recruiter-post-job .tip-item:last-child{ margin-bottom: 0; }

.page-recruiter-post-job .tip-num{
            font-family: 'Playfair Display', serif;
            font-style: italic;
            font-size: 0.75rem;
            color: var(--gold-primary);
            opacity: 0.55;
            min-width: 13px;
            padding-top: 1px;
        }

.page-recruiter-post-job .tip-text{ font-size: 0.77rem; color: var(--text-muted); line-height: 1.55; }
.page-recruiter-post-job .tip-text strong{ color: var(--ink-mid); font-weight: 600; }

        /* ── REACH CARD ── */
.page-recruiter-post-job .reach-card{
            background: linear-gradient(135deg, #FFFBF0 0%, #FDF6E0 100%);
            border: 1px solid rgba(180,140,35,0.25);
            border-radius: 12px;
            padding: 1.6rem;
            box-shadow: 0 2px 12px rgba(180,140,35,0.08);
        }

.page-recruiter-post-job .reach-title{
            font-family: 'Playfair Display', serif;
            font-size: 1.8rem;
            font-weight: 900;
            background: var(--gold-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1;
            margin-bottom: 0.2rem;
        }

.page-recruiter-post-job .reach-sub{ font-size: 0.7rem; color: var(--text-muted); margin-bottom: 1.1rem; letter-spacing: 0.03em; }

.page-recruiter-post-job .reach-stat{
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.55rem 0;
            border-bottom: 1px solid rgba(180,140,35,0.1);
        }

.page-recruiter-post-job .reach-stat:last-child{ border-bottom: none; }
.page-recruiter-post-job .reach-stat-label{ font-size: 0.73rem; color: var(--text-muted); }
.page-recruiter-post-job .reach-stat-val{ font-size: 0.78rem; font-weight: 600; color: var(--gold-primary); }

        /* ── ANIMATIONS ── */
        @keyframes fadeUp {
.page-recruiter-post-job from{ opacity: 0; transform: translateY(16px); }
.page-recruiter-post-job to{ opacity: 1; transform: translateY(0); }
        }

.page-recruiter-post-job .page-header{ animation: fadeUp 0.5s ease both; }
.page-recruiter-post-job .mode-toggle{ animation: fadeUp 0.5s 0.08s ease both; }
.page-recruiter-post-job .main{ animation: fadeUp 0.5s 0.16s ease both; }

        /* ── UPLOAD MODAL ── */
.page-recruiter-post-job .modal-backdrop{
            position: fixed;
            inset: 0;
            z-index: 500;
            background: rgba(26, 24, 16, 0.55);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.25s ease;
        }

.page-recruiter-post-job .modal-backdrop.open{
            opacity: 1;
            pointer-events: all;
        }

.page-recruiter-post-job .modal{
            background: var(--bg-card);
            border: 1px solid var(--border-line);
            border-radius: 16px;
            width: 100%;
            max-width: 560px;
            padding: 2.5rem;
            box-shadow: 0 24px 64px rgba(60,50,20,0.18);
            transform: translateY(20px) scale(0.98);
            transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), opacity 0.25s ease;
            opacity: 0;
        }

.page-recruiter-post-job .modal-backdrop.open .modal{
            transform: translateY(0) scale(1);
            opacity: 1;
        }

.page-recruiter-post-job .modal-header{
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            margin-bottom: 1.75rem;
        }

.page-recruiter-post-job .modal-title{
            font-family: 'Playfair Display', serif;
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--ink);
            line-height: 1.2;
        }

.page-recruiter-post-job .modal-sub{
            font-size: 0.8rem;
            color: var(--text-muted);
            margin-top: 0.35rem;
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-size: 0.95rem;
        }

.page-recruiter-post-job .modal-close{
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: var(--bg-subtle);
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-muted);
            flex-shrink: 0;
            margin-left: 1rem;
            transition: background 0.2s, color 0.2s;
        }

.page-recruiter-post-job .modal-close:hover{
            background: var(--border-line);
            color: var(--ink);
        }

        /* Drop zone */
.page-recruiter-post-job .drop-zone{
            border: 2px dashed var(--border-line);
            border-radius: 12px;
            padding: 3rem 2rem;
            text-align: center;
            cursor: pointer;
            transition: border-color 0.22s, background 0.22s;
            position: relative;
        }

.page-recruiter-post-job .drop-zone:hover, .page-recruiter-post-job .drop-zone.dragover{
            border-color: var(--gold-primary);
            background: rgba(180,140,35,0.04);
        }

.page-recruiter-post-job .drop-zone.dragover{
            border-style: solid;
        }

.page-recruiter-post-job .drop-zone input[type="file"]{
            position: absolute;
            inset: 0;
            opacity: 0;
            cursor: pointer;
            width: 100%;
            height: 100%;
        }

.page-recruiter-post-job .drop-icon{
            width: 52px;
            height: 52px;
            border-radius: 12px;
            background: linear-gradient(135deg, #C4A559, #D4A832);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
        }

.page-recruiter-post-job .drop-icon svg{ width: 24px; height: 24px; }

.page-recruiter-post-job .drop-title{
            font-family: 'Playfair Display', serif;
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 0.4rem;
        }

.page-recruiter-post-job .drop-desc{
            font-size: 0.78rem;
            color: var(--text-muted);
            line-height: 1.5;
        }

.page-recruiter-post-job .drop-desc span{
            color: var(--gold-primary);
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 2px;
        }

.page-recruiter-post-job .drop-formats{
            display: flex;
            gap: 6px;
            justify-content: center;
            margin-top: 1.25rem;
        }

.page-recruiter-post-job .format-badge{
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 3px 8px;
            border-radius: 4px;
            background: var(--bg-subtle);
            border: 1px solid var(--border-line);
            color: var(--text-muted);
        }

        /* File selected state */
.page-recruiter-post-job .drop-zone.has-file{
            border-style: solid;
            border-color: var(--gold-primary);
            background: rgba(180,140,35,0.04);
        }

.page-recruiter-post-job .file-info{
            display: none;
            align-items: center;
            gap: 12px;
            margin-top: 1.25rem;
            padding: 0.85rem 1rem;
            background: var(--bg-subtle);
            border-radius: 8px;
            border: 1px solid var(--border-line);
        }

.page-recruiter-post-job .file-info.visible{ display: flex; }

.page-recruiter-post-job .file-icon{
            width: 36px;
            height: 36px;
            border-radius: 8px;
            background: linear-gradient(135deg, #C4A559, #D4A832);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

.page-recruiter-post-job .file-icon svg{ width: 16px; height: 16px; }

.page-recruiter-post-job .file-name{
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--ink);
            flex: 1;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

.page-recruiter-post-job .file-size{
            font-size: 0.72rem;
            color: var(--text-muted);
        }

.page-recruiter-post-job .file-remove{
            background: none;
            border: none;
            cursor: pointer;
            color: var(--text-light);
            padding: 2px;
            line-height: 1;
            transition: color 0.2s;
        }

.page-recruiter-post-job .file-remove:hover{ color: #c0392b; }

.page-recruiter-post-job .modal-divider{
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--border-line), transparent);
            margin: 1.5rem 0;
        }

.page-recruiter-post-job .modal-footer{
            display: flex;
            gap: 10px;
        }

.page-recruiter-post-job .btn-cancel{
            flex: 1;
            padding: 0.85rem;
            border: 1px solid var(--border-line);
            border-radius: 7px;
            background: transparent;
            color: var(--text-muted);
            font-family: 'DM Sans', sans-serif;
            font-size: 0.78rem;
            font-weight: 600;
            cursor: pointer;
            letter-spacing: 0.06em;
            transition: all 0.2s;
        }

.page-recruiter-post-job .btn-cancel:hover{ border-color: var(--border-gold); color: var(--ink); }

.page-recruiter-post-job .btn-extract{
            flex: 2;
            padding: 0.85rem;
            border: none;
            border-radius: 7px;
            background: var(--gold-btn);
            color: #fff;
            font-family: 'DM Sans', sans-serif;
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            cursor: pointer;
            box-shadow: 0 4px 14px rgba(180,140,35,0.28);
            transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
            opacity: 0.45;
            pointer-events: none;
        }

.page-recruiter-post-job .btn-extract.ready{
            opacity: 1;
            pointer-events: all;
        }

.page-recruiter-post-job .btn-extract.ready:hover{
            transform: translateY(-1px);
            box-shadow: var(--shadow-gold);
        }

        /* Processing state */
.page-recruiter-post-job .processing-bar{
            display: none;
            margin-top: 1rem;
        }

.page-recruiter-post-job .processing-bar.visible{ display: block; }

.page-recruiter-post-job .processing-label{
            display: flex;
            justify-content: space-between;
            font-size: 0.72rem;
            color: var(--text-muted);
            margin-bottom: 0.4rem;
        }

.page-recruiter-post-job .progress-track{
            height: 4px;
            background: var(--border-line);
            border-radius: 2px;
            overflow: hidden;
        }

.page-recruiter-post-job .progress-fill{
            height: 100%;
            border-radius: 2px;
            background: var(--gold-gradient);
            width: 0%;
            transition: width 0.3s ease;
        }
    
.page-recruiter-post-job .hub-link:hover{background:rgba(201,165,74,.25);border-color:rgba(201,165,74,.4);color:#E5D4A0;}
.page-recruiter-post-job .hub-link-dot{width:6px;height:6px;border-radius:50%;background:#D4BC7A;}
/* ══ RECRUITER HEADER ══ */
.page-recruiter-post-job .ts-header{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.05);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;height:56px;}
.page-recruiter-post-job .ts-header-left{display:flex;align-items:center;gap:18px;}
.page-recruiter-post-job .ts-h-sep{height:22px;width:1px;background:rgba(0,0,0,.07);}
.page-recruiter-post-job .ts-badge-portal{font-size:9px;font-weight:800;color:#9A7A28;padding:4px 10px;background:linear-gradient(180deg,#FFFBF0,#F5EDCF);border-radius:6px;border:1px solid rgba(184,145,42,.2);letter-spacing:1.5px;text-transform:uppercase;flex-shrink:0;}
.page-recruiter-post-job .ts-nav-links{display:flex;align-items:center;gap:2px;}
.page-recruiter-post-job .ts-nav-link{position:relative;padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:600;color:#666;transition:all .15s;cursor:pointer;background:none;border:none;font-family:inherit;}
.page-recruiter-post-job .ts-nav-link:hover{color:#1a1a1a;background:rgba(0,0,0,.04);}
.page-recruiter-post-job .ts-nav-link.active{font-weight:700;color:#fff;background:linear-gradient(135deg,#C4A559 0%,#D4BC7A 40%,#E5D4A0 70%,#EFE2B8 100%);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 2px 8px rgba(150,120,62,.25);}
.page-recruiter-post-job .ts-header-right{display:flex;align-items:center;gap:8px;}
.page-recruiter-post-job .ts-h-icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;background:#fff;position:relative;transition:all .15s;color:#888;cursor:pointer;}
.page-recruiter-post-job .ts-h-icon-btn:hover{border-color:#D4BC7A;color:#C4A559;transform:translateY(-1px);}
.page-recruiter-post-job .ts-h-icon-btn svg{width:15px;height:15px;}
.page-recruiter-post-job .ts-notif-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#dc2626;border:1.5px solid #fff;}
.page-recruiter-post-job .ts-profile-btn{display:flex;align-items:center;gap:7px;padding:4px 12px 4px 5px;border-radius:8px;border:1px solid rgba(0,0,0,.07);background:#fff;transition:all .15s;cursor:pointer;}
.page-recruiter-post-job .ts-profile-btn:hover{border-color:rgba(0,0,0,.12);}
.page-recruiter-post-job .ts-profile-av{width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,#D4BC7A,#9A7A28);display:flex;align-items:center;justify-content:center;color:#fff;font-size:9px;font-weight:800;}


.page-recruiter-post-job .st0, .page-recruiter-post-job .st1{
        fill: none;
      }

.page-recruiter-post-job .st2{
        fill: url(#Dégradé_sans_nom_2);
      }

.page-recruiter-post-job .st3{
        fill: #231f20;
      }

.page-recruiter-post-job .st4{
        fill: #d9d9d9;
      }

.page-recruiter-post-job .st5{
        fill: #9e7e3f;
      }

.page-recruiter-post-job .st6{
        fill: #fff;
        stroke: url(#Dégradé_sans_nom_4);
        stroke-width: 1.62px;
      }

.page-recruiter-post-job .st7{
        fill: url(#Dégradé_sans_nom);
      }

.page-recruiter-post-job .st8{
        clip-path: url(#clippath);
      }

.page-recruiter-post-job .st1{
        stroke: url(#Dégradé_sans_nom_3);
        stroke-width: 1.8px;
      }