.booking-bar.ausgecheckt{background:#eef2f7;border-color:#d9e2ec;color:#56687c;}
.booking-bar.ausgecheckt .meta{color:#7f8da0;}
.booking-bar.storniert{background:var(--red-soft);border-color:#f1b7b7;color:#a02727;}
.booking-bar.storniert .meta{color:#bf5252;}
.booking-bar.dragging{opacity:.65;}
.booking-menu-btn{
  position:absolute;
  top:6px;
  right:6px;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(23,50,77,.18);
  background:rgba(255,255,255,.92);
  color:var(--text);
  font-size:12px;
  line-height:1;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.booking-popover{
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  z-index:20;
  display:flex;
  gap:6px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 10px 24px rgba(20,48,86,.18);
  white-space:nowrap;
}
.booking-action-btn{
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:10px;
  padding:6px 8px;
  font-size:12px;
  line-height:1.1;
}
.booking-action-btn.danger{background:#b82929;color:#fff;border-color:#b82929;}


/* v4.5.3f popover foreground fix */
.timeline-track{overflow:visible;}
.room-row{position:relative;overflow:visible;}
.booking-bar.selected{z-index:9998;overflow:visible;box-shadow:0 10px 26px rgba(20,48,86,.16);}
.booking-menu-btn{z-index:10000;}
.booking-popover{top:auto;bottom:calc(100% + 6px);right:-2px;z-index:10001;align-items:stretch;}
.booking-popover::after{content:"";position:absolute;right:12px;top:100%;border-width:7px 6px 0 6px;border-style:solid;border-color:#fff transparent transparent transparent;filter:drop-shadow(0 1px 0 rgba(0,0,0,.06));}
.house-board,.board-shell,.timeline,.header-row,.days-header,.drop-grid,.booking-layer{overflow:visible;}


.guest-quick-panel{
  margin:14px 24px 0;
  background:#fff;
  border:1px solid #dde5f2;
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 4px 18px rgba(24,39,75,.05);
}
.guest-quick-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.guest-quick-list{display:flex;flex-wrap:wrap;gap:8px}
.guest-chip{
  display:inline-flex;align-items:flex-start;gap:6px;flex-direction:column;
  border:1px solid #d7e0ee;background:#f8fbff;color:#163a6b;border-radius:12px;
  padding:8px 10px;cursor:pointer;min-width:0;text-align:left;max-width:280px;
}
.guest-chip:hover{background:#eef5ff;border-color:#b8c8e3}
.guest-chip.active{background:#163a6b;color:#fff;border-color:#163a6b}
.guest-chip-name{font-weight:700;line-height:1.15}
.guest-chip-meta{font-size:12px;opacity:.82;line-height:1.1}
.empty-note.compact{padding:6px 0;font-size:13px}
@media (max-width: 900px){
  .guest-quick-panel{margin:12px 16px 0;padding:12px}
  .guest-chip{max-width:100%}
}


/* v4.5.3i top menu + deselect */
.layout.layout-wide{display:block}
.search-wrap{position:relative;min-width:0}
.clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;padding:0;border:1px solid var(--line);background:#fff;color:var(--muted)}
.clear-search.hidden{display:none}
.clear-search:hover{background:#eef4ff;color:var(--text)}
.search-wrap input{padding-right:40px}
.workspace-menu{margin-bottom:18px;padding:12px 14px}
.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.workspace-tabs button{border:1px solid var(--line);background:#f7faff;color:var(--text);border-radius:12px;padding:9px 12px}
.workspace-tabs button.active{background:#10385f;color:#fff;border-color:#10385f}
.workspace-panels{min-height:44px}
.workspace-panel{display:none}
.workspace-panel.active{display:block}
.inline-head{padding-bottom:8px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.top-list{max-height:280px;overflow:auto}
.top-action-grid{max-width:520px}
.inline-import-form{max-width:720px}
.file-field input{padding:9px}
#guestQuickPanel{margin-top:0}
.guest-chip{position:relative;padding-right:30px}
.guest-chip.active::after{content:"×";position:absolute;right:10px;top:8px;font-size:16px;line-height:1;color:currentColor;opacity:.9}
.child-mode .workspace-menu,.child-mode #guestQuickPanel{display:none}
@media (max-width: 1450px){
  .controls{grid-template-columns:1fr 1fr 1fr}
  .search-wrap{grid-column:span 1}
}


/* v4.5.3j compact top menu + all-house guest quick list */
.workspace-menu{margin-bottom:12px;padding:8px 10px;border-radius:14px;box-shadow:none}
.workspace-tabs{gap:6px;flex-wrap:wrap;margin-bottom:4px}
.workspace-tabs button{padding:6px 10px;border-radius:10px;font-size:13px;line-height:1.1}
.workspace-panels{min-height:0}
.workspace-panel.active{padding-top:0}
#workspace-plan{display:none !important}
.inline-head{padding-bottom:6px;margin-bottom:8px}
.top-list{max-height:220px}
.top-action-grid{max-width:none;gap:8px}
.inline-import-form{max-width:none;gap:10px}
.guest-quick-panel{margin:10px 24px 0;padding:12px 14px}
.guest-quick-head{margin-bottom:8px}
.guest-chip{padding:7px 10px;max-width:260px}
.guest-chip-name{font-size:13px}
.guest-chip-meta{font-size:11px}
@media (max-width: 900px){
  .workspace-menu{padding:8px}
  .workspace-tabs button{padding:6px 9px;font-size:12px}
}

/* v4.5.3k popup over room labels */
.room-label{z-index:1;overflow:visible;}
.timeline-track{overflow:visible;}
.booking-layer{z-index:5;overflow:visible;}
.booking-bar.selected{z-index:6;overflow:visible;}
.booking-popover{
  top:50%;
  bottom:auto;
  left:calc(100% + 6px);
  right:auto;
  transform:translateY(-50%);
  z-index:99999;
}
.booking-popover::after{display:none;}
.booking-menu-btn{z-index:100000;}
.house-board,.board-shell,.timeline,.header-row,.room-row,.days-header,.drop-grid{overflow:visible;}


/* v4.5.3l design update */
:root{
  --bg:#eef3f9;
  --panel:#ffffff;
  --line:#d6e0ee;
  --text:#15314f;
  --muted:#6d8099;
  --primary:#184f90;
  --primary-soft:#edf5ff;
  --green:#22795c;
  --green-soft:#e8f6ef;
  --amber:#9a6a12;
  --amber-soft:#fff4dd;
  --red:#bf3c33;
  --red-soft:#feeceb;
  --shadow:0 14px 36px rgba(15,42,79,.08);
  --radius:20px;
  --cell-w:98px;
}
html,body{background:linear-gradient(180deg,#f4f7fb 0%,#eef3f9 100%)}
.app-shell{max-width:2280px;padding:20px 16px 28px}
.topbar{margin-bottom:14px;align-items:center}
.topbar h1{font-size:30px;letter-spacing:-.02em}
.sub{font-size:13px;color:#7487a2}
.stats{gap:8px}
.stat-badge{padding:9px 14px;border-color:#dbe4f0;box-shadow:none;background:rgba(255,255,255,.78);backdrop-filter:blur(4px)}
.controls,.workspace-menu,.house-board,.panel,.guest-quick-panel{border-color:#d9e3f0;box-shadow:0 10px 26px rgba(18,45,88,.06)}
.controls{padding:10px 12px;gap:8px;border-radius:22px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px)}
.segment{padding:3px;border-radius:16px;background:#eff4fa}
.segment button,.ghost,.warn,#newBookingBtn,.modal-actions button,.import-form button{padding:10px 14px;border-radius:14px}
.segment button.active{background:#fff;color:#10385f;box-shadow:0 2px 8px rgba(16,56,95,.08)}
.ghost{background:#fff}
#newBookingBtn{background:linear-gradient(180deg,#184f90,#10385f);border-color:#10385f;box-shadow:0 10px 18px rgba(16,56,95,.16)}
#newBookingBtn:hover{box-shadow:0 12px 20px rgba(16,56,95,.22)}
.warn{background:linear-gradient(180deg,#a84c1d,#8f3d10)}
input,select,textarea{border-radius:14px;border-color:#d7e1ee;background:#fbfdff;padding:11px 14px}
input::placeholder{color:#8ca0b9}
.workspace-menu{padding:8px 10px;background:rgba(255,255,255,.92)}
.workspace-tabs{gap:8px}
.workspace-tabs button{background:#f6f9fd;border-color:#d5e1ef;color:#234260;font-weight:600}
.workspace-tabs button.active{background:#10385f;color:#fff;box-shadow:0 8px 14px rgba(16,56,95,.16)}
.guest-quick-panel{padding:12px 14px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.guest-quick-head strong{font-size:15px}
.guest-chip{border-radius:14px;background:#f7fbff;border-color:#d7e2ef;padding:8px 11px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.guest-chip.active{background:linear-gradient(180deg,#184f90,#10385f);border-color:#10385f;box-shadow:0 10px 16px rgba(16,56,95,.16)}
.layout{gap:16px}
.boards{gap:16px}
.house-board,.panel{padding:12px 14px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.board-head,.panel-head{margin-bottom:10px;padding-bottom:10px}
.board-head h2,.panel-head h2{font-size:17px;letter-spacing:-.01em}
.board-actions{gap:10px}
.status{font-weight:700;padding:6px 11px;border-radius:999px}
.board-shell{padding-bottom:4px}
.header-row,.room-row{gap:8px;margin-bottom:8px}
.room-label{min-height:60px;border-radius:18px;padding:11px 12px;background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);box-shadow:0 1px 0 rgba(255,255,255,.75) inset}
.room-label strong{font-size:14px}
.day-cell,.drop-cell{min-height:60px;border-radius:18px}
.day-cell{background:linear-gradient(180deg,#fcfdff 0%,#f4f8fd 100%);font-size:13px;box-shadow:0 1px 0 rgba(255,255,255,.85) inset}
.drop-cell{background:linear-gradient(180deg,#edf7f3 0%,#e7f2ed 100%)}
.drop-cell.drag-over{background:linear-gradient(180deg,#eff5ff 0%,#e7f0ff 100%)}
.timeline-track{min-height:60px}
.booking-bar{height:46px;min-height:46px;border-radius:16px;border-color:#bcd1f0;box-shadow:0 10px 18px rgba(24,79,144,.10),0 1px 0 rgba(255,255,255,.75) inset;padding:7px 30px 7px 11px;background:linear-gradient(180deg,#f4f8ff 0%,#eaf2ff 100%)}
