:root{--navy:#12283d;--ink:#172b3a;--muted:#5c6d7a;--blue:#2367d1;--teal:#168472;--orange:#c36a12;--border:#dde5ed;--surface:#fff;--bg:#f2f5f8;--shadow:0 2px 5px #12283d04;--radius:10px;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4386ea;outline-offset:3px}input,select{height:42px;width:100%;border:1px solid #cdd7e1;border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px;font-size:.875rem}input[type=date]{min-width:140px}button{border:0;border-radius:6px}h1,h2,p{margin:0}h1{font-size:1.875rem;font-weight:650;letter-spacing:-.045em;line-height:1.25}h2{font-size:1rem;font-weight:650;line-height:1.45}svg{display:block}button svg,.private svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.topbar{background:var(--navy);color:white;min-height:78px;padding:15px max(24px,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:14px}.brand strong{font-size:1rem;letter-spacing:.01em}.mark{display:grid;place-items:center;font-size:.8rem;font-weight:800;letter-spacing:.03em;color:#66dcc9;background:#ffffff0e;border:1px solid #ffffff28;border-radius:8px;width:45px;height:42px}.subbrand{display:block;font-size:.75rem;color:#b2c1ce;margin-top:3px}.private{display:flex;align-items:center;gap:7px;font-size:.875rem;color:#dce6ef}main{max-width:1440px;margin:auto;padding:30px 24px 24px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:.75rem;color:var(--teal);font-weight:750;letter-spacing:.1em;margin-bottom:7px}.page-head .muted{margin-top:7px;font-size:.875rem}.muted{color:var(--muted)}.small{font-size:.875rem;line-height:1.5;margin-top:3px}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary,.secondary,.reset{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;font-size:.875rem;font-weight:600;min-height:42px}.primary{background:var(--blue);color:#fff}.primary:hover{background:#1857b6}.secondary{background:#fff;border:1px solid #cdd7e1;color:var(--ink)}.secondary:hover{background:#f1f5f9}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.filters{padding:18px;display:grid;grid-template-columns:140px 140px .8fr .8fr 1.4fr 1.1fr auto;gap:12px;align-items:end}.filters label{display:block;font-size:.875rem;font-weight:550;margin-bottom:7px}.reset{background:#eff3f7;color:var(--muted);padding:10px}.result-caption{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted);margin:12px 2px 18px;line-height:1.5}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:22px}.kpi{padding:19px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);min-width:0}.kpi:first-child{background:var(--navy);color:white;border-color:var(--navy)}.kpi-label{font-size:.875rem;font-weight:550;line-height:1.45}.kpi-value{font-size:1.875rem;font-weight:650;letter-spacing:-.04em;margin:12px 0 7px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi-note{font-size:.75rem;color:var(--muted);line-height:1.6}.kpi:first-child .kpi-note{color:#bed0df}.kpi-value .unit{font-size:1rem;letter-spacing:0;margin-left:3px}.charts{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:22px}.charts>.panel{padding:20px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.legend{display:flex;gap:16px;font-size:.75rem;color:var(--muted);margin-top:14px}.legend span{display:flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.blue{background:var(--blue)}.gray{background:#a9bacb}.chart-control{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--muted)}.chart-control select{width:auto;height:35px;padding:5px 9px;font-size:.875rem}.chart-area{height:230px;margin-top:12px;position:relative}.chart-area svg{width:100%;height:100%;overflow:visible}.chart-hint{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:14px}.bar-list{padding-top:18px;min-height:220px}.bar-row{width:100%;display:grid;grid-template-columns:minmax(130px,.9fr) 1.2fr 60px;gap:10px;align-items:center;background:none;padding:8px 0;border-radius:3px;color:var(--ink);text-align:left;font-size:.875rem}.bar-row:hover{background:#f1f6fb}.bar-row.selected{color:var(--blue);font-weight:650}.bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:11px;border-radius:3px;background:#edf2f7;overflow:hidden}.bar-fill{height:100%;background:var(--teal);border-radius:3px;min-width:2px}.bar-row.line .bar-fill{background:var(--blue)}.bar-number{text-align:right;font-variant-numeric:tabular-nums;font-size:.875rem}.empty{display:grid;place-items:center;min-height:190px;color:var(--muted);font-size:.875rem;text-align:center;padding:25px;line-height:1.6}.detail{padding:20px 0 0}.detail>.section-head{padding:0 20px 18px}.tabs{background:#edf2f7;padding:3px;border-radius:7px;display:flex}.tabs button{font-size:.875rem;font-weight:550;padding:8px 12px;background:transparent;color:var(--muted)}.tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 3px #172b3a18;color:var(--ink)}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left}th{background:#f7f9fb;font-size:.75rem;color:var(--muted);font-weight:600;white-space:nowrap}th,td{padding:12px 16px;border-bottom:1px solid #e8edf3}td{line-height:1.45}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.part{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;white-space:nowrap}td.model{max-width:290px}td.row-num{color:var(--muted);font-size:.75rem}tbody tr:hover{background:#f9fbfd}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;font-size:.75rem;color:var(--muted)}.pagination>div{display:flex;gap:8px}.pagination .secondary{font-size:.75rem;padding:7px 10px;min-height:32px}.methodology{margin-top:20px;padding:0 20px}.methodology summary{cursor:pointer;font-size:.875rem;font-weight:600;padding:18px 0}.methodology summary span{float:right;font-size:.75rem;font-weight:400;color:var(--muted)}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:5px 0 22px}.formula-grid p{font-size:.875rem;line-height:1.7;margin:8px 0}.formula-grid h3{font-size:.875rem;margin:0}.formula{font-family:ui-monospace,Consolas,monospace;background:#f1f5f9;padding:9px 11px;border-radius:5px;font-size:.75rem;margin:8px 0;color:#344d61;line-height:1.6}.validation-stat{display:flex;align-items:start;gap:9px;font-size:.875rem;line-height:1.7;margin:8px 0}.checkmark{color:var(--teal);font-weight:700}.caution{color:#85540d}.source-note{font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:16px}.sources{padding:20px;margin-bottom:18px}.sources .section-head{margin-bottom:14px}.actions{display:flex;gap:14px;flex-wrap:wrap}.text-btn{font-size:.875rem;background:none;color:var(--blue);padding:2px 0;font-weight:500}.text-btn:hover{text-decoration:underline}.danger{color:#a04439}.source-item{display:grid;grid-template-columns:130px 1fr auto;gap:12px;border-top:1px solid var(--border);padding:14px 0;font-size:.875rem;line-height:1.6}.source-item>strong{font-weight:600}.source-file{word-break:break-word}.feedback{padding:12px 16px;border:1px solid #c7dadb;border-radius:7px;background:#eaf4f2;color:#20685b;font-size:.875rem;line-height:1.6;margin-bottom:18px}.feedback.error{background:#fff1ef;border-color:#efc9c3;color:#943d31}.feedback.busy{background:#eaf1fb;border-color:#cadcf2;color:#255b9c}footer{display:flex;justify-content:space-between;gap:14px;font-size:.75rem;color:var(--muted);padding:24px 0 0;line-height:1.6}[hidden]{display:none!important}.svg-grid{stroke:#e6edf4;stroke-width:1}.svg-text{fill:#617587;font-size:12px;font-family:Inter,Segoe UI,Arial,sans-serif}.chart-dot{cursor:crosshair}.chart-tooltip{background:var(--navy);color:#fff;border-radius:6px;padding:9px 11px;font-size:.75rem;line-height:1.7;position:absolute;pointer-events:none;z-index:3;box-shadow:0 4px 14px #12283d26;max-width:230px}
@media(min-width:1200px){.charts>.panel{padding:22px 24px}.chart-area{height:240px}}
@media(max-width:1180px){.filters{grid-template-columns:repeat(4,1fr)}.model-filter{grid-column:span 2}.kpis{grid-template-columns:repeat(3,1fr)}.kpi-value{font-size:1.8rem}.charts{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:120px 1fr 50px}}
@media(max-width:760px){main{padding:22px 14px}.topbar{padding:14px}.page-head{align-items:start;flex-direction:column;gap:17px}.head-actions{width:100%}.head-actions .primary{flex:1}.filters{grid-template-columns:1fr 1fr;padding:14px;gap:12px}.filters .reset{min-height:42px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:16px 13px}.kpi:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr auto;gap:4px}.kpi:first-child .kpi-value{grid-row:span 2;margin:0;align-self:center}.kpi:first-child .kpi-note{grid-column:1}.kpi-value{font-size:1.7rem}.charts{grid-template-columns:1fr;gap:14px}.result-caption{flex-direction:column;gap:4px}.section-head{flex-wrap:wrap}.detail>.section-head{padding:0 16px 16px}.tabs{width:100%}.tabs button{flex:1}.formula-grid{grid-template-columns:1fr}.methodology summary span{display:none}.source-item{grid-template-columns:1fr}.sources{padding:16px}.pagination{padding:14px 16px}footer{flex-direction:column;gap:4px}.brand strong{font-size:.875rem}.private{font-size:.75rem}.subbrand{font-size:.75rem}.chart-control{margin-left:auto}}
@media(prefers-reduced-motion:no-preference){.bar-fill{transition:width .2s ease}.primary,.secondary{transition:background .15s ease}}

/* Installed app windows, touch screens, and mobile record cards. */
body{min-height:100dvh}.topbar{padding-top:max(15px,env(safe-area-inset-top));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}main{padding-bottom:max(24px,env(safe-area-inset-bottom))}button,input,select,summary{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.install-dialog{width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 18px 70px #12283d40}.install-dialog::backdrop{background:#10243699}.install-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.install-header h2{font-size:1.3rem}.install-header .secondary{font-size:.875rem;padding:8px 12px}.install-intro{font-size:1rem;line-height:1.6;margin:18px 0}.install-instructions{background:#f2f6fa;border:1px solid #e1e8f0;border-radius:8px;padding:16px}.install-instructions h3{margin:0 0 12px;font-size:1rem}.install-instructions ol{margin:0;padding-left:22px}.install-instructions li{font-size:1rem;line-height:1.6;margin:10px 0}.install-instructions .small{margin-top:12px}.install-note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:16px 0}.install-message{font-size:.875rem;line-height:1.6;padding:12px;border-radius:6px;background:#eaf4f2;color:#20685b;margin-top:12px}.install-actions{display:flex;gap:10px;justify-content:end;flex-wrap:wrap;margin-top:20px}
@media(pointer:coarse){.primary,.secondary,.reset,input,select,.tabs button{min-height:44px}.text-btn{min-height:44px}.bar-row{min-height:44px}}
@media(max-width:760px){.topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.head-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.head-actions .primary{grid-column:span 2}.head-actions button{min-height:46px}.filters input,.filters select{font-size:1rem;min-height:46px;min-width:0}.chart-control select{min-height:42px;font-size:.875rem}.kpi:first-child{grid-template-columns:1fr}.kpi:first-child .kpi-value{grid-row:auto;margin:8px 0 3px;justify-self:start}.table-wrap{overflow:visible}table,tbody{display:block}thead{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;padding:16px;border:1px solid var(--border);border-radius:8px;margin:0 14px 12px;background:#fff}tbody td{display:block;min-width:0;padding:0;border:0;font-size:.875rem;line-height:1.5;text-align:left!important;overflow-wrap:anywhere}tbody td::before{content:attr(data-label);display:block;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.75rem;font-weight:500;color:var(--muted);margin-bottom:3px}tbody td.part,tbody td.model,tbody td.defect-cell{grid-column:span 2;max-width:none;white-space:normal}.date-cell{font-weight:600}.empty-row{display:block!important}.empty-row td::before{display:none}.install-dialog{padding:18px}.install-header h2{font-size:1.15rem}.install-actions>*{flex:1}.pagination{flex-wrap:wrap}.pagination>div{margin-left:auto}}
@media(max-width:380px){.private{font-size:.7rem}.private svg{width:15px;height:15px}.brand{gap:9px}.brand .mark{width:36px}.kpi-value{font-size:1.5rem}.bar-row{grid-template-columns:110px 1fr 48px;gap:8px}}
/* Separate tasks and private account access. */
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:28px 16px;background:radial-gradient(ellipse at top right,#dce8f1,transparent 65%),var(--bg)}.auth-card{width:min(470px,100%);padding:32px}.auth-card .brand{margin-bottom:35px}.auth-card .mark{background:var(--navy)}.auth-card h1{font-size:1.6rem}.auth-card>p.muted{font-size:.95rem;line-height:1.6;margin:12px 0 20px}.auth-card form,.user-create form,#password-form{display:grid;gap:17px;margin-top:22px}.auth-card label,.user-create label,#password-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.auth-card input,.user-create input,.user-create select,#password-form input{min-height:46px}.auth-card .primary{width:100%;margin-top:5px}.auth-card .feedback{margin:18px 0 0}.auth-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:25px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:20;padding:28px 16px max(24px,env(safe-area-inset-bottom))}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 6px}.sidebar-brand strong{font-size:1rem}.sidebar-brand span:not(.mark){display:block;font-size:.7rem;color:#b7c9d7;margin-top:4px}.sidebar-label{font-size:.65rem;letter-spacing:.11em;color:#a9becf;margin:38px 12px 13px}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:48px;text-align:left;padding:12px;background:transparent;color:#d3e0eb;font-size:.95rem}.nav-item svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linejoin:round;stroke-linecap:round}.nav-item:hover{background:#ffffff09}.nav-item[aria-current=page]{color:#fff;background:#ffffff16;box-shadow:inset 3px 0 #66dcc9}.sidebar-account{margin-top:auto;padding:24px 8px 0;border-top:1px solid #ffffff20;overflow-wrap:anywhere}.sidebar-account strong{display:block;font-size:.875rem}.sidebar-account>span{display:block;color:#b7c9d7;font-size:.75rem;line-height:1.6;margin:6px 0 16px}.sidebar-account .secondary{background:#ffffff08;border-color:#ffffff2a;color:#fff;width:100%}.app-content{margin-left:236px}.app-content .topbar{min-height:70px;background:#fff;color:var(--ink);border-bottom:1px solid var(--border);padding:14px 24px}.app-content .topbar .mark{display:none}.app-content .topbar .subbrand{color:var(--muted)}.app-content .private{color:var(--muted)}.menu-button,.menu-close{display:none}.nav-backdrop{position:fixed;inset:0;z-index:19;background:#12283d99;border-radius:0}.kpis{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.filters .model-filter{grid-column:span 2}.filters #defect-filter{grid-column:span 1}.filters .reset{justify-self:end}.users-grid{display:grid;grid-template-columns:330px 1fr;gap:20px;align-items:start}.user-create,.user-list{padding:22px;min-width:0}.user-create .primary{width:100%}.field-hint{font-size:.75rem;line-height:1.6;color:var(--muted);margin-top:6px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);padding:18px 0;font-size:.875rem}.user-list .section-head{margin-bottom:16px}.user-row strong,.user-login,.user-meta{display:block}.user-login{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;margin:5px 0}.user-meta{font-size:.75rem;color:var(--muted);line-height:1.6}.user-actions{display:flex;flex-direction:column;align-items:start;gap:8px}.user-actions button{font-size:.75rem}.user-row>div{min-width:0;overflow-wrap:anywhere}#password-form .feedback{margin:0}.user-list #users-list{font-size:.875rem;line-height:1.6}
@media(max-width:1300px){.users-grid{grid-template-columns:300px 1fr}.user-row{align-items:start;flex-direction:column;gap:10px}.user-actions{flex-direction:row;flex-wrap:wrap;align-items:center}.bar-row{grid-template-columns:minmax(95px,1fr) 1fr 48px}}
@media(max-width:1000px){.sidebar{transform:translateX(-100%);width:min(280px,85vw);padding-top:max(22px,env(safe-area-inset-top))}.app-content{margin-left:0}.menu-button{display:inline-flex;font-size:1.2rem;min-height:44px;min-width:44px;padding:7px}.menu-close{display:block;background:#ffffff0d;color:#fff;min-height:40px;min-width:40px;margin-left:auto}body.menu-open{overflow:hidden}.menu-open .sidebar{transform:translateX(0)}.app-content .topbar>.brand{margin-right:auto}.users-grid{grid-template-columns:300px 1fr}}
@media(max-width:760px){.app-content .topbar{padding:12px 14px}.topbar{gap:10px}.private{font-size:.7rem}.private svg{width:15px}.brand strong{font-size:.8rem}.filters{grid-template-columns:1fr 1fr}.filters .reset{width:100%}.kpis{grid-template-columns:1fr 1fr}.users-grid{grid-template-columns:1fr}.user-row{flex-direction:row;align-items:start;flex-wrap:wrap}.user-actions{flex-wrap:wrap}.auth-card{padding:26px 22px}.auth-card h1{font-size:1.4rem}.auth-card input{font-size:1rem}.user-create input,.user-create select,#password-form input{font-size:1rem}.user-create,.user-list{padding:18px}}
@media(min-width:1001px){.nav-backdrop{display:none!important}}
@media(prefers-reduced-motion:no-preference){.sidebar{transition:transform .18s ease}}

.chart-toolbar{display:flex;justify-content:end;margin:-6px 0 14px}.chart-toolbar select{min-height:40px}
/* Detailed filters, loss causes and SCRAP. */
.detail-filters{padding:0 20px 14px;display:grid;grid-template-columns:minmax(210px,1.8fr) 1fr 1fr 1fr auto;gap:12px;align-items:end}.detail-filters label{display:block;font-size:.875rem;font-weight:550;margin-bottom:7px}.detail-filters input,.detail-filters select{min-width:0;min-height:44px}.detail-summary{padding:0 20px 16px;font-size:.875rem;line-height:1.6;color:var(--muted)}th>button{background:transparent;color:inherit;padding:0;font-size:inherit;font-weight:inherit;text-align:left;min-height:26px;white-space:nowrap}th[aria-sort=ascending],th[aria-sort=descending]{color:var(--blue);background:#eaf1fb}td.comments{min-width:260px;max-width:440px;overflow-wrap:anywhere}td.cause,td.reason,td.recordedCause{min-width:140px;max-width:240px;overflow-wrap:anywhere}.analysis-note{padding:14px 16px;margin:0 0 18px;border:1px solid #e7d1a6;border-radius:8px;background:#fff8eb;color:#735318;font-size:.875rem;line-height:1.65}.cause-bars .bar-row{grid-template-columns:minmax(145px,1.2fr) 1fr 85px}.cause-bars .bar-label{white-space:normal;line-height:1.5}.cause-bars .bar-fill{background:var(--orange)}.cause-bars .bar-number{font-size:.875rem}.cause-bars .bar-number small{color:var(--muted);font-size:.75rem}.cause-ranking{margin-top:18px}.cause-ranking summary{font-size:.875rem;cursor:pointer;color:var(--blue);padding:8px 0}.cause-ranking .table-wrap{margin-top:10px}.source-code{font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.75rem;max-width:220px;white-space:normal;margin-top:5px}.source-code summary{cursor:pointer;color:var(--blue);min-height:25px}.source-code span{display:block;overflow-wrap:anywhere;line-height:1.5;margin:6px 0}#stop-group-chart .bar-label{white-space:normal}#stop-group-chart .bar-row{grid-template-columns:minmax(125px,1fr) 1fr 75px}#stop-line-chart .bar-row{grid-template-columns:100px 1fr 85px}.detail-filters .secondary{white-space:nowrap}.sidebar-label{font-size:.75rem}.sidebar nav{overflow-y:auto}.sidebar-account{flex-shrink:0}
@media(max-width:1250px){.detail-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-search{grid-column:span 2}.detail-filters .secondary{width:100%}.cause-bars .bar-row{grid-template-columns:minmax(125px,1.2fr) 1fr 75px}}
@media(max-width:760px){.detail-filters{grid-template-columns:1fr 1fr;padding:0 16px 14px}.detail-search{grid-column:span 2}.detail-filters .secondary{grid-column:span 2}.detail-summary{padding:0 16px 16px;font-size:.875rem}.detail-filters input,.detail-filters select{min-height:46px;font-size:1rem}td.comments,td.cause,td.reason,td.recordedCause{grid-column:span 2;min-width:0;max-width:none}.source-code{max-width:none}.cause-bars .bar-row{grid-template-columns:minmax(110px,1.1fr) 1fr 80px;gap:8px}.cause-ranking th,.cause-ranking td{font-size:.875rem}.sidebar-label{margin-top:26px}.sidebar-account{padding-top:14px}}

@media(pointer:coarse){th>button{min-height:44px}}
@media(max-width:760px){#at-filter{grid-column:span 2}}
/* Native mobile date/select inputs must shrink within the filter grid. */
.filters>div,.detail-filters>div,.brand>div{min-width:0}.filters input,.filters select{min-width:0;max-width:100%}.install-dialog{max-width:calc(100vw - 24px)}
@media(max-width:760px){.filters,.detail-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters input[type=date]{min-width:0;width:100%}.head-actions,.head-actions>*{max-width:100%}.workspace,.main-content,main{min-width:0}.install-header>div{min-width:0}.install-header h2{overflow-wrap:anywhere}.source-item{grid-template-columns:minmax(0,1fr)}.private{flex-shrink:0;font-size:.75rem}}

.sync-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;border-bottom:1px solid #dfe6ed;background:#fff;color:#247669;font-size:14px}.sync-toolbar.offline{color:#95620b;background:#fffbeb}.sync-toolbar .text-btn{white-space:nowrap}#migration-dialog{width:min(540px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #dfe6ed;border-radius:16px;padding:24px;color:#1a2d3a}#migration-dialog::backdrop{background:#12283d88}#migration-form{display:grid;gap:12px}#migration-form input{width:100%;min-width:0}#migration-form .actions{justify-content:flex-end;flex-wrap:wrap}@media(max-width:600px){.sync-toolbar{padding:10px 16px;align-items:flex-start;font-size:12px}.sync-toolbar .text-btn{font-size:12px}.source-note{overflow-wrap:anywhere}}


/* Cost catalog and module controls use the same responsive layout as reports. */
.module-switch{margin-bottom:18px;flex-wrap:wrap}.module-switch button[aria-pressed="true"]{background:#2367d1;color:white;border-color:#2367d1}
.prices-panel{margin-bottom:20px}.prices-panel .section-head,.prices-panel .actions{flex-wrap:wrap;gap:14px}.prices-panel label{display:grid;gap:6px;min-width:0;font-size:13px}.prices-panel details{margin:12px 0}.prices-panel summary{cursor:pointer;margin-bottom:12px}.prices-panel input{max-width:380px}.cost-value{display:block;font-size:clamp(22px,2.6vw,32px)}
.filters>div,.filters input,.filters select,.app-content,main{min-width:0}.filters input,.filters select{max-width:100%;width:100%;box-sizing:border-box}.sidebar{overflow-y:auto}
@media(max-width:640px){.prices-panel .actions,.prices-panel .section-head{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.prices-panel .actions button,.prices-panel input{width:100%;max-width:100%}.module-switch button{flex:1}.prices-panel{padding:18px}.filters{grid-template-columns:minmax(0,1fr)}.filters .model-filter{grid-column:auto}}
/* Operator names can span lines while machine stays in record details. */
#line-chart[data-dimension="operator"] .bar-row,#stop-line-chart[data-dimension="operator"] .bar-row{grid-template-columns:minmax(140px,1.3fr) 1fr 80px}
#line-chart[data-dimension="operator"] .bar-label,#stop-line-chart[data-dimension="operator"] .bar-label{white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.prices-panel select{max-width:100%;min-height:44px}.prices-panel td details{font-size:13px;color:var(--muted)}
@media(max-width:640px){#line-chart[data-dimension="operator"] .bar-row,#stop-line-chart[data-dimension="operator"] .bar-row{grid-template-columns:minmax(100px,1.2fr) 1fr 75px}.prices-panel select{width:100%}}
/* Maintenance views share the dashboard's colors and typography. */
.ma-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.ma-filters,.ma-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.ma-filters input,.ma-filters select,.ma-form-grid input,.ma-form-grid select,.ma-form-grid textarea{width:100%;box-sizing:border-box}.ma-form-grid textarea{font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:8px}.ma-wide{grid-column:1/-1}.ma-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}.ma-kpis strong{font-size:30px}.ma-table{overflow:auto}.ma-table table{width:100%;border-collapse:collapse}.ma-table th,.ma-table td{padding:12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}.ma-table td button{margin:3px}.ma-badge{display:inline-block;font-size:12px;padding:5px 8px;border-radius:8px;background:#e8f1fa;color:#185375;margin:2px}.ma-badge.warning{background:#fff0dd;color:#8b3f0b}.ma-notices{list-style:none;padding:0}.ma-notices li{padding:10px 0;border-bottom:1px solid #e2e8f0}.ma-notices button{margin-left:10px}.ma-dialog{width:min(700px,94vw);box-sizing:border-box;border:0;border-radius:16px;padding:24px;max-height:90vh;overflow:auto}.ma-dialog::backdrop{background:rgba(15,23,42,.6)}.ma-check{display:flex;align-items:center;gap:10px;padding:8px}.ma-check input{width:20px!important;height:20px}.ma-facts{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px}.ma-facts dd{margin:0}.ma-facts dt{color:#64748b}.ma-text{white-space:pre-wrap;overflow-wrap:anywhere}#maintenance-content>.panel{margin-bottom:20px}#maintenance-view .actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}@media(max-width:600px){.ma-dialog{padding:18px}.ma-facts{grid-template-columns:1fr}.ma-facts dd{margin-bottom:8px}.ma-form-grid{grid-template-columns:1fr}.ma-table th,.ma-table td{min-width:90px}.ma-tabs button{flex:1 1 120px}}

/* Maintenance calendar: the month shows line cards; the week compares lines. */
.ma-calendar {margin-bottom:20px;padding:20px!important}.ma-calendar-toolbar {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ma-calendar-toolbar h2{text-transform:capitalize;margin:4px 0 12px}.ma-calendar-toolbar .actions{margin:0;gap:6px}.ma-calendar-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#2563eb;margin:14px 0}.ma-calendar-legend .late{color:#b42318}.ma-calendar-legend .done{color:#087f5b}.ma-calendar-legend .forecast{color:#64748b}.ma-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dce5ef;border-left:1px solid #dce5ef}.ma-weekday{background:#edf3f9;padding:10px 6px;font-size:12px;font-weight:700;text-align:center;border-right:1px solid #dce5ef;border-bottom:1px solid #dce5ef}.ma-calendar-day{min-height:118px;padding:7px;background:#fff;border-right:1px solid #dce5ef;border-bottom:1px solid #dce5ef;min-width:0}.ma-calendar-day>time{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:12px;font-weight:700;margin-bottom:6px}.ma-calendar-day.today>time{border-radius:50%;background:#2563eb;color:#fff}.ma-calendar-day.today{background:#f3f8ff}.ma-calendar-day.outside{background:#f7f9fc;color:#7e8da4}.ma-calendar-card{display:flex;flex-direction:column;text-align:left;gap:5px;min-height:0;width:100%;margin:0 0 7px;padding:9px!important;border:1px solid #c7dbfb!important;border-left:4px solid #3b82f6!important;background:#f0f6ff!important;color:#153664!important;border-radius:7px;overflow:hidden;font-size:11px;white-space:normal;overflow-wrap:anywhere}.ma-calendar-card strong{font-size:12px}.ma-calendar-card .ma-calendar-line{font-weight:700;color:#2563eb}.ma-calendar-activities{line-height:1.5}.ma-calendar-state{font-size:10px;font-weight:700}.ma-calendar-card.late{background:#fff2f0!important;border-color:#efb6ae!important;color:#9c241b!important}.ma-calendar-card.done{background:#edf9f4!important;border-color:#a7d9c5!important;color:#146647!important}.ma-calendar-card.forecast{background:#f8fafc!important;border:1px dashed #a9b8cb!important;border-left:4px solid #a9b8cb!important;color:#526176!important}.ma-week-scroll{overflow:auto}.ma-week{display:grid;grid-template-columns:110px repeat(7,minmax(140px,1fr));min-width:1120px;border-top:1px solid #dce5ef;border-left:1px solid #dce5ef}.ma-week-line{background:#edf3f9;padding:12px;border-right:1px solid #dce5ef;border-bottom:1px solid #dce5ef;font-size:12px}.ma-calendar-card:hover{filter:brightness(.97)}.ma-calendar-card:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
@media(max-width:800px){.ma-calendar{padding:12px!important}.ma-calendar-toolbar .actions{width:100%;flex-wrap:wrap}.ma-month{grid-template-columns:1fr;border:0;gap:8px}.ma-month>.ma-weekday{display:none}.ma-month>.ma-calendar-day{border:1px solid #dce5ef;border-radius:8px;min-height:0}.ma-month>.ma-calendar-day:not(:has(.ma-calendar-card)){display:none}.ma-month>.ma-calendar-day>time{width:auto;height:auto;padding:4px 9px}.ma-calendar-card{font-size:12px}.ma-calendar-card strong{font-size:14px}.ma-calendar-state{font-size:12px}}

.mfa-secret{display:block;overflow-wrap:anywhere;padding:1rem;background:#edf2f7;font-size:1rem}#mfa-codes{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem}#mfa-saved{width:auto}#security-panel{position:fixed;inset:5% 5%;z-index:100;background:white;overflow:auto;padding:1.5rem;border-radius:1rem;box-shadow:0 1rem 4rem #0005}#security-panel article{border-bottom:1px solid #ddd;padding:1rem 0}#security-open{margin:1rem}#security-panel pre{white-space:pre-wrap}

/* Operational notifications stay visible outside the maintenance workspace. */
.ma-alerts{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;margin-bottom:1rem;border:1px solid #e8c468;border-left:4px solid #be820c;border-radius:12px;background:#fff8e5;color:#533b0a}
.ma-alerts[hidden]{display:none}
@media(max-width:600px){.ma-alerts{align-items:stretch;flex-direction:column}.ma-alerts button{width:100%}}

.ma-sound{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:12px;background:#fff}.ma-sound[hidden]{display:none}.ma-sound p{margin:.3rem 0 0}@media(max-width:600px){.ma-sound{align-items:stretch;flex-direction:column}}
