/* === Global layout for fixed navbar === */
:root { --nav-h: 64px; }              /* adjust if your navbar is taller/shorter */
body { padding-top: var(--nav-h); }   /* makes room under fixed navbar */

/* Your evaluation sticky wraps should sit just below the navbar */
.sticky-eval-wrap,
.sticky-eval-head {
  top: var(--nav-h);
}

/* Minimal custom styles */
body { padding-bottom: 40px; }
.table-success td, .table-warning td { font-weight: 600; }

/* Sticky eval head */
.sticky-eval-head { position: sticky; top: 56px; z-index: 100; background: #fff; border-bottom: 1px solid #e5e7eb; padding: .75rem 1rem; margin: 0 -1rem; }
.eval-head-stats { display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:center; }
.eval-pill { background:#f3f4f6; border:1px solid #e5e7eb; border-radius:9999px; padding:.25rem .6rem; font-size:.85rem; }
.eval-required { color:#b45309; font-weight:600; }

/* Rating boxes */
.rating-grid { display:grid; grid-template-columns:repeat(5, minmax(130px,1fr)); gap:6px; align-items:stretch; }
@media (max-width: 992px) { .rating-grid { grid-template-columns: repeat(3, minmax(150px,1fr)); } }
@media (max-width: 576px) { .rating-grid { grid-template-columns: repeat(2, minmax(140px,1fr)); } }
.rating-radio.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.rating-card { display:grid; grid-template-columns:15px auto; align-items:start; gap:5px; padding:10px 10px; border:1px solid #919191; border-radius:4px; background:#fff; min-height:60px; cursor:pointer; transition:background-color .15s ease, box-shadow .15s ease, border-color .15s ease; }
.rating-card:hover { background:#7ff1a2; }
.rating-card .dot { width:16px; height:16px; border:2px solid #9bbf7a; border-radius:50%; margin-top:2px; position:relative; flex:0 0 16px; }
.rating-card .txt { line-height:1.1; }
.rating-card .txt .num { font-weight:700; margin-right:6px; }
.rating-radio:checked + .rating-card { background:#7ff1a2; border-color:#40a85f; box-shadow:0 0 0 2px rgba(212,163,0,.15) inset; }
.rating-radio:checked + .rating-card .dot { border-color:#40a85f; }
.rating-radio:checked + .rating-card .dot::after { content:""; position:absolute; inset:3px; background:#40a85f; border-radius:50%; }
.rating-radio:focus + .rating-card { outline:2px solid #0d6efd; outline-offset:2px; }

/* --- Sticky block for whole evaluation header + column labels --- */
.sticky-eval-wrap{
  position: sticky;
  top: 56px;               /* same as navbar height */
  z-index: 101;
  background: #fff;
  padding: .75rem 1rem .5rem;
  margin: 0 -1rem;         /* stretch edge-to-edge inside .container */
  border-bottom: 1px solid #e5e7eb;
}

/* row that mimics table headers */
.eval-columns {
  display: grid;
  grid-template-columns: 65% 1fr; /* Question | Rating (1–5) */
  gap: 12px;
  font-weight: 600;
  color: #2a3244;
  padding-top: .5rem;
  padding-bottom: .5rem;
  border-top: 1px solid #e5e7eb;
}

/* tighten spacing under the sticky block */
.eval-columns + .eval-divider {
  height: 0; margin: 0; border: 0;
}

.eval-header {
  text-align: left;
  padding-left: 5rem;
}

/* --- Events: More actions toggle --- */
.btn-more{
  width: 36px; height: 36px;
  border: 2px solid #1f2937; /* dark border to match your theme */
  background: #e5eef9;       /* soft blue like in your mock */
  display: inline-flex; align-items: center; justify-content: center;
  position: relative; transition: transform .15s ease;
}
.btn-more::before{
  content: ''; width: 0; height: 0;
  border-left: 8px solid #1f2937;    /* arrow color */
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  transform: rotate(0deg); transition: transform .15s ease;
}
.btn-more.open::before{ transform: rotate(90deg); } /* rotate when open */

.action-row td { background: #f9fafb; border-top: 1px solid #e5e7eb; }
.action-wrap { border-top: 1px dashed #d1d5db; }

/* Results detail tweaks */
#reportRoot .card + .card { margin-top: 1rem; }
#reportRoot .display-5 { letter-spacing: -0.5px; }
#factorChart { min-height: 0; height: auto; }

/* Optional: tighter table headers */
.table th { font-weight: 600; }

/* Compact report layout used by reports */
.report-compact { font-size: .93rem; }
.report-compact .card-body { padding: .75rem 1rem; }
.report-compact .card { margin-bottom: .6rem; }
.report-compact .chart-card .card-body { padding: .5rem .5rem .75rem; }
/* Let JS fully control chart sizes */
#factorChart, #distChart { width: 100% !important; min-height: 0; }

/* --- Compact print-friendly report --- */
.report-compact h1.h5, 
.report-compact h2.h6 { margin-bottom: .35rem; }

.report-compact .table-sm td,
.report-compact .table-sm th { padding: .35rem .5rem; }

.report-compact .badge { font-size: .72rem; padding: .3rem .45rem; }

/* chart area: reduce padding so canvas can be wider */
.report-compact .chart-card .card-body { padding: .5rem .5rem .75rem; }

/* keep canvas height fixed by JS, but allow full width */
#factorChart { width: 100% !important; min-height: 0; }

/* Results: event details card spacing */
.card .badge + .badge { margin-left: .4rem; }

footer a {
  color: #0dcaf0; /* Bootstrap info color */
}
footer a:hover {
  text-decoration: underline;
}

html, body {
  height: 100%;
}

/* remove legacy bottom padding that causes gap under footer */
body { padding-bottom: 0 !important; }

html, body { height: 100%; }      /* ensures flex layout can fill the viewport */
