/* Al Yamm V16 — company registration */
[hidden] { display: none !important; }
.company-hero { direction: rtl; padding: 110px 0 64px; color: #fff; background: radial-gradient(circle at 15% 20%, rgba(255,166,0,.18), transparent 32%), #070d19; }
.company-hero-inner { text-align: right; }
.company-kicker { display: inline-block; color: #ffa313; font-weight: 800; margin-bottom: 12px; }
.company-hero h1 { margin: 0; font-family: "Roshan", "Tajawal", sans-serif; font-size: clamp(48px,7vw,86px); line-height: 1.25; letter-spacing: 0; }
.company-hero p { max-width: 680px; margin: 14px 0 24px; color: #cbd3e0; font-size: 18px; line-height: 1.9; }
.registration-state { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; font-weight: 800; }
.registration-state::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 18%, transparent); }
.registration-state.is-open { color: #72e3ad; background: rgba(26,146,92,.15); border: 1px solid rgba(114,227,173,.3); }
.registration-state.is-closed { color: #ff9f9f; background: rgba(173,42,42,.16); border: 1px solid rgba(255,159,159,.28); }
.company-page { direction: rtl; background: #f4f6f9; padding: 48px 0 90px; }
.company-container { max-width: 1050px; }
.company-alert { display: grid; gap: 4px; padding: 18px 20px; margin-bottom: 20px; border-radius: 16px; }
.company-alert.success { color: #0e6645; background: #e7f8ef; border: 1px solid #bdebd2; }
.company-alert.error { color: #9d2929; background: #ffeded; border: 1px solid #f7cccc; }
.registration-closed { padding: 72px 28px; text-align: center; background: #fff; border: 1px solid #e4e9f0; border-radius: 24px; box-shadow: 0 18px 50px rgba(15,30,55,.06); }
.registration-closed span { color: #c97200; font-weight: 800; }
.registration-closed h2 { margin: 10px 0; color: #101d35; font-size: clamp(28px,4vw,44px); }
.registration-closed p { color: #657084; }
.company-form { display: grid; gap: 22px; }
.company-form-section { padding: 30px; background: #fff; border: 1px solid #e3e8ef; border-radius: 24px; box-shadow: 0 16px 45px rgba(16,29,53,.055); }
.section-heading { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 25px; }
.section-heading > span { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; color: #071329; background: #ffa313; border-radius: 14px; font-weight: 900; }
.section-heading h2 { margin: 0 0 5px; color: #101d35; font-size: 24px; }
.section-heading p { margin: 0; color: #758095; }
.company-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.field { display: grid; gap: 8px; color: #263247; font-weight: 700; }
.field.full { grid-column: 1/-1; }
.field input,.field select,.company-search input,.company-search select,.reject-form input { width: 100%; min-height: 50px; padding: 11px 14px; color: #111c31; background: #fbfcfe; border: 1px solid #d9e0e9; border-radius: 12px; font: inherit; outline: none; transition: border-color .2s,box-shadow .2s; }
.field input:focus,.field select:focus,.company-search input:focus,.company-search select:focus,.reject-form input:focus { border-color: #e28a00; box-shadow: 0 0 0 4px rgba(255,163,19,.13); }
.field small { color: #7d8798; font-weight: 500; }
.field .field-error,.field-error { color: #b62e2e; font-weight: 700; }
.file-field input[type="file"] { padding: 9px; background: #f7f9fc; }
.file-field input[type="file"]::file-selector-button { margin-left: 12px; padding: 8px 14px; border: 0; border-radius: 8px; color: #101d35; background: #ffa313; font-weight: 800; cursor: pointer; }
.participation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.check-card,.confirm-card { position: relative; display: flex; align-items: center; gap: 10px; padding: 15px; color: #263247; background: #f8fafc; border: 1px solid #dfe5ed; border-radius: 13px; cursor: pointer; }
.check-card:has(input:checked),.confirm-card:has(input:checked) { color: #6e4300; background: #fff7e9; border-color: #ffa313; }
.check-card input,.confirm-card input { width: 18px; height: 18px; accent-color: #ee9200; }
.confirm-card { margin-top: 20px; font-weight: 800; }
.block-error { display: block; margin-top: 10px; }
.company-submit { padding: 22px; text-align: center; }
.company-submit-button { min-width: min(100%,420px); padding: 16px 28px; border: 0; border-radius: 14px; color: #0b172b; background: #ffa313; font: 900 18px/1.2 inherit; cursor: pointer; box-shadow: 0 13px 30px rgba(226,138,0,.24); }
.company-submit-button:hover { background: #ffb432; transform: translateY(-1px); }
.company-submit-button:disabled { opacity: .65; cursor: wait; }
.company-submit p { margin: 12px 0 0; color: #697489; font-size: 14px; }

/* Dashboard */
.company-admin-heading { align-items: center; }
.company-admin-state { display: flex; justify-content: space-between; gap: 12px; margin: 18px 0; padding: 14px 18px; border-radius: 13px; }
.company-admin-state.is-open { color: #116240; background: #e8f8ef; border: 1px solid #bde9d0; }
.company-admin-state.is-closed { color: #982c2c; background: #ffeded; border: 1px solid #f6cbcb; }
.company-metrics { margin-top: 18px; }
.company-admin-panel { direction: rtl; }
.company-search { display: grid; grid-template-columns: minmax(260px,1fr) minmax(170px,240px) auto auto; align-items: end; gap: 12px; margin-bottom: 22px; }
.company-search label { display: grid; gap: 7px; color: #3b4658; font-weight: 700; }
.company-admin-list { display: grid; gap: 16px; }
.company-application { padding: 20px; border: 1px solid #e1e6ed; border-radius: 16px; background: #fff; }
.company-application > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #edf0f4; }
.application-id { color: #8a6570; font-size: 13px; font-weight: 800; }
.company-application h2 { margin: 4px 0; color: #162239; font-size: 21px; }
.company-application header p { margin: 0; color: #6b7587; }
.company-status { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; font-size: 13px; font-weight: 900; }
.status-pending { color: #8a5900; background: #fff3d8; }
.status-approved { color: #0e7049; background: #ddf7ea; }
.status-rejected { color: #a02c2c; background: #fee8e8; }
.application-details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 17px 0; }
.application-details > div { display: grid; gap: 3px; padding: 12px; background: #f7f9fc; border-radius: 10px; }
.application-details span,.application-details small { color: #737e90; font-size: 12px; }
.application-details strong { color: #202b3e; overflow-wrap: anywhere; }
.application-participation { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 14px; color: #596477; }
.application-participation b { padding: 5px 9px; color: #5f420b; background: #fff5e4; border-radius: 8px; font-size: 12px; }
.application-files,.application-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.application-actions { margin-top: 16px; padding-top: 16px; border-top: 1px solid #edf0f4; }
.reject-form { display: flex; flex: 1; gap: 8px; min-width: 280px; }
.reject-form input { min-height: 42px; }
.company-approve { color: #0b6843; background: #dff7ea; border: 1px solid #b9eacf; }
.company-reject { color: #9d2929; background: #fee9e9; border: 1px solid #f4c5c5; }
.application-actions button:disabled { opacity: .48; cursor: default; }
.rejection-note { margin: 12px 0 0; padding: 11px; color: #882929; background: #fff1f1; border-radius: 9px; }
.company-empty { display: grid; gap: 6px; padding: 50px 20px; text-align: center; color: #727c8d; border: 1px dashed #cfd6df; border-radius: 14px; }
.company-empty strong { color: #273247; font-size: 20px; }
.company-pagination { margin-top: 20px; }

@media (max-width: 850px) {
    .participation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .application-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .company-search { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .company-hero { padding: 88px 0 48px; }
    .company-hero h1 { font-size: 48px; line-height: 1.3; }
    .company-page { padding: 28px 0 60px; }
    .company-form-section { padding: 20px 16px; border-radius: 18px; }
    .section-heading > span { flex-basis: 42px; width: 42px; height: 42px; }
    .section-heading h2 { font-size: 20px; }
    .company-fields,.participation-grid,.company-search,.application-details { grid-template-columns: 1fr; }
    .company-admin-state,.company-application > header { flex-direction: column; }
    .company-search .btn { width: 100%; }
    .reject-form { flex-direction: column; min-width: 100%; }
    .application-actions,.application-actions form:not(.reject-form) { width: 100%; }
    .application-actions button { width: 100%; }
}
