*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#203a53,#101722 40%,#0b1119);color:#e8f2ff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:rgba(5,10,18,.9);border-bottom:1px solid rgba(190,220,255,.18);backdrop-filter:blur(12px)}.top b{display:block;font-size:24px}.top small{color:#9db0c6}.top nav{display:flex;gap:8px;flex-wrap:wrap}.top nav a,.button,button{border:1px solid rgba(190,220,255,.25);border-radius:999px;background:rgba(86,195,255,.14);color:#e8f2ff;padding:9px 13px;font-weight:700;cursor:pointer}.top nav a:hover,.button:hover,button:hover{background:rgba(86,195,255,.26)}.money{white-space:nowrap;color:#cce6ff}.wrap{width:min(1450px,calc(100vw - 28px));margin:16px auto 36px}.card,.clipboard,.login-card{background:rgba(18,30,45,.86);border:1px solid rgba(190,220,255,.18);box-shadow:0 20px 60px rgba(0,0,0,.35);border-radius:18px;padding:18px}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.hero h1,.room-title h1{margin:0 0 6px;font-size:30px}.hero p,.room-title p,.card p{color:#9db0c6;line-height:1.45}.pillbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pillbar span{background:rgba(255,255,255,.06);border:1px solid rgba(190,220,255,.14);border-radius:999px;padding:8px 11px}.layout{display:grid;grid-template-columns:260px 1fr;gap:14px;margin-top:14px}.side-list{height:620px;overflow:auto}.room-link{display:block;margin:8px 0;padding:12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid transparent}.room-link:hover{border-color:rgba(86,195,255,.5)}.room-link small{display:block;color:#9db0c6;margin-top:3px}.room-link.locked{opacity:.55}.floor-card{overflow:auto}.floorplan{position:relative;width:920px;height:650px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),rgba(9,18,31,.86);background-size:32px 32px;border-radius:16px;margin-top:12px}.room-box{position:absolute;display:flex;flex-direction:column;justify-content:center;padding:12px;border-radius:14px;border:1px solid rgba(190,220,255,.22);background:rgba(25,48,68,.86);transition:.15s}.room-box:hover{transform:translateY(-2px);border-color:#56c3ff}.room-box.closed{background:rgba(70,50,55,.68)}.room-box small{color:#9db0c6;margin-top:4px}.flash{width:min(1450px,calc(100vw - 28px));margin:10px auto;padding:12px 16px;border:1px solid rgba(120,217,156,.35);border-radius:14px;background:rgba(25,55,39,.82)}.danger{border-color:rgba(255,130,130,.5);background:rgba(80,30,35,.75)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.room-grid,.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}.mini-card,.small-clip{display:block;background:rgba(255,255,255,.045);border:1px solid rgba(190,220,255,.14);border-radius:16px;padding:14px}.mini-card h3,.small-clip h2{margin:0 0 8px}.bars{height:10px;background:rgba(0,0,0,.28);border-radius:999px;overflow:hidden;margin:8px 0}.bars span{display:block;height:100%;background:linear-gradient(90deg,#78d99c,#56c3ff)}.button-row{display:flex;gap:8px;align-items:center}.wrap-row{flex-wrap:wrap}.form-grid{display:grid;gap:10px}.form-grid label{display:grid;gap:5px;color:#9db0c6}.form-grid input,.form-grid select{width:100%;padding:10px;border-radius:12px;border:1px solid rgba(190,220,255,.22);background:rgba(3,8,14,.6);color:#e8f2ff}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;padding:10px;border-radius:14px;background:rgba(255,255,255,.04)}.news{border-left:3px solid #56c3ff;padding:8px 0 8px 12px;margin:8px 0;background:rgba(255,255,255,.035);border-radius:8px}.clipboard{background:#f3ead7;color:#1f2630;border:0;box-shadow:0 24px 65px rgba(0,0,0,.45);position:relative}.clipboard:before{content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:180px;height:34px;border-radius:8px;background:#39424e;box-shadow:0 8px 16px rgba(0,0,0,.3)}.clipboard p{color:#374151}.clip-head{margin-top:18px;display:flex;justify-content:space-between;gap:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.tabs a{background:#d7c9ad;border-radius:999px;padding:8px 12px}.tab-card{background:#fff8e8;border:1px solid #dfd0ad;border-radius:14px;padding:14px;margin:12px 0}.patient-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.patient-details-grid div{background:rgba(255,255,255,.55);border:1px solid #dfd0ad;border-radius:12px;padding:10px}.patient-details-grid span{display:block;color:#6b5f48;font-size:12px}.login-body{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,calc(100vw - 28px))}.login-card h1{margin:0 0 8px;font-size:34px}@media(max-width:900px){.top,.hero{flex-direction:column;align-items:flex-start}.layout,.two-col{grid-template-columns:1fr}.side-list{height:auto}.floorplan{transform:scale(.75);transform-origin:top left;margin-bottom:-120px}.button-row{flex-wrap:wrap}}

/* Lesbarkeit und Bedienbarkeit Patch */
button,.button{background:#1f4f70;color:#ffffff;border-color:#72cfff;text-shadow:0 1px 1px rgba(0,0,0,.35)}
button:hover,.button:hover{background:#2a6d98;color:#ffffff}
button:disabled,.button.disabled{background:#44515e;color:#dce7f2;border-color:#6f7d8a;opacity:.8;cursor:not-allowed}
.clipboard button,.clipboard .button{background:#224b66;color:#ffffff;border-color:#2c7ca6;text-shadow:none}
.clipboard button:hover,.clipboard .button:hover{background:#2b6f92;color:#ffffff}
.tabs a{color:#1f2630;border:1px solid #c4b28e}.tabs a.active{background:#284d68;color:#ffffff;border-color:#284d68}.close-file{white-space:nowrap}.patient-file .clip-head{align-items:flex-start}.build-card{border-style:dashed;opacity:.95}.room-box.open{border-color:rgba(120,217,156,.46)}


/* Patch 3 */
.muted{color:#9db0c6}.room-box.locked-room{background:rgba(90,100,110,.28);border-color:rgba(190,220,255,.13);filter:grayscale(1);opacity:.58}.room-box.locked-room:hover{transform:none;border-color:rgba(190,220,255,.28)}.room-link.locked{opacity:.58;filter:grayscale(1);border:1px dashed rgba(190,220,255,.18)}.room-link.locked:hover{border-color:rgba(190,220,255,.35)}.card select option{background:#1d2733;color:#ffffff}.clipboard .form-grid select option{background:#fff8e8;color:#1f2630}

.hint-box{margin:12px 0;padding:12px 14px;border-radius:14px;background:#fff2cc;border:1px solid #d8b96b;color:#1f2630}.hint-box b{display:block;margin-bottom:6px}.hint-box ul{margin:0;padding-left:20px}.hint-box li{margin:4px 0}.danger-button{background:#71313a!important;border-color:#ff9ca7!important;color:#fff!important}.danger-button:hover{background:#8c3b45!important}.mini-card .danger-button{margin-top:0}

.call-next-card{margin-top:14px}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed;background:rgba(120,140,155,.25)!important;color:#d7e5f3!important}.timed-action-form{margin-top:12px}.process-wrap{margin-top:12px}.process-label{font-weight:700;color:#1f2630;margin-bottom:6px}.process-bar{height:14px;border-radius:999px;background:rgba(31,38,48,.2);overflow:hidden;border:1px solid rgba(31,38,48,.18)}.process-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#38bdf8,#78d99c);transition:width .08s linear}.clipboard .process-label{color:#1f2630}

/* Patch 6 */
.file-actions{justify-content:flex-end;align-items:flex-start}.file-actions form{margin:0}.small-note{color:#9db0c6;font-size:13px}

/* Patch 7 */
.requirement-box{margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(120,217,156,.28);border-radius:14px;background:rgba(120,217,156,.08)}
.requirement-box>b{display:block;margin-bottom:8px}.requirement-list{display:flex;flex-wrap:wrap;gap:7px}.requirement-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:13px;font-weight:700;border:1px solid rgba(190,220,255,.2)}.requirement-pill.ok{background:rgba(120,217,156,.18);color:#dfffea;border-color:rgba(120,217,156,.45)}.requirement-pill.missing{background:rgba(255,143,143,.16);color:#ffe4e4;border-color:rgba(255,143,143,.45)}.billing-box{margin:14px 0;padding:13px;border-radius:14px;background:#fff2d7;border:1px solid #d7bd79;color:#1f2630}.billing-box h3{margin:0 0 8px}.billing-box p{color:#1f2630}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:10px 0}.billing-grid div{padding:10px;border:1px solid #ddc99b;border-radius:12px;background:#fff8e8}.billing-grid span{display:block;color:#6b5f48;font-size:12px}.treatment-plan{display:grid;gap:7px;margin-top:10px}.treatment-plan-row{padding:10px;border-radius:12px;border:1px solid #ddc99b;background:#fff8e8}.treatment-plan-row span{display:block;margin-top:4px;color:#4b5563}.treatment-plan-row.done{opacity:.72;background:#edf7e7}.treatment-plan-row.current{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.billing-total{font-size:17px}.danger-text{color:#842029!important;font-weight:700}.small-note{line-height:1.35}

/* Patch 8 */
.wait-timer{display:inline-block;padding:2px 7px;border-radius:999px;background:rgba(86,195,255,.14);border:1px solid rgba(86,195,255,.28);color:#e8f2ff}
.clipboard .wait-timer{background:#e8dcc4;border-color:#c9b38a;color:#1f2630}
.treatment-path-box{margin:12px 0;padding:13px;border-radius:14px;background:#fff2cc;border:1px solid #d8b96b;color:#1f2630}.treatment-path-box h3{margin:0 0 6px}.treatment-path-box p{color:#1f2630}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.path-card{display:grid;gap:8px;align-content:start;margin:0;padding:12px;border:1px solid #d8b96b;border-radius:14px;background:#fff8e8}.path-card b{font-size:18px}.path-card button{justify-self:start}.treatment-plan-note{margin-top:8px;padding:9px 10px;border-radius:12px;background:rgba(86,195,255,.12);border:1px solid rgba(86,195,255,.25)}

/* Patch 13: kompaktere Raumkopf-Ansicht */
.room-overview-compact{align-items:start;margin-top:10px;gap:10px}
.room-overview-compact .compact-card{padding:12px 14px;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.24)}
.room-overview-compact .compact-card h2{font-size:20px;margin:0 0 8px}
.room-overview-compact .compact-card p{margin:5px 0 7px;line-height:1.3}
.room-overview-compact .compact-card small{display:block;margin:2px 0 5px;font-size:12px}
.room-status-compact .bars{height:8px;margin:5px 0 3px}
.room-staff-compact .requirement-box{margin:6px 0 8px;padding:8px 10px}
.room-staff-compact .requirement-box>b{margin-bottom:5px}
.room-staff-compact .requirement-pill{padding:4px 8px;font-size:12px}
.room-staff-compact p{margin:5px 0;font-size:14px;line-height:1.28}
.room-staff-compact .form-grid{gap:7px;margin-top:8px}
.room-staff-compact select{padding:8px 10px}
.room-staff-compact button{padding:8px 12px}

/* Patch 14: Patient-rufen nur bei Bedarf, Raumkopf noch kompakter */
.room-overview-compact{grid-template-columns:1fr 1fr;margin-top:8px;gap:8px}
.room-overview-compact .compact-card{padding:8px 10px;border-radius:12px;box-shadow:0 8px 22px rgba(0,0,0,.2)}
.room-overview-compact .compact-card h2{font-size:17px;margin:0 0 4px;line-height:1.15}
.room-overview-compact .compact-card p{margin:2px 0 4px;line-height:1.2;font-size:13px}
.room-overview-compact .compact-card small{display:inline-block;margin:0 10px 2px 0;font-size:11px;line-height:1.15}
.room-status-compact .bars{height:6px;margin:4px 0 2px}
.room-staff-compact p{margin:3px 0;font-size:13px;line-height:1.18}
.room-staff-compact .requirement-box{margin:4px 0 6px;padding:6px 8px;border-radius:10px}
.room-staff-compact .form-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:6px;margin-top:6px;align-items:center}
.room-staff-compact select{padding:7px 9px;font-size:12px;min-height:34px}
.room-staff-compact button{padding:7px 10px;font-size:12px;min-height:34px}
.call-next-card{margin-top:8px;padding:10px 12px}
.call-next-card h2{font-size:18px;margin:0 0 4px}
.call-next-card p{margin:0 0 7px;font-size:13px}
@media(max-width:900px){.room-staff-compact .form-grid{grid-template-columns:1fr}.room-overview-compact{grid-template-columns:1fr}}

/* Patch 24: Diagnoseauswahl als klare Karten statt schwer lesbarem Select */
.diagnosis-choice-box{margin:12px 0;padding:13px;border-radius:14px;background:#fff2cc;border:1px solid #d8b96b;color:#1f2630}
.diagnosis-choice-box h3{margin:0 0 6px}.diagnosis-choice-box p{margin:0 0 10px;color:#1f2630}
.diagnosis-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.diagnosis-choice-card{display:grid;gap:8px;align-content:start;margin:0;padding:12px;border:1px solid #d8b96b;border-radius:14px;background:#fff8e8;color:#1f2630}
.diagnosis-choice-card b{font-size:17px}.diagnosis-choice-card small{color:#5f5340}.diagnosis-choice-card button{justify-self:start}

/* Patch 25: linke Raum-Navigation, sichtbare Spielzeit und Hintergrundbilder */
body.with-room-sidebar{
    background:
        linear-gradient(rgba(8, 14, 23, .58), rgba(8, 14, 23, .72)),
        var(--page-bg, radial-gradient(circle at top left,#203a53,#101722 42%,#0b1119));
    background-size: cover, cover;
    background-position: center center, center center;
    background-attachment: fixed, fixed;
}

.room-sidebar{
    position: fixed;
    z-index: 9;
    left: 12px;
    top: 76px;
    bottom: 14px;
    width: 205px;
    padding: 12px;
    overflow-y: auto;
    background: rgba(18,30,45,.88);
    border: 1px solid rgba(190,220,255,.18);
    border-radius: 18px;
    box-shadow: 0 16px 46px rgba(0,0,0,.32);
    backdrop-filter: blur(12px);
}

.room-sidebar-title{
    font-weight: 800;
    font-size: 18px;
    margin: 3px 4px 10px;
}

.room-sidebar-link{
    display: block;
    margin: 7px 0;
    padding: 10px 11px;
    border-radius: 13px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(190,220,255,.08);
    transition: .12s ease;
}

.room-sidebar-link:hover,
.room-sidebar-link.active{
    background: rgba(86,195,255,.16);
    border-color: rgba(86,195,255,.42);
}

.room-sidebar-link span{
    display:block;
    font-weight:800;
    line-height:1.18;
}

.room-sidebar-link small{
    display:block;
    margin-top:3px;
    color:#9db0c6;
    font-size:12px;
    line-height:1.2;
}

body.with-room-sidebar .wrap{
    width: min(1450px, calc(100vw - 255px));
    margin: 16px 18px 36px 235px;
}

body.with-room-sidebar .flash{
    margin-left: 235px;
    width: min(1450px, calc(100vw - 255px));
}

.game-clock{
    color:#ffffff;
    font-weight:800;
}

.top{
    z-index: 20;
}

@media(max-width: 1000px){
    .room-sidebar{
        position: static;
        width: auto;
        margin: 12px 14px 0;
        max-height: 240px;
    }

    body.with-room-sidebar .wrap,
    body.with-room-sidebar .flash{
        width: min(1450px, calc(100vw - 28px));
        margin-left: auto;
        margin-right: auto;
    }
}


/* Patch 26: bessere linke Raum-Navigation mit Zustand, aktuellem Raum und Patientenzahlen */
.room-sidebar{
    width: 218px;
    padding: 10px;
}
.room-sidebar-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:2px 4px 9px;
    font-size:18px;
}
.room-sidebar-link{
    position:relative;
    display:grid;
    gap:4px;
    margin:7px 0;
    padding:9px 10px;
    border-radius:13px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(190,220,255,.10);
}
.room-sidebar-link.active{
    background:linear-gradient(135deg,rgba(86,195,255,.22),rgba(255,255,255,.055));
    border-color:rgba(86,195,255,.78);
    box-shadow:inset 3px 0 0 #56c3ff,0 0 0 1px rgba(86,195,255,.10);
}
.room-sidebar-link.active:before{
    content:"";
    position:absolute;
    left:-1px;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:999px;
    background:#56c3ff;
}
.room-sidebar-name{
    display:block;
    padding-right:58px;
    font-weight:900;
    line-height:1.08;
}
.room-sidebar-link em{
    position:absolute;
    top:8px;
    right:8px;
    padding:2px 6px;
    border-radius:999px;
    background:rgba(120,217,156,.18);
    border:1px solid rgba(120,217,156,.45);
    color:#bdf3d0;
    font-style:normal;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.02em;
}
.room-sidebar-link small{
    margin-top:0;
    font-size:11px;
}
.room-sidebar-bars{
    display:grid;
    gap:3px;
    margin:2px 0 1px;
}
.room-sidebar-bars i,
.room-sidebar-bars b{
    display:block;
    height:4px;
    max-width:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#78d99c,#56c3ff);
}
.room-sidebar-bars b{
    background:linear-gradient(90deg,#f2d27b,#56c3ff);
}
.room-sidebar-counts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    margin-top:2px;
}
.room-sidebar-counts strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:4px 5px;
    border-radius:8px;
    background:rgba(3,8,14,.38);
    border:1px solid rgba(190,220,255,.10);
    color:#d9ecff;
    font-size:11px;
    line-height:1;
    text-align:center;
}
body.with-room-sidebar .wrap{
    width:min(1450px,calc(100vw - 275px));
    margin-left:252px;
}
body.with-room-sidebar .flash{
    margin-left:252px;
    width:min(1450px,calc(100vw - 275px));
}
@media(max-width:1000px){
    .room-sidebar{width:auto}
    .room-sidebar-counts{grid-template-columns:repeat(2,minmax(120px,1fr))}
    body.with-room-sidebar .wrap,
    body.with-room-sidebar .flash{width:min(1450px,calc(100vw - 28px));margin-left:auto;margin-right:auto}
}

/* Patch 27: Raumzustand nur noch in der linken Navigation, kompakter Raumkopf */
.room-staff-strip{
    display:block;
    margin:8px 0 10px;
}
.room-staff-strip .room-staff-full{
    padding:7px 10px;
    border-radius:12px;
}
.room-staff-strip .room-staff-full h2{
    font-size:16px;
    margin:0 0 3px;
}
.room-staff-strip .room-staff-full p{
    display:inline-block;
    margin:2px 14px 2px 0;
    font-size:13px;
    line-height:1.15;
}
.room-staff-strip .room-staff-full .form-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 170px;
    gap:6px;
    margin-top:6px;
}
.room-staff-strip .room-staff-full select,
.room-staff-strip .room-staff-full button{
    min-height:32px;
    padding:6px 9px;
    font-size:12px;
}

/* Patch 27: Patientenakte im übersichtlichen Retro-Karteikarten-Stil */
.biing-file{
    position:relative;
    max-width:1080px;
    margin:0 auto;
    padding:26px 28px 30px 46px;
    background:linear-gradient(90deg,#b8392f 0,#b8392f 18px,#f0e4c9 18px,#f4ead8 100%);
    border:2px solid #d0b983;
    border-radius:8px;
    color:#1f2630;
    box-shadow:0 20px 55px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.55);
}
.biing-file:before{
    content:"";
    position:absolute;
    top:28px;
    bottom:28px;
    left:25px;
    width:5px;
    border-radius:999px;
    background:#dfcfaa;
    box-shadow:0 0 0 1px #bca879 inset;
}
.biing-file .clip-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:14px;
}
.biing-file .clip-head h1{
    margin:0 0 4px;
    color:#111827;
    font-size:30px;
}
.biing-file .clip-head span{
    color:#374151;
    font-weight:700;
}
.biing-file .tabs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:8px 0 14px;
}
.biing-file .tabs a{
    padding:6px 12px;
    border-radius:999px;
    color:#1f2630;
    background:#dfd0ad;
    border:1px solid #c2ae82;
}
.biing-file .tabs a.active{
    background:#145a78;
    color:#fff;
    border-color:#0f789c;
}
.file-sheet{
    margin-top:0;
    padding:14px 16px;
    border:1px solid #ccb88d;
    border-radius:6px;
    background:repeating-linear-gradient(0deg,#fff8e9 0,#fff8e9 27px,#eadab9 28px);
    color:#1f2630;
}
.file-sheet h2{
    margin:0 0 12px;
    color:#111827;
}
.file-form-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
    gap:6px;
    margin:6px 0;
}
.file-form-row.top-row{
    grid-template-columns:2fr 1.5fr .8fr .8fr;
}
.file-form-row div,
.file-line{
    min-height:34px;
    padding:4px 8px;
    border:1px solid #d7c39a;
    border-radius:4px;
    background:rgba(255,251,239,.75);
}
.file-form-row span,
.file-line span{
    display:block;
    color:#6f634b;
    font-size:12px;
    line-height:1.05;
}
.file-form-row b,
.file-line b{
    display:block;
    margin-top:2px;
    color:#111827;
    font-size:15px;
    line-height:1.22;
}
.file-line{
    margin:6px 0;
}
.treatment-sheet .billing-box{
    background:rgba(255,248,232,.82);
    border-color:#ccb88d;
}
.history-sheet .news{
    background:rgba(255,251,239,.75);
    border-color:#d7c39a;
    color:#1f2630;
}
.history-sheet .news p{color:#1f2630}

@media(max-width:900px){
    .room-staff-strip .room-staff-full .form-grid{grid-template-columns:1fr}
    .biing-file{padding:22px 14px 22px 32px}
    .file-form-row.top-row{grid-template-columns:1fr}
}

/* PATCH 33: Aktenkartei für Annahme und Wartezimmer */
.patient-carousel{
    margin-top:14px;
    padding:16px;
}
.carousel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}
.carousel-head h2{
    margin:0 0 4px;
}
.carousel-head p{
    margin:0;
    color:#9db0c6;
}
.carousel-controls{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.carousel-counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:70px;
    padding:8px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(190,220,255,.16);
    color:#d9ecff;
    font-weight:700;
}
.patient-carousel-stage{
    position:relative;
}
.carousel-card{
    display:none;
}
.carousel-card.active{
    display:block;
}
.queue-file{
    max-width:980px;
    margin:0 auto;
    padding:26px 28px 22px;
    border-radius:16px;
    background:
        linear-gradient(90deg, rgba(197,38,38,.18) 0, rgba(197,38,38,.18) 36px, transparent 36px),
        repeating-linear-gradient(0deg, rgba(110,96,72,.12) 0, rgba(110,96,72,.12) 1px, transparent 1px, transparent 26px),
        #f4ead4;
    color:#111827;
    border:1px solid #d4bd8e;
    box-shadow:0 22px 60px rgba(0,0,0,.45);
}
.queue-file h2{
    color:#111827;
    margin:0;
}
.queue-file p{
    color:#253044;
}
.queue-file small{
    display:block;
    color:#75684d;
    font-weight:700;
    margin-bottom:3px;
}
.queue-file-head{
    align-items:flex-start;
    margin-top:18px;
    padding-bottom:10px;
    border-bottom:2px solid #d4bd8e;
}
.queue-file .case-number{
    padding:6px 8px;
    border-radius:4px;
    background:rgba(255,251,239,.72);
    border:1px solid #d7c39a;
    color:#111827;
    font-weight:700;
    font-size:13px;
    white-space:nowrap;
}
.queue-file-grid{
    margin:12px 0;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.queue-file-grid div{
    min-height:46px;
    background:rgba(255,251,239,.75);
    border-color:#d7c39a;
}
.queue-file-note{
    margin:12px 0;
    padding:12px 14px;
    border:1px solid #d7c39a;
    border-radius:12px;
    background:rgba(255,246,218,.75);
    color:#111827;
}
.queue-file-note p{
    margin:5px 0 0;
}
.queue-actions{
    margin-top:12px;
}
.queue-file .wait-timer{
    background:#e7d8b9;
    border-color:#c9b38a;
    color:#111827;
}

@media(max-width:900px){
    .carousel-head{
        flex-direction:column;
    }
    .carousel-controls{
        width:100%;
        justify-content:flex-start;
    }
    .queue-file{
        padding:24px 14px 18px 42px;
    }
}

/* PATCH 34: Personalblock steht unten, Rauminfo spart Platz */
.bottom-staff-panel{
    margin-top:16px;
    margin-bottom:0;
}
.bottom-staff-panel .room-staff-full{
    opacity:.96;
}
.patient-carousel{
    margin-top:10px;
}


/* PATCH 35: Aktenoptik überall, sichtbarere Hintergründe und sichere Aktionsmarker */
.medical-case-grid{
    grid-template-columns:1fr;
}
.medical-file{
    width:100%;
    max-width:none;
    margin:0;
}
.small-clip.clipboard{
    background:
        linear-gradient(90deg, rgba(197,38,38,.18) 0, rgba(197,38,38,.18) 30px, transparent 30px),
        repeating-linear-gradient(0deg, rgba(110,96,72,.11) 0, rgba(110,96,72,.11) 1px, transparent 1px, transparent 26px),
        #f4ead4;
    color:#111827;
    border:1px solid #d4bd8e;
    box-shadow:0 18px 48px rgba(0,0,0,.38);
}
.small-clip.clipboard h2,
.small-clip.clipboard h3{
    color:#111827;
}
.small-clip.clipboard p,
.small-clip.clipboard small{
    color:#253044;
}
.room-sidebar-link.needs-action{
    border-color:rgba(242,210,123,.82);
    box-shadow:0 0 0 2px rgba(242,210,123,.12), inset 4px 0 0 rgba(242,210,123,.9);
}
.room-sidebar-link.needs-staff{
    border-color:rgba(255,143,143,.88);
    box-shadow:0 0 0 2px rgba(255,143,143,.14), inset 4px 0 0 rgba(255,143,143,.95);
}
.room-action-badge{
    display:inline-flex!important;
    margin:5px 0 0!important;
    padding:2px 7px!important;
    border-radius:999px!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-style:normal!important;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#111827!important;
    background:#f2d27b!important;
    border:1px solid rgba(0,0,0,.16)!important;
}
.room-sidebar-link.needs-staff .room-action-badge{
    background:#ff8f8f!important;
    color:#1f1111!important;
}
body.with-room-sidebar{
    background-repeat:no-repeat,no-repeat;
}


/* PATCH 36: transparentere Raumcontainer und einheitliche Aktenbreite */
body.with-room-sidebar .card:not(.clipboard),
.room-title.card,
.patient-carousel.card,
.call-next-card,
.bottom-staff-panel .room-staff-full{
    background:rgba(18,30,45,.55);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

body.with-room-sidebar .card:not(.clipboard){
    border-color:rgba(190,220,255,.20);
}

/* Patientenklemmbretter in Behandlungs-/OP-Räumen nicht mehr über die volle Breite */
.medical-case-grid{
    display:block;
    margin-top:14px;
}
.medical-file{
    width:min(980px,100%);
    max-width:980px;
    margin:0 auto 14px;
}

/* Stationszimmer nutzt dieselbe Aktenmappe wie das Wartezimmer */
.compact-room-info{
    padding:14px 16px;
    margin-top:10px;
}
.compact-room-info h2{
    margin:0 0 6px;
    font-size:22px;
}
.compact-room-info p{
    margin:4px 0;
}

.queue-file .process-wrap{
    margin-top:12px;
}

@media(max-width:900px){
    .medical-file{
        width:100%;
        max-width:100%;
    }
}

/* PATCH 37: schmalere Sidebar ohne horizontale Scrollleiste + Blutbank */
html, body{
    max-width:100%;
    overflow-x:hidden;
}
body.with-room-sidebar .wrap{
    width:auto;
    max-width:none;
    margin:14px 14px 34px 222px;
    min-width:0;
}
body.with-room-sidebar .flash{
    width:auto;
    max-width:none;
    margin-left:222px;
    margin-right:14px;
}
.room-sidebar{
    left:8px;
    top:74px;
    bottom:12px;
    width:198px;
    padding:8px;
    overflow-x:hidden;
}
.room-sidebar-title{
    font-size:17px;
    margin:2px 3px 8px;
}
.room-sidebar-link{
    margin:6px 0;
    padding:8px 8px;
    border-radius:12px;
    min-width:0;
}
.room-sidebar-name{
    padding-right:48px;
    font-size:15px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.room-sidebar-link small{
    font-size:10px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.room-sidebar-link em{
    right:6px;
    top:7px;
    max-width:82px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    padding:2px 5px;
}
.room-action-badge{
    max-width:92px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:9px!important;
    padding:2px 5px!important;
}
.room-sidebar-bars i,
.room-sidebar-bars b{
    height:3px;
}
.room-sidebar-counts{
    gap:4px;
}
.room-sidebar-counts strong{
    font-size:10px;
    padding:3px 4px;
}
.card,
.clipboard,
.patient-carousel,
.queue-file{
    min-width:0;
}
.top{
    max-width:100vw;
    overflow:hidden;
}
.top nav{
    min-width:0;
}

.panel-head-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.blood-total{
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(86,195,255,.16);
    border:1px solid rgba(86,195,255,.32);
    color:#e8f2ff;
    font-weight:800;
}
.blood-stock-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:10px;
    margin-top:14px;
}
.blood-stock-card{
    padding:12px;
    border-radius:14px;
    background:rgba(120,217,156,.10);
    border:1px solid rgba(120,217,156,.28);
}
.blood-stock-card strong{
    display:block;
    font-size:24px;
    line-height:1;
}
.blood-stock-card span{
    display:block;
    margin-top:6px;
    font-weight:800;
}
.blood-stock-card small{
    display:block;
    margin-top:4px;
    color:#9db0c6;
}
.blood-stock-card.low{
    background:rgba(242,210,123,.12);
    border-color:rgba(242,210,123,.34);
}
.blood-stock-card.empty{
    background:rgba(255,143,143,.10);
    border-color:rgba(255,143,143,.30);
    opacity:.92;
}
.blood-compat-panel{
    margin-top:14px;
}
.blood-compat-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px;
    margin-top:12px;
}
.blood-compat-card{
    padding:12px;
    border-radius:14px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(190,220,255,.14);
}
.blood-compat-card h3{
    margin:0 0 8px;
}
.blood-compat-card p{
    margin:5px 0;
}

@media(max-width:1000px){
    html, body{overflow-x:auto}
    .room-sidebar{position:static;width:auto;margin:12px 14px 0;max-height:240px}
    body.with-room-sidebar .wrap,
    body.with-room-sidebar .flash{width:min(1450px,calc(100vw - 28px));margin-left:auto;margin-right:auto}
}

/* PATCH39 Verwaltung neu sortiert */
.admin-wrap{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.admin-title-card{
    margin-bottom:0!important;
}
.admin-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px;
    align-items:start;
}
.admin-card{
    min-width:0;
}
.admin-card h2{
    margin-top:0;
}
.compact-form{
    gap:10px;
}
.price-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:10px;
}
.price-grid label{
    margin:0;
}
.shop-card .shop-select{
    width:100%;
}
.shop-card select optgroup{
    font-weight:800;
    color:#e8f2ff;
    background:#132230;
}
.shop-card select option{
    font-weight:600;
    color:#e8f2ff;
    background:#101b28;
    padding:6px 8px;
}
.admin-list-block{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}
.admin-list-row{
    margin:0;
}
.news-card-admin .news-scroll{
    display:flex;
    flex-direction:column;
    gap:10px;
    max-height:320px;
    overflow:auto;
    padding-right:4px;
    margin-top:12px;
}
.staff-admin-grid{
    margin-top:12px;
}
.staff-card-admin p{
    min-height:44px;
}
.admin-actions-bottom{
    border-color:rgba(242,210,123,.28)!important;
    background:rgba(18,30,45,.70)!important;
}
.admin-actions-bottom h2::after{
    content:' unten';
    font-size:12px;
    color:#f2d27b;
    font-weight:800;
    margin-left:8px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
@media(max-width:1100px){
    .admin-grid{
        grid-template-columns:1fr;
    }
    .price-grid{
        grid-template-columns:1fr;
    }
}

/* Patch 41: übersichtlichere Diagnoseauswahl */
.diagnosis-organized{
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
.diagnosis-choice-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
}
.diagnosis-choice-stats{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-end;
    min-width:210px;
}
.diagnosis-choice-stats span,
.diagnosis-category-strip span,
.severity-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    border:1px solid rgba(128,92,35,.25);
    background:rgba(255,255,255,.55);
    color:#1f2630;
    font-weight:800;
    font-size:12px;
    line-height:1;
    padding:6px 9px;
}
.diagnosis-category-strip{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:8px 0 12px;
}
.diagnosis-category-strip span b{
    margin-left:5px;
}
.diagnosis-group-list{
    display:grid;
    gap:8px;
    max-height:460px;
    overflow:auto;
    padding-right:4px;
}
.diagnosis-choice-group{
    border:1px solid rgba(176,136,65,.5);
    border-radius:14px;
    background:rgba(255,248,232,.72);
    overflow:hidden;
}
.diagnosis-choice-group summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    background:rgba(238,210,155,.58);
    color:#1f2630;
}
.diagnosis-choice-group summary::-webkit-details-marker{
    display:none;
}
.diagnosis-choice-group summary::before{
    content:'▸';
    font-weight:900;
    margin-right:3px;
}
.diagnosis-choice-group[open] summary::before{
    content:'▾';
}
.diagnosis-choice-group summary strong{
    margin-right:auto;
}
.diagnosis-choice-group summary span{
    color:#5f5340;
    font-size:12px;
    font-weight:800;
}
.diagnosis-choice-grid-compact{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    padding:10px;
}
.diagnosis-card-compact{
    grid-template-columns:1fr auto;
    align-items:start;
    gap:8px 10px;
    min-height:0;
}
.diagnosis-card-compact b{
    font-size:16px;
}
.diagnosis-card-compact small{
    display:block;
    margin-top:4px;
    line-height:1.3;
}
.diagnosis-card-compact button{
    grid-column:1 / -1;
    width:max-content;
    min-width:150px;
}
.diagnosis-card-compact.severity-4,
.diagnosis-card-compact.severity-5{
    border-color:#bb7b4a;
}
.diagnosis-card-compact.severity-4 .severity-pill,
.diagnosis-card-compact.severity-5 .severity-pill{
    background:#ffe2c9;
    border-color:#bb7b4a;
}
@media (max-width: 900px){
    .diagnosis-choice-head{display:block}
    .diagnosis-choice-stats{justify-content:flex-start;margin-top:8px}
    .diagnosis-group-list{max-height:none;overflow:visible}
}

/* Patch 43: Verwaltung / Personalstatus / Patchnotes */
.staff-card-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
.staff-card-title-row h3{
    margin-bottom:4px;
}
.autonomy-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:4px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    border:1px solid rgba(255,255,255,.18);
    white-space:nowrap;
}
.autonomy-badge.on{
    color:#e8fff1;
    background:rgba(44,168,91,.34);
    border-color:rgba(120,217,156,.65);
}
.autonomy-badge.off{
    color:#fff1d6;
    background:rgba(211,135,28,.32);
    border-color:rgba(255,196,97,.65);
}
.autonomy-button.on{
    background:rgba(44,168,91,.24)!important;
    border-color:rgba(120,217,156,.7)!important;
}
.autonomy-button.off{
    background:rgba(211,135,28,.24)!important;
    border-color:rgba(255,196,97,.7)!important;
}
.training-card{
    margin-top:14px;
}
.training-person-card.training-active{
    border-color:rgba(255,196,97,.5);
    background:rgba(255,196,97,.08);
}
.training-status{
    color:#ffd48a!important;
    font-weight:700;
}
.patchnotes-wrap .patchnotes-card{
    margin-top:14px;
}
.patchnotes-card ul{
    margin:10px 0 0;
    padding-left:22px;
    color:#c4d7ea;
    line-height:1.6;
}
.patchnotes-card code{
    padding:2px 6px;
    border-radius:6px;
    background:rgba(0,0,0,.26);
    color:#e8f2ff;
}

/* Patch 44: Beschwerden, Kapazitäten und Entsorgung */
.queue-complaint-box {
    margin: 12px 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(196, 155, 69, 0.45);
    background: rgba(255, 239, 190, 0.48);
}
.queue-complaint-box ul {
    margin: 7px 0 0 18px;
    padding: 0;
}
.complaint-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.complaint-head span,
.capacity-pill,
.blood-total {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-weight: 800;
    font-size: 12px;
    background: rgba(18, 84, 112, 0.18);
    border: 1px solid rgba(18, 84, 112, 0.25);
}
.priority-critical {
    border-color: rgba(160, 48, 64, 0.75);
    background: rgba(255, 218, 218, 0.65);
}
.priority-warning {
    border-color: rgba(210, 160, 50, 0.75);
    background: rgba(255, 239, 190, 0.65);
}
.priority-normal {
    border-color: rgba(160, 190, 120, 0.55);
    background: rgba(238, 245, 210, 0.45);
}
.inventory-grid .inventory-card,
.blood-stock-card {
    position: relative;
}
.discard-form {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px;
}
.discard-form input[type="number"] {
    width: 64px;
    min-width: 64px;
    padding: 7px 8px;
}
.small-button {
    width: auto;
    min-width: 0;
    padding: 7px 10px;
    font-size: 12px;
}
.blood-discard-form {
    justify-content: center;
}
.blood-expiry-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin-top: 10px;
}
.blood-expiry-list div {
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    border-radius: 10px;
    padding: 8px 10px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
}
.warn-text {
    color: #ffd98a;
    font-weight: 700;
}

/* Patch 45: Verwaltung oben Tagesbericht/Lehrgänge, autonome Buttons sperren */
.admin-priority-row{
    align-items:stretch;
}
.training-card-top{
    margin-top:0!important;
}
.compact-training-grid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    max-height:360px;
    overflow:auto;
    padding-right:4px;
}
.autonomy-badge.locked{
    color:#d7e0ea;
    background:rgba(120,130,140,.28);
    border-color:rgba(160,170,180,.45);
}
.autonomy-button.locked,
.autonomy-button.locked:disabled{
    background:rgba(120,130,140,.22)!important;
    border-color:rgba(160,170,180,.45)!important;
    color:#d7e0ea!important;
    cursor:not-allowed;
}

/* Patch 46: Lehrgangsübersicht */
.training-course-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.training-person-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.training-person-head h3 {
    margin-bottom: 4px;
}

.training-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.training-pill.ready {
    background: rgba(120, 220, 160, 0.18);
    border: 1px solid rgba(120, 220, 160, 0.45);
    color: #bdf7d1;
}

.training-pill.active {
    background: rgba(255, 203, 102, 0.18);
    border: 1px solid rgba(255, 203, 102, 0.55);
    color: #ffe1a0;
}

.training-skills {
    margin: 8px 0;
    font-size: 12px;
    line-height: 1.35;
}

.training-select-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
}

.training-select-form select {
    min-width: 0;
}

.training-course-hints {
    display: grid;
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(160, 210, 255, 0.12);
}

.training-course-hints small {
    color: #b6c9dc;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .training-select-form {
        grid-template-columns: 1fr;
    }
}

/* Patch 47: Lehrgänge als Tagesangebote mit Mitarbeiter-Dropdown */
.training-offer-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 12px;
    margin-top: 12px;
    max-height: 520px;
    overflow: auto;
    padding-right: 4px;
}

.training-offer-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.training-offer-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.training-offer-head h3 {
    margin: 5px 0 0;
}

.training-role-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 800;
    color: #bfeeff;
    background: rgba(86, 195, 255, 0.14);
    border: 1px solid rgba(86, 195, 255, 0.34);
}

.training-description,
.training-gain-line {
    margin: 0;
    color: #c4d7ea;
    line-height: 1.35;
}

.training-gain-line {
    font-size: 12px;
    color: #e6d59a;
    font-weight: 700;
}

.training-offer-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-top: auto;
}

.training-offer-form select {
    min-width: 0;
}

.training-offer-form button:disabled,
.training-offer-form select:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.active-training-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin: 10px 0 12px;
    padding: 10px;
    border-radius: 14px;
    border: 1px solid rgba(255, 203, 102, 0.36);
    background: rgba(255, 203, 102, 0.08);
}

.active-training-strip strong {
    color: #ffe1a0;
}

.active-training-strip span {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 8px;
    background: rgba(0, 0, 0, 0.18);
    color: #dcecff;
    font-size: 12px;
    font-weight: 700;
}

.empty-state-inline {
    margin-top: 12px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(160, 210, 255, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #c4d7ea;
}

@media (max-width: 900px) {
    .training-offer-form {
        grid-template-columns: 1fr;
    }
}

/* Patch 48: Spezialerfahrungen im Personalbereich */
.staff-skill-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.staff-skill-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.staff-skill-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.staff-skill-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}

.staff-skill-row strong,
.staff-skill-row span {
    display: block;
}

.staff-skill-row span {
    color: var(--muted, #9fb4c7);
    font-size: 12px;
    margin-top: 2px;
}

.staff-skill-row.on {
    border-color: rgba(95, 220, 145, 0.65);
    background: rgba(40, 130, 80, 0.20);
}

.staff-skill-row.off {
    border-color: rgba(255, 188, 76, 0.60);
    background: rgba(160, 110, 30, 0.16);
}

.staff-skill-row.locked {
    opacity: 0.72;
}

.autonomy-button.on {
    background: #197b4a;
    border-color: #55d98b;
}

.autonomy-button.off {
    background: #935f1f;
    border-color: #ffc45c;
}

.autonomy-button.locked,
.autonomy-button:disabled {
    background: rgba(120, 130, 140, 0.45);
    border-color: rgba(180, 190, 200, 0.25);
    cursor: not-allowed;
}

/* Patch 50: Zeitungsanzeigen */
.newspaper-ad-card .active-ad-box {
    margin: 10px 0 12px;
    padding: 10px 12px;
    border-left: 4px solid rgba(96, 205, 255, .75);
}
.stacked-form .small-note {
    margin-top: 6px;
    font-size: 12px;
}

/* Patch 52 */
.danger-note{border-color:rgba(255,100,100,.45)!important;background:rgba(120,20,20,.16)!important}
.ambulance-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch}
.ambulance-card h3{margin-top:0}
.progressbar{height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);margin:8px 0}
.progressbar span{display:block;height:100%;background:linear-gradient(90deg,rgba(86,195,255,.8),rgba(120,217,156,.9));border-radius:999px}
.staff-skill-card .staff-skill-list{max-height:none}

/* Patch 53: Garage-Personal kompakter und eindeutig */
.garage-staff-card .requirement-box {
    margin-bottom: 10px;
}
.staff-chip-list {
    display: grid;
    gap: 8px;
    margin: 10px 0;
}
.staff-chip-form {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border: 1px solid rgba(132, 214, 255, .18);
    border-radius: 12px;
    background: rgba(255, 255, 255, .04);
}
.staff-chip {
    color: #d8ecff;
    font-size: 13px;
    line-height: 1.35;
}
.ghost-button {
    width: auto;
    min-width: 0;
    padding: 7px 11px;
    opacity: .9;
}
.garage-assign-form {
    margin-top: 10px;
}
@media (max-width: 900px) {
    .staff-chip-form {
        display: block;
    }
    .staff-chip-form button {
        margin-top: 8px;
    }
}

/* Patch 54: Rettungsleitstelle, Notfall-Alarm und kompaktere Disposition */
.emergency-top-alert {
    border-color: rgba(255, 84, 84, .85) !important;
    background: rgba(130, 18, 28, .78) !important;
    color: #fff2f2 !important;
    animation: emergencyPulse 1s infinite alternate;
}
@keyframes emergencyPulse {
    from { box-shadow: 0 0 0 rgba(255, 75, 75, .0); transform: translateY(0); }
    to { box-shadow: 0 0 14px rgba(255, 75, 75, .9); transform: translateY(-1px); }
}
.emergency-alert-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
    margin-top: 10px;
}
.emergency-alert-card {
    border: 1px solid rgba(255, 120, 95, .42);
    background: rgba(120, 30, 25, .18);
    border-radius: 14px;
    padding: 12px;
}
.emergency-alert-card strong {
    color: #ffe1c6;
    display: block;
    margin-bottom: 6px;
}
.emergency-alert-card p {
    margin: 0 0 8px;
    color: #dbe9f8;
}
.emergency-alert-card small {
    color: #ffc999;
    font-weight: 700;
}
button:disabled,
select:disabled {
    opacity: .48;
    cursor: not-allowed;
}
.queue-actions button[disabled] {
    filter: grayscale(.35);
}


/* PATCH 56.1: stabile Akten-Karussells */
[data-carousel] [data-carousel-item]{
    display:none;
}
[data-carousel] [data-carousel-item].active{
    display:block;
}
.medical-patient-carousel{
    margin-top:14px;
}

/* Patch 57: feste Teams je Behandlungsraum */
.room-slot-staff-panel {
    width: 100%;
}

.room-slot-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.room-slot-team-card {
    border: 1px solid rgba(120, 190, 220, 0.28);
    border-radius: 16px;
    padding: 14px;
    background: rgba(7, 20, 30, 0.72);
}

.room-slot-team-card.slot-ready {
    border-color: rgba(76, 220, 150, 0.55);
}

.room-slot-team-card.slot-missing {
    border-color: rgba(255, 190, 88, 0.55);
}

.slot-role-block {
    margin: 10px 0;
    padding: 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
}

.assigned-staff-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.assigned-staff-row:last-child {
    border-bottom: 0;
}

.assigned-staff-row p {
    margin: 0;
}

.slot-assign-form {
    margin-top: 10px;
}

.danger-note {
    border-color: rgba(255, 92, 110, 0.65) !important;
}
