
/* InfraTrack v3.2.0 Enterprise UI Upgrade
   Global safe UI layer - no controller/route rewrite */
:root{
  --itx-maroon:#9b0000;
  --itx-maroon-dark:#7c0000;
  --itx-text:#071327;
  --itx-muted:#64748b;
  --itx-bg:#f4f7fb;
  --itx-card:#ffffff;
  --itx-line:#dbe6f3;
  --itx-soft:#f8fafc;
  --itx-success:#15803d;
  --itx-danger:#b91c1c;
  --itx-radius:18px;
  --itx-shadow:0 18px 45px rgba(15,23,42,.07);
  --itx-shadow-soft:0 10px 25px rgba(15,23,42,.06);
  --itx-font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
body{
  background:var(--itx-bg)!important;
  color:var(--itx-text)!important;
  font-family:var(--itx-font)!important;
}
.main, main{
  background:linear-gradient(180deg,#f7faff 0%,#f2f6fb 100%)!important;
}
h1,h2,h3,h4,.page-head h1,.proc295-head h1,.proc296-head h1{
  color:var(--itx-text)!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
p,.muted,.proc-muted,small{
  color:var(--itx-muted)!important;
}
.eyebrow{
  color:var(--itx-maroon)!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.card,.proc-card,.proc295-card,.proc296-card,.ops-card,.pe-card,
.proc-enterprise-shell > section,
.proc-enterprise-shell .card,
.table-wrap,.proc295-table-wrap{
  border:1px solid var(--itx-line)!important;
  border-radius:var(--itx-radius)!important;
  background:var(--itx-card)!important;
  box-shadow:var(--itx-shadow-soft)!important;
}
.page-head,.proc295-head,.proc296-head,.ops-head,.proc-enterprise-shell > .proc-head{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:22px 6px 18px!important;
  margin-bottom:10px!important;
}
table,.table,.proc295-table,.proc296-table{
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
thead th,.thead,.table-head,.proc296-table .head{
  background:#f8fbff!important;
  color:#53657e!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  font-weight:850!important;
}
tbody tr,.card-row,.row.card-row{
  background:#fff!important;
  border:1px solid var(--itx-line)!important;
  border-radius:16px!important;
  box-shadow:0 7px 18px rgba(15,23,42,.035)!important;
}
.card-row{
  margin-bottom:10px!important;
}
input,select,textarea{
  border:1px solid #cfdae9!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--itx-text)!important;
  box-shadow:none!important;
  outline:none!important;
  transition:border-color .16s ease, box-shadow .16s ease!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#b9c8dd!important;
  box-shadow:0 0 0 4px rgba(155,0,0,.07)!important;
}

/* -------- Unified button system -------- */
a,button{transition:all .16s ease!important}
.itx-ui-btn,
.btn,
.proc-btn,
.proc295-btn,
.proc296-btn,
.pe-btn,
.pe-mini,
.mini-btn,
button[type="submit"],
input[type="submit"]{
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border-radius:12px!important;
  padding:8px 16px!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  border:1px solid #d3deec!important;
  background:#fff!important;
  color:var(--itx-maroon)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
}
.itx-ui-btn:hover,
.btn:hover,.proc-btn:hover,.proc295-btn:hover,.proc296-btn:hover,.pe-btn:hover,.pe-mini:hover,.mini-btn:hover,
button[type="submit"]:hover,input[type="submit"]:hover{
  transform:translateY(-1px)!important;
  border-color:#c2cedf!important;
  background:#fff7f7!important;
  color:var(--itx-maroon-dark)!important;
  box-shadow:0 14px 28px rgba(15,23,42,.09)!important;
}
.itx-ui-btn.primary,
.btn.primary,
.proc-btn.primary,
.proc295-btn.primary,
.proc296-btn.primary,
button.itx-save,
button[type="submit"]:not(.itx-btn-open):not(.itx-btn-compare):not(.itx-btn-delete):not(.itx-btn-edit){
  background:linear-gradient(135deg,var(--itx-maroon),var(--itx-maroon-dark))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 12px 28px rgba(155,0,0,.18)!important;
}
.itx-ui-btn.primary:hover,
.btn.primary:hover,
.proc-btn.primary:hover,
.proc295-btn.primary:hover,
.proc296-btn.primary:hover,
button.itx-save:hover,
button[type="submit"]:not(.itx-btn-open):not(.itx-btn-compare):not(.itx-btn-delete):not(.itx-btn-edit):hover{
  background:linear-gradient(135deg,#880000,#650000)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(155,0,0,.24)!important;
}
/* Open, Compare, New Request requested to match the clean Open style */
.itx-btn-open,
.itx-btn-compare,
.itx-btn-new,
a[href*="vendor-comparison"],
a[href*="/compare"],
a[href*="/requests/create"],
a[href*="/procurement/create"],
.proc296-btn.compare,
.proc-btn-compare,
.proc296-new{
  background:#fff!important;
  color:var(--itx-maroon)!important;
  border:1px solid #d3deec!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
.itx-btn-open:hover,
.itx-btn-compare:hover,
.itx-btn-new:hover,
a[href*="vendor-comparison"]:hover,
a[href*="/compare"]:hover,
a[href*="/requests/create"]:hover,
a[href*="/procurement/create"]:hover,
.proc296-btn.compare:hover,
.proc-btn-compare:hover,
.proc296-new:hover{
  background:#fff7f7!important;
  color:var(--itx-maroon-dark)!important;
  border-color:#c8d4e4!important;
}
.itx-btn-edit,
a[href*="/edit"],
button.itx-btn-edit{
  background:#fff!important;
  color:var(--itx-maroon)!important;
  border:1px solid #d3deec!important;
}
.itx-btn-delete,
a[href*="/delete"],
form[action*="/delete"] button,
button.danger,
.btn.danger,
.proc-btn-danger,
.proc296-btn.danger,
.mini-btn.danger{
  background:#fff!important;
  color:var(--itx-danger)!important;
  border:1px solid #fecaca!important;
  box-shadow:0 8px 20px rgba(185,28,28,.04)!important;
}
.itx-btn-delete:hover,
a[href*="/delete"]:hover,
form[action*="/delete"] button:hover,
button.danger:hover,
.btn.danger:hover,
.proc-btn-danger:hover,
.proc296-btn.danger:hover,
.mini-btn.danger:hover{
  background:#fff1f2!important;
  color:#991b1b!important;
  border-color:#fca5a5!important;
}

/* Button alignment in lists/cards */
.head-actions,.proc296-actions,.proc295-actions,.proc-actions,.app-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.proc295-quote-grid,.quotation-grid,.submitted-quotations,.quote-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
}
.quote-card,
.proc295-quote-grid > div,
.submitted-quotations > div{
  min-height:260px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:8px!important;
  border-radius:18px!important;
  padding:18px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.04)!important;
}
.quote-card > a[href*="/edit"],
.quote-card > a[href*="/delete"],
.proc295-quote-grid > div > a[href*="/edit"],
.proc295-quote-grid > div > a[href*="/delete"]{
  align-self:center!important;
  min-width:86px!important;
}
.quote-card > a[href*="/edit"],
.proc295-quote-grid > div > a[href*="/edit"]{
  margin-top:auto!important;
}
.quote-card > a[href*="/delete"],
.proc295-quote-grid > div > a[href*="/delete"]{
  margin-top:2px!important;
}
.quote-card strong,.proc295-quote-grid strong{
  color:var(--itx-maroon)!important;
  font-size:24px!important;
  line-height:1.05!important;
}
.proc296-pill,.proc-status-badge,.badge,.pill{
  border-radius:999px!important;
  padding:6px 11px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.proc296-pill.good,.proc-status-complete,.badge.success{
  background:#dcfce7!important;color:#166534!important;
}
.proc296-pill.bad,.badge.danger{
  background:#fee2e2!important;color:#991b1b!important;
}

/* Premium delete confirmation modal */
.itx-modal-backdrop{
  position:fixed!important;
  inset:0!important;
  display:none;
  z-index:99999!important;
  background:rgba(15,23,42,.48)!important;
  backdrop-filter:blur(10px)!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
}
.itx-modal-backdrop.is-open{display:flex!important}
.itx-modal{
  width:min(460px,100%)!important;
  background:#fff!important;
  border:1px solid #e5eaf2!important;
  border-radius:24px!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  padding:24px!important;
  color:var(--itx-text)!important;
  animation:itxPop .16s ease-out!important;
}
@keyframes itxPop{from{transform:translateY(12px) scale(.98);opacity:.4}to{transform:none;opacity:1}}
.itx-modal-icon{
  width:46px;height:46px;border-radius:16px;background:#fff1f2;color:var(--itx-danger);
  display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin-bottom:12px
}
.itx-modal h3{margin:0 0 8px!important;font-size:22px!important}
.itx-modal p{margin:0 0 20px!important;color:var(--itx-muted)!important;line-height:1.5!important}
.itx-modal-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important}
.itx-modal-actions button{min-width:110px!important}

/* Responsive cleanup */
@media(max-width:900px){
  .main,main{padding:18px!important}
  .page-head,.proc295-head,.proc296-head{align-items:flex-start!important;gap:14px!important}
  .head-actions,.proc296-actions,.proc295-actions{justify-content:flex-start!important}
  .proc295-quote-grid,.quotation-grid,.submitted-quotations,.quote-grid{grid-template-columns:1fr!important}
  table,.proc295-table,.proc296-table{font-size:13px!important}
}
