@font-face { font-family: 'Italiana'; src: url('fonts/Italiana-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Manrope'; src: url('fonts/Manrope-Variable.ttf') format('truetype'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'DM Mono'; src: url('fonts/DMMono-Light.ttf') format('truetype'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'DM Mono'; src: url('fonts/DMMono-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }

:root {
  color-scheme: light;
  --paper: #f0eee8;
  --paper-soft: #ebe5dd;
  --ink: #1b1b19;
  --muted: #706d67;
  --line: #c4c0b8;
  --rust: #a1412f;
  --green: #426b50;
  --display: 'Italiana', Georgia, serif;
  --interface: 'Manrope', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
}

* { box-sizing: border-box; }
html { min-height: 100%; font-synthesis: none; text-rendering: optimizeLegibility; }
body { min-height: 100%; margin: 0; background: var(--paper); color: var(--ink); font-family: var(--interface); }
button, input, select { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
[hidden] { display: none !important; }

.site-header {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 24px clamp(28px, 4vw, 64px);
  border-bottom: 1px solid var(--line);
}
.site-header p, .brand span, .eyebrow, .section-index, .site-footer, .auth-tab,
.business-form label > span:first-child, .primary-button, .password-toggle, .check-field,
.dashboard-kicker, .dashboard-nav, .metric-label, .status-pill, .card-label, .person-meta {
  font-family: var(--mono);
  font-weight: 300;
  letter-spacing: .14em;
}
.site-header p { margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.brand { display: inline-flex; align-items: flex-end; gap: 17px; text-decoration: none; }
.brand .wordmark { display: block; width: clamp(122px, 9vw, 170px); height: auto; }
.brand span { padding-bottom: 5px; font-size: 13px; }

.auth-shell { min-height: calc(100vh - 182px); display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(460px, .96fr); }
.auth-intro, .auth-panel { min-width: 0; padding: clamp(42px, 4.2vw, 72px) clamp(28px, 4vw, 64px); }
.auth-intro { display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.eyebrow, .section-index, .dashboard-kicker, .card-label { margin: 0; color: var(--rust); font-size: 12px; }
.auth-intro h1, .auth-view h2, .dashboard-title, .workspace-card h2, .setup-card h3 {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.035em;
}
.auth-intro h1 { max-width: 780px; margin: 22px 0 28px; font-size: clamp(48px, 5.8vw, 107px); line-height: .96; }
.lead { max-width: 620px; margin: 0; color: var(--muted); font-size: clamp(16px, 1.2vw, 20px); line-height: 1.6; }
.intro-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: clamp(36px, 5vh, 64px) 0 0; border-top: 1px solid var(--line); }
.intro-facts div { padding: 24px 18px 0 0; }
.intro-facts dt { color: var(--rust); font-family: var(--display); font-size: 32px; }
.intro-facts dd { margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.45; }

.auth-panel { align-self: stretch; }
.auth-tabs { display: flex; gap: clamp(24px, 4vw, 64px); border-bottom: 1px solid var(--line); }
.auth-tab { position: relative; min-height: 52px; padding: 0; border: 0; background: transparent; font-size: 12px; cursor: pointer; }
.auth-tab::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--rust); content: ''; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.auth-tab.is-active { color: var(--rust); }
.auth-tab.is-active::after { transform: scaleX(1); }
.auth-view { max-width: 620px; padding-top: clamp(38px, 5vh, 62px); }
.auth-view h2 { margin: 16px 0 30px; font-size: clamp(36px, 3.5vw, 56px); line-height: .98; }
.form-intro { max-width: 670px; margin: -12px 0 34px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.business-form { display: grid; gap: 23px; }
.business-form label { display: grid; gap: 9px; }
.business-form label > span:first-child { font-size: 11px; }
.business-form input, .business-form select { width: 100%; min-height: 58px; padding: 0 17px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font-size: 16px; }
.business-form input:focus, .business-form select:focus { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--rust); }
.field-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field-pair-location { grid-template-columns: 1.3fr .7fr; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 100px; }
.password-toggle { position: absolute; top: 1px; right: 1px; bottom: 1px; padding: 0 14px; border: 0; background: var(--paper); font-size: 10px; cursor: pointer; }
.check-field { grid-template-columns: 22px 1fr; align-items: start; gap: 11px !important; color: var(--muted); font-size: 10px; line-height: 1.55; }
.check-field input { width: 20px; min-height: 20px; margin: 0; padding: 0; accent-color: var(--rust); }
.primary-button { min-height: 62px; display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding: 0 22px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font-size: 12px; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.primary-button:hover, .primary-button:focus-visible { border-color: var(--rust); background: var(--rust); }
.primary-button:disabled { cursor: wait; opacity: .6; }
.secondary-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--ink); color: var(--ink); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-decoration: none; transition: color .2s ease, border-color .2s ease; }
.secondary-button:hover, .secondary-button:focus-visible { border-color: var(--rust); color: var(--rust); }
.notice, .form-message { padding: 18px 20px; border: 1px solid var(--line); font-size: 14px; line-height: 1.45; }
.notice { margin-top: 32px; }
.notice-success, .form-message.is-success { border-color: var(--green); color: var(--green); }
.notice-error, .form-message.is-error { border-color: var(--rust); color: var(--rust); }
.form-message { display: none; margin-top: 24px; }
.form-message.is-visible { display: block; }

.site-footer { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 18px clamp(28px, 4vw, 64px); border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { color: var(--rust); }
.language-switch { display: flex; align-items: center; justify-content: center; gap: 20px; }
.language-switch a { position: relative; padding: 8px 0; text-decoration: none; }
.language-switch a.is-current { color: var(--ink); }
.language-switch a.is-current::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--ink); content: ''; }

/* Geschützter Business-Arbeitsraum */
.dashboard-page { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; }
.dashboard-header { min-height: 92px; }
.dashboard-nav { display: flex; align-items: center; gap: 28px; color: var(--muted); font-size: 11px; }
.dashboard-nav a { text-decoration: none; }
.dashboard-nav a:hover { color: var(--rust); }
.dashboard-nav .is-current { color: var(--ink); border-bottom: 1px solid var(--ink); padding-bottom: 8px; }
.text-button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.text-button:hover { color: var(--rust); }
.dashboard-main { padding: clamp(42px, 4.5vw, 72px) clamp(28px, 4vw, 64px); }
.dashboard-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(42px, 6vw, 100px); align-items: end; padding-bottom: clamp(42px, 4.5vw, 68px); }
.dashboard-title { max-width: 820px; margin: 20px 0 0; font-size: clamp(58px, 7vw, 102px); line-height: .95; overflow-wrap: anywhere; }
.owner-block { padding-top: 20px; border-top: 1px solid var(--line); }
.owner-name { margin: 0 0 7px; font-size: clamp(20px, 1.65vw, 28px); }
.person-meta { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.8; }
.status-pill { display: inline-block; margin-top: 18px; padding: 9px 12px; border-radius: 999px; background: #e2e8dc; color: var(--green); font-size: 9px; }
.workspace-card { border: 1px solid var(--line); }
.workspace-card-head { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: start; padding: clamp(26px, 3vw, 44px); border-bottom: 1px solid var(--line); }
.workspace-card h2 { margin: 13px 0 0; font-size: clamp(38px, 4vw, 64px); line-height: 1; }
.license-name { margin: 4px 0 0; font-family: var(--mono); font-size: 11px; letter-spacing: .12em; }
.metrics { display: grid; grid-template-columns: repeat(3, 1fr); }
.metric { min-height: 165px; padding: clamp(24px, 2.5vw, 36px); border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric-label { display: block; color: var(--muted); font-size: 10px; }
.metric-value { display: block; margin-top: 25px; font-family: var(--display); font-size: clamp(42px, 3.7vw, 60px); line-height: 1; }
.metric-copy { display: block; margin-top: 14px; color: var(--muted); font-size: 13px; }
.setup-section { padding-top: clamp(50px, 5vw, 80px); }
.setup-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.setup-heading h2 { margin: 15px 0 0; font-family: var(--display); font-size: clamp(38px, 3.8vw, 60px); font-weight: 400; letter-spacing: -.03em; }
.setup-heading p { max-width: 480px; margin: 0; color: var(--muted); line-height: 1.5; }
.setup-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.setup-card { min-height: 245px; padding: clamp(26px, 2.5vw, 38px); border-right: 1px solid var(--line); }
.setup-card-link { display: block; color: inherit; text-decoration: none; transition: background .2s ease; }
.setup-card-link:hover, .setup-card-link:focus-visible { background: var(--paper-soft); outline: 0; }
.setup-card:last-child { border-right: 0; }
.setup-card h3 { margin: 28px 0 15px; font-size: clamp(29px, 2.5vw, 40px); font-weight: 400; line-height: 1; }
.setup-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.setup-state { display: inline-block; margin-top: 35px; color: var(--rust); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }

/* Standorte & Bereiche */
.structure-main { padding: clamp(42px, 4.5vw, 72px) clamp(28px, 4vw, 64px); }
.structure-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: end; gap: clamp(42px, 6vw, 100px); padding-bottom: clamp(38px, 4vw, 60px); }
.structure-hero h1 { margin: 18px 0 0; font-family: var(--display); font-size: clamp(54px, 6vw, 92px); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.structure-hero > p { max-width: 540px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.structure-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.structure-metrics div { min-height: 115px; padding: 24px 28px; border-right: 1px solid var(--line); }
.structure-metrics div:last-child { border-right: 0; }
.structure-metrics span { display: block; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .13em; }
.structure-metrics strong { display: block; margin-top: 16px; font-family: var(--display); font-size: 32px; font-weight: 400; }
.structure-message { display: none; margin-top: 24px; padding: 17px 20px; border: 1px solid var(--line); font-size: 13px; }
.structure-message.is-visible { display: block; }
.structure-message.is-success { border-color: var(--green); color: var(--green); }
.structure-message.is-error { border-color: var(--rust); color: var(--rust); }
.structure-workspace { display: grid; grid-template-columns: minmax(245px, 320px) minmax(0, 1fr); margin-top: 28px; border: 1px solid var(--line); }
.location-sidebar { border-right: 1px solid var(--line); }
.location-sidebar-head { display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.location-sidebar-head span { color: var(--muted); font-family: var(--mono); font-size: 10px; }
.location-list { display: grid; }
.location-nav-item { position: relative; display: grid; grid-template-columns: 34px 1fr; gap: 3px 12px; width: 100%; padding: 22px 24px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.location-nav-item::before { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--rust); content: ''; transform: scaleY(0); transition: transform .2s ease; }
.location-nav-item:hover, .location-nav-item.is-active { background: var(--paper-soft); }
.location-nav-item.is-active::before { transform: scaleY(1); }
.location-nav-item > span { grid-row: 1 / 3; color: var(--rust); font-family: var(--display); font-size: 25px; }
.location-nav-item strong { font-size: 14px; font-weight: 500; }
.location-nav-item small { color: var(--muted); font-family: var(--mono); font-size: 8px; line-height: 1.5; }
.create-location, .add-department { border-top: 1px solid var(--line); }
.create-location summary, .add-department summary { padding: 22px 24px; color: var(--rust); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; cursor: pointer; list-style: none; }
.create-location summary::-webkit-details-marker, .add-department summary::-webkit-details-marker, .department-card summary::-webkit-details-marker { display: none; }
.license-note { margin: 0; padding: 22px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.55; }
.location-detail { min-width: 0; }
.location-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: clamp(28px, 3vw, 44px); border-bottom: 1px solid var(--line); }
.location-panel-head h2 { margin: 12px 0 0; font-family: var(--display); font-size: clamp(40px, 4.2vw, 66px); font-weight: 400; letter-spacing: -.035em; line-height: 1; overflow-wrap: anywhere; }
.structure-form { display: grid; gap: 19px; }
.location-form { padding: clamp(28px, 3vw, 44px); border-bottom: 1px solid var(--line); }
.structure-form label { display: grid; gap: 9px; }
.structure-form label > span { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.structure-form input, .structure-form select { width: 100%; min-height: 54px; padding: 0 14px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font-size: 14px; }
.structure-form input:focus, .structure-form select:focus { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--rust); }
.structure-form input:disabled, .structure-form select:disabled { color: var(--muted); opacity: 1; }
.field-triple { display: grid; grid-template-columns: .9fr 1.4fr .7fr; gap: 18px; }
.outline-button { min-height: 52px; padding: 0 18px; border: 1px solid var(--ink); background: transparent; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; cursor: pointer; }
.outline-button:hover, .outline-button:focus-visible { border-color: var(--rust); background: var(--rust); color: var(--paper); }
.outline-button:disabled { cursor: wait; opacity: .55; }
.align-right { justify-self: end; }
.compact-form { padding: 6px 24px 26px; }
.department-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: clamp(32px, 3.5vw, 50px) clamp(28px, 3vw, 44px) 24px; }
.department-heading h3 { margin: 11px 0 0; font-family: var(--display); font-size: clamp(34px, 3.3vw, 52px); font-weight: 400; letter-spacing: -.03em; }
.department-heading > p { max-width: 440px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.department-list { border-top: 1px solid var(--line); }
.department-card { border-bottom: 1px solid var(--line); }
.department-card summary { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 88px; padding: 20px clamp(28px, 3vw, 44px); cursor: pointer; }
.department-card summary > span { color: var(--rust); font-family: var(--display); font-size: 27px; }
.department-card summary strong { font-family: var(--display); font-size: clamp(24px, 2.2vw, 34px); font-weight: 400; }
.department-card summary small { color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }
.department-card[open] { background: var(--paper-soft); }
.department-form { padding: 0 clamp(28px, 3vw, 44px) 30px 110px; }
.add-department { border-top: 0; }
.add-department[open] { background: var(--paper-soft); }
.add-department .compact-form { max-width: 650px; padding: 0 clamp(28px, 3vw, 44px) 38px; }
.empty-structure { min-height: 430px; display: flex; flex-direction: column; justify-content: center; padding: 50px; }
.empty-structure h2 { max-width: 500px; margin: 15px 0 0; font-family: var(--display); font-size: 55px; font-weight: 400; }

/* Mitarbeiterverwaltung */
.employees-main { padding: clamp(42px, 4.5vw, 72px) clamp(28px, 4vw, 64px); }
.invite-card { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); margin-top: 28px; border: 1px solid var(--line); }
.invite-copy { padding: clamp(28px, 3vw, 44px); border-right: 1px solid var(--line); }
.card-label { margin: 0; color: var(--rust); font-family: var(--mono); font-size: 10px; letter-spacing: .14em; }
.invite-copy h2, .people-heading h2 { margin: 18px 0 16px; font-family: var(--display); font-size: clamp(38px, 3.8vw, 60px); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.invite-copy > p:last-child { max-width: 420px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.employee-form { display: grid; gap: 22px; padding: clamp(28px, 3vw, 44px); }
.employee-form label { display: grid; gap: 9px; }
.employee-form label > span, .scope-fieldset legend { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.employee-form input, .employee-form select { width: 100%; min-height: 54px; padding: 0 14px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font-size: 14px; }
.employee-form input:focus, .employee-form select:focus { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--rust); }
.scope-fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--line); }
.scope-fieldset legend { padding-right: 14px; }
.scope-location { display: grid; align-content: start; gap: 11px; padding: 16px; border: 1px solid var(--line); }
.scope-location > strong { margin-bottom: 3px; font-size: 13px; font-weight: 500; }
.scope-location > small { color: var(--muted); font-size: 11px; }
.scope-check { display: grid !important; grid-template-columns: 18px 1fr; align-items: center; gap: 9px !important; color: var(--muted); cursor: pointer; }
.scope-check input { width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: var(--rust); }
.scope-check span { font-family: var(--sans) !important; font-size: 12px !important; letter-spacing: 0 !important; }
.seat-limit { align-self: center; margin: clamp(28px, 3vw, 44px); padding: 24px; border: 1px solid var(--rust); color: var(--rust); }
.seat-limit strong { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }
.seat-limit p { margin: 14px 0 0; font-size: 13px; line-height: 1.55; }
.people-section, .pending-section { padding-top: clamp(48px, 5vw, 78px); }
.people-heading { display: grid; grid-template-columns: .55fr 1.45fr; align-items: end; gap: 30px; padding-bottom: 22px; }
.people-heading h2 { margin: 0; }
.people-list, .pending-list { border-top: 1px solid var(--line); }
.person-card, .pending-card { border-bottom: 1px solid var(--line); }
.person-card summary { display: grid; grid-template-columns: 55px minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 98px; padding: 20px clamp(22px, 3vw, 42px); cursor: pointer; list-style: none; }
.person-card summary::-webkit-details-marker { display: none; }
.person-card summary > span { color: var(--rust); font-family: var(--display); font-size: 29px; }
.person-card summary div { display: grid; gap: 5px; }
.person-card summary strong { font-family: var(--display); font-size: clamp(23px, 2.2vw, 34px); font-weight: 400; }
.person-card summary small, .person-card summary em { color: var(--muted); font-family: var(--mono); font-size: 9px; font-style: normal; letter-spacing: .08em; }
.person-card[open] { background: var(--paper-soft); }
.member-form { border-top: 1px solid var(--line); padding-left: 98px; }
.owner-protection { padding: 0 clamp(22px, 3vw, 42px) 28px 98px; color: var(--muted); font-size: 13px; }
.pending-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 94px; padding: 20px clamp(22px, 3vw, 42px); }
.pending-card > div:first-child { display: grid; gap: 6px; }
.pending-card strong { font-size: 15px; font-weight: 500; }
.pending-card small { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; }
.pending-actions { display: flex; align-items: center; gap: 20px; }
.pending-actions button { padding: 10px 0; border: 0; background: transparent; font-family: var(--mono); font-size: 9px; letter-spacing: .11em; cursor: pointer; }
.pending-actions button:hover, .pending-actions button:focus-visible { color: var(--rust); }
.pending-actions button:disabled { opacity: .55; }
.empty-copy { margin: 0; padding: 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; }

/* Gemeinsame Business-Rezepte */
.recipes-main { padding: clamp(42px, 4.5vw, 72px) clamp(28px, 4vw, 64px); }
.recipes-hero-side { display: grid; align-content: end; justify-items: start; gap: 24px; }
.recipes-hero-side > p { margin: 0; }
.recipes-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.recipe-workspace { display: grid; grid-template-columns: minmax(250px, .56fr) minmax(0, 1.44fr); margin-top: 30px; border: 1px solid var(--line); }
.recipe-index { min-width: 0; border-right: 1px solid var(--line); }
.recipe-index-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.recipe-index-head a { color: var(--rust); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-decoration: none; }
.recipe-index-item { display: grid; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--line); text-decoration: none; }
.recipe-index-item:hover, .recipe-index-item.is-current { background: var(--paper-soft); box-shadow: inset 3px 0 0 var(--rust); }
.recipe-index-item > img { width: 68px; height: 68px; border: 1px solid var(--line); object-fit: cover; }
.recipe-index-item > img.is-placeholder { padding: 4px; object-fit: contain; background: var(--paper); }
.recipe-index-copy { min-width: 0; display: grid; gap: 7px; }
.recipe-index-item strong { font-family: var(--display); font-size: 25px; font-weight: 400; line-height: 1.05; }
.recipe-index-item span, .recipe-index-item small { color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; }
.recipe-empty { margin: 0; padding: 30px 22px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.recipe-editor { min-width: 0; }
.business-recipe-form { min-height: 520px; }
.recipe-form-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: clamp(26px, 3vw, 42px); border-bottom: 1px solid var(--line); }
.recipe-form-head h2, .recipe-editor-empty h2 { margin: 14px 0 0; font-family: var(--display); font-size: clamp(38px, 4vw, 62px); font-weight: 400; line-height: 1; }
.recipe-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: clamp(26px, 3vw, 42px); }
.recipe-fields label { display: grid; align-content: start; gap: 9px; }
.recipe-fields label > span { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.recipe-fields input, .recipe-fields select, .recipe-fields textarea { width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font: inherit; resize: vertical; }
.recipe-fields input, .recipe-fields select { min-height: 54px; }
.recipe-fields input:focus, .recipe-fields select:focus, .recipe-fields textarea:focus { border-color: var(--ink); box-shadow: inset 3px 0 0 var(--rust); }
.recipe-fields label small { color: var(--muted); font-size: 11px; }
.recipe-fields .wide { grid-column: 1 / -1; }
.recipe-message { min-height: 0; padding: 0 clamp(26px, 3vw, 42px); color: var(--muted); font-size: 13px; }
.recipe-message:not(:empty) { padding-top: 18px; }
.recipe-message.is-error { color: var(--rust); }
.recipe-message.is-success { color: var(--green); }
.recipe-editor-empty { min-height: 520px; display: flex; flex-direction: column; justify-content: center; padding: 42px; }
.business-recipe-section { display: grid; grid-template-columns: 132px minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.business-recipe-index { display: flex; flex-direction: column; gap: 9px; padding: 30px 18px; border-right: 1px solid var(--line); }
.business-recipe-index span, .business-recipe-index strong { font-family: var(--mono); font-size: 9px; font-weight: 300; letter-spacing: .12em; }
.business-recipe-index span { color: var(--rust); }
.business-recipe-body { min-width: 0; padding: clamp(26px, 3vw, 42px); }
.business-recipe-body label { display: grid; align-content: start; gap: 8px; }
.business-recipe-body label > span, .business-ingredient-head { font-family: var(--mono); font-size: 9px; letter-spacing: .11em; }
.business-recipe-body input, .business-recipe-body select, .business-recipe-body textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; font: inherit; }
.business-recipe-body textarea { min-height: 92px; line-height: 1.55; resize: vertical; }
.business-recipe-body input:focus, .business-recipe-body select:focus, .business-recipe-body textarea:focus { border-color: var(--ink); box-shadow: 0 2px 0 var(--rust); }
.business-recipe-title input { font-family: var(--display); font-size: clamp(32px, 3vw, 48px); line-height: 1; }
.business-recipe-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(120px, .6fr); gap: 24px; margin-top: 24px; }
.business-recipe-grid-four { grid-template-columns: minmax(180px,1.35fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(100px,.45fr); }
.business-recipe-description { margin-top: 24px; }
.business-recipe-section-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.business-recipe-section-title h3 { margin: 0; font-family: var(--display); font-size: clamp(29px, 2.5vw, 40px); font-weight: 400; line-height: 1; }
.business-recipe-section-title p { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.business-text-action { padding: 8px 0; border: 0; background: transparent; color: var(--rust); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; white-space: nowrap; cursor: pointer; }
.business-text-action:hover, .business-text-action:focus-visible { color: var(--ink); }
.business-ingredient-head, .business-ingredient-row { display: grid; grid-template-columns: 90px 90px minmax(150px, 1.2fr) minmax(130px, 1fr) 30px; gap: 14px; }
.business-ingredient-head { margin-top: 28px; color: var(--muted); }
.business-ingredient-row, .business-step-row { align-items: start; border-top: 1px solid var(--line); }
.business-step-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) 90px 30px; gap: 16px; padding-top: 10px; }
.business-step-number { padding-top: 8px; font-family: var(--display); font-size: 24px; }
.business-step-row label > span { font-size: 8px; }
.business-row-remove { width: 30px; min-height: 42px; padding: 0; border: 0; background: transparent; font-size: 20px; cursor: pointer; }
.business-row-remove:hover, .business-row-remove:focus-visible { color: var(--rust); }
.business-recipe-submit { position: sticky; bottom: 0; z-index: 4; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 18px clamp(26px, 3vw, 42px); border-top: 1px solid var(--line); background: rgb(240 238 232 / 96%); backdrop-filter: blur(10px); }
.business-recipe-submit > div { display: grid; gap: 4px; }
.business-recipe-submit strong { font-family: var(--mono); font-size: 9px; font-weight: 300; letter-spacing: .1em; }
.business-recipe-submit span { color: var(--muted); font-size: 11px; }
.business-recipe-submit .primary-button { min-width: 190px; margin: 0; }
.business-notice { margin-top: 30px; padding: 28px; border: 1px solid var(--rust); color: var(--rust); }
.business-notice strong { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }
.business-notice p { margin: 12px 0 0; }
.business-recipe-images { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.business-recipe-images article, .business-recipe-image-placeholder { position: relative; min-width: 0; aspect-ratio: 1; border: 1px solid var(--line); overflow: hidden; background: var(--paper-soft); }
.business-recipe-images article img, .business-recipe-image-placeholder img { width: 100%; height: 100%; display: block; object-fit: cover; }
.business-recipe-image-placeholder img { padding: 6%; object-fit: contain; }
.business-recipe-images article span, .business-recipe-image-placeholder span { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px; background: rgb(27 27 25 / 76%); color: var(--paper); font-family: var(--mono); font-size: 8px; letter-spacing: .09em; }
.business-recipe-images article button { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; border: 1px solid rgb(240 238 232 / 60%); background: rgb(27 27 25 / 76%); color: var(--paper); font-size: 18px; cursor: pointer; }
.business-recipe-images article button:hover, .business-recipe-images article button:focus-visible { background: var(--rust); }
.business-recipe-media-rule { display: block; margin-top: 14px; color: var(--muted); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; }

/* Unternehmensweite Rezeptorganisation */
.recipe-taxonomy-intro { align-self: end; display: grid; gap: 18px; }
.recipe-taxonomy-intro p { margin: 0; }
.recipe-taxonomy-intro a { color: var(--rust); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; text-decoration: none; }
.recipe-taxonomy-create { display: grid; grid-template-columns: .65fr 1.35fr; margin-top: 30px; border: 1px solid var(--line); }
.recipe-taxonomy-create > div, .recipe-taxonomy-create > form { padding: clamp(26px,3vw,42px); }
.recipe-taxonomy-create > div { border-right: 1px solid var(--line); }
.recipe-taxonomy-create h2, .recipe-taxonomy-list h2 { margin: 14px 0 0; font-family: var(--display); font-size: clamp(34px,4vw,56px); font-weight: 400; line-height: 1; }
.recipe-taxonomy-create form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 20px; }
.recipe-taxonomy-create label { display: grid; gap: 9px; }
.recipe-taxonomy-create label span { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.recipe-taxonomy-create input, .recipe-taxonomy-row input, .recipe-taxonomy-sub-create input { width: 100%; min-height: 48px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: 0; background: transparent; color: inherit; font: inherit; }
.recipe-taxonomy-create input:focus, .recipe-taxonomy-row input:focus, .recipe-taxonomy-sub-create input:focus { border-color: var(--ink); box-shadow: 0 2px var(--rust); }
.recipe-taxonomy-create .primary-button { margin: 0; }
.recipe-taxonomy-message { min-height: 28px; padding: 10px 0 0; color: var(--muted); font-size: 12px; }
.recipe-taxonomy-message.is-success { color: var(--green); }
.recipe-taxonomy-message.is-error { color: var(--rust); }
.recipe-taxonomy-list { margin-top: 10px; border: 1px solid var(--line); }
.recipe-taxonomy-list > header { padding: clamp(26px,3vw,42px); border-bottom: 1px solid var(--line); }
.recipe-taxonomy-category { border-bottom: 1px solid var(--line); }
.recipe-taxonomy-category:last-child { border-bottom: 0; }
.recipe-taxonomy-row { display: grid; grid-template-columns: 34px minmax(180px,1fr) 110px auto; align-items: center; gap: 20px; min-height: 82px; padding: 12px clamp(20px,3vw,38px); }
.recipe-taxonomy-row.is-sub { padding-left: clamp(48px,6vw,92px); border-top: 1px solid var(--line); background: var(--paper-soft); }
.taxonomy-handle { color: var(--muted); font-family: var(--mono); }
.recipe-taxonomy-row small { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; }
.taxonomy-actions { display: flex; align-items: center; gap: 14px; }
.taxonomy-actions button, .recipe-taxonomy-sub-create button { padding: 8px 0; border: 0; background: transparent; color: inherit; font-family: var(--mono); font-size: 9px; letter-spacing: .09em; cursor: pointer; }
.taxonomy-actions button:hover, .taxonomy-actions button:focus-visible, .recipe-taxonomy-sub-create button:hover, .recipe-taxonomy-sub-create button:focus-visible { color: var(--rust); }
.recipe-taxonomy-sub-create { display: grid; grid-template-columns: minmax(180px,1fr) auto; align-items: center; gap: 20px; padding: 12px clamp(20px,3vw,38px) 18px clamp(82px,9vw,126px); border-top: 1px solid var(--line); }
.recipe-taxonomy-warning { display: flex; gap: 20px; margin-top: 28px; padding: 22px; border: 1px solid var(--rust); color: var(--rust); }
.recipe-taxonomy-warning p { margin: 0; font-family: var(--mono); font-size: 9px; letter-spacing: .08em; line-height: 1.6; }

/* Unternehmensverwaltung und strikt getrennter MESA.-Systemadmin */
.company-admin-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 30px; border: 1px solid var(--line); }
.company-admin-metrics > div { min-height: 130px; display: grid; align-content: space-between; padding: 24px; border-right: 1px solid var(--line); }
.company-admin-metrics > div:last-child { border-right: 0; }
.company-admin-metrics span { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; }
.company-admin-metrics strong { font-family: var(--display); font-size: 44px; font-weight: 400; }
.company-admin-metrics .metric-date { font-family: var(--mono); font-size: 12px; }
.company-admin-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: 28px; border: 1px solid var(--line); }
.company-admin-card { min-width: 0; padding: clamp(28px, 4vw, 54px); border-right: 1px solid var(--line); }
.company-admin-card:last-child { border-right: 0; }
.company-admin-card h2, .company-audit h2, .system-company-control h2 { margin: 14px 0 28px; font-family: var(--display); font-size: clamp(36px, 4vw, 58px); font-weight: 400; line-height: 1; }
.company-admin-card label, .system-company-control label, .system-admin-login label { display: grid; gap: 9px; margin-top: 20px; }
.company-admin-card label > span, .system-company-control label > span, .system-admin-login label > span { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.company-admin-card input, .system-company-control input, .system-company-control select, .system-admin-login input, .system-admin-search input { width: 100%; min-height: 54px; padding: 14px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: inherit; font: inherit; }
.company-admin-link { display: flex; justify-content: space-between; padding: 20px 0; border-top: 1px solid var(--line); color: var(--ink); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-decoration: none; }
.company-admin-link:hover { color: var(--rust); }
.company-admin-license { margin: 24px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.company-audit { display: grid; grid-template-columns: .55fr 1.45fr; margin-top: 28px; padding: clamp(28px,4vw,54px); border: 1px solid var(--line); }
.company-audit article, .system-company-control aside article { display: grid; grid-template-columns: 1fr .7fr auto; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 9px; }
.company-audit article span, .company-audit article time, .system-company-control aside span, .system-company-control aside time { color: var(--muted); }
.system-admin-auth { min-height: 100vh; background: var(--ink); color: var(--paper); }
.system-admin-languages { position: fixed; z-index: 3; top: 32px; right: 38px; display: flex; gap: 16px; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }
.system-admin-languages a { color: var(--paper); text-decoration: none; opacity: .65; }
.system-admin-languages a:hover { color: var(--rust); opacity: 1; }
.system-admin-auth main { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.system-admin-auth main > section, .system-admin-login { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px,7vw,110px); }
.system-admin-auth main > section { border-right: 1px solid rgb(240 238 232 / 24%); }
.system-admin-auth .brand { position: absolute; top: 38px; }
.system-admin-auth .wordmark { filter: invert(1); }
.system-admin-auth h1 { margin: 20px 0 28px; font-family: var(--display); font-size: clamp(58px,7vw,100px); font-weight: 400; line-height: .9; }
.system-admin-auth section > p:last-child { max-width: 520px; color: rgb(240 238 232 / 60%); line-height: 1.7; }
.system-admin-auth input { border-color: rgb(240 238 232 / 32%); }
.system-admin-auth .primary-button { background: var(--paper); color: var(--ink); }
.system-admin-header { border-top: 4px solid var(--rust); }
.system-admin-search { display: grid; grid-template-columns: 1fr auto; gap: 14px; margin-top: 28px; }
.system-admin-search .secondary-button { min-width: 150px; background: transparent; }
.system-company-list { margin-top: 20px; border: 1px solid var(--line); }
.system-company-list > a { display: grid; grid-template-columns: minmax(260px,1fr) 120px 120px 30px; align-items: center; gap: 24px; padding: 24px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.system-company-list > a:last-child { border-bottom: 0; }
.system-company-list > a:hover { background: var(--paper-soft); box-shadow: inset 3px 0 var(--rust); }
.system-company-list a > div { display: grid; gap: 6px; }
.system-company-list strong { font-family: var(--display); font-size: 29px; font-weight: 400; }
.system-company-list span, .system-company-list small { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; }
.system-company-list b { font-family: var(--display); font-size: 26px; font-weight: 400; }
.system-company-list i { color: var(--rust); font-style: normal; }
.system-company-control { display: grid; grid-template-columns: 1.15fr .85fr; margin-top: 28px; border: 1px solid var(--line); }
.system-company-control > form, .system-company-control > aside { min-width: 0; padding: clamp(28px,4vw,54px); }
.system-company-control > form { border-right: 1px solid var(--line); }
.system-company-control form > p:not(.card-label):not(.notice) { color: var(--muted); font-size: 11px; line-height: 1.55; }

/* Öffentliche Annahme einer Mitarbeitereinladung */
.invitation-shell { min-height: calc(100vh - 166px); display: grid; grid-template-columns: 1fr 1fr; }
.invitation-intro, .invitation-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 7vw, 108px); }
.invitation-intro { border-right: 1px solid var(--line); }
.invitation-intro h1 { max-width: 700px; margin: 22px 0 30px; font-family: var(--display); font-size: clamp(62px, 7vw, 104px); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.invitation-intro > p:last-child { max-width: 540px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.invitation-panel h2 { margin: 18px 0 15px; font-family: var(--display); font-size: clamp(45px, 5vw, 76px); font-weight: 400; letter-spacing: -.04em; line-height: .95; overflow-wrap: anywhere; }
.invitation-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 22px 0 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.invitation-facts div { padding: 18px 0; }
.invitation-facts dt { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.invitation-facts dd { margin: 9px 0 0; font-size: 13px; }
.invitation-panel .primary-button { text-decoration: none; }

@media (max-width: 1000px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-intro { border-right: 0; border-bottom: 1px solid var(--line); }
  .auth-intro h1 { font-size: clamp(52px, 10vw, 86px); }
  .auth-panel { padding-top: 55px; }
  .dashboard-hero { grid-template-columns: 1fr; }
  .dashboard-title { font-size: clamp(58px, 10vw, 90px); }
  .structure-hero { grid-template-columns: 1fr; }
  .structure-workspace { grid-template-columns: 270px minmax(0, 1fr); }
  .field-triple { grid-template-columns: 1fr; }
  .invite-card { grid-template-columns: 1fr; }
  .recipe-workspace { grid-template-columns: 310px minmax(0, 1fr); }
  .business-recipe-grid-four { grid-template-columns: 1fr 1fr; }
  .invite-copy { border-right: 0; border-bottom: 1px solid var(--line); }
  .invitation-shell { grid-template-columns: 1fr; }
  .company-admin-metrics { grid-template-columns: 1fr 1fr; }
  .company-admin-metrics > div:nth-child(2) { border-right: 0; }
  .company-admin-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .system-company-list > a { grid-template-columns: minmax(230px,1fr) 90px 90px 24px; }
  .invitation-intro { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 700px) {
  .site-header { min-height: 96px; align-items: flex-start; flex-direction: column; padding-top: 22px; padding-bottom: 22px; }
  .site-header p { max-width: 155px; font-size: 9px; line-height: 1.5; }
  .brand { gap: 10px; }
  .brand .wordmark { width: 120px; }
  .brand span { font-size: 9px; }
  .auth-intro, .auth-panel { padding: 45px 22px; }
  .auth-intro h1 { margin-top: 20px; font-size: clamp(44px, 14vw, 64px); }
  .intro-facts { grid-template-columns: 1fr; }
  .intro-facts div { display: grid; grid-template-columns: 55px 1fr; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
  .intro-facts dd { margin: 0; }
  .auth-tabs { gap: 24px; }
  .auth-tab { font-size: 10px; }
  .auth-view h2 { font-size: 42px; }
  .field-pair, .field-pair-location { grid-template-columns: 1fr; }
  .site-footer { align-items: flex-start; flex-direction: column; }
  .company-admin-grid, .company-audit, .system-company-control, .system-admin-auth main { grid-template-columns: 1fr; }
  .company-admin-card, .system-company-control > form, .system-admin-auth main > section { border-right: 0; border-bottom: 1px solid var(--line); }
  .company-admin-metrics { grid-template-columns: 1fr 1fr; }
  .system-company-list > a { grid-template-columns: 1fr 70px 24px; gap: 12px; }
  .system-company-list > a > div:nth-child(3) { display: none; }
  .system-admin-search { grid-template-columns: 1fr; }
  .system-admin-auth .brand { position: static; margin-bottom: 70px; }
  .dashboard-header { min-height: 96px; }
  .dashboard-nav .is-current { display: none; }
  .dashboard-main { padding: 50px 20px; }
  .dashboard-title { font-size: 50px; }
  .metrics, .setup-grid { grid-template-columns: 1fr; }
  .metric, .setup-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .metric:last-child, .setup-card:last-child { border-bottom: 0; }
  .setup-heading { align-items: flex-start; flex-direction: column; }
  .workspace-card-head { grid-template-columns: 1fr; }
  .structure-main { padding: 44px 20px; }
  .structure-hero h1 { font-size: 50px; }
  .structure-metrics { grid-template-columns: 1fr; }
  .structure-metrics div { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .structure-metrics div:last-child { border-bottom: 0; }
  .structure-workspace { grid-template-columns: 1fr; }
  .location-sidebar { border-right: 0; border-bottom: 1px solid var(--line); }
  .department-heading { align-items: flex-start; flex-direction: column; }
  .department-card summary { grid-template-columns: 38px 1fr; }
  .department-card summary small { grid-column: 2; }
  .department-form { padding-left: 28px; }
  .dashboard-nav { width: 100%; max-width: 100%; gap: 18px; overflow-x: auto; padding-bottom: 8px; font-size: 9px; white-space: nowrap; scrollbar-width: none; }
  .dashboard-nav::-webkit-scrollbar { display: none; }
  .employees-main { padding: 44px 20px; }
  .scope-fieldset { grid-template-columns: 1fr; }
  .people-heading { grid-template-columns: 1fr; }
  .person-card summary { grid-template-columns: 38px 1fr; }
  .person-card summary em { grid-column: 2; }
  .member-form, .owner-protection { padding-left: 22px; }
  .pending-card { align-items: flex-start; flex-direction: column; }
  .recipes-main { padding: 44px 20px; }
  .recipe-workspace { grid-template-columns: 1fr; }
  .recipe-index { border-right: 0; border-bottom: 1px solid var(--line); }
  .recipe-form-head { align-items: stretch; flex-direction: column; }
  .recipe-fields { grid-template-columns: 1fr; }
  .recipe-fields .wide { grid-column: auto; }
  .business-recipe-section { grid-template-columns: 1fr; }
  .business-recipe-index { padding: 18px 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .business-recipe-body { padding: 24px 22px; }
  .business-recipe-grid { grid-template-columns: 1fr; }
  .business-recipe-grid-four { grid-template-columns: 1fr; }
  .business-ingredient-head { display: none; }
  .business-ingredient-row { grid-template-columns: 1fr 1fr 30px; gap: 10px 14px; padding: 12px 0; }
  .business-ingredient-row [data-field="name"], .business-ingredient-row [data-field="note"] { grid-column: 1 / 3; }
  .business-ingredient-row .business-row-remove { grid-column: 3; grid-row: 1 / 3; }
  .business-step-row { grid-template-columns: 32px minmax(0, 1fr) 30px; }
  .business-step-row label { grid-column: 2; }
  .business-step-row .business-row-remove { grid-column: 3; grid-row: 1 / 3; }
  .business-recipe-submit { position: static; grid-template-columns: 1fr; }
  .business-recipe-images { grid-template-columns: 1fr 1fr; }
  .recipe-taxonomy-create { grid-template-columns: 1fr; }
  .recipe-taxonomy-create > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .recipe-taxonomy-create form { grid-template-columns: 1fr; }
  .recipe-taxonomy-row { grid-template-columns: 26px minmax(0,1fr); gap: 8px 12px; padding: 14px 18px; }
  .recipe-taxonomy-row.is-sub { padding-left: 34px; }
  .recipe-taxonomy-row small, .recipe-taxonomy-row .taxonomy-actions { grid-column: 2; }
  .taxonomy-actions { flex-wrap: wrap; }
  .recipe-taxonomy-sub-create { grid-template-columns: 1fr; padding-left: 60px; }
  .invitation-intro, .invitation-panel { padding: 48px 22px; }
  .invitation-intro h1 { font-size: 53px; }
  .invitation-facts { grid-template-columns: 1fr; }
}

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