.performance-page{max-width:1280px}.perf-period{text-align:center;color:#666;margin:-12px 0 28px}.perf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}.perf-stat{background:#fff;border:1px solid #ddd;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}.perf-stat>span{font-size:14px;color:#555}.perf-stat>strong{font-size:30px;letter-spacing:-1px;overflow-wrap:anywhere}.perf-stat>small{font-size:12px;line-height:1.5;color:#666}.perf-stat.amber{border-top:4px solid #e8b954}.perf-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.perf-secondary .perf-stat>strong{font-size:26px}.perf-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:#fff;border:1px solid #ddd;padding:18px;border-radius:18px;margin:24px 0}.perf-filters label{flex:1 1 140px;margin:0;min-width:0;font-size:12px}.perf-filters select,.perf-filters input{width:100%;font-size:14px}.perf-filters label:nth-of-type(3),.perf-filters label:nth-of-type(4){flex-basis:180px}.perf-filters .form-error{flex-basis:100%;margin:0}.perf-notice{background:#fff8d8;border:1px solid #e7d991;border-radius:14px;padding:18px 22px;font-size:14px;line-height:1.6;margin:22px 0}.perf-table-wrap{overflow-x:auto;border:1px solid #dedede;border-radius:18px;background:#fff;margin:24px 0}.perf-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;min-width:760px}.perf-table th,.perf-table td{padding:16px 18px;border-bottom:1px solid #eee;vertical-align:middle;white-space:nowrap}.perf-table thead{background:#f8f8f5}.perf-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:normal}.perf-table tbody th{font-size:15px}.perf-table small{display:block;margin-top:8px;font-weight:400;color:#666}.perf-table button{font-size:13px}.perf-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.perf-models .card{margin:0;padding:22px}.perf-models h3{font-size:24px}.perf-models p{line-height:1.5}.perf-models summary{margin-top:20px}.perf-check{display:flex;gap:12px;align-items:center}.perf-check input{width:20px;height:20px}.performance-page details.card{margin:22px 0}.performance-page details>form{margin-top:22px}.performance-page details>p{line-height:1.6}.performance-page .report-switch{min-width:360px}.performance-page .audit-snapshot{white-space:pre-wrap;overflow-wrap:anywhere}.ops-home-entry{justify-content:center}.perf-period+section{margin-top:20px}@media(max-width:1000px){.perf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.perf-models{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.perf-stat{padding:18px}.perf-stat>strong{font-size:25px}.perf-secondary,.perf-models{grid-template-columns:1fr}.performance-page .report-switch{min-width:0;width:100%}.perf-filters{padding:14px}.perf-table-wrap{max-width:100%}}
@media(max-width:600px){.performance-page .report-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px;box-sizing:border-box}.performance-page .report-switch button{min-width:0;width:100%;padding:12px 4px;font-size:12px}.performance-page .ops-controls{min-width:0;width:100%}}

.performance-dashboard{padding-top:0}
.perf-header{display:grid;gap:14px}
.perf-header h1{text-align:center;font-size:32px;line-height:1.2;letter-spacing:-.6px;margin:0 0 4px}
.performance-page .perf-tabs{width:100%;max-width:none;min-width:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.performance-page .perf-tabs button{min-width:0;min-height:44px;padding:12px 8px;white-space:nowrap}
.perf-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.perf-toolbar>button{min-height:44px;padding:12px 18px;font-size:16px}
.perf-more{position:relative;flex-shrink:0}
.perf-more>summary{min-height:44px;padding:12px 14px;border-radius:12px;background:#eeeee9;font-size:16px}
.perf-more-actions{position:absolute;right:0;top:calc(100% + 6px);z-index:5;display:grid;gap:6px;min-width:160px;padding:8px;background:#fff;border:1px solid #deded8;border-radius:14px;box-shadow:0 8px 24px #1112}
.perf-more-actions button{min-height:44px;text-align:left;font-size:15px}
.perf-report-filters{background:#fff;border:1px solid #deded8;border-radius:16px}
.perf-report-filters>summary{padding:12px 16px;font-size:15px;min-height:44px}
.perf-filter-context{display:block;margin:6px 0 0;font-size:13px;font-weight:400;line-height:1.5;color:#666;overflow-wrap:anywhere}
.perf-filter-count{font-size:12px;padding:3px 7px;margin-left:6px;border-radius:999px;background:#ffe500}
.perf-filter-body{padding:0 16px 16px}
.perf-presets{display:flex;gap:8px;padding-top:4px}
.perf-presets button{flex:1;min-height:44px;padding:10px;font-size:14px;background:#f0f0eb;color:#555}
.perf-presets button[aria-pressed=true]{background:#ffe500;color:#111}
.perf-filter-body .perf-filters{margin:14px 0 0;border:0;border-radius:0;padding:0;background:transparent}
.perf-filter-body .perf-filters input,.perf-filter-body .perf-filters select{min-width:0}
.perf-empty-note{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:16px 0 0;font-size:14px;color:#666}
.perf-empty-note button{background:transparent;color:#333;padding:6px 0;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.perf-header h1{font-size:28px}.performance-page .perf-tabs button{padding:10px 4px;font-size:13px}.perf-header{gap:12px}.perf-toolbar>button{flex:1}.perf-filter-body .perf-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.perf-filter-body .perf-filters label:nth-of-type(n+3),.perf-filter-body .perf-filters>button,.perf-filter-body .form-error{grid-column:1/-1}.performance-dashboard .perf-stats{margin-top:18px}}

/* Fault analysis follows the existing workshop cards and touch targets. */
.fa-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fa-view-switch button{min-height:48px;background:#efefea;color:#555;font-size:16px;border:1px solid transparent}
.fa-view-switch button.selected{background:#fff;color:#111;border-color:#222}
.fa-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.fa-filters label,.fa-list-tools label{display:grid;gap:8px;min-width:0;font-size:13px;color:#555}
.fa-filters select,.fa-filters input,.fa-list-tools input,.fa-list-tools select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:44px}
.fa-question-filter{grid-column:span 2}
.fa-filter-actions{display:flex;align-items:center;gap:12px;grid-column:1/-1}
.fa-filters .form-error{grid-column:1/-1;margin:0}
.fa-list-tools{display:flex;gap:12px;align-items:end;margin:24px 0}
.fa-list-tools label:first-child{flex:1}
.fa-list-tools button{min-height:44px}
.fa-results-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:26px 0 16px}
.fa-results-heading h2{font-size:22px;margin:0}
.fa-results-heading>span{font-size:13px;color:#666}
.fa-repeat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fa-repeat-card{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid #d8d8d3;border-radius:20px;background:#fff;color:#161616;text-align:left;min-width:0;box-shadow:0 2px 5px #00000003}
.fa-repeat-card:hover,.fa-question-row:hover{border-color:#777;background:#fffef8}
.fa-card-heading{display:flex;justify-content:space-between;align-items:start;gap:10px}
.fa-card-heading strong{font-size:23px;display:block}
.fa-card-heading small{display:block;margin-top:5px;font-size:13px;font-weight:400;color:#666}
.fa-question-title{font-size:16px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.fa-card-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.fa-badge{display:inline-block;font-size:12px;line-height:1.4;padding:5px 8px;border-radius:8px;background:#f0f0ec;color:#4f4f48;font-weight:500}
.fa-badge.amber{color:#8d490b;background:#fff0d9}
.fa-badge.critical{color:#a82a21;background:#fff0ed}
.fa-card-foot{display:flex;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid #ecece6;font-size:12px;color:#666;font-weight:400}
.fa-card-foot>span:last-child{font-size:20px;color:#222}
.fa-questions{display:grid;gap:10px}
.fa-question-row{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:center;padding:22px 24px;border:1px solid #deded8;border-radius:18px;background:#fff;color:#111;text-align:left;width:100%}
.fa-question-copy{display:grid;gap:7px;min-width:0}
.fa-question-copy>small{font-size:12px;color:#666;font-weight:400}
.fa-question-copy>strong{font-size:16px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.fa-question-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.fa-question-numbers>span{display:grid;gap:6px}
.fa-question-numbers strong{font-size:22px}
.fa-question-numbers small{font-size:11px;color:#666;font-weight:400}
.fa-question-numbers strong small{font-size:14px}
.fa-report-actions,.fa-pagination{display:flex;gap:16px;align-items:center;margin:24px 0}
.fa-pagination{justify-content:center;font-size:14px}
.fa-empty{text-align:center;padding:40px 24px!important}
.fa-empty h2{font-size:22px}
.fa-empty p{font-size:15px;color:#666;line-height:1.6}
.fa-method summary,.fa-breakdown summary{font-size:16px;min-height:24px}
.fa-method p{font-size:14px;color:#555;line-height:1.7}
.fa-detail-heading{margin-top:28px}
.fa-detail-heading>p{font-size:13px;color:#666}
.fa-detail-heading h2{font-size:25px;line-height:1.45;margin:8px 0;overflow-wrap:anywhere}
.fa-table-wrap{overflow-x:auto;margin-top:16px;max-width:100%}
.fa-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;min-width:450px}
.fa-table th,.fa-table td{padding:14px 12px;border-bottom:1px solid #eee}
.fa-table thead th{font-size:12px;color:#666;font-weight:500}
.fa-table th:first-child,.fa-table td:first-child{padding-left:0}
.fa-evidence-list{display:grid;gap:16px}
.fa-evidence{background:#fff;border:1px solid #deded8;border-radius:18px;padding:24px;min-width:0}
.fa-evidence-top{display:flex;align-items:start;justify-content:space-between;gap:14px}
.fa-evidence-top>strong{font-size:18px}
.fa-evidence-top small{font-size:13px;font-weight:400;color:#666}
.fa-evidence-top>span{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.fa-evidence-question{font-size:13px;line-height:1.6;color:#666;overflow-wrap:anywhere}
.fa-evidence p{line-height:1.6;overflow-wrap:anywhere}
.fa-prior{font-size:14px;background:#f7f7f3;padding:14px;border-radius:12px}
.fa-closure{font-size:14px;padding:12px 0;border-bottom:1px solid #eee}
.fa-closure small,.fa-evidence-source{font-size:12px;color:#666}
.fa-evidence-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
.fa-evidence-links button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}
.fault-analysis button:focus-visible{outline:3px solid #9c7800;outline-offset:3px}
@media(max-width:760px){.fa-question-row{grid-template-columns:1fr;gap:18px}.fa-question-numbers{border-top:1px solid #eee;padding-top:16px}.fa-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-question-filter{grid-column:1/-1}.fa-repeat-grid{grid-template-columns:1fr}}
@media(max-width:480px){.performance-page .perf-tabs{gap:2px;padding:4px}.performance-page .perf-tabs button{font-size:11px;padding:10px 2px}.fa-filters{grid-template-columns:1fr}.fa-question-filter{grid-column:auto}.fa-list-tools{flex-wrap:wrap;gap:8px}.fa-list-tools label:first-child{flex-basis:100%}.fa-list-tools label:nth-child(2){flex:1}.fa-results-heading{display:grid;gap:6px}.fa-question-row,.fa-repeat-card,.fa-evidence{padding:18px}.fa-evidence-top{display:grid}.fa-evidence-top>span{justify-content:flex-start}.fa-detail-heading h2{font-size:21px}.fa-view-switch button{font-size:14px;padding:12px 6px}.fa-report-actions{gap:10px}.fa-question-numbers strong{font-size:20px}}

/* Downtime: one monthly view with accessible, keyboard-operable bars. */
.performance-page .perf-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
.downtime-analysis .dt-trend,.downtime-analysis .dt-ranking,.downtime-analysis .dt-current{margin:24px 0;padding:26px;border-radius:22px}
.dt-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.dt-section-heading h2{font-size:23px;margin:0;letter-spacing:-.5px}.dt-section-heading p{font-size:14px;color:#666;margin:6px 0 0}.dt-section-heading>span{font-size:14px;color:#666}
.dt-switch{display:flex;gap:4px;padding:4px;background:#f0f0eb;border-radius:12px;flex-wrap:wrap}.dt-switch button{background:transparent;color:#555;min-height:40px;padding:9px 14px;border-radius:9px;font-size:14px}.dt-switch button[aria-pressed=true]{background:#151515;color:#fff}
.dt-axis{display:flex;justify-content:space-between;color:#666;font-size:12px;margin:12px 0}.dt-chart-scroll{overflow-x:auto;max-width:100%}.dt-chart{display:grid;grid-template-columns:repeat(var(--months),minmax(0,1fr));min-width:var(--chart-min);gap:8px;padding:4px 2px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 54px,#eeeee8 55px,transparent 56px);background-size:100% 224px;background-repeat:no-repeat}
.dt-column{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:0 6px 8px;background:transparent!important;color:#222!important;border:2px solid transparent;border-radius:8px;font-size:12px;font-weight:400;box-shadow:none!important}
.dt-column[aria-pressed=true]{border-color:#222;background:#f5f5ef!important}.dt-column:hover{background:#f5f5ef!important}.dt-column:focus-visible,.dt-rank:focus-visible{outline:3px solid #b49300;outline-offset:2px}
.dt-bar-track{height:224px;display:flex;align-items:flex-end;width:100%;justify-content:center;border-bottom:1px solid #ccc}.dt-bar{display:flex;flex-direction:column-reverse;width:100%;max-width:64px;min-height:1px;border-radius:5px 5px 0 0;overflow:hidden;background:#ddd}.dt-segment{display:block;min-height:0;width:100%}.dt-segment.unplanned,.dt-legend i.unplanned{background:#252525}.dt-segment.planned,.dt-legend i.planned{background:#ffe500}.dt-segment.unclassified,.dt-legend i.unclassified{background:#bcbeb4}.dt-bar-value{font-weight:700;font-variant-numeric:tabular-nums}.dt-month{display:block;text-align:center;font-weight:700}.dt-month small{display:block;font-size:10px;font-weight:400;line-height:1.5;color:#666;margin-top:3px}.dt-partial .dt-bar{opacity:.65}
.dt-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;font-size:12px;color:#555}.dt-legend span{display:flex;gap:6px;align-items:center}.dt-legend i{width:10px;height:10px;border-radius:3px}.dt-hint{color:#666;font-size:13px;line-height:1.6;margin:14px 0 0}.dt-comparison{margin:18px 0 0;border-top:1px solid #eee;padding-top:15px;font-size:14px;font-weight:700}.dt-month-table{min-width:900px}.dt-month-table small{display:block;font-size:11px;color:#666;font-weight:400;margin-top:5px}.dt-selected-row{background:#fffce8}
.dt-selection{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 16px;background:#fff7bb;border-radius:12px}.dt-selection span{font-size:13px;color:#555}.dt-selection button{margin-left:auto}.dt-coverage{font-size:13px;line-height:1.6;color:#666;margin:12px 0 20px}
.dt-rank-list{display:grid;gap:10px}.dt-rank{display:grid;grid-template-columns:1fr auto;gap:8px 16px;text-align:left;background:#fafaf7;color:#222;padding:16px;border:1px solid #e8e8e1;border-radius:12px}.dt-rank:hover{background:#f2f2eb}.dt-rank-copy,.dt-rank-value{display:flex;flex-direction:column;gap:5px;min-width:0}.dt-rank-copy strong{overflow-wrap:anywhere}.dt-rank-value{text-align:right}.dt-rank strong{font-size:16px}.dt-rank small{font-size:12px;color:#666;font-weight:400}.dt-rank-track{grid-column:1/-1;height:5px;background:#e9e9e0;border-radius:6px;overflow:hidden}.dt-rank-track>span{display:block;height:100%;background:#b29b00;border-radius:6px}
.dt-age-bands{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.dt-age-bands button{font-size:13px;background:#f1f1eb;color:#333;min-height:44px;padding:10px}.dt-age-bands button[aria-pressed=true]{background:#ffe500;color:#111}.dt-open-row{display:grid;grid-template-columns:1fr auto;gap:16px;border-top:1px solid #eee;padding:18px 0}.dt-open-row>div{min-width:0}.dt-open-row strong{font-size:18px}.dt-open-row p{font-size:14px;margin:7px 0;overflow-wrap:anywhere}.dt-open-row small{font-size:12px;font-weight:400;color:#666;line-height:1.5}.dt-open-age{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.dt-open-age strong{white-space:nowrap}.dt-open-age .tap-small{font-size:13px}
.dt-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.downtime-analysis .dt-record{margin:0;padding:22px;min-width:0}.dt-record-heading{display:flex;justify-content:space-between;gap:12px;font-size:20px}.dt-record-heading small{display:block;font-size:12px;color:#666;font-weight:400;margin-top:5px}.dt-record p{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.dt-record-meta{display:flex;gap:6px;flex-wrap:wrap}.dt-record-meta span{font-size:11px;padding:5px 8px;background:#f0f0eb;border-radius:6px;overflow-wrap:anywhere}.dt-record .dt-record-date{font-size:12px;color:#666}.dt-record-links{display:flex;flex-wrap:wrap;gap:6px}.dt-record-links button{font-size:12px;min-height:40px}.dt-empty p{color:#666;line-height:1.6}.downtime-analysis .perf-stat>strong{font-size:28px}.downtime-analysis .fa-report-actions{margin-top:24px}
@media(max-width:650px){.performance-page .perf-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.downtime-analysis .dt-trend,.downtime-analysis .dt-ranking,.downtime-analysis .dt-current{padding:18px}.dt-section-heading h2{font-size:21px}.dt-section-heading{gap:12px}.dt-switch button{padding:8px 11px;font-size:12px}.dt-ranking .dt-switch{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.dt-ranking .dt-switch button{padding:8px 3px}.dt-record-grid{grid-template-columns:1fr}.dt-chart{gap:3px}.dt-column{padding:0 2px 6px;font-size:11px}.dt-bar-track{height:180px}.dt-chart{background-size:100% 180px}.dt-month small{font-size:9px}.dt-age-bands{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-record-heading{font-size:18px}.downtime-analysis .perf-stat>strong{font-size:24px}.dt-open-row{gap:10px}.dt-open-row strong{font-size:16px}.dt-selection button{margin-left:0}.dt-legend{gap:10px;font-size:11px}}
