/* Specialized views for maintenance programmes, components, records and reports. */
.subnav { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; padding: 7px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.subnav a { display: inline-flex; align-items: center; border-radius: 8px; min-height: 36px; padding: 8px 12px; color: #566781; font-size: 12px; font-weight: 720; white-space: nowrap; }
.subnav a:hover { background: #f2f5fc; color: #2b4d91; text-decoration: none; }
.subnav a.selected { background: #eaf0fd; color: #264e9c; }
.hero { padding: 24px 26px; background: linear-gradient(110deg,#edf3ff,#fcfdff); border: 1px solid #dce7f8; border-radius: 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hero .tag { color: #5472a5; }
.hero h2 { margin: 5px 0 6px; font-size: 23px; font-weight: 790; }
.hero p { color: #687a98; margin: 0; font-size: 12.5px; }
.notice { line-height: 1.65; border: 1px solid #d7e3f5; border-left: 4px solid #5c84c8; border-radius: 10px; padding: 14px 17px; color: #294577; font-size: 12.5px; background: #edf3ff; }
.notice.critical { border-color: #f0c9d0; border-left-color: #cb425a; background: #fff1f3; color: #873244; }
.notice a { font-weight: 750; }
.issue-row { display: flex; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line-soft); }
.issue-row:last-child { border-bottom: 0; }
.issue-row > div { min-width: 0; flex: 1; }
.issue-row > a { font-size: 12px; font-weight: 740; }
.quickgrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(205px,1fr)); gap: 10px; }
.quickgrid a { background: #f8faff; border: 1px solid #e1e9f6; border-radius: 10px; padding: 16px; font-size: 12.5px; font-weight: 750; color: #2d4d8c; }
.quickgrid a:hover { text-decoration: none; background: #edf3ff; border-color: #c3d6f6; }
.tablink { font-size: 12px; }
.print-control { display: flex; gap: 12px; align-items: center; }
.print-control button { width: auto; }
@media (max-width: 960px) { .subnav { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; } }
@media (max-width: 700px) { .hero { padding: 19px; align-items: flex-start; flex-direction: column; } .hero h2 { font-size: 20px; } .hero .button { width: 100%; } .issue-row { flex-wrap: wrap; align-items: flex-start; } }
@media print {
  .sidebar,.top,.print-control,.subnav,footer,.nav-scrim,.nav-toggle { display: none !important; }
  .layout { display: block; } .layout > main { display: block; } .content { padding: 0; max-width: none; display: block; }
  .card { box-shadow: none; page-break-inside: avoid; break-inside: avoid; border-radius: 0; padding: 11px; margin: 0 0 12px; }
  body { background: white; color: black; } .tablewrap { overflow: visible; } .notice { border: 1px solid #777; }
  a { text-decoration: none; color: black; } thead { display: table-header-group; }
}

/* Fleet type selection and free text search, responsive like dashboard filters. */
.fleet-controls { display:grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr) auto; gap:12px; align-items:end; padding:14px; margin:14px 0; background:#f5f7fc; border:1px solid #e1e7f3; border-radius:12px; }
.fleet-controls label { min-width:0; }
.fleet-controls input, .fleet-controls select { width:100%; }
#fleet-tiles [hidden] { display:none !important; }
@media (max-width:800px) { .fleet-controls { grid-template-columns:1fr; } }
