/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/*
  Soft UI Dashboard resets button/input[submit] background-color to transparent
  outside of any @layer, which overrides Tailwind utilities (inside @layer).
  This rule restores background control to Tailwind by removing the reset.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
  background-color: revert-layer;
  background-image: revert-layer;
}

/* Sidenav link colors — un-layered so Soft UI's global a{} reset cannot override */
#sidenav-main ul a { color: #475569; } /* slate-600 */

.turbo-progress-bar { display: none; }

/* Notification row colors — inside <a> tags, Tailwind utilities lose to Soft UI's a{} rule */
.notif-row-unread { color: #0f172a; font-weight: 600; }
.notif-row-read   { color: #94a3b8; }

/* VEN code links — same Soft UI a{} override problem as above */
.ven-code-link       { color: #fff; }
.ven-code-link-black { color: #000; }

/* Operation code links (non-VEN) — same Soft UI a{} override problem as above */
.op-code-link-black { color: #000; }

.border-red-400 {
  border-color: #f87171;
}
.border-red-400:focus {
  border-color: #f87171;
}

.border-gray-200 {
  border-color: #e5e7eb;
}

.border-black {
  border-color: #000000 !important;
}

.rounded-none {
  border-radius: 0 !important;
}

.border   { border-width: 1px; }
.border-l { border-left-width: 1px; }
.border-r { border-right-width: 1px; }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }

.border-collapse {
  border-collapse: collapse;
}

.table-bordered td,
.table-bordered th {
  border-top: 1px solid black !important;
  border-right: 1px solid black !important;
  border-bottom: 1px solid black !important;
  border-left: 1px solid black !important;
}

.ac-table.table-bordered tbody tr td {
  border-top: 1px solid black !important;
  border-right: 1px solid black !important;
  border-bottom: 1px solid black !important;
  border-left: 1px solid black !important;
}

.ac-table td {
  font-size: 0.75rem;
  line-height: 1rem;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-left: 8px;
  padding-right: 8px;
}

.ac-table.dev-table td {
  padding-top: 0;
  padding-bottom: 0;
}

/* Flat white UI — no shadows, no gradients */
* {
  box-shadow: none !important;
  text-shadow: none !important;
}

[class*="bg-gradient"] {
  background-image: none !important;
}

/* Workflow accept/confirm buttons — always rendered. The actionable one is
   colored, the other 2 are gray and :disabled (see systemic
   "SIEMPRE DEBEN APARECER TODOS LOS BOTONES..." Basecamp ticket). */
.wf-btn {
  color: white;
  transition: background-color 0.15s ease-in-out;
}
.wf-btn:disabled {
  background-color: #9CA3AF;
  cursor: not-allowed;
  opacity: 0.6;
}
.wf-btn-accept:not(:disabled)  { background-color: #E67E22; }
.wf-btn-confirm:not(:disabled) { background-color: #2ecc71; }
.wf-btn-accept:not(:disabled):hover  { background-color: #cf701d; }
.wf-btn-confirm:not(:disabled):hover { background-color: #27b464; }

/* Hidden until badge_align_controller#align positions it — prevents a visible
   jump from the unaligned to the aligned position on first paint. */
[data-badge-align-target="button"],
[data-badge-align-target="label"] {
  visibility: hidden;
}
