/* ==========================================================================
   Upload affordance prominence
   --------------------------------------------------------------------------
   Central override that makes every document/file UPLOAD control across the
   app read as a clear, prominent call-to-action instead of a faint dashed /
   ghost / icon-only affordance.

   Why global + !important: each upload control lives in its own Blazor scoped
   stylesheet (.razor.css), so a style set here without !important would lose to
   the scoped rule (class + [b-xxx] attribute = higher specificity). Targeting
   the known upload class names globally with !important lifts them all at once
   -- including the bidder screens and their Proposed-submission twins that
   share class names -- from one file that is easy to tune.

   Scope: only "prominence" properties (border, background, colour, weight,
   icon opacity) are touched; each control keeps its own size/layout/padding.
   The file-uploaded SUCCESS state (.has-file, green) is explicitly preserved.
   ========================================================================== */

/* ---- Drop-zones & boxed/row upload triggers -> solid brand-orange CTA ---- */
.upload-zone,
.doc-add-zone,
.bm-upload-zone,
.doc-select-zone,
.add-doc-trigger,
.doc-slot-upload,
.img-add-zone,
.upload-area {
    border: 2px solid var(--orange, #FF4C0B) !important;
    border-radius: 10px !important;
    background: rgba(255, 76, 11, 0.10) !important;
    color: var(--orange, #FF4C0B) !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background .15s ease, box-shadow .15s ease !important;
}

.upload-zone:hover,
.doc-add-zone:hover,
.bm-upload-zone:hover,
.doc-select-zone:hover,
.add-doc-trigger:hover,
.doc-slot-upload:hover,
.img-add-zone:hover,
.upload-area:hover {
    background: rgba(255, 76, 11, 0.18) !important;
    box-shadow: 0 0 0 3px rgba(255, 76, 11, 0.15) !important;
}

/* Inner labels / plus-badges / icons: force full-strength orange (many are
   dimmed to ~30-45% opacity or muted grey in their scoped styles). */
.upload-zone .upload-label, .upload-zone .upload-label strong,
.doc-add-zone .upload-label, .doc-add-zone .upload-label strong,
.bm-upload-zone .bm-upload-label, .bm-upload-zone .bm-upload-label strong,
.add-doc-title, .add-doc-plus,
.doc-slot-label, .doc-slot-plus,
.img-add-zone-icon, .img-add-zone-text,
.upload-icon, .upload-icon svg {
    color: var(--orange, #FF4C0B) !important;
    opacity: 1 !important;
}

.add-doc-plus,
.doc-slot-plus {
    background: rgba(255, 76, 11, 0.15) !important;
}

/* ---- Preserve the "file uploaded" success state (stay green) ------------- */
.upload-zone.has-file,
.doc-select-zone.has-file,
.bm-upload-zone.has-file,
.upload-zone.has-file:hover,
.doc-select-zone.has-file:hover {
    border-color: #35c26b !important;
    background: rgba(53, 194, 107, 0.10) !important;
    color: #35c26b !important;
    box-shadow: none !important;
}

.upload-zone.has-file .upload-label,
.upload-zone.has-file .upload-label strong,
.upload-zone.has-file .upload-icon,
.upload-zone.has-file .upload-icon svg {
    color: #35c26b !important;
}

/* ---- CV / org-chart "empty" pills -> obvious orange trigger -------------- */
/* Filled pills (real uploaded file) keep their own look; only the empty
   trigger state is lifted. */
.upload-pill.empty {
    border: 1.5px solid var(--orange, #FF4C0B) !important;
    background: rgba(255, 76, 11, 0.10) !important;
    color: var(--orange, #FF4C0B) !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

/* ---- BM Tender-Files "Upload Documents" faint text-link -> solid button --- */
.filter-upload {
    color: #fff !important;
    background: var(--orange, #FF4C0B) !important;
    border: 1px solid var(--orange, #FF4C0B) !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    padding: 0.5rem 0.95rem !important;
    opacity: 1 !important;
}

.filter-upload:hover {
    filter: brightness(1.08) !important;
}

/* ---- Excel-import icon-only / ghost buttons -> give them chrome ---------- */
.ae-cat-icon,
.ae-xbtn {
    border: 1.5px solid var(--orange, #FF4C0B) !important;
    background: rgba(255, 76, 11, 0.10) !important;
    color: var(--orange, #FF4C0B) !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}

.ae-cat-icon:hover,
.ae-xbtn:hover {
    background: rgba(255, 76, 11, 0.18) !important;
}

/* ---- BOQ "Import Rates" (already orange-tinted) -> full solid button ----- */
.boq-tbtn.primary {
    background: var(--orange, #FF4C0B) !important;
    border-color: var(--orange, #FF4C0B) !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.boq-tbtn.primary:hover {
    filter: brightness(1.08) !important;
}

/* ---- Disabled state should never look like an active CTA ----------------- */
.upload-zone.disabled, .doc-add-zone.disabled, .bm-upload-zone.disabled,
.doc-select-zone.disabled, .boq-tbtn.disabled, .ae-xbtn.disabled,
.ae-cat-icon.disabled, .filter-upload.disabled,
.upload-zone[disabled], .boq-tbtn[disabled] {
    opacity: 0.5 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}
