/* Hide default WP admin chrome only on this page, so the custom app can use the full screen */
body.toplevel_page_she-careers #wpadminbar,
body.toplevel_page_she-careers #adminmenumain,
body.toplevel_page_she-careers #wpfooter,
body.toplevel_page_she-careers .notice,
body.toplevel_page_she-careers #screen-meta-links { display: none !important; }
body.toplevel_page_she-careers html { margin-top: 0 !important; }
body.toplevel_page_she-careers #wpcontent,
body.toplevel_page_she-careers #wpbody-content { margin-left: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; }
body.toplevel_page_she-careers #wpbody { padding-top: 0 !important; }
body.toplevel_page_she-careers .she-careers-app * { box-sizing: border-box !important; }

.she-careers-app {
    font-family: Arial, Helvetica, sans-serif !important;
    --primary: #0b5cff; --primary-dark: #0047cc; --dark: #111827; --text: #374151;
    --muted: #6b7280; --light: #f5f7fb; --border: #e5e7eb; --success: #16a34a;
    --warning: #d97706; --danger: #dc2626; --purple: #7c3aed; --shadow: 0 8px 30px rgba(0,0,0,.06);
    background: var(--light) !important; color: var(--text) !important; position: relative !important; min-height: 100vh !important;
}
.she-careers-app button, .she-careers-app input, .she-careers-app select, .she-careers-app textarea { font: inherit !important; }
.she-careers-app button { cursor: pointer !important; }

/* Hard reset: neutralize the theme's global element styles (buttons,
   links, headings, form controls) before our own rules below re-apply
   the dashboard's intended look — same fix as public.css, needed here
   because the front-end [she_careers_dashboard] portal also runs
   inside the theme, whose default styles otherwise win on anything
   we don't explicitly set (this is what made headings and buttons
   render at the theme's oversized defaults). */
.she-careers-app a,
.she-careers-app button,
.she-careers-app input,
.she-careers-app select,
.she-careers-app textarea,
.she-careers-app ul,
.she-careers-app li,
.she-careers-app h1,
.she-careers-app h2,
.she-careers-app h3,
.she-careers-app h4,
.she-careers-app p {
    all: revert !important;
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
}
.she-careers-app button,
.she-careers-app input,
.she-careers-app select,
.she-careers-app textarea {
    margin: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
}
.she-careers-app a { text-decoration: none !important; color: inherit !important; }
.she-careers-app ul, .she-careers-app li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.she-careers-app h1, .she-careers-app h2, .she-careers-app h3, .she-careers-app h4, .she-careers-app p { margin: 0 !important; }

.she-careers-app button::before,
.she-careers-app button::after,
.she-careers-app a::before,
.she-careers-app a::after {
    content: none !important;
    display: none !important;
}
.she-careers-app button,
.she-careers-app a {
    transform: translateZ(0) !important;
    isolation: isolate !important;
}
.she-careers-app button:hover,
.she-careers-app button:focus,
.she-careers-app button:active,
.she-careers-app a:hover,
.she-careers-app a:focus,
.she-careers-app a:active {
    background-image: none !important;
    position: static !important;
    overflow: visible !important;
    transform: none !important;
    box-shadow: none !important;
    content: none !important;
}

.she-careers-app .sidebar {
    position: fixed !important; left: 0 !important; top: 0 !important; bottom: 0 !important; width: 250px !important;
    background: #111827 !important; color: white !important; display: flex !important; flex-direction: column !important;
    padding: 25px 15px !important; z-index: 100 !important;
}
.she-careers-app .logo { display: flex !important; align-items: center !important; gap: 10px !important; padding: 0 12px 30px !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: normal !important; color: white !important; }
.she-careers-app .logo-box { width: 40px !important; height: 40px !important; background: var(--primary) !important; border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; }
.she-careers-app .menu-title { font-size: 11px !important; text-transform: uppercase !important; color: #94a3b8 !important; padding: 0 12px !important; margin: 15px 0 8px !important; }
.she-careers-app .menu-item {
    width: 100% !important; border: none !important; background: transparent !important; color: #cbd5e1 !important; padding: 13px 12px !important;
    border-radius: 8px !important; display: flex !important; align-items: center !important; gap: 12px !important; text-align: left !important;
    margin-bottom: 4px !important; cursor: pointer !important; text-decoration: none !important;
}
.she-careers-app .menu-item.active { background: #1e293b !important; color: white !important; }
.she-careers-app .menu-icon { width: 20px !important; text-align: center !important; }

.she-careers-app .main { margin-left: 250px !important; min-height: 100vh !important; }

/* Portal (front-end [she_careers_dashboard]) mode only: the page runs
   inside the theme's own header/footer, so a viewport-fixed sidebar at
   top:0 sits on top of the theme header instead of beside the page
   content. Switch to a normal-flow flex layout with a sticky sidebar
   that starts right where the shortcode content begins on the page. */
.she-careers-app.is-portal {
    display: flex !important;
    align-items: flex-start !important;
}
.she-careers-app.is-portal .sidebar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    bottom: auto !important;
    height: 100vh !important;
    flex: 0 0 250px !important;
    align-self: flex-start !important;
}
.she-careers-app.is-portal .main {
    margin-left: 0 !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.she-careers-app .topbar { height: 72px !important; background: white !important; border-bottom: 1px solid var(--border) !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0 30px !important; }
.she-careers-app .topbar-title h1 { font-size: 20px !important; color: var(--dark) !important; margin: 0 !important; }
.she-careers-app .topbar-title p { font-size: 12px !important; color: var(--muted) !important; margin: 0 !important; }
.she-careers-app .admin-user { display: flex !important; align-items: center !important; gap: 10px !important; }
.she-careers-app .avatar { width: 38px !important; height: 38px !important; border-radius: 50% !important; background: #eaf2ff !important; color: var(--primary) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; }
.she-careers-app .content { padding: 30px !important; }

.she-careers-app .page { display: none !important; }
.she-careers-app .page.active { display: block !important; }

.she-careers-app .stats { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; margin-bottom: 30px !important; }
.she-careers-app .stat { background: white !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 20px !important; }
.she-careers-app .stat-top { display: flex !important; justify-content: space-between !important; align-items: center !important; }
.she-careers-app .stat-label { color: var(--muted) !important; font-size: 13px !important; }
.she-careers-app .stat-icon { width: 38px !important; height: 38px !important; border-radius: 8px !important; background: #eaf2ff !important; color: var(--primary) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.she-careers-app .stat-number { color: var(--dark) !important; font-size: 30px !important; font-weight: 800 !important; margin-top: 10px !important; }

.she-careers-app .toolbar { background: white !important; border: 1px solid var(--border) !important; padding: 18px !important; border-radius: 12px !important; margin-bottom: 20px !important; display: flex !important; justify-content: space-between !important; gap: 15px !important; flex-wrap: wrap !important; }
.she-careers-app .toolbar h2 { font-size: 18px !important; font-weight: 800 !important; color: var(--dark) !important; letter-spacing: normal !important; }
.she-careers-app .toolbar p { font-size: 12.5px !important; }
.she-careers-app .toolbar-left, .she-careers-app .toolbar-right { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
.she-careers-app .input, .she-careers-app .select, .she-careers-app .textarea { border: 1px solid var(--border) !important; background: white !important; border-radius: 8px !important; padding: 11px 13px !important; outline: none !important; }
.she-careers-app .input:focus, .she-careers-app .select:focus, .she-careers-app .textarea:focus { border-color: var(--primary) !important; }
.she-careers-app .search { min-width: 260px !important; }

.she-careers-app .btn { border: none !important; border-radius: 8px !important; padding: 11px 16px !important; font-weight: 700 !important; }
.she-careers-app .btn-primary { background: var(--primary) !important; color: white !important; }
.she-careers-app .btn-secondary { background: #eef2f7 !important; color: var(--dark) !important; }
.she-careers-app .btn-success { background: #dcfce7 !important; color: #166534 !important; }
.she-careers-app .btn-warning { background: #fef3c7 !important; color: #92400e !important; }
.she-careers-app .btn-danger { background: #fee2e2 !important; color: #991b1b !important; }
.she-careers-app .btn-small { padding: 7px 10px !important; font-size: 12px !important; }

.she-careers-login-overlay {
    position: fixed !important; inset: 0 !important; z-index: 1000 !important; display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 20px !important; background: radial-gradient(circle at 20% 20%, #123734 0%, #0c1516 60%) !important;
}
.she-careers-login-card { width: 100% !important; max-width: 420px !important; background: white !important; border-radius: 18px !important; padding: 40px 36px !important; box-shadow: 0 30px 70px -20px rgba(0,0,0,.5) !important; color: #374151 !important; }
.she-careers-login-mark { width: 48px !important; height: 48px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 22px !important; border-radius: 13px !important; background: #0b5cff !important; color: white !important; font-size: 13px !important; font-weight: 800 !important; }
.she-careers-login-eyebrow { display: block !important; margin-bottom: 8px !important; color: #0b5cff !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .14em !important; }
.she-careers-login-card h1 { margin: 0 0 8px !important; color: #111827 !important; font-size: 26px !important; }
.she-careers-login-card > p { margin: 0 0 24px !important; color: #6b7280 !important; line-height: 1.6 !important; font-size: 14px !important; }
.she-careers-login-card .field { margin-bottom: 16px !important; }
.she-careers-login-card .field label { display: block !important; margin-bottom: 7px !important; color: #111827 !important; font-size: 12px !important; font-weight: 700 !important; }
.she-careers-login-card .field input { width: 100% !important; height: 44px !important; padding: 0 13px !important; border: 1px solid #e5e7eb !important; border-radius: 8px !important; font-size: 14px !important; outline: none !important; }
.she-careers-login-card .field input:focus { border-color: #0b5cff !important; box-shadow: 0 0 0 4px rgba(11,92,255,.1) !important; }
.she-careers-login-error { background: #fee2e2 !important; color: #991b1b !important; font-size: 12.5px !important; padding: 10px 12px !important; border-radius: 8px !important; margin-bottom: 16px !important; display: none !important; }
.she-careers-app .menu-item.logout { color: #f4b8ac !important; }

.she-careers-app .table-container { background: white !important; border: 1px solid var(--border) !important; border-radius: 12px !important; overflow-x: auto !important; }
.she-careers-app table { width: 100% !important; border-collapse: collapse !important; min-width: 900px !important; }
.she-careers-app th { background: #f8fafc !important; text-align: left !important; padding: 15px !important; font-size: 12px !important; color: var(--muted) !important; text-transform: uppercase !important; }
.she-careers-app td { padding: 15px !important; border-top: 1px solid var(--border) !important; font-size: 13px !important; }
.she-careers-app .job-title { color: var(--dark) !important; font-weight: 700 !important; }
.she-careers-app .job-company { color: var(--muted) !important; font-size: 12px !important; margin-top: 3px !important; }

.she-careers-app .badge { display: inline-flex !important; padding: 5px 9px !important; border-radius: 20px !important; font-size: 11px !important; font-weight: 700 !important; }
.she-careers-app .badge-published { background: #dcfce7 !important; color: #166534 !important; }
.she-careers-app .badge-draft { background: #fef3c7 !important; color: #92400e !important; }
.she-careers-app .badge-closed { background: #fee2e2 !important; color: #991b1b !important; }
.she-careers-app .badge-client { background: #f3e8ff !important; color: #7e22ce !important; }
.she-careers-app .badge-she { background: #eaf2ff !important; color: var(--primary) !important; }
.she-careers-app .badge-new { background: #e0e7ff !important; color: #4338ca !important; }
.she-careers-app .badge-reviewing { background: #fef3c7 !important; color: #92400e !important; }
.she-careers-app .badge-shortlisted { background: #dbeafe !important; color: #1d4ed8 !important; }
.she-careers-app .badge-interview { background: #f3e8ff !important; color: #7e22ce !important; }
.she-careers-app .badge-selected { background: #dcfce7 !important; color: #166534 !important; }
.she-careers-app .badge-rejected { background: #fee2e2 !important; color: #991b1b !important; }
.she-careers-app .actions { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }

.she-careers-app .overlay { position: fixed !important; inset: 0 !important; background: rgba(0,0,0,.6) !important; display: none !important; align-items: center !important; justify-content: center !important; padding: 20px !important; z-index: 500 !important; }
.she-careers-app .overlay.active { display: flex !important; }
.she-careers-app .modal { background: white !important; width: 100% !important; max-width: 900px !important; max-height: 92vh !important; overflow-y: auto !important; border-radius: 15px !important; padding: 30px !important; position: relative !important; }
.she-careers-app .close { position: absolute !important; top: 15px !important; right: 18px !important; width: 34px !important; height: 34px !important; border: none !important; border-radius: 50% !important; background: #f3f4f6 !important; font-size: 20px !important; }
.she-careers-app .close:hover, .she-careers-app .close:focus { position: absolute !important; top: 15px !important; right: 18px !important; background: #e5e7eb !important; }
.she-careers-app .modal h2 { color: var(--dark) !important; font-size: 20px !important; font-weight: 800 !important; margin-bottom: 25px !important; }

.she-careers-app .form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
.she-careers-app .form-group { display: flex !important; flex-direction: column !important; gap: 7px !important; }
.she-careers-app .form-group.full { grid-column: 1 / -1 !important; }
.she-careers-app .form-group label { color: var(--dark) !important; font-size: 13px !important; font-weight: 700 !important; }
.she-careers-app .textarea { min-height: 130px !important; resize: vertical !important; }
.she-careers-app .form-help { color: var(--muted) !important; font-size: 11px !important; }
.she-careers-app .form-actions { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 25px !important; padding-top: 20px !important; border-top: 1px solid var(--border) !important; }

.she-careers-app .application-card { background: white !important; border: 1px solid var(--border) !important; border-radius: 12px !important; padding: 20px !important; margin-bottom: 12px !important; }
.she-careers-app .application-header { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; gap: 12px !important; flex-wrap: wrap !important; }
.she-careers-app .applicant-name { color: var(--dark) !important; font-size: 17px !important; font-weight: 700 !important; }
.she-careers-app .applicant-job { color: var(--muted) !important; font-size: 13px !important; margin-top: 3px !important; }
.she-careers-app .application-info { display: flex !important; flex-wrap: wrap !important; gap: 15px !important; margin-top: 15px !important; font-size: 13px !important; }
.she-careers-app .application-actions { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
.she-careers-app .status-select { border: 1px solid var(--border) !important; border-radius: 7px !important; padding: 7px 10px !important; }

.she-careers-app .empty { text-align: center !important; padding: 60px 20px !important; color: var(--muted) !important; }

.she-careers-app .toast { position: fixed !important; bottom: 25px !important; right: 25px !important; background: #111827 !important; color: white !important; padding: 14px 18px !important; border-radius: 8px !important; display: none !important; z-index: 1000 !important; }
.she-careers-app .toast.show { display: block !important; }

@media(max-width: 1000px) { .she-careers-app .stats { grid-template-columns: repeat(2,1fr) !important; } }
@media(max-width: 750px) {
    .she-careers-app .sidebar { width: 65px !important; padding: 20px 8px !important; }
    .she-careers-app .logo span, .she-careers-app .menu-item span:not(.menu-icon), .she-careers-app .menu-title { display: none !important; }
    .she-careers-app .logo { justify-content: center !important; padding-left: 0 !important; padding-right: 0 !important; }
    .she-careers-app .menu-item { justify-content: center !important; padding: 13px 5px !important; }
    .she-careers-app .main { margin-left: 65px !important; }
    .she-careers-app .content { padding: 20px !important; }
    .she-careers-app .stats { grid-template-columns: 1fr !important; }
    .she-careers-app .form-grid { grid-template-columns: 1fr !important; }
    .she-careers-app .form-group.full { grid-column: auto !important; }
    .she-careers-app .toolbar { flex-direction: column !important; align-items: stretch !important; }
    .she-careers-app .search { min-width: 100% !important; }
}
