:root {
  /* Ops Console tokens - match mockup exactly */
  --bg:#0e1013;
  --panel:#15181d;
  --panel2:#1b1f26;
  --rule:#252a33;
  --rule-soft:#1f232a;
  --ink:#e6e4dd;
  --muted:#7a808b;
  --muted-dim:#50555e;
  --accent:#d4a53a;        /* tour gold */
  --show:#5fcc8a;
  --reise:#6aa7e8;
  --prep:#e89a4a;
  --off:#6a6f78;
  --warn:#f06a5a;
  --mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;
  --display:'Archivo','Inter Tight',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--mono);
  font-size:12px;line-height:1.4;min-height:100vh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ========== Header with gold rail ========== */
.header{
  display:flex;align-items:stretch;
  background:var(--panel);
  border-bottom:1px solid var(--rule);
  position:relative;
}
.header-rail{
  width:8px;background:var(--accent);flex-shrink:0;
}
.header-body{
  flex:1;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  padding:12px 22px;
  min-height:84px;
}
.hleft{display:flex;align-items:center;justify-content:flex-start;}
.hright{display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.logo-planer{max-height:64px;max-width:280px;object-fit:contain;object-position:left center;display:block;}
.logo-booking{max-height:64px;max-width:280px;object-fit:contain;object-position:right center;display:block;}
.logo-band-wrap{display:flex;align-items:center;gap:14px;justify-content:center;}
.logo-band{max-height:54px;max-width:140px;object-fit:contain;display:block;}
.hcenter{text-align:center;}
h1{
  font-family:var(--display);
  font-size:28px;font-weight:800;letter-spacing:.03em;
  color:var(--ink);line-height:1;text-transform:uppercase;
}
.title-slash{color:var(--accent);font-weight:800;}
.subtitle-row{
  margin-top:5px;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-weight:500;
}
.tour-tag{
  background:transparent;color:var(--muted);
  padding:0;border:none;
  font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
}
.active-plan-name{
  color:var(--accent);letter-spacing:.14em;
  font-weight:600;font-size:10px;
  padding-left:10px;border-left:1px solid var(--rule);
}

/* ========== KPI Strip ========== */
.kpi-strip{
  display:grid;grid-template-columns:repeat(6,1fr);
  background:var(--panel2);
  border-bottom:1px solid var(--rule);
}
.kpi-cell{
  padding:10px 16px;
  border-right:1px solid var(--rule);
  display:flex;flex-direction:column;gap:2px;
}
.kpi-cell:last-child{border-right:none;}
.kpi-label{
  font-size:9px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.2em;font-weight:500;
}
.kpi-row{display:flex;align-items:baseline;gap:6px;}
.kpi-val{
  font-family:var(--display);
  font-size:22px;font-weight:700;line-height:1;
  font-variant-numeric:tabular-nums;
}
.kpi-unit{
  font-size:9px;color:var(--muted);
  letter-spacing:.16em;text-transform:uppercase;
}
.kpi-show .kpi-val{color:var(--show);}
.kpi-reise .kpi-val{color:var(--reise);}
.kpi-prep .kpi-val{color:var(--prep);}
.kpi-off .kpi-val{color:var(--off);}
.kpi-warn .kpi-val{color:var(--warn);}

/* ========== Buttons ========== */
button{
  background:transparent;
  border:1px solid var(--rule);
  color:var(--ink);
  padding:6px 11px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.02em;
  border-radius:0;cursor:pointer;
  transition:border-color .12s,color .12s,background .12s;
  white-space:nowrap;
}
button:hover{border-color:var(--muted);background:var(--panel2);}
button.primary{background:var(--accent);color:#0e1013;border-color:var(--accent);font-weight:700;}
button.primary:hover{background:#e7b74a;border-color:#e7b74a;color:#0e1013;}
button.green{background:transparent;border-color:var(--show);color:var(--show);font-weight:600;}
button.green:hover{background:rgba(95,204,138,.08);}
button.sm{padding:3px 7px;font-size:10px;}
button.danger:hover{border-color:var(--warn);color:var(--warn);background:rgba(240,106,90,.06);}

/* ========== Layout ========== */
.layout{display:grid;grid-template-columns:232px 1fr;height:calc(100vh - 84px - 66px);}

/* ========== Sidebar - flat, left accent indicator ========== */
.sidebar{
  background:var(--panel);
  border-right:1px solid var(--rule);
  overflow-y:auto;padding:0;
  display:flex;flex-direction:column;
  scrollbar-width:thin;scrollbar-color:var(--rule) transparent;
}
.sidebar::-webkit-scrollbar{width:6px;}
.sidebar::-webkit-scrollbar-thumb{background:var(--rule);border-radius:0;}

.sidebar-section{
  padding:14px 0;
  border-bottom:1px solid var(--rule);
  background:transparent;border-radius:0;border-left:none;border-right:none;border-top:none;
}
.sidebar-section h3{
  padding:0 14px 10px;
  font-size:9px;text-transform:uppercase;letter-spacing:.24em;
  color:var(--muted);font-weight:600;margin:0;
  border:none;
}

.sb-actions{display:flex;flex-direction:column;gap:0;}
.sb-actions button{
  width:100%;text-align:left;padding:7px 14px;font-size:11px;
  background:transparent;border:none;color:var(--ink);
  letter-spacing:.02em;border-radius:0;
  border-left:2px solid transparent;
  display:flex;align-items:center;gap:12px;
  transition:border-color .1s,background .1s,color .1s;
}
.sb-gl{
  display:inline-block;width:10px;text-align:center;
  color:var(--muted-dim);font-size:10px;font-weight:600;
  transition:color .1s;flex-shrink:0;
}
.sb-actions button:hover{
  background:rgba(212,165,58,.06);
  border-left-color:var(--accent);
  color:var(--accent);
}
.sb-actions button:hover .sb-gl{color:var(--accent);}
.sb-actions button.primary{
  background:transparent;color:var(--accent);border-left-color:var(--accent);font-weight:600;
}
.sb-actions button.primary .sb-gl{color:var(--accent);}
.sb-actions button.primary:hover{background:rgba(212,165,58,.1);}
.sb-actions button.green{color:var(--show);border-color:transparent;}
.sb-actions button.green .sb-gl{color:var(--show);}
.sb-actions button.green:hover{border-left-color:var(--show);background:rgba(95,204,138,.06);color:var(--show);}
.sb-actions button.green:hover .sb-gl{color:var(--show);}
.sb-actions .sb-divider{height:1px;background:var(--rule);margin:6px 14px;}

/* Crew members - grid: dot / name / count */
.crew-member{
  display:grid;grid-template-columns:10px 1fr auto auto;gap:10px;align-items:center;
  padding:5px 14px;
  background:transparent;border:none;
  font-size:11px;margin:0;
  border-left:2px solid transparent;
  transition:border-color .1s,background .1s;
}
.crew-member:hover{background:rgba(255,255,255,.02);border-left-color:var(--muted-dim);}
.crew-dot{width:6px;height:6px;border-radius:0;flex-shrink:0;}
.crew-days{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.06em;}

.add-row{display:flex;gap:5px;margin:7px 14px 0;}
.add-row input{
  flex:1;background:var(--bg);border:1px solid var(--rule);
  color:var(--ink);padding:6px 8px;
  font-family:var(--mono);font-size:11px;border-radius:0;outline:none;
  transition:border-color .12s;
}
.add-row input:focus{border-color:var(--accent);}

.leg-item{
  display:flex;align-items:center;gap:9px;
  font-size:10px;color:var(--muted);
  padding:3px 14px;letter-spacing:.04em;
}
.leg-dot{width:10px;height:10px;border-radius:0;flex-shrink:0;}

/* Plans list */
.plan-item{
  display:flex;align-items:center;gap:8px;padding:6px 14px;
  background:transparent;border:none;border-radius:0;
  font-size:11px;margin:0;cursor:pointer;
  border-left:2px solid transparent;
  transition:border-color .1s,background .1s,color .1s;
  color:var(--muted);
}
.plan-item::before{
  content:"○";font-size:8px;color:var(--muted-dim);
}
.plan-item:hover{background:rgba(255,255,255,.02);color:var(--ink);}
.plan-item.active{
  border-left-color:var(--show);background:rgba(95,204,138,.04);
  color:var(--ink);
}
.plan-item.active::before{content:"●";color:var(--show);}
.plan-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.plan-item-date{font-size:9px;color:var(--muted);white-space:nowrap;letter-spacing:.08em;}

/* Type list */
.type-list-item{
  display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;
  padding:5px 14px;
  background:transparent;border:none;
  font-size:11px;margin:0;
}
.type-list-dot{width:6px;height:6px;border-radius:0;flex-shrink:0;}
.type-list-label{flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.type-list-weight{font-size:9px;color:var(--muted-dim);white-space:nowrap;}

/* Position list in sidebar */
#posList{display:flex;flex-direction:column;gap:0;}
.sb-pos{
  display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;
  padding:5px 14px;font-size:11px;
  cursor:pointer;
  border-left:2px solid transparent;
  transition:background .1s,border-color .1s;
}
.sb-pos:hover{background:rgba(212,165,58,.05);border-left-color:var(--accent);}
.sb-pos-short{color:var(--accent);font-weight:600;letter-spacing:.1em;font-size:10px;text-transform:uppercase;}
.sb-pos-label{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ========== Table ========== */
.table-wrap{display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
.table-area{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;}
.table-area::-webkit-scrollbar{width:8px;height:8px;}
.table-area::-webkit-scrollbar-thumb{background:var(--rule);}

table{border-collapse:separate;border-spacing:0;width:100%;min-width:800px;font-size:11px;}

thead th{
  position:sticky;top:0;z-index:10;
  background:var(--panel);
  border-bottom:1px solid var(--rule);
  border-right:1px solid var(--rule-soft);
  padding:10px 12px;text-align:left;
  font-size:9px;text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);font-weight:500;
}
thead th.pos-h{
  color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.16em;
  text-align:center;
  border-bottom:1px solid var(--rule);
  background:var(--panel);
}
thead th:first-child{left:0;z-index:12;padding-left:18px;}
thead th:nth-child(2){left:88px;z-index:12;}
thead th:nth-child(3){left:213px;z-index:12;}

tbody tr{transition:background .08s;}
tbody td{
  border-bottom:1px solid var(--rule-soft);
  padding:0;vertical-align:middle;
  position:relative;
}
tbody td:first-child{position:sticky;left:0;z-index:4;padding-left:0;}
tbody td:nth-child(2){position:sticky;left:88px;z-index:4;}
tbody td:nth-child(3){position:sticky;left:213px;z-index:4;}

/* Row backgrounds - very subtle tint */
.row-show{--row-bg:rgba(95,204,138,.035);--row-bg-hover:rgba(95,204,138,.07);--row-accent:var(--show);}
.row-reise{--row-bg:rgba(106,167,232,.03);--row-bg-hover:rgba(106,167,232,.06);--row-accent:var(--reise);}
.row-prep{--row-bg:rgba(232,154,74,.03);--row-bg-hover:rgba(232,154,74,.06);--row-accent:var(--prep);}
.row-off{--row-bg:transparent;--row-bg-hover:rgba(255,255,255,.02);--row-accent:var(--off);}
.row-show td,.row-reise td,.row-prep td,.row-off td{background:var(--row-bg);}
.row-show:hover td,.row-reise:hover td,.row-prep:hover td,.row-off:hover td{background:var(--row-bg-hover);}

/* Left accent bar per row */
tbody tr td:first-child::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--row-accent);
}

/* Date cell - weekday + date stacked */
.date-cell{padding:8px 12px 8px 18px;color:var(--ink);white-space:nowrap;}
.date-cell .wd{display:block;font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-weight:500;}
.date-cell .dt{font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink);}
.row-show .date-cell .dt{color:var(--show);}
.row-reise .date-cell .dt{color:var(--reise);}
.row-prep .date-cell .dt{color:var(--prep);}

/* Type cell - mockup style: dot + uppercase label in type color */
.type-cell{padding:0;min-width:110px;}
.type-btn{
  display:inline-flex;align-items:center;gap:6px;
  width:100%;padding:8px 12px;
  background:transparent;border:none;
  font-family:var(--mono);font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;text-align:left;
  cursor:pointer;border-radius:0;
  transition:background .12s;white-space:nowrap;
}
.type-btn::before{
  content:"";width:5px;height:5px;border-radius:0;flex-shrink:0;
  background:currentColor;
}
.row-show .type-btn{color:var(--show);}
.row-reise .type-btn{color:var(--reise);}
.row-prep .type-btn{color:var(--prep);}
.row-off .type-btn{color:var(--off);}
.type-btn:hover{background:rgba(255,255,255,.03);}

/* Location cell - Archivo display */
.loc-cell{padding:0;overflow:hidden;}
.loc-btn{
  display:block;width:100%;padding:8px 12px;
  background:transparent;border:none;
  color:var(--ink);font-family:var(--display);font-weight:500;font-size:13px;
  text-align:left;cursor:pointer;border-radius:0;
  transition:background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:.01em;
}
.loc-btn:hover{background:rgba(255,255,255,.03);}
.loc-input{
  width:100%;padding:7px 12px;background:var(--panel2);
  border:1px solid var(--accent);color:var(--ink);
  font-family:var(--display);font-weight:500;font-size:13px;outline:none;border-radius:0;
}

/* Assign cells - compact, centered, dot+abbr */
.assign-cell{padding:0;border-left:1px solid var(--rule-soft)!important;}
.assign-btn{
  width:100%;min-height:38px;padding:6px 8px;
  background:transparent;border:none;
  font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.04em;
  cursor:pointer;border-radius:0;text-align:center;
  transition:background .12s,color .12s;
  color:var(--muted-dim);white-space:nowrap;
}
.assign-btn:hover{
  background:rgba(212,165,58,.08)!important;
  color:var(--accent)!important;
}
.assign-btn.filled{color:var(--ink);}

/* Month separator - horizontal rule style */
.month-sep td{
  background:var(--bg)!important;padding:8px 18px!important;
  font-size:10px!important;text-transform:uppercase;letter-spacing:.24em;
  color:var(--muted)!important;font-weight:500;
  border-top:1px solid var(--rule)!important;
  border-bottom:1px solid var(--rule)!important;
}
.month-sep td::before{content:none!important;}

/* ========== Stats Bar ========== */
.stats-bar{
  background:var(--panel);
  border-top:1px solid var(--rule);
  padding:9px 22px;
  display:flex;gap:18px;font-size:10px;
  color:var(--muted);flex-wrap:wrap;align-items:center;
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;
}
.stats-bar strong{color:var(--ink);font-weight:600;font-family:var(--display);}
.stat-show strong{color:var(--show);}
.stat-reise strong{color:var(--reise);}
.stat-prep strong{color:var(--prep);}

/* ========== Dropdown ========== */
.dd-ov{display:none;position:fixed;inset:0;z-index:50;}
.dd-ov.open{display:block;}
.dd-menu{
  position:fixed;
  background:var(--panel2);
  border:1px solid var(--rule);
  border-radius:0;z-index:51;min-width:200px;
  box-shadow:0 12px 36px rgba(0,0,0,.65);
  overflow:hidden;display:none;
}
.dd-hdr{
  padding:8px 12px;
  font-size:9px;text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);border-bottom:1px solid var(--rule);
  background:var(--panel);font-weight:600;
}
.dd-item{
  padding:8px 12px;font-size:11px;cursor:pointer;
  display:flex;align-items:center;gap:8px;
  transition:background .08s,color .08s;color:var(--ink);
  border-left:2px solid transparent;
}
.dd-item:hover{background:rgba(212,165,58,.08);border-left-color:var(--accent);color:var(--accent);}
.dd-item.selected{color:var(--accent);border-left-color:var(--accent);background:rgba(212,165,58,.05);}
.dd-item.selected::before{content:"✓";margin-right:-3px;font-size:10px;}
.dd-item.clear{color:var(--muted);font-style:italic;}
.dd-item.offen{color:var(--warn);font-weight:600;}
.dd-item.danger{color:var(--warn);}
.dd-item.reset{color:var(--muted);font-style:italic;font-size:10px;}

/* ========== Modal ========== */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px);z-index:200;align-items:center;justify-content:center;}
.modal-bg.open{display:flex;}
.modal-box{
  background:var(--panel2);
  border:1px solid var(--rule);
  border-radius:0;
  padding:24px;width:380px;max-width:92vw;max-height:90vh;overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
  border-left:3px solid var(--accent);
}
.modal-title{
  font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
  color:var(--ink);margin-bottom:16px;
}
.modal-title::before{content:"▸ ";color:var(--accent);}
.mf{margin-bottom:12px;}
.ml{font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);display:block;margin-bottom:5px;font-weight:600;}
.mi,.ms{
  width:100%;background:var(--bg);border:1px solid var(--rule);
  color:var(--ink);padding:8px 10px;
  font-family:var(--mono);font-size:12px;border-radius:0;outline:none;
  transition:border-color .12s;
}
.mi:focus,.ms:focus{border-color:var(--accent);}
.mactions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;}

/* PDF view choice - 3 option cards */
.pdf-view-choice{display:flex;flex-direction:column;gap:6px;}
.pvc{
  display:grid;grid-template-columns:26px 78px 1fr;gap:10px;align-items:center;
  padding:9px 11px;
  background:var(--bg);
  border:1px solid var(--rule);border-left:3px solid transparent;
  color:var(--ink);cursor:pointer;text-align:left;font-family:var(--mono);
  border-radius:0;transition:border-color .12s,background .12s,color .12s;
}
.pvc:hover{border-color:var(--muted);background:var(--panel);}
.pvc.active{border-color:var(--accent);border-left-color:var(--accent);background:rgba(212,165,58,.08);}
.pvc-ic{font-size:16px;line-height:1;text-align:center;color:var(--muted);}
.pvc.active .pvc-ic{color:var(--accent);}
.pvc-lbl{font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.pvc.active .pvc-lbl{color:var(--accent);}
.pvc-desc{font-size:10px;color:var(--muted);letter-spacing:.04em;}
.mbtn{
  background:transparent;border:1px solid var(--rule);color:var(--ink);
  padding:7px 14px;font-family:var(--mono);font-size:11px;border-radius:0;cursor:pointer;
  transition:all .12s;font-weight:500;
}
.mbtn:hover{border-color:var(--muted);background:var(--panel);}
.mbtn.primary{background:var(--accent);border-color:var(--accent);color:#0e1013;font-weight:700;}
.mbtn.primary:hover{background:#e7b74a;border-color:#e7b74a;color:#0e1013;}

/* Tourblock modal */
#tbModal{z-index:300;}
#tbInner{
  background:var(--panel2);border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:0;width:720px;max-width:96vw;max-height:92vh;overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.tb-title{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--show);margin-bottom:4px;}
.tb-sub{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.22em;margin-bottom:18px;font-weight:600;}
.tb-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.tb-hint{background:var(--bg);border:1px solid rgba(95,204,138,.2);border-radius:0;padding:10px 13px;font-size:11px;color:var(--show);margin-bottom:18px;line-height:1.6;}
.tb-hint strong{color:#75dc9a;}
.tb-bulk{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid var(--rule);align-items:center;}
.tb-bulk-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.22em;font-weight:600;}
.tb-daylist{display:flex;flex-direction:column;gap:4px;margin-bottom:18px;max-height:calc(92vh - 320px);overflow-y:auto;padding-right:4px;}
.tb-day{display:grid;grid-template-columns:78px 140px 1fr;gap:8px;align-items:center;padding:7px 10px;border-radius:0;background:var(--bg);border:1px solid var(--rule);}

/* Logo Modal */
.logo-option{
  display:flex;align-items:center;gap:14px;padding:14px;
  border-radius:0;background:var(--bg);border:1px solid var(--rule);
  margin-bottom:10px;cursor:pointer;transition:border-color .12s,background .12s;
  border-left:3px solid transparent;
}
.logo-option:hover{border-color:var(--muted);border-left-color:var(--accent);background:var(--panel);}
.logo-option-icon{font-size:1.3rem;width:36px;text-align:center;flex-shrink:0;opacity:.8;}
.logo-option-text strong{display:block;font-size:12px;color:var(--ink);margin-bottom:2px;font-weight:600;font-family:var(--display);letter-spacing:.02em;}
.logo-option-text span{font-size:10px;color:var(--muted);letter-spacing:.04em;}
.logo-option-action{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.logo-preview{max-height:40px;max-width:100px;object-fit:contain;border-radius:0;display:none;}
.logo-remove{font-size:9px;color:var(--warn);background:transparent;border:1px solid rgba(240,106,90,.3);padding:3px 7px;border-radius:0;cursor:pointer;display:none;font-family:var(--mono);letter-spacing:.08em;}
.logo-remove:hover{background:rgba(240,106,90,.1);}

/* ========== View Toggle Bar ========== */
.view-toggle-bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 22px;
  background:var(--panel);
  border-bottom:1px solid var(--rule);
  flex-shrink:0;
}
.view-toggle{
  display:inline-flex;
  background:var(--bg);
  border:1px solid var(--rule);
  border-radius:0;padding:0;gap:0;
}
.vt-btn{
  background:transparent;border:none;color:var(--muted);
  padding:7px 16px;font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;border-radius:0;
  transition:all .12s;display:inline-flex;align-items:center;gap:8px;
  border-right:1px solid var(--rule);
}
.vt-btn:last-child{border-right:none;}
.vt-btn:hover{color:var(--ink);background:rgba(255,255,255,.02);}
.vt-btn.active{background:var(--panel2);color:var(--accent);box-shadow:inset 0 2px 0 0 var(--accent);}
.vt-ic{font-size:12px;line-height:1;}
.view-toggle-meta{font-size:9px;color:var(--muted);letter-spacing:.22em;text-transform:uppercase;font-weight:600;}
.view-toggle-meta strong{color:var(--ink);font-weight:600;font-family:var(--display);}

.view-pane{flex:1;overflow:auto;background:var(--bg);}

/* ========== Block View ========== */
.blocks-area{padding:18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:14px;align-content:start;}
.block-card{
  background:var(--panel);border:1px solid var(--rule);
  border-radius:0;overflow:hidden;
  border-left:3px solid var(--accent);
  display:flex;flex-direction:column;
  transition:border-color .15s;
}
.block-card:hover{border-color:var(--muted);}
.block-card.unassigned{grid-column:1/-1;border-style:dashed;opacity:.85;}
.bc-head{padding:12px 14px 10px;border-bottom:1px solid var(--rule);}
.bc-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.bc-name{font-family:var(--display);font-size:18px;font-weight:800;letter-spacing:.03em;color:var(--ink);line-height:1;text-transform:uppercase;}
.bc-id{font-size:9px;color:var(--muted);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;font-weight:600;}
.bc-dates{margin-top:6px;font-size:10px;color:var(--muted);display:flex;align-items:center;gap:10px;flex-wrap:wrap;letter-spacing:.08em;}
.bc-dates strong{color:var(--ink);font-weight:500;}
.bc-dates .bc-sep{color:var(--rule);}

.bc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);margin-top:10px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.bc-kpi{background:var(--panel);padding:8px 10px;display:flex;flex-direction:column;gap:1px;}
.bc-kpi-val{font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:.02em;line-height:1;}
.bc-kpi-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-weight:600;}
.bc-kpi.show .bc-kpi-val{color:var(--show);}
.bc-kpi.reise .bc-kpi-val{color:var(--reise);}
.bc-kpi.prep .bc-kpi-val{color:var(--prep);}
.bc-kpi.off .bc-kpi-val{color:var(--off);}

.bc-strip{padding:10px 14px 8px;background:var(--bg);}
.bc-strip-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;margin-bottom:5px;display:flex;justify-content:space-between;font-weight:600;}
.bc-days{display:flex;gap:1px;border-radius:0;overflow:hidden;}
.bc-day{flex:1;height:20px;min-width:0;position:relative;cursor:help;}
.bc-day.show{background:var(--show);} .bc-day.reise{background:var(--reise);} .bc-day.prep{background:var(--prep);} .bc-day.off{background:#3a3d44;}
.bc-day:hover{outline:2px solid var(--accent);outline-offset:-1px;z-index:2;}

.bc-venues{padding:9px 14px 11px;display:flex;flex-wrap:wrap;gap:4px;background:var(--bg);border-bottom:1px solid var(--rule);}
.bc-venue{font-size:10px;color:var(--ink);background:var(--panel2);border:1px solid var(--rule);padding:2px 7px;border-radius:0;font-family:var(--display);font-weight:500;letter-spacing:.02em;}
.bc-venue.multi::after{content:attr(data-count);margin-left:5px;color:var(--muted);font-size:9px;}

.bc-crew{padding:10px 14px 11px;display:flex;flex-direction:column;gap:4px;}
.bc-crew-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;font-weight:600;}
.bc-crew-lbl .bc-open{color:var(--warn);font-weight:600;}
.bc-pos-row{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:center;font-size:11px;}
.bc-pos-lbl{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.bc-pos-val{color:var(--ink);display:flex;align-items:center;gap:5px;min-width:0;}
.bc-pos-dot{width:6px;height:6px;border-radius:0;flex-shrink:0;}
.bc-pos-val.empty{color:var(--muted-dim);font-style:italic;}
.bc-pos-val.offen{color:var(--warn);font-weight:600;}
.bc-pos-val.mixed{color:var(--muted);}
.bc-pos-val.mixed .mx-name{color:var(--ink);}
.bc-pos-val.mixed .mx-sep{color:var(--rule);margin:0 3px;}

/* ========== Crew View ========== */
.crew-area{padding:18px;display:flex;flex-direction:column;gap:12px;}
.crew-row{
  background:var(--panel);border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  border-radius:0;overflow:hidden;
  transition:border-color .15s;
}
.crew-row:hover{border-color:var(--muted);}
.crew-row-head{display:grid;grid-template-columns:220px 1fr auto;gap:14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--rule);}
.crew-row-name{display:flex;align-items:center;gap:9px;min-width:0;}
.crew-row-dot{width:8px;height:8px;border-radius:0;flex-shrink:0;}
.crew-row-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.crew-row-text strong{font-family:var(--display);font-size:16px;font-weight:800;letter-spacing:.03em;color:var(--ink);line-height:1;text-transform:uppercase;}
.crew-row-text .crew-pos-list{font-size:9px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.crew-row-kpis{display:flex;gap:20px;font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:600;}
.crew-row-kpis strong{color:var(--ink);font-weight:700;margin-right:3px;font-family:var(--display);font-size:13px;}
.crew-row-kpis .kpi-show strong{color:var(--show);}
.crew-row-kpis .kpi-reise strong{color:var(--reise);}
.crew-row-kpis .kpi-prep strong{color:var(--prep);}
.crew-row-kpis .kpi-total strong{color:var(--ink);}
.crew-row-tl{padding:10px 14px 14px;overflow-x:auto;}
.crew-tl{display:flex;flex-direction:column;gap:6px;min-width:800px;}
.crew-tl-months{display:flex;gap:1px;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-weight:600;}
.crew-tl-month{flex:1;padding:2px 5px;background:var(--panel2);text-align:left;border-radius:0;min-width:0;overflow:hidden;}
.crew-tl-bar{display:flex;gap:0;height:16px;border-radius:0;overflow:hidden;border:1px solid var(--rule);}
.crew-tl-cell{flex:1;min-width:0;height:100%;}
.crew-tl-cell.empty{background:var(--bg);}
.crew-tl-cell.assigned.show{background:var(--show);}
.crew-tl-cell.assigned.reise{background:var(--reise);}
.crew-tl-cell.assigned.prep{background:var(--prep);}
.crew-tl-cell.assigned.off{background:#3a3d44;}
.crew-tl-cell:hover{outline:2px solid var(--accent);outline-offset:-1px;position:relative;z-index:3;}

.crew-empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:12px;}
.crew-empty strong{display:block;font-family:var(--display);font-size:20px;color:var(--ink);letter-spacing:.03em;margin-bottom:8px;text-transform:uppercase;font-weight:800;}

.bc-legend{grid-column:1/-1;display:flex;gap:14px;padding:4px 4px 0;font-size:9px;color:var(--muted);flex-wrap:wrap;letter-spacing:.18em;text-transform:uppercase;font-weight:600;}
.bc-legend .li{display:flex;align-items:center;gap:5px;}
.bc-legend .ld{width:10px;height:10px;border-radius:0;}
