/* KURTH 7.11 · Leitstand-Gestaltung. Abgegrenzte Komponenten, gemeinsame ERP-Hülle. */
:root{--bg:#eee;--surface:#fff;--line:#e0e0e0;--radius:12px;--r:12px;--shadow:0 2px 8px #00000007,0 8px 24px #00000005}
body{font-family:"Century Gothic","Avenir Next",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.sidebar{background:#0d0d0d}.nav-item{border-radius:8px}.nav-item.active{background:#202020;color:#fff;box-shadow:inset 3px 0 0 #fff}.nav-item:hover{background:#202020}
.topbar{border-bottom-color:#dcdcdc}.area-tabs{background:#f8f8f8}.area-tabs a{border-radius:6px 6px 0 0}
.ls-shell{--ls-ink:#171717;--ls-muted:#6a6a6a;--ls-line:#e2e2e2;--ls-ok:#247440;--ls-red:#b42f37;--ls-amber:#965700;--ls-blue:#33679a;color:var(--ls-ink);font-size:13px;line-height:1.5;max-width:1900px;margin:0 auto;padding:4px 0 20px}
.ls-shell h1{font-size:29px;line-height:1.15;font-weight: 600;letter-spacing:-1px;margin:6px 0 8px}.ls-shell h2,.ls-dialog h2{font-size:17px;font-weight: 600;letter-spacing:-.35px;margin:0}.ls-shell h3,.ls-dialog h3{font-size:14px;font-weight: 600;margin:18px 0 10px}.ls-shell button,.ls-dialog button{min-height:34px}.ls-shell input,.ls-shell select,.ls-dialog input,.ls-dialog select,.ls-dialog textarea{border:1px solid #d9d9d9;border-radius:7px;padding:9px 10px;background:#fff;color:#171717;font-size:13px;min-height:36px;max-width:100%}.ls-shell input:focus,.ls-shell select:focus,.ls-dialog input:focus,.ls-dialog select:focus,.ls-dialog textarea:focus{outline:2px solid #444;outline-offset:2px}.ls-shell button:focus-visible,.ls-dialog button:focus-visible,.ls-shell a:focus-visible{outline:2px solid #444;outline-offset:3px}.ls-shell button:disabled,.ls-dialog button:disabled{opacity:.45;cursor:not-allowed}.ls-shell small{font-size:11px;color:var(--ls-muted)}
.ls-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px}.ls-heading p{color:var(--ls-muted);margin:0;font-size:12px}.ls-eyebrow{font-size:12px;font-weight: 600;letter-spacing:2px;color:var(--ls-muted,#5f646b)}.ls-live{margin-left:8px;white-space:nowrap}.ls-live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:100%;background:#267344;margin-right:5px;vertical-align:1px}.ls-date-tools,.ls-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ls-date-tools{flex-shrink:0}.ls-date-label{margin:0}.ls-date-tools input{width:148px}.ls-date-tools button{white-space:nowrap}.ls-shell .btn-primary,.ls-dialog .btn-primary{background:#151515;border:1px solid #151515;color:#fff;border-radius:7px;font-weight: 500;padding:9px 14px}.ls-shell .btn-secondary,.ls-dialog .btn-secondary{background:#fff;border:1px solid #d8d8d8;border-radius:7px;color:#222;font-weight: 500;padding:8px 12px}.ls-shell .btn-ghost,.ls-dialog .btn-ghost{border:0;background:transparent;color:#666;padding:6px 9px;border-radius:6px}.ls-shell .btn-secondary:hover,.ls-dialog .btn-secondary:hover,.ls-shell .btn-ghost:hover,.ls-dialog .btn-ghost:hover{background:#f0f0f0}.ls-shell .btn-sm{font-size:11px;min-height:30px;padding:6px 9px}.ls-shell .ls-link,.ls-dialog .ls-link{font-size:12px;font-weight: 600;color:#222;background:transparent;border:0;text-align:left;padding:0;min-height:26px;text-decoration:none}.ls-link:hover{text-decoration:underline}
.ls-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:26px}.ls-metric{background:#fff;border:1px solid var(--ls-line);border-radius:12px;padding:17px 20px;min-height:128px}.ls-metric>span{display:block;color:var(--ls-muted,#5f646b);font-size:12px;font-weight: 500}.ls-metric>b{display:block;font-size:37px;line-height:1.2;font-weight: 600;letter-spacing:-1.5px;margin:8px 0}.ls-metric>b.ls-duration{font-size:26px;line-height:1.7}.ls-metric>small{display:block;font-size:12px;line-height:1.4}.ls-metric-alert{border-top:3px solid var(--ls-red);padding-top:15px}.ls-metric-alert>b{color:var(--ls-red)}
.ls-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:24px 0 12px}.ls-section-title>span,.ls-panel-head>span{font-size:12px;color:var(--ls-muted,#5f646b)}.ls-areas{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}.ls-area{flex:0 0 154px;min-width:154px;border:1px solid #ddd;background:#f7f7f7;border-radius:10px;text-align:left;padding:13px 14px;color:#333;position:relative;line-height:1.45}.ls-area>span{font-size:12px;display:block;font-weight: 600;min-height:20px}.ls-area>b{display:block;font-size:25px;font-weight: 600;margin:6px 0;line-height:1.1}.ls-area>b small{font-size:10px;letter-spacing:0;font-weight: 400}.ls-area>div,.ls-area>em,.ls-area>i{display:block;font-size:10px;font-style:normal;margin-top:5px;white-space:normal}.ls-area>em{color:#666}.ls-area>i{color:#b42f37;font-weight: 500}.ls-area.is-selected{background:#161616;border-color:#161616;color:#fff}.ls-area.is-selected em,.ls-area.is-selected small{color:#bbb}.ls-area:first-child{flex-basis:110px;min-width:110px;display:flex;align-items:center;justify-content:center;font-weight: 500}.ls-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin-bottom:24px}.ls-resource{border:1px solid #ddd;border-radius:10px;padding:14px;background:#fff}.ls-resource>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.ls-resource b{font-size:12px}.ls-resource strong{font-size:19px;font-weight: 600}.ls-resource p{font-size:11px;margin:8px 0 2px}.ls-resource small{font-size:10px}.ls-progress{height:4px;overflow:hidden;background:#e8e8e8;border-radius:4px;margin:10px 0 8px}.ls-progress i{display:block;background:#414141;height:4px}.ls-resource-risk{border-color:#eac2c5}.ls-resource-risk strong{color:#b42f37}.ls-resource-risk .ls-progress i{background:#b42f37}
.ls-panel{background:#fff;border:1px solid var(--ls-line);border-radius:12px;margin:18px 0;overflow:hidden}.ls-panel-head{padding:17px 20px;border-bottom:1px solid #e7e7e7;display:flex;justify-content:space-between;align-items:center;gap:15px}.ls-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 20px;border-bottom:1px solid #ededed;background:#fcfcfc}.ls-search{flex:1;min-width:220px;margin:0}.ls-search input{width:100%;background:#fff}.ls-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:5px;font-size:10px;line-height:1.45;font-weight: 500;white-space:nowrap}.ls-ok{background:#e8f2eb;color:#22653a}.ls-warn{background:#fff2dc;color:#8a570f}.ls-info{background:#e9f0f8;color:#285780}.ls-danger{background:#fbeaec;color:#a02c34}.ls-neutral{background:#efefef;color:#606060}.ls-table-scroll{overflow:auto}.ls-table{width:100%;border-collapse:collapse;min-width:780px}.ls-table th{background:#f8f8f8;font-size:12px;text-transform:uppercase;font-weight: 600;letter-spacing:.4px;color:var(--ls-muted,#5f646b);padding:11px 18px;border-bottom:1px solid #e5e5e5;text-align:left;white-space:nowrap}.ls-table td{padding:12px 18px;border-bottom:1px solid #eee;vertical-align:middle;font-size:12px}.ls-table td>strong,.ls-table td>small{display:block;line-height:1.5}.ls-table td>strong{font-weight: 500;font-size:12px}.ls-table td>small{margin-top:3px;font-size:12px}.ls-table tr:last-child td{border-bottom:0}.ls-table tbody tr:hover{background:#fafafa}.ls-table .ls-overdue td:first-child{box-shadow:inset 3px 0 0 #b42f37}.ls-table .ls-right{text-align:right;white-space:nowrap}
/* 9.60.3 (Fabian 10.10.2026, Bildschirmfoto «kann dies nicht automatisch optimiert»): die Arbeitsliste passt sich der Breite an – bei schmalem
   Fenster rücken «Planen»/«Einsatz» und «Details» untereinander, statt rechts abgeschnitten zu werden (vorher mind. 780 px, sonst seitlich rollen). */
.ls-table.ls-arbeit{min-width:560px}.ls-arbeit td.ls-right{white-space:normal;width:1%}.ls-aktion{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:64px}.ls-aktion .btn-sm{margin:0;white-space:nowrap}
@media (max-width:1200px){.ls-arbeit td,.ls-arbeit th{padding-left:12px;padding-right:12px}.ls-aktion{flex-direction:column;align-items:flex-end}}.ls-table [draggable=true]{cursor:grab}.ls-more{margin:16px}.ls-empty{text-align:center;padding:38px 24px;color:var(--ls-muted,#5f646b)}.ls-empty strong{font-size:14px;font-weight: 500;color:#555}.ls-empty p{font-size:12px;margin:7px 0 0}.ls-alert{padding:15px 18px;border:1px solid #e6ceab;background:#fff7e9;color:#805216;border-radius:9px;margin:15px 0;line-height:1.6}.ls-note{background:#f8f8f8;padding:13px 18px;font-size:11px;color:#666;line-height:1.65}.ls-top-note{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 20px;background:#f7f7f7;border:1px solid #ddd;border-radius:10px;margin:14px 0 20px}.ls-top-note b{font-size:13px}.ls-top-note p{font-size:12px;color:var(--ls-muted,#5f646b);max-width:820px;margin:5px 0 0}.ls-top-note>div:last-child{flex-shrink:0}.ls-segment{display:inline-flex;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:7px;padding:3px;gap:3px}.ls-segment button{border:0;background:transparent;padding:6px 13px;color:#777;font-size:12px;border-radius:5px;min-height:30px}.ls-segment button.active{background:#fff;box-shadow:0 1px 4px #00000016;color:#111;font-weight: 500}
.ls-timeline-scroll{overflow-x:auto}.ls-timeline{min-width:920px;padding-right:22px}.ls-time-header,.ls-time-row{display:grid;grid-template-columns:194px minmax(0,1fr)}.ls-time-header{height:42px;border-bottom:1px solid #e5e5e5;background:#fcfcfc}.ls-time-header>div:first-child{padding:12px 18px;font-size:10px;color:#777}.ls-time-hours{position:relative;margin:0 0 0 0}.ls-time-hours span{position:absolute;top:13px;transform:translateX(-50%);font-size:9px;color:#777;font-variant-numeric:tabular-nums}.ls-time-row{min-height:65px;border-bottom:1px solid #eaeaea}.ls-time-row:last-child{border-bottom:0}.ls-time-label{padding:13px 18px;background:#fcfcfc;border-right:1px solid #e5e5e5}.ls-time-label b{font-size:11px;display:block;line-height:1.4}.ls-time-label small{display:block;font-size:9px;margin-top:4px}.ls-time-track{position:relative;min-height:65px;background:repeating-linear-gradient(90deg,#eee 0,#eee 1px,transparent 1px,transparent calc(100% / 14));isolation:isolate}.ls-time-slot{position:absolute;top:10px;height:45px;background:#eef1f0;border:1px solid #b6c6bd;border-left:3px solid #406a50;color:#1d422c;border-radius:5px;overflow:hidden;text-overflow:ellipsis;text-align:left;padding:4px 7px;min-width:3px;z-index:2;min-height:0!important}.ls-time-slot b{font-size:10px;display:block;white-space:nowrap;font-weight: 600;overflow:hidden;text-overflow:ellipsis}.ls-time-slot small{font-size:9px;display:block;white-space:nowrap;color:inherit}.ls-time-slot:hover{z-index:5;box-shadow:0 3px 10px #0002}.ls-time-slot.is-service{background:#eaf0f7;border-color:#b6c8dd;border-left-color:#416a9a;color:#2f567b}.ls-time-slot.is-done{background:#f1f1f1;color:#777;border-color:#ccc}.ls-time-slot.has-warning{background:#fff4df;border-color:#dcb96e;color:#866024}.ls-time-block{position:absolute;inset-block:0;background:repeating-linear-gradient(135deg,#ededed,#ededed 4px,#f7f7f7 4px,#f7f7f7 8px);z-index:0}.ls-slot-list{padding:4px 18px 12px}.ls-slot-summary{display:grid;grid-template-columns:100px 140px 1fr 110px;text-align:left;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid #eee;background:#fff;padding:11px 3px;font-size:11px;line-height:1.5}.ls-slot-summary:hover{background:#f7f7f7}.ls-slot-summary>span:nth-child(3){color:#777}.ls-slot-summary>span:last-child{text-align:right;font-size:10px;color:#777}.ls-mono{font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-variant-numeric:tabular-nums}.ls-block-list{display:flex;flex-wrap:wrap;gap:8px}.ls-foot{font-size:12px;color:var(--ls-muted,#5f646b);margin:22px 0 0;border-top:1px solid #ddd;padding-top:14px}.ls-muted{color:var(--ls-muted,#5f646b);font-size:12px}
.ls-briefing-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px}.ls-briefing-grid>.ls-panel{margin-top:0;min-width:0}.ls-briefing-switch{margin-bottom:20px}.ls-checks{padding:3px 18px 15px}.ls-checks>div{padding:12px 0;border-bottom:1px solid #e7e7e7}.ls-checks>div:last-child{border:0}.ls-checks b{font-size:12px}.ls-checks p{font-size:11px;color:#777;margin:4px 0}.ls-checks small{font-size:10px;color:#888}.ls-my-header{border-bottom:1px solid #d8d8d8;padding:12px 0 22px}.ls-my-header h2{font-size:22px}.ls-my-header p{font-size:12px;color:#777;margin:5px 0}.ls-my-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:22px 0}.ls-my-card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:22px}.ls-my-card h2{margin:18px 0 7px}.ls-my-card p{font-size:12px;color:#777;margin:7px 0}.ls-my-dims{font-size:27px;letter-spacing:-.5px;font-weight: 600;margin:22px 0 6px}.ls-my-dims small{font-size:12px;font-weight: 400;letter-spacing:0}.ls-my-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.ls-my-actions button{min-height:44px!important}.ls-qual{width:35px;height:30px;border:1px solid #ddd;background:#fff;border-radius:5px;padding:0;font-size:13px}.ls-qual.q1{color:#8a6416;background:#fff5de;border-color:#ecdaaa}.ls-qual.q2{color:#2c6740;background:#e7f2eb;border-color:#c6dfce}.ls-qual.q0{color:#aaa}.ls-table .ls-qual-heading{white-space:normal;min-width:70px;max-width:100px;text-transform:none;letter-spacing:0;font-size:10px}.ls-week{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));overflow-x:auto}.ls-week-day{border-right:1px solid #e4e4e4;min-height:200px;padding:10px;min-width:140px}.ls-week-day:last-child{border:0}.ls-week-date{background:transparent;border:0;color:#666;font-size:11px;padding:5px 0;text-align:left;min-height:30px!important}.ls-week-day.is-today{background:#f7f7f7}.ls-week-day.is-today .ls-week-date{font-weight: 600;color:#111}.ls-week-day>.ls-muted{margin-top:20px;text-align:center}.ls-appointment{display:block;width:100%;text-align:left;padding:10px;border:1px solid #d4d4d4;background:#fff;border-left:3px solid #555;border-radius:6px;margin:8px 0;font-size:11px}.ls-appointment b,.ls-appointment span,.ls-appointment small{display:block;line-height:1.5}.ls-appointment span{font-size:10px;color:#777;margin-top:3px}.ls-appointment small{font-size:9px}
.ls-dialog{max-width:880px!important;width:calc(100vw - 40px)!important;padding:24px!important;font-family:inherit;color:#171717}.ls-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.ls-dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.ls-dialog-head h2{font-size:20px;margin-top:5px}.ls-dialog-head>button{font-size:25px}.ls-dialog-error{color:#9d2933;background:#fff0f1;border:1px solid #edc1c5;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:12px;line-height:1.7}.ls-dialog-error[hidden]{display:none}.ls-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.ls-field{display:flex;flex-direction:column;gap:6px;font-size:11px;min-width:0;margin:0!important;color:#666}.ls-field>span{font-size:11px;font-weight: 500;color:#666}.ls-field textarea{min-width:100%}.ls-dialog-context{background:#f6f6f6;padding:15px 18px;border-radius:8px;font-size:12px;line-height:1.65}.ls-dialog-context p{margin:6px 0}.ls-dialog-context b{font-weight: 600}.ls-warning{color:#8e5917}.ls-dialog .ls-help{font-size:11px;color:#777;line-height:1.6;margin:8px 0 14px}.ls-person-row{display:grid;grid-template-columns:minmax(180px,1fr) 115px 115px 34px;gap:9px;align-items:center;margin-bottom:9px}.ls-person-row label{margin:0!important}.ls-person-row select{width:100%}.ls-person-row input{width:100%;min-width:0}.ls-checkbox{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px}.ls-checkbox input{width:16px;height:16px;min-height:0}.ls-dialog-tools{border-top:1px solid #ddd;padding:14px 0 0;display:flex;gap:10px}.ls-detail-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.ls-detail-items article{padding:14px;border:1px solid #ddd;border-radius:8px}.ls-detail-items p{font-size:12px;color:#777;margin:6px 0 13px}.ls-detail-items svg{max-width:100%;max-height:160px}.ls-stop{display:flex;align-items:center;gap:8px;border:1px solid #ddd;border-radius:7px;padding:7px 10px;margin:8px 0;font-size:12px}.ls-stop>span{flex:1}.ls-stop>b{width:24px;font-family:monospace}.ls-stop-add{display:flex;gap:8px;margin:12px 0}.ls-stop-add select{flex:1;min-width:0}.ls-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.ls-heading h1{font-size:33px}.ls-metric{padding:20px 24px}.ls-metric>b{font-size:41px}.ls-resource-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:1150px){.ls-heading{align-items:flex-start;flex-direction:column;gap:14px}.ls-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ls-briefing-grid{grid-template-columns:1fr}.ls-top-note{align-items:start}.ls-top-note>div:last-child{flex-shrink:1}.ls-section-title{align-items:flex-start}.ls-section-title span{max-width:45%;text-align:right}}
@media(max-width:720px){.ls-shell{padding-top:0}.ls-shell h1{font-size:25px}.ls-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ls-metric{min-height:118px;padding:13px 15px}.ls-metric:last-child{grid-column:1/-1;min-height:96px}.ls-metric>b{font-size:30px}.ls-metric>b.ls-duration{font-size:26px;line-height:1.3}.ls-heading{margin-bottom:18px}.ls-date-tools{gap:6px;width:100%}.ls-date-tools button{padding:8px 9px;font-size:11px}.ls-date-tools input{width:137px}.ls-live{display:block;margin:6px 0 0}.ls-resource-grid{grid-template-columns:1fr 1fr;gap:8px}.ls-resource{padding:12px}.ls-resource>div:first-child{align-items:flex-start}.ls-resource b{font-size:11px}.ls-resource strong{font-size:17px}.ls-filters{padding:12px;gap:8px}.ls-search{flex-basis:100%;min-width:0}.ls-section-title>span{display:none}.ls-panel-head{padding:14px}.ls-panel-head>span{display:none}.ls-top-note{display:block;padding:14px}.ls-top-note .ls-inline{margin-top:12px}.ls-slot-summary{grid-template-columns:82px 1fr;font-size:10px;padding:10px 0;gap:3px 10px}.ls-slot-summary>span:nth-child(3){grid-column:1/-1}.ls-slot-summary>span:last-child{display:none}.ls-form-grid{grid-template-columns:1fr 1fr;gap:12px}.ls-dialog{padding:18px!important;width:calc(100vw - 20px)!important}.ls-dialog-head h2{font-size:18px}.ls-person-row{grid-template-columns:1fr 1fr 32px;gap:7px}.ls-person-row>label:first-child{grid-column:1/3}.ls-person-row>button{grid-row:1/3;grid-column:3}.ls-person-row>label:nth-child(2){grid-column:1;grid-row:2}.ls-person-row>label:nth-child(3){grid-column:2;grid-row:2}.ls-person-row input{width:100%}.ls-dialog .modal-actions{flex-wrap:wrap}.ls-areas{margin-right:-8px}.ls-foot{font-size:12px}.ls-my-grid{grid-template-columns:1fr}.ls-heading p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ls-shell *{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.area-tabs,.ls-date-tools,.ls-filters,.ls-shell button,.ls-shell .btn-primary{display:none!important}.app{display:block}.content{padding:0}.ls-shell{font-size:10px}.ls-panel,.ls-metric{break-inside:avoid}.ls-week{overflow:visible}.ls-foot{display:block}.ls-heading{margin-bottom:15px}}

.ls-resource strong{white-space:nowrap;flex-shrink:0}.ls-resource b{min-width:0;overflow-wrap:anywhere}

/* Korrigiert widersprüchliche alte ERP-Mobile-Regeln: schmale feste Navigation,
   optional als Schublade ausklappbar; Tabellen scrollen nur innerhalb ihrer Karte. */
@media(max-width:900px){
 #app{display:block}#sidebar{position:fixed;left:0;top:0;width:60px;height:100vh;height:100dvh;overflow-y:auto}
 #app.expanded #sidebar{width:232px}#app>.main{margin-left:60px;min-width:0}#app.no-nav>.main{margin-left:0}
 #sidebar .brand{height:90px;padding:15px 13px}#sidebar .brand-mark{width:34px;height:34px}
 #sidebar .nav{padding:8px 6px}#sidebar .nav-item{padding:0 14px}#sidebar .side-bottom{padding:6px 6px 12px}
 #sidebar .profile{padding:0 9px}#sidebar .collapse{right:2px;top:56px}
 .topbar{padding:0 16px;gap:14px}.topbar .page-title{min-width:0;flex-shrink:0}.topbar .search{min-width:0}.topbar .search input{min-width:0}
 .content{padding:20px 16px}.area-tabs{padding-left:16px;padding-right:16px}#view{min-width:0;max-width:100%}
}
/* v9.27.1: Telefon (bis 760 px) – dort ist die Seitenleiste eine Schublade (styles.css). Die schmale 60-px-Leiste
   oben galt bisher auch hier: Die Schublade ging nur 60 px weit auf (Menütexte abgeschnitten), und der Inhalt
   behielt links 60 px Leerraum. */
@media(max-width:760px){#sidebar{width:264px}#app>.main{margin-left:0}}
@media(max-width:480px){
 .topbar{height:60px;padding:0 12px;gap:9px}.topbar .page-title{font-size:15px}.topbar .search{padding:0 8px}.topbar .top-actions:empty{display:none}
 .content{padding:18px 12px}.area-tabs{padding-left:12px;padding-right:12px}
 .ls-resource-grid{grid-template-columns:1fr}.ls-metric{padding:12px}.ls-metric>small{overflow-wrap:anywhere}
 .ls-panel-head{flex-wrap:wrap;gap:6px}.ls-areas{margin-right:0}.ls-form-grid{grid-template-columns:1fr}
 .ls-date-tools{max-width:100%}.ls-heading{min-width:0}.ls-heading>div{min-width:0}.ls-heading h1{overflow-wrap:anywhere}
}

/* v9.10.0: Touch – Leitstand, Tagesplan, Mein Tag mit Fingerbedienung (nur bei grobem Zeiger) */
@media (pointer: coarse){.ls-shell button,.ls-dialog button{min-height:44px}.ls-shell .btn-sm{min-height:40px;font-size:13px}.ls-segment button{min-height:40px;padding:8px 14px}.ls-qual{width:44px;height:44px}.ls-table td{padding:14px 16px;font-size:14px}.ls-my-actions button{min-height:56px!important;font-size:16px}.ls-appointment{padding:14px;font-size:13px}.ls-week-date{min-height:44px!important}.ls-shell input,.ls-shell select,.ls-dialog input,.ls-dialog select{min-height:44px;font-size:16px}}

/* v9.18.0 Wochenplan */
.ls-wp-banner{border-left:4px solid #22653a}.ls-wp-banner.ls-wp-warn{border-left-color:#b42f37}
.ls-wp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ls-wp-day{border:1px solid #e5e5e5;border-radius:9px;margin:8px 0;background:#fff}.ls-wp-day>summary{cursor:pointer;padding:11px 14px;font-size:12px}
.ls-wp-day .ls-checks{padding:0 14px 12px}.ls-wp-day small{display:block;color:#8a570f;margin-top:3px}
.ls-wp-late{border-color:#e6b9bd}.ls-wp-late>summary b{color:#a02c34}

/* v9.23.0: Halbtagsraster (Maschinen × Vormittag/Nachmittag) */
.ls-half-scroll{overflow-x:auto}.ls-half-grid{min-width:calc(180px + var(--ls-cols) * 96px)}
.ls-half-row{display:grid;grid-template-columns:180px repeat(var(--ls-cols),minmax(96px,1fr));border-bottom:1px solid #eaeaea}
.ls-half-head{background:#fcfcfc;border-bottom:1px solid #e5e5e5}.ls-half-head>div{padding:8px 6px;font-size:10px;color:#666}.ls-half-head b{display:block;font-size:11px;color:#222;min-height:14px}.ls-half-head small{font-size:9px}
.ls-half-label{padding:10px 14px;background:#fcfcfc;border-right:1px solid #e5e5e5}.ls-half-label b{display:block;font-size:11px}.ls-half-label small{font-size:12px;color:var(--ls-muted,#5f646b)}
.ls-half-daystart{border-left:1px solid #d8d8d8}
.ls-half-cell{display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;background:#fff;border:0;border-left:1px solid #f0f0f0;padding:7px 6px;min-height:62px;font-size:10px;cursor:pointer}
.ls-half-cell.ls-half-daystart{border-left:1px solid #d8d8d8}.ls-half-cell:hover{background:#f6f8f7}
.ls-half-cell .ls-half-staff{font-weight:600;font-size:10px;color:#1d422c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-half-cell small{font-size:12px;color:var(--ls-muted,#5f646b)}.ls-half-cell .ls-progress{height:5px}
.ls-half-cell.is-empty .ls-half-staff{color:#aaa;font-weight:400}
.ls-half-cell.is-alert{background:#fdecea}.ls-half-cell.is-alert .ls-half-staff{color:#a3261b}
.ls-half-cell.is-over .ls-progress i{background:#c0392b}
.ls-half-people>div{padding:7px 6px;font-size:10px;color:#555;border-left:1px solid #f0f0f0}.ls-half-people>div.ls-half-daystart{border-left:1px solid #d8d8d8}
.ls-wp-half{padding:6px 14px}.ls-wp-half h4{margin:6px 0 4px;font-size:12px}
@media (max-width:700px){.ls-half-row{grid-template-columns:120px repeat(var(--ls-cols),minmax(84px,1fr))}}
/* Planung: Tagesplan · Morgen/Abend · Personal (14.10.2026) */
.ls-plan-nav{margin-top:12px}
/* 19.10.2026: Arbeitsvorrat nach Endtermin (Planung nach Terminen) – Gruppenzeilen, ganze Zeile antippbar, Fällig rot wenn überfällig */
.ls-termin tr.ls-gruppe th{background:#f6f6f4;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#555;padding-top:9px;padding-bottom:9px}
.ls-termin tr.ls-gruppe th small{font-weight:400;color:var(--ls-muted,#5f646b);margin-left:6px;letter-spacing:0}
.ls-termin tr.ls-gruppe-ueberfaellig th{color:#b00020}
.ls-termin tr.ls-zeile{cursor:pointer}.ls-termin tr.ls-zeile:hover td,.ls-termin tr.ls-zeile:focus-visible td{background:#fafaf8}
.ls-termin tr.ls-zeile:focus-visible{outline:2px solid #111;outline-offset:-2px}
.ls-termin td small{display:block;color:var(--ls-muted,#5f646b);margin-top:2px}
.ls-termin .ls-faellig-rot{color:#b00020}

/* 28.10.2026 (Prüfbericht Bedienung, Punkt 7): Arbeitsgang im Dialog zuoberst; Punkt 6: fällige, nicht eingeplante Lieferungen */
.ls-op-kopf{border:1px solid var(--line,#d7dade);border-radius:8px;padding:10px 12px;margin-bottom:12px;background:var(--surface,#fff)}
.ls-op-kopf h3{margin:0 0 6px;font-size:14px}
.ls-op-fakten{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0 0 8px;font-size:13px}
.ls-op-fakten dt{color:var(--muted,#73777f)}.ls-op-fakten dd{margin:0}
.ls-appointment.ls-faellig{border-style:dashed;border-color:#b00020}
.ls-appointment.ls-faellig small{color:#b00020}
