/* Innovity Bookings - Gestaltung nach Kapitel 10, Farbschema Nachtbühne */

.inb-root {
	--inb-radius: 5px;
	--inb-gap: 22px;
	--inb-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--inb-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--inb-data: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, monospace;
	--inb-line: rgba(244, 242, 237, 0.14);
	--inb-muted: rgba(244, 242, 237, 0.72);
	background: var(--inb-ink);
	color: var(--inb-paper);
	font-family: var(--inb-body);
	font-size: 16px;
	line-height: 1.55;
}

.inb-root * { box-sizing: border-box; }
.inb-root a { color: inherit; }
.inb-root :focus-visible { outline: 3px solid var(--inb-ramp); outline-offset: 2px; }
.inb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Signaturelement: der Tourstreifen */
.inb-strip {
	background: var(--inb-surface);
	color: var(--inb-paper);
	overflow: hidden;
	border-bottom: 2px solid var(--inb-ramp);
}
.inb-strip__track {
	display: flex;
	gap: 40px;
	padding: 10px 16px;
	white-space: nowrap;
	font-family: var(--inb-data);
	font-size: 12px;
	letter-spacing: 0.06em;
	animation: inb-marquee 45s linear infinite;
}
.inb-strip__item b { color: var(--inb-ramp); font-weight: 600; }
.inb-strip:hover .inb-strip__track { animation-play-state: paused; }
@keyframes inb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.inb-strip__track { animation: none; overflow-x: auto; }
}

/* Kopf und Navigation */
.inb-head { padding: 44px 24px 20px; max-width: 1280px; margin: 0 auto; }
.inb-eyebrow {
	font-family: var(--inb-data);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--inb-ramp);
	margin: 0 0 10px;
}
.inb-display {
	font-family: var(--inb-display);
	font-weight: 800;
	font-size: clamp(34px, 6.4vw, 76px);
	line-height: 0.94;
	letter-spacing: -0.025em;
	text-transform: uppercase;
	margin: 0;
}

.inb-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	border-bottom: 1px solid var(--inb-line);
}
.inb-nav button {
	background: none;
	border: 0;
	border-bottom: 3px solid transparent;
	padding: 12px 14px;
	font: inherit;
	font-size: 14px;
	color: var(--inb-muted);
	cursor: pointer;
}
.inb-nav button[aria-current="true"] { border-bottom-color: var(--inb-ramp); color: var(--inb-paper); font-weight: 600; }

.inb-main { max-width: 1280px; margin: 0 auto; padding: 24px; }
.inb-foot {
	max-width: 1280px;
	margin: 56px auto 0;
	padding: 20px 24px 40px;
	border-top: 1px solid var(--inb-line);
	font-family: var(--inb-data);
	font-size: 11px;
	letter-spacing: 0.06em;
	color: var(--inb-dust);
}

/* Startseite */
.inb-area-home .inb-main { padding: 0; max-width: none; }
.inb-topbar {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	max-width: 1280px;
	margin: 0 auto;
	padding: 16px 24px;
	border-bottom: 1px solid var(--inb-line);
}
.inb-logo {
	font-family: var(--inb-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 19px;
	margin-right: auto;
}
.inb-topbar a { font-size: 14px; color: var(--inb-muted); text-decoration: none; }
.inb-topbar a:hover { color: var(--inb-paper); }

.inb-hero { padding: 64px 24px 40px; max-width: 1280px; margin: 0 auto; }
.inb-hero__claim {
	font-family: var(--inb-display);
	font-weight: 800;
	font-size: clamp(40px, 8.4vw, 104px);
	line-height: 0.9;
	letter-spacing: -0.035em;
	text-transform: uppercase;
	margin: 0 0 18px;
	max-width: 15ch;
}
.inb-hero__lead { font-size: 18px; line-height: 1.55; color: var(--inb-muted); max-width: 52ch; margin: 0 0 26px; }
.inb-hero__actions { display: flex; gap: 10px; flex-wrap: wrap; }

.inb-section { max-width: 1280px; margin: 0 auto; padding: 40px 24px; }
.inb-section h2 {
	font-family: var(--inb-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: clamp(22px, 3vw, 34px);
	letter-spacing: -0.02em;
	margin: 0 0 4px;
}
.inb-lead { color: var(--inb-dust); margin: 0 0 20px; }

.inb-tiles { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.inb-tile {
	display: block;
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-radius: var(--inb-radius);
	padding: 20px 18px;
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.inb-tile:hover { border-color: var(--inb-ramp); transform: translateY(-2px); }
.inb-tile b { display: block; font-family: var(--inb-display); font-weight: 700; text-transform: uppercase; font-size: 18px; line-height: 1.1; }
.inb-tile span { font-family: var(--inb-data); font-size: 11px; color: var(--inb-dust); letter-spacing: 0.08em; }

.inb-steps { counter-reset: inb-step; display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); padding: 0; margin: 0; }
.inb-steps li { list-style: none; border-top: 2px solid var(--inb-ramp); padding-top: 12px; }
.inb-steps li::before { counter-increment: inb-step; content: counter( inb-step, decimal-leading-zero ); display: block; font-family: var(--inb-data); font-size: 12px; color: var(--inb-ramp); margin-bottom: 6px; }
.inb-steps b { display: block; margin-bottom: 4px; }
.inb-steps p { margin: 0; color: var(--inb-muted); font-size: 14px; }

.inb-refs { display: flex; flex-wrap: wrap; gap: 8px; }
.inb-refs span {
	font-family: var(--inb-data);
	font-size: 12px;
	letter-spacing: 0.06em;
	border: 1px solid var(--inb-line);
	border-radius: 999px;
	padding: 6px 14px;
	color: var(--inb-muted);
}

.inb-cta {
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-left: 5px solid var(--inb-ramp);
	border-radius: var(--inb-radius);
	padding: 28px 24px;
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.inb-cta h2 { margin: 0 0 4px; }

/* Karten */
.inb-grid { display: grid; gap: var(--inb-gap); grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.inb-card {
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-radius: var(--inb-radius);
	padding: 16px;
	transition: border-color 0.15s ease;
}
.inb-card:hover { border-color: rgba(255, 194, 74, 0.55); }
.inb-card h3 { font-family: var(--inb-display); font-weight: 700; text-transform: uppercase; margin: 0 0 6px; font-size: 21px; line-height: 1.05; }
.inb-card p { margin: 0 0 8px; }
.inb-card__meta { font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.06em; color: var(--inb-dust); }
.inb-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--inb-radius); margin-bottom: 12px; display: block; }
/* Kachel ohne Foto: typografische Fläche statt Platzhalterbild */
.inb-card__type {
	aspect-ratio: 4 / 3;
	border-radius: var(--inb-radius);
	margin-bottom: 12px;
	display: flex;
	align-items: flex-end;
	padding: 14px;
	background: linear-gradient( 140deg, rgba(255, 194, 74, 0.18), rgba(255, 77, 109, 0.14) );
	font-family: var(--inb-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 22px;
	line-height: 0.95;
	color: var(--inb-paper);
}

/* Ticketkante */
.inb-ticket {
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-left: 5px solid var(--inb-dust);
	border-radius: var(--inb-radius);
	padding: 14px 16px 14px 20px;
	margin-bottom: 10px;
}
.inb-ticket--option { border-left-color: var(--inb-ramp); }
.inb-ticket--confirmed { border-left-color: var(--inb-fog); }
.inb-ticket--cancelled, .inb-ticket--expired { border-left-color: var(--inb-signal); }
.inb-ticket--done { border-left-color: var(--inb-paper); }
.inb-ticket__date { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.06em; color: var(--inb-ramp); margin: 0; }
.inb-ticket__name { font-family: var(--inb-display); font-weight: 700; text-transform: uppercase; font-size: 20px; line-height: 1.05; margin: 4px 0; }

/* Statusmarken, nie nur über Farbe */
.inb-status {
	display: inline-flex;
	align-items: center;
	font-family: var(--inb-data);
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	border: 1px solid currentColor;
	border-radius: 999px;
	padding: 2px 10px;
}
.inb-status--new, .inb-status--open { color: var(--inb-dust); }
.inb-status--option { color: var(--inb-ramp); }
.inb-status--confirmed { color: var(--inb-fog); }
.inb-status--cancelled, .inb-status--expired, .inb-status--overdue { color: var(--inb-signal); }
.inb-status--done { color: var(--inb-paper); }
/* Backstage: externe Konten außerhalb des Rosters, Plan Pro */
.inb-status--external { color: var(--inb-dust); border-style: dashed; }
.inb-status--pro { color: var(--inb-ramp); }
.inb-register__apply { margin-top: 18px; }

/* Kennzahlen */
.inb-kpis { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); margin-bottom: 32px; }
.inb-kpi { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 16px; }
.inb-kpi b { display: block; font-family: var(--inb-display); font-weight: 800; font-size: 38px; line-height: 1; }
.inb-kpi span { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); }
.inb-kpi--alert b { color: var(--inb-ramp); }

/* Tabellen */
.inb-table { width: 100%; border-collapse: collapse; }
.inb-table th, .inb-table td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--inb-line); vertical-align: top; }
.inb-table th { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); }
.inb-table td.inb-num, .inb-table th.inb-num { text-align: right; font-family: var(--inb-data); }
.inb-table tr:hover td { background: rgba(255, 194, 74, 0.07); }

/* Formulare (1.0.1: ein Rastersystem für alle Bereiche).
   Ein Formular ist ein Raster mit 16px Abstand. Eine Zeile (.inb-row) ist ein Raster mit gleich breiten
   Spalten, oben ausgerichtet. Ein Feld ist ein <label> mit drei Zeilen: Beschriftung, Eingabe, Hilfetext.
   Der Hilfetext liegt in der dritten Zeile des Labels und kann das Nachbarfeld nie verschieben. */
.inb-form { display: grid; gap: 16px; max-width: 680px; }
.inb-form label {
	display: grid;
	grid-template-rows: auto auto;
	grid-auto-rows: auto;
	gap: 6px;
	align-content: start;
	min-width: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--inb-muted);
}
.inb-form input, .inb-form select, .inb-form textarea {
	font: inherit;
	font-size: 15px;
	line-height: 1.3;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--inb-line);
	border-radius: var(--inb-radius);
	background: var(--inb-surface);
	color: var(--inb-paper);
	width: 100%;
	min-width: 0;
}
.inb-form input[type="file"] { height: auto; min-height: 40px; padding: 7px 12px; }
.inb-form input[type="color"] { padding: 4px; cursor: pointer; }
.inb-form input[type="checkbox"], .inb-form input[type="radio"] { width: auto; height: auto; padding: 0; margin: 0; }
.inb-form input::placeholder, .inb-form textarea::placeholder { color: rgba(244, 242, 237, 0.4); }
.inb-form textarea { height: auto; min-height: 96px; padding: 9px 12px; line-height: 1.5; resize: vertical; }
/* Zeilen: gleich breite Spalten, oben ausgerichtet. --1 bis --4 legen die Spaltenzahl fest, damit
   Zeilen mit zwei und mit drei Feldern zueinander passen; ohne Modifikator füllt auto-fit auf. */
.inb-row { display: grid; gap: 16px 20px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: start; }
.inb-row--1 { grid-template-columns: minmax(0, 1fr); }
.inb-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inb-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inb-row--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inb-row > .inb-span { grid-column: 1 / -1; }
.inb-row > .inb-check { padding-top: 26px; min-height: 66px; }
.inb-row--switches > .inb-check, .inb-row--checks > .inb-check { padding-top: 0; min-height: 0; }
/* Reiter innerhalb eines Formulars (Fiche artiste): jeder Reiter ist selbst ein Raster mit 16px Abstand. */
.inb-form > .inb-tabpanel { display: grid; gap: 16px; }
/* Ankreuzlisten: kein Rahmen, Legende wie eine Zwischenüberschrift, Einträge umbrechend mit 10px Abstand. */
.inb-form fieldset { display: flex; flex-wrap: wrap; gap: 10px 16px; border: 0; padding: 0; margin: 12px 0 0; min-width: 0; }
.inb-form fieldset > .inb-help, .inb-form fieldset > input[type="search"], .inb-form fieldset > .inb-checklist { flex: 1 1 100%; }
.inb-form .inb-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0; min-height: 28px; font-size: 14px; font-weight: 400; color: var(--inb-paper); }
.inb-form .inb-inline input { flex: 0 0 auto; }
/* Kästchen mit Text und optionalem Hilfetext: Kästchen links, Text rechts, Hilfe darunter in der Textspalte.
   Steht das Kästchen in einer Zeile neben beschrifteten Feldern, sitzt es auf Höhe der Eingabefelder. */
.inb-form .inb-check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: start; align-content: center; min-height: 40px; margin: 0; font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--inb-paper); }
.inb-form .inb-check input { grid-column: 1; grid-row: 1; margin-top: 3px; }
.inb-form .inb-check .inb-help { grid-column: 2; }
@media (max-width: 1099px) {
	.inb-row--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.inb-row--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
	.inb-row, .inb-row--2, .inb-row--3, .inb-row--4 { grid-template-columns: minmax(0, 1fr); }
	.inb-row > .inb-check { padding-top: 0; min-height: 0; }
}

.inb-btn {
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid var(--inb-ramp);
	border-radius: var(--inb-radius);
	padding: 12px 22px;
	background: var(--inb-ramp);
	color: var(--inb-ink);
	text-decoration: none;
	display: inline-block;
}
.inb-btn--quiet { background: transparent; color: var(--inb-paper); border-color: var(--inb-line); }
.inb-btn--danger { background: var(--inb-signal); border-color: var(--inb-signal); color: #fff; }
.inb-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.inb-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 18px; }
.inb-toolbar input[type="search"] {
	font: inherit;
	padding: 9px 13px;
	border-radius: 999px;
	border: 1px solid var(--inb-line);
	background: var(--inb-surface);
	color: var(--inb-paper);
	min-width: 220px;
}
.inb-chip {
	font: inherit;
	font-size: 13px;
	cursor: pointer;
	border: 1px solid var(--inb-line);
	background: transparent;
	color: var(--inb-muted);
	border-radius: 999px;
	padding: 7px 15px;
}
.inb-chip[aria-pressed="true"] { background: var(--inb-signal); border-color: var(--inb-signal); color: #fff; }

/* Rückmeldungen und Zustände */
.inb-note { border-left: 4px solid var(--inb-fog); background: rgba(108, 139, 255, 0.12); padding: 12px 14px; border-radius: var(--inb-radius); margin-bottom: 16px; }
.inb-note--error { border-left-color: var(--inb-signal); background: rgba(255, 77, 109, 0.12); }
.inb-empty { border: 1px dashed var(--inb-line); border-radius: var(--inb-radius); padding: 30px; text-align: center; }
.inb-empty p { margin: 0 0 14px; color: var(--inb-dust); }
.inb-loading { font-family: var(--inb-data); color: var(--inb-dust); }
.inb-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	background: var(--inb-ramp);
	color: var(--inb-ink);
	padding: 12px 20px;
	border-radius: var(--inb-radius);
	font-family: var(--inb-data);
	font-size: 14px;
	font-weight: 600;
	z-index: 9999;
}

@media (max-width: 640px) {
	.inb-head { padding: 30px 16px 14px; }
	.inb-hero { padding: 40px 16px 28px; }
	.inb-main, .inb-nav, .inb-section, .inb-topbar, .inb-foot { padding-left: 16px; padding-right: 16px; }
	.inb-hero__lead { font-size: 16px; }
}

@media print {
	.inb-strip, .inb-nav, .inb-toolbar, .inb-btn, .inb-topbar { display: none; }
	.inb-root { background: #fff; color: #000; }
}

/* Eigener Rahmen: Kopfleiste und Fuß */
body.inb-body { margin: 0; background: var(--inb-ink); }
body.inb-body #wpadminbar { position: fixed; }

.inb-masthead {
	position: sticky;
	top: 0;
	z-index: 500;
	background: rgba(15, 14, 23, 0.82);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--inb-line);
}
.admin-bar .inb-masthead { top: 32px; }
.inb-masthead__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	gap: 24px;
}

.inb-brand { display: flex; align-items: center; gap: 8px; margin-right: auto; text-decoration: none; }
.inb-brand img { max-height: 38px; width: auto; display: block; }
.inb-brand__name {
	font-family: var(--inb-display);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	font-size: 22px;
	line-height: 1;
}
.inb-brand__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--inb-ramp); display: block; }

.inb-menu { display: flex; align-items: center; gap: 22px; }
.inb-menu > a { font-size: 14px; color: var(--inb-muted); text-decoration: none; }
.inb-menu > a:hover { color: var(--inb-paper); }
.inb-menu .inb-btn { text-decoration: none; }
.inb-menu__area { font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--inb-ramp); }
.inb-btn--sm { font-size: 13px; padding: 8px 16px; }

/* Rubriken als Aufklapper, ohne JavaScript */
.inb-drop { position: relative; }
.inb-drop > summary {
	list-style: none;
	cursor: pointer;
	font-size: 14px;
	color: var(--inb-muted);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.inb-drop > summary::-webkit-details-marker { display: none; }
.inb-drop > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.inb-drop[open] > summary { color: var(--inb-paper); }
.inb-drop__panel {
	position: absolute;
	top: calc(100% + 14px);
	left: -14px;
	min-width: 280px;
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-radius: var(--inb-radius);
	padding: 8px;
	display: grid;
	gap: 2px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}
.inb-drop__panel a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	padding: 10px 12px;
	border-radius: 4px;
	text-decoration: none;
	color: var(--inb-paper);
}
.inb-drop__panel a:hover { background: rgba(255, 194, 74, 0.12); }
.inb-drop__panel b { font-family: var(--inb-display); font-weight: 700; text-transform: uppercase; font-size: 15px; }
.inb-drop__panel span { font-family: var(--inb-data); font-size: 11px; color: var(--inb-dust); }

/* Mobiles Menü */
.inb-burger { display: none; position: relative; }
.inb-burger > summary { list-style: none; cursor: pointer; display: grid; gap: 5px; padding: 6px 2px; }
.inb-burger > summary::-webkit-details-marker { display: none; }
.inb-burger > summary span { display: block; width: 24px; height: 2px; background: var(--inb-paper); }
.inb-burger__panel {
	position: absolute;
	right: 0;
	top: calc(100% + 14px);
	min-width: 220px;
	background: var(--inb-surface);
	border: 1px solid var(--inb-line);
	border-radius: var(--inb-radius);
	padding: 10px;
	display: grid;
	gap: 4px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
}
.inb-burger__panel a { padding: 9px 10px; text-decoration: none; color: var(--inb-paper); font-size: 15px; }
.inb-burger__panel .inb-btn { text-align: center; margin-top: 4px; }

@media (max-width: 860px) {
	.inb-menu { display: none; }
	.inb-area-admin .inb-menu, .inb-area-artist .inb-menu, .inb-area-client .inb-menu, .inb-area-account .inb-menu { display: flex; gap: 14px; }
	.inb-burger { display: block; }
	.inb-masthead__inner { padding: 12px 16px; }
}

/* Fuß */
.inb-foot__cols {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	font-family: var(--inb-body);
	font-size: 14px;
	letter-spacing: 0;
}
.inb-foot__cols p { margin: 0 0 6px; }
.inb-foot__cols a { color: var(--inb-muted); text-decoration: none; }
.inb-foot__cols a:hover { color: var(--inb-paper); }
.inb-foot__brand { font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: 18px; }
.inb-foot__legal { font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.06em; color: var(--inb-dust); }

/* Aufmacher etwas kompakter unter der Kopfleiste */
.inb-area-home .inb-hero { padding-top: 72px; }

/* Sprachumschalter, Profil, Kleinigkeiten */
.inb-drop--lang > summary { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.1em; }
.inb-drop--lang .inb-drop__panel { min-width: 190px; left: auto; right: -10px; }
.inb-drop__panel a[aria-current="true"] { background: rgba(255, 194, 74, 0.16); }
.inb-burger__langs { display: flex; gap: 12px; margin: 8px 0 0; padding: 8px 10px 0; border-top: 1px solid var(--inb-line); font-family: var(--inb-data); font-size: 12px; }
.inb-burger__langs a { padding: 0; }

.inb-card__bio { font-size: 14px; color: var(--inb-muted); }
.inb-card h3 a { text-decoration: none; }
.inb-mini { font-size: 12px; text-decoration: underline; cursor: pointer; color: var(--inb-ramp); }

.inb-profile { display: grid; gap: 32px; grid-template-columns: minmax(260px, 420px) 1fr; align-items: start; }
.inb-profile__media img { width: 100%; border-radius: var(--inb-radius); display: block; }
.inb-profile__type {
	aspect-ratio: 3 / 4;
	border-radius: var(--inb-radius);
	display: flex;
	align-items: flex-end;
	padding: 20px;
	background: linear-gradient( 140deg, rgba(255, 194, 74, 0.2), rgba(255, 77, 109, 0.16) );
	font-family: var(--inb-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 30px;
	line-height: 0.95;
}
.inb-profile__name { font-size: clamp(30px, 5vw, 58px); margin-bottom: 16px; }
.inb-profile__bio { font-size: 17px; line-height: 1.6; color: var(--inb-muted); margin-bottom: 24px; white-space: pre-line; }
.inb-facts { display: grid; gap: 10px; margin: 0 0 26px; }
.inb-facts > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; border-top: 1px solid var(--inb-line); padding-top: 10px; }
.inb-facts dt { font-family: var(--inb-data); font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); }
.inb-facts dd { margin: 0; }
.inb-profile__actions { display: flex; gap: 10px; flex-wrap: wrap; }

@media (max-width: 860px) {
	.inb-profile { grid-template-columns: 1fr; gap: 22px; }
	.inb-facts > div { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- 0.9.0: Verwaltung, Mehrländer, Dokumente ---------- */

.inb-form--wide { max-width: none; }
/* Hilfetext: 12px, gedämpft, ohne Außenabstand (der Abstand kommt aus dem Label-Raster). */
.inb-help { display: block; font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; color: var(--inb-dust); margin: 0; }
.inb-check { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; align-items: start; font-size: 14px; line-height: 1.4; }
.inb-check input { grid-column: 1; grid-row: 1; width: auto; margin: 3px 0 0; }
.inb-check .inb-help { grid-column: 2; }
.inb-h2 { font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: clamp(24px, 3.4vw, 40px); letter-spacing: -0.02em; margin: 0 0 4px; line-height: 1; }
/* Zwischenüberschrift in Formularen und Reitern: 13px Datenschrift, Versalien, Haarlinie darunter.
   Innerhalb eines Formularrasters liefert der Rasterabstand 16px, die Ränder ergänzen auf 28px oben und 12px unten. */
.inb-h3, .inb-form legend { font-family: var(--inb-data); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; line-height: 1.3; color: var(--inb-ramp); margin: 28px 0 12px; padding: 0 0 8px; border-bottom: 1px solid var(--inb-line); }
.inb-h3:first-child { margin-top: 0; }
.inb-form > .inb-h3, .inb-form > .inb-tabpanel > .inb-h3 { margin: 12px 0 -4px; }
.inb-form > .inb-h3:first-child, .inb-form > .inb-tabpanel > .inb-h3:first-child, .inb-form > .inb-note + .inb-h3, .inb-form > .inb-card__meta + .inb-h3 { margin-top: 0; }
.inb-form legend { width: 100%; margin: 0 0 12px; padding-bottom: 8px; }
.inb-form > fieldset:first-child, .inb-form > .inb-tabpanel > fieldset:first-child { margin-top: 0; }
.inb-headrow { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.inb-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.inb-actions .inb-status { margin-right: 6px; }
.inb-section { padding: 26px 0; border-top: 1px solid var(--inb-line); }
.inb-section:first-child { border-top: 0; padding-top: 0; }
.inb-fold > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; }
.inb-fold > summary::-webkit-details-marker { display: none; }
.inb-fold > summary::before { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--inb-ramp); border-bottom: 2px solid var(--inb-ramp); transform: rotate(-45deg); transition: transform 0.15s ease; }
.inb-fold[open] > summary::before { transform: rotate(45deg); }
.inb-fold > summary h2 { margin: 0; }
.inb-fold > :not(summary) { margin-top: 16px; }
.inb-fold summary + * { margin-top: 16px; }
.inb-table--rows tr[data-toggle] { cursor: pointer; }
.inb-table tr[data-open] { cursor: pointer; }
.inb-table tr.inb-detail td { background: rgba(255, 194, 74, 0.05); padding: 16px 12px; }
.inb-table tr.inb-detail:hover td { background: rgba(255, 194, 74, 0.05); }
.inb-table tr.is-muted td { opacity: 0.55; }
.inb-table tr.is-cancelled td { text-decoration: line-through; opacity: 0.55; }
.inb-table select, .inb-table input { font: inherit; font-size: 13px; padding: 6px 8px; border: 1px solid var(--inb-line); border-radius: 4px; background: var(--inb-surface); color: var(--inb-paper); }
.inb-table .inb-actions { flex-wrap: nowrap; }
.inb-quote { border-left: 3px solid var(--inb-line); padding-left: 12px; color: var(--inb-muted); white-space: pre-line; margin: 0 0 12px; }
.inb-ticket[data-open] { cursor: pointer; }
.inb-ticket[data-open]:hover { border-color: var(--inb-ramp); }
.inb-kpi[data-go] { cursor: pointer; }
.inb-kpi[data-go]:hover { border-color: var(--inb-ramp); }
.inb-kpis--tight { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); }
.inb-kpis--tight .inb-kpi b { font-size: 22px; }
.inb-note--soft { border-left-color: var(--inb-ramp); background: rgba(255, 194, 74, 0.1); }
.inb-toast--error { background: var(--inb-signal); color: #fff; }
.inb-mini[data-go] { cursor: pointer; }
.inb-chip--req { border-color: var(--inb-ramp); color: var(--inb-paper); }
.inb-toolbar--gen { margin-top: 14px; }
.inb-log { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.inb-log li { padding: 6px 0; border-bottom: 1px solid var(--inb-line); }
.inb-scroll { overflow-x: auto; }
.inb-refs__item { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.04em; border: 1px solid var(--inb-line); border-radius: 999px; padding: 6px 14px; color: var(--inb-muted); }
.inb-placeholders code { display: inline-block; font-family: var(--inb-data); font-size: 12px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: 4px; padding: 3px 7px; margin: 2px; cursor: pointer; }
.inb-placeholders code:hover { border-color: var(--inb-ramp); }
.inb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Fortschritt Franchise */
.inb-progress { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 14px 16px; margin-bottom: 14px; }
.inb-progress[data-go] { cursor: pointer; }
.inb-progress__head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; margin-bottom: 8px; }
.inb-progress__head b { font-family: var(--inb-data); font-weight: 600; }
.inb-progress__bar { height: 8px; border-radius: 999px; background: rgba(244, 242, 237, 0.1); overflow: hidden; }
.inb-progress__bar span { display: block; height: 100%; background: var(--inb-fog); border-radius: 999px; transition: width 0.3s ease; }
.inb-progress__bar span.is-warn { background: var(--inb-ramp); }
.inb-progress__bar span.is-over { background: var(--inb-signal); }

/* Matrix der Vorlagen */
.inb-matrix td { text-align: center; font-family: var(--inb-data); font-size: 12px; }
.inb-matrix td.is-exact { color: var(--inb-fog); }
.inb-matrix td.is-country_fr, .inb-matrix td.is-default, .inb-matrix td.is-default_fr { color: var(--inb-ramp); }
.inb-matrix td.is-none { color: var(--inb-signal); font-weight: 700; }

/* Kalender */
.inb-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.inb-cal__title { font-family: var(--inb-display); text-transform: uppercase; font-size: 18px; margin: 0 6px; }
.inb-cal__head { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); padding: 4px 6px; }
.inb-cal__cell { min-height: 92px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: 4px; padding: 6px; display: flex; flex-direction: column; gap: 3px; }
.inb-cal__cell.is-pad { background: transparent; border-color: transparent; }
.inb-cal__cell.is-today { border-color: var(--inb-ramp); }
.inb-cal__day { font-family: var(--inb-data); font-size: 11px; color: var(--inb-dust); }
.inb-cal__item { display: block; font: inherit; font-size: 11.5px; line-height: 1.3; text-align: left; border: 0; border-left: 3px solid var(--inb-dust); border-radius: 3px; padding: 3px 6px; background: rgba(244, 242, 237, 0.06); color: var(--inb-paper); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: default; }
button.inb-cal__item { cursor: pointer; }
.inb-cal__item.is-confirmed, .inb-cal__item.is-done { border-left-color: var(--inb-fog); }
.inb-cal__item.is-option { border-left-color: var(--inb-ramp); }
.inb-cal__item.is-cancelled { border-left-color: var(--inb-signal); opacity: 0.6; }
.inb-cal__item.is-blocked { border-left-color: var(--inb-signal); opacity: 0.8; }
.inb-cal__item.is-hold { border-left-color: var(--inb-ramp); opacity: 0.8; }
.inb-cal__item.is-available { border-left-color: var(--inb-paper); opacity: 0.8; }
.inb-legend { margin-left: auto; font-size: 12px; color: var(--inb-dust); display: inline-flex; gap: 10px; align-items: center; }
.inb-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 3px; }
.inb-legend .is-confirmed { background: var(--inb-fog); }
.inb-legend .is-option { background: var(--inb-ramp); }
.inb-legend .is-blocked { background: var(--inb-signal); }
.inb-legend .is-hold { background: var(--inb-ramp); opacity: 0.5; }

@media (max-width: 860px) {
	.inb-cal { grid-template-columns: repeat(7, minmax(0, 1fr)); }
	.inb-cal__cell { min-height: 60px; padding: 4px; }
	.inb-cal__item { font-size: 10px; padding: 2px 4px; }
	.inb-legend { display: none; }
}

/* ---------- 0.10.0: Textseiten, Bewerbung, Medien, Fuß ---------- */

.inb-section--narrow { max-width: 760px; }
.inb-page h2 { font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: 18px; letter-spacing: -0.01em; margin: 28px 0 8px; }
.inb-page h2:first-child { margin-top: 0; }
.inb-page p { margin: 0 0 12px; line-height: 1.65; color: var(--inb-muted); }
.inb-page ul { margin: 0 0 14px; padding-left: 20px; color: var(--inb-muted); }
.inb-page li { margin-bottom: 6px; }
.inb-foot__address { white-space: pre-line; color: var(--inb-muted); }
.inb-foot__apply { color: var(--inb-dust); font-size: 13px; margin-top: 10px; }
.inb-foot__apply a { color: var(--inb-ramp); }
.inb-burger__quiet { color: var(--inb-muted) !important; font-size: 13px !important; }

/* Galerie und Medien im Profil */
.inb-media { max-width: 1280px; margin: 0 auto; padding: 8px 0 24px; }
.inb-media h2 { font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: clamp(20px, 2.6vw, 28px); margin: 0 0 14px; }
.inb-gallery { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.inb-gallery__item { padding: 0; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); overflow: hidden; background: var(--inb-surface); cursor: zoom-in; aspect-ratio: 1; }
.inb-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s ease; }
.inb-gallery__item:hover img { transform: scale(1.04); }
.inb-audio { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 12px 14px; margin-bottom: 10px; }
.inb-audio__title { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.06em; color: var(--inb-ramp); margin: 0 0 8px; }
.inb-audio audio { width: 100%; display: block; }
.inb-embed { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 12px 14px; margin-bottom: 10px; }
.inb-embed__gate { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; }
.inb-embed__gate small { color: var(--inb-dust); font-size: 12px; }
.inb-embed iframe { width: 100%; border: 0; border-radius: 8px; display: block; height: 152px; }
.inb-embed--tall iframe { height: 352px; }
.inb-embed--video iframe { aspect-ratio: 16 / 9; height: auto; }
.inb-lightbox { position: fixed; inset: 0; background: rgba(15, 14, 23, 0.94); z-index: 9000; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; padding: 40px; }
.inb-lightbox img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: var(--inb-radius); }
.inb-lightbox p { margin: 0; color: var(--inb-muted); font-size: 14px; }
.inb-lightbox__close, .inb-lightbox__nav { position: absolute; background: transparent; border: 1px solid var(--inb-line); color: var(--inb-paper); font-size: 28px; line-height: 1; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; }
.inb-lightbox__close { top: 16px; right: 16px; }
.inb-lightbox__nav { top: 50%; transform: translateY(-50%); }
.inb-lightbox__prev { left: 16px; }
.inb-lightbox__next { right: 16px; }

/* Medienverwaltung */
.inb-mediagrid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); margin-bottom: 18px; }
.inb-mediagrid__item { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); overflow: hidden; display: flex; flex-direction: column; }
.inb-mediagrid__item.is-hidden { opacity: 0.5; }
.inb-mediagrid__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.inb-mediagrid__item audio { width: 100%; padding: 10px 8px 0; }
.inb-mediagrid__embed { aspect-ratio: 4 / 3; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: var(--inb-data); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--inb-ramp); text-align: center; padding: 10px; }
.inb-mediagrid__embed a { text-transform: none; letter-spacing: 0; color: var(--inb-muted); font-size: 11px; word-break: break-all; }
.inb-mediagrid__meta { padding: 8px; }
.inb-mediagrid__meta input { width: 100%; font: inherit; font-size: 13px; padding: 5px 7px; border: 1px solid var(--inb-line); border-radius: 4px; background: var(--inb-ink); color: var(--inb-paper); }
.inb-mediagrid__actions { display: flex; gap: 4px; padding: 0 8px 8px; }
.inb-mediagrid__actions button { font: inherit; font-size: 12px; padding: 4px 8px; border: 1px solid var(--inb-line); border-radius: 4px; background: transparent; color: var(--inb-muted); cursor: pointer; }
.inb-mediagrid__actions button:hover { border-color: var(--inb-ramp); color: var(--inb-paper); }
.inb-row--media { align-items: start; }

/* ---------- 0.11.0: Menü mit Rubriken, Reiter, Navigation, Stellvertretung ---------- */

.inb-menu__main { font-weight: 600; color: var(--inb-paper) !important; }
.inb-menu__cats { display: inline-flex; align-items: center; gap: 14px; padding-left: 14px; border-left: 1px solid var(--inb-line); }
.inb-menu__cats a { font-size: 13px; color: var(--inb-muted); text-decoration: none; }
.inb-menu__cats a:hover, .inb-menu__cats a.is-current, .inb-menu a.is-current { color: var(--inb-ramp); }
.inb-burger__sub { padding-left: 22px !important; font-size: 14px !important; color: var(--inb-muted) !important; }
.inb-contactform { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--inb-line); }
.inb-contactform h2 { font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: 20px; margin: 0 0 4px; }

.inb-impbar { position: sticky; top: 0; z-index: 600; background: var(--inb-signal); color: #fff; padding: 8px 24px; display: flex; gap: 16px; justify-content: center; align-items: center; font-size: 14px; }
.inb-impbar a { color: #fff; font-weight: 600; }
.admin-bar .inb-impbar { top: 32px; }

.inb-nav { align-items: center; }
.inb-nav__more { margin-left: auto; position: relative; }
.inb-nav__more > summary { list-style: none; cursor: pointer; font-size: 14px; color: var(--inb-muted); padding: 12px 14px; border-bottom: 3px solid transparent; display: inline-flex; align-items: center; gap: 6px; }
.inb-nav__more > summary::-webkit-details-marker { display: none; }
.inb-nav__more > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.inb-nav__more.is-active > summary { color: var(--inb-paper); border-bottom-color: var(--inb-ramp); font-weight: 600; }
.inb-nav__panel { position: absolute; right: 0; top: 100%; min-width: 220px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 6px; display: grid; z-index: 400; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55); }
.inb-nav__panel button { text-align: left; border-bottom: 0 !important; border-radius: 4px; padding: 10px 12px; }
.inb-nav__panel button[aria-current="true"] { background: rgba(255, 194, 74, 0.14); }

.inb-tabs { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--inb-line); margin: 8px 0 22px; }
.inb-tabs button { background: none; border: 0; border-bottom: 3px solid transparent; padding: 10px 14px; font: inherit; font-size: 14px; color: var(--inb-muted); cursor: pointer; }
.inb-tabs button[aria-selected="true"] { border-bottom-color: var(--inb-ramp); color: var(--inb-paper); font-weight: 600; }
.inb-tabs__badge { font-family: var(--inb-data); font-size: 10px; background: rgba(244, 242, 237, 0.1); border-radius: 999px; padding: 1px 7px; margin-left: 2px; }
.inb-tabpanel { animation: inb-fade 0.15s ease; }
@keyframes inb-fade { from { opacity: 0; } to { opacity: 1; } }
.inb-savebar { position: sticky; bottom: 0; background: rgba(15, 14, 23, 0.9); backdrop-filter: blur(10px); border-top: 1px solid var(--inb-line); padding: 12px 0; margin-top: 20px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; z-index: 50; }

.inb-headrow--artist { align-items: center; }
.inb-headrow__visual { width: 96px; flex: 0 0 96px; }
.inb-headrow__visual img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--inb-radius); display: block; }
.inb-headrow__visual .inb-card__type { aspect-ratio: 1; font-size: 13px; margin: 0; padding: 8px; }
.inb-headrow__visual .inb-mini { display: block; margin-top: 6px; }
.inb-thumbcell { width: 48px; }
.inb-thumbcell img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; display: block; }
.inb-thumbcell__empty { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px dashed var(--inb-line); border-radius: 4px; color: var(--inb-dust); }

/* ---------- 0.11.1: Kontaktseite ---------- */
.inb-contact { display: grid; gap: 40px; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 1fr); align-items: start; }
.inb-contact__form .inb-form { max-width: none; }
.inb-contact__side { display: grid; gap: 10px; position: sticky; top: 90px; }
.inb-ccard { display: grid; gap: 2px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-left: 4px solid var(--inb-ramp); border-radius: var(--inb-radius); padding: 14px 16px; text-decoration: none; transition: border-color 0.15s ease, transform 0.15s ease; }
.inb-ccard:hover { border-color: var(--inb-ramp); transform: translateY(-1px); }
.inb-ccard__label { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.14em; color: var(--inb-dust); }
.inb-ccard b { font-size: 16px; word-break: break-all; }
.inb-ccard small { color: var(--inb-muted); font-size: 12px; }
.inb-contact + .inb-page { margin-top: 36px; max-width: 760px; }
@media (max-width: 860px) {
	.inb-contact { grid-template-columns: 1fr; gap: 24px; }
	.inb-contact__side { position: static; }
}

/* ---------- 0.12.0: Vorlagen, Kalender, Décompte, Anzeigebild ---------- */
.inb-copy { width: 100%; font: inherit; font-family: var(--inb-data); font-size: 12px; padding: 8px 10px; border: 1px solid var(--inb-line); border-radius: 4px; background: var(--inb-ink); color: var(--inb-paper); margin-top: 6px; cursor: copy; }
/* Knöpfe neben beschrifteten Feldern in einer Zeile: auf Höhe der Eingabefelder (26px = Beschriftung plus Abstand). */
.inb-actions--end { align-self: start; padding-top: 26px; min-height: 66px; }
@media (max-width: 699px) { .inb-actions--end { padding-top: 0; min-height: 0; } }
.inb-row--template { border-bottom: 1px dashed var(--inb-line); padding-bottom: 12px; }
.inb-mediagrid__item.is-main { border-color: var(--inb-ramp); }
.inb-mediagrid__item { position: relative; }
.inb-mediagrid__main { position: absolute; top: 8px; left: 8px; background: var(--inb-ramp); color: var(--inb-ink); font-family: var(--inb-data); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; }
.inb-mediagrid__check, .inb-form .inb-mediagrid__check { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 400; color: var(--inb-muted); cursor: pointer; margin-right: auto; }
.inb-mediagrid__check input { margin: 0; }

/* ---------- 0.13.0: Upload, Backstage, Offre et signature, Nouveautés ---------- */
.inb-dropzone { position: relative; border: 2px dashed var(--inb-line); border-radius: var(--inb-radius); padding: 22px 16px; text-align: center; display: grid; gap: 4px; cursor: pointer; transition: border-color 0.15s ease, background 0.15s ease; }
.inb-dropzone.is-over { border-color: var(--inb-ramp); background: rgba(255, 194, 74, 0.08); }
.inb-dropzone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.inb-progress--upload { margin: 10px 0 0; }
.inb-row--tight { gap: 24px; }
.inb-changes { margin: 0; padding-left: 20px; }
.inb-changes li { margin-bottom: 6px; color: var(--inb-muted); }
.inb-docframe { background: #fff; color: #111; border-radius: var(--inb-radius); padding: 28px; margin: 18px 0; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35); }
.inb-doc-light h1 { font-size: 22px; margin: 0 0 6px; }
.inb-doc-light .doc-head { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 20px; }
.inb-doc-light .doc-from { white-space: pre-line; font-size: 12px; }
.inb-doc-light .doc-meta { text-align: right; }
.inb-doc-light .doc-meta p, .inb-doc-light .doc-to p { margin: 0; }
.inb-doc-light .doc-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; color: #777; margin: 0 0 2px; }
.inb-doc-light .doc-body p { margin: 0 0 10px; line-height: 1.55; }
.inb-doc-light table.lines { width: 100%; border-collapse: collapse; margin: 10px 0 20px; }
.inb-doc-light table.lines th, .inb-doc-light table.lines td { text-align: left; padding: 8px 6px; border-bottom: 1px solid #ddd; }
.inb-doc-light table.lines .num { text-align: right; }
.inb-doc-light .doc-notes { font-size: 12px; color: #333; border-left: 3px solid #FFC24A; padding-left: 12px; margin: 18px 0; }
.inb-doc-light .doc-foot { font-size: 11px; color: #555; border-top: 1px solid #ddd; padding-top: 10px; margin-top: 24px; }
.inb-tokenform { margin-top: 10px; }

/* Setlist-Editor */
.inb-sl { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr); gap: 24px; align-items: start; }
.inb-sl__name { font: inherit; font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: clamp(22px, 3vw, 34px); background: transparent; border: 0; border-bottom: 2px solid var(--inb-line); color: var(--inb-paper); padding: 4px 0; width: 100%; max-width: 560px; }
.inb-sl__name:focus { outline: none; border-bottom-color: var(--inb-ramp); }
.inb-sl__rep { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 14px; position: sticky; top: 90px; max-height: calc(100vh - 120px); display: flex; flex-direction: column; gap: 10px; }
.inb-sl__rep input[type="search"] { font: inherit; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--inb-line); background: var(--inb-ink); color: var(--inb-paper); }
.inb-sl__replist { list-style: none; margin: 0; padding: 0; overflow: auto; flex: 1; display: grid; gap: 4px; }
.inb-sl__replist li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--inb-line); border-radius: 4px; background: var(--inb-ink); cursor: grab; font-size: 14px; }
.inb-sl__replist li > span:first-child { flex: 1; }
.inb-sl__replist button { font: inherit; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--inb-ramp); background: transparent; color: var(--inb-ramp); cursor: pointer; }
.inb-sl__items { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; min-height: 120px; border: 2px dashed transparent; border-radius: var(--inb-radius); }
.inb-sl__item { display: grid; grid-template-columns: 20px 28px minmax(0, 2fr) minmax(0, 2fr) 64px 32px; align-items: center; gap: 8px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-left: 4px solid var(--inb-fog); border-radius: 4px; padding: 8px 10px; cursor: grab; }
.inb-sl__item.is-section { border-left-color: var(--inb-signal); background: rgba(255, 77, 109, 0.08); }
.inb-sl__item.is-break { border-left-color: var(--inb-dust); opacity: 0.85; }
.inb-sl__item.is-dragging { opacity: 0.4; }
.inb-sl__item.is-over { border-top: 2px solid var(--inb-ramp); }
.inb-sl__grip { color: var(--inb-dust); font-size: 12px; letter-spacing: -2px; }
.inb-sl__num { font-family: var(--inb-data); font-size: 12px; color: var(--inb-dust); text-align: right; }
.inb-sl__title { font-size: 16px; }
.inb-sl__item input { font: inherit; font-size: 13px; padding: 5px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--inb-paper); min-width: 0; }
.inb-sl__item input:hover, .inb-sl__item input:focus { border-color: var(--inb-line); background: var(--inb-ink); outline: none; }
.inb-sl__title-input { font-weight: 600; }
.inb-sl__dur { text-align: right; font-family: var(--inb-data); }
.inb-sl__del { font: inherit; background: transparent; border: 0; color: var(--inb-dust); font-size: 18px; cursor: pointer; }
.inb-sl__del:hover { color: var(--inb-signal); }
.inb-sl__empty { padding: 30px; text-align: center; color: var(--inb-dust); border: 1px dashed var(--inb-line); border-radius: var(--inb-radius); }
@media (max-width: 860px) {
	.inb-sl { grid-template-columns: 1fr; }
	.inb-sl__rep { position: static; max-height: 280px; }
	.inb-sl__item { grid-template-columns: 20px 24px minmax(0, 1fr) 56px 28px; }
	.inb-sl__item .inb-sl__tr { grid-column: 3 / 6; }
}

/* 0.14.0 backstage plan */
.inb-doc-status { font: inherit; font-size: 13px; padding: 4px 6px; border: 1px solid var(--inb-line); border-radius: 4px; background: var(--inb-surface); color: inherit; }
.inb-signlink { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.inb-signlink .inb-copy { flex: 1; margin-top: 0; }
.inb-plan-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-bottom: 16px; }
.inb-plan-card { display: flex; flex-direction: column; gap: 6px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 16px; }
.inb-plan-card__label { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); }
.inb-plan-card b { font-family: var(--inb-display); font-weight: 800; font-size: 26px; line-height: 1.1; }
.inb-plan-card .inb-btn { align-self: flex-start; margin-top: 6px; }

/* 0.15.0 portal */
.inb-root { --inb-ok: #4cd6a0; }
/* Menü mit Rubriken (Künstlerportal) */
.inb-nav--grouped { gap: 0 26px; padding-top: 6px; align-items: flex-end; }
.inb-nav__group { display: flex; flex-direction: column; padding-bottom: 0; }
.inb-nav__title { font-family: var(--inb-data); font-size: 10px; text-transform: uppercase; letter-spacing: 0.18em; color: var(--inb-dust); padding: 0 14px 2px; }
.inb-nav__items { display: flex; flex-wrap: wrap; gap: 2px; }
.inb-nav__mobile { display: none; width: 100%; padding: 10px 0 12px; }
.inb-nav__select { font: inherit; font-size: 15px; width: 100%; padding: 11px 13px; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); background: var(--inb-surface); color: var(--inb-paper); }
@media (max-width: 860px) {
	.inb-nav--grouped .inb-nav__group { display: none; }
	.inb-nav__mobile { display: block; }
}
/* Marken: Agence / Perso, Dokumentstatus, Dokumentart */
.inb-tag { display: inline-block; font-family: var(--inb-data); font-size: 10px; text-transform: uppercase; letter-spacing: 0.12em; border-radius: 4px; padding: 2px 7px; margin-right: 4px; vertical-align: middle; }
.inb-tag--booking { background: rgba(108, 139, 255, 0.22); color: var(--inb-fog); }
.inb-tag--gig { background: rgba(255, 194, 74, 0.22); color: var(--inb-ramp); }
.inb-dstatus { display: inline-flex; align-items: center; font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; border: 1px solid currentColor; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.inb-dstatus--draft { color: var(--inb-dust); border-style: dashed; }
.inb-dstatus--issued, .inb-dstatus--sent { color: var(--inb-fog); }
.inb-dstatus--paid, .inb-dstatus--signed, .inb-dstatus--accepted { color: var(--inb-ok); }
.inb-dstatus--overdue { color: var(--inb-signal); }
.inb-dstatus--cancelled { color: var(--inb-dust); opacity: 0.7; text-decoration: line-through; }
.inb-kindchip { font-family: var(--inb-data); font-size: 11px; color: var(--inb-muted); white-space: nowrap; }
.inb-select--sm { font: inherit; font-size: 13px; padding: 7px 10px; border: 1px solid var(--inb-line); border-radius: 999px; background: var(--inb-surface); color: var(--inb-paper); }
/* Tableau de bord */
.inb-dash { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 28px; }
.inb-dcard { display: flex; flex-direction: column; gap: 6px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 16px; }
.inb-dcard__label { font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--inb-dust); }
.inb-dcard b { font-family: var(--inb-display); font-weight: 800; font-size: 26px; line-height: 1.1; }
.inb-dcard.is-alert { border-color: var(--inb-signal); }
.inb-dcard.is-alert b { color: var(--inb-signal); }
.inb-dcard .inb-btn { align-self: flex-start; margin-top: auto; }
.inb-todo { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.inb-todo li { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 10px 14px; }
.inb-todo li[data-go] { cursor: pointer; }
.inb-todo li[data-go]:hover { border-color: var(--inb-ramp); }
.inb-todo__arrow { color: var(--inb-ramp); }
/* Premiers pas */
.inb-onboard { border: 1px solid var(--inb-ramp); border-radius: var(--inb-radius); padding: 22px; margin-bottom: 28px; background: rgba(255, 194, 74, 0.06); }
.inb-onboard .inb-h2 { font-size: clamp(22px, 3vw, 32px); }
.inb-steps { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.inb-steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--inb-dust); }
.inb-steps li span { display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; border: 1px solid currentColor; font-family: var(--inb-data); font-size: 12px; }
.inb-steps li.is-current { color: var(--inb-paper); font-weight: 600; }
.inb-steps li.is-current span { background: var(--inb-ramp); border-color: var(--inb-ramp); color: var(--inb-ink); }
.inb-steps li.is-done { color: var(--inb-ok); }
/* Éditeur de document */
.inb-items input { width: 100%; }
.inb-items td.inb-num input { text-align: right; font-family: var(--inb-data); }
.inb-items th:nth-child(2), .inb-items td:nth-child(2) { width: 80px; }
.inb-items th:nth-child(3), .inb-items td:nth-child(3) { width: 140px; }
.inb-items th:nth-child(4), .inb-items td:nth-child(4) { width: 140px; }
.inb-items__del { font: inherit; background: transparent; border: 0; color: var(--inb-dust); font-size: 18px; cursor: pointer; }
.inb-items__del:hover { color: var(--inb-signal); }
.inb-totals { display: grid; gap: 4px; max-width: 360px; margin-left: auto; font-size: 14px; }
.inb-totals > div { display: flex; justify-content: space-between; gap: 20px; padding: 4px 0; border-bottom: 1px solid var(--inb-line); }
.inb-totals > div b { font-family: var(--inb-data); }
.inb-totals .is-total { border-bottom: 0; font-size: 17px; padding-top: 8px; }
.inb-totals .is-total b { color: var(--inb-ramp); }
.inb-inlineform { border: 1px dashed var(--inb-ramp); border-radius: var(--inb-radius); padding: 16px; margin-bottom: 18px; }
.inb-doc-actions { padding: 18px 0; border-top: 1px solid var(--inb-line); margin-top: 18px; }
.inb-convert { display: inline-flex; gap: 6px; align-items: center; }
.inb-convert select { font: inherit; font-size: 13px; padding: 8px 10px; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); background: var(--inb-surface); color: var(--inb-paper); }
/* Facturation et logo */
.inb-billing { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr); gap: 32px; align-items: start; }
.inb-billing__side { position: sticky; top: 90px; }
.inb-billing input[type="color"] { padding: 4px; height: 40px; cursor: pointer; }
.inb-docprev { background: #fff; color: #111; border-radius: var(--inb-radius); overflow: hidden; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35); }
.inb-docprev__bar { height: 8px; }
.inb-docprev__head { display: flex; gap: 12px; align-items: center; padding: 16px; }
.inb-docprev__head img { max-width: 80px; max-height: 48px; object-fit: contain; }
.inb-docprev__head b { display: block; font-size: 14px; }
.inb-docprev__head small { display: block; font-size: 11px; color: #666; }
.inb-docprev__lines { display: grid; gap: 6px; padding: 0 16px 18px; }
.inb-docprev__lines span { display: block; height: 6px; background: #eee; border-radius: 3px; }
.inb-docprev__lines span:last-child { width: 60%; }
@media (max-width: 860px) {
	.inb-billing { grid-template-columns: 1fr; }
	.inb-billing__side { position: static; }
}
/* Bilan : barres par mois, franchise */
.inb-bars { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; align-items: end; height: 180px; margin-bottom: 8px; }
.inb-bars__col { display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; gap: 4px; }
.inb-bars__stack { position: relative; width: 100%; flex: 1; display: flex; align-items: flex-end; }
.inb-bars__gross, .inb-bars__paid { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 3px 3px 0 0; }
.inb-bars__gross { background: rgba(108, 139, 255, 0.35); }
.inb-bars__paid { background: var(--inb-ok); }
.inb-bars__col small { font-family: var(--inb-data); font-size: 10px; color: var(--inb-dust); text-transform: uppercase; }
.inb-bars__key { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: middle; margin: 0 4px 0 8px; }
.inb-bars__key--gross { background: rgba(108, 139, 255, 0.35); }
.inb-bars__key--paid { background: var(--inb-ok); }
.inb-franchise { border-left: 4px solid var(--inb-ok); background: rgba(76, 214, 160, 0.1); padding: 14px 16px; border-radius: var(--inb-radius); margin: 18px 0; }
.inb-franchise p { margin: 6px 0 10px; }
.inb-franchise.is-warn { border-left-color: var(--inb-ramp); background: rgba(255, 194, 74, 0.1); }
.inb-franchise.is-over { border-left-color: var(--inb-signal); background: rgba(255, 77, 109, 0.12); }

/* 0.15.1 Speicherstatus in der Leiste, Hinweise oben statt hinter der Leiste */
.inb-toast { top: 16px; bottom: auto; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35); font-size: 15px; padding: 14px 24px; }
.inb-save-state { font-family: var(--inb-data); font-size: 13px; font-weight: 600; color: var(--inb-muted); }
.inb-save-state--ok { color: #3ddc97; }
.inb-save-state--error { color: var(--inb-signal); }
[hidden] { display: none !important; }

/* 0.15.2 Fehlerseite 404 */
.inb-404 { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; }
.inb-404__code { display: flex; align-items: center; gap: 0.04em; font-family: var(--inb-display); font-weight: 800; font-size: clamp(120px, 26vw, 360px); line-height: 0.85; letter-spacing: -0.06em; color: var(--inb-paper); margin: 0 0 12px; }
.inb-404__dot { display: inline-block; width: 0.42em; height: 0.42em; border-radius: 50%; background: var(--inb-ramp); margin: 0 0.06em; animation: inb-404-pulse 2.4s ease-in-out infinite; box-shadow: 0 0 0.25em rgba(255, 194, 74, 0.35); }
.inb-404__claim { font-size: clamp(28px, 4.6vw, 56px); }
@keyframes inb-404-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(0.82); opacity: 0.7; } }
@media (prefers-reduced-motion: reduce) { .inb-404__dot { animation: none; } }

/* ---------- 0.17.0: helles Arbeits-Layout für die angemeldeten Bereiche ----------
   Gilt nur innerhalb von .inb-theme-light (Verwaltung, Künstlerportal, Veranstalterportal, Konto).
   Die öffentliche Website behält das dunkle Farbschema oben unverändert.
   Die Farbnamen bleiben dieselben, nur die Werte kippen: --inb-ink wird zum hellen Seitengrund,
   --inb-surface zur weißen Karte, --inb-paper zur dunklen Schrift. --inb-ramp bleibt der Akzent
   (Gelb), für Text auf Weiß gibt es --inb-ramp-text in lesbarem Bernstein. */

.inb-root.inb-theme-light {
	--inb-ink: #f4f5f7;
	--inb-surface: #ffffff;
	--inb-paper: #1c1e26;
	--inb-muted: #5d6270;
	--inb-dust: #7b8190;
	--inb-line: #e3e5ea;
	--inb-fog: #3b5bdb;
	--inb-signal: #d6336c;
	--inb-ok: #1f9d6a;
	--inb-ramp-text: #8a5a00;
	--inb-ramp-soft: rgba(255, 194, 74, 0.18);
	--inb-tint: #f7f8fa;
	--inb-focus: rgba(59, 91, 219, 0.28);
	--inb-radius: 12px;
	--inb-side-w: 232px;
	--inb-topbar-h: 56px;
	background: var(--inb-ink);
	color: var(--inb-paper);
	font-family: var(--inb-body);
	font-size: 15px;
	line-height: 1.5;
	min-height: 100vh;
}
body.inb-theme-light { background: #f4f5f7; }
.inb-theme-light :focus-visible { outline: 2px solid var(--inb-fog); outline-offset: 2px; }

/* Grundgerüst: Seitenleiste links, Inhalt rechts */
.inb-theme-light .inb-shell { display: flex; min-height: 100vh; }
.inb-theme-light .inb-side {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: var(--inb-side-w);
	background: var(--inb-surface);
	border-right: 1px solid var(--inb-line);
	display: flex;
	flex-direction: column;
	z-index: 700;
	overflow-y: auto;
}
.admin-bar .inb-theme-light .inb-side { top: 32px; }
.inb-theme-light .inb-body { flex: 1; min-width: 0; margin-left: var(--inb-side-w); display: flex; flex-direction: column; min-height: 100vh; }

/* Marke oben in der Leiste: einzige Stelle mit der Display-Schrift */
.inb-theme-light .inb-side__brand { padding: 18px 18px 12px; border-bottom: 1px solid var(--inb-line); position: relative; }
.inb-theme-light .inb-side__agency { display: block; font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; font-size: 17px; line-height: 1.1; text-decoration: none; color: var(--inb-paper); }
.inb-theme-light .inb-side__area { display: block; margin-top: 4px; font-size: 12px; color: var(--inb-muted); }
.inb-theme-light .inb-side__close { display: none; position: absolute; top: 12px; right: 10px; width: 32px; height: 32px; border: 0; background: transparent; font-size: 22px; line-height: 1; color: var(--inb-muted); cursor: pointer; border-radius: 8px; }
.inb-theme-light .inb-side__close:hover { background: var(--inb-tint); color: var(--inb-paper); }

/* Menü: Gruppen mit kleiner grauer Überschrift, Einträge mit Symbol, Akzentbalken links am aktiven Eintrag */
.inb-theme-light .inb-side .inb-nav { display: block; flex: 1; padding: 10px 10px 16px; border: 0; max-width: none; margin: 0; }
.inb-theme-light .inb-nav__group { display: block; padding: 8px 0 4px; }
.inb-theme-light .inb-nav__title { display: block; padding: 6px 12px 4px; font-family: var(--inb-body); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--inb-dust); }
.inb-theme-light .inb-nav__items { display: block; }
.inb-theme-light .inb-side .inb-nav button.inb-nav__item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 8px 10px 8px 12px;
	border: 0;
	border-left: 3px solid transparent;
	border-radius: 8px;
	background: transparent;
	font: inherit;
	font-size: 14px;
	color: var(--inb-paper);
	text-align: left;
	cursor: pointer;
	position: relative;
	transition: background 0.12s ease;
}
.inb-theme-light .inb-side .inb-nav button.inb-nav__item:hover { background: var(--inb-tint); }
.inb-theme-light .inb-side .inb-nav button.inb-nav__item[aria-current="true"] { background: var(--inb-ramp-soft); border-left-color: var(--inb-ramp); font-weight: 600; }
.inb-theme-light .inb-nav__icon { display: inline-flex; width: 16px; height: 16px; flex: 0 0 16px; color: var(--inb-muted); }
.inb-theme-light .inb-nav__icon svg { width: 16px; height: 16px; display: block; }
.inb-theme-light button.inb-nav__item[aria-current="true"] .inb-nav__icon { color: var(--inb-ramp-text); }
.inb-theme-light .inb-nav__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inb-theme-light .inb-nav__badge { font-family: var(--inb-data); font-size: 11px; font-weight: 600; min-width: 20px; padding: 1px 6px; border-radius: 999px; background: var(--inb-signal); color: #fff; text-align: center; line-height: 1.5; }
.inb-theme-light .inb-nav__badge[hidden] { display: none !important; }

/* Fuß der Leiste: Nutzer, Sprache, Abmelden, Stellvertretung */
.inb-theme-light .inb-side__foot { padding: 12px 18px 18px; border-top: 1px solid var(--inb-line); display: grid; gap: 6px; font-size: 13px; }
.inb-theme-light .inb-side__user { margin: 0 0 2px; font-weight: 600; color: var(--inb-paper); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inb-theme-light .inb-side__langs { display: flex; gap: 4px; margin: 0; }
.inb-theme-light .inb-side__langs a { font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.08em; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--inb-line); text-decoration: none; color: var(--inb-muted); }
.inb-theme-light .inb-side__langs a[aria-current="true"] { background: var(--inb-paper); border-color: var(--inb-paper); color: #fff; }
.inb-theme-light .inb-side__link { color: var(--inb-muted); text-decoration: none; }
.inb-theme-light .inb-side__link:hover { color: var(--inb-paper); text-decoration: underline; }
.inb-theme-light .inb-side__imp { position: static; display: grid; gap: 4px; justify-content: start; margin: 0 0 8px; padding: 10px 12px; border-radius: 8px; font-size: 12px; text-align: left; }
.inb-theme-light .inb-side__imp a { color: #fff; }

/* Kopfleiste: Burger, Seitentitel, Suche, Nouveautés */
.inb-theme-light .inb-topbar--app {
	position: sticky;
	top: 0;
	z-index: 600;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: nowrap;
	max-width: none;
	margin: 0;
	min-height: var(--inb-topbar-h);
	padding: 8px 32px;
	background: var(--inb-surface);
	border-bottom: 1px solid var(--inb-line);
}
.admin-bar .inb-theme-light .inb-topbar--app { top: 32px; }
.inb-theme-light .inb-topbar__title { flex: 1 1 auto; min-width: 0; margin: 0; font-family: var(--inb-body); font-size: 17px; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 1.0.1: Suche eingeklappt als Lupe rechts in der Kopfleiste. Klick oder "/" öffnet das Feld (0 auf 320px),
   Escape oder Verlassen ohne Eingabe schließt es. Der Seitentitel links bewegt sich dabei nicht. */
.inb-theme-light .inb-topbar__search { position: relative; display: flex; align-items: center; flex: 0 0 auto; max-width: none; margin: 0; }
.inb-theme-light .inb-topbar__search-btn { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; padding: 0; border: 1px solid var(--inb-line); border-radius: 999px; background: var(--inb-surface); color: var(--inb-muted); cursor: pointer; }
.inb-theme-light .inb-topbar__search-btn svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.inb-theme-light .inb-topbar__search-btn:hover { color: var(--inb-paper); border-color: var(--inb-dust); }
.inb-theme-light .inb-topbar__search input {
	font: inherit;
	font-size: 14px;
	width: 0;
	height: 38px;
	padding: 0;
	margin-left: 0;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--inb-ink);
	color: var(--inb-paper);
	opacity: 0;
	transition: width 0.18s ease, opacity 0.18s ease, padding 0.18s ease, margin-left 0.18s ease;
}
.inb-theme-light .inb-topbar__search.is-open input { width: 320px; padding: 0 14px; margin-left: 8px; border-color: var(--inb-line); opacity: 1; }
.inb-theme-light .inb-topbar__search.is-open .inb-topbar__search-btn { color: var(--inb-paper); border-color: var(--inb-dust); }
.inb-theme-light .inb-topbar__search input:focus { outline: none; border-color: var(--inb-fog); box-shadow: 0 0 0 3px var(--inb-focus); background: var(--inb-surface); }
@media (prefers-reduced-motion: reduce) {
	.inb-theme-light .inb-topbar__search input { transition: none; }
}
.inb-theme-light .inb-topbar__right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.inb-theme-light .inb-topbar__news { font: inherit; font-size: 13px; font-weight: 600; padding: 7px 14px; border: 1px solid var(--inb-line); border-radius: 999px; background: var(--inb-surface); color: var(--inb-muted); cursor: pointer; white-space: nowrap; }
.inb-theme-light .inb-topbar__news:hover { color: var(--inb-paper); border-color: var(--inb-dust); }
.inb-theme-light .inb-topbar__news[aria-current="true"] { background: var(--inb-ramp-soft); border-color: var(--inb-ramp); color: var(--inb-paper); }
.inb-theme-light .inb-burger-btn { display: none; width: 40px; height: 40px; padding: 0; border: 1px solid var(--inb-line); border-radius: 8px; background: var(--inb-surface); cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.inb-theme-light .inb-burger-btn span { display: block; width: 18px; height: 2px; background: var(--inb-paper); border-radius: 2px; }
.inb-theme-light .inb-overlay { position: fixed; inset: 0; background: rgba(28, 30, 38, 0.4); z-index: 650; }

/* Inhalt und Fuß */
.inb-theme-light .inb-main { flex: 1; width: 100%; max-width: 1100px; margin: 0; padding: 24px 32px 48px; }
.inb-theme-light .inb-app-foot { display: flex; gap: 18px; flex-wrap: wrap; padding: 14px 32px; font-size: 12px; color: var(--inb-dust); border-top: 1px solid var(--inb-line); }

/* Seitenkopf innerhalb einer Ansicht: Titel links, Aktionen rechts (Hilfe pageHeader in inb-app.js) */
.inb-theme-light .inb-page__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 20px; }
.inb-theme-light .inb-page__head h1 { margin: 0; font-family: var(--inb-body); font-size: 20px; font-weight: 600; line-height: 1.25; text-transform: none; letter-spacing: 0; }
.inb-theme-light .inb-page__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Typografie: Display-Schrift nur noch für die Marke, Überschriften 20/17px halbfett */
.inb-theme-light .inb-section { max-width: none; margin: 0; padding: 22px 0; border-top: 1px solid var(--inb-line); }
.inb-theme-light .inb-section:first-child { border-top: 0; padding-top: 0; }
.inb-theme-light .inb-section h2, .inb-theme-light .inb-h2, .inb-theme-light .inb-contactform h2, .inb-theme-light .inb-page h2, .inb-theme-light .inb-media h2 { font-family: var(--inb-body); font-weight: 600; text-transform: none; letter-spacing: 0; font-size: 17px; line-height: 1.3; margin: 0 0 12px; }
.inb-theme-light .inb-h2 { font-size: 20px; }
.inb-theme-light .inb-onboard .inb-h2 { font-size: 20px; }
.inb-theme-light .inb-h3, .inb-theme-light .inb-form legend { color: var(--inb-muted); border-bottom-color: var(--inb-line); }
.inb-theme-light .inb-eyebrow { font-family: var(--inb-body); font-size: 12px; font-weight: 600; letter-spacing: 0.06em; color: var(--inb-ramp-text); margin: 0 0 4px; }
.inb-theme-light .inb-lead { color: var(--inb-muted); font-size: 15px; margin: 0 0 18px; max-width: 72ch; }
.inb-theme-light .inb-card__meta { font-family: var(--inb-body); font-size: 12.5px; letter-spacing: 0; color: var(--inb-muted); }
.inb-theme-light .inb-help { color: var(--inb-dust); }
.inb-theme-light .inb-card h3, .inb-theme-light .inb-ticket__name { font-family: var(--inb-body); font-weight: 600; text-transform: none; font-size: 16px; line-height: 1.3; }
.inb-theme-light .inb-mini { color: var(--inb-fog); }
.inb-theme-light .inb-cal__title { font-family: var(--inb-body); text-transform: none; font-weight: 600; }
.inb-theme-light .inb-sl__name { font-family: var(--inb-body); text-transform: none; font-weight: 600; font-size: 22px; }
.inb-theme-light .inb-strip__item b, .inb-theme-light .inb-audio__title, .inb-theme-light .inb-ticket__date, .inb-theme-light .inb-todo__arrow, .inb-theme-light .inb-mediagrid__embed, .inb-theme-light .inb-foot__apply a, .inb-theme-light .inb-totals .is-total b, .inb-theme-light .inb-menu__area { color: var(--inb-ramp-text); }
.inb-theme-light .inb-status--option, .inb-theme-light .inb-status--pro, .inb-theme-light .inb-tag--gig, .inb-theme-light .inb-cal__day { color: var(--inb-ramp-text); }
.inb-theme-light .inb-tag--gig { background: var(--inb-ramp-soft); }
.inb-theme-light .inb-tag--booking { background: rgba(59, 91, 219, 0.12); }
.inb-theme-light .inb-sl__replist button { color: var(--inb-ramp-text); }

/* Karten: weiß, Haarlinie, 12px Radius, keine schweren Schatten */
.inb-theme-light .inb-card, .inb-theme-light .inb-kpi, .inb-theme-light .inb-dcard, .inb-theme-light .inb-plan-card, .inb-theme-light .inb-tile, .inb-theme-light .inb-ticket, .inb-theme-light .inb-progress, .inb-theme-light .inb-todo li, .inb-theme-light .inb-audio, .inb-theme-light .inb-embed, .inb-theme-light .inb-mediagrid__item, .inb-theme-light .inb-gallery__item, .inb-theme-light .inb-ccard, .inb-theme-light .inb-sl__rep, .inb-theme-light .inb-cal__cell { box-shadow: 0 1px 2px rgba(28, 30, 38, 0.04); }
.inb-theme-light .inb-card:hover { border-color: #cfd3db; }
.inb-theme-light .inb-card__type, .inb-theme-light .inb-profile__type { background: linear-gradient( 140deg, rgba(255, 194, 74, 0.35), rgba(214, 51, 108, 0.18) ); color: var(--inb-paper); }
.inb-theme-light .inb-kpi b { font-family: var(--inb-body); font-weight: 600; font-size: 28px; letter-spacing: -0.01em; }
.inb-theme-light .inb-kpi span, .inb-theme-light .inb-dcard__label, .inb-theme-light .inb-plan-card__label, .inb-theme-light .inb-ccard__label, .inb-theme-light .inb-facts dt { font-family: var(--inb-body); font-size: 12px; letter-spacing: 0.04em; text-transform: none; color: var(--inb-muted); }
.inb-theme-light .inb-kpi--alert b { color: var(--inb-signal); }
.inb-theme-light .inb-kpi[data-go]:hover, .inb-theme-light .inb-todo li[data-go]:hover, .inb-theme-light .inb-ticket[data-open]:hover { border-color: var(--inb-ramp); box-shadow: 0 2px 8px rgba(28, 30, 38, 0.08); }
.inb-theme-light .inb-dcard b, .inb-theme-light .inb-plan-card b { font-family: var(--inb-body); font-weight: 600; font-size: 24px; }
.inb-theme-light .inb-ticket { border-left-width: 4px; }
.inb-theme-light .inb-ticket--done { border-left-color: var(--inb-ok); }
.inb-theme-light .inb-onboard { background: #fffaf0; border-color: #f3d58a; }
.inb-theme-light .inb-inlineform { background: var(--inb-surface); }
.inb-theme-light .inb-docframe, .inb-theme-light .inb-docprev { box-shadow: 0 1px 3px rgba(28, 30, 38, 0.1); border: 1px solid var(--inb-line); }
.inb-theme-light .inb-fold > summary::before { border-color: var(--inb-muted); }

/* Tabellen: helle Zeilenlinien, dezente Hover-Tönung */
.inb-theme-light .inb-table th { font-family: var(--inb-body); font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: none; color: var(--inb-muted); border-bottom: 1px solid #d5d8df; }
.inb-theme-light .inb-table th, .inb-theme-light .inb-table td { padding: 10px 10px; }
.inb-theme-light .inb-table tr:hover td { background: var(--inb-tint); }
.inb-theme-light .inb-table tr.inb-detail td, .inb-theme-light .inb-table tr.inb-detail:hover td { background: #fbfbfc; }
.inb-theme-light .inb-table select, .inb-theme-light .inb-table input { background: var(--inb-surface); border-color: var(--inb-line); border-radius: 6px; }
.inb-theme-light .inb-matrix td.is-country_fr, .inb-theme-light .inb-matrix td.is-default, .inb-theme-light .inb-matrix td.is-default_fr { color: var(--inb-ramp-text); }

/* Formulare: 40px Felder, weiß, Haarlinie, Fokusring. Raster und Zeilen kommen aus dem Grundschema oben. */
.inb-theme-light .inb-form label { font-size: 13px; font-weight: 500; color: var(--inb-muted); }
.inb-theme-light .inb-form .inb-check, .inb-theme-light .inb-form .inb-inline { font-size: 14px; font-weight: 400; color: var(--inb-paper); }
.inb-theme-light .inb-form input, .inb-theme-light .inb-form select, .inb-theme-light .inb-form textarea, .inb-theme-light .inb-copy, .inb-theme-light .inb-toolbar input[type="search"], .inb-theme-light .inb-sl__rep input[type="search"], .inb-theme-light .inb-select--sm, .inb-theme-light .inb-convert select, .inb-theme-light .inb-doc-status, .inb-theme-light .inb-mediagrid__meta input, .inb-theme-light .inb-nav__select {
	background: var(--inb-surface);
	color: var(--inb-paper);
	border: 1px solid #d5d8df;
	border-radius: 8px;
}
.inb-theme-light .inb-form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]), .inb-theme-light .inb-form select { height: 40px; padding: 0 12px; font-size: 14.5px; }
.inb-theme-light .inb-form input[type="file"] { font-size: 14px; }
.inb-theme-light .inb-form textarea { padding: 9px 12px; font-size: 14.5px; min-height: 96px; }
.inb-theme-light .inb-form input:focus, .inb-theme-light .inb-form select:focus, .inb-theme-light .inb-form textarea:focus, .inb-theme-light .inb-toolbar input[type="search"]:focus, .inb-theme-light .inb-select--sm:focus, .inb-theme-light .inb-copy:focus { outline: none; border-color: var(--inb-fog); box-shadow: 0 0 0 3px var(--inb-focus); }
.inb-theme-light .inb-form input::placeholder, .inb-theme-light .inb-form textarea::placeholder, .inb-theme-light .inb-toolbar input[type="search"]::placeholder { color: #9aa0ad; }
.inb-theme-light .inb-copy { background: var(--inb-ink); }
.inb-theme-light .inb-toolbar input[type="search"], .inb-theme-light .inb-select--sm, .inb-theme-light .inb-sl__rep input[type="search"] { border-radius: 999px; }
.inb-theme-light .inb-sl__replist li, .inb-theme-light .inb-sl__item input:hover, .inb-theme-light .inb-sl__item input:focus { background: var(--inb-ink); }

/* Schaltflächen: primär Gelb mit dunkler Schrift, ruhig weiß mit Rand, Gefahr rot umrandet */
.inb-theme-light .inb-btn { font-size: 14px; font-weight: 600; padding: 9px 18px; min-height: 40px; border-radius: 8px; background: var(--inb-ramp); border-color: var(--inb-ramp); color: #1c1e26; display: inline-flex; align-items: center; justify-content: center; gap: 6px; line-height: 1.2; }
.inb-theme-light .inb-btn:hover { filter: brightness(0.96); }
.inb-theme-light .inb-btn--quiet { background: var(--inb-surface); border-color: #d5d8df; color: var(--inb-paper); }
.inb-theme-light .inb-btn--quiet:hover { background: var(--inb-tint); filter: none; }
.inb-theme-light .inb-btn--danger { background: var(--inb-surface); border-color: var(--inb-signal); color: var(--inb-signal); }
.inb-theme-light .inb-btn--danger:hover { background: rgba(214, 51, 108, 0.06); filter: none; }
.inb-theme-light .inb-btn--sm { font-size: 13px; padding: 6px 12px; min-height: 32px; }
.inb-theme-light .inb-mediagrid__actions button { border-radius: 6px; }
.inb-theme-light .inb-mediagrid__main { color: #1c1e26; }

/* Filterchips als Pillen, Statusmarken in weichen Tönen */
.inb-theme-light .inb-chip { background: var(--inb-surface); border-color: #d5d8df; color: var(--inb-muted); padding: 6px 14px; font-size: 13px; }
.inb-theme-light .inb-chip:hover { border-color: var(--inb-dust); color: var(--inb-paper); }
.inb-theme-light .inb-chip[aria-pressed="true"] { background: var(--inb-paper); border-color: var(--inb-paper); color: #fff; }
.inb-theme-light .inb-chip--req { border-color: var(--inb-ramp); color: var(--inb-paper); }
.inb-theme-light .inb-status, .inb-theme-light .inb-dstatus { font-family: var(--inb-body); font-size: 11.5px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; border: 0; padding: 3px 10px; background: #eceef2; color: var(--inb-muted); }
.inb-theme-light .inb-status--option, .inb-theme-light .inb-status--pro, .inb-theme-light .inb-dstatus--draft { background: #fff3d6; color: #8a5a00; }
.inb-theme-light .inb-status--confirmed, .inb-theme-light .inb-dstatus--issued, .inb-theme-light .inb-dstatus--sent { background: #e6ebff; color: #2f4bc0; }
.inb-theme-light .inb-status--cancelled, .inb-theme-light .inb-status--expired, .inb-theme-light .inb-status--overdue, .inb-theme-light .inb-dstatus--overdue { background: #fde6ee; color: #b3235a; }
.inb-theme-light .inb-status--done, .inb-theme-light .inb-status--paid, .inb-theme-light .inb-status--won, .inb-theme-light .inb-status--signed, .inb-theme-light .inb-status--active, .inb-theme-light .inb-dstatus--paid, .inb-theme-light .inb-dstatus--signed, .inb-theme-light .inb-dstatus--accepted { background: #e2f5ec; color: #17734f; }
.inb-theme-light .inb-status--external, .inb-theme-light .inb-dstatus--cancelled { background: transparent; border: 1px dashed #c9cdd6; color: var(--inb-muted); text-decoration: none; }
.inb-theme-light .inb-tag { font-family: var(--inb-body); font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; }
.inb-theme-light .inb-tabs__badge { background: #eceef2; color: var(--inb-muted); }
.inb-theme-light .inb-refs span, .inb-theme-light .inb-refs__item { font-family: var(--inb-body); letter-spacing: 0; }

/* Reiter, Hinweise, Leerzustände, Ladezustand */
.inb-theme-light .inb-tabs { gap: 4px; margin: 4px 0 20px; }
.inb-theme-light .inb-tabs button { font-size: 14px; padding: 9px 12px; border-bottom-width: 2px; }
.inb-theme-light .inb-tabs button:hover { color: var(--inb-paper); }
.inb-theme-light .inb-note { background: #eef1ff; border-left-color: var(--inb-fog); border-radius: 8px; }
.inb-theme-light .inb-note--error { background: #fde6ee; border-left-color: var(--inb-signal); }
.inb-theme-light .inb-note--soft { background: #fff7e6; border-left-color: var(--inb-ramp); }
.inb-theme-light .inb-empty { background: var(--inb-surface); border-color: #d5d8df; }
.inb-theme-light .inb-empty p { color: var(--inb-muted); }
.inb-theme-light .inb-loading { font-family: var(--inb-body); color: var(--inb-muted); }
.inb-theme-light .inb-log li { border-bottom-color: var(--inb-line); }
.inb-theme-light .inb-quote { border-left-color: #d5d8df; }
.inb-theme-light .inb-progress__bar { background: #e9ebef; }
.inb-theme-light .inb-franchise { background: #e2f5ec; }
.inb-theme-light .inb-franchise.is-warn { background: #fff7e6; }
.inb-theme-light .inb-franchise.is-over { background: #fde6ee; }
.inb-theme-light .inb-dropzone { background: var(--inb-surface); border-color: #d5d8df; }
.inb-theme-light .inb-dropzone.is-over { background: #fff7e6; }
.inb-theme-light .inb-placeholders code { border-radius: 6px; }
.inb-theme-light .inb-steps li.is-current span { color: #1c1e26; }
.inb-theme-light .inb-cal__item { background: #f3f4f7; }
.inb-theme-light .inb-cal__item.is-available { border-left-color: var(--inb-ok); }
.inb-theme-light .inb-sl__item.is-section { background: #fde6ee; }
.inb-theme-light .inb-bars__gross, .inb-theme-light .inb-bars__key--gross { background: rgba(59, 91, 219, 0.3); }
.inb-theme-light .inb-save-state--ok { color: var(--inb-ok); }
.inb-theme-light .inb-thumbcell__empty { border-color: #d5d8df; }

/* Hinweis oben mittig, Speicherleiste unten weiß */
.inb-theme-light .inb-toast { top: 16px; bottom: auto; left: 50%; transform: translateX(-50%); background: #1c1e26; color: #fff; font-family: var(--inb-body); font-weight: 500; border-radius: 10px; box-shadow: 0 6px 24px rgba(28, 30, 38, 0.18); }
.inb-theme-light .inb-toast--error { background: var(--inb-signal); color: #fff; }
.inb-theme-light .inb-savebar { background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(8px); border-top: 1px solid var(--inb-line); margin: 20px -32px 0; padding: 12px 32px; }

/* Mobil: Leiste als Auszug von links, Burger schaltet .is-open, Überlagerung schließt */
@media (max-width: 899px) {
	.inb-theme-light .inb-side { transform: translateX(-100%); transition: transform 0.2s ease; box-shadow: none; }
	.inb-theme-light .inb-side.is-open { transform: translateX(0); box-shadow: 0 0 40px rgba(28, 30, 38, 0.25); }
	.inb-theme-light .inb-side__close { display: block; }
	.inb-theme-light .inb-body { margin-left: 0; }
	.inb-theme-light .inb-burger-btn { display: inline-flex; }
	.inb-theme-light .inb-topbar--app { padding: 8px 16px; gap: 10px; }
	.inb-theme-light .inb-topbar__search.is-open input { width: min(320px, calc(100vw - 200px)); }
	.inb-theme-light .inb-main { padding: 16px 16px 40px; }
	.inb-theme-light .inb-app-foot { padding: 12px 16px; }
	.inb-theme-light .inb-savebar { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
}

@media print {
	.inb-theme-light .inb-side, .inb-theme-light .inb-topbar--app, .inb-theme-light .inb-overlay, .inb-theme-light .inb-app-foot { display: none; }
	.inb-theme-light .inb-body { margin-left: 0; }
}

/* 0.17.0 views */
/* Ansichten der Verwaltung im hellen Layout: Posteingang, Pipeline, Checkliste, Zahlungen,
   Künstlergrid, Suche, Umschalter. Die Vorschlagsseite unten läuft im dunklen Grundschema. */

/* Seitenkopf ohne Shell-Hilfe (Rückfall aus viewHead) */
.inb-theme-light .inb-h1 { margin: 0; font-family: var(--inb-body); font-size: 20px; font-weight: 600; line-height: 1.25; text-transform: none; letter-spacing: 0; }
.inb-theme-light .inb-headrow { margin-bottom: 20px; }

/* Umschalter Liste | Pipeline, Mois | Grille: zwei Knöpfe in einer Pille, aktiv gelb */
.inb-theme-light .inb-toolbar--modes { display: inline-flex; align-items: center; gap: 0; margin: 0; padding: 3px; border: 1px solid #d5d8df; border-radius: 999px; background: var(--inb-surface); }
.inb-theme-light .inb-toolbar--modes .inb-chip { border: 0; border-radius: 999px; padding: 5px 14px; background: transparent; color: var(--inb-muted); font-weight: 500; }
.inb-theme-light .inb-toolbar--modes .inb-chip:hover { color: var(--inb-paper); background: var(--inb-tint); }
.inb-theme-light .inb-toolbar--modes .inb-chip[aria-pressed="true"] { background: var(--inb-ramp); color: #1c1e26; font-weight: 600; }
.inb-theme-light .inb-toolbar .inb-toolbar--modes { margin-left: 4px; }

/* Posteingang "Aujourd'hui": Gruppen als weiße Karten, Zeilen mit Haarlinie, Text links, Knöpfe rechts */
.inb-theme-light .inb-inbox { display: grid; gap: 14px; }
.inb-theme-light .inb-inbox__group { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 4px 18px 6px; box-shadow: 0 1px 2px rgba(28, 30, 38, 0.04); }
.inb-theme-light .inb-inbox__group > h2 { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 0 10px; font-family: var(--inb-body); font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.inb-theme-light .inb-inbox__group > h2 .inb-tabs__badge { font-size: 11px; padding: 1px 8px; }
.inb-theme-light .inb-inbox__row { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; padding: 11px 0; border-top: 1px solid var(--inb-line); }
.inb-theme-light .inb-inbox__body { flex: 1 1 320px; min-width: 0; font-size: 14px; line-height: 1.45; }
.inb-theme-light .inb-inbox__body b { font-weight: 600; }
.inb-theme-light .inb-inbox__body .inb-status { margin-left: 4px; vertical-align: middle; }
.inb-theme-light .inb-inbox__row > .inb-actions { flex: 0 0 auto; margin-left: auto; }
.inb-theme-light .inb-inbox__panel { flex-basis: 100%; margin-top: 10px; padding: 14px 16px; background: var(--inb-tint); border: 1px solid var(--inb-line); border-radius: 8px; }
.inb-theme-light .inb-inbox .inb-empty { background: var(--inb-surface); }
.inb-theme-light .inb-inbox + #inb-franchise-line { margin-top: 12px; }

/* Zahlungen: kompakte Tabelle, Formular in grauer Tafel */
.inb-theme-light .inb-payments { display: grid; gap: 10px; }
.inb-theme-light .inb-payments > .inb-card__meta { margin: 0; }
.inb-theme-light .inb-payments .inb-table { font-size: 13px; }
.inb-theme-light .inb-payments .inb-table th, .inb-theme-light .inb-payments .inb-table td { padding: 6px 8px; }
.inb-theme-light .inb-payments .inb-table tr:hover td { background: transparent; }
.inb-theme-light .inb-payments form { display: grid; gap: 10px; max-width: none; padding: 14px 16px; background: var(--inb-tint); border: 1px solid var(--inb-line); border-radius: 8px; }
.inb-theme-light .inb-payments form .inb-row { gap: 10px; }
.inb-theme-light .inb-payments form label { font-size: 12.5px; }
.inb-theme-light .inb-payments form input:not([type="checkbox"]), .inb-theme-light .inb-payments form select { min-height: 36px; padding: 6px 10px; font-size: 14px; }
.inb-theme-light .inb-table tr.inb-detail .inb-payments { max-width: 720px; }

/* Pipeline: Spalten nebeneinander, waagerecht rollbar, Karten weiß auf hellem Spaltengrund */
.inb-theme-light .inb-pipeline { display: flex; align-items: flex-start; gap: 12px; overflow-x: auto; padding: 2px 2px 14px; margin: 0 -2px; scroll-snap-type: x proximity; }
.inb-theme-light .inb-pipeline__col { flex: 0 0 260px; width: 260px; display: flex; flex-direction: column; gap: 8px; padding: 10px; background: var(--inb-tint); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); scroll-snap-align: start; }
.inb-theme-light .inb-pipeline__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 2px 4px 6px; }
.inb-theme-light .inb-pipeline__head h2 { display: flex; align-items: center; gap: 6px; margin: 0; font-family: var(--inb-body); font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.inb-theme-light .inb-pipeline__head .inb-tabs__badge { background: var(--inb-surface); border: 1px solid var(--inb-line); font-size: 11px; padding: 1px 7px; }
.inb-theme-light .inb-pipeline__head .inb-card__meta { font-family: var(--inb-data); font-size: 12px; white-space: nowrap; }
.inb-theme-light .inb-pipeline__col > .inb-card__meta { padding: 6px 4px 8px; }
.inb-theme-light .inb-pipeline__card { background: var(--inb-surface); border: 1px solid var(--inb-line); border-left-width: 3px; border-radius: 10px; padding: 10px 12px; cursor: pointer; transition: border-color 0.12s ease, box-shadow 0.12s ease; }
.inb-theme-light .inb-pipeline__card:hover, .inb-theme-light .inb-pipeline__card:focus-visible { border-color: #cfd3db; box-shadow: 0 2px 8px rgba(28, 30, 38, 0.08); }
.inb-theme-light .inb-pipeline__card:hover.inb-ticket--option, .inb-theme-light .inb-pipeline__card:hover.inb-ticket--confirmed, .inb-theme-light .inb-pipeline__card:hover.inb-ticket--done { border-left-color: inherit; }
.inb-theme-light .inb-pipeline__card p { margin: 0; }
.inb-theme-light .inb-pipeline__card .inb-eyebrow { font-size: 11px; margin: 0 0 2px; }
.inb-theme-light .inb-pipeline__card .inb-ticket__name { font-size: 14.5px; line-height: 1.3; margin: 0 0 2px; }
.inb-theme-light .inb-pipeline__card .inb-card__meta { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inb-theme-light .inb-pipeline__amount { margin-top: 6px !important; font-family: var(--inb-data); font-size: 14px; font-weight: 700; }
.inb-theme-light .inb-pipeline__next { margin-top: 4px !important; font-size: 12px; line-height: 1.35; color: var(--inb-ramp-text); }
.inb-theme-light .inb-pipeline__col--collapsed { flex: 0 0 56px; width: 56px; align-items: center; padding: 10px 6px; }
.inb-theme-light .inb-pipeline__col--collapsed .inb-pipeline__head { flex-direction: column; align-items: center; padding: 0; }
.inb-theme-light .inb-pipeline__col--collapsed h2 { flex-direction: column-reverse; gap: 8px; }
.inb-theme-light .inb-pipeline__col--collapsed h2 .inb-tabs__badge { margin: 0; }
.inb-theme-light .inb-pipeline__col--collapsed .inb-btn { writing-mode: vertical-rl; transform: rotate(180deg); min-height: 0; padding: 12px 6px; font-size: 12px; }
@media (max-width: 899px) {
	.inb-theme-light .inb-pipeline__col { flex-basis: 240px; width: 240px; }
}

/* Checkliste des Engagements: nummerierte Kreise, waagerecht mit Umbruch, schmal als Liste mit Verbindungslinie.
   Nur ol.inb-progress--steps, der Balken .inb-progress (Upload, Franchise) bleibt unverändert. */
.inb-theme-light ol.inb-progress--steps { list-style: none; margin: 0 0 18px; padding: 16px 18px; display: flex; flex-wrap: wrap; gap: 14px 10px; counter-reset: none; }
.inb-theme-light ol.inb-progress--steps .inb-progress__step { position: relative; flex: 1 1 150px; min-width: 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto; gap: 2px 10px; align-items: start; }
.inb-theme-light .inb-progress--steps .inb-progress__num { grid-row: 1 / span 4; width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid #c9cdd6; font-family: var(--inb-data); font-size: 12px; font-weight: 600; color: var(--inb-muted); background: var(--inb-surface); position: relative; }
.inb-theme-light .inb-progress--steps .inb-progress__label { grid-column: 2; font-size: 13px; font-weight: 600; line-height: 1.35; padding-top: 5px; }
.inb-theme-light .inb-progress--steps .inb-progress__date { grid-column: 2; font-family: var(--inb-data); font-size: 12px; color: var(--inb-muted); }
.inb-theme-light .inb-progress--steps .inb-progress__hint { grid-column: 2; font-size: 12px; line-height: 1.4; color: var(--inb-muted); }
.inb-theme-light .inb-progress--steps .inb-btn { grid-column: 2; justify-self: start; margin-top: 6px; }
.inb-theme-light .inb-progress--steps .inb-progress__step--done .inb-progress__num { background: var(--inb-ok); border-color: var(--inb-ok); color: transparent; }
.inb-theme-light .inb-progress--steps .inb-progress__step--done .inb-progress__num::after { content: ""; position: absolute; left: 9px; top: 7px; width: 6px; height: 11px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.inb-theme-light .inb-progress--steps .inb-progress__step--done .inb-progress__label { color: var(--inb-muted); font-weight: 500; }
.inb-theme-light .inb-progress--steps .inb-progress__step--current .inb-progress__num { background: var(--inb-ramp); border-color: var(--inb-ramp); color: #1c1e26; box-shadow: 0 0 0 4px var(--inb-ramp-soft); }
.inb-theme-light .inb-progress--steps .inb-progress__step--current .inb-progress__label { color: var(--inb-paper); }
.inb-theme-light .inb-progress--steps .inb-progress__step--todo .inb-progress__label { color: var(--inb-muted); font-weight: 500; }
.inb-theme-light .inb-progress--steps .inb-progress__step--skipped .inb-progress__num { border-style: dashed; color: var(--inb-dust); }
.inb-theme-light .inb-progress--steps .inb-progress__step--skipped .inb-progress__label { color: var(--inb-dust); font-weight: 500; text-decoration: line-through; }
@media (max-width: 899px) {
	.inb-theme-light ol.inb-progress--steps { flex-direction: column; gap: 0; padding: 14px 16px; }
	.inb-theme-light ol.inb-progress--steps .inb-progress__step { flex: 0 0 auto; padding: 0 0 16px; }
	.inb-theme-light ol.inb-progress--steps .inb-progress__step::before { content: ""; position: absolute; left: 13.5px; top: 30px; bottom: -2px; width: 1px; background: var(--inb-line); }
	.inb-theme-light ol.inb-progress--steps .inb-progress__step:last-child { padding-bottom: 0; }
	.inb-theme-light ol.inb-progress--steps .inb-progress__step:last-child::before { display: none; }
	.inb-theme-light ol.inb-progress--steps .inb-progress__step--done::before { background: var(--inb-ok); opacity: 0.5; }
}

/* Künstlergrid: feste Spalten, erste Spalte klebt links, Wochenende grau, heute gelb umrandet, Blöcke als Chips */
.inb-theme-light .inb-grid-cal { width: 100%; min-width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 12px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); }
.inb-theme-light .inb-scroll .inb-grid-cal { width: max-content; min-width: 100%; }
.inb-theme-light .inb-grid-cal th, .inb-theme-light .inb-grid-cal td { padding: 0; border-bottom: 1px solid var(--inb-line); border-right: 1px solid #eef0f3; vertical-align: middle; }
.inb-theme-light .inb-grid-cal tr:last-child td, .inb-theme-light .inb-grid-cal tr:last-child th { border-bottom: 0; }
.inb-theme-light .inb-grid-cal thead th { height: 44px; text-align: center; font-family: var(--inb-data); font-size: 11px; font-weight: 600; line-height: 1.2; color: var(--inb-paper); background: var(--inb-surface); }
.inb-theme-light .inb-grid-cal thead th:not(:first-child) { width: 34px; }
.inb-theme-light .inb-grid-cal__dow { display: block; font-family: var(--inb-body); font-size: 10px; font-weight: 500; color: var(--inb-dust); text-transform: uppercase; }
.inb-theme-light .inb-grid-cal thead th:first-child, .inb-theme-light .inb-grid-cal tbody th { position: sticky; left: 0; z-index: 2; width: 180px; min-width: 180px; text-align: left; padding: 0 12px; background: var(--inb-surface); border-right: 1px solid #d5d8df; font-family: var(--inb-body); font-weight: 600; }
.inb-theme-light .inb-grid-cal thead th:first-child { z-index: 3; font-size: 12px; color: var(--inb-muted); }
.inb-theme-light .inb-grid-cal tbody td { height: 40px; padding: 4px 3px; }
.inb-theme-light .inb-grid-cal__weekend { background: var(--inb-tint); }
.inb-theme-light .inb-grid-cal thead th.inb-grid-cal__weekend { background: var(--inb-tint); }
.inb-theme-light .inb-grid-cal__today { box-shadow: inset 0 0 0 2px var(--inb-ramp); }
.inb-theme-light .inb-grid-cal thead th.inb-grid-cal__today { color: var(--inb-ramp-text); }
.inb-theme-light .inb-grid-cal__artist { display: flex; align-items: center; gap: 8px; min-width: 0; cursor: pointer; }
.inb-theme-light .inb-grid-cal__artist:hover .inb-grid-cal__name { color: var(--inb-fog); text-decoration: underline; }
.inb-theme-light .inb-grid-cal__artist img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: 0 0 26px; display: block; }
.inb-theme-light .inb-grid-cal__name { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.inb-theme-light .inb-grid-cal__block { display: block; width: 100%; height: 16px; margin: 0 0 2px; padding: 0; border: 0; border-radius: 4px; font: inherit; background: #eceef2; color: var(--inb-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: default; }
.inb-theme-light .inb-grid-cal__block:last-child { margin-bottom: 0; }
.inb-theme-light button.inb-grid-cal__block { cursor: pointer; }
.inb-theme-light button.inb-grid-cal__block:hover { filter: brightness(0.94); }
.inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--option, .inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--hold { background: #fff3d6; color: var(--inb-ramp-text); }
.inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--confirmed, .inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--done { background: #e2f5ec; color: #17734f; }
.inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--gig { background: #eceef2; color: var(--inb-muted); }
.inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--blocked { background: repeating-linear-gradient( 135deg, var(--inb-line) 0 3px, transparent 3px 7px ); color: var(--inb-dust); }
.inb-theme-light .inb-grid-cal__block.inb-grid-cal__cell--cancelled { background: #fde6ee; color: #b3235a; opacity: 0.7; }
.inb-theme-light .inb-grid-cal__row--unassigned th { border-left: 3px solid var(--inb-signal); padding-left: 9px; background: #fff7f9; }
.inb-theme-light .inb-grid-cal__row--unassigned td { background: #fff7f9; }
.inb-theme-light .inb-grid-cal__row--unassigned td.inb-grid-cal__weekend { background: #fceef3; }
.inb-theme-light .inb-grid-cal__row--unassigned .inb-grid-cal__name { color: #b3235a; }
.inb-theme-light .inb-grid-cal .inb-empty { margin: 12px; }
.inb-theme-light .inb-scroll { border-radius: var(--inb-radius); }

/* Suche: Gruppen mit Überschrift, Treffer als Zeilen mit Titel und grauem Zusatz */
.inb-theme-light .inb-main #inb-search-form { max-width: 560px; margin-bottom: 20px; }
.inb-theme-light .inb-search-results { display: grid; gap: 6px; }
.inb-theme-light .inb-search-results .inb-section { padding: 14px 0 6px; border-top: 0; }
.inb-theme-light .inb-search-results .inb-section h2 { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: var(--inb-muted); margin: 0 0 6px; }
.inb-theme-light .inb-search-results__list { list-style: none; margin: 0; padding: 0; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); overflow: hidden; }
.inb-theme-light .inb-search-results__list li { border-top: 1px solid var(--inb-line); padding: 0; }
.inb-theme-light .inb-search-results__list li:first-child { border-top: 0; }
.inb-theme-light .inb-search-results__list li > b, .inb-theme-light .inb-search-results__list li > .inb-card__meta { display: inline-block; padding: 10px 14px; }
.inb-theme-light .inb-search-results__item { display: flex; align-items: baseline; gap: 10px; width: 100%; padding: 10px 14px; border: 0; background: transparent; font: inherit; font-size: 14px; text-align: left; color: var(--inb-paper); cursor: pointer; }
.inb-theme-light .inb-search-results__item:hover, .inb-theme-light .inb-search-results__item:focus-visible { background: var(--inb-tint); outline-offset: -2px; }
.inb-theme-light .inb-search-results__item b { font-weight: 600; }
.inb-theme-light .inb-search-results__item .inb-card__meta { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Künstlerliste zum Ankreuzen in der Proposition */
.inb-theme-light .inb-checklist { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 4px 12px; margin-top: 8px; max-height: 220px; overflow-y: auto; padding: 4px 2px; }
.inb-theme-light .inb-checklist .inb-inline { margin-right: 0; font-size: 13.5px; }
.inb-theme-light .inb-checklist .inb-inline input { margin: 0; }
.inb-theme-light .inb-form fieldset input[type="search"] { margin-top: 4px; }

/* Vorschlagsseite (öffentlich, dunkles Grundschema): Nachricht als Karte, Künstler in drei Spalten, Preis groß, Antwort groß */
.inb-prop__message { white-space: pre-wrap; padding: 18px 20px; font-size: 16px; line-height: 1.6; margin: 0 0 24px; }
.inb-prop__artists { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 24px; }
.inb-prop__artists .inb-card p:last-child { margin: 8px 0 0; }
.inb-prop__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--inb-line); border-left: 5px solid var(--inb-ramp); border-radius: var(--inb-radius); background: var(--inb-surface); font-family: var(--inb-data); font-size: 26px; font-weight: 700; color: var(--inb-ramp); }
.inb-prop__price b { font-family: var(--inb-body); font-size: 14px; font-weight: 600; color: var(--inb-muted); }
.inb-tokenform #inb-prop-form { max-width: 720px; }
.inb-tokenform #inb-prop-form .inb-actions { gap: 12px; margin-top: 6px; }
.inb-tokenform #inb-prop-form .inb-btn { font-size: 17px; padding: 15px 30px; }
@media (max-width: 860px) {
	.inb-prop__artists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.inb-prop__artists { grid-template-columns: 1fr; }
	.inb-prop__price { font-size: 22px; }
	.inb-tokenform #inb-prop-form .inb-btn { width: 100%; }
}

/* 0.17.0 mails */
.inb-mail-ok { color: #17734f; font-weight: 700; }
.inb-mail-err { color: #b3235a; font-weight: 700; cursor: help; }
.inb-mails__failed td { color: var(--inb-muted); }
.inb-mails-box { margin-top: 8px; }
.inb-mail-badge { margin-left: 4px; vertical-align: middle; }
.inb-theme-light .inb-mail-badge { background: #e2f5ec; color: #17734f; }
.inb-theme-light .inb-table tr.inb-detail .inb-sendform { max-width: 720px; }
.inb-sendform .inb-check { margin: 6px 0 10px; }
.inb-fold--mails { margin-top: 12px; }
.inb-form .inb-row--switches, .inb-theme-light .inb-form .inb-row--switches { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 16px; }
.inb-help--group { margin: -6px 0 18px; }

/* 0.17.1 public docs */
/* Öffentliche Seite "Documents pour organisateurs" (dunkles Grundschema): Kopf mit Bild, vier Karten, Fotoraster */
.inb-profile__docs { margin: 14px 0 0; }
.inb-profile__docs a { color: var(--inb-ramp); text-decoration: none; border-bottom: 1px solid transparent; }
.inb-profile__docs a:hover { border-bottom-color: var(--inb-ramp); }
.inb-pdocs { max-width: 1280px; margin: 0 auto; padding: 32px 24px 48px; }
.inb-pdocs__head { display: grid; grid-template-columns: 160px 1fr; gap: 28px; align-items: center; margin: 0 0 32px; }
.inb-pdocs__visual img { width: 160px; height: 160px; object-fit: cover; border-radius: var(--inb-radius); display: block; }
.inb-pdocs__visual .inb-card__type { width: 160px; height: 160px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); font-size: 18px; }
.inb-pdocs__name { margin: 4px 0 10px; font-size: 34px; }
.inb-pdocs__head .inb-lead { margin: 0; max-width: 720px; }
.inb-pdocs__grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inb-pdoc { border: 1px solid var(--inb-line); border-radius: var(--inb-radius); background: var(--inb-surface); padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.inb-pdoc--press_photos { grid-column: 1 / -1; }
.inb-pdoc__title { margin: 0; font-family: var(--inb-data); font-size: 12px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--inb-ramp); }
.inb-pdoc__file { margin: 0; font-size: 17px; font-weight: 600; word-break: break-word; }
.inb-pdoc__file .inb-card__meta { font-weight: 400; margin-left: 6px; }
.inb-pdoc p { margin: 0; }
.inb-pdoc__updated { margin-top: auto; padding-top: 6px; }
.inb-pdoc__photos { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.inb-pdoc__photo { display: block; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); overflow: hidden; background: var(--inb-ink); text-decoration: none; color: var(--inb-paper); }
.inb-pdoc__photo img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform 0.2s ease; }
.inb-pdoc__photo:hover img { transform: scale(1.04); }
.inb-pdoc__photo span { display: block; padding: 8px 10px; font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--inb-dust); }
.inb-pdocs__back { margin: 28px 0 0; }
@media (max-width: 760px) {
	.inb-pdocs__head { grid-template-columns: 1fr; gap: 16px; }
	.inb-pdocs__grid { grid-template-columns: 1fr; }
	.inb-pdocs__name { font-size: 28px; }
}

/* Slots in der Verwaltung (Reiter Orgas) und im Künstlerportal (Profil), helles Schema */
.inb-pubdocs__url { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 16px; }
.inb-pubdocs__url .inb-copy { flex: 1; min-width: 240px; margin-top: 0; }
.inb-slots { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 14px; }
.inb-slot { border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; background: var(--inb-surface); }
.inb-slot[data-slot="press_photos"] { grid-column: 1 / -1; }
.inb-slot__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.inb-slot__head b { font-size: 15px; }
.inb-slot__files { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.inb-slot__files li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 6px 0; border-top: 1px solid var(--inb-line); }
.inb-slot__files li:first-child { border-top: 0; padding-top: 0; }
.inb-slot__files img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; flex: none; }
.inb-slot__name { flex: 1; min-width: 160px; word-break: break-word; }
.inb-slot__files .inb-actions { margin: 0; gap: 6px; }
.inb-slot__empty { margin: 0; }
.inb-slot__add { align-self: flex-start; cursor: pointer; }
.inb-theme-light .inb-slot { background: #fff; box-shadow: 0 1px 2px rgba(28, 30, 38, 0.04); }
@media (max-width: 760px) {
	.inb-slots { grid-template-columns: 1fr; }
}

/* 0.17.2 finder */
.inb-finder { margin-bottom: 18px; }
.inb-finder > summary b { font-size: 15px; }
.inb-finder .inb-form { padding: 0; border: 0; }
.inb-finder__count { margin: 0 0 10px; font-family: var(--inb-data); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--inb-dust); }
.inb-table td.inb-selcell, .inb-table th.inb-selcell { width: 28px; padding-right: 0; }
.inb-selcell input { margin: 0; cursor: pointer; }
.inb-finder__bar { position: sticky; bottom: 0; z-index: 40; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 14px; padding: 12px 14px; border: 1px solid var(--inb-line); border-radius: var(--inb-radius); background: rgba(15, 14, 23, 0.92); backdrop-filter: blur(10px); }
.inb-finder__bar .inb-actions { margin: 0; }
.inb-finder__bar #inb-finder-inq label { margin: 0; min-width: 260px; }
.inb-fee-meta { margin-top: 4px; }
.inb-theme-light .inb-finder__bar { background: rgba(255, 255, 255, 0.95); box-shadow: 0 -2px 12px rgba(28, 30, 38, 0.08); }

/* 0.17.4 Anmeldemaske im Design der Website */
.inb-login { display: flex; justify-content: center; padding: 48px 24px 72px; }
.inb-login__card { width: 100%; max-width: 440px; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: 16px; padding: 32px 32px 28px; }
.inb-login__title { font-family: var(--inb-display); font-weight: 800; font-size: clamp(30px, 4vw, 40px); line-height: 1; letter-spacing: -0.03em; margin: 6px 0 10px; }
.inb-login__lead { color: var(--inb-muted); margin: 0 0 22px; }
.inb-login__form { display: grid; gap: 14px; }
.inb-login__form .inb-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.inb-login__lost { font-size: 14px; color: var(--inb-muted); text-decoration: underline; text-underline-offset: 3px; }
.inb-login__lost:hover { color: var(--inb-paper); }
.inb-login__foot { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--inb-line); font-size: 14px; color: var(--inb-muted); }
.inb-login__foot a { color: var(--inb-ramp); }
.inb-note--error { border-left-color: var(--inb-signal); background: rgba(255, 77, 109, 0.12); }
.inb-note--ok { border-left-color: #3ddc97; background: rgba(61, 220, 151, 0.12); }

/* 0.17.6 why (0.17.8: Hero, Karten, Ablauf, Zitat und CTA werden im Block "0.17.8 marketing pages" neu gesetzt) */
.inb-why__section { padding-top: 32px; padding-bottom: 32px; }
.inb-why__num { display: block; font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.08em; color: var(--inb-ramp); margin-bottom: 10px; }
.inb-why__who { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 16px 18px; }
.inb-why__who b { display: block; font-family: var(--inb-display); font-weight: 700; text-transform: uppercase; font-size: 18px; line-height: 1.1; margin-bottom: 6px; }
.inb-why__who span { font-size: 14px; line-height: 1.5; color: var(--inb-muted); }
.inb-why__quote { margin: 0; }
.inb-why__quote footer { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--inb-dust); }

/* 0.17.7 artists why (0.17.8: Modellkarten im Block "0.17.8 marketing pages") */
.inb-aw__sub { margin: 0; font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--inb-ramp); }
.inb-aw__faq-item { border-top: 1px solid var(--inb-line); }
.inb-aw__faq-item:last-child { border-bottom: 1px solid var(--inb-line); }
.inb-aw__faq-item summary { cursor: pointer; padding: 14px 36px 14px 0; font-weight: 600; list-style: none; position: relative; }
.inb-aw__faq-item summary::-webkit-details-marker { display: none; }
.inb-aw__faq-item summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-family: var(--inb-data); font-size: 20px; color: var(--inb-ramp); }
.inb-aw__faq-item[open] summary::after { content: "\2013"; }
.inb-aw__faq-item p { margin: 0 0 16px; color: var(--inb-muted); max-width: 72ch; }
.inb-apply__why { margin: -8px 0 22px; }

/* 0.17.8 marketing pages: "Pourquoi STAGENCY" und "Pourquoi se faire représenter".
   Der Seitenkopf entfällt, der Hero trägt die H1 in normaler Schreibweise. */

/* Hero: dünne gelbe Linie über dem Eyebrow, großer gelber Punkt rechts (wie der Punkt der 404-Seite) */
.inb-why__hero { position: relative; padding: 56px 24px 36px; overflow: hidden; }
.inb-why__hero::before { content: ""; display: block; width: 48px; height: 4px; background: var(--inb-ramp); margin-bottom: 22px; }
.inb-why__dot { position: absolute; right: 24px; top: 48px; width: clamp(64px, 9vw, 128px); height: clamp(64px, 9vw, 128px); border-radius: 50%; background: var(--inb-ramp); opacity: 0.92; box-shadow: 0 0 60px rgba(255, 194, 74, 0.22); pointer-events: none; }
.inb-why__claim { font-size: clamp(36px, 5.2vw, 64px); line-height: 1.04; letter-spacing: -0.025em; text-transform: none; max-width: 20ch; margin: 0 0 18px; }
.inb-why__hero .inb-hero__lead { max-width: 60ch; }
.inb-why__section--tight { padding-top: 0; }

/* Kennzahlen: vier Felder mit Trennlinien, Wert in der Datenschrift */
.inb-why__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); }
.inb-why__fact { padding: 20px 22px; border-left: 1px solid var(--inb-line); min-width: 0; }
.inb-why__fact:first-child { border-left: 0; }
.inb-why__fact b { display: block; font-family: var(--inb-data); font-weight: 600; font-size: clamp(20px, 2.4vw, 30px); line-height: 1.1; letter-spacing: -0.01em; color: var(--inb-ramp); white-space: nowrap; }
.inb-why__fact span { display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--inb-muted); }

/* Vorteile: drei Spalten, die erste Karte nimmt zwei Spalten */
.inb-why__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inb-why__card { position: relative; padding: 24px 22px 22px; transition: border-color 0.15s ease, transform 0.15s ease; }
.inb-why__cards > .inb-why__card:first-child { grid-column: span 2; }
.inb-why__card:hover { border-color: var(--inb-ramp); transform: translateY(-2px); }
.inb-why__card .inb-why__num { font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.inb-why__card h3 { font-size: 22px; line-height: 1.1; letter-spacing: -0.01em; margin-bottom: 10px; }
.inb-why__card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--inb-muted); }

/* Künstlerband: bis zu sechs Kacheln mit Bild, Name und Rubrik */
.inb-why__band-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.inb-why__band-head h2 { margin: 0; }
.inb-why__more { font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--inb-ramp); text-decoration: none; }
.inb-why__more:hover { text-decoration: underline; }
.inb-why__artists { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.inb-why__artist { display: block; min-width: 0; text-decoration: none; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: 10px; overflow: hidden; transition: border-color 0.15s ease, transform 0.15s ease; }
.inb-why__artist:hover { border-color: var(--inb-ramp); transform: translateY(-2px); }
.inb-why__artist img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin: 0; border-radius: 0; }
.inb-why__artist-type { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 12px; text-align: center; font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: 15px; line-height: 1.05; color: var(--inb-ramp); background: rgba(255, 194, 74, 0.08); }
.inb-why__artist b { display: block; padding: 10px 12px 0; font-family: var(--inb-display); font-weight: 700; font-size: 15px; line-height: 1.15; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inb-why__artist span { display: block; padding: 4px 12px 12px; font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.06em; color: var(--inb-dust); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Ablauf als Zeitleiste: nummerierte Kreise mit gelbem Ring, verbunden durch eine Linie */
.inb-why__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.inb-why__steps li { position: relative; border-top: 0; padding-top: 0; }
.inb-why__steps li::before { counter-increment: inb-step; content: counter( inb-step, decimal-leading-zero ); position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--inb-ramp); background: var(--inb-ink); font-family: var(--inb-data); font-size: 13px; font-weight: 600; color: var(--inb-ramp); margin: 0 0 14px; }
.inb-why__steps li::after { content: ""; position: absolute; top: 19px; left: 44px; right: -24px; height: 2px; background: var(--inb-line); }
.inb-why__steps li:last-child::after { display: none; }
.inb-why__steps b { font-size: 17px; line-height: 1.25; margin-bottom: 6px; }
.inb-why__steps p { font-size: 14.5px; line-height: 1.5; }

/* Kacheln "Pour qui" und "Dans les deux cas": Symbol im gelben Kreis */
.inb-why__for { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inb-aw__both { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.inb-why__who { display: flex; flex-direction: column; min-width: 0; padding: 20px 18px; transition: border-color 0.15s ease; }
.inb-why__who:hover { border-color: var(--inb-ramp); }
.inb-why__icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 194, 74, 0.12); color: var(--inb-ramp); margin-bottom: 14px; }
.inb-why__icon svg { width: 20px; height: 20px; display: block; }

/* Zitat: breiter gelber Balken links, Display-Schrift */
.inb-why__quote { max-width: none; background: transparent; border-radius: 0; border-left: 8px solid var(--inb-ramp); padding: 6px 0 6px 28px; }
.inb-why__quote p { margin: 0 0 14px; font-family: var(--inb-display); font-weight: 700; font-size: clamp(20px, 2.4vw, 26px); line-height: 1.3; letter-spacing: -0.01em; color: var(--inb-paper); max-width: 36ch; }
.inb-why__quote footer { color: var(--inb-ramp); }

/* CTA-Band: gelbe Fläche, Tinte als Text, Knopf in Tinte und Umriss-Knopf */
.inb-why__cta { margin-top: 48px; padding: 40px 36px; background: var(--inb-ramp); color: var(--inb-ink); border: 0; border-radius: var(--inb-radius); flex-direction: column; align-items: flex-start; gap: 20px; }
.inb-why__cta h2 { margin: 0; color: var(--inb-ink); font-size: clamp(26px, 3.2vw, 40px); max-width: 22ch; }
.inb-why__cta .inb-btn { background: var(--inb-ink); border-color: var(--inb-ink); color: var(--inb-paper); }
.inb-why__cta .inb-btn--quiet { background: transparent; color: var(--inb-ink); border-color: rgba(0, 0, 0, 0.45); }
.inb-why__cta .inb-btn--quiet:hover { border-color: var(--inb-ink); }
.inb-why__cta .inb-btn:focus-visible { outline-color: var(--inb-ink); }

/* Modellkarten der Künstlerseite: Kopfband, Text, Häkchenliste, Fußzeile */
.inb-aw__models { display: grid; gap: var(--inb-gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inb-aw__model { display: flex; flex-direction: column; min-width: 0; background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); overflow: hidden; transition: border-color 0.15s ease; }
.inb-aw__model:hover { border-color: var(--inb-ramp); }
.inb-aw__model-head { position: relative; padding: 22px 22px 18px; background: var(--inb-ink); border-bottom: 1px solid var(--inb-line); }
.inb-aw__model-head .inb-why__num { margin-bottom: 8px; }
.inb-aw__model-head h3 { margin: 0 0 4px; font-family: var(--inb-display); font-weight: 800; text-transform: uppercase; font-size: 24px; line-height: 1.05; letter-spacing: -0.01em; }
.inb-aw__model--full .inb-aw__model-head { background: var(--inb-ramp); color: var(--inb-ink); border-bottom-color: var(--inb-ramp); }
.inb-aw__model--full .inb-aw__model-head .inb-why__num, .inb-aw__model--full .inb-aw__sub { color: var(--inb-ink); opacity: 0.72; }
.inb-aw__badge { position: absolute; right: 18px; top: 18px; padding: 5px 10px; border-radius: 999px; background: var(--inb-ink); color: var(--inb-ramp); font-family: var(--inb-data); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.inb-aw__model-body { flex: 1 1 auto; padding: 20px 22px; }
.inb-aw__model-body > p { margin: 0 0 14px; font-size: 15px; line-height: 1.55; color: var(--inb-muted); }
.inb-aw__bullets { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--inb-line); display: grid; gap: 10px; }
.inb-aw__bullets li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--inb-paper); }
.inb-aw__check { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--inb-ramp); }
.inb-aw__check svg { width: 18px; height: 18px; display: block; }
.inb-aw__model-foot { padding: 14px 22px; border-top: 1px solid var(--inb-line); font-family: var(--inb-data); font-size: 12px; letter-spacing: 0.06em; color: var(--inb-ramp); }
.inb-aw__faq-item summary:hover { color: var(--inb-ramp); }

@media (max-width: 1100px) {
	.inb-aw__both { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.inb-why__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inb-why__artists { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.inb-why__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inb-why__fact:nth-child(3) { border-left: 0; }
	.inb-why__fact:nth-child(n+3) { border-top: 1px solid var(--inb-line); }
	.inb-why__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inb-why__steps li:nth-child(2n)::after { display: none; }
	.inb-why__for { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inb-why__dot { display: none; }
}
@media (max-width: 760px) {
	.inb-aw__models { grid-template-columns: 1fr; }
	.inb-aw__both { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.inb-why__hero { padding: 40px 16px 28px; }
	.inb-why__cards { grid-template-columns: 1fr; }
	.inb-why__cards > .inb-why__card:first-child { grid-column: auto; }
	.inb-why__artists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.inb-why__steps { grid-template-columns: 1fr; gap: 0; }
	.inb-why__steps li { padding: 0 0 24px 56px; }
	.inb-why__steps li::before { position: absolute; left: 0; top: 0; margin: 0; }
	.inb-why__steps li::after, .inb-why__steps li:nth-child(2n)::after { display: block; top: 44px; bottom: 0; left: 19px; right: auto; width: 2px; height: auto; }
	.inb-why__steps li:last-child::after { display: none; }
	.inb-why__quote { padding-left: 18px; border-left-width: 6px; }
	.inb-why__cta { padding: 28px 20px; }
}
@media (max-width: 480px) {
	.inb-why__facts { grid-template-columns: 1fr; }
	.inb-why__fact { border-left: 0; border-top: 1px solid var(--inb-line); }
	.inb-why__fact:first-child { border-top: 0; }
	.inb-why__for, .inb-aw__both { grid-template-columns: 1fr; }
}

/* 1.0.1 portal */
/* Künstlerportal (helles Layout): Équipe, Dépenses, Playback und Akkorde, Transposition, Plan de scène. */

/* Équipe: Statusabzeichen Invité (amber), Accepté (grün), Refusé (rot), Payé (grau) */
.inb-crew__st { display: inline-flex; align-items: center; font-family: var(--inb-data); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.1em; border: 1px solid currentColor; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.inb-crew__st--invited { color: var(--inb-ramp); }
.inb-crew__st--accepted { color: var(--inb-ok); }
.inb-crew__st--declined { color: var(--inb-signal); }
.inb-crew__st--paid { color: var(--inb-dust); }
.inb-theme-light .inb-crew__st { font-family: var(--inb-body); font-size: 11px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; border-color: transparent; padding: 3px 10px; }
.inb-theme-light .inb-crew__st--invited { background: var(--inb-ramp-soft, rgba(255, 194, 74, 0.25)); color: var(--inb-ramp-text, #8a5a00); }
.inb-theme-light .inb-crew__st--accepted { background: #e2f5ec; color: #17734f; }
.inb-theme-light .inb-crew__st--declined { background: #fbe4ec; color: #b3235a; }
.inb-theme-light .inb-crew__st--paid { background: var(--inb-tint, rgba(28, 30, 38, 0.06)); color: var(--inb-muted); }
.inb-crew td.inb-num input { width: 90px; text-align: right; font-family: var(--inb-data); }
.inb-crew td.inb-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.inb-crew__pick { display: grid; gap: 6px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin-bottom: 10px; }
.inb-crew__split, .inb-crew__payout { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--inb-line); }
.inb-totals--left { margin-left: 0; }
.inb-crew__done { color: var(--inb-ok); font-weight: 700; }
.inb-check--inline { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; white-space: nowrap; }
.inb-check--inline input { margin-top: 0; }

/* Dépenses: Belegvorschau, Summenzeile */
.inb-exp__cell { white-space: nowrap; }
.inb-exp__receipt img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; border: 1px solid var(--inb-line); display: inline-block; vertical-align: middle; }
.inb-exp__doc { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--inb-line); border-radius: 4px; font-family: var(--inb-data); font-size: 10px; vertical-align: middle; }
.inb-exp__rm { border: 0; background: transparent; color: var(--inb-dust); cursor: pointer; font-size: 16px; line-height: 1; margin-left: 4px; vertical-align: middle; }
.inb-exp__rm:hover { color: var(--inb-signal); }
.inb-exp__add { display: inline-block; cursor: pointer; font-size: 12px; text-decoration: underline; color: var(--inb-ramp); }
.inb-theme-light .inb-exp__add { color: var(--inb-fog); }
.inb-exp__total { text-align: right; margin: 10px 0 0; font-size: 14px; }
.inb-exp__total b { font-family: var(--inb-data); }

/* Bilan: Ausgaben als schmaler zweiter Balken rechts im Monatsstapel */
.inb-bars__stack .inb-bars__exp { position: absolute; bottom: 0; right: 0; left: auto; width: 34%; border-radius: 3px 3px 0 0; background: rgba(255, 77, 109, 0.55); }
.inb-bars__key--exp { background: rgba(255, 77, 109, 0.55); }
.inb-theme-light .inb-bars__exp, .inb-theme-light .inb-bars__key--exp { background: rgba(179, 35, 90, 0.45); }

/* Répertoire: Akkorde in Monospace, Playback-Kasten, Symbole in der Titelliste, Transposition */
#inb-song-form textarea[name="chords"] { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; white-space: pre; overflow-x: auto; }
.inb-track { border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 12px 14px; margin: 0 0 14px; }
.inb-track audio { width: 100%; max-width: 480px; display: block; margin: 8px 0; }
.inb-songicons { margin-left: 6px; font-size: 12px; color: var(--inb-dust); white-space: nowrap; }
.inb-songicons span { margin-left: 4px; }
.inb-sl__transpose { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--inb-muted); }
.inb-sl__transpose .inb-select--sm { padding: 6px 10px; }

/* Plan de scène: Palette, Bühne mit Raster, verschiebbare Elemente, Kanalliste */
.inb-stage-palette { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.inb-stage-palette__btn { display: inline-flex; align-items: center; gap: 6px; }
.inb-stage__glyph { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-family: var(--inb-data); font-size: 11px; font-weight: 700; line-height: 1; }
.inb-stage__glyph svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.inb-stage { position: relative; width: 100%; max-width: 900px; aspect-ratio: 10 / 6; border: 2px solid var(--inb-paper); border-radius: 4px; background-color: var(--inb-surface); background-image: linear-gradient(var(--inb-line) 1px, transparent 1px), linear-gradient(90deg, var(--inb-line) 1px, transparent 1px); background-size: 10% 10%; overflow: hidden; user-select: none; -webkit-user-select: none; touch-action: none; margin-bottom: 10px; }
.inb-stage__front { position: absolute; left: 50%; bottom: 4px; transform: translateX(-50%); font-family: var(--inb-data); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--inb-dust); pointer-events: none; }
.inb-stage__item { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 34px; min-height: 34px; box-sizing: border-box; border: 1px solid var(--inb-fog); border-radius: 6px; background: rgba(108, 139, 255, 0.16); color: var(--inb-paper); cursor: grab; touch-action: none; font-size: 11px; line-height: 1.1; padding: 2px; overflow: hidden; }
.inb-stage__item:active { cursor: grabbing; }
.inb-stage__item.is-selected { border-color: var(--inb-ramp); box-shadow: 0 0 0 3px var(--inb-ramp-soft, rgba(255, 194, 74, 0.35)); z-index: 2; }
.inb-stage__item .inb-stage__glyph, .inb-stage__item .inb-stage__glyph svg { width: 22px; height: 22px; }
.inb-stage__label { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; pointer-events: none; }
.inb-stage__item--monitor { background: rgba(255, 194, 74, 0.25); border-color: var(--inb-ramp); }
.inb-stage__item--power { background: rgba(255, 77, 109, 0.18); border-color: var(--inb-signal); }
.inb-stage__item--riser { background: rgba(28, 30, 38, 0.06); border-style: dashed; }
.inb-stage__item--drums, .inb-stage__item--keys, .inb-stage__item--amp { background: rgba(76, 214, 160, 0.16); border-color: var(--inb-ok); }
.inb-stage-tools { margin: 0 0 14px; }
.inb-inputs input { width: 100%; }
.inb-inputs input[type="checkbox"] { width: auto; }
.inb-inputs th:first-child, .inb-inputs td:first-child { width: 56px; }
.inb-inputs th:nth-child(5), .inb-inputs td:nth-child(5) { width: 56px; text-align: center; }
.inb-inputs th:last-child, .inb-inputs td:last-child { width: 36px; }
@media (max-width: 640px) {
	.inb-stage__item { font-size: 9px; }
	.inb-stage__item .inb-stage__glyph, .inb-stage__item .inb-stage__glyph svg { width: 16px; height: 16px; }
}

/* 1.0.1 public: Stage plot und Input list (/artistes/{slug}/documents/stage-plot/), Antwortseite der Équipe (/equipe/{token}/) */
.inb-stage__head .inb-lead { margin-bottom: 12px; }
.inb-stage__actions { margin: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.inb-stage__plot, .inb-stage__list { border: 1px solid var(--inb-line); border-radius: var(--inb-radius); background: var(--inb-surface); padding: 22px 24px; margin: 0 0 18px; }
.inb-stage__dims { font-family: var(--inb-data); color: var(--inb-dust); letter-spacing: 0.08em; margin-left: 8px; }
.inb-stage__canvas { margin: 14px 0 12px; }
.inb-stage__svg { display: block; width: 100%; max-height: 70vh; height: auto; }
.inb-stage__floor { fill: rgba(244, 242, 237, 0.06); stroke: var(--inb-paper); stroke-width: 2; }
.inb-stage__grid { stroke: rgba(244, 242, 237, 0.14); stroke-width: 1; stroke-dasharray: 4 6; }
.inb-stage__audience { fill: var(--inb-dust); font-family: var(--inb-data); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; }
.inb-stage__item rect { fill: var(--inb-ink); stroke: var(--inb-ramp); stroke-width: 2.5; }
.inb-stage__item--monitor rect, .inb-stage__item--wedge rect { stroke: var(--inb-signal); }
.inb-stage__item--riser rect { fill: rgba(255, 194, 74, 0.12); stroke-dasharray: 8 6; }
.inb-stage__glyph { fill: var(--inb-ramp); font-family: var(--inb-display); font-weight: 800; font-size: 22px; }
.inb-stage__label { fill: var(--inb-paper); font-family: var(--inb-data); font-size: 12px; }
.inb-stage__legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--inb-muted); }
.inb-stage__legend-title { font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--inb-dust); align-self: center; }
.inb-stage__key { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 6px; margin-right: 8px; border: 2px solid var(--inb-ramp); border-radius: 6px; background: var(--inb-ink); color: var(--inb-ramp); font-family: var(--inb-display); font-weight: 800; font-size: 13px; }
.inb-stage__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 10px; }
.inb-stage__inputs { min-width: 520px; }
.inb-stage__inputs td { font-size: 14px; }
.inb-stage__notes { margin: 12px 0 0; color: var(--inb-muted); font-size: 14px; }
.inb-stage__foot { display: none; }
.inb-crew__card { border: 1px solid var(--inb-line); border-left: 5px solid var(--inb-ramp); border-radius: var(--inb-radius); background: var(--inb-surface); padding: 20px 22px; margin: 18px 0 6px; }
.inb-crew__facts { margin: 0; }
@media (max-width: 640px) {
	.inb-stage__plot, .inb-stage__list { padding: 16px 14px; }
	.inb-stage__inputs { min-width: 420px; }
}
@media print {
	body.inb-print-stage { background: #fff; color: #000; }
	body.inb-print-stage .inb-head, body.inb-print-stage .inb-foot, body.inb-print-stage .inb-strip, body.inb-print-stage .inb-topbar, body.inb-print-stage .inb-stage__actions, body.inb-print-stage .inb-pdocs__back, body.inb-print-stage .inb-pdocs__visual { display: none !important; }
	body.inb-print-stage .inb-pdocs { max-width: none; padding: 0; }
	body.inb-print-stage .inb-pdocs__head { grid-template-columns: 1fr; margin-bottom: 8mm; }
	body.inb-print-stage .inb-pdocs__name { color: #000; font-size: 24px; }
	body.inb-print-stage .inb-eyebrow, body.inb-print-stage .inb-lead, body.inb-print-stage .inb-stage__notes, body.inb-print-stage .inb-stage__legend { color: #333; }
	body.inb-print-stage .inb-stage__plot, body.inb-print-stage .inb-stage__list { background: #fff; border-color: #999; page-break-inside: avoid; padding: 6mm; margin-bottom: 6mm; color: #000; }
	body.inb-print-stage .inb-stage__list { page-break-before: always; }
	body.inb-print-stage .inb-stage__svg { max-height: 150mm; }
	body.inb-print-stage .inb-stage__floor { fill: #fff; stroke: #000; }
	body.inb-print-stage .inb-stage__grid { stroke: #bbb; }
	body.inb-print-stage .inb-stage__audience, body.inb-print-stage .inb-stage__label { fill: #000; }
	body.inb-print-stage .inb-stage__item rect { fill: #fff; stroke: #000; }
	body.inb-print-stage .inb-stage__item--riser rect { fill: #f2f2f2; }
	body.inb-print-stage .inb-stage__glyph, body.inb-print-stage .inb-stage__key { fill: #000; color: #000; border-color: #000; background: #fff; }
	body.inb-print-stage .inb-stage__scroll { overflow: visible; }
	body.inb-print-stage .inb-stage__inputs { min-width: 0; color: #000; }
	body.inb-print-stage .inb-stage__inputs th { color: #333; }
	body.inb-print-stage .inb-stage__inputs th, body.inb-print-stage .inb-stage__inputs td { border-bottom-color: #ccc; padding: 4px 6px; font-size: 11px; }
	body.inb-print-stage .inb-stage__foot { display: block; margin-top: 6mm; font-size: 10px; color: #555; }
	body.inb-print-stage .inb-main { padding: 0; }
	/* @page A4 quer setzt renderStagePlot() per Style-Element, damit die anderen öffentlichen Seiten hochkant bleiben. */
}

/* 1.0.2 support */
/* Reiter Support der Fiche artiste: Jahreswahl mit CSV-Links, breite Tabellen scrollen in ihrem Rahmen,
   Statuswahl je Dokument klein, Positionszeilen des Erstellers mit schmalen Feldern, Support-Einträge im Verlauf markiert. */
.inb-support .inb-section { margin-top: 16px; }
.inb-support__bar { align-items: end; }
.inb-support__bar .inb-actions { flex-wrap: wrap; }
.inb-table-wrap { overflow-x: auto; max-width: 100%; }
.inb-table-wrap .inb-table { min-width: 640px; }
.inb-support__docs td.inb-actions { white-space: nowrap; }
.inb-support__status { font: inherit; font-size: 12px; padding: 4px 6px; border: 1px solid var(--inb-line); border-radius: 6px; background: transparent; color: inherit; max-width: 120px; }
.inb-support__send td { background: rgba(255, 194, 74, 0.07); }
.inb-support__send .inb-form { margin: 0; }
.inb-support__items input { width: 100%; box-sizing: border-box; min-height: 34px; font: inherit; padding: 4px 8px; border: 1px solid var(--inb-line); border-radius: 6px; background: transparent; color: inherit; }
.inb-support__items input.inb-num { text-align: right; max-width: 120px; }
.inb-support__items td { vertical-align: middle; }
.inb-support__creator { padding: 16px; border: 1px solid var(--inb-line); border-radius: 10px; margin-bottom: 16px; }
.inb-support__logitem { border-left: 3px solid var(--inb-ramp); padding-left: 8px; }
.inb-theme-light .inb-support__send td { background: #fff7e6; }

/* 1.1.0 contrats */
/* Vertragsvorlagen im Künstlerportal (Profil > Mes contrats types) und in der Verwaltung (Modèles > Modèles artistes):
   Liste je Variante, Abzeichen für gemeinsame Vorlage oder eigene Fassung, aufklappbare Platzhalterhilfe, Vorschaukasten. */
.inb-tplgroup .inb-table td { vertical-align: middle; }
.inb-tplgroup .inb-actions { flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.inb-tplbadge { display: inline-block; font-size: 12px; line-height: 1.4; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--inb-line); white-space: nowrap; }
.inb-tplbadge.is-own { border-color: var(--inb-ramp); background: rgba(255, 194, 74, 0.14); }
.inb-tplcountry { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.inb-tplcountry select { min-height: 34px; font: inherit; font-size: 13px; padding: 0 8px; border: 1px solid var(--inb-line); border-radius: 6px; background: transparent; color: inherit; }
.inb-tplscope { margin-bottom: 4px; }

.inb-phhelp { margin: 16px 0; }
.inb-phhelp summary { cursor: pointer; font-size: 13px; font-weight: 500; }
.inb-phlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 6px 20px; margin: 10px 0 0; }
.inb-phlist > div { display: grid; grid-template-columns: 170px 1fr; gap: 10px; align-items: baseline; padding: 3px 0; border-bottom: 1px solid var(--inb-line); }
.inb-phlist dt { margin: 0; }
.inb-phlist dd { margin: 0; font-size: 13px; opacity: 0.85; }
.inb-phlist code { cursor: pointer; font-size: 12px; padding: 2px 6px; border-radius: 5px; border: 1px solid var(--inb-line); white-space: nowrap; }
.inb-phlist code:hover { border-color: var(--inb-ramp); }

.inb-cprev { margin: 16px 0; border: 1px solid var(--inb-line); border-radius: 10px; overflow: hidden; }
.inb-cprev__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--inb-line); }
.inb-cprev__body { padding: 18px; max-height: 60vh; overflow-y: auto; font-size: 14px; line-height: 1.55; }
.inb-cprev__body h1, .inb-cprev__body h2, .inb-cprev__body h3 { font-size: 15px; margin: 18px 0 6px; }
.inb-cprev__body p { margin: 0 0 10px; }
.inb-cprev__body table { width: 100%; border-collapse: collapse; }
.inb-cprev__body td, .inb-cprev__body th { padding: 4px 8px; border-bottom: 1px solid var(--inb-line); text-align: left; }
.inb-theme-light .inb-tplbadge.is-own { background: #fff7e6; }
.inb-theme-light .inb-cprev__body { background: #fff; }

@media ( max-width: 700px ) {
	.inb-phlist > div { grid-template-columns: 1fr; }
	.inb-tplgroup .inb-actions { justify-content: flex-start; }
}

/* 1.1.0 dashboard
   Startseite des Künstlerportals: Begrüßung, Umsatz, nächste Termine, Aufgaben, Zahlen,
   Profil und offene Anfragen. Alles aus den vorhandenen Farbvariablen, keine Zusatzdateien,
   keine Diagrammbibliothek. Der Balken ist reines CSS. */

.inb-dash--home { display: block; }
.inb-dash--home .inb-section:first-of-type { border-top: 0; }
.inb-dash__label { display: block; font-family: var(--inb-data); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--inb-dust); }
.inb-dash__icon { width: 15px; height: 15px; flex: 0 0 15px; }

/* Begrüßung */
.inb-dash__hello { margin: 0 0 22px; }
.inb-dash__hello h1 { margin: 0; font-family: var(--inb-body); font-size: 26px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; text-transform: none; }
.inb-dash__sub { margin: 4px 0 0; color: var(--inb-muted); font-size: 14px; }

/* Umsatz des Jahres */
.inb-rev { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 22px 24px 20px; margin: 0 0 26px; }
.inb-rev__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.inb-rev__big { margin: 6px 0 0; font-family: var(--inb-data); font-size: clamp( 32px, 7vw, 48px ); font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; }
.inb-rev__split { display: flex; flex-wrap: wrap; gap: 10px 40px; margin: 18px 0 10px; }
.inb-rev__split b { display: block; font-family: var(--inb-data); font-size: 19px; font-weight: 600; line-height: 1.3; }
.inb-rev__bar { display: flex; height: 6px; border-radius: 999px; overflow: hidden; background: var(--inb-line); }
.inb-rev__bar span { background: var(--inb-ramp); }
.inb-rev__bar i { background: var(--inb-ramp-soft, rgba( 255, 194, 74, 0.28 ) ); }
.inb-rev__foot { margin: 12px 0 0; font-family: var(--inb-data); font-size: 12px; color: var(--inb-dust); }

/* Vergleich zum Vorjahr */
.inb-pill { display: inline-flex; align-items: center; gap: 5px; font-family: var(--inb-data); font-size: 12px; line-height: 1; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--inb-line); color: var(--inb-muted); white-space: nowrap; }
.inb-pill--up { border-color: transparent; background: rgba( 31, 157, 106, 0.14 ); color: var(--inb-ok); }
.inb-pill--down { border-color: transparent; background: rgba( 214, 51, 108, 0.14 ); color: var(--inb-signal); }

/* Nächste Termine */
.inb-next { list-style: none; margin: 0; padding: 0; }
.inb-next li { display: grid; grid-template-columns: 104px minmax( 0, 1fr ) auto auto; grid-template-areas: "date what fee tag"; align-items: center; gap: 4px 16px; padding: 12px 10px; border-bottom: 1px solid var(--inb-line); cursor: pointer; border-radius: var(--inb-radius); }
.inb-next li:last-child { border-bottom: 0; }
.inb-next li:hover { background: var(--inb-tint, rgba( 255, 255, 255, 0.04 ) ); }
.inb-next__date { grid-area: date; font-family: var(--inb-data); font-size: 13px; color: var(--inb-muted); white-space: nowrap; }
.inb-next__what { grid-area: what; min-width: 0; }
.inb-next__what b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inb-next__fee { grid-area: fee; font-family: var(--inb-data); font-size: 14px; white-space: nowrap; }
.inb-next__tag { grid-area: tag; }

/* Aufgaben */
.inb-todo__text { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.inb-todo li .inb-dash__icon { color: var(--inb-ramp-text, var(--inb-ramp) ); }
.inb-dash__ok { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--inb-muted); }
.inb-dash__ok .inb-dash__icon { color: var(--inb-ok); }

/* Zahlen des Betriebs */
.inb-facts { display: grid; grid-template-columns: repeat( auto-fit, minmax( 148px, 1fr ) ); gap: 18px 14px; }
.inb-fact b { display: block; margin-top: 3px; font-family: var(--inb-data); font-size: 20px; font-weight: 600; line-height: 1.2; }

/* Profil */
.inb-dash__chips { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.inb-chip--miss { cursor: default; }
.inb-chip--miss[data-go] { cursor: pointer; }
.inb-chip--miss[data-go]:hover { border-color: var(--inb-ramp); }

/* Offene Anfragen der Agentur */
.inb-opp__note { display: block; margin: 0 0 14px; max-width: 68ch; }
.inb-opps { display: grid; grid-template-columns: repeat( auto-fit, minmax( 240px, 1fr ) ); gap: 14px; }
.inb-opp { background: var(--inb-surface); border: 1px solid var(--inb-line); border-radius: var(--inb-radius); padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.inb-opp__title { margin: 0; font-size: 15px; }
.inb-opp__budget { margin: 8px 0 0; font-family: var(--inb-data); font-size: 18px; font-weight: 600; }
.inb-opp__match { margin: 0; font-size: 12px; color: var(--inb-dust); }
.inb-opp__act { margin-top: 12px; }
.inb-opp__done { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--inb-ok); }

@media ( max-width: 640px ) {
	.inb-dash__hello h1 { font-size: 22px; }
	.inb-rev { padding: 18px; }
	.inb-rev__split { gap: 10px 26px; }
	.inb-next li { grid-template-columns: minmax( 0, 1fr ) auto; grid-template-areas: "date tag" "what fee"; row-gap: 6px; }
	.inb-next__fee { align-self: end; }
	.inb-next__tag { justify-self: end; }
	.inb-facts { grid-template-columns: repeat( auto-fit, minmax( 120px, 1fr ) ); gap: 14px 10px; }
	.inb-fact b { font-size: 17px; }
}

/* 1.1.0 Hinweis im Veranstalterbereich, ruhig gesetzt */
.inb-side__note { font-size: 12px; line-height: 1.5; color: var(--inb-muted); margin: 10px 0 0; }
.inb-side__note a { color: var(--inb-ramp); }
