.planning-dialog{width:min(900px,96vw);max-height:90dvh;overflow:auto;border:1px solid #d4dce2;border-radius:16px;padding:22px;color:#18334e}.planning-dialog::backdrop{background:#102d4a80}.planning-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.planning-form label{display:flex;flex-direction:column;gap:5px}.planning-form input,.planning-form select,.planning-form textarea{width:100%;min-height:42px;border:1px solid #cbd6df;border-radius:8px;padding:8px}.planning-wide{grid-column:1/-1}.planning-card{padding:14px;border:1px solid #d5dee4;background:#fff;border-radius:10px;margin:10px 0}.planning-card button{margin:6px 6px 0 0}.planning-card small{display:block}.planning-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px;max-height:230px;overflow:auto}.planning-table-choice{display:flex!important;flex-direction:row!important;align-items:center;padding:8px;background:#f3f6f7;border-radius:6px;font-size:13px}.planning-table-choice input{width:18px;min-height:18px}.filters .section-staff{display:block;max-width:180px;white-space:normal;font-size:10px;line-height:1.3;font-weight:400;margin-top:4px}.next-party-badge text{font-size:7px;font-weight:700;fill:#17334d;text-anchor:middle}.next-party-badge rect{fill:#fff1ca;stroke:#c38a1d;stroke-width:.8}.planning-dialog[hidden]{display:none}@media(max-width:599px){.planning-form{grid-template-columns:1fr}}
.shift-column-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.shift-column-map label{display:flex;flex-direction:column}.shift-import-dialog select,.shift-import-dialog input{max-width:100%;padding:8px}.shift-preview{max-height:45vh;overflow:auto;margin:15px 0}.shift-preview table{border-collapse:collapse;width:100%;font-size:13px}.shift-preview td,.shift-preview th{padding:9px;border-bottom:1px solid #d8e0e6;text-align:left}.shift-preview th{background:#edf2f5;position:sticky;top:0}.shift-import-dialog>label{display:flex;align-items:center;gap:10px}.shift-import-dialog [hidden]{display:none!important}@media(max-width:599px){.shift-column-map{grid-template-columns:1fr 1fr}}
#reservation-screen{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#f7f8fa;border:1px solid #d6dfe7;border-radius:14px;padding:14px}.reservation-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}.reservation-toolbar h2{margin:0 auto 0 0;font-size:20px}.reservation-toolbar label{display:flex;align-items:center;gap:6px;font-size:12px}.reservation-toolbar input,.reservation-toolbar select{border:1px solid #bdcad5;border-radius:7px;padding:8px;max-width:180px}.timeline-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin:4px 0}.timeline-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;background:#71639a;margin-right:5px}.timeline-legend .legend-planned:before{background:#347ca4}.timeline-legend .legend-occupied:before{background:#b5443c}.timeline-legend .legend-cleaning:before{background:#bb8a22}.timeline-legend .legend-suggested:before{background:#868a94}.timeline-help{font-size:12px;color:#65778a;margin:8px 0}.timeline-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;min-height:0;flex:1}.timeline-scroll{overflow:auto;min-height:200px;max-height:70vh;background:#272630;border-radius:9px;position:relative}.timeline-canvas{position:relative;color:#f7f7fb}.timeline-hours{height:52px;position:sticky;top:0;background:#22212b;z-index:5;border-bottom:1px solid #565360}.timeline-label{position:sticky;left:0;z-index:3;width:130px;flex-shrink:0;display:flex;align-items:center;padding:10px 12px;background:#2d2b36!important;color:#f6f6fa!important;border:0!important;border-radius:0!important;border-right:1px solid #55505e!important;text-align:left;font-size:12px;white-space:nowrap}.timeline-hours .timeline-label{height:52px;z-index:6}.timeline-tick{position:absolute;top:13px;font-size:10px;transform:translateX(-50%);white-space:nowrap;color:#b5b1bf}.timeline-row{display:flex;border-bottom:1px solid #3e3b47}.timeline-track{position:relative;flex-shrink:0;background-image:linear-gradient(to right,#ffffff0d 1px,transparent 1px)}.timeline-event{position:absolute;height:27px;min-height:0!important;padding:4px 7px!important;border:1px solid #ffffff24!important;border-radius:5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px!important;text-align:left;color:#fff!important;background:#6b5a8e!important;z-index:2}.timeline-event.event-planned{background:#326986!important}.timeline-event.event-occupied{background:#a93a32!important}.timeline-event.event-cleaning{background:#916b20!important}.timeline-event.event-completed{background:#565864!important;opacity:.7}.timeline-event.event-suggested{background:#54536188!important;border:1px dashed #bcb9c9!important}.timeline-now{position:absolute;top:0;bottom:0;width:1px;background:#ffc342;pointer-events:none;z-index:4}.timeline-parties{overflow:auto;max-height:70vh;background:#fff;border:1px solid #d9e0e6;border-radius:9px;padding:12px}.timeline-parties h3,.timeline-parties h4{margin:4px 0 10px}.timeline-party{display:flex;flex-direction:column;align-items:stretch;gap:6px;border:1px solid #d6dfe7;border-radius:8px;padding:8px;margin-bottom:9px;font-size:12px;background:#f9fafb}.timeline-party button{font-size:12px}.timeline-party.selected{border-color:#e8a622;background:#fff3d7}.timeline-party small{color:#637386}@media(max-width:800px){.timeline-layout{grid-template-columns:minmax(0,1fr)}.timeline-parties{max-height:160px}.timeline-scroll{max-height:50vh}.reservation-toolbar input{max-width:145px}}
#app[data-screen=reservations]>main{overflow:auto}#reservation-screen{flex-shrink:0;min-height:570px}.timeline-layout{min-height:300px}.timeline-scroll{outline:none}.timeline-scroll:focus-visible{outline:2px solid #efab28;outline-offset:2px}@media(max-width:800px){#reservation-screen{min-height:740px}.timeline-layout{min-height:430px}}
.timeline-legend .legend-room:before{background:#508b87}.timeline-event.event-room{background:#356d6b!important}
