:root {
    --rrsp-violet:#4f287b;
    --rrsp-violet-dark:#351754;
    --rrsp-blue:#0086d6;
    --rrsp-green:#00965e;
    --rrsp-green-dark:#007a4e;
    --rrsp-green-soft:#e1f3ec;
    --rrsp-orange:#d98200;
    --rrsp-orange-soft:#fff2db;
    --rrsp-red:#c93434;
    --rrsp-red-soft:#fde9e9;
    --rrsp-ink:#17212b;
    --rrsp-muted:#6a7680;
    --rrsp-border:#dce4e7;
    --rrsp-bg:#f3f6f6;
    --rrsp-white:#fff;
    --rrsp-shadow:0 16px 44px rgba(26,49,60,.10);
    --rrsp-radius:20px;
}
.rrsp-app *, .rrsp-login-shell *, .rrsp-denied * { box-sizing:border-box; }
.rrsp-app, .rrsp-login-shell, .rrsp-denied { font-family:Livvic,"Segoe UI",Arial,sans-serif; color:var(--rrsp-ink); line-height:1.45; }
.rrsp-app button,.rrsp-app input,.rrsp-app select,.rrsp-app textarea,.rrsp-login-shell input,.rrsp-login-shell button { font:inherit; }
.rrsp-app svg,.rrsp-login-shell svg { width:20px;height:20px;fill:currentColor;flex:0 0 auto; }
.rrsp-app { min-height:100vh; display:grid; grid-template-columns:270px minmax(0,1fr); background:var(--rrsp-bg); }
.rrsp-sidebar { position:sticky;top:0;height:100vh;padding:28px 22px 22px;display:flex;flex-direction:column;background:linear-gradient(165deg,#4f287b 0%,#381c5b 62%,#2a153f 100%);color:#fff;overflow:auto; }
.rrsp-brand { display:grid;gap:9px;padding:4px 10px 28px;border-bottom:1px solid rgba(255,255,255,.13); }
.rrsp-brand small { color:rgba(255,255,255,.64);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px; }
.rrsp-wordmark { display:inline-flex;align-items:baseline;font-size:34px;line-height:1;font-weight:900;font-style:italic;letter-spacing:-3px;white-space:nowrap; }
.rrsp-wordmark span,.rrsp-wordmark em { font-style:italic;display:inline-block; }
.rrsp-wordmark span:nth-child(1){color:#fff}.rrsp-wordmark span:nth-child(2){color:#43bff5}.rrsp-wordmark span:nth-child(3),.rrsp-wordmark em{color:#31d78f}.rrsp-wordmark em{letter-spacing:-2px}
.rrsp-nav { display:grid;gap:8px;margin-top:26px; }
.rrsp-nav-link { display:flex;align-items:center;gap:13px;min-height:48px;padding:11px 14px;border-radius:13px;color:rgba(255,255,255,.73);text-decoration:none;font-weight:800;transition:.18s ease; }
.rrsp-nav-link:hover { color:#fff;background:rgba(255,255,255,.09);transform:translateX(2px); }
.rrsp-nav-link.is-active { color:#fff;background:linear-gradient(135deg,rgba(0,150,94,.92),rgba(0,134,214,.72));box-shadow:0 12px 28px rgba(0,0,0,.18); }
.rrsp-sidebar-foot { margin-top:auto;display:grid;gap:12px;padding:22px 9px 3px;border-top:1px solid rgba(255,255,255,.13);font-size:12px;color:rgba(255,255,255,.63); }
.rrsp-sidebar-foot a,.rrsp-install { display:flex;align-items:center;gap:9px;color:#fff;background:none;border:0;padding:0;text-decoration:none;font-weight:800;cursor:pointer;text-align:left; }
.rrsp-install[hidden]{display:none!important}
.rrsp-main { min-width:0; }
.rrsp-header { min-height:78px;padding:0 clamp(24px,4vw,54px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--rrsp-border);position:sticky;top:0;z-index:30; }
.rrsp-mobile-brand { color:var(--rrsp-green-dark);font-weight:900;letter-spacing:-.02em; }
.rrsp-user { display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center;text-align:right; }
.rrsp-user>span:first-child { font-weight:900; }
.rrsp-user small { grid-column:1;color:var(--rrsp-muted);font-size:11px; }
.rrsp-avatar { grid-row:1/3;grid-column:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--rrsp-green),var(--rrsp-blue));color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(0,134,214,.18); }
.rrsp-content { padding:clamp(24px,4vw,52px);max-width:1680px;margin:0 auto; }
.rrsp-page-head,.rrsp-section-head { display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px; }
.rrsp-page-head h1 { margin:4px 0 8px;font-size:clamp(31px,4vw,48px);letter-spacing:-.045em;color:var(--rrsp-green-dark);line-height:1.08; }
.rrsp-page-head p,.rrsp-section-head p { margin:0;color:var(--rrsp-muted);font-size:16px; }
.rrsp-section-head { align-items:center;margin-top:38px; }
.rrsp-section-head h2 { margin:4px 0 0;color:var(--rrsp-green-dark);font-size:27px;letter-spacing:-.025em; }
.rrsp-eyebrow { color:var(--rrsp-blue);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.13em; }
.rrsp-year-select label,.rrsp-card-head form { display:flex;align-items:center;gap:10px;color:var(--rrsp-muted);font-size:12px;font-weight:800; }
.rrsp-year-select select,.rrsp-card-head select,.rrsp-filter-grid select { min-height:44px;border:1px solid var(--rrsp-border);border-radius:11px;padding:8px 36px 8px 12px;background:#fff;color:var(--rrsp-ink);font-weight:800; }
.rrsp-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px; }
.rrsp-kpi { min-height:132px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--rrsp-border);box-shadow:0 9px 26px rgba(27,50,60,.06);display:flex;gap:16px;align-items:flex-start;position:relative;overflow:hidden; }
.rrsp-kpi:after { content:"";position:absolute;right:-28px;bottom:-35px;width:95px;height:95px;border-radius:50%;background:currentColor;opacity:.06; }
.rrsp-kpi-icon { display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:currentColor;color:inherit; }
.rrsp-kpi-icon svg{color:#fff}
.rrsp-kpi>div { display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:7px; }
.rrsp-kpi small { grid-column:1/3;color:var(--rrsp-muted);font-weight:800;margin-bottom:7px; }
.rrsp-kpi strong { font-size:26px;letter-spacing:-.035em;color:var(--rrsp-ink); }
.rrsp-kpi em { font-style:normal;color:var(--rrsp-muted);font-size:12px;font-weight:800; }
.rrsp-kpi-green{color:var(--rrsp-green)}.rrsp-kpi-blue{color:var(--rrsp-blue)}.rrsp-kpi-violet{color:var(--rrsp-violet)}.rrsp-kpi-orange{color:var(--rrsp-orange)}
.rrsp-card { background:#fff;border:1px solid var(--rrsp-border);border-radius:var(--rrsp-radius);box-shadow:var(--rrsp-shadow);padding:25px;min-width:0; }
.rrsp-card-head { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px; }
.rrsp-card-head span { display:block;color:var(--rrsp-blue);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.1em; }
.rrsp-card-head h2 { margin:4px 0 0;font-size:23px;letter-spacing:-.028em;color:var(--rrsp-green-dark); }
.rrsp-card-head a { color:var(--rrsp-blue);font-weight:900;text-decoration:none;font-size:13px; }
.rrsp-grid { display:grid;gap:20px; }
.rrsp-grid-main { grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr); }
.rrsp-grid-bottom { grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);margin-top:22px; }
.rrsp-chart-card canvas { width:100%!important;height:240px!important;display:block; }
.rrsp-month-labels { display:grid;grid-template-columns:repeat(12,1fr);font-size:10px;color:var(--rrsp-muted);text-align:center;font-weight:800;margin-top:5px; }
.rrsp-badge { display:inline-flex!important;align-items:center;justify-content:center;min-height:31px;padding:5px 11px;border-radius:999px;font-size:11px!important;letter-spacing:0!important;text-transform:none!important; }
.rrsp-badge-green{background:var(--rrsp-green-soft);color:var(--rrsp-green-dark)!important}
.rrsp-attention-list { display:grid;gap:10px; }
.rrsp-attention-item { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f2; }
.rrsp-attention-item:last-child{border-bottom:0}
.rrsp-attention-item>span:nth-child(2){display:grid}.rrsp-attention-item small{color:var(--rrsp-muted);font-size:11px}.rrsp-attention-item b{font-size:11px;color:var(--rrsp-muted)}
.rrsp-train-tag { display:inline-grid;place-items:center;min-width:58px;min-height:32px;padding:5px 9px;border-radius:9px;background:#eef1f7;color:var(--rrsp-violet);font-weight:950;letter-spacing:.04em; }
.rrsp-attention-item[data-status="stale"] .rrsp-train-tag{background:var(--rrsp-red-soft);color:var(--rrsp-red)}.rrsp-attention-item[data-status="attention"] .rrsp-train-tag{background:var(--rrsp-orange-soft);color:var(--rrsp-orange)}
.rrsp-vehicle-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px; }
.rrsp-vehicle-grid-large { grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px; }
.rrsp-vehicle-card { background:#fff;border:1px solid var(--rrsp-border);border-radius:18px;padding:20px;box-shadow:0 11px 29px rgba(30,52,62,.07);position:relative;overflow:hidden; }
.rrsp-vehicle-card:before { content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#9eabb1; }
.rrsp-vehicle-card[data-status="fresh"]:before{background:var(--rrsp-green)}.rrsp-vehicle-card[data-status="attention"]:before{background:var(--rrsp-orange)}.rrsp-vehicle-card[data-status="stale"]:before{background:var(--rrsp-red)}
.rrsp-vehicle-top { display:flex;align-items:center;justify-content:space-between; }
.rrsp-train-visual { display:block;width:138px;height:42px;overflow:hidden;background:#fff; }
.rrsp-train-photo { display:block;width:100%;height:100%;object-fit:contain;object-position:left center; }
.rrsp-vehicle-card.is-large .rrsp-train-visual { width:168px;height:48px; }
.rrsp-picker-train { display:block;width:100%;height:42px;margin:0 0 5px;overflow:hidden; }
.rrsp-picker-train-photo { display:block;width:100%;height:100%;object-fit:contain;object-position:left center; }
.rrsp-status-dot { display:inline-flex;align-items:center;gap:6px;color:var(--rrsp-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em; }
.rrsp-status-dot i { width:8px;height:8px;border-radius:50%;background:#a9b3b8; }
[data-status="fresh"] .rrsp-status-dot i{background:var(--rrsp-green)}[data-status="attention"] .rrsp-status-dot i{background:var(--rrsp-orange)}[data-status="stale"] .rrsp-status-dot i{background:var(--rrsp-red)}
.rrsp-vehicle-title { margin:18px 0 15px;display:flex;align-items:baseline;justify-content:space-between;gap:10px; }
.rrsp-vehicle-title span { color:var(--rrsp-muted);font-size:11px;font-weight:800; }
.rrsp-vehicle-title h3 { margin:0;font-size:29px;color:var(--rrsp-violet);letter-spacing:-.04em; }
.rrsp-current-km { display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;padding:15px;border-radius:14px;background:linear-gradient(135deg,#f6faf8,#eef6f3); }
.rrsp-current-km span { grid-column:1/3;color:var(--rrsp-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em; }
.rrsp-current-km strong { font-size:24px;letter-spacing:-.035em;color:var(--rrsp-green-dark); }
.rrsp-current-km small { color:var(--rrsp-muted);font-weight:800; }
.rrsp-vehicle-meta { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px; }
.rrsp-vehicle-card.is-large .rrsp-vehicle-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.rrsp-vehicle-meta span { display:grid;gap:2px; }.rrsp-vehicle-meta small { color:var(--rrsp-muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800; }.rrsp-vehicle-meta b{font-size:11px}
.rrsp-ranking { display:grid;gap:8px; }.rrsp-ranking>div { display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f2; }.rrsp-ranking>div:last-child{border:0}.rrsp-ranking span{display:grid}.rrsp-ranking small{color:var(--rrsp-muted);font-size:10px}.rrsp-ranking b{color:var(--rrsp-green-dark);font-size:13px}
.rrsp-button { display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 17px;border:0;border-radius:11px;font-weight:900;text-decoration:none;cursor:pointer;transition:.16s ease; }
.rrsp-button:hover{transform:translateY(-1px)}.rrsp-button-primary{background:var(--rrsp-green);color:#fff;box-shadow:0 9px 22px rgba(0,150,94,.21)}.rrsp-button-primary:hover{background:var(--rrsp-green-dark)}.rrsp-button-secondary{background:#f0ebf5;color:var(--rrsp-violet)}.rrsp-button-large{width:100%;min-height:54px;font-size:15px}
.rrsp-submit-layout,.rrsp-users-layout { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start; }
.rrsp-submit-card form { display:grid;gap:22px; }
.rrsp-form-section { display:flex;align-items:flex-start;gap:13px; }.rrsp-form-section h2{margin:0 0 3px;color:var(--rrsp-green-dark);font-size:21px}.rrsp-form-section p{margin:0;color:var(--rrsp-muted);font-size:13px}.rrsp-step{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--rrsp-violet);color:#fff;font-weight:900}
.rrsp-train-picker { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px; }
.rrsp-train-picker input{position:absolute;opacity:0;pointer-events:none}.rrsp-train-picker label>span{display:grid;gap:3px;min-height:158px;padding:13px 15px 15px;border:2px solid var(--rrsp-border);border-radius:14px;cursor:pointer;background:#fff;transition:.16s ease}.rrsp-train-picker strong{font-size:24px;color:var(--rrsp-violet)}.rrsp-train-picker small{font-size:10px;color:var(--rrsp-muted);font-weight:800}.rrsp-train-picker em{font-style:normal;color:var(--rrsp-green-dark);font-size:12px;font-weight:900;margin-top:auto}.rrsp-train-picker input:checked+span{border-color:var(--rrsp-green);background:var(--rrsp-green-soft);box-shadow:0 0 0 4px rgba(0,150,94,.10)}
.rrsp-form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }.rrsp-form-grid label{display:grid;gap:7px}.rrsp-form-grid label>span{font-size:12px;font-weight:850;color:#46525b}.rrsp-form-grid label>span small{font-weight:500;color:var(--rrsp-muted)}.rrsp-form-wide{grid-column:1/-1}.rrsp-form-grid input,.rrsp-form-grid textarea,.rrsp-filter-grid input,.rrsp-filter-grid select{width:100%;border:1px solid var(--rrsp-border);border-radius:11px;background:#fff;color:var(--rrsp-ink);padding:11px 13px;outline:none}.rrsp-form-grid input{min-height:48px}.rrsp-form-grid input:focus,.rrsp-form-grid textarea:focus,.rrsp-filter-grid select:focus{border-color:var(--rrsp-blue);box-shadow:0 0 0 4px rgba(0,134,214,.10)}
.rrsp-km-input { display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--rrsp-border);border-radius:11px;overflow:hidden }.rrsp-km-input input{border:0;border-radius:0}.rrsp-km-input b{padding:0 14px;color:var(--rrsp-muted)}
.rrsp-delta-preview { display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-radius:13px;background:var(--rrsp-green-soft);color:var(--rrsp-green-dark);font-weight:800}.rrsp-delta-preview strong{font-size:18px}
.rrsp-submit-help h2{margin:5px 0 16px;color:var(--rrsp-green-dark)}.rrsp-submit-help ol{margin:0;padding-left:21px;display:grid;gap:12px;color:#42505a}.rrsp-submit-help li::marker{color:var(--rrsp-green);font-weight:900}.rrsp-help-note{display:flex;gap:10px;margin-top:22px;padding:15px;border-radius:13px;background:#f1ebf7;color:var(--rrsp-violet)}.rrsp-help-note p{margin:0;font-size:12px}.rrsp-help-note svg{margin-top:1px}
.rrsp-filter-card{margin-bottom:20px}.rrsp-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end}.rrsp-filter-grid label{display:grid;gap:6px}.rrsp-filter-grid label>span{font-size:11px;font-weight:850;color:var(--rrsp-muted)}
.rrsp-table-wrap { width:100%;overflow:auto; }.rrsp-table { width:100%;border-collapse:separate;border-spacing:0;min-width:850px; }.rrsp-table th,.rrsp-table td { padding:13px 12px;border-bottom:1px solid #edf1f2;text-align:left;vertical-align:middle;font-size:12px; }.rrsp-table thead th { position:sticky;top:0;background:#f6f9f8;color:#53616b;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;z-index:2; }.rrsp-table tbody tr:hover{background:#fbfdfc}.rrsp-table td>small,.rrsp-table th>small{display:block;color:var(--rrsp-muted);font-size:9px;margin-top:2px}.rrsp-delta{display:inline-flex;padding:4px 8px;border-radius:8px;background:var(--rrsp-green-soft);color:var(--rrsp-green-dark);font-weight:900}.rrsp-muted{color:#9aa4aa}.rrsp-month-table{min-width:1250px}.rrsp-month-table td{text-align:right}.rrsp-month-table th:first-child{min-width:150px}
.rrsp-icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:var(--rrsp-red-soft);color:var(--rrsp-red);cursor:pointer}.rrsp-icon-button svg{width:16px;height:16px}
.rrsp-empty { display:grid;place-items:center;text-align:center;padding:48px 20px;color:var(--rrsp-muted) }.rrsp-empty svg{width:36px;height:36px;color:#aeb8bd}.rrsp-empty h3{margin:12px 0 4px;color:var(--rrsp-green-dark)}.rrsp-empty p{margin:0}
.rrsp-user-list{display:grid;gap:8px}.rrsp-user-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf1f2}.rrsp-user-list>div:last-child{border:0}.rrsp-user-list .rrsp-avatar{width:36px;height:36px;grid-row:auto;grid-column:auto}.rrsp-user-list span:nth-child(2){display:grid}.rrsp-user-list small,.rrsp-user-list em{color:var(--rrsp-muted);font-size:10px}.rrsp-user-list em{font-style:normal}.rrsp-password-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.rrsp-notice { display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border-radius:14px;margin-bottom:22px;border:1px solid transparent }.rrsp-notice svg{margin-top:2px}.rrsp-notice strong{display:block}.rrsp-notice p{margin:2px 0 0;font-size:12px}.rrsp-notice-success{background:var(--rrsp-green-soft);border-color:#b9e4d2;color:var(--rrsp-green-dark)}.rrsp-notice-error{background:var(--rrsp-red-soft);border-color:#f3c7c7;color:#9f2929}
.rrsp-login-shell { min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.15fr) minmax(380px,.85fr);background:#fff;overflow:hidden }.rrsp-login-visual{position:relative;display:flex;align-items:flex-end;padding:clamp(45px,7vw,100px);background:linear-gradient(145deg,#3e1d66 0%,#4f287b 52%,#32194f 100%);overflow:hidden;isolation:isolate}.rrsp-login-visual:before{content:"";position:absolute;left:14%;right:-20%;bottom:-25%;height:58%;background:var(--rrsp-green);border-radius:55% 0 0 0;transform:rotate(-7deg);z-index:-2}.rrsp-login-copy{color:#fff;max-width:650px}.rrsp-login-copy>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:rgba(255,255,255,.7)}.rrsp-login-copy h1{font-size:clamp(41px,5vw,68px);line-height:1.03;letter-spacing:-.05em;margin:16px 0}.rrsp-login-copy p{font-size:20px;color:rgba(255,255,255,.78);max-width:560px}.rrsp-login-route{position:absolute;left:8%;right:4%;top:24%;height:150px;transform:rotate(-5deg);opacity:.9}.rrsp-login-route>span{position:absolute;left:0;right:0;top:70px;height:8px;border-radius:8px;background:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.06)}.rrsp-login-route i{position:relative;display:inline-block;width:28px;height:28px;border-radius:50%;background:#fff;border:7px solid var(--rrsp-blue);top:59px;margin-right:10.7%}.rrsp-login-route i:first-of-type,.rrsp-login-route i:last-child{border-color:var(--rrsp-green);width:34px;height:34px;top:62px}.rrsp-login-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(130deg,rgba(225,243,236,.65),transparent 38%),#fff}.rrsp-login-card{width:min(100%,490px)}.rrsp-login-card .rrsp-wordmark span:nth-child(1){color:var(--rrsp-violet)}.rrsp-login-heading{margin:50px 0 25px}.rrsp-login-heading>span{color:var(--rrsp-blue);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.rrsp-login-heading h2{margin:5px 0 7px;font-size:39px;color:var(--rrsp-green-dark);letter-spacing:-.04em}.rrsp-login-heading p{margin:0;color:var(--rrsp-muted)}#rrsp-login-form{display:grid;gap:14px}#rrsp-login-form p{margin:0}#rrsp-login-form label{display:block;margin-bottom:6px;font-size:12px;font-weight:850;color:#46525b}#rrsp-login-form input[type=text],#rrsp-login-form input[type=password]{width:100%;min-height:50px;border:1px solid var(--rrsp-border);border-radius:11px;padding:11px 13px}#rrsp-login-form input[type=submit]{width:100%;min-height:51px;border:0;border-radius:11px;background:var(--rrsp-green);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 23px rgba(0,150,94,.22)}#rrsp-login-form .login-remember label{display:flex;align-items:center;gap:8px}.rrsp-login-help{text-align:center}.rrsp-login-help a{color:var(--rrsp-blue);font-weight:850;text-decoration:none}.rrsp-denied{max-width:620px;margin:80px auto;padding:35px;background:#fff;border-radius:18px;box-shadow:var(--rrsp-shadow)}
@media (max-width:1280px){.rrsp-kpis{grid-template-columns:repeat(2,1fr)}.rrsp-vehicle-grid{grid-template-columns:repeat(3,1fr)}.rrsp-grid-main,.rrsp-grid-bottom{grid-template-columns:1fr}.rrsp-attention-list{grid-template-columns:repeat(2,1fr);column-gap:18px}}
@media (max-width:960px){.rrsp-app{grid-template-columns:1fr}.rrsp-sidebar{position:sticky;height:auto;z-index:50;padding:13px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}.rrsp-brand{padding:0;border:0}.rrsp-brand small{display:none}.rrsp-brand .rrsp-wordmark{font-size:25px}.rrsp-nav{display:flex;overflow:auto;margin:0;gap:5px}.rrsp-nav-link{min-width:max-content;min-height:42px;padding:8px 11px}.rrsp-nav-link span{font-size:11px}.rrsp-sidebar-foot{margin:0;padding:0;border:0}.rrsp-sidebar-foot>span,.rrsp-install{display:none!important}.rrsp-sidebar-foot a{font-size:0}.rrsp-sidebar-foot a svg{width:23px;height:23px}.rrsp-header{top:68px}.rrsp-content{padding:26px}.rrsp-submit-layout,.rrsp-users-layout{grid-template-columns:1fr}.rrsp-vehicle-grid-large{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.rrsp-login-shell{grid-template-columns:1fr}.rrsp-login-visual{display:none}.rrsp-login-panel{min-height:100vh;padding:28px}.rrsp-content{padding:20px 14px 35px}.rrsp-header{top:68px;min-height:64px;padding:0 16px}.rrsp-mobile-brand{font-size:12px}.rrsp-user>span:first-child{font-size:11px}.rrsp-page-head,.rrsp-section-head{align-items:flex-start;flex-direction:column}.rrsp-page-head h1{font-size:34px}.rrsp-kpis,.rrsp-vehicle-grid,.rrsp-vehicle-grid-large,.rrsp-attention-list{grid-template-columns:1fr}.rrsp-train-picker{grid-template-columns:repeat(2,1fr)}.rrsp-form-grid,.rrsp-filter-grid{grid-template-columns:1fr}.rrsp-form-wide{grid-column:auto}.rrsp-card{padding:19px;border-radius:16px}.rrsp-grid{gap:15px}.rrsp-card-head{align-items:flex-start;flex-direction:column}.rrsp-vehicle-card.is-large .rrsp-vehicle-meta{grid-template-columns:1fr 1fr}.rrsp-chart-card canvas{height:205px!important}.rrsp-sidebar{grid-template-columns:auto minmax(0,1fr) auto}.rrsp-nav-link svg{width:17px;height:17px}}
@media (max-width:430px){.rrsp-nav-link span{display:none}.rrsp-nav-link{min-width:42px;justify-content:center}.rrsp-train-picker{grid-template-columns:1fr 1fr}.rrsp-kpi{min-height:115px}.rrsp-kpi strong{font-size:22px}.rrsp-vehicle-meta{grid-template-columns:1fr}.rrsp-vehicle-card.is-large .rrsp-vehicle-meta{grid-template-columns:1fr}.rrsp-password-row{grid-template-columns:1fr}}

@media (max-width:720px){.rrsp-train-visual{width:125px;height:38px}.rrsp-vehicle-card.is-large .rrsp-train-visual{width:145px;height:43px}.rrsp-picker-train{height:36px}}

/* Uitgebreide kilometeranalyse v1.1 */
.rrsp-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}
.rrsp-analytics-grid .rrsp-chart-card canvas,.rrsp-view-card canvas{height:285px!important}
.rrsp-vehicle-card.is-clickable{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.rrsp-vehicle-card.is-clickable:hover{transform:translateY(-4px);box-shadow:0 19px 42px rgba(30,52,62,.14);border-color:#b9d7cd}
.rrsp-card-link{display:flex;justify-content:flex-end;margin-top:16px;padding-top:13px;border-top:1px solid #edf1f2;color:var(--rrsp-blue);font-size:11px;font-weight:900}
.rrsp-segmented{display:inline-flex;padding:4px;border-radius:11px;background:#edf2f3;gap:3px}
.rrsp-segmented button{min-height:34px;padding:6px 13px;border:0;border-radius:8px;background:transparent;color:var(--rrsp-muted);font-size:11px;font-weight:900;cursor:pointer}
.rrsp-segmented button.is-active{background:#fff;color:var(--rrsp-green-dark);box-shadow:0 3px 10px rgba(30,52,62,.10)}
.rrsp-calculation-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:17px;padding-top:15px;border-top:1px solid #edf1f2;color:var(--rrsp-muted);font-size:10px;font-weight:800}
.rrsp-calculation-legend span{display:inline-flex;align-items:center;gap:7px}
.rrsp-calculation-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;background:#dfe5e7}
.rrsp-calculation-legend i.is-measured{background:linear-gradient(135deg,var(--rrsp-blue),var(--rrsp-green))}
.rrsp-calculation-legend i.is-estimated{background:repeating-linear-gradient(135deg,var(--rrsp-orange) 0 3px,#f5c981 3px 6px)}
.rrsp-calculation-legend i.is-none{background:#e6ebed}
.rrsp-month-value.is-estimated span{display:inline-block;padding:4px 7px;border-radius:7px;background:var(--rrsp-orange-soft);color:#985c00;font-weight:850}
.rrsp-month-value.is-measured span{font-weight:800;color:var(--rrsp-green-dark)}
.rrsp-table-train{display:grid;color:inherit;text-decoration:none}
.rrsp-table-train:hover strong{color:var(--rrsp-blue)}
.rrsp-year-summary{display:grid;gap:8px}
.rrsp-year-summary>a{display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:18px;align-items:center;padding:13px 14px;border:1px solid #e8edef;border-radius:13px;color:inherit;text-decoration:none;transition:.18s ease}
.rrsp-year-summary>a:hover{border-color:#b7ddcf;background:#f8fcfa;transform:translateX(2px)}
.rrsp-year-summary>a>span{display:grid;min-width:86px}
.rrsp-year-summary strong{font-size:18px;color:var(--rrsp-green-dark)}
.rrsp-year-summary small{color:var(--rrsp-muted);font-size:10px}
.rrsp-year-summary b{font-size:13px}
.rrsp-back-link{display:inline-block;margin-bottom:15px;color:var(--rrsp-blue);font-size:12px;font-weight:900;text-decoration:none}
.rrsp-vehicle-hero{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(300px,1fr);align-items:center;gap:38px;margin-bottom:20px;overflow:hidden;background:linear-gradient(125deg,#fff 55%,#edf8f3)}
.rrsp-vehicle-hero-image{min-height:125px;display:grid;place-items:center;padding:12px;border-radius:17px;background:#fff}
.rrsp-detail-train-photo{display:block;width:100%;max-height:125px;object-fit:contain}
.rrsp-vehicle-hero>div:last-child{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:9px}
.rrsp-vehicle-hero>div:last-child>span{grid-column:1/3;color:var(--rrsp-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.rrsp-vehicle-hero strong{font-size:clamp(37px,5vw,62px);line-height:1;color:var(--rrsp-green-dark);letter-spacing:-.055em}
.rrsp-vehicle-hero small{grid-column:1/3;margin-top:8px;color:var(--rrsp-muted);font-weight:700}
.rrsp-detail-kpis{margin-bottom:20px}
.rrsp-detail-readings{margin-top:22px}
.rrsp-detail-month-table{min-width:720px}
.rrsp-quality{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}
.rrsp-quality-measured{background:var(--rrsp-green-soft);color:var(--rrsp-green-dark)}
.rrsp-quality-estimated{background:var(--rrsp-orange-soft);color:#985c00}
.rrsp-quality-none{background:#edf1f2;color:#77838a}
.rrsp-import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:20px;margin-bottom:22px}
.rrsp-upload-form{display:grid;gap:18px}
.rrsp-file-drop{position:relative;display:grid;place-items:center;text-align:center;gap:6px;min-height:230px;padding:28px;border:2px dashed #bfcdd2;border-radius:17px;background:linear-gradient(145deg,#f8fbfa,#f3f6f7);cursor:pointer;transition:.18s ease}
.rrsp-file-drop:hover{border-color:var(--rrsp-green);background:var(--rrsp-green-soft)}
.rrsp-file-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.rrsp-file-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,var(--rrsp-green),var(--rrsp-blue));color:#fff;box-shadow:0 10px 24px rgba(0,134,214,.18)}
.rrsp-file-icon svg{width:27px;height:27px}
.rrsp-file-drop strong{font-size:17px;color:var(--rrsp-green-dark)}
.rrsp-file-drop small{color:var(--rrsp-muted)}
.rrsp-file-drop em{margin-top:8px;padding:6px 10px;border-radius:8px;background:#fff;color:var(--rrsp-violet);font-size:11px;font-style:normal;font-weight:850;box-shadow:0 3px 10px rgba(30,52,62,.07)}
.rrsp-import-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:21px}
.rrsp-import-rules>div{display:flex;gap:10px;padding:13px;border-radius:13px;background:#f7f9f9;color:var(--rrsp-green-dark)}
.rrsp-import-rules>div>span{display:grid}
.rrsp-import-rules strong{font-size:11px}
.rrsp-import-rules small{color:var(--rrsp-muted);font-size:9px}
.rrsp-database-stats{display:grid;gap:10px}
.rrsp-database-stats>span{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f2}
.rrsp-database-stats small{color:var(--rrsp-muted);font-weight:800}
.rrsp-database-stats strong{color:var(--rrsp-green-dark)}
.rrsp-soft-copy{margin:20px 0 0;padding:14px;border-radius:12px;background:var(--rrsp-green-soft);color:#356854;font-size:11px}
.rrsp-import-history{margin-top:22px}
.rrsp-button:disabled{opacity:.65;cursor:wait}

@media (max-width:1180px){.rrsp-analytics-grid,.rrsp-import-layout{grid-template-columns:1fr}.rrsp-import-rules{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){.rrsp-vehicle-hero{grid-template-columns:1fr;gap:18px}.rrsp-vehicle-hero-image{min-height:85px}.rrsp-detail-train-photo{max-height:85px}.rrsp-import-rules{grid-template-columns:1fr}.rrsp-year-summary>a{grid-template-columns:1fr 1fr}.rrsp-year-summary>a>span:first-child{grid-column:1/-1}.rrsp-analytics-grid .rrsp-chart-card canvas,.rrsp-view-card canvas{height:235px!important}}

/* Dashboard refinement v1.2 */
.rrsp-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.rrsp-dashboard-head h1{margin:3px 0 5px;font-size:clamp(30px,4vw,44px);letter-spacing:-.045em;color:var(--rrsp-green-dark)}.rrsp-dashboard-head p{margin:0;color:var(--rrsp-muted)}.rrsp-dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.rrsp-button-quiet{min-height:44px;background:#fff;color:var(--rrsp-green-dark);border:1px solid #dbe5e7;box-shadow:0 4px 13px rgba(30,52,62,.05)}.rrsp-button-quiet:hover{border-color:#9dcbbb;background:#f7fcfa}.rrsp-last-update{display:grid;gap:2px;min-width:145px;padding:7px 13px;border-left:1px solid #dfe6e8}.rrsp-last-update small{color:var(--rrsp-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rrsp-last-update strong{font-size:11px;color:var(--rrsp-green-dark)}
.rrsp-fleet-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:18px}.rrsp-fleet-tile{display:grid;align-content:start;min-width:0;padding:13px;border:1px solid #dfe7e9;border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(27,50,61,.055);transition:.18s ease}.rrsp-fleet-tile:hover{transform:translateY(-3px);border-color:#a8d2c4;box-shadow:0 13px 28px rgba(27,50,61,.11)}.rrsp-fleet-title{display:grid}.rrsp-fleet-title strong{font-size:17px;color:var(--rrsp-green-dark)}.rrsp-fleet-title small{font-size:9px;color:var(--rrsp-muted);font-weight:800}.rrsp-fleet-image{display:grid;place-items:center;height:48px;margin:7px 0}.rrsp-fleet-photo{display:block;width:100%;height:44px;object-fit:contain}.rrsp-fleet-tile>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--rrsp-green-dark)}.rrsp-fleet-tile>small{margin-top:2px;font-size:9px;color:var(--rrsp-muted)}.rrsp-fleet-tile>em{display:flex;align-items:center;gap:6px;margin-top:8px;font-style:normal;font-size:9px;font-weight:900;color:var(--rrsp-muted)}.rrsp-fleet-tile>em i{width:8px;height:8px;border-radius:50%;background:#98a4aa}.rrsp-fleet-tile[data-status=fresh]>em i{background:var(--rrsp-green)}.rrsp-fleet-tile[data-status=attention]>em i{background:var(--rrsp-orange)}.rrsp-fleet-tile[data-status=stale]>em i{background:#e44d4d}
.rrsp-dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.rrsp-dashboard-kpi{display:flex;justify-content:space-between;gap:15px;min-height:105px;padding:18px;border:1px solid #e0e7e9;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(27,50,61,.055)}.rrsp-dashboard-kpi>div{display:grid;align-content:center}.rrsp-dashboard-kpi small{font-size:10px;font-weight:900;color:var(--rrsp-muted)}.rrsp-dashboard-kpi strong{margin-top:6px;font-size:25px;line-height:1;color:var(--rrsp-green-dark);letter-spacing:-.035em}.rrsp-dashboard-kpi em{margin-top:8px;font-size:9px;font-style:normal;font-weight:850;color:var(--rrsp-muted)}.rrsp-dashboard-kpi>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eff8f4;color:var(--rrsp-green);flex:0 0 auto}.rrsp-dashboard-kpi>span svg{width:23px;height:23px}.rrsp-dashboard-kpi.rrsp-kpi-blue>span{background:#edf6fc;color:var(--rrsp-blue)}.rrsp-dashboard-kpi.rrsp-kpi-violet>span{background:#f2effb;color:var(--rrsp-violet)}.rrsp-dashboard-kpi.rrsp-kpi-orange>span{background:var(--rrsp-orange-soft);color:var(--rrsp-orange)}
.rrsp-dashboard-graphs{grid-template-columns:minmax(0,1.4fr) minmax(370px,.8fr);margin-bottom:18px}.rrsp-dashboard-graphs canvas{height:300px!important}.rrsp-year-bars canvas{height:300px!important}.rrsp-dashboard-bottom{grid-template-columns:minmax(0,1.45fr) minmax(390px,.7fr)}.rrsp-dashboard-vehicle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rrsp-dashboard-vehicle{display:grid;min-width:0;padding:13px;border:1px solid #e3eaec;border-radius:13px;background:#fbfcfc;color:inherit;text-decoration:none;transition:.18s ease}.rrsp-dashboard-vehicle:hover{transform:translateY(-2px);border-color:#abd6c7;background:#fff;box-shadow:0 8px 20px rgba(27,50,61,.08)}.rrsp-dashboard-vehicle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rrsp-dashboard-vehicle-head>span{display:grid}.rrsp-dashboard-vehicle-head strong{font-size:15px;color:var(--rrsp-green-dark)}.rrsp-dashboard-vehicle-head small{font-size:8px;color:var(--rrsp-muted)}.rrsp-dashboard-vehicle-photo{width:82px;height:31px;object-fit:contain}.rrsp-dashboard-vehicle dl{display:grid;gap:5px;margin:12px 0}.rrsp-dashboard-vehicle dl>div{display:flex;justify-content:space-between;gap:8px;font-size:9px}.rrsp-dashboard-vehicle dt{color:var(--rrsp-muted)}.rrsp-dashboard-vehicle dd{margin:0;text-align:right;font-weight:850;color:var(--rrsp-green-dark)}.rrsp-dashboard-vehicle>b{margin-top:9px;padding-top:9px;border-top:1px solid #e6ecee;color:var(--rrsp-blue);font-size:9px}.rrsp-recent-card .rrsp-table{min-width:640px}.rrsp-recent-card .rrsp-table th:nth-child(4),.rrsp-recent-card .rrsp-table td:nth-child(4),.rrsp-recent-card .rrsp-table th:nth-child(6),.rrsp-recent-card .rrsp-table td:nth-child(6){display:none}
@media (max-width:1380px){.rrsp-fleet-strip{grid-template-columns:repeat(4,1fr)}.rrsp-dashboard-vehicle-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1100px){.rrsp-dashboard-head{flex-direction:column}.rrsp-dashboard-actions{justify-content:flex-start}.rrsp-dashboard-kpis{grid-template-columns:repeat(2,1fr)}.rrsp-dashboard-graphs,.rrsp-dashboard-bottom{grid-template-columns:1fr}.rrsp-dashboard-vehicle-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.rrsp-dashboard-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.rrsp-dashboard-actions .rrsp-year-select,.rrsp-last-update{grid-column:1/-1}.rrsp-last-update{border-left:0;border-top:1px solid #e2e8ea;padding-left:0}.rrsp-fleet-strip{grid-template-columns:repeat(2,1fr)}.rrsp-dashboard-kpis{grid-template-columns:1fr}.rrsp-dashboard-vehicle-grid{grid-template-columns:repeat(2,1fr)}.rrsp-dashboard-graphs canvas,.rrsp-year-bars canvas{height:245px!important}}
@media (max-width:430px){.rrsp-dashboard-actions{grid-template-columns:1fr}.rrsp-dashboard-actions>*{grid-column:1!important}.rrsp-fleet-strip,.rrsp-dashboard-vehicle-grid{grid-template-columns:1fr}.rrsp-dashboard-kpi strong{font-size:22px}}

/* RRReis Storingsportaal — storing-specifieke uitbreidingen */
.rrsp-header{gap:24px}.rrsp-live{margin-left:auto;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;color:var(--rrsp-green-dark);font-size:12px;font-weight:900}.rrsp-live i{width:9px;height:9px;border-radius:50%;background:var(--rrsp-green);box-shadow:0 0 0 6px rgba(0,150,94,.10);animation:rrspPulse 2.2s infinite}.rrsp-live small{grid-column:2;color:var(--rrsp-muted);font-size:10px;font-weight:700}.rrsp-refresh-notice{position:sticky;top:78px;z-index:28;padding:10px 24px;text-align:center;background:#e1f3ec;color:var(--rrsp-green-dark);font-size:12px;font-weight:900;border-bottom:1px solid #bfe4d4}@keyframes rrspPulse{0%,100%{box-shadow:0 0 0 6px rgba(0,150,94,.10)}50%{box-shadow:0 0 0 11px rgba(0,150,94,.02)}}
.rrsp-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.rrsp-dashboard-head h1{margin:4px 0 8px;font-size:clamp(31px,4vw,48px);letter-spacing:-.045em;color:var(--rrsp-green-dark);line-height:1.08}.rrsp-dashboard-head p{margin:0;color:var(--rrsp-muted);font-size:16px}.rrsp-dashboard-actions{display:flex;gap:10px;align-items:center}.rrsp-dashboard-actions form{margin:0}.rrsp-dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.rrsp-dashboard-kpi{min-height:145px;padding:24px;border-radius:18px;position:relative;overflow:hidden;color:#fff;box-shadow:0 15px 34px rgba(26,49,60,.13)}.rrsp-dashboard-kpi>div{display:grid;position:relative;z-index:2}.rrsp-dashboard-kpi small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:rgba(255,255,255,.73)}.rrsp-dashboard-kpi strong{margin-top:10px;font-size:32px;line-height:1;letter-spacing:-.045em}.rrsp-dashboard-kpi em{margin-top:9px;font-style:normal;font-size:12px;color:rgba(255,255,255,.78)}.rrsp-dashboard-kpi>span{position:absolute;right:19px;bottom:18px;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14)}.rrsp-dashboard-kpi>span svg{width:25px;height:25px}.rrsp-dashboard-kpi:after{content:"";position:absolute;right:-40px;top:-45px;width:145px;height:145px;border-radius:50%;background:rgba(255,255,255,.07)}.rrsp-dashboard-kpi.rrsp-kpi-green{background:linear-gradient(135deg,#00965e,#006f47)}.rrsp-dashboard-kpi.rrsp-kpi-blue{background:linear-gradient(135deg,#0086d6,#07518d)}.rrsp-dashboard-kpi.rrsp-kpi-violet{background:linear-gradient(135deg,#4f287b,#351754)}.rrsp-dashboard-kpi.rrsp-kpi-orange{background:linear-gradient(135deg,#e39312,#b46100)}.rrsp-dashboard-kpi.rrsp-kpi-red{background:linear-gradient(135deg,#d34a4a,#9c2424)}
.rrsp-dashboard-graphs{grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);margin-bottom:22px}.rrsp-dashboard-bottom{grid-template-columns:minmax(0,1.42fr) minmax(390px,.58fr)}.rrsp-dashboard-vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rrsp-dashboard-vehicle{display:grid;gap:14px;padding:18px;border:1px solid var(--rrsp-border);border-radius:16px;color:inherit;text-decoration:none;background:linear-gradient(145deg,#fff,#f9fbfb);position:relative;overflow:hidden;transition:.18s ease}.rrsp-dashboard-vehicle:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--rrsp-green)}.rrsp-dashboard-vehicle[data-status="buiten_dienst"]:before{background:var(--rrsp-red)}.rrsp-dashboard-vehicle[data-status="beperkt"]:before{background:var(--rrsp-orange)}.rrsp-dashboard-vehicle[data-status="onderzoek"]:before{background:var(--rrsp-blue)}.rrsp-dashboard-vehicle:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,49,60,.10)}.rrsp-dashboard-vehicle-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rrsp-dashboard-vehicle-head>span{display:grid}.rrsp-dashboard-vehicle-head strong{font-size:27px;color:var(--rrsp-violet);letter-spacing:-.04em}.rrsp-dashboard-vehicle-head small{color:var(--rrsp-muted);font-size:10px;font-weight:800}.rrsp-dashboard-vehicle-photo{width:125px;height:42px;object-fit:contain;object-position:right center}.rrsp-dashboard-vehicle dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.rrsp-dashboard-vehicle dl div{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f2f6f5}.rrsp-dashboard-vehicle dt{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--rrsp-muted);font-weight:900}.rrsp-dashboard-vehicle dd{margin:0;font-size:11px;font-weight:900;color:var(--rrsp-ink)}.rrsp-dashboard-vehicle>b{color:var(--rrsp-blue);font-size:11px}.rrsp-quality{justify-self:start;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:var(--rrsp-green-soft);color:var(--rrsp-green-dark)}.rrsp-quality-buiten_dienst{background:var(--rrsp-red-soft);color:var(--rrsp-red)}.rrsp-quality-beperkt{background:var(--rrsp-orange-soft);color:var(--rrsp-orange)}.rrsp-quality-onderzoek{background:#e8f4fb;color:var(--rrsp-blue)}
.rrsp-impact,.rrsp-status-badge,.rrsp-log-level{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.rrsp-impact-buiten_dienst{background:var(--rrsp-red-soft);color:var(--rrsp-red)}.rrsp-impact-beperkt{background:var(--rrsp-orange-soft);color:#ad6400}.rrsp-impact-onderzoek{background:#e8f4fb;color:var(--rrsp-blue)}.rrsp-impact-geen{background:var(--rrsp-green-soft);color:var(--rrsp-green-dark)}.rrsp-status-badge{background:#f0ebf5;color:var(--rrsp-violet)}.rrsp-log-success{background:var(--rrsp-green-soft);color:var(--rrsp-green-dark)}.rrsp-log-error{background:var(--rrsp-red-soft);color:var(--rrsp-red)}.rrsp-log-info{background:#e8f4fb;color:var(--rrsp-blue)}
.rrsp-issue-key,.rrsp-summary-link{color:var(--rrsp-blue);font-weight:900;text-decoration:none}.rrsp-summary-link{color:var(--rrsp-ink)}.rrsp-summary-link:hover,.rrsp-issue-key:hover{text-decoration:underline}.rrsp-incident-table .rrsp-train-tag{display:inline-grid;margin:2px}.rrsp-incident-table td:nth-child(3){min-width:300px}.rrsp-incident-table td:nth-child(3)>small,.rrsp-incident-table td:last-child>small{display:block;margin-top:4px;color:var(--rrsp-muted);font-size:9px}.rrsp-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr)) auto}.rrsp-filter-grid input[type="search"]{min-height:44px}
.rrsp-incident-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:22px;align-items:start}.rrsp-incident-main h2{margin:25px 0 12px;color:var(--rrsp-green-dark)}.rrsp-incident-badges{display:flex;flex-wrap:wrap;gap:8px}.rrsp-description{color:#34444e;line-height:1.7}.rrsp-incident-meta dl{display:grid;gap:0;margin:18px 0 24px}.rrsp-incident-meta dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f2}.rrsp-incident-meta dt{color:var(--rrsp-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.rrsp-incident-meta dd{margin:0;font-size:12px;font-weight:800}
.rrsp-settings-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:22px;align-items:start}.rrsp-settings-form{display:grid;gap:24px}.rrsp-settings-form select{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--rrsp-border);border-radius:11px;background:#fff}.rrsp-settings-form code{padding:2px 5px;border-radius:5px;background:#f0ebf5;color:var(--rrsp-violet)}.rrsp-settings-form label small{display:block;color:var(--rrsp-muted);font-size:10px;font-weight:600}.rrsp-webhook-card{position:sticky;top:102px}.rrsp-webhook-card h2{color:var(--rrsp-green-dark)}.rrsp-webhook-card h3{margin:24px 0 8px;color:var(--rrsp-violet)}.rrsp-webhook-card ul{padding-left:20px;color:#43515a}.rrsp-copy-field{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.rrsp-copy-field input{min-width:0;border:1px solid var(--rrsp-border);border-radius:10px;padding:10px;font-size:10px}.rrsp-copy-field button{display:flex;align-items:center;gap:6px;border:0;border-radius:10px;padding:8px 12px;background:var(--rrsp-violet);color:#fff;font-weight:900;cursor:pointer}.rrsp-copy-field button svg{width:16px;height:16px}
.rrsp-card code{font-family:Consolas,monospace}.rrsp-muted{color:var(--rrsp-muted)}
@media(max-width:1250px){.rrsp-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rrsp-dashboard-graphs,.rrsp-dashboard-bottom{grid-template-columns:1fr}.rrsp-settings-layout{grid-template-columns:1fr}.rrsp-webhook-card{position:static}.rrsp-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rrsp-filter-grid .rrsp-button{grid-column:1/-1}.rrsp-incident-layout{grid-template-columns:1fr}}
@media(max-width:860px){.rrsp-header{padding:0 18px}.rrsp-live{display:none}.rrsp-dashboard-head{align-items:flex-start;flex-direction:column}.rrsp-dashboard-actions{width:100%}.rrsp-dashboard-actions form,.rrsp-dashboard-actions button{width:100%}.rrsp-dashboard-vehicle-grid{grid-template-columns:1fr}.rrsp-dashboard-vehicle dl{grid-template-columns:1fr}.rrsp-filter-grid{grid-template-columns:1fr}.rrsp-dashboard-kpis{grid-template-columns:1fr}.rrsp-page-head{align-items:flex-start;flex-direction:column}.rrsp-incident-meta dl div{grid-template-columns:1fr}}
.rrsp-vehicle-card[data-status="buiten_dienst"]:before{background:var(--rrsp-red)}.rrsp-vehicle-card[data-status="beperkt"]:before{background:var(--rrsp-orange)}.rrsp-vehicle-card[data-status="onderzoek"]:before{background:var(--rrsp-blue)}.rrsp-vehicle-card[data-status="buiten_dienst"] .rrsp-status-dot i{background:var(--rrsp-red)}.rrsp-vehicle-card[data-status="beperkt"] .rrsp-status-dot i{background:var(--rrsp-orange)}.rrsp-vehicle-card[data-status="onderzoek"] .rrsp-status-dot i{background:var(--rrsp-blue)}
