@font-face {
  font-family: "Cheddar Gothic Sans";
  src: url("Font/CheddarGothicSans.woff2?v=1.0.2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.editor-contract-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.editor-contract-summary .editor-calculation{margin-top:0;min-height:86px;display:grid;align-content:center;gap:8px}
.editor-contract-summary .editor-calculation strong{font-size:25px}
.editor-contract-summary .editor-contract-grand{border-color:var(--olive);background:var(--olive)}
.editor-contract-summary .editor-contract-grand span{color:#1a241d}
.editor-contract-summary .editor-contract-grand strong{color:var(--night)}
@media(max-width:760px){.editor-contract-summary{grid-template-columns:1fr}}

:root {
  --night: #0d1611;
  --night-raised: #131f18;
  --cream: #fcf7f1;
  --olive: #909453;
  --line: #61665b;
  --muted: #abb0a7;
  --danger: #c47769;
  --warning: #c3aa60;
  --success: #9eaa72;
  --display: "Oswald", "Arial Narrow", sans-serif;
  --headline: "Cheddar Gothic Sans", "Oswald", "Arial Narrow", sans-serif;
  --copy: "Asap Condensed", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--cream);
  background: var(--night);
  font-family: var(--copy);
  font-size: 17px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

button, input, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.app-header {
  position: sticky;
  z-index: 50;
  top: 0;
  min-height: 84px;
  padding: 14px clamp(20px, 2vw, 38px);
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid rgba(97,102,91,.55);
  background: rgba(13,22,17,.98);
  backdrop-filter: blur(10px);
}
.header-user-name{display:flex;min-width:145px;flex-direction:column;align-items:flex-end;justify-self:end;padding-left:28px;border-left:1px solid rgba(97,102,91,.35)}
.header-user-name small{color:var(--olive);font:400 9px/1 var(--display);letter-spacing:.09em;text-transform:uppercase}
.header-user-name strong{margin-top:4px;color:var(--success);font:500 17px/1.1 var(--copy);white-space:nowrap}

.brand {
  display: inline-flex;
  width: max-content;
  color: var(--cream);
  text-decoration: none;
}

.brand strong, .brand small { display: block; }
.brand strong { font: 400 31px/.82 var(--headline); letter-spacing: .025em; text-transform: lowercase; }
.brand small { margin-top: 5px; color: var(--olive); font: 400 11px/1 var(--display); letter-spacing: .2em; text-transform: uppercase; }

.main-nav { display: flex; align-items: center; justify-self: end; gap: clamp(16px, 2vw, 38px); white-space: nowrap; }
.main-nav a {
  position: relative;
  padding: 12px 0;
  color: var(--muted);
  font: 400 14px/1 var(--display);
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}
.main-nav a:hover, .main-nav a.active { color: var(--cream); }
.main-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px; background: var(--olive); }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px 8px; border: 0; outline: 0; appearance: none; -webkit-appearance: none; background: transparent; color: var(--cream); cursor: pointer; }
.menu-toggle span { display: block; width: 100%; height: 1px; margin: 5px 0; background: currentColor; transition: transform .2s, opacity .2s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.menu-toggle:focus-visible { outline: 2px solid var(--olive); outline-offset: 2px; }

.avatar {
  justify-self: end;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--cream);
  font: 400 13px/1 var(--display);
  cursor: pointer;
}

.logout-form { justify-self: end; margin: 0; }

.login-page { min-height: 100vh; }
.login-hero { position:relative; width:100%; min-height:max(100svh,760px); margin:0; padding:0; overflow:hidden; }
.login-background { position:absolute; inset:0; }
.login-background::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,21,15,.94),rgba(8,21,15,.48)); }
.login-background img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.login-hero-logo { position:absolute; z-index:1; top:112px; left:31%; width:min(34vw,610px); height:auto; pointer-events:none; transform:translateX(-50%); }
.login-shell { position:relative; z-index:2; display:flex; justify-content:flex-end; align-items:flex-start; min-height:max(100svh,760px); width:min(1800px,calc(100% - 48px)); margin:0 auto; padding:126px 0 64px; }
.login-panel { width:min(100%,520px); padding:32px; border:1px solid rgba(252,247,241,.34); background:rgba(13,22,17,.94); backdrop-filter:blur(7px); }
.login-panel h1 { font-size: clamp(50px, 8vw, 95px); line-height:.9; }
.login-intro { margin: 28px 0 34px; color: var(--muted); font-size: 19px; font-weight: 300; }
.login-form { display: grid; gap: 12px; padding-top: 26px; border-top: 1px solid var(--line); }
.login-form label { color: var(--olive); font: 400 13px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.login-form > input[type="email"] { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid var(--line); outline: 0; background: transparent; color: var(--cream); }
.login-form > input[type="email"]:focus { border-color: var(--olive); }
.password-field { position: relative; display: block; }
.password-input { width: 100%; min-height: 52px; padding: 0 58px 0 15px; border: 1px solid var(--line); outline: 0; background: transparent; color: var(--cream); }
.password-input:focus { border-color: var(--olive); }
.password-toggle { position: absolute; top: 50%; right: 7px; width: 40px; height: 40px; padding: 8px; border: 0; background: transparent; color: var(--muted); cursor: pointer; transform: translateY(-50%); }
.password-toggle:hover, .password-toggle[aria-pressed="true"] { color: var(--olive); }
.password-toggle svg { width: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; }
.login-form > button { min-height: 52px; margin-top: 6px; border: 1px solid var(--olive); background: var(--olive); color: var(--night); font: 500 16px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.login-form > button:hover { background: var(--cream); border-color: var(--cream); }
.forgot-password-link,.reset-back-link{justify-self:start;color:var(--cream);font:400 15px/1.3 var(--body);text-decoration-color:rgba(252,247,241,.45);text-underline-offset:4px}.forgot-password-link:hover,.reset-back-link:hover{color:var(--olive);text-decoration-color:var(--olive)}
.reset-panel .login-intro{margin-bottom:28px}.reset-notice{margin:0 0 24px;padding:14px 16px;border-left:2px solid var(--olive);background:rgba(151,158,84,.12);color:var(--cream);font-weight:300}.reset-primary-link{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:28px;border:1px solid var(--olive);background:var(--olive);color:var(--night);font:500 16px/1 var(--display);letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.reset-primary-link:hover{border-color:var(--cream);background:var(--cream)}.reset-back-link{display:inline-block;margin-top:24px}
.login-error { margin: 0 0 18px; padding: 12px 14px; border-left: 2px solid var(--danger); background: rgba(196,119,105,.09); color: var(--danger); }

@media (max-width:700px) {
  .login-hero { min-height:100svh; overflow:visible; }
  .login-hero-logo { top:86px; left:50%; width:min(76vw,520px); }
  .login-shell { display:block; min-height:0; width:calc(100% - 32px); padding:310px 0 34px; }
  .login-panel { padding:27px 22px; }
  .login-panel h1 { font-size:clamp(46px,15vw,64px); }
}

main { position: relative; width: min(1480px, calc(100% - 64px)); margin: 0 auto; padding: 76px 0 110px; }

.hero { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.eyebrow { margin: 0 0 14px; color: var(--olive); font: 400 18px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: 0; font: 400 clamp(54px, 8.25vw, 127.5px)/.78 var(--headline); letter-spacing: -.02em; text-transform: lowercase; }
h1 em { color: var(--cream); font-style: normal; -webkit-text-stroke: 1px var(--cream); -webkit-text-fill-color: transparent; }
.intro { max-width: 570px; margin: 30px 0 0; color: var(--muted); font-size: 19px; font-weight: 300; line-height: 1.45; }

.hero-stats { flex: 0 0 auto; display: grid; gap: 22px; padding-bottom: 5px; }
.hero-stat { display: flex; align-items: center; gap: 14px; }
.hero-stat strong { color: var(--cream); font: 400 74px/.8 var(--display); }
.hero-stat span { color: var(--olive); font: 400 12px/1.3 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.hero-stat-total { padding-top: 22px; border-top: 1px solid var(--line); }
.hero-stat-total strong { color: var(--olive); }

.controls { margin-top: 70px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.year-navigation { display: grid; grid-template-columns: 46px 1fr 46px; align-items: stretch; min-height: 82px; }
.year-list { display: flex; justify-content: center; align-items: stretch; overflow: hidden; }
.year-button, .year-arrow { border: 0; background: transparent; color: var(--muted); cursor: pointer; }
.year-button { position: relative; min-width: 110px; padding: 0 20px; font: 400 37.5px/1 var(--display); letter-spacing: .04em; }
.year-button:hover { color: var(--cream); }
.year-button[aria-pressed="true"] { color: var(--olive); }
.year-button[aria-pressed="true"]::after { content: ""; position: absolute; bottom: -1px; left: 25px; right: 25px; height: 3px; background: var(--olive); }
.year-arrow { font-family: var(--display); font-size: 30px; }
.year-arrow:hover:not(:disabled) { color: var(--cream); }
.year-arrow:disabled { opacity: .2; cursor: default; }
@media (min-width: 901px) {
  .year-button { min-width: clamp(110px, 8.6vw, 176px); }
}

.status-navigation { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); border-top: 1px solid rgba(97,102,91,.55); }
.status-navigation button { position: relative; display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; min-height: 54px; padding: 0 10px; border: 0; border-right: 1px solid rgba(97,102,91,.38); outline: 0; background: transparent; color: var(--muted); font: 400 14px/1 var(--display); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.status-navigation button:last-child { border-right: 0; }
.status-navigation button::before { content: ""; flex: 0 0 auto; width: 9px; height: 9px; background: var(--status-color,currentColor); }
.status-navigation button::after { content: ""; position: absolute; right: 15%; bottom: 0; left: 15%; height: 3px; background: var(--status-color,currentColor); opacity: 0; }
.status-count { color: inherit; font-family: var(--copy); font-size: 13px; font-weight: 300; letter-spacing: 0; }
.status-count-wrap { display:inline-flex; align-items:center; justify-content:center; gap:4px; }
.status-new-marker { color:var(--cream); font-family:var(--copy); font-size:18px; font-weight:700; line-height:.7; }
.status-navigation button:hover { background: rgba(252,247,241,.035); color: var(--cream); }
.status-navigation button[aria-pressed="true"] { background: rgba(252,247,241,.07); color: var(--cream); }
.status-navigation button[aria-pressed="true"]::after { opacity: 1; }
.status-navigation .all { --status-color:var(--olive); color: var(--olive); }
.status-navigation .online { --status-color:#c8cf84; color:#c8cf84; background:rgba(144,148,83,.08); }
.status-navigation .completed { --status-color:#899087; color: #899087; }
.status-navigation .confirmed { --status-color:var(--success); color: var(--success); }
.status-navigation .option { --status-color:#74786b; color:#74786b; }
.status-navigation .offer { --status-color:#d3b979; color: #d3b979; }
.status-navigation .inquiry { --status-color:#9bb8c5; color: #9bb8c5; }
.status-navigation .declined { --status-color:#a48b83; color: #a48b83; }
.status-navigation .cancelled { --status-color:var(--danger); color: var(--danger); }
.status-navigation button:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.secondary-controls { display: block; padding: 18px 0; border-top: 1px solid rgba(97,102,91,.55); }
.search-field { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 0 14px; border: 1px solid var(--line); }
.search-field:focus-within { border-color: var(--olive); }
.search-field svg { flex: 0 0 auto; width: 19px; fill: none; stroke: var(--muted); stroke-width: 1.7; }
.search-field input { width: 100%; min-height: 46px; border: 0; outline: 0; background: transparent; color: var(--cream); }
.search-field input::placeholder { color: #899087; }
.search-field input::-webkit-search-cancel-button { display: none; -webkit-appearance: none; appearance: none; }
.search-clear { flex: 0 0 38px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0 0 3px; border: 0; outline: 0; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; background: transparent; color: var(--cream); font: 300 34px/1 Arial,sans-serif; cursor: pointer; }
.search-clear[hidden] { display: none; }
.search-clear:focus-visible { outline: 2px solid var(--olive); outline-offset: -2px; }
.status-filter { display: flex; align-items: center; gap: 10px; color: var(--muted); font: 400 13px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.status-filter select { min-height: 46px; padding: 0 38px 0 14px; border: 1px solid var(--line); background: var(--night); color: var(--cream); }

.demo-notice { margin: 24px 0 0; padding: 12px 16px; border-left: 2px solid var(--olive); background: rgba(144,148,83,.08); color: var(--muted); font-size: 14px; }
.demo-notice strong { color: var(--olive); font-weight: 500; }

.finance-disclosure { margin-top: 64px; border-top: 1px solid var(--olive); border-bottom: 1px solid var(--line); }
.finance-disclosure[hidden] { display: none; }
.finance-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 92px; padding: 19px 4px; cursor: pointer; list-style: none; }
.finance-disclosure > summary::-webkit-details-marker { display: none; }
.finance-summary-title small, .finance-summary-title strong { display: block; }
.finance-summary-title small { margin-bottom: 7px; color: var(--olive); font: 400 11px/1 var(--display); letter-spacing: .13em; text-transform: uppercase; }
.finance-summary-title strong { font: 400 31px/1 var(--headline); letter-spacing: .035em; text-transform: lowercase; }
.finance-summary-action { display: flex; align-items: center; gap: 14px; color: var(--olive); font: 400 13px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.finance-summary-action i { position: relative; display: block; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; }
.finance-summary-action i::before, .finance-summary-action i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 1px; background: currentColor; transform: translate(-50%,-50%); }
.finance-summary-action i::after { transform: translate(-50%,-50%) rotate(90deg); transition: transform .18s; }
.finance-hide { display: none; }
.finance-disclosure[open] .finance-show { display: none; }
.finance-disclosure[open] .finance-hide { display: inline; }
.finance-disclosure[open] .finance-summary-action i::after { transform: translate(-50%,-50%) rotate(0); }
.finance { padding: 42px 0 34px; border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading h2 { margin: 0; font: 400 clamp(48px, 7vw, 92px)/.84 var(--headline); letter-spacing: .01em; text-transform: lowercase; }
.section-heading > p { max-width: 440px; margin: 0; color: var(--muted); font-weight: 300; line-height: 1.45; }
.finance-kpis { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.finance-kpi { min-width: 0; padding: 22px 24px 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.finance-kpi span, .finance-kpi small { display: block; }
.finance-kpi span { color: var(--olive); font: 400 12px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.finance-kpi strong { display: block; margin-top: 13px; font: 400 clamp(31px, 3.7vw, 56px)/1 var(--display); white-space: nowrap; }
.finance-kpi small { margin-top: 8px; color: var(--muted); font-weight: 300; }
.finance-kpi-result { background: var(--olive); color: var(--night); }
.finance-kpi-result span, .finance-kpi-result small { color: var(--night); }
.fixed-costs { margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fixed-costs summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 4px; color: var(--cream); font: 400 15px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.fixed-costs summary span { color: var(--olive); }
.fixed-cost-table { padding-bottom: 18px; }
.finance-empty { margin: 0; padding: 20px 4px; border-top: 1px solid rgba(97,102,91,.45); color: var(--muted); font-weight: 300; }
.fixed-cost-row { display: grid; grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(110px, .35fr)); gap: 18px; padding: 13px 4px; border-top: 1px solid rgba(97,102,91,.45); }
.fixed-cost-row > span { text-align: right; }
.fixed-cost-row strong { font-weight: 400; }
.fixed-cost-head { color: var(--muted); font: 400 11px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.fixed-cost-sum { color: var(--olive); font-weight: 500; }

.events { margin-top: 52px; }
.month { display:block;margin:0 0 54px;padding:0; }
.month-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0;padding:0 4px 13px;border-bottom:1px solid var(--line);color:var(--olive);font:400 36px/1 var(--headline);letter-spacing:.035em;text-transform:lowercase; }
.month-heading span { color:var(--muted);font:300 14px/1.2 var(--copy);letter-spacing:.08em;text-transform:uppercase; }
.event-list { border-top:0; }
.event-row-entry{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:stretch;border-bottom:1px solid rgba(97,102,91,.55)}
.event-row {
  display: grid;
  grid-template-columns:108px minmax(260px,1fr) 210px 28px;
  align-items: center;
  gap:22px;
  width: 100%;
  min-height:106px;
  padding:18px 20px;
  border: 0;
  border-bottom: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .18s, transform .18s;
}
.event-row:hover { background: rgba(144,148,83,.06); transform: translateX(4px); }
.event-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-right:6px}.event-action-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(144,148,83,.65);background:transparent;color:var(--olive);cursor:pointer}.event-action-button:hover{border-color:var(--olive);background:rgba(144,148,83,.13);color:#b2b768}.event-action-button:disabled{opacity:.45;cursor:wait}.event-action-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.event-delete-button{border-color:rgba(196,119,105,.65);color:var(--danger)}.event-delete-button:hover{border-color:var(--danger);background:rgba(196,119,105,.12);color:#e19484}.event-row-entry.performance-cancelled{border-color:rgba(181,98,92,.55)}
.event-date{display:flex;align-items:flex-start;flex-direction:column;gap:2px;font-family:var(--display);font-weight:400;text-transform:lowercase}.event-date strong{font:400 45px/.8 var(--display)}.event-date span{color:var(--muted);font:400 18px/1 var(--display)}
.event-name{display:flex;min-width:0;flex-direction:column;gap:2px}.event-name small{overflow:hidden;color:var(--olive);font:400 14px/1.1 var(--display);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.event-name strong{overflow:hidden;font:400 22px/1.15 var(--display);letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.event-name>span{overflow:hidden;color:var(--muted);font-size:15px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}
.event-side{display:grid;justify-items:end;gap:10px;min-width:0}.event-document-icons{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-height:28px}.event-document-icon{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--olive);cursor:pointer}.event-document-icon:hover,.event-document-icon:focus-visible{background:rgba(144,148,83,.13);color:#b2b768;outline:none}.event-document-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.event-document-icon.sent{border:1px solid currentColor;border-radius:50%}.event-document-icon.overdue{color:#df6f65}.event-document-icon.overdue.sent{box-shadow:0 0 0 2px rgba(223,111,101,.13)}
.event-document-icon.document-offer{color:#d3b979}.event-document-icon.document-contract{color:#aeb86f}.event-document-icon.document-invoice{color:#8fb8ca}.event-document-icon.document-reminder{color:#df8a62}.event-document-icon.document-offer:hover,.event-document-icon.document-offer:focus-visible{background:rgba(211,185,121,.14);color:#efd18a}.event-document-icon.document-contract:hover,.event-document-icon.document-contract:focus-visible{background:rgba(174,184,111,.14);color:#cbd682}.event-document-icon.document-invoice:hover,.event-document-icon.document-invoice:focus-visible{background:rgba(143,184,202,.14);color:#b8d7e4}.event-document-icon.document-reminder:hover,.event-document-icon.document-reminder:focus-visible{background:rgba(223,138,98,.14);color:#f2a77f}.event-document-icon.overdue{color:#df6f65}
.status-badge { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--muted); font-size: 13px; }
.status-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-badge.confirmed { color: var(--success); }
.status-badge.approved { color: #c6d582; }
.status-badge.completed { color: var(--muted); }
.status-badge.inquiry { color: #9bb8c5; }
.status-badge.offer { color: #d3b979; }
.status-badge.option { color:#74786b; }
.status-badge.declined { color: #a48b83; }
.status-badge.cancelled { color: var(--danger); }
.status-badge.performance-cancelled{color:#e0a29d}.event-row.performance-cancelled{border-color:rgba(181,98,92,.55);background:linear-gradient(90deg,rgba(181,98,92,.11),transparent 38%)}
.status-badge.invoiced { color: var(--warning); }
.status-badge.paid { color: var(--success); }
.event-chevron { color: var(--olive); font: 300 28px/1 var(--copy); }

/* Desktop-Terminliste: Status und Dokumente als getrennte rechte Spalten. */
@media (min-width: 901px) {
  .event-row { grid-template-columns: 108px minmax(260px, 1fr) 125px 150px; gap: 14px; }
  .event-side { display: contents; }
  .event-side > .status-badge { justify-self: end; transform: translateX(-20px); }
  .event-side > .event-document-icons {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding-left: 10px;
    border-left: 1px solid rgba(97,102,91,.55);
    justify-content: flex-end;
  }
  .event-chevron { display: none; }
}

.empty-state { padding: 80px 20px; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.empty-state span { color: var(--olive); font-size: 40px; }
.empty-state h2 { margin: 14px 0 6px; font: 400 32px/1 var(--headline); letter-spacing: .04em; text-transform: lowercase; }
.empty-state p { margin: 0; color: var(--muted); font-weight: 300; }

.event-dialog { width: min(650px, calc(100% - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 0; background: var(--night-raised); color: var(--cream); box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.event-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(3px); }
.event-dialog form { position: absolute; top: 12px; right: 12px; z-index: 1; }
.dialog-close { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0 0 3px; border: 1px solid var(--line); border-radius: 50%; outline: 0; appearance: none; -webkit-appearance: none; -webkit-tap-highlight-color: transparent; background: transparent; color: var(--cream); font: 300 34px/1 Arial, sans-serif; cursor: pointer; }
.dialog-close:focus-visible { border-color: var(--olive); outline: 2px solid var(--olive); outline-offset: 3px; }
.dialog-hero { padding: 42px 72px 36px 36px; border-bottom: 1px solid var(--line); }
.dialog-hero p { margin: 0 0 10px; color: var(--olive); font: 400 13px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.dialog-hero h2 { margin: 0; font: 400 46px/.98 var(--headline); letter-spacing: .02em; text-transform: lowercase; }
.dialog-details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 38px; padding: 34px 36px 40px; }
.dialog-details div { min-width: 0; }
.dialog-details dt { margin-bottom: 7px; color: var(--olive); font: 400 11px/1 var(--display); text-transform: uppercase; letter-spacing: .12em; }
.dialog-details dd { margin: 0; color: var(--cream); font-weight: 300; overflow-wrap: anywhere; }
.dialog-finance { padding: 30px 36px 38px; border-top: 1px solid var(--line); }
.dialog-finance > p { margin: 0 0 18px; color: var(--muted); font-size: 13px; }
.dialog-finance-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.dialog-finance-grid div { padding: 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dialog-finance-grid span, .dialog-finance-grid strong { display: block; }
.dialog-finance-grid span { color: var(--muted); font-size: 12px; }
.dialog-finance-grid strong { margin-top: 5px; font: 400 21px/1 var(--display); }
.dialog-finance-grid .dialog-finance-result { grid-column: 1 / -1; background: rgba(144,148,83,.12); }
.dialog-finance-result strong { color: var(--olive); }

.calendar-dialog { width: min(1500px, calc(100% - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 0; background: var(--night-raised); color: var(--cream); box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.calendar-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.calendar-dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(3px); }
.calendar-dialog .dialog-close-form { position: absolute; top: 14px; right: 14px; z-index: 2; }
.calendar-hero { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 34px 76px 27px 34px; border-bottom: 1px solid var(--line); }
.calendar-hero p { margin: 0 0 8px; color: var(--olive); font: 400 12px/1 var(--display); letter-spacing: .13em; text-transform: uppercase; }
.calendar-hero h2 { margin: 0; font: 400 58px/.82 var(--headline); text-transform: lowercase; }
.calendar-hero > strong { color: var(--olive); font: 400 18px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
.calendar-content { flex:1 1 auto; min-height:0; overflow-y:auto; }
.calendar-year-navigation { border-bottom: 1px solid var(--line); }
.calendar-status-navigation { border-bottom:1px solid var(--line); }
.calendar-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 22px; padding: 15px 26px; border-bottom: 1px solid var(--line); }
.calendar-legend span { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font: 400 11px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; }
.calendar-legend span::before { content: ""; width: 9px; height: 9px; background: currentColor; }
.calendar-legend .online { color:#c8cf84; }
.calendar-legend .option { color:#74786b; }
.calendar-legend .offer { color: #d3b979; }
.calendar-legend .inquiry { color: #9bb8c5; }
.calendar-legend .declined { color:#a48b83; }
.year-calendar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--line); }
.calendar-month { min-width: 0; padding: 18px 14px 20px; background: var(--night-raised); }
.calendar-month h3 { margin: 0 0 14px; color: var(--cream); font: 400 27px/1 var(--headline); letter-spacing: .035em; text-transform: lowercase; }
.calendar-weekdays, .calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-weekdays { margin-bottom: 5px; }
.calendar-weekdays span { padding: 3px; color: var(--olive); font: 400 10px/1 var(--display); text-align: center; text-transform: uppercase; }
.calendar-day { min-width: 0; min-height: 51px; padding: 5px 3px 3px; border-top: 1px solid rgba(97,102,91,.45); color: var(--muted); overflow: hidden; }
.calendar-day b { display: block; margin-bottom: 3px; font: 400 11px/1 var(--display); }
.calendar-day-empty { border-color: transparent; }
.calendar-day.has-events { background: rgba(144,148,83,.08); color: var(--cream); }
.calendar-event { display: block; width: 100%; margin-top: 2px; padding: 3px 4px; border: 0; outline: 0; color: var(--night); font: 500 10px/1.08 var(--copy); overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.calendar-event:hover { filter: brightness(1.16); }
.calendar-event:focus-visible { outline: 2px solid var(--cream); outline-offset: 1px; }
.calendar-event.online { background:#c8cf84; }
.calendar-event.completed { background:#899087; }
.calendar-event.confirmed { background:var(--success); }
.calendar-event.option { background:#74786b; }
.calendar-event.offer { background: #d3b979; }
.calendar-event.inquiry { background: #9bb8c5; }
.calendar-event.declined { background: #a48b83; }
.calendar-event.cancelled { background: var(--danger); }
.calendar-event.performance-cancelled{background:var(--danger);color:var(--cream);text-decoration:line-through;text-decoration-thickness:1px}

.statistics-dialog { width: min(1100px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--line); border-radius: 0; background: var(--night-raised); color: var(--cream); box-shadow: 0 24px 80px rgba(0,0,0,.5); }
.statistics-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.statistics-dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(3px); }
.statistics-dialog .dialog-close-form { position: absolute; top: 14px; right: 14px; z-index: 2; }
.statistics-hero { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 38px 76px 30px 34px; border-bottom: 1px solid var(--line); }
.statistics-hero p { margin: 0 0 8px; color: var(--olive); font: 400 12px/1 var(--display); letter-spacing: .13em; text-transform: uppercase; }
.statistics-hero h2 { margin: 0; font: 400 58px/.85 var(--headline); text-transform: lowercase; }
.statistics-hero > strong { color: var(--olive); font: 400 16px/1.2 var(--display); letter-spacing: .06em; text-align: right; text-transform: uppercase; }
.statistics-content { flex:1 1 auto; min-height:0; padding: 30px 34px 36px; overflow-y:auto; }
.statistics-table { border-top: 1px solid var(--line); }
.statistics-row { display: grid; grid-template-columns: 76px minmax(220px, 1fr) minmax(280px, auto); align-items: center; gap: 24px; min-height: 104px; padding: 17px 14px; border-bottom: 1px solid rgba(97,102,91,.55); }
.statistics-row > strong { font: 400 28px/1 var(--headline); text-transform: lowercase; }
.statistics-bars { display: grid; gap: 14px; width: 100%; min-width: 180px; }
.statistics-metric { display: grid; grid-template-columns: 24px minmax(100px, 1fr); align-items: center; gap: 12px; min-width: 0; }
.statistics-icon { color: var(--olive); font: 400 15px/1 var(--display); text-align: center; }
.statistics-bar { position: relative; display: block; width: 100%; height: 14px; overflow: hidden; background: rgba(97,102,91,.22); }
.statistics-bar progress { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; appearance: none; -webkit-appearance: none; background: transparent; color: #aebfad; }
.statistics-bar progress::-webkit-progress-bar { background: transparent; }
.statistics-bar progress::-webkit-progress-value { background: currentColor; }
.statistics-bar progress::-moz-progress-bar { background: currentColor; }
.statistics-metric.appearances .statistics-bar progress { color: #aebfad; }
.statistics-metric.finances .statistics-bar { height: 18px; }
.statistics-metric.finances .revenue { z-index: 1; color: #3f5c4b; }
.statistics-metric.finances .profit { z-index: 2; inset: 6px 0 auto; height: 6px; color: var(--olive); }
.statistics-metric.finances .revenue.negative,
.statistics-metric.finances .profit.negative { color: var(--danger); }
.statistics-values { display: grid; grid-template-columns: 70px minmax(92px, 1fr) minmax(92px, 1fr); align-items: start; gap: 14px; min-width: 280px; text-align: right; }
.statistics-values span { display: grid; gap: 5px; }
.statistics-values b { color: var(--cream); font: 400 16px/1 var(--display); white-space: nowrap; }
.statistics-values small { color: var(--muted); font: 300 10px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.statistics-values .positive b { color: var(--success); }
.statistics-values .negative b { color: var(--danger); }
.statistics-note { margin: 22px 0 0; color: var(--muted); font-size: 13px; font-weight: 300; }

.workspace-dialog { width:min(1180px,calc(100% - 32px)); max-height:calc(100vh - 32px); padding:0; border:1px solid var(--line); border-radius:0; background:var(--night-raised); color:var(--cream); box-shadow:0 24px 80px rgba(0,0,0,.5); }
.workspace-dialog[open]:not(.setlists-dialog):not(.accounting-dialog) { display:flex; flex-direction:column; overflow:hidden; }
.workspace-dialog::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(3px); }
.workspace-dialog .dialog-close-form { position:absolute; top:14px; right:14px; z-index:2; }
.setlists-dialog{width:min(1540px,calc(100% - 32px));height:calc(100vh - 32px);max-width:none;max-height:calc(100vh - 32px);overflow:hidden;background:#f4f2eb}
.setlists-dialog .dialog-close-form{z-index:5;margin:0}
.setlists-dialog .dialog-close{border-color:#909453;background:#132019;color:#f4f3e9;box-shadow:0 4px 18px rgba(0,0,0,.24)}
.setlists-frame{display:block;width:100%;height:100%;border:0;background:#f4f2eb}
.accounting-dialog{width:min(1540px,calc(100% - 32px));height:calc(100vh - 32px);max-width:none;max-height:calc(100vh - 32px);overflow:hidden;background:var(--night-raised)}
.accounting-dialog .dialog-close-form{z-index:5;margin:0}.accounting-dialog .dialog-close{border-color:var(--olive);background:var(--night-raised);color:var(--cream);box-shadow:0 4px 18px rgba(0,0,0,.24)}
.accounting-frame{display:block;width:100%;height:100%;border:0;background:var(--night-raised)}
.workspace-hero { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:38px 76px 30px 34px; border-bottom:1px solid var(--line); }
.workspace-hero p { margin:0 0 8px; color:var(--olive); font:400 12px/1 var(--display); letter-spacing:.13em; text-transform:uppercase; }
.workspace-hero h2 { margin:0; font:400 58px/.85 var(--headline); text-transform:lowercase; }
.workspace-hero > strong { color:var(--olive); font:400 16px/1.2 var(--display); letter-spacing:.06em; text-align:right; text-transform:uppercase; }
.workspace-content { flex:1 1 auto; min-height:0; padding:28px 34px 36px; overflow-y:auto; }
.bookings-page-main{width:min(1480px,calc(100% - 64px));margin:0 auto;padding:76px 0 110px}.bookings-page-hero{align-items:end;margin-bottom:56px}.bookings-page-hero>strong{flex:0 0 auto;padding-bottom:5px;color:var(--olive);font:400 16px/1.2 var(--display);letter-spacing:.06em;text-align:right;text-transform:uppercase}.bookings-page-main>.workspace-content{padding:0;overflow:visible}
.workspace-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.workspace-kpis>div{position:relative;display:flex;align-items:end;gap:12px;min-height:76px;padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(0,0,0,.08)}.workspace-kpis>div::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:#74786b}.workspace-kpis>div.inquiry::before{background:#9bb8c5}.workspace-kpis>div.offer::before{background:#d3b979}.workspace-kpis>div.contract::before,.workspace-kpis>div.success::before{background:var(--success)}.workspace-kpis>div.danger::before{background:var(--danger)}.workspace-kpis strong{color:var(--cream);font:400 31px/.8 var(--display)}.workspace-kpis span{color:var(--muted);font:400 10px/1.25 var(--display);letter-spacing:.07em;text-transform:uppercase}
.workspace-filters{display:flex;overflow-x:auto;margin-bottom:18px;border:1px solid var(--line);scrollbar-width:thin}.workspace-filters button{position:relative;flex:1 0 auto;min-height:46px;padding:10px 17px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font:400 11px/1 var(--display);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.workspace-filters button:last-child{border-right:0}.workspace-filters button:hover{color:var(--cream);background:rgba(252,247,241,.03)}.workspace-filters button.active{background:rgba(151,155,82,.12);color:var(--cream)}.workspace-filters button.active::after{content:"";position:absolute;right:16px;bottom:0;left:16px;height:3px;background:var(--olive)}
.workspace-search { display:block; margin-bottom:22px; }
.workspace-search input { width:100%; min-height:50px; padding:0 16px; border:1px solid var(--line); outline:0; background:transparent; color:var(--cream); font:300 16px/1 var(--copy); }
.workspace-search input:focus { border-color:var(--olive); }
.workspace-list { border-top:1px solid var(--line); }
.workspace-row { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(240px,1.8fr) minmax(150px,1fr) minmax(130px,.8fr); align-items:center; gap:22px; min-height:82px; padding:14px 16px; border-bottom:1px solid rgba(97,102,91,.52); }
button.workspace-row { width:100%; border-top:0; border-right:0; border-left:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
button.workspace-row:hover { background:rgba(252,247,241,.04); }
.workspace-row-primary { display:grid; gap:6px; min-width:0; }
.workspace-row-primary strong { overflow:hidden; color:var(--cream); font:400 19px/1.1 var(--display); text-overflow:ellipsis; white-space:nowrap; }
.workspace-row-primary small,.workspace-cell small { color:var(--muted); font:300 12px/1.25 var(--copy); }
.workspace-cell { display:grid; gap:6px; min-width:0; color:var(--muted); font-size:14px; }
.workspace-cell b { color:var(--cream); font:400 13px/1.2 var(--display); letter-spacing:.04em; text-transform:uppercase; }
.workspace-cell.mail-received-date b{color:#df8a4f}.workspace-cell.mail-received-date small{color:#c88a61}
.workspace-status { display:inline-flex; align-items:center; gap:8px; color:var(--status-color,var(--muted)); font:400 12px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; }
.workspace-status::before { content:""; width:9px; height:9px; background:currentColor; }
.workspace-status.inquiry { --status-color:#9bb8c5; }.workspace-status.offer { --status-color:#d3b979; }.workspace-status.option { --status-color:#74786b; }.workspace-status.confirmed { --status-color:var(--success); }.workspace-status.completed { --status-color:#899087; }.workspace-status.declined,.workspace-status.cancelled { --status-color:var(--danger); }
.workspace-status.open{--status-color:#d3b979}.workspace-status.draft,.workspace-status.issued,.workspace-status.sent,.workspace-status.accepted,.workspace-status.paid,.workspace-status.stored{--status-color:var(--success)}.workspace-status.overdue{--status-color:var(--danger)}.workspace-status.legacy{--status-color:#74786b}
.booking-pipeline-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid rgba(97,102,91,.52)}.booking-pipeline-entry .booking-pipeline-row{border-bottom:0}.booking-pipeline-row{grid-template-columns:minmax(145px,.8fr) minmax(260px,1.7fr) minmax(115px,.7fr) minmax(210px,1.25fr)}.booking-overview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 12px}.booking-overview-actions button{display:grid;place-items:center;width:38px;height:38px;padding:0;background:transparent;cursor:pointer}.booking-overview-view-mail{border:1px solid rgba(151,155,82,.68);color:var(--olive)}.booking-overview-view-mail:hover{border-color:var(--olive);background:rgba(151,155,82,.12);color:var(--cream)}.booking-overview-delete{border:1px solid rgba(196,119,105,.65);color:var(--danger)}.booking-overview-delete:hover{border-color:var(--danger);background:rgba(196,119,105,.12);color:#e19484}.booking-overview-actions button:disabled{opacity:.45;cursor:wait}.booking-overview-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.workspace-task{display:grid;gap:6px;min-width:0;padding-left:15px;border-left:2px solid #74786b}.workspace-task strong{color:var(--cream);font:400 14px/1.15 var(--display);letter-spacing:.035em;text-transform:uppercase}.workspace-task small{color:var(--muted);font:300 12px/1.25 var(--copy)}.workspace-task.inquiry{border-color:#9bb8c5}.workspace-task.offer,.workspace-task.option{border-color:#d3b979}.workspace-task.success{border-color:var(--success)}.workspace-task.danger{border-color:var(--danger)}
.document-archive-row{grid-template-columns:minmax(110px,.65fr) minmax(240px,1.65fr) 170px 165px}.document-archive-row.legacy{opacity:.7}.document-archive-row.legacy:hover{opacity:1}.document-row-end{display:grid;justify-items:start;gap:12px}.document-row-actions{display:flex;align-items:center;gap:7px}.document-row-actions button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.document-row-actions button:hover{border-color:var(--olive);background:rgba(151,155,82,.12);color:var(--cream)}.document-row-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contacts-alphabet{display:flex;align-items:stretch;overflow-x:auto;margin:0 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin}.contacts-alphabet button{flex:1 0 35px;min-width:35px;min-height:42px;padding:0 8px;border:0;border-left:1px solid rgba(97,102,91,.48);background:transparent;color:var(--muted);font:400 12px/1 var(--display);cursor:pointer}.contacts-alphabet button:first-child{flex-basis:58px;border-left:0}.contacts-alphabet button:last-child{border-right:1px solid rgba(97,102,91,.48)}.contacts-alphabet button:hover:not(:disabled),.contacts-alphabet button.active{background:rgba(151,155,82,.14);color:var(--cream)}.contacts-alphabet button.active{box-shadow:inset 0 -3px var(--olive)}.contacts-alphabet button:disabled{color:#39423c;cursor:default}
.contact-directory-row{grid-template-columns:minmax(120px,.7fr) minmax(220px,1.35fr) minmax(260px,1.55fr) minmax(245px,auto)}.contact-kind{padding-left:12px;border-left:3px solid #74786b}.contact-kind.contact{border-color:#9bb8c5}.contact-kind.organizer{border-color:var(--olive)}.contact-kind.technician{border-color:#d3b979}.contact-kind.venue{border-color:#82b494}.contact-kind.hotel{border-color:#b2a7c5}
.contact-event-list{margin-top:3px;line-height:1.45!important;white-space:normal}.contact-event-list em{color:var(--olive);font-style:normal}
.contact-events-details{margin-top:3px;color:var(--muted);font:300 12px/1.45 var(--copy)}.contact-events-details summary{color:var(--muted);cursor:pointer;list-style:none}.contact-events-details summary::-webkit-details-marker{display:none}.contact-events-details summary:hover{color:var(--cream)}.contact-events-details summary em{color:var(--olive);font-style:normal}.contact-events-details>small{display:block;margin-top:7px;padding:8px 10px;border-left:2px solid var(--olive);background:rgba(151,155,82,.06);line-height:1.5}
.workspace-contact-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.workspace-contact-actions>a,.workspace-contact-actions>span.disabled{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);color:var(--olive);text-decoration:none}.workspace-contact-actions>a:hover{border-color:var(--olive);background:rgba(151,155,82,.12);color:var(--cream)}.workspace-contact-actions>span.disabled{color:#465049;opacity:.52}.workspace-contact-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-open-booking{min-height:38px;padding:0 11px;border:1px solid var(--line);background:transparent;color:var(--muted);font:400 10px/1 var(--display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.contact-open-booking:hover{border-color:var(--olive);color:var(--cream)}.contact-open-booking span{margin-left:5px;color:var(--olive)}
.workspace-limit { margin:18px 0 0; color:var(--muted); font-size:13px; }
.workspace-empty { padding:38px 10px; color:var(--muted); text-align:center; }
.distance-backfill { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 22px; padding:18px 20px; border:1px solid var(--line); background:rgba(151,155,82,.06); }
.distance-backfill[hidden] { display:none; }
.distance-backfill div { min-width:0; }
.distance-backfill small { display:block; margin-bottom:6px; color:var(--olive); font:400 11px/1 var(--display); letter-spacing:.11em; text-transform:uppercase; }
.distance-backfill strong { display:block; font:400 20px/1.15 var(--display); letter-spacing:.025em; }
.distance-backfill p { margin:7px 0 0; color:var(--muted); font-size:14px; font-weight:300; }
.distance-backfill p.error { color:var(--danger); }
.distance-backfill button { flex:0 0 auto; min-height:44px; padding:0 18px; border:1px solid var(--olive); background:var(--olive); color:var(--night); font:500 13px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.distance-backfill button:disabled { border-color:var(--line); background:rgba(97,102,91,.35); color:var(--muted); cursor:wait; }
.booking-mail-import { border-left:3px solid var(--olive); }
.editor-mail-import { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:24px; margin:0 0 26px; padding:20px; border:1px solid var(--olive); background:rgba(151,155,82,.08); }
.editor-mail-import > div { min-width:0; }
.editor-mail-import > div small,.editor-mail-import > div span { display:block; color:var(--muted); }
.editor-mail-import > div small { margin-bottom:7px; color:var(--olive); font:400 11px/1 var(--display); letter-spacing:.1em; text-transform:uppercase; }
.editor-mail-import > div strong { display:block; margin-bottom:7px; font:400 20px/1.2 var(--display); overflow-wrap:anywhere; }
.editor-mail-import > div span { font-size:14px; }
.editor-mail-import nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.editor-mail-import nav a,.editor-mail-import nav button { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:11px 13px; border:1px solid var(--line); background:transparent; color:var(--cream); font:inherit; text-align:left; text-decoration:none; cursor:pointer; }
.editor-mail-import nav a:hover,.editor-mail-import nav button:hover { border-color:var(--olive); color:var(--olive); }
.editor-mail-import nav button[data-view-original-mail]{grid-column:2;justify-self:end;width:100%;border-color:var(--olive);background:var(--olive);color:var(--night);font-weight:600}.editor-mail-import nav button[data-view-original-mail]:hover{border-color:#b2b768;background:#b2b768;color:var(--night)}
.editor-mail-import nav span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.editor-mail-import nav small { color:var(--muted); font-size:12px; }
.editor-mail-import nav button[data-view-original-mail] small{color:rgba(8,18,13,.76);font-weight:600}
.mail-view-dialog{width:min(860px,calc(100% - 32px));max-height:calc(100vh - 32px);margin:auto;padding:0;border:1px solid #d7d7d2;border-radius:0;background:#fff;color:#172018;box-shadow:0 28px 100px rgba(0,0,0,.72)}.mail-view-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}.mail-view-dialog article{display:grid;grid-template-rows:auto auto minmax(120px,1fr);max-height:calc(100vh - 34px);background:#fff}.mail-view-dialog header{padding:34px 74px 24px 34px;border-bottom:1px solid #d7d7d2}.mail-view-dialog header>small{display:block;margin-bottom:8px;color:#6f5e41;font:500 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.mail-view-dialog h2{margin:0;color:#172018;font:400 46px/.9 var(--headline);text-transform:lowercase}.mail-view-dialog header>strong{display:block;margin-top:20px;color:#172018;font:600 21px/1.3 var(--copy)}.mail-view-dialog dl{display:flex;flex-wrap:wrap;gap:10px 30px;margin:18px 0 0}.mail-view-dialog dl div{display:grid;grid-template-columns:auto 1fr;gap:7px}.mail-view-dialog dt{color:#6f5e41;font-weight:600}.mail-view-dialog dd{margin:0;color:#343a36}.mail-view-dialog>article>p{margin:0;padding:22px 34px;color:#8f3f33}.mail-view-dialog pre{overflow:auto;margin:0;padding:28px 34px 40px;background:#fff;color:#151a17;font:400 16px/1.55 var(--copy);white-space:pre-wrap;overflow-wrap:anywhere}.mail-view-dialog pre:empty{display:none}.mail-view-close-form{position:absolute;top:16px;right:16px;z-index:2}.mail-view-close-form button{display:grid;place-items:center;width:44px;height:44px;padding:0 0 3px;border:1px solid #172018;border-radius:50%;background:#fff;color:#172018;font:300 28px/1 Arial;cursor:pointer}.mail-view-close-form button:hover{background:#172018;color:#fff}

.profile-dialog { width: min(860px, calc(100% - 32px)); max-height: min(900px, calc(100vh - 32px)); padding: 0; border: 1px solid var(--line); border-radius: 0; background: var(--night-raised); color: var(--cream); box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.profile-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.profile-dialog::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(3px); }
.profile-dialog .dialog-close-form { position: absolute; top: 12px; right: 12px; z-index: 1; }
.profile-hero { padding: 38px 70px 30px 34px; border-bottom: 1px solid var(--line); }
.profile-hero p { margin: 0 0 8px; color: var(--olive); font: 400 12px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.profile-hero h2 { margin: 0; font: 400 54px/.9 var(--headline); text-transform: lowercase; }
.profile-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; }
.profile-content { padding: 30px 34px 36px; }
.profile-flash { margin: 0; padding: 14px 34px; border-bottom: 1px solid var(--line); }
.profile-flash.success { color: var(--success); background: rgba(158,170,114,.08); }
.profile-flash.error { color: var(--danger); background: rgba(196,119,105,.08); }
.profile-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.profile-field { display: grid; gap: 8px; }
.profile-field-wide, .profile-submit { grid-column: 1 / -1; }
.profile-field label { color: var(--olive); font: 400 11px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.profile-field > input, .profile-field .password-input { min-height: 48px; border: 1px solid var(--line); outline: 0; background: transparent; color: var(--cream); }
.profile-field > input { width: 100%; padding: 0 13px; }
.profile-field > input:focus, .profile-field .password-input:focus { border-color: var(--olive); }
.profile-submit { min-height: 50px; border: 1px solid var(--olive); background: var(--olive); color: var(--night); font: 500 14px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.profile-submit:hover { border-color: var(--cream); background: var(--cream); }
.profile-submit:disabled { border-color: #3d4741; background: #3d4741; color: #899087; cursor: not-allowed; }
.profile-submit:disabled:hover { border-color: #3d4741; background: #3d4741; }
.member-create { margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.member-create summary { padding: 20px 2px; color: var(--cream); font: 400 14px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.member-create[open] summary { color: var(--olive); }
.member-create .profile-form { padding: 4px 0 26px; }
.calendar-hero,.statistics-hero,.workspace-hero,.profile-hero{flex:0 0 auto}
.logout-form-profile { margin-top: 24px; }
.logout-form-profile button { padding: 10px 0; border: 0; border-bottom: 1px solid var(--danger); background: transparent; color: var(--danger); font: 400 13px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }

.admin-dialog{width:min(1300px,calc(100% - 32px));max-height:calc(100vh - 32px)}.admin-security-note{margin:0 0 30px;padding:15px 18px;border-left:3px solid var(--olive);background:rgba(151,155,82,.08);color:var(--muted)}
.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:start}.admin-column{min-width:0}.admin-column .admin-section-title:first-child{margin-top:0}
.admin-layout-users{grid-template-columns:minmax(0,1fr)}
.admin-section-title{margin:34px 0 16px;color:var(--cream);font:400 31px/1 var(--headline);text-transform:lowercase}
.admin-user-list{display:grid;gap:12px}.admin-user-card{border:1px solid var(--line);background:rgba(0,0,0,.1)}.admin-user-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:62px;padding:14px 18px;list-style:none;cursor:pointer}.admin-user-card>summary::-webkit-details-marker{display:none}.admin-user-card>summary strong{font:400 18px/1.1 var(--copy)}.admin-user-card>summary span{color:var(--olive);font:400 11px/1.2 var(--display);letter-spacing:.06em;text-align:right;text-transform:uppercase}.admin-user-card>form{padding:20px;border-top:1px solid var(--line)}
.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-fields label{display:grid;gap:7px;color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.admin-fields label.wide{grid-column:1/-1}.admin-fields label span{color:var(--muted);font-family:var(--copy);text-transform:none}
.admin-fields input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);outline:0;background:transparent;color:var(--cream)}.admin-fields input:focus{border-color:var(--olive)}
.admin-fields .admin-access{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;padding:15px;border:1px solid var(--line)}.admin-fields .admin-access legend{padding:0 8px;color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.admin-fields .admin-access label{display:flex;grid-column:auto;align-items:center;gap:9px;color:var(--cream)}.admin-fields .admin-access input{width:18px;min-height:18px;margin:0;padding:0;accent-color:var(--olive)}
.admin-actions{display:flex;gap:12px;margin-top:16px}.admin-actions .profile-submit{flex:1}.admin-delete{min-height:50px;padding:0 22px;border:1px solid var(--danger);background:transparent;color:var(--danger);font:500 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.audit-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin-bottom:18px}.audit-controls input,.audit-controls select{min-height:46px;border:1px solid var(--line);background:transparent;color:var(--cream);padding:0 13px}.audit-history{border-top:1px solid var(--line)}.audit-month{border-bottom:1px solid var(--line)}.audit-month>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 3px;cursor:pointer;list-style:none}.audit-month>summary::-webkit-details-marker{display:none}.audit-month>summary strong{font:400 20px/1 var(--display);color:var(--cream);text-transform:lowercase}.audit-month>summary span{color:var(--olive);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.audit-list{border-top:1px solid rgba(97,102,91,.55)}.audit-list>div{display:grid;grid-template-columns:165px 180px minmax(0,1fr);gap:16px;padding:14px 3px;border-bottom:1px solid rgba(97,102,91,.45)}.audit-list time{display:flex;gap:9px;white-space:nowrap}.audit-list time i{color:var(--olive);font-style:normal}.audit-list time span,.audit-list>div>span{color:var(--muted);font-size:13px}.audit-list strong{font-weight:400;color:var(--cream)}
.audit-days{border-top:1px solid rgba(97,102,91,.55)}.audit-day{border-bottom:1px solid rgba(97,102,91,.45)}.audit-day:last-child{border-bottom:0}.audit-day>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 10px;cursor:pointer;list-style:none;background:rgba(255,255,255,.018)}.audit-day>summary::-webkit-details-marker{display:none}.audit-day>summary strong{color:var(--cream);font:400 15px/1 var(--copy)}.audit-day>summary span{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.audit-day[open]>summary{border-left:3px solid var(--olive);background:rgba(144,148,83,.08)}.audit-day .audit-list{padding-left:10px}
.audit-row[hidden],.audit-day[hidden],.audit-month[hidden]{display:none!important}

@media (min-width: 901px) and (max-width: 1280px) {
  .app-header { padding-inline: 24px; gap: 16px; }
  .main-nav { gap: 14px; }
  .main-nav a { font-size: 12px; letter-spacing: .065em; }
  .header-user-name { min-width: 112px; padding-left: 16px; }
}

@media (max-width: 900px) {
  html.headline-font-fallback { --headline: "Oswald", "Arial Narrow", sans-serif; }
  html.headline-font-fallback h1,
  html.headline-font-fallback .brand strong,
  html.headline-font-fallback .finance-summary-title strong,
  html.headline-font-fallback .section-heading h2,
  html.headline-font-fallback .month-heading,
  html.headline-font-fallback .event-name strong,
  html.headline-font-fallback .event-place strong,
  html.headline-font-fallback .empty-state h2,
  html.headline-font-fallback .dialog-hero h2,
  html.headline-font-fallback .calendar-hero h2,
  html.headline-font-fallback .calendar-month h3,
  html.headline-font-fallback .statistics-hero h2,
  html.headline-font-fallback .statistics-row strong,
  html.headline-font-fallback .workspace-hero h2,
  html.headline-font-fallback .profile-hero h2 { text-transform: uppercase; }
  body.menu-open { overflow: hidden; }
  .app-header { position: sticky; z-index: 30; top: 0; grid-template-columns: 1fr auto auto auto; gap: 10px; }
  .header-user-name{grid-column:2;grid-row:1;min-width:0;padding-left:0;border-left:0}.header-user-name small{display:none}.header-user-name strong{max-width:130px;overflow:hidden;font-size:13px;text-overflow:ellipsis}
  .avatar{grid-column:3;grid-row:1}.menu-toggle { display: block; grid-column:4; grid-row:1; }
  .main-nav { position: fixed; z-index: 25; inset: 84px 0 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 24px max(24px, 7vw) 40px; overflow-y: auto; background: rgba(13,22,17,.985); transform: translateX(100%); visibility: hidden; transition: transform .22s ease, visibility 0s linear .22s; }
  body.menu-open .main-nav { transform: translateX(0); visibility: visible; transition-delay: 0s; }
  .main-nav a { display: flex; align-items: center; min-height: 67px; border-bottom: 1px solid rgba(97,102,91,.55); color: var(--muted); font-size: 20px; }
  .main-nav a.active { color: var(--olive); }
  .main-nav a.active::after { display: none; }
  main { padding-top: 54px; }
  .hero { align-items: start; }
  .event-row { grid-template-columns:95px minmax(220px,1fr) 160px 24px;gap:16px; }
  .event-date strong { font-size:40px; }
  .event-date span{font-size:16px}
  .event-chevron{display:block}
  .finance-kpis { grid-template-columns: repeat(2, 1fr); }
  .fixed-cost-row { grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(90px, .3fr)); }
  .year-calendar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .status-navigation { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .status-navigation button { min-height: 48px; border-bottom: 1px solid rgba(97,102,91,.38); font-size: 12px; }
  .status-navigation button:nth-child(4n) { border-right: 0; }
  .status-navigation button:nth-last-child(-n+4) { border-bottom: 0; }
  .admin-layout{display:block}.admin-column+.admin-column{margin-top:34px}
}

@media (max-width: 620px) {
  .app-header { min-height: 70px; padding-inline: 18px; }
  .main-nav { inset-block-start: 70px; }
  main { width: min(100% - 28px, 1480px); padding: 42px 0 64px; }
  .hero { display: block; }
  h1 { font-size: clamp(51px, 18.75vw, 82.5px); }
  .intro { margin-top: 24px; font-size: 17px; }
  .hero-stats { margin-top: 32px; grid-template-columns: 1fr 1fr; gap: 16px; }
  .hero-stat { align-items: start; }
  .hero-stat strong { font-size: 54px; }
  .hero-stat-total { padding-top: 0; padding-left: 16px; border-top: 0; border-left: 1px solid var(--line); }
  .controls { margin-top: 44px; }
  .year-navigation { grid-template-columns: 38px 1fr 38px; }
  .year-button { min-width: 78px; padding-inline: 10px; font-size: 31.5px; }
  .status-navigation button { display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; column-gap:7px; row-gap:5px; min-height:66px; padding:8px 4px 7px; font-size:14px; letter-spacing:.045em; }
  .status-navigation button::before { grid-column:1; grid-row:1; align-self:center; width:8px; height:8px; }
  .status-navigation .status-label { grid-column:2; grid-row:1; align-self:center; }
  .status-navigation .status-count, .status-navigation .status-count-wrap { grid-column:1/-1; grid-row:2; justify-self:center; font-size:13px; line-height:1; }
  .finance-disclosure { margin-top: 48px; }
  .finance-disclosure > summary { min-height: 80px; }
  .finance-summary-title strong { font-size: 27px; }
  .finance { padding-top: 32px; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 20px; }
  .finance-kpis { grid-template-columns: 1fr 1fr; margin-top: 28px; }
  .finance-kpi { padding: 18px 14px 20px; }
  .finance-kpi strong { font-size: clamp(25px, 7vw, 34px); white-space: normal; }
  .fixed-cost-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; padding-block: 15px; }
  .fixed-cost-row strong { grid-column: 1 / -1; }
  .fixed-cost-row > span { display: flex; justify-content: space-between; gap: 10px; text-align: left; }
  .fixed-cost-row > span::before { content: attr(data-label); color: var(--muted); }
  .fixed-cost-head { display: none; }
  .fixed-cost-sum { grid-template-columns: repeat(3, 1fr); }
  .fixed-cost-sum strong { grid-column: 1 / -1; }
  .events { margin-top: 44px; }
  .month{margin-bottom:40px}
  .month-heading{align-items:flex-end;margin-bottom:0;padding:0 4px 13px;font-size:32px}
  .month-heading span{font-size:13px}
  .event-row-entry{grid-template-columns:minmax(0,1fr) 76px}.event-row{min-height:0;padding:18px 6px;grid-template-columns:65px minmax(0,1fr) 135px 18px;gap:12px}.event-row-actions{gap:5px;padding-right:2px}.event-action-button{width:34px;height:34px}.event-action-button svg{width:17px;height:17px}
  .event-date strong{font-size:37px}.event-date span{font-size:15px}
  .event-name small{font-size:13px}.event-name strong{font-size:19px;white-space:normal}.event-name>span{font-size:13px;white-space:normal}
  .event-side{gap:8px}.event-document-icons{justify-content:flex-end}.event-document-icon{width:25px;height:25px}.event-document-icon svg{width:17px;height:17px}
  .status-badge{font-size:12px}.status-badge::before{width:7px;height:7px}
  .event-chevron{display:block;font-size:31px}
  .dialog-details { grid-template-columns: 1fr; }
  .dialog-finance { padding-inline: 22px; }
  .dialog-finance-grid { grid-template-columns: 1fr; }
  .dialog-finance-grid .dialog-finance-result { grid-column: auto; }
  .profile-dialog { width: calc(100% - 20px); max-height: calc(100vh - 20px); }
  .profile-hero { padding: 30px 58px 24px 22px; }
  .profile-content { padding: 24px 22px 30px; }
  .profile-flash { padding-inline: 22px; }
  .profile-form { grid-template-columns: 1fr; gap: 17px; }
  .profile-field-wide, .profile-submit { grid-column: auto; }
  .calendar-dialog { width: calc(100% - 12px); max-height: calc(100vh - 12px); }
  .calendar-hero { display: block; padding: 28px 58px 22px 20px; }
  .calendar-hero h2 { font-size: 48px; }
  .calendar-hero > strong { display: block; margin-top: 15px; font-size: 14px; }
  .calendar-legend { justify-content: flex-start; gap: 9px 17px; padding-inline: 18px; }
  .year-calendar { grid-template-columns: 1fr; }
  .calendar-month { padding: 20px 12px 24px; }
  .calendar-day { min-height: 58px; }
  .calendar-event { font-size: 11px; }
  .statistics-dialog { width: calc(100% - 12px); max-height: calc(100vh - 12px); }
  .statistics-hero { display: block; padding: 28px 58px 22px 20px; }
  .statistics-hero h2 { font-size: 48px; }
  .statistics-hero > strong { display: block; margin-top: 15px; font-size: 13px; text-align: left; }
  .statistics-content { padding: 22px 18px 28px; }
  .statistics-row { grid-template-columns: 1fr; gap: 14px; min-height: 0; padding: 18px 4px 20px; }
  .statistics-row > strong { font-size: 31px; }
  .statistics-bars { width: 100%; min-width: 0; gap: 13px; }
  .statistics-metric { grid-template-columns: 22px minmax(0, 1fr); gap: 9px; }
  .statistics-values { grid-template-columns: 58px 1fr 1fr; gap: 8px; min-width: 0; width: 100%; }
  .statistics-values b { font-size: 14px; }
  .workspace-dialog { width:calc(100% - 12px); max-height:calc(100vh - 12px); }
  .setlists-dialog,.accounting-dialog{width:calc(100% - 12px);height:calc(100vh - 12px);max-height:calc(100vh - 12px)}
  .workspace-hero { display:block; padding:28px 58px 22px 20px; }
  .workspace-hero h2 { font-size:48px; }
  .workspace-hero > strong { display:block; margin-top:15px; font-size:13px; text-align:left; }
  .workspace-content { padding:22px 18px 28px; }
  .workspace-kpis{grid-template-columns:1fr 1fr}.workspace-kpis>div{min-height:70px}.workspace-filters button{min-width:132px}
  .admin-fields{grid-template-columns:1fr}.admin-fields label.wide{grid-column:auto}.admin-actions{flex-direction:column}.audit-controls{grid-template-columns:1fr}.audit-list>div{grid-template-columns:1fr;gap:3px}
  .distance-backfill { display:block; padding:16px; }
  .distance-backfill button { width:100%; margin-top:16px; }
  .editor-mail-import { grid-template-columns:1fr; }
  .editor-mail-import nav { grid-template-columns:1fr; }
  .editor-mail-import nav button[data-view-original-mail]{grid-column:1}
  .workspace-row { grid-template-columns:1fr; gap:10px; min-height:0; padding:17px 8px; }
  .workspace-task{padding:11px 0 0;border-top:2px solid #74786b;border-left:0}
  .contact-directory-row{grid-template-columns:1fr}.workspace-contact-actions{justify-content:flex-start}.contact-open-booking{flex:1 1 150px}.contacts-alphabet button{flex-basis:38px}
  .workspace-row-primary strong { font-size:20px; white-space:normal; }
}

/* 1.0.32: gemeinsamer Zugang und klarer Wechsel Booking / Fahrtenplan */
.app-header{grid-template-columns:max-content auto minmax(0,1fr) auto auto;gap:clamp(14px,1.5vw,28px)}
.system-switches{display:flex;align-items:center;gap:14px;white-space:nowrap}
.system-switches a{display:flex;align-items:center;justify-content:center;min-width:122px;min-height:34px;padding:8px 14px;border:1px solid rgba(151,158,84,.42);background:rgba(151,158,84,.13);color:var(--muted);font:400 12px/1 var(--display);letter-spacing:.065em;text-decoration:none;text-transform:uppercase}
.system-switches a:hover{border-color:var(--olive);color:var(--cream)}
.system-switches a.active{border-color:var(--olive);background:var(--olive);color:var(--night);font-family:var(--display);font-weight:600;letter-spacing:.065em}
.mobile-system-switches{display:none}
.main-nav a,.main-nav>button,.main-nav form button{position:relative;padding:12px 0;border:0;background:transparent;color:var(--muted);font:400 14px/1 var(--display);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.main-nav form{margin:0}.nav-separator{align-self:stretch;width:1px;min-height:32px;background:rgba(97,102,91,.55)}
.header-logout button{color:var(--muted)}

.login-page{min-height:100vh;background:var(--night)}
.login-system-header{display:flex;align-items:center;justify-content:center;min-height:84px;padding:14px 24px;border-bottom:1px solid rgba(97,102,91,.55);background:rgba(13,22,17,.98)}
.login-system-header .system-switches a{min-width:155px}
.login-hero{min-height:calc(100svh - 84px);background:var(--night);overflow:visible}
.login-shell{display:grid;place-items:center;width:min(520px,calc(100% - 48px));min-height:calc(100svh - 84px);padding:42px 0;margin:0 auto}
.login-panel{width:100%;padding:32px;background:var(--night-2);backdrop-filter:none}
.login-panel h1{margin:7px 0 30px;font-size:clamp(50px,8vw,95px)}
.audit-controls select option{background:#132119;color:var(--cream)}
.audit-month>summary strong{text-transform:none}

@media (min-width:901px) and (max-width:1500px){
  .app-header{gap:12px}.system-switches{gap:8px}.system-switches a{min-width:100px;padding-inline:9px;font-size:10px}.main-nav{gap:12px}.main-nav a,.main-nav>button,.main-nav form button{font-size:11px;letter-spacing:.05em}.header-user-name{min-width:112px;padding-left:14px}
}
@media (max-width:900px){
  .app-header{grid-template-columns:1fr auto auto auto}.app-header>.system-switches{display:none}.mobile-system-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:18px;border-bottom:1px solid rgba(97,102,91,.55)}.mobile-system-switches a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px;border:1px solid rgba(151,158,84,.42);background:rgba(151,158,84,.13);font-size:15px}.mobile-system-switches a.active{background:var(--olive);color:var(--night)}.main-nav>button,.main-nav form button{display:flex;align-items:center;width:100%;min-height:67px;border-bottom:1px solid rgba(97,102,91,.55);font-size:20px;text-align:left}.main-nav form{width:100%}.nav-separator{width:100%;height:1px;min-height:1px;margin-top:14px}.login-system-header{min-height:70px}.login-hero{min-height:calc(100svh - 70px)}.login-shell{min-height:calc(100svh - 70px);width:calc(100% - 32px);padding:28px 0}.login-panel h1{font-size:clamp(42px,14vw,60px)}
}
@media(max-width:430px){.login-system-header{padding-inline:16px}.login-system-header .system-switches{width:100%;gap:8px}.login-system-header .system-switches a{min-width:0;flex:1;padding-inline:8px}}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Mobiles Hauptmenü zuverlässig oberhalb des Seiteninhalts öffnen. */
@media (max-width:900px){
  .app-header{z-index:90;overflow:visible;isolation:isolate}
  .main-nav{position:absolute;z-index:91;top:100%;right:0;bottom:auto;left:0;max-height:calc(100svh - 84px);opacity:0;pointer-events:none;transform:translateY(-10px);transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s}
  body.menu-open .main-nav{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible;transition-delay:0s}
}
@media (max-width:620px){.main-nav{max-height:calc(100svh - 70px)}}

/* 1.1.0: editierbare Termin-Lightbox und Booking-CRUD */
.secondary-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:stretch}
.new-booking-button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:348px;padding:0 20px;border:1px solid var(--olive);background:var(--olive);color:var(--night);font:500 19px/1 var(--display);letter-spacing:.055em;text-transform:uppercase;cursor:pointer}
.new-booking-button:hover{background:#a3a861}.new-booking-button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.new-booking-button:disabled{border-color:var(--line);background:transparent;color:var(--muted);cursor:not-allowed}
.new-booking-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:2}
.new-template-button{display:flex;align-self:stretch;align-items:center;justify-content:center;min-width:190px;padding:0 18px;border:1px solid #68766d;background:#26382f;color:#d7d7be;font:500 17px/1 var(--display);letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.new-template-button:hover{background:#344a3d}.new-template-button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.new-template-button:disabled{border-color:var(--line);background:transparent;color:var(--muted);cursor:not-allowed}
.booking-template-editor{background:#17271f}.booking-template-editor .editor-hero{background:#20362b}.templates-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px;border:1px solid rgba(124,151,125,.48);background:#17271f}.templates-actions p{margin:0;max-width:700px;color:var(--muted);font:300 15px/1.4 var(--copy)}.template-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--line);background:#101e17}.template-row+ .template-row{margin-top:10px}.template-row small{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.template-row h3{margin:5px 0;color:var(--cream);font:400 22px/1.1 var(--display);letter-spacing:.03em}.template-row p{margin:0;color:var(--muted);font:300 15px/1.35 var(--copy)}.template-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.template-row-actions button{padding:9px 11px;border:1px solid var(--line);background:transparent;color:var(--cream);font:400 13px/1 var(--copy);cursor:pointer}.template-row-actions button:hover{border-color:var(--olive);background:rgba(144,148,83,.13)}.template-row-actions .template-use{border-color:#879963;background:#33442f;color:#f0f0d6}

.event-dialog{width:min(1180px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 32px);overflow:auto}
dialog,dialog *{scrollbar-width:thin;scrollbar-color:var(--olive) #0a1510}dialog::-webkit-scrollbar,dialog *::-webkit-scrollbar{width:10px;height:10px}dialog::-webkit-scrollbar-track,dialog *::-webkit-scrollbar-track{background:#0a1510;border-left:1px solid var(--line)}dialog::-webkit-scrollbar-thumb,dialog *::-webkit-scrollbar-thumb{min-height:44px;border:2px solid #0a1510;background:var(--olive)}dialog::-webkit-scrollbar-thumb:hover,dialog *::-webkit-scrollbar-thumb:hover{background:#b3b878}dialog::-webkit-scrollbar-corner,dialog *::-webkit-scrollbar-corner{background:#0a1510}
.event-dialog .dialog-close-form{position:absolute;top:14px;right:14px;z-index:6;margin:0}
.event-dialog form.booking-editor{position:static;inset:auto;z-index:auto;margin:0}
.booking-editor{min-height:600px;background:var(--night-raised)}
.editor-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:34px 78px 28px 34px;border-bottom:1px solid var(--line);background:#101c15}
.editor-hero p{margin:0 0 8px;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.editor-hero h2{margin:0;font:400 clamp(38px,5vw,58px)/.95 var(--headline);letter-spacing:.025em;text-transform:lowercase}.editor-hero-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 24px}.editor-hero-title time{color:var(--muted);font:300 clamp(27px,3.6vw,46px)/1 var(--copy);letter-spacing:-.025em;text-transform:none;white-space:nowrap}
.editor-status-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 34px 0;border:1px solid var(--line);background:#0b1710;overflow-x:auto}.editor-status-option{--editor-status-color:#83887f;display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:58px;padding:10px 8px;border:0;border-right:1px solid var(--line);border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:400 12px/1.05 var(--display);letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.editor-status-option:last-child{border-right:0}.editor-status-option>span{flex:0 0 auto;width:10px;height:10px;background:var(--editor-status-color)}.editor-status-option:hover{color:var(--cream);background:rgba(255,255,255,.025)}.editor-status-option.active{border-bottom-color:var(--editor-status-color);background:rgba(255,255,255,.045);color:var(--cream)}.editor-status-option.inquiry{--editor-status-color:#9bb8c5}.editor-status-option.offer{--editor-status-color:#d3b979}.editor-status-option.option{--editor-status-color:#74786b}.editor-status-option.confirmed{--editor-status-color:#b6bd80}.editor-status-option.declined,.editor-status-option.cancelled{--editor-status-color:#b59894}
.editor-publication{padding:18px 34px 20px;border-bottom:1px solid var(--line);background:#0d1912}
.editor-publication-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;width:100%}.editor-publication-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 16px;border:1px solid var(--line);background:#0e1913;cursor:pointer;transition:border-color .18s,background .18s}.editor-publication-choice:hover{border-color:var(--olive)}.editor-publication-choice.selected{border-color:var(--olive);background:rgba(144,148,83,.14)}.editor-publication-choice.cancelled.selected{border-color:var(--danger);background:rgba(181,98,92,.12)}
.editor-publication-choice input{flex:0 0 auto;width:23px;height:23px;margin:0;accent-color:var(--olive)}.editor-publication-choice.cancelled input{accent-color:var(--danger)}.editor-publication-choice strong{color:var(--cream);font:400 18px/1.1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.editor-publication-notice{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--olive);background:rgba(144,148,83,.09);color:var(--muted);font:300 14px/1.4 var(--copy)}.editor-publication-notice.cancelled{border-left-color:var(--danger);background:rgba(181,98,92,.08)}.editor-publication-notice[hidden]{display:none}
.editor-cancellation-reason{margin-top:16px}.editor-cancellation-reason[hidden]{display:none}.editor-cancellation-reason label{display:grid;gap:7px}.editor-cancellation-reason label>span{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.editor-cancellation-reason textarea{width:100%;min-height:88px;padding:10px 12px;border:1px solid var(--line);border-radius:0;outline:0;background:#0e1913;color:var(--cream);font:300 16px/1.3 var(--copy);resize:vertical}.editor-cancellation-reason textarea:focus{border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}
.editor-confirm-dialog{width:min(calc(100% - 32px),560px);margin:auto;padding:0;border:1px solid rgba(144,148,83,.58);border-radius:0;background:#101d16;color:var(--cream);box-shadow:0 30px 100px rgba(0,0,0,.72)}.editor-confirm-dialog::backdrop{background:rgba(1,7,4,.82);backdrop-filter:blur(5px)}.editor-confirm-dialog form{margin:0}.editor-confirm-dialog header{display:flex;align-items:center;gap:17px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:#0d1812}.editor-confirm-dialog header>span{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--olive);border-radius:50%;color:var(--olive);font:400 24px/1 var(--display)}.editor-confirm-dialog header small{display:block;margin-bottom:5px;color:var(--olive);font:400 10px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.editor-confirm-dialog h2{margin:0;font:400 28px/1 var(--display);letter-spacing:.025em;text-transform:uppercase}.editor-confirm-dialog>form>p{min-height:72px;margin:0;padding:24px 26px;color:var(--muted);font:300 17px/1.55 var(--copy)}.editor-confirm-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px 22px}.editor-confirm-dialog button{min-height:44px;padding:10px 17px;border:1px solid var(--line);background:transparent;color:var(--cream);font:400 12px/1 var(--display);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.editor-confirm-dialog button:hover,.editor-confirm-dialog button:focus-visible{border-color:var(--olive);outline:0}.editor-confirm-dialog .confirm-action{border-color:var(--olive);background:var(--olive);color:var(--night)}.editor-confirm-dialog.danger{border-color:rgba(181,98,92,.7)}.editor-confirm-dialog.danger header>span{border-color:var(--danger);color:#e0a29d}.editor-confirm-dialog.danger .confirm-action{border-color:var(--danger);background:var(--danger);color:var(--cream)}
.editor-save-state{max-width:330px;color:var(--muted);font-size:13px;text-align:right}.editor-save-state.dirty{color:var(--warning)}.editor-save-state.error{color:var(--danger)}.editor-save-state.success{color:var(--success)}.editor-save-state.working{color:var(--cream)}
.editor-tabs{position:sticky;top:0;z-index:5;display:flex;overflow-x:auto;border-bottom:1px solid var(--line);background:rgba(13,22,17,.98);scrollbar-width:none}
.editor-tabs::-webkit-scrollbar{display:none}
.editor-tabs button{flex:1 0 auto;min-width:130px;padding:18px 16px;border:0;border-right:1px solid rgba(97,102,91,.45);border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:400 13px/1 var(--display);letter-spacing:.075em;text-transform:uppercase;cursor:pointer}
.editor-tabs button:hover{color:var(--cream)}.editor-tabs button.active{border-bottom-color:var(--olive);background:rgba(144,148,83,.11);color:var(--cream)}
.editor-panels{min-height:500px}.editor-panel{padding:32px 34px 42px}.editor-panel[hidden]{display:none}.editor-panel.active{display:block}
.editor-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:24px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.editor-section-heading.compact{margin-top:38px}.editor-section-heading small{display:block;margin-bottom:6px;color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.editor-section-heading h3{margin:0;font:400 31px/1 var(--headline);letter-spacing:.04em;text-transform:lowercase}.editor-section-heading p{max-width:490px;margin:0;color:var(--muted);font-size:14px;font-weight:300;text-align:right}
.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.editor-grid label{display:grid;align-content:start;gap:7px;min-width:0}.editor-grid label>span{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.editor-grid input,.editor-grid select,.editor-grid textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:0;outline:0;background:#0e1913;color:var(--cream);font:300 16px/1.3 var(--copy)}
.editor-link-field .editor-link-input{position:relative}.editor-link-field .editor-link-input input{padding-right:48px}.editor-link-field .editor-link-input a{position:absolute;right:1px;bottom:1px;display:grid;place-items:center;width:42px;height:42px;color:var(--olive);text-decoration:none}.editor-link-field .editor-link-input a:hover,.editor-link-field .editor-link-input a:focus{background:rgba(144,148,83,.16);color:var(--cream);outline:0}.editor-link-field .editor-link-input a.disabled{pointer-events:none;opacity:.32}.editor-link-field .editor-link-input svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.editor-grid label.editor-euro{position:relative}.editor-grid label.editor-euro input{padding-right:42px}.editor-grid label.editor-euro::after{content:"€";position:absolute;top:32px;right:14px;color:var(--muted);font:400 16px/1 var(--copy);pointer-events:none}.editor-grid label.editor-euro>small{margin:0;color:var(--muted);font:300 13px/1.35 var(--copy);letter-spacing:0;text-transform:none}
.editor-finance-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#0b1710}.editor-finance-workflow>div{position:relative;min-height:100px;padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.editor-finance-workflow>div::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:#72776d}.editor-finance-workflow>div.sent::before,.editor-finance-workflow>div.issued::before,.editor-finance-workflow>div.open::before,.editor-finance-workflow>div.partial::before{background:#d3b979}.editor-finance-workflow>div.accepted::before,.editor-finance-workflow>div.paid::before{background:#82b494}.editor-finance-workflow>div.overdue::before,.editor-finance-workflow>div.cancelled::before{background:var(--danger)}.editor-finance-workflow span,.editor-finance-workflow strong,.editor-finance-workflow small{display:block}.editor-finance-workflow span{color:var(--olive);font:400 10px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.editor-finance-workflow strong{margin-top:10px;color:var(--cream);font:400 18px/1.1 var(--display);letter-spacing:.025em;text-transform:uppercase}.editor-finance-workflow small{min-height:14px;margin-top:7px;color:var(--muted);font:300 12px/1.2 var(--copy)}
.editor-grid textarea{resize:vertical}.editor-grid select option{background:#132119}.editor-grid input:focus,.editor-grid select:focus,.editor-grid textarea:focus{border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}
.editor-grid input:invalid:not(:placeholder-shown){border-color:var(--danger)}.editor-wide{grid-column:1/-1}
.hotel-external-search{position:relative;display:grid;gap:7px;padding:16px 18px;border-left:3px solid var(--olive);background:rgba(144,148,83,.09)}.hotel-external-search>label{display:grid;gap:7px}.hotel-external-search>label>span{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.hotel-external-search>small{margin:0;color:var(--muted);font:300 13px/1.35 var(--copy)}.hotel-external-search .hotel-search-attribution{font-size:11px;opacity:.76}.hotel-search-results{z-index:2;display:grid;border:1px solid var(--olive);background:#0d1611;box-shadow:0 12px 24px rgba(0,0,0,.32)}.hotel-search-results[hidden]{display:none}.hotel-search-result{display:grid;gap:4px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--cream);font-family:var(--copy);text-align:left;cursor:pointer}.hotel-search-result:last-child{border-bottom:0}.hotel-search-result:hover,.hotel-search-result:focus{background:rgba(144,148,83,.16);outline:0}.hotel-search-result strong{font:500 16px/1.25 var(--copy)}.hotel-search-result span{color:var(--muted);font:300 13px/1.3 var(--copy)}.hotel-search-message{margin:0;padding:13px 14px;color:var(--muted);font:300 14px/1.4 var(--copy)}.hotel-search-message.error{color:var(--danger)}
.editor-checkbox{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;gap:10px!important;min-height:44px;padding:9px 12px;border:1px solid var(--line);background:rgba(14,25,19,.6)}
.editor-checkbox input{width:18px!important;min-height:18px!important;height:18px;padding:0;accent-color:var(--olive)}.editor-checkbox span{color:var(--cream)!important;font-family:var(--copy)!important;font-size:15px!important;font-weight:300!important;letter-spacing:0!important;text-transform:none!important}
.editor-subsection{margin-top:30px;padding:23px;border:1px solid rgba(97,102,91,.58);background:rgba(14,25,19,.38)}.editor-subsection h4{margin:0 0 20px;color:var(--cream);font:400 20px/1 var(--display);letter-spacing:.045em;text-transform:uppercase}
.editor-days{display:grid;gap:18px}.editor-day{border:1px solid var(--line);background:rgba(14,25,19,.5)}.editor-day>header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid rgba(97,102,91,.55)}.editor-day>header strong{font:400 16px/1 var(--display);letter-spacing:.05em;text-transform:uppercase}.editor-day>header button{width:32px;height:32px;padding:0 0 2px;border:1px solid transparent;background:transparent;color:var(--danger);font:300 27px/1 Arial;cursor:pointer}.editor-day>header button:hover{border-color:var(--danger)}
.editor-day-online{display:flex;align-items:center;gap:12px;cursor:pointer}.editor-day-online input{flex:0 0 auto;width:23px;height:23px;margin:0;accent-color:var(--olive);cursor:pointer}.editor-day-online span{display:block}.editor-day-online small{color:var(--warning);font:400 12px/1 var(--copy);letter-spacing:0;text-transform:none}.editor-day-online small[hidden]{display:none}
.editor-day-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:18px}.editor-add-button{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid var(--olive);background:transparent;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.editor-add-button span{font-size:20px}.editor-add-button:hover{background:rgba(144,148,83,.12);color:var(--cream)}
.editor-set-times{margin:0 18px 18px;border-top:1px solid rgba(97,102,91,.55);padding-top:16px}.editor-set-times>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.editor-set-times>header div{display:grid;gap:4px}.editor-set-times>header small{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.editor-set-times>header strong{font:400 16px/1.2 var(--copy);color:var(--cream)}.editor-set-time{display:grid;grid-template-columns:minmax(180px,1fr) 130px 130px 90px 36px;gap:10px;align-items:end;padding:12px 0;border-top:1px solid rgba(97,102,91,.38)}.editor-set-time label{display:grid;gap:6px}.editor-set-time label span{color:var(--muted);font:400 11px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}.editor-set-time input{box-sizing:border-box;width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);background:#08110c;color:var(--cream);font:400 15px var(--copy)}.editor-set-time output{align-self:center;color:var(--olive);font:400 15px var(--copy);text-align:center}.editor-set-time>button{width:36px;height:36px;margin-bottom:3px;padding:0;border:1px solid var(--danger);background:transparent;color:var(--danger);font:300 25px/1 Arial;cursor:pointer}.editor-day input[readonly]{background:rgba(255,255,255,.04);color:#aeb4aa}
.event-dialog input[type="date"]::-webkit-calendar-picker-indicator,.event-dialog input[type="time"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.92;cursor:pointer}
.editor-calculation{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:14px 18px;border:1px solid var(--line);background:rgba(144,148,83,.1)}.editor-calculation span{color:var(--muted);font-size:14px}.editor-calculation strong{color:var(--olive);font:400 28px/1 var(--display)}
.editor-contract-block{margin-top:18px;padding:24px;border:1px solid rgba(97,102,91,.64);background:rgba(10,21,15,.48)}.editor-contract-block:first-of-type{margin-top:0}.editor-contract-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(97,102,91,.5)}.editor-contract-heading>div{display:flex;align-items:baseline;gap:12px}.editor-contract-heading small{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.1em}.editor-contract-heading h4{margin:0;color:var(--cream);font:400 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}.editor-contract-heading p{margin:0;color:var(--muted);font:300 13px/1.35 var(--copy);text-align:right}.editor-conditional-fields{margin-top:18px;padding-top:18px;border-top:1px solid rgba(97,102,91,.4)}.editor-conditional-fields[hidden],[data-accommodation-allowance][hidden],[data-no-accommodation][hidden],[data-hotel-details][hidden],[data-merchandise-power][hidden]{display:none!important}.editor-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.editor-check{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important;gap:13px!important;min-height:68px;padding:15px;border:1px solid var(--line);background:#0e1913;cursor:pointer}.editor-check:hover{border-color:var(--olive)}.editor-check input{flex:0 0 auto;width:21px!important;height:21px!important;min-height:21px!important;margin:1px 0 0;padding:0!important;accent-color:var(--olive)}.editor-check>span{display:block!important;color:var(--cream)!important;font-family:var(--copy)!important;letter-spacing:0!important;text-transform:none!important}.editor-check strong,.editor-check small{display:block}.editor-check strong{font:400 16px/1.25 var(--copy)}.editor-check small{margin-top:6px;color:var(--muted);font:300 13px/1.35 var(--copy)}.editor-contract-notes{display:grid;gap:7px;margin-top:18px}.editor-contract-notes>span{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.editor-contract-notes textarea{width:100%;min-height:84px;padding:10px 12px;border:1px solid var(--line);border-radius:0;outline:0;background:#0e1913;color:var(--cream);font:300 16px/1.3 var(--copy);resize:vertical}.editor-contract-notes textarea:focus{border-color:var(--olive);box-shadow:0 0 0 1px var(--olive)}.editor-rider-rule{margin-bottom:20px;padding:17px 18px;border-left:3px solid var(--olive);background:rgba(144,148,83,.1)}.editor-rider-rule strong{display:block;color:var(--cream);font:400 16px/1 var(--display);letter-spacing:.045em;text-transform:uppercase}.editor-rider-rule p,.editor-contract-hint{margin:8px 0 0;color:var(--muted);font:300 14px/1.5 var(--copy)}.editor-contract-hint{padding:14px 16px;border-left:3px solid var(--olive);background:rgba(144,148,83,.08)}.editor-contract-total{margin-top:22px;border-color:var(--olive)}
.editor-document-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.editor-document-card{display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);background:rgba(14,25,19,.55)}.editor-document-card.stored{background:#1b2e22}.editor-document-card:hover{border-color:var(--olive);background:rgba(144,148,83,.1)}.editor-document-card.warning:hover{border-color:var(--warning)}.editor-document-actions button{border:0;background:transparent;color:var(--cream);cursor:pointer}.editor-document-main{display:flex;align-items:center;gap:19px;min-width:0;min-height:92px;padding:18px;text-align:left}.editor-document-tools{display:grid;grid-auto-flow:column;grid-auto-columns:82px}.editor-document-upload,.editor-document-manage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:82px;border-left:1px solid var(--line)!important;color:var(--muted)!important;font:500 11px/1 var(--body)!important;text-transform:uppercase}.editor-document-actions svg{flex:0 0 42px;width:42px;height:42px;fill:none;stroke:var(--olive);stroke-width:1.4}.editor-document-upload svg,.editor-document-manage svg{width:24px;height:24px;flex-basis:24px}.editor-document-card.warning svg{stroke:var(--warning)}.editor-document-actions strong,.editor-document-actions small{display:block}.editor-document-actions strong{font:400 19px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}.editor-document-actions small{margin-top:7px;color:var(--muted);font-size:13px}.editor-document-notice{margin:20px 0 0;padding:14px 16px;border-left:2px solid var(--olive);background:rgba(144,148,83,.08);color:var(--muted);font-size:14px}
.editor-document-manage-dialog{width:min(calc(100% - 28px),720px);max-height:calc(100vh - 28px);margin:auto;padding:0;border:1px solid rgba(144,148,83,.72);border-radius:0;background:#101d16;color:var(--cream);box-shadow:0 30px 100px rgba(0,0,0,.75)}.editor-document-manage-dialog::backdrop{background:rgba(1,7,4,.84);backdrop-filter:blur(5px)}.editor-document-manage-dialog form{margin:0}.editor-document-manage-dialog header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;border-bottom:1px solid var(--line)}.editor-document-manage-dialog header small{display:block;margin-bottom:6px;color:var(--olive);font:500 12px/1 var(--body);letter-spacing:.08em}.editor-document-manage-dialog h2{margin:0;font:600 27px/1.15 var(--body);letter-spacing:0}.editor-document-manage-dialog header>button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);font-size:27px;cursor:pointer}.editor-document-manage-body{display:grid;gap:16px;padding:24px 28px}.editor-document-manage-body p{margin:0 0 4px;padding:14px 16px;border-left:2px solid var(--olive);background:rgba(144,148,83,.08)}.editor-document-manage-body p strong,.editor-document-manage-body p span{display:block}.editor-document-manage-body p strong{overflow-wrap:anywhere}.editor-document-manage-body p span{margin-top:6px;color:var(--muted);font-size:13px}.editor-document-manage-body label{display:grid;gap:7px}.editor-document-manage-body label>span{color:var(--olive);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.editor-document-manage-body input,.editor-document-manage-body select{width:100%;border:1px solid var(--line);border-radius:0;background:#0d1812;color:var(--cream);font:400 16px/1.3 var(--body)}.editor-document-manage-body input{min-height:48px;padding:10px 13px}.editor-document-manage-body select{padding:10px}.editor-document-manage-body select[size]{min-height:230px}.editor-document-manage-body option{padding:7px}.editor-document-manage-body output{min-height:20px;color:var(--warning)}.editor-document-manage-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px 24px;border-top:1px solid var(--line)}.editor-document-manage-dialog footer span{display:flex;gap:10px}.editor-document-manage-dialog footer button{min-height:44px;padding:10px 15px;border:1px solid var(--line);background:transparent;color:var(--cream);font:600 13px/1 var(--body);cursor:pointer}.editor-document-manage-dialog .editor-document-reassign{border-color:var(--olive);background:var(--olive);color:var(--night)}.editor-document-manage-dialog .editor-document-unlink{border-color:var(--danger);color:#e0a29d}.editor-document-manage-dialog button:disabled,.editor-document-manage-dialog input:disabled,.editor-document-manage-dialog select:disabled{opacity:.55;cursor:wait}
.editor-footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 34px;padding:27px 0 31px;border-top:1px solid var(--line);background:rgba(13,22,17,.98);box-shadow:0 -12px 28px rgba(0,0,0,.18)}.editor-footer>div{display:flex;gap:10px}.editor-footer button{min-height:42px;padding:10px 16px;border:1px solid var(--line);background:transparent;color:var(--cream);font:400 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.editor-footer button:hover:not(:disabled){border-color:var(--olive)}.editor-footer .editor-primary{border-color:var(--olive);background:var(--olive);color:var(--night)}.editor-footer button:disabled{border-color:var(--line);background:#263129;color:#687068;opacity:.72;cursor:not-allowed}.editor-footer .editor-danger{border-color:rgba(196,119,105,.75);color:var(--danger)}
@media(max-width:820px){.secondary-controls .new-template-button{width:100%;min-width:0;min-height:46px}}

@media(max-width:820px){
  .event-dialog{width:calc(100% - 12px);max-height:calc(100vh - 12px)}.editor-hero{display:block;padding:28px 58px 22px 20px}.editor-hero-title{display:block}.editor-hero-title time{display:block;margin-top:10px;font-size:27px}.editor-save-state{display:block;margin-top:14px;text-align:left}.editor-status-selector{display:flex;margin:16px 18px 0}.editor-status-option{flex:0 0 auto;min-width:116px}.editor-publication{padding:16px 18px}.editor-publication-options{grid-template-columns:1fr}.editor-publication-choice{min-width:0;min-height:54px;padding:11px 13px}.editor-publication-choice strong{font-size:17px}.editor-panel{padding:24px 18px 32px}.editor-section-heading{display:block}.editor-section-heading p{margin-top:12px;text-align:left}.editor-grid,.editor-day-grid,.editor-choice-grid{grid-template-columns:1fr}.editor-wide{grid-column:auto}.editor-finance-workflow{grid-template-columns:1fr}.editor-document-actions{grid-template-columns:1fr}.editor-footer{align-items:stretch;flex-direction:column-reverse;margin:0 18px;padding:21px 0 25px}.editor-footer>div{display:grid;grid-template-columns:1fr 1fr}.editor-footer>div:last-child .editor-primary{grid-column:2}.secondary-controls{grid-template-columns:1fr}.new-booking-button{min-width:0;width:100%;min-height:46px}.editor-tabs button{min-width:112px;padding-inline:12px}.editor-subsection,.editor-contract-block{padding:18px 14px}.editor-contract-heading{display:block}.editor-contract-heading p{margin-top:10px;text-align:left}.editor-set-times{margin-inline:14px}.editor-set-times>header{align-items:stretch;flex-direction:column}.editor-set-times .editor-add-button{justify-content:center}.editor-set-time{grid-template-columns:1fr 1fr 42px}.editor-set-time label:first-of-type{grid-column:1/-1}.editor-set-time output{text-align:left}.editor-set-time>button{grid-column:3;grid-row:2}
  .event-dialog{width:calc(100% - 12px);max-height:calc(100vh - 12px)}.editor-hero{display:block;padding:28px 58px 22px 20px}.editor-hero-title{display:block}.editor-hero-title time{display:block;margin-top:10px;font-size:27px}.editor-save-state{display:block;margin-top:14px;text-align:left}.editor-status-selector{display:flex;margin:16px 18px 0}.editor-status-option{flex:0 0 auto;min-width:116px}.editor-publication{padding:16px 18px}.editor-publication-options{grid-template-columns:1fr}.editor-publication-choice{min-width:0;min-height:54px;padding:11px 13px}.editor-publication-choice strong{font-size:17px}.editor-panel{padding:24px 18px 32px}.editor-section-heading{display:block}.editor-section-heading p{margin-top:12px;text-align:left}.editor-grid,.editor-day-grid,.editor-choice-grid{grid-template-columns:1fr}.editor-wide{grid-column:auto}.editor-finance-workflow{grid-template-columns:1fr}.editor-document-actions{grid-template-columns:1fr}.editor-document-card{grid-template-columns:1fr}.editor-document-tools{grid-auto-columns:1fr;border-top:1px solid var(--line)}.editor-document-upload,.editor-document-manage{width:auto;min-height:58px;border-left:0!important}.editor-document-manage{border-left:1px solid var(--line)!important}.editor-document-manage-dialog footer{align-items:stretch;flex-direction:column}.editor-document-manage-dialog footer>button,.editor-document-manage-dialog footer span,.editor-document-manage-dialog footer span button{width:100%}.editor-footer{align-items:stretch;flex-direction:column-reverse;margin:0 18px;padding:21px 0 25px}.editor-footer>div{display:grid;grid-template-columns:1fr 1fr}.editor-footer>div:last-child .editor-primary{grid-column:2}.secondary-controls{grid-template-columns:1fr}.new-booking-button{min-width:0;width:100%;min-height:46px}.editor-tabs button{min-width:112px;padding-inline:12px}.editor-subsection,.editor-contract-block{padding:18px 14px}.editor-contract-heading{display:block}.editor-contract-heading p{margin-top:10px;text-align:left}.editor-set-times{margin-inline:14px}.editor-set-times>header{align-items:stretch;flex-direction:column}.editor-set-times .editor-add-button{justify-content:center}.editor-set-time{grid-template-columns:1fr 1fr 42px}.editor-set-time label:first-of-type{grid-column:1/-1}.editor-set-time output{text-align:left}.editor-set-time>button{grid-column:3;grid-row:2}
}
.editor-document-card.uploaded{border-color:var(--olive)}

/* Dokumentgenerator */
.document-create-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 0;
  border: 1px solid rgba(159, 167, 92, .48);
  background: #0d1c14;
  color: #f4f3e9;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .72);
}

.document-create-dialog::backdrop {
  background: rgba(0, 5, 3, .78);
  backdrop-filter: blur(4px);
}

.document-create-dialog form { margin: 0; }

.document-create-dialog header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 28px;
  padding: 32px 36px 28px;
  border-bottom: 1px solid rgba(159, 167, 92, .35);
  background: linear-gradient(135deg, rgba(159, 167, 92, .1), transparent 62%);
}

.document-create-dialog header small,
.document-create-dialog label > span {
  display: block;
  margin-bottom: 8px;
  color: #9fa75c;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.document-create-dialog h2 {
  margin: 7px 0 0;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.document-create-dialog .dialog-close {
  position: static;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin: -9px -9px 0 0;
}

.document-event {
  margin: 0;
  padding: 20px 36px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  color: #f4f3e9;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: 21px;
  text-transform: uppercase;
}

.document-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 28px 36px 8px;
}

.document-form-wide { grid-column: 1 / -1; }

.document-create-dialog input {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(220, 223, 206, .34);
  border-radius: 0;
  outline: 0;
  background: #09160f;
  color: #fff;
  font: inherit;
}

.document-create-dialog input:focus {
  border-color: #b7c263;
  box-shadow: inset 3px 0 0 #b7c263;
}

.document-create-dialog input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(2);
  opacity: .95;
  cursor: pointer;
}

.document-source-note {
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 18px;
  margin: 20px 36px 0;
  padding: 16px 18px;
  border-left: 3px solid #9fa75c;
  background: rgba(255, 255, 255, .045);
  color: rgba(244, 243, 233, .76);
  font-size: 14px;
  line-height: 1.45;
}

.document-source-note strong {
  color: #f4f3e9;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.document-workflow {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(240px, 1.4fr) auto;
  align-items: end;
  gap: 14px;
  margin: 18px 36px 0;
  padding: 17px 18px;
  border: 1px solid rgba(159,167,92,.35);
  background: #1b2e22;
}
.document-workflow[hidden]{display:none}
.document-workflow small,.document-workflow strong{display:block}.document-workflow small{margin-bottom:7px;color:rgba(244,243,233,.58);font-size:12px}.document-workflow strong{font:400 17px/1.15 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase}.document-workflow label>span{margin-bottom:7px}.document-workflow select{width:100%;min-height:46px;padding:0 38px 0 13px;border:1px solid rgba(220,223,206,.34);border-radius:0;outline:0;background:#09160f;color:#fff;font:300 15px/1 "Asap Condensed","Arial Narrow",sans-serif}.document-workflow button{min-height:46px;padding:0 17px;border:1px solid #9fa75c;background:transparent;color:#f4f3e9;font:400 13px/1 "Oswald","Arial Narrow",sans-serif;letter-spacing:.045em;text-transform:uppercase;cursor:pointer}.document-workflow button:hover:not(:disabled){background:#9fa75c;color:#08120d}.document-workflow button:disabled{opacity:.38;cursor:not-allowed}

.document-invoice-revision{display:grid;gap:15px;margin:18px 36px 0;padding:18px;border:1px solid rgba(196,119,105,.52);background:rgba(123,46,37,.09)}.document-invoice-revision[hidden]{display:none}.document-invoice-revision>div>small,.document-invoice-revision>div>strong{display:block}.document-invoice-revision>div>small{color:#df8b7c;font-size:12px}.document-invoice-revision>div>strong{margin-top:5px;font:400 18px/1.2 "Oswald","Arial Narrow",sans-serif;text-transform:uppercase}.document-invoice-revision textarea{width:100%;min-height:76px;padding:12px 14px;border:1px solid rgba(220,223,206,.34);border-radius:0;outline:0;background:#09160f;color:#fff;font:300 15px/1.35 "Asap Condensed","Arial Narrow",sans-serif;resize:vertical}.document-invoice-revision textarea:focus{border-color:#df8b7c}.document-invoice-revision-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.document-invoice-revision-actions button{min-height:48px;padding:10px 14px;border:1px solid #df8b7c;background:transparent;color:#f4f3e9;font:400 13px/1.15 "Oswald","Arial Narrow",sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.document-invoice-revision-actions button:hover:not(:disabled){background:#df8b7c;color:#08120d}.document-invoice-revision-actions button:disabled{opacity:.38;cursor:not-allowed}

.document-dialog-status {
  min-height: 24px;
  margin: 18px 36px 0;
  color: rgba(244, 243, 233, .64);
  font-size: 14px;
}

.document-dialog-status.success { color: #b7c968; }
.document-dialog-status.error { color: #e17b68; }

.document-create-dialog footer {
  display: grid;
  gap: 14px;
  padding: 24px 36px 32px;
  border-top: 1px solid rgba(220, 223, 206, .14);
}

.document-secondary-actions,
.document-primary-actions {
  display: grid;
  gap: 10px;
}

.document-secondary-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.document-primary-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.document-create-dialog footer svg {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.document-create-dialog footer button,
.document-create-dialog footer a {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(220, 223, 206, .32);
  background: transparent;
  color: #f4f3e9;
  font-family: "Oswald", "Arial Narrow", sans-serif;
  font-size: 14px;
  letter-spacing: .045em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: left;
}

.document-create-dialog footer strong,
.document-create-dialog footer small { display: block; }
.document-create-dialog footer strong { font: 400 15px/1.1 "Oswald", "Arial Narrow", sans-serif; }
.document-create-dialog footer small { margin-top: 4px; color: rgba(244,243,233,.58); font: 300 11px/1.25 "Asap Condensed", "Arial Narrow", sans-serif; letter-spacing: 0; text-transform: none; }
.document-create-dialog footer button:hover:not(:disabled),
.document-create-dialog footer a:hover { border-color: #b7c263; background: rgba(159,167,92,.08); }
.document-create-dialog footer button:disabled { opacity: .32; cursor: not-allowed; }
.document-create-dialog footer .document-store { border-color: #9fa75c; background: rgba(159,167,92,.1); }
.document-create-dialog footer .document-download { border-color: rgba(159,167,92,.58); }
.document-create-dialog footer .document-rider-download { border-color: rgba(159, 167, 92, .58); }
.document-create-dialog footer .document-send { border-color: #b7c263; background: #9fa75c; color: #08120d; }
.document-create-dialog footer .document-send small { color: rgba(8,18,13,.7); }
.document-create-dialog footer .document-send:hover:not(:disabled) { border-color: #fff; background: #fff; color: #08120d; }

@media (max-width: 760px) {
  .document-create-dialog header,
  .document-event,
  .document-form-grid,
  .document-create-dialog footer { padding-left: 22px; padding-right: 22px; }
  .document-form-grid { grid-template-columns: 1fr; }
  .document-form-wide { grid-column: auto; }
  .document-source-note { grid-template-columns: 1fr; margin-left: 22px; margin-right: 22px; }
  .document-workflow { grid-template-columns: 1fr; margin-left:22px; margin-right:22px; }
  .document-invoice-revision{margin-left:22px;margin-right:22px}.document-invoice-revision-actions{grid-template-columns:1fr}
  .document-dialog-status { margin-left: 22px; margin-right: 22px; }
  .document-secondary-actions { grid-template-columns: 1fr 1fr; }
  .document-primary-actions { grid-template-columns: 1fr; }
}
.editor-setlist-days{display:grid;gap:12px}.editor-setlist-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #b7bcaf;border-left:5px solid #a80f25;border-radius:5px;background:#f7f7f2;color:#172019;text-decoration:none}.editor-setlist-link span{display:grid;gap:3px}.editor-setlist-link small{font-family:Oswald,sans-serif;text-transform:uppercase;color:#687169}.editor-setlist-link strong{font-size:19px}.editor-setlist-link b{color:#a80f25}.editor-setlist-link.disabled{opacity:.55;border-left-color:#93988f}.editor-setlist-link.disabled b{color:#687169}
.editor-document-metadata{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:14px}
@media(max-width:620px){.editor-document-metadata{grid-template-columns:1fr}}
/* Display-only fallback for inquiries without a performance date. */
.event-date.inquiry-date-fallback,
.event-date.inquiry-date-fallback strong,
.event-date.inquiry-date-fallback span { color: #e3b36c; }
.event-date.inquiry-date-fallback small { display: block; font-size: 10px; line-height: 1.2; margin-top: 5px; }

/* Scrollbars im dunklen Cobblestones-Seitenstil. */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--olive) #101b14;
}
*::-webkit-scrollbar { width: 11px; height: 11px; }
*::-webkit-scrollbar-track {
  background: #101b14;
  border-left: 1px solid rgba(97,102,91,.45);
}
*::-webkit-scrollbar-thumb {
  min-height: 42px;
  border: 2px solid #101b14;
  border-radius: 0;
  background: #777d4a;
}
*::-webkit-scrollbar-thumb:hover { background: #989e5b; }
*::-webkit-scrollbar-corner { background: #101b14; }
*::-webkit-scrollbar-button { display: none; width: 0; height: 0; }

/* Kompaktes Hauptmenü: sechs gleichwertige Bereiche mit Dropdowns. */
.app-header a.avatar{display:grid;place-items:center;text-decoration:none}
.main-nav{gap:clamp(12px,1.25vw,24px)}
.nav-group{position:relative;display:flex;align-items:center}
.nav-group>.nav-primary{padding-right:18px}
.nav-group.active>.nav-primary{color:var(--cream)}
.nav-group.active>.nav-primary::after{content:"";position:absolute;right:18px;bottom:1px;left:0;height:1px;background:var(--olive)}
.nav-dropdown-toggle{position:absolute;right:-3px;width:20px;height:34px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.nav-dropdown-toggle span{display:block;width:7px;height:7px;margin:auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.nav-group.open .nav-dropdown-toggle span{transform:translateY(2px) rotate(225deg)}
.nav-dropdown{position:absolute;z-index:100;top:calc(100% + 1px);left:-16px;display:grid;min-width:230px;padding:10px;border:1px solid rgba(97,102,91,.75);background:#111e17;box-shadow:0 18px 35px rgba(0,0,0,.42);opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-5px);transition:opacity .16s,transform .16s,visibility 0s linear .16s}
.nav-group:nth-last-child(-n+2) .nav-dropdown{right:-12px;left:auto}
.nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown,.nav-group.open>.nav-dropdown{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0);transition-delay:0s}
.main-nav .nav-dropdown>a,.main-nav .nav-dropdown form button{display:flex;align-items:center;min-height:42px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--muted);font:400 13px/1.15 var(--display);letter-spacing:.055em;text-align:left;text-transform:uppercase}
.main-nav .nav-dropdown>a:hover,.main-nav .nav-dropdown>a:focus-visible,.main-nav .nav-dropdown form button:hover,.main-nav .nav-dropdown form button:focus-visible{background:rgba(144,148,83,.14);color:var(--cream);outline:0}
.main-nav .nav-dropdown>a::after{display:none}
.nav-dropdown .header-logout{width:100%}
.dropdown-separator{display:block;height:1px;margin:8px 8px;background:rgba(97,102,91,.65)}
@media (min-width:901px) and (max-width:1150px){.header-user-name{display:none}.app-header{grid-template-columns:max-content auto minmax(0,1fr) auto}.main-nav{gap:9px}.nav-group>.nav-primary{padding-right:14px}.nav-dropdown-toggle{width:16px}.system-switches a{min-width:88px;padding-inline:7px}}
@media (max-width:900px){
  .nav-group{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 54px}
  .nav-group>.nav-primary{display:flex;grid-column:1;grid-row:1;align-items:center;min-height:60px;padding:12px 0;border-bottom:1px solid rgba(97,102,91,.55);font-size:19px}
  .nav-group.active>.nav-primary::after{display:none}
  .nav-dropdown-toggle{position:static;display:grid;grid-column:2;grid-row:1;place-items:center;width:54px;height:60px;border-bottom:1px solid rgba(97,102,91,.55);color:var(--olive)}
  .nav-dropdown-toggle span{width:9px;height:9px}
  .nav-dropdown{position:static;grid-column:1/-1;display:none;min-width:0;padding:5px 0 10px 18px;border:0;border-bottom:1px solid rgba(97,102,91,.55);background:rgba(144,148,83,.07);box-shadow:none;opacity:1;pointer-events:auto;visibility:visible;transform:none;transition:none}
  .nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown{display:none}
  .nav-group.open>.nav-dropdown{display:grid}
.main-nav .nav-dropdown>a,.main-nav .nav-dropdown form button{min-height:48px;padding:9px 14px;border-bottom:0;font-size:16px}
  .dropdown-separator{margin:5px 14px}
}

/* Bookings: Inhaltsraster bleibt unabhängig von optionalen Aktionsbuttons ausgerichtet. */
.booking-pipeline-entry{grid-template-columns:minmax(0,1fr) 108px}
.booking-pipeline-row{justify-items:stretch;text-align:left}
.booking-pipeline-row>.workspace-row-primary,.booking-pipeline-row>.workspace-status,.booking-pipeline-row>.workspace-task{width:100%;justify-self:stretch;text-align:left}
.booking-pipeline-row>.workspace-status{width:calc(100% - 76px);transform:translateX(76px)}
.booking-pipeline-row>.workspace-task{width:calc(100% - 30px);transform:translateX(30px)}
@media(max-width:650px){.booking-pipeline-row>.workspace-status,.booking-pipeline-row>.workspace-task{width:100%;transform:none}}

/* Nachrichtenvorschau: Auge für gespeicherten Text, blauer Brief für Original-E-Mail. */
.booking-overview-view-message{border:1px solid rgba(151,155,82,.68);color:var(--olive)}
.booking-overview-view-message:hover{border-color:var(--olive);background:rgba(151,155,82,.12);color:var(--cream)}
.booking-overview-view-mail,.event-mail-button{border-color:rgba(155,184,197,.8);color:#9bb8c5}
.booking-overview-view-mail:hover,.event-mail-button:hover{border-color:#9bb8c5;background:rgba(155,184,197,.14);color:#c7dbe4}
.booking-overview-view-note,.event-note-button{border:1px solid rgba(151,155,82,.68);color:var(--olive)}
.booking-overview-view-note:hover,.event-note-button:hover{border-color:var(--olive);background:rgba(151,155,82,.12);color:var(--cream)}
