html body.rspit-ui.rspit-ui{font-size:14px;line-height:1.5}
html body.rspit-ui.rspit-ui :is(.header-label,.label,.filter-label,.text-muted,.subtitle){font-size:13px;letter-spacing:0;text-transform:none}
html body.rspit-ui.rspit-ui.rspit-ui :where(button:not(.formation-toggle),.btn,.btn-primary,.btn-danger,.btn-xs,.pill-toggle){min-height:44px;font-size:14px;padding:8px 12px}
html body.rspit-ui.rspit-ui.rspit-ui .run-actions .run-actions-trigger{box-sizing:border-box;flex:0 0 44px;width:44px;min-width:44px;padding:0;font-size:25px}
/* PC: kompakte Schaltflächen; kleine Bildschirme und Touch behalten die großen Ziele. */
@media(min-width:701px) and (pointer:fine){
 html body.rspit-ui.rspit-ui.rspit-ui :where(button:not(.formation-toggle),.btn,.btn-primary,.btn-danger,.btn-xs,.pill-toggle){min-height:30px;font-size:12px;padding:4px 8px}
 html body.rspit-ui.rspit-ui.rspit-ui .rspit-dialog :is(button,.btn){min-height:30px;font-size:13px}
 html body.rspit-ui.rspit-ui.rspit-ui .rspit-dialog-close{min-width:30px;min-height:30px;padding:0;font-size:22px!important}
 html body.rspit-ui.rspit-ui.rspit-ui :is(.af-actions,.ef-actions,.design-depot-tabs) button{min-height:30px;font-size:12px;padding:4px 8px}
 html body.rspit-ui.rspit-ui.rspit-ui .run-actions{gap:4px;margin-top:6px}
 html body.rspit-ui.rspit-ui.rspit-ui .run-actions .run-actions-primary{min-height:30px;padding:4px 8px;font-size:12px;border-radius:5px}
 html body.rspit-ui.rspit-ui.rspit-ui .run-actions .run-actions-trigger{box-sizing:border-box;flex:0 0 30px;width:30px;min-width:30px;min-height:30px;padding:0;font-size:20px;border-radius:5px}
 html body.rspit-ui.rspit-ui.rspit-ui .run-actions-menu > button{min-height:30px;padding:5px 8px;font-size:12px}
 html body.rspit-ui.rspit-ui.rspit-ui .rspit-notice button{min-height:30px}
 html body.rspit-ui.rspit-ui.rspit-ui .status-grid button.course-resume{min-width:44px;min-height:30px;padding:4px 6px;font-size:12px}
}
html body.rspit-ui.rspit-ui :where(input:not(.wagenInput):not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;font-size:16px;max-width:100%}
html body.rspit-ui.rspit-ui table td{font-size:14px}
.page-field-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.password-toggle{margin:0 0 12px 0}
.page-error-summary{scroll-margin-top:20px}
.master-list{display:grid;gap:12px}
.master-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ui-line);border-radius:8px;padding:14px;overflow-wrap:anywhere}
.master-item p{margin:4px 0;color:var(--ui-muted)}
.master-search{width:100%;margin:12px 0}
html body.rspit-ui dialog.master-dialog,html body.rspit-ui dialog.import-review-dialog{width:760px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:12px;padding:20px;overflow:auto}
.master-dialog::backdrop,.import-review-dialog::backdrop{background:#000a}
.master-dialog form{display:grid;gap:12px;margin-top:16px}
.master-dialog label{display:grid;gap:5px}
.master-dialog .master-checkbox{display:flex;align-items:center;gap:8px}
.master-dialog input[type=checkbox]{width:22px;height:22px}
.master-dialog form[data-delete]{border-top:1px solid var(--ui-line);padding-top:18px}
.master-dialog .rspit-dialog-heading{position:sticky;top:-20px;background:var(--ui-surface);z-index:2}
.master-empty{color:var(--ui-muted)}
.mobile-plan-editor{display:none}
.page-mobile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
@media(max-width:700px){
 html body.rspit-ui.rspit-ui .rspit-scroll-region:has(>.work-table){overflow:visible}
 html body.rspit-ui.rspit-ui :is(#view-overview,#view-ausfahrt,#view-einfahrt) .work-table{min-width:0;width:100%}
 html :is(.work-table,.work-table tbody,.work-table tbody tr,.work-table tbody td){display:block;width:100%}
 html :is(.work-table thead){position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
 html body.rspit-ui.rspit-ui .work-table tbody tr{padding:14px;margin-bottom:14px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-surface)}
 html body.rspit-ui.rspit-ui .work-table tbody td{position:static!important;width:100%!important;min-width:0!important;border:0!important;padding:5px 0;text-align:left}
 html .work-table td::before{content:attr(data-mobile-label);display:block;color:var(--ui-muted);font-size:13px}
 html :is(.work-table .work-extra){min-width:0}
 html :is(.work-table tr[hidden]){display:none!important}
 html :is(.work-table .work-toolbar){position:static}
 html :is(body.rspit-ui .design-plan-library){max-height:260px;overflow:auto}
 html :is(.mobile-plan-editor){display:grid;gap:10px}
 html :is(.mobile-plan-editor article){border:1px solid var(--ui-line);border-radius:8px;padding:14px}
 html :is(.mobile-plan-editor p){margin:6px 0;color:var(--ui-muted)}
 html :is(body[data-page=daten] .rspit-scroll-region:has(#tbodyDaten)){display:none}
 html body.rspit-ui .master-dialog{padding:16px}
}
@media print{.mobile-plan-editor,.master-search,.password-toggle{display:none!important}}

@media print{body[data-page=daten] .rspit-scroll-region:has(#tbodyDaten){display:block!important}}


html body.rspit-ui.rspit-ui.rspit-ui .status-grid .course-resume{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:60px;min-height:44px;margin:0;padding:6px 8px;border:1px solid #ffcc4266;border-radius:8px;background:#ffcc4210;color:#ffcc42;font:inherit;line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer}
html body.rspit-ui .status-grid .course-resume-icon{font-size:11px}
html body.rspit-ui .status-grid .course-resume:hover{background:#ffcc4228;border-color:#ffcc42}
html body.rspit-ui .status-grid .course-resume:focus-visible{outline:2px solid var(--ui-text);outline-offset:3px}
html body.rspit-ui.light .status-grid .course-resume{color:#795600;border-color:#a675004d;background:#fff4cf}
html body.rspit-ui.light .status-grid .course-resume:hover{background:#ffe69a;border-color:#a67500}
html body.rspit-ui .status-grid .has-resume-action .policy-requirement{display:inline-block;margin-top:4px}

/* Kurslisten wachsen mit dem Inhalt, ohne eigene Scrollbereiche. */
html body.rspit-ui .design-fleet .rspit-scroll-region{height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto}
html body.rspit-ui .design-fleet thead{position:static}

html body.rspit-ui .status-grid .course-departure:disabled{opacity:.4;cursor:not-allowed;background:transparent;border-color:var(--ui-line)}
html body.rspit-ui .status-grid>.status-column{container-type:inline-size}
@container(max-width:380px){html body.rspit-ui .status-grid table:has(.course-resume) th:first-child{width:72px}}

@keyframes course-departure-due{
  0%,100%{background-color:#ffcc4210;box-shadow:0 0 0 0 #ffcc4200}
  50%{background-color:#ffcc4240;box-shadow:0 0 0 3px #ffcc4266}
}
html body.rspit-ui .status-grid .course-departure:enabled{animation:course-departure-due 1.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){
 html body.rspit-ui .status-grid .course-departure:enabled{animation:none;background-color:#ffcc4230;box-shadow:0 0 0 2px #ffcc4266}
}
