.maintenance-panel { margin: 26px 0 40px; color: #30372c; scroll-margin-top: 90px; }
.maintenance-nav, .maintenance-home-title { display: flex; align-items: center; gap: 9px; }
.maintenance-attention-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; flex-shrink: 0; padding: 0 7px; border-radius: 99px; background: #b42325; color: #fff; font-size: 12px; line-height: 1; font-weight: 800; letter-spacing: 0; }
.maintenance-home-title .maintenance-attention-count { min-width: 27px; height: 27px; font-size: 13px; }
.maintenance-panel *, .maintenance-viewer-backdrop *, .maintenance-panel *::before, .maintenance-panel *::after { box-sizing: border-box; }
.maintenance-panel h1 { margin: 5px 0 12px; font-size: clamp(29px, 5vw, 39px); line-height: 1.15; letter-spacing: -.025em; overflow-wrap: anywhere; }
.maintenance-panel h2 { margin: 0 0 16px; font-size: 22px; line-height: 1.3; }
.maintenance-panel p { line-height: 1.55; }
.maintenance-panel .eyebrow { margin: 0; color: #75602c; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.maintenance-heading > p:last-child { color: #68715e; margin: 8px 0 0; font-size: 15px; }
.maintenance-heading { margin-bottom: 24px; }
.maintenance-button, .maintenance-tab { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; padding: 11px 17px; border: 1px solid #cdd0c5; border-radius: 11px; background: #fff; color: #30372c; font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; text-align: center; text-decoration: none; touch-action: manipulation; }
.maintenance-button:hover, .maintenance-tab:hover { background: #f6f4ec; border-color: #8d9482; }
.maintenance-button.maintenance-primary { background: #ffb117; border-color: #ed9e04; color: #272910; }
.maintenance-button.maintenance-primary:hover { background: #f8a900; }
.maintenance-button:disabled, .maintenance-tab:disabled, .maintenance-record:disabled { opacity: .55; cursor: wait; }
.maintenance-panel button:focus-visible, .maintenance-panel input:focus-visible, .maintenance-panel select:focus-visible, .maintenance-panel textarea:focus-visible, .maintenance-panel a:focus-visible, .maintenance-viewer-backdrop button:focus-visible, .maintenance-viewer-backdrop a:focus-visible { outline: 3px solid #ad6e00; outline-offset: 3px; }
.maintenance-list-heading, .maintenance-page-heading, .maintenance-results-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.maintenance-list-heading { align-items: flex-start; margin-bottom: 24px; }
.maintenance-list-heading .maintenance-heading { margin-bottom: 0; }
.maintenance-list-heading > .maintenance-button { min-height: 56px; min-width: 210px; flex-shrink: 0; }
.maintenance-page-heading { margin-bottom: 23px; }
.maintenance-page-heading > .maintenance-hint { margin: 0; text-align: right; font-size: 12px; }
.maintenance-section { border: 1px solid #d9ddcf; border-radius: 16px; padding: 25px; margin-bottom: 18px; background: #fff; }
.maintenance-work-area { min-width: 0; border: 0; margin: 0; padding: 0; }
.maintenance-hint { font-size: 14px; color: #68715e; margin: 0 0 18px; }
.maintenance-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0 0 19px; font-size: 14px; font-weight: 750; }
.maintenance-field > span { line-height: 1.4; }
.maintenance-panel input:not([type=radio]), .maintenance-panel select, .maintenance-panel textarea { display: block; width: 100%; min-width: 0; min-height: 50px; border: 1px solid #c9cdbf; border-radius: 9px; padding: 12px 13px; background: #fff; color: #30372c; font: inherit; font-size: 16px; font-weight: 400; line-height: 1.35; }
.maintenance-panel input[hidden] { display: none; }
.maintenance-panel textarea { resize: vertical; }
.maintenance-panel input::placeholder, .maintenance-panel textarea::placeholder { color: #72796b; }
.maintenance-section > .maintenance-field:last-child { margin-bottom: 0; }
.maintenance-priority-picker { min-width: 0; border: 0; margin: 25px 0; padding: 0; }
.maintenance-priority-picker legend { padding: 0; margin-bottom: 12px; font-size: 14px; font-weight: 750; }
.maintenance-priority-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.maintenance-priority-choice { display: flex; align-items: flex-start; gap: 9px; min-width: 0; border: 2px solid transparent; border-radius: 11px; padding: 16px 12px; cursor: pointer; }
.maintenance-priority-choice input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: currentColor; }
.maintenance-priority-choice > span { display: flex; flex-direction: column; gap: 5px; line-height: 1.35; }
.maintenance-priority-choice strong { font-size: 15px; }
.maintenance-priority-choice small { font-size: 11px; font-weight: 500; }
.maintenance-priority-choice.selected { border-color: currentColor; box-shadow: 0 0 0 1px #ffffff; }
.maintenance-priority-critical { background: #fce7e7; color: #9d1d28; }
.maintenance-priority-high { background: #fff0db; color: #904800; }
.maintenance-priority-normal { background: #e5eff9; color: #245484; }
.maintenance-priority-low { background: #edf1e8; color: #526340; }
.maintenance-camera-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.maintenance-camera-actions > .maintenance-button { min-height: 60px; font-size: 17px; }
.maintenance-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 20px; }
.maintenance-photo-card { min-width: 0; border: 1px solid #dce2d0; border-radius: 12px; overflow: hidden; background: #f9fbf5; }
.maintenance-photo-preview { display: block; width: 100%; padding: 0; border: 0; background: #edf1e6; color: #5c684c; font: inherit; cursor: zoom-in; }
.maintenance-photo-preview > img { display: block; width: 100%; height: 240px; object-fit: contain; background: #e8ecdf; }
.maintenance-photo-preview > span { display: block; padding: 11px; font-size: 12px; text-align: left; }
.maintenance-photo-remove, .maintenance-download { display: flex; margin: 0 10px 10px; font-size: 13px; }
.maintenance-photo-remove { width: calc(100% - 20px); color: #973a23; }
.maintenance-reporter { color: #68715e; font-size: 13px; margin: 23px 0; }
.maintenance-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.maintenance-save { display: flex; width: 100%; min-height: 58px; font-size: 18px; margin-top: 22px; }
.maintenance-processing, .maintenance-upload { padding: 20px; border: 1px solid #d8e1c9; border-radius: 12px; background: #f7fbef; color: #596b40; text-align: center; font-size: 15px; font-weight: 700; }
.maintenance-upload { display: flex; flex-direction: column; gap: 12px; background: #fff7e1; border-color: #e5d09a; color: #735b21; }
.maintenance-upload > span { font-size: 13px; font-weight: 400; }
.maintenance-upload progress { display: block; width: 100%; height: 15px; accent-color: #e7a214; }
.maintenance-error, .maintenance-warning, .maintenance-success { padding: 17px 19px; border: 1px solid #e5c5b7; border-radius: 12px; background: #fff3ee; color: #8b381d; margin: 14px 0 20px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.maintenance-warning { border-color: #e8d39e; background: #fff8e7; color: #805e20; }
.maintenance-warning p { margin: 0 0 12px; }
.maintenance-success { border-color: #cbdcbe; background: #f0f8e9; color: #496334; font-weight: 700; }
.maintenance-tabs { display: flex; gap: 8px; padding: 5px; border: 1px solid #dce2d2; border-radius: 13px; background: #f1f4e9; margin: 20px 0; }
.maintenance-tab { flex: 1; min-width: 0; font-size: 14px; border-color: transparent; background: transparent; padding-inline: 11px; }
.maintenance-tab.selected { background: #fff; border-color: #d0d7c4; box-shadow: 0 1px 5px #2433100c; }
.maintenance-filters { display: grid; grid-template-columns: minmax(0, 1fr) 190px auto; gap: 14px; align-items: end; margin: 25px 0; }
.maintenance-filters .maintenance-field { margin: 0; }
.maintenance-results-heading { font-size: 13px; color: #69735b; margin: 20px 0; }
.maintenance-results-heading > .maintenance-button { padding-inline: 12px; font-size: 13px; }
.maintenance-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.maintenance-record { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 20px; border: 1px solid #d9dfce; border-left: 5px solid #afbaa1; border-radius: 14px; background: #fff; color: #39442f; font: inherit; text-align: left; cursor: pointer; }
.maintenance-record-critical { border-left-color: #b8333e; }
.maintenance-record-high { border-left-color: #cb6a0b; }
.maintenance-record-normal { border-left-color: #377bb5; }
.maintenance-record-low { border-left-color: #5b8650; }
.maintenance-record-high { border-left-color: #c87923; }
.maintenance-record-normal { border-left-color: #4d81b7; }
.maintenance-record-low { border-left-color: #859573; }
.maintenance-record:hover { border-color: #a68b50; box-shadow: 0 3px 14px #222b1110; }
.maintenance-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.maintenance-priority, .maintenance-state { display: inline-block; width: fit-content; padding: 6px 10px; border-radius: 20px; font-size: 11px; font-weight: 800; }
.maintenance-state { color: #5b6353; background: #f0f2eb; }
.maintenance-state-in_progress { background: #fff4d7; color: #7b5908; }
.maintenance-state-done { background: #e8f3e0; color: #3e6725; }
.maintenance-equipment { font-size: 13px; font-weight: 800; color: #737c66; margin: 0; overflow-wrap: anywhere; }
.maintenance-record-title { font-size: 23px; line-height: 1.25; overflow-wrap: anywhere; }
.maintenance-record-meta { font-size: 13px; color: #637155; }
.maintenance-record-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 13px; margin-top: auto; width: 100%; border-top: 1px solid #e6ebde; color: #69745c; font-size: 11px; }
.maintenance-empty { grid-column: 1 / -1; padding: 32px 20px; text-align: center; border: 1px dashed #d3dac7; border-radius: 13px; background: #fafcf6; color: #6c795d; }
.maintenance-empty h2 { margin: 0 0 10px; }
.maintenance-empty p { font-size: 14px; margin-bottom: 0; }
.maintenance-load-more { display: flex; width: 100%; margin-top: 22px; }
.maintenance-footer-note { margin-top: 24px; font-size: 12px; }
.maintenance-detail-heading { margin: 25px 0; }
.maintenance-detail-heading .maintenance-equipment { margin: 20px 0 8px; font-size: 16px; }
.maintenance-description { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 22px; font-size: 15px; }
.maintenance-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 20px; margin: 0; }
.maintenance-facts > div { min-width: 0; }
.maintenance-facts dt { font-size: 12px; color: #758269; margin-bottom: 8px; }
.maintenance-facts dd { margin: 0; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.maintenance-completion-notes { margin-top: 25px; padding-top: 20px; border-top: 1px solid #e2e7d8; }
.maintenance-completion-notes > strong { display: block; font-size: 14px; margin-bottom: 9px; }
.maintenance-completion-notes > p { margin-bottom: 0; }
.maintenance-complete-form { padding: 20px; border: 1px solid #dce5cd; border-radius: 12px; background: #f8fbf2; }
.maintenance-priority-edit { display: flex; align-items: end; gap: 12px; margin-top: 25px; padding-top: 21px; border-top: 1px solid #e6e9df; }
.maintenance-priority-edit .maintenance-field { flex: 1; margin: 0; max-width: 280px; }
.maintenance-history { list-style: none; margin: 0; padding: 0; }
.maintenance-history li { display: flex; flex-direction: column; gap: 6px; border-left: 3px solid #d9e0cd; padding: 0 0 24px 17px; }
.maintenance-history li:last-child { padding-bottom: 0; }
.maintenance-history strong { font-size: 14px; }
.maintenance-history span { font-size: 12px; color: #6d785f; }
.maintenance-history p { margin: 3px 0 0; font-size: 14px; }
.maintenance-viewer-backdrop { position: fixed; inset: 0; z-index: 1000; display: flex; justify-content: center; align-items: center; padding: 18px; background: #18230deb; }
.maintenance-viewer { display: flex; flex-direction: column; width: min(1100px, 100%); max-height: calc(100dvh - 36px); min-height: 200px; background: #f7faf1; border: 1px solid #9fae8c; border-radius: 14px; overflow: hidden; }
.maintenance-viewer-bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 17px; background: #fff; color: #39462c; border-bottom: 1px solid #dce4d1; }
.maintenance-viewer-bar > strong { font-size: 15px; }
.maintenance-viewer-bar > .maintenance-button { min-height: 44px; font-size: 13px; }
.maintenance-viewer-tools { display: flex; align-items: center; gap: 13px; padding: 10px 12px; color: #677658; }
.maintenance-viewer-tools > .maintenance-button { min-height: 44px; font-size: 13px; padding: 8px 14px; }
.maintenance-viewer-tools > span { font-size: 12px; }
.maintenance-viewer-image { overflow: auto; text-align: center; background: #dce3d1; }
.maintenance-viewer-image > img { display: block; width: 100%; height: auto; margin: 0 auto; object-fit: contain; }
.maintenance-viewer > .maintenance-download { flex-shrink: 0; margin: 12px; }
@media (max-width: 850px) {
    .maintenance-priority-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .maintenance-filters { grid-template-columns: minmax(0, 1fr) 160px; }
    .maintenance-filters > .maintenance-button { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .maintenance-panel { margin-top: 22px; }
    .maintenance-list-heading { flex-direction: column; gap: 19px; }
    .maintenance-list-heading > .maintenance-button { width: 100%; }
    .maintenance-page-heading { gap: 9px; }
    .maintenance-page-heading > .maintenance-button { font-size: 13px; padding-inline: 10px; }
    .maintenance-section { padding: 21px 15px; }
    .maintenance-priority-choice { padding: 14px 10px; min-height: 85px; }
    .maintenance-priority-choice small { font-size: 11px; }
    .maintenance-camera-actions { gap: 9px; }
    .maintenance-camera-actions > .maintenance-button { padding-inline: 9px; font-size: 15px; }
    .maintenance-photo-grid { gap: 10px; }
    .maintenance-photo-preview > img { height: 190px; }
    .maintenance-photo-preview > span { font-size: 10px; padding: 9px; }
    .maintenance-photo-remove, .maintenance-download { font-size: 11px; padding: 9px; margin-inline: 8px; }
    .maintenance-tabs { gap: 3px; padding: 4px; }
    .maintenance-tab { font-size: 12px; padding-inline: 7px; }
    .maintenance-filters { grid-template-columns: minmax(0, 1fr) auto; gap: 13px 10px; }
    .maintenance-filters > .maintenance-field:first-child { grid-column: 1 / -1; }
    .maintenance-filters > .maintenance-button { grid-column: auto; }
    .maintenance-filters select { font-size: 15px; }
    .maintenance-results-heading > span { font-size: 11px; line-height: 1.5; }
    .maintenance-records { grid-template-columns: minmax(0, 1fr); }
    .maintenance-record { padding: 19px 16px; }
    .maintenance-facts { gap: 23px 14px; }
    .maintenance-facts dd { font-size: 14px; }
    .maintenance-complete-form { padding: 17px 12px; }
    .maintenance-actions > .maintenance-button { flex: 1; min-width: 120px; }
    .maintenance-priority-edit { flex-wrap: wrap; }
    .maintenance-priority-edit .maintenance-field { max-width: none; min-width: 140px; }
    .maintenance-viewer-backdrop { padding: 8px; }
    .maintenance-viewer { max-height: calc(100dvh - 16px); border-radius: 10px; }
    .maintenance-viewer-bar { padding: 10px; }
    .maintenance-viewer-bar > strong { font-size: 13px; }
    .maintenance-viewer-bar > .maintenance-button { padding-inline: 10px; }
}

/* Large, simple shop controls retain the familiar priority colors. */
.maintenance-tabs{background:#fff7e3;border-color:#e5cc8b}.maintenance-tab{font-size:17px;min-height:52px;flex:1}.maintenance-tab.selected{background:#ffb117;color:#4d360c;border-color:#d89100}.maintenance-priority{font-size:15px;font-weight:800;padding:6px 10px}.maintenance-record{border-left-width:6px;gap:12px}.maintenance-record-open{font-size:16px;font-weight:800;align-self:flex-end;color:#425833}.maintenance-record-title{font-size:21px}.maintenance-equipment{font-size:17px}.maintenance-completed-list{border-top:1px solid #d9e1cf;margin-top:26px;padding-top:20px}.maintenance-completed-list>summary,.maintenance-history-collapsed>summary{cursor:pointer;font-size:17px;font-weight:750;min-height:44px;align-content:center}.maintenance-completed-list[open]>summary,.maintenance-history-collapsed[open]>summary{margin-bottom:20px}.maintenance-equipment-picker{position:relative}.maintenance-equipment-options{position:absolute;top:85px;left:0;right:0;max-height:280px;overflow:auto;background:#fff;border:1px solid #bbcbb0;border-radius:10px;box-shadow:0 8px 25px #25381426;z-index:20}.maintenance-equipment-options>button{display:grid;gap:6px;width:100%;min-height:58px;text-align:left;padding:13px;border:0;border-bottom:1px solid #e5eadf;background:#fff;color:#30372c;font:inherit;font-size:16px;cursor:pointer}.maintenance-equipment-options>button[aria-selected=true],.maintenance-equipment-options>button:hover{background:#fff0ca}.maintenance-equipment-options span{font-size:14px;color:#5d6f50}.maintenance-equipment-picker>small{display:block;margin:-8px 0 20px;font-size:14px}.maintenance-equipment-options>button:focus-visible{outline:3px solid #825d08;outline-offset:-3px}.maintenance-detail-heading{border-left:6px solid #377bb5;padding-left:18px}.maintenance-detail-heading:has(.maintenance-priority-critical){border-left-color:#c93643}.maintenance-detail-heading:has(.maintenance-priority-high){border-left-color:#cb6a0b}.maintenance-detail-heading:has(.maintenance-priority-low){border-left-color:#5b8650}
@media(max-width:650px){.maintenance-tab{font-size:17px;padding:12px}.maintenance-priority{font-size:15px}.maintenance-record-title{font-size:20px}.maintenance-button{font-size:16px;min-height:50px}.maintenance-page-heading>.maintenance-button{font-size:15px}.maintenance-record-meta{font-size:15px}.maintenance-priority-choice small{font-size:14px}.maintenance-priority-choice{min-height:95px}.maintenance-record-foot{font-size:14px}}
