/*
 * 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.
 */

/* Layout helpers moved from inline styles into the application stylesheet. */
/* Slightly tighter table spacing for better vertical density (matches previous inline styles). */
.table.table-sm td a,
.table.table-sm th a {
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

/* Thanks Florian! https://codepen.io/pichfl/pen/qEOoxdE */
table.a {
  /*text-decoration: none;*/
}

/* Remove padding for cells that only contain <a> */
td:has(a:only-child) {
  padding: 0;
}

/* Make that <a> block and add the cells padding */
td:has(a:only-child) a {
  display: block;
}

/* While a confirmAndDisable() form is in flight, lock the page so accidental
   link/button clicks can't navigate away and lose the in-flight response.
   The `app-busy` class is set on <body> by confirmAndDisable() and cleared
   automatically when the redirect lands on a fresh page. */
body.app-busy {
  cursor: wait;
}
body.app-busy a,
body.app-busy button:not([disabled]),
body.app-busy [role="button"] {
  pointer-events: none;
}

/* Navigation styling */
.navbar .nav-link {
  color: #495057;
  text-decoration: none;
  padding: 0.5rem 0;
}

.navbar .nav-link:hover {
  color: #007bff;
}

.navbar .nav-link.fw-bold {
  color: #007bff;
  font-weight: bold;
}

/* Remove the bottom border on the last row of every table. */
.table tbody tr:last-child td,
.table tbody tr:last-child th {
  border-bottom-width: 0;
}

/* Forecast availability table column widths. */
.availability-spacer {
  width: 40px;
}
.availability-summary-col {
  width: 50px;
}
.availability-day-col {
  width: 30px;
}

/* Budget progress bar height. */
.progress-budget {
  height: 8px;
}
