@import url('https://fonts.googleapis.com/css2?family=Bagel+Fat+One&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
    --bg:#f5f7fa;
    --card:#ffffff;
    --ink:#17212b;
    --muted:#5e6b78;
    --line:#d9e0e7;
    --brand:#0f6f8f;
    --brand2:#0b5168;
    --soft:#e8f5f8;
    --soft2:#f4efe4;
    --warn:#fff3cd;
    --bad:#ffe6e6;
    --bad-ink:#9b1c1c;
    --ok:#e8f8ec;
    --shadow:0 8px 24px rgba(20,40,60,.08);
    --radius:18px;
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:linear-gradient(180deg,#eaf5f8 0,#f5f7fa 260px);
}

a{color:var(--brand);font-weight:700;text-decoration:none}
a:hover{text-decoration:underline}

.site-header{
    max-width:1180px;
    margin:auto;
    padding:28px 18px 16px;
}
.hero{
    display:flex;
    gap:18px;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
}
.brand-block{display:flex;align-items:center;gap:16px}
.brand-logo{
    width:86px;
    height:86px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%,#ffffff 0,#e8f5f8 52%,#c7e6ee 100%);
    color:var(--brand);
    border:1px solid rgba(15,111,143,.18);
    box-shadow:var(--shadow);
    font-size:42px;
}
.brand-copy{display:flex;flex-direction:column}
.brand{
    margin:0 0 8px;
    font-size:clamp(28px,4vw,44px);
    line-height:1.05;
    letter-spacing:-.03em;
}
.sub{margin:0;color:var(--muted);max-width:780px;font-size:16px}
.version-badge{
    display:inline-flex;
    align-items:center;
    border:1px solid #b9d8e1;
    color:#174b5e;
    background:#eef9fc;
    border-radius:999px;
    padding:8px 11px;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
@media(max-width:620px){
    .brand-block{align-items:flex-start}
    .brand-logo{width:70px;height:70px;font-size:34px}
}

.tabs{
    position:sticky;
    top:0;
    z-index:5;
    max-width:1180px;
    margin:auto;
    padding:12px 18px;
    background:rgba(245,247,250,.92);
    backdrop-filter:blur(10px);
    display:flex;
    gap:8px;
    overflow:auto;
}
.tab{
    border:1px solid var(--line);
    background:var(--card);
    color:var(--ink);
    border-radius:999px;
    padding:10px 14px;
    cursor:pointer;
    font-weight:700;
    white-space:nowrap;
}
.tab:hover{text-decoration:none;background:#f8fafc}
.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}

.container{max-width:1180px;margin:auto;padding:0 18px 60px}

.page-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin:14px 0;
    flex-wrap:wrap;
}

h1{margin:0 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.03em}
h2,h3{margin-top:0}
.eyebrow{margin:0 0 6px;color:var(--brand);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.muted{color:var(--muted)}
.tiny{font-size:12px}
.right{text-align:right}

.card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:18px;
    margin:14px 0;
}

.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}}

button,.button{
    border:0;
    background:var(--brand);
    color:#fff;
    padding:10px 13px;
    border-radius:12px;
    font-weight:800;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    gap:6px;
    align-items:center;
    justify-content:center;
    font:inherit;
}
button:hover,.button:hover{background:var(--brand2);text-decoration:none}
button.secondary,.button.secondary{background:#e7edf2;color:var(--ink)}
button.secondary:hover,.button.secondary:hover{background:#d9e3ea}
button.danger{background:#b83232}
button.danger:hover{background:#912525}
button.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}
button.small{padding:7px 10px;border-radius:10px;font-size:13px}
.text-link{display:inline-flex;margin-top:8px}

label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#25313d}
input,select,textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    padding:10px 11px;
    font:inherit;
    color:var(--ink);
}
textarea{resize:vertical;min-height:120px}
fieldset{border:1px solid var(--line);border-radius:14px;padding:12px;margin:0;background:#fff}
legend{font-weight:900;color:#25313d;padding:0 6px}

.form-grid{display:grid;gap:16px}
.form-actions,.actions-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.actions-inline form{margin:0}

.alert{
    border:1px solid #f3b6b6;
    background:var(--bad);
    color:var(--bad-ink);
    border-radius:14px;
    padding:12px 14px;
    margin:12px 0;
}
.alert ul{margin:8px 0 0;padding-left:22px}
.empty,.empty-state{
    border:1px dashed var(--line);
    border-radius:16px;
    padding:24px;
    text-align:center;
    color:var(--muted);
    background:#fff;
}
.notice{
    border:1px solid #b9d8e1;
    background:#eef9fc;
    color:#174b5e;
    padding:12px 14px;
    border-radius:14px;
    margin:12px 0;
}
.feature-card{display:grid;gap:8px;align-content:start}
.feature-icon{font-size:28px;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--soft)}

.recipe-list,.trip-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:850px){.recipe-list,.trip-list{grid-template-columns:1fr}}
.recipe-card,.trip-card{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
    background:#fff;
    box-shadow:var(--shadow);
}
.recipe-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.recipe-card h3,.trip-card h3{margin:0;font-size:20px}
.pill,.chip{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:5px 8px;
    background:var(--soft);
    color:#124e61;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
.chip.meal{background:#edf4ff;color:#214e83}
.chip.country{background:var(--soft2);color:#6a4d16}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}

.checks{display:flex;gap:10px;flex-wrap:wrap}
.check-pill{
    display:flex;
    gap:7px;
    align-items:center;
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:999px;
    padding:8px 10px;
    font-weight:750;
}
.check-pill input{width:auto}

.ingredient-table{display:grid;gap:8px}
.ingredient-row{
    display:grid;
    grid-template-columns:minmax(150px,1.4fr) 100px 120px minmax(140px,1fr) minmax(140px,1fr) 42px;
    gap:8px;
    align-items:center;
}
.ingredient-row-head{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--muted);
    padding:0 2px;
}
@media(max-width:900px){
    .ingredient-row{grid-template-columns:1fr 1fr}
    .ingredient-row-head{display:none}
}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8fafc}
tr:last-child td{border-bottom:0}
.preparation-text{white-space:pre-wrap;line-height:1.5}

.meal-plan-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:900px){.meal-plan-overview{grid-template-columns:1fr}}
.day-summary{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.day-summary h3{margin:0 0 10px}
.mini-slots{display:grid;gap:6px}
.mini-slot{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f6;padding:5px 0}
.mini-slot:last-child{border-bottom:0}
.meal-plan-grid{display:grid;gap:14px}
.day-plan-card h2{margin-bottom:14px}
.meal-plan-row{
    display:grid;
    grid-template-columns:180px minmax(220px,1fr) 110px minmax(180px,1fr);
    gap:10px;
    align-items:end;
    padding:10px 0;
    border-top:1px solid var(--line);
}
.meal-plan-row:first-of-type{border-top:0}
.meal-plan-title{display:grid;gap:8px;align-self:center}
.inline-check{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:750;color:var(--muted)}
.inline-check input{width:auto}
.sticky-actions{
    position:sticky;
    bottom:12px;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    align-items:center;
    z-index:2;
}
@media(max-width:960px){.meal-plan-row{grid-template-columns:1fr 1fr}.sticky-actions{position:static;justify-content:flex-start}}
@media(max-width:620px){.meal-plan-row{grid-template-columns:1fr}}
.input-warning{border-color:#b83232!important;background:#fff7f7!important}

.shopping-summary{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.summary-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;min-width:140px;box-shadow:var(--shadow)}
.summary-box b{display:block;font-size:22px;color:var(--brand)}
.soft-notice{margin:0 0 14px}
.shopping-list-card{padding:16px}
.shopping-group{margin-top:18px}
.shopping-group:first-of-type{margin-top:0}
.shopping-category-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:18px 0 8px;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
}
.shopping-category-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.shopping-category-title h3{margin:0}
.responsible-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 9px;
    background:#eef9fc;
    color:#174b5e;
    font-weight:800;
    font-size:12px;
    max-width:100%;
}
.responsible-pill.unassigned{background:#f8fafc;color:#6b7280;border:1px dashed var(--line)}
.shopping-compact-list{display:grid;gap:6px}
.shopping-line-row{
    display:grid;
    grid-template-columns:34px minmax(180px,1fr) 108px 92px 38px;
    gap:8px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    padding:7px 8px;
    min-height:46px;
}
.shopping-line-row.done-row{opacity:.62}
.shopping-line-row.done-row .shopping-line-name strong{text-decoration:line-through}
.shopping-line-status{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted)}
.shopping-line-name{min-width:0;overflow-wrap:anywhere;line-height:1.2}
.shopping-line-name strong{font-size:15px}
.shopping-line-amount{display:flex;align-items:center;gap:5px;justify-content:flex-end;font-variant-numeric:tabular-nums}
.shopping-line-unit{color:var(--muted);font-weight:700;white-space:nowrap}
.manual-note{margin-top:4px;font-size:12px;color:#53616d}
.row-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--brand);
    font-weight:900;
    cursor:pointer;
    user-select:none;
}
.row-icon:hover{border-color:var(--brand);background:#f7fcfd}
.info-menu{position:relative;display:inline-flex;justify-content:center}
.info-menu summary{list-style:none}
.info-menu summary::-webkit-details-marker{display:none}
.info-panel{
    position:absolute;
    right:0;
    top:34px;
    z-index:30;
    width:min(320px,78vw);
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 12px 30px rgba(15,23,42,.14);
    padding:10px;
    color:var(--ink);
    text-align:left;
}
.source-list{margin:8px 0 0;padding-left:17px;display:grid;gap:3px;font-size:12px;color:var(--muted)}
@media(max-width:760px){
    .shopping-category-head{align-items:flex-start}
    .shopping-line-row{grid-template-columns:30px minmax(0,1fr) 86px 72px 34px;gap:6px;padding:6px}
    .shopping-line-unit{font-size:12px}
}

@media print{
    @page{size:A4;margin:8mm}
    body{background:#fff!important;font-size:9pt;line-height:1.15}
    header,.site-header,.tabs,.page-head,.soft-notice,.shopping-summary,.info-menu{display:none!important}
    .container{max-width:none!important;padding:0!important}
    .card{box-shadow:none!important;border:0!important;padding:0!important;margin:0!important}
    .shopping-group{margin-top:6px!important;break-inside:avoid;page-break-inside:avoid}
    .shopping-category-head{margin:6px 0 2px!important;padding:2px 0!important;border:0!important;border-bottom:1px solid #000!important;border-radius:0!important;background:#fff!important}
    .shopping-category-title h3{font-size:10.5pt!important}
    .responsible-pill{display:none!important}
    .shopping-compact-list{gap:0!important}
    .shopping-line-row{display:grid!important;grid-template-columns:24px 1fr 54px 68px!important;gap:5px!important;min-height:0!important;padding:2px 0!important;border:0!important;border-bottom:1px solid #ddd!important;border-radius:0!important;background:#fff!important;page-break-inside:avoid;break-inside:avoid}
    .shopping-line-name strong{font-size:9pt!important;font-weight:600!important}
    .shopping-line-amount{justify-content:flex-end!important}
    .shopping-line-unit{color:#000!important;font-size:9pt!important}
    .manual-note{display:none!important}
}

/* v4.2: Einkaufsliste produktiver nutzbar */
.section-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.manual-shopping-form{display:grid;grid-template-columns:minmax(180px,1.4fr) 100px 130px minmax(150px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:end}
.manual-shopping-form button{white-space:nowrap}
.shopping-edit-row{grid-template-columns:34px minmax(180px,1fr) 112px 98px 38px}
.available-check{width:auto;transform:scale(1.15);cursor:pointer}
.adjusted-label{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:var(--warn);color:#6b4b00;font-size:11px;font-weight:900;white-space:nowrap}
.overflow-menu{position:relative;display:inline-flex;justify-content:center}
.overflow-menu summary{list-style:none}
.overflow-menu summary::-webkit-details-marker{display:none}
.overflow-panel{position:absolute;right:0;top:34px;z-index:40;width:min(340px,86vw);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.14);padding:12px;display:grid;gap:10px;text-align:left;color:var(--ink)}
.overflow-panel label{font-size:12px}
.overflow-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.source-box{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fafc}
.compact-source .source-list{margin-top:6px;max-height:120px;overflow:auto}
@media(max-width:960px){.manual-shopping-form{grid-template-columns:1fr 1fr}.manual-shopping-form button{grid-column:1/-1}.shopping-edit-row{grid-template-columns:30px minmax(0,1fr) 86px 74px 34px}}
@media(max-width:620px){.manual-shopping-form{grid-template-columns:1fr}.shopping-edit-row{grid-template-columns:30px minmax(0,1fr) 72px 58px 34px}.adjusted-label{display:none}.overflow-panel{right:-4px}}

@media print{
    .no-print,.overflow-menu,.adjusted-label{display:none!important}
    .shopping-edit-row{display:grid!important;grid-template-columns:24px 1fr 54px 68px!important}
}

/* v4.3: intuitivere Popup-Bedienung näher am HTML-Prototyp */
.shopping-add-card{margin-bottom:14px}
.shopping-edit-row{
    grid-template-columns:34px minmax(180px,1fr) 112px 98px 34px 38px;
}
.inline-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--brand);
    font-weight:900;
    font-size:12px;
    vertical-align:middle;
}
.info-button{font-family:Georgia,serif;font-style:italic}

.app-dialog{
    width:min(720px,calc(100vw - 28px));
    border:0;
    border-radius:20px;
    box-shadow:0 20px 80px rgba(0,0,0,.25);
    padding:0;
    color:var(--ink);
    background:#fff;
}
.app-dialog::backdrop{background:rgba(10,20,30,.55)}
.source-dialog{width:min(520px,calc(100vw - 28px))}
.modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}
.modal-head h2{margin:2px 0 0;font-size:22px}
.modal-close{
    width:34px;
    height:34px;
    border-radius:999px;
    padding:0;
    background:#e7edf2;
    color:var(--ink);
    font-size:22px;
    line-height:1;
}
.modal-close:hover{background:#d9e3ea}
.modal-body{padding:18px}
.modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:14px 18px;
    border-top:1px solid var(--line);
    background:#f8fafc;
    flex-wrap:wrap;
}
.dialog-form{display:grid;gap:14px}
.dialog-grid{display:grid;gap:12px;align-items:end}
.dialog-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dialog-grid .full{grid-column:1/-1}
.modal-current-amount{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:1px solid #b9d8e1;
    border-radius:14px;
    background:#eef9fc;
    padding:10px 12px;
}
.modal-current-amount strong{font-size:20px;color:#174b5e;font-variant-numeric:tabular-nums}
.modal-choice{display:grid;gap:10px}
.modal-choice label{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
}
.modal-choice label:hover{border-color:var(--brand);background:#f7fcfd}
.modal-choice input{width:auto;margin-top:4px;flex:0 0 auto}
.modal-choice span{display:grid;gap:2px}
.modal-choice small{font-weight:500;line-height:1.3}
.modal-source-list{font-size:14px;color:var(--ink);margin:0;padding-left:20px;gap:8px}
[data-partial-fields].is-hidden{display:none!important}

@media(max-width:760px){
    .shopping-edit-row{grid-template-columns:30px minmax(0,1fr) 80px 58px 32px 34px;gap:6px;padding:6px}
    .dialog-grid.two{grid-template-columns:1fr}
    .modal-current-amount{display:grid}
    .modal-actions{justify-content:stretch}
    .modal-actions button{flex:1 1 auto}
}

@media(max-width:620px){
    .shopping-edit-row{grid-template-columns:30px minmax(0,1fr) 68px 48px 30px 32px}
    .shopping-line-amount strong,.shopping-line-unit{font-size:12px}
}

@media print{
    .app-dialog,.inline-icon,.info-button{display:none!important}
    .shopping-edit-row{display:grid!important;grid-template-columns:24px 1fr 54px 68px!important}
}

/* v5.1: Getränke, Wasser, Bordbedarf & Einkaufsteams */
.provision-water-grid{
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
}
.provision-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.provision-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:9px 10px;
}
.provision-row div{
  display:grid;
  gap:2px;
  min-width:0;
}
.provision-row strong{
  overflow-wrap:anywhere;
}
.provision-row small{
  color:var(--muted);
}
.danger-icon{
  color:#a42929;
}
.provision-team-list .team-pill{
  padding:7px 9px;
}
.provision-team-list form{
  margin:0;
}
.category-assignment-form{
  margin-top:16px;
}
.right-toolbar{
  justify-content:flex-end;
}
@media print{
  .provision-row{
    border:0!important;
    border-bottom:1px solid #ddd!important;
    border-radius:0!important;
    padding:3px 0!important;
  }
}

/* v5.2: Törn-Bereiche als einzelne Reiter */
.trip-subtabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 14px;
  padding:8px 0;
}
.trip-subtabs .tab{
  text-decoration:none;
}
.shopping-teams-card{
  margin-bottom:14px;
}
@media print{
  .trip-subtabs,
  .shopping-teams-card{
    display:none!important;
  }
}

/* v5.3: stärker am HTML-Prototyp orientierte Bedienoberfläche */
.prototype-page-head{
  margin-top:6px;
}
.trip-module-tabs{
  position:sticky;
  top:58px;
  z-index:4;
  display:flex;
  gap:8px;
  overflow:auto;
  padding:10px 0 12px;
  margin:0 0 14px;
  background:rgba(245,247,250,.94);
  backdrop-filter:blur(10px);
}
.trip-module-tab{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  padding:10px 13px;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(20,40,60,.04);
}
.trip-module-tab:hover{text-decoration:none;background:#f7fcfd;border-color:#b9d8e1}
.trip-module-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}
.prototype-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.prototype-stat{margin:0;min-width:0}
.prototype-stat small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.prototype-primary-stat{display:grid;align-content:center;gap:6px}
.module-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:12px 0 14px;
}
.module-tile{
  display:grid;
  gap:8px;
  align-content:start;
  min-height:128px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:var(--ink);
  padding:16px;
  box-shadow:var(--shadow);
}
.module-tile:hover{border-color:#b9d8e1;background:#f7fcfd;text-decoration:none;transform:translateY(-1px)}
.module-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:var(--soft);
  font-size:20px;
}
.module-tile strong{font-size:18px}
.module-tile small{font-weight:600;color:var(--muted);line-height:1.35}
.prototype-card{border-radius:18px}
.compact-card{padding:16px}
.prototype-day-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
.prototype-day-summary{padding:0;overflow:hidden}
.prototype-day-summary h3{
  margin:0;
  padding:10px 12px;
  background:#f8fafc;
  border-bottom:1px solid var(--line);
}
.prototype-day-summary .mini-slots{padding:8px 12px}
.muted-pill{background:#e7edf2;color:#687580}
.archive-card{background:#fff7f7;border-color:#ffd5d5}

.prototype-meal-form .meal-plan-grid{gap:12px}
.prototype-day-card{padding:0;overflow:hidden}
.day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  background:#f8fafc;
  border-bottom:1px solid var(--line);
}
.day-head h2{margin:0;font-size:20px}
.prototype-day-card .meal-plan-row{
  grid-template-columns:190px minmax(220px,1fr) 110px minmax(180px,1fr);
  padding:10px 14px;
  border-top:1px solid var(--line);
}
.prototype-day-card .meal-plan-row:first-of-type{border-top:0}
.prototype-day-card .meal-plan-title strong{
  display:inline-flex;
  width:max-content;
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f6;
  font-size:12px;
}

.water-card .water-notice-grid{margin-top:10px}
.water-card .water-notice-box{
  background:#fff;
  border-color:#b9d8e1;
  box-shadow:0 4px 14px rgba(20,40,60,.05);
}
.provision-list{gap:6px}
.provision-row{
  min-height:46px;
  border-radius:12px;
  padding:8px 10px;
}
.provision-row > div{
  grid-template-columns:minmax(180px,1fr) auto;
  align-items:center;
  column-gap:12px;
}
.provision-row small{grid-column:1/-1}

.prototype-details{padding:0;overflow:hidden}
.prototype-details > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  background:#f8fafc;
  border-bottom:1px solid var(--line);
}
.prototype-details > summary::-webkit-details-marker{display:none}
.prototype-details > summary span{display:grid;gap:2px}
.prototype-details > summary small{color:var(--muted);font-weight:600}
.prototype-details > summary::after{
  content:'▾';
  font-weight:900;
  color:var(--brand);
  margin-left:auto;
}
.prototype-details[open] > summary::after{content:'▴'}
.prototype-details > *:not(summary){margin-left:16px;margin-right:16px}
.prototype-details > form{margin-bottom:16px}
.prototype-details .team-list{margin-top:12px}
.shopping-add-card .section-title-row{align-items:center}
.shopping-list-card{background:#fff}
.shopping-category-head{
  background:#f8fafc;
  border-radius:12px;
  padding:8px 10px;
}
.shopping-line-row:hover{border-color:#b9d8e1;background:#fbfdfe}

@media(max-width:980px){
  .prototype-dashboard-grid,.module-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prototype-day-card .meal-plan-row{grid-template-columns:1fr 1fr}
  .trip-module-tabs{top:54px}
}
@media(max-width:660px){
  .prototype-dashboard-grid,.module-board,.prototype-day-overview{grid-template-columns:1fr}
  .prototype-day-card .meal-plan-row{grid-template-columns:1fr}
  .trip-module-tabs{top:52px}
  .module-tile{min-height:auto}
  .prototype-details > summary{align-items:flex-start}
  .prototype-details > summary .button{padding:8px 10px}
}
.prototype-trip-actions{margin-top:12px}
.prototype-trip-actions .button{flex:0 0 auto}

/* v5.4: Rezeptbuch & Essensplan näher am HTML-Prototyp */
.recipe-filter-card{
    padding:14px;
}
.recipe-filter-grid{
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;
    gap:10px;
    align-items:end;
}
.recipe-filter-grid .filter-search{min-width:220px}
.filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.section-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.prototype-recipe-card{display:grid;gap:8px;align-content:start}
.recipe-chip-row{margin:4px 0 0}
.recipe-card-note{margin:0;line-height:1.45;color:#25313d}
.field-hint{font-size:12px;font-weight:600;color:var(--muted)}
.meal-plan-helper{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.meal-plan-helper p{margin:0;color:#174b5e}
.day-actions{align-items:center}
.prototype-day-card .day-head h2{margin:0}
.prototype-day-card .meal-plan-row.is-no-cook{
    background:#f1f4f6;
    color:#70808d;
}
.prototype-day-card .meal-plan-row.is-no-cook select{
    background:#eef2f5;
}
.prototype-day-card .meal-plan-title .small{
    justify-self:start;
    padding:5px 8px;
    font-size:12px;
}
@media(max-width:980px){
    .recipe-filter-grid{grid-template-columns:1fr 1fr}
    .filter-actions{grid-column:1/-1}
}
@media(max-width:620px){
    .recipe-filter-grid{grid-template-columns:1fr}
    .filter-actions{grid-column:auto}
}
@media print{
    .recipe-filter-card,.meal-plan-helper,.day-actions .small,.prototype-day-card .meal-plan-title .small{display:none!important}
}

/* v5.5: aufgeräumte Einkaufsliste, feste Einheitenspalte und bessere Druckansicht */
.visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.shopping-edit-row{
    grid-template-columns:34px minmax(190px,1fr) 96px 118px 34px 38px;
}
.shopping-line-amount{
    justify-content:flex-end;
    text-align:right;
    min-width:0;
}
.shopping-line-amount strong{
    min-width:48px;
    text-align:right;
}
.shopping-line-unit{
    display:block;
    width:100%;
    text-align:left;
    padding-left:6px;
    overflow:hidden;
    text-overflow:ellipsis;
}
.shopping-category-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
}
@media(max-width:760px){
    .shopping-edit-row{
        grid-template-columns:30px minmax(0,1fr) 72px 74px 30px 32px;
    }
    .shopping-line-unit{
        padding-left:2px;
        font-size:11.5px;
    }
    .shopping-line-amount strong{
        min-width:0;
    }
}
@media print{
    @page{size:A4;margin:7mm}
    body{font-size:8.8pt!important;line-height:1.12!important;color:#000!important;background:#fff!important}
    header,
    .site-header,
    .tabs,
    .page-head,
    .trip-module-tabs,
    .shopping-summary,
    .shopping-add-card,
    .shopping-teams-card,
    .soft-notice,
    .app-dialog,
    .inline-icon,
    .info-button,
    .row-icon,
    .adjusted-label,
    .no-print{display:none!important}
    .container{max-width:none!important;padding:0!important;margin:0!important}
    .card{box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;background:#fff!important}
    .shopping-list-card{padding:0!important;margin:0!important}
    .shopping-group{margin:0 0 5px!important;break-inside:avoid;page-break-inside:avoid}
    .shopping-category-head{
        display:grid!important;
        grid-template-columns:1fr auto!important;
        gap:8px!important;
        margin:5px 0 1px!important;
        padding:1px 0 2px!important;
        border:0!important;
        border-bottom:1px solid #000!important;
        border-radius:0!important;
        background:#fff!important;
    }
    .shopping-category-title h3{font-size:10pt!important;margin:0!important}
    .responsible-pill{display:inline!important;background:#fff!important;border:0!important;color:#000!important;padding:0!important;font-size:8pt!important;font-weight:600!important}
    .responsible-pill.unassigned{display:none!important}
    .shopping-compact-list{gap:0!important}
    .shopping-edit-row{
        display:grid!important;
        grid-template-columns:18px minmax(0,1fr) 58px 88px!important;
        gap:5px!important;
        align-items:center!important;
        min-height:0!important;
        padding:1.5px 0!important;
        border:0!important;
        border-bottom:1px solid #ddd!important;
        border-radius:0!important;
        background:#fff!important;
        page-break-inside:avoid!important;
        break-inside:avoid!important;
    }
    .shopping-line-status{font-size:8pt!important;display:flex!important;justify-content:center!important}
    .shopping-line-status input{transform:scale(.85)!important;margin:0!important}
    .shopping-line-name{line-height:1.12!important;min-width:0!important}
    .shopping-line-name strong{font-size:8.8pt!important;font-weight:600!important}
    .shopping-line-amount{justify-content:flex-end!important;text-align:right!important;font-variant-numeric:tabular-nums!important}
    .shopping-line-amount strong{font-size:8.8pt!important;min-width:42px!important;text-align:right!important}
    .shopping-line-unit{font-size:8.8pt!important;color:#000!important;text-align:left!important;padding-left:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
    .manual-note,.source-list{display:none!important}
}

/* v5.6: Standard-Bordbedarf, Teamfilter, Schon-vorhanden-Bereich und verdichteter Druck */
.standard-supply-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:8px;
    margin-top:12px;
}
.standard-supply-option{
    display:flex;
    gap:9px;
    align-items:flex-start;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 11px;
    background:#fff;
    cursor:pointer;
}
.standard-supply-option input{width:auto;margin-top:3px}
.standard-supply-option strong{display:block}
.standard-supply-option small{display:block;color:var(--muted);font-weight:600;margin-top:2px}
.shopping-filter-card{margin-bottom:12px;padding:12px 14px}
.shopping-filter-row{
    display:grid;
    grid-template-columns:minmax(210px,280px) minmax(220px,1fr);
    gap:14px;
    align-items:end;
}
.shopping-filter-row p{margin:0 0 10px}
.shopping-group[hidden]{display:none!important}
.already-section{margin-top:16px;background:#f8fafc}
.already-group{margin-top:12px}
.already-group h3{margin:0 0 8px;font-size:16px}
.already-list{display:grid;gap:6px}
.already-row{
    display:grid;
    grid-template-columns:minmax(160px,1fr) 110px minmax(120px,170px);
    gap:8px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    padding:7px 9px;
}
.already-row span{font-weight:800;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.already-row small{color:var(--muted);font-weight:700}
@media(max-width:700px){
    .shopping-filter-row{grid-template-columns:1fr}
    .already-row{grid-template-columns:1fr;gap:3px}
    .already-row span{text-align:left}
}
@media print{
    @page{size:A4;margin:6mm!important}
    body{font-size:8.2pt!important;line-height:1.08!important}
    .shopping-filter-card,
    .already-section,
    .shopping-edit-row.done-row{display:none!important}
    .shopping-group{margin:0 0 3px!important}
    .shopping-category-head{margin:3px 0 0!important;padding:0 0 1px!important}
    .shopping-category-title h3{font-size:9.4pt!important;line-height:1.05!important}
    .responsible-pill{font-size:7.4pt!important;line-height:1!important}
    .shopping-edit-row{
        grid-template-columns:14px minmax(0,1fr) 46px 74px!important;
        gap:4px!important;
        padding:0.8px 0!important;
        border-bottom:1px solid #e3e3e3!important;
    }
    .shopping-line-status{font-size:7pt!important}
    .shopping-line-status input{transform:scale(.75)!important}
    .shopping-line-name strong{font-size:8.1pt!important;font-weight:600!important}
    .shopping-line-amount strong{font-size:8.1pt!important;min-width:34px!important}
    .shopping-line-unit{font-size:8.1pt!important;padding-left:2px!important}
}

/* v5.7 Daten & Import */
.data-grid{align-items:start}
.data-card{display:grid;gap:14px}
.import-box{display:grid;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.export-list{display:grid;gap:8px;margin:10px 0}
.export-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:9px 10px}
.recipe-import-form{display:grid;gap:14px}
.import-checks{margin:6px 0 2px}
.import-hint-box code{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 5px}
.success-notice{background:var(--ok);border-color:#b7dfbf;color:#22572b}
@media(max-width:760px){.export-row{display:grid}.data-grid{grid-template-columns:1fr!important}}

/* v5.8: neue Seitenführung */
.subsection-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 14px;
}
.subsection-tab{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--ink);
    padding:9px 12px;
    font-weight:850;
    white-space:nowrap;
}
.subsection-tab:hover{text-decoration:none;background:#f7fcfd;border-color:#b9d8e1}
.subsection-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}
.placeholder-card{
    display:grid;
    justify-items:center;
    text-align:center;
    gap:8px;
    padding:42px 22px;
}
.placeholder-icon{
    width:56px;
    height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--soft);
    font-size:26px;
}
.navigation-board .module-tile small,
.trip-navigation-board .module-tile small{
    min-height:34px;
}
@media(max-width:740px){
    .tabs{gap:6px}
    .tab{padding:9px 11px;font-size:13px}
    .trip-module-tab{padding:9px 11px;font-size:13px}
}

/* v6.0 Login & Nutzerverwaltung */
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.logout-form{margin:0}
.user-badge{
    width:38px;height:38px;border-radius:999px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--soft);border:1px solid var(--line);
    color:var(--brand2);font-weight:900;
}
.auth-shell{min-height:45vh;display:grid;place-items:start center;padding:18px 0 40px}
.auth-card{width:min(520px,100%);padding:24px}
.auth-card h1{font-size:clamp(30px,5vw,46px)}
.auth-switch{margin:16px 0 0;text-align:center}
.check-line{display:flex;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;font-weight:700}
.check-line input{width:auto;margin-top:4px}
.meta-list{display:grid;gap:12px;margin:0}
.meta-list div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.meta-list div:last-child{border-bottom:0}
.meta-list dt{font-weight:900;color:var(--muted)}
.meta-list dd{margin:0;font-weight:800}
body.is-guest .site-header{padding-bottom:10px}
body.is-guest .hero{align-items:center}
@media(max-width:700px){.header-actions{justify-content:flex-start}.meta-list div{grid-template-columns:1fr}}

/* v6.1 E-Mail-Verifikation */
.verification-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border:1px solid #ead79a;
    background:var(--warn);
    color:#694b05;
    border-radius:16px;
    padding:13px 15px;
    margin:8px 0 4px;
}
.verification-banner p{margin:4px 0 0;color:#694b05;font-size:13px}
.verification-banner form{margin:0;flex-shrink:0}
.ok-pill{background:var(--ok);color:#1b6b33}
.warn-pill{background:var(--warn);color:#694b05}
@media(max-width:720px){
    .verification-banner{align-items:flex-start;flex-direction:column}
}

/* v6.2: Account-Sicherheit, Passwort ändern & Passwort vergessen */
.auth-secondary-link{
    margin:-6px 0 0;
    text-align:right;
    font-size:13px;
}
.settings-grid .card{align-content:start}

/* v6.3 — Crew & Kontakte */
.contact-layout,
.crew-layout {
    align-items: start;
}

.compact-form {
    gap: 14px;
}

.checkbox-inline {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}

.checkbox-inline input {
    width: auto;
}

.contact-list,
.crew-member-list {
    display: grid;
    gap: 12px;
}

.contact-card,
.crew-member-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--card);
    overflow: hidden;
}

.contact-card summary,
.crew-member-card summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    list-style: none;
}

.contact-card summary::-webkit-details-marker,
.crew-member-card summary::-webkit-details-marker {
    display: none;
}

.contact-card summary::after,
.crew-member-card summary::after {
    content: '▾';
    margin-left: auto;
    color: var(--muted);
    transition: transform .16s ease;
}

.contact-card[open] summary::after,
.crew-member-card[open] summary::after {
    transform: rotate(180deg);
}

.contact-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    background: var(--mint);
    color: var(--sage-dark);
    font-weight: 800;
    font-family: var(--font-mono, monospace);
    letter-spacing: .04em;
}

.contact-card small,
.crew-member-card small {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 12px;
}

.contact-edit-form,
.crew-edit-form {
    padding: 0 16px 14px;
}

.inline-danger-form {
    padding: 0 16px 16px;
}

.secondary-danger {
    background: transparent;
    color: #8a3a3a;
    border: 1px solid rgba(138, 58, 58, .25);
    box-shadow: none;
}

.crew-summary-text {
    min-width: 0;
}

.crew-member-card .pill {
    margin-left: auto;
    white-space: nowrap;
}

.crew-stats {
    margin-bottom: 20px;
}

.soft-notice {
    border-color: rgba(124, 156, 137, .24);
    background: linear-gradient(135deg, rgba(190, 223, 200, .24), rgba(247, 245, 241, .8));
}

.split-actions {
    justify-content: flex-start;
}

@media (max-width: 760px) {
    .contact-card summary,
    .crew-member-card summary {
        align-items: flex-start;
    }

    .crew-member-card .pill {
        margin-left: 0;
    }
}


/* v6.4 — Design-System-Rollout Möwokan Sailing */
:root{
  --ink:#14181A;
  --sage:#7C9C89;
  --sage-dark:#5E7C6B;
  --mint:#BEDFC8;
  --mint-dark:#9CC7AA;
  --sand:#CBBBA7;
  --sand-dark:#B4A38C;
  --navy:#2B3244;
  --navy-light:#454F68;
  --fog:#F7F5F1;
  --white:#FFFFFF;
  --black:#0A0A0A;
  --line:rgba(20,24,26,.12);

  --font-display:'Bagel Fat One', cursive;
  --font-ui:'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --radius-sm:10px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-pill:999px;
  --shadow-soft:0 14px 34px rgba(20,24,26,.07);
  --shadow-card:0 6px 18px rgba(20,24,26,.05);

  /* Kompatibilität mit alten Klassen */
  --bg:var(--fog);
  --card:var(--white);
  --muted:rgba(20,24,26,.62);
  --brand:var(--sage);
  --brand2:var(--sage-dark);
  --soft:rgba(190,223,200,.42);
  --soft2:rgba(203,187,167,.28);
  --warn:#fff4d7;
  --bad:#F7EDED;
  --bad-ink:#8A3A3A;
  --ok:#E8F4EA;
  --shadow:var(--shadow-card);
  --radius:var(--radius-lg);
}

html{background:var(--fog)}
body{
  color:var(--ink);
  background:var(--fog);
  font-family:var(--font-ui);
  font-size:15px;
  letter-spacing:-.01em;
}
body.is-authenticated{padding-top:0}
a{color:var(--sage-dark);font-weight:700;text-decoration:none}
a:hover{text-decoration:none;color:var(--navy)}

.container{max-width:1240px;padding:0 24px 64px}
body.is-guest .auth-container{max-width:1280px;min-height:100vh;display:grid;align-items:center;padding-top:24px;padding-bottom:24px}
.no-print{print-color-adjust:exact;-webkit-print-color-adjust:exact}

.app-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.app-header-inner{
  max-width:1240px;
  margin:auto;
  min-height:72px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 24px;
}
.brand-lockup{display:flex;align-items:center;gap:10px;color:var(--ink);min-width:210px;flex:0 0 auto}
.brand-lockup:hover{color:var(--ink)}
.brand-text{display:grid;gap:1px;line-height:1.05}
.brand-title{font-family:var(--font-display);font-size:23px;line-height:.95;letter-spacing:.01em;color:var(--ink)}
.brand-descriptor{font-size:11px;font-weight:800;color:var(--sage-dark)}
.brand-claim{font-size:10.5px;color:rgba(20,24,26,.58);font-weight:600}
.brand-mark{
  width:34px;
  height:34px;
  border-radius:var(--radius-pill);
  background:var(--sage);
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  position:relative;
  box-shadow:0 5px 14px rgba(124,156,137,.20);
}
.brand-mark::before{
  content:'';
  width:0;height:0;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-bottom:19px solid var(--white);
  transform:translateY(-1px);
}
.brand-mark::after{
  content:'';
  position:absolute;
  width:17px;height:1px;
  background:rgba(255,255,255,.9);
  bottom:9px;left:8px;
}
.brand-mark.large{width:54px;height:54px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.brand-mark.large::before{border-left-width:10px;border-right-width:10px;border-bottom-width:27px}
.brand-mark.large::after{width:25px;bottom:14px;left:14px}

.app-header .tabs,
.app-nav{
  position:static;
  z-index:auto;
  max-width:none;
  margin:0;
  padding:0;
  background:transparent;
  backdrop-filter:none;
  display:flex;
  flex:1 1 auto;
  justify-content:center;
  gap:4px;
  overflow:auto;
}
.app-header .tab,
.app-nav .tab{
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:rgba(20,24,26,.68);
  padding:18px 10px 16px;
  font-size:12px;
  font-weight:800;
  box-shadow:none;
}
.app-header .tab:hover{color:var(--ink);background:rgba(190,223,200,.18)}
.app-header .tab.active{background:transparent;color:var(--sage-dark);border-color:var(--sage);}
.header-actions{flex:0 0 auto;gap:9px}
.version-badge,.badge{font-family:var(--font-mono);font-size:11px;border-radius:var(--radius-pill);padding:4px 8px;border:1px solid var(--line);background:var(--fog);color:rgba(20,24,26,.68)}
.user-badge{background:var(--fog);color:var(--ink);font-family:var(--font-mono);font-size:12px;border-color:var(--line);width:36px;height:36px}

.page-head{margin:24px 0 18px;align-items:center}
h1{font-family:var(--font-ui);font-weight:800;letter-spacing:-.04em;color:var(--ink)}
h2,h3{letter-spacing:-.025em;color:var(--ink)}
.eyebrow{color:var(--sage-dark);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}
.muted{color:var(--muted)}
.tiny{font-size:12px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}

.card,.auth-card,.recipe-card,.trip-card,.summary-box,.module-tile,.day-summary,.contact-card,.crew-member-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.card{padding:24px;margin:16px 0}
.empty,.empty-state{background:var(--white);border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.notice{background:rgba(190,223,200,.30);border-color:rgba(124,156,137,.30);color:var(--sage-dark)}
.alert{background:#F7EDED;border-color:rgba(184,76,76,.28);color:#8A3A3A}
.soft-notice{background:rgba(190,223,200,.20);border-color:rgba(124,156,137,.22)}

button,.button,.btn{
  min-height:42px;
  border:1px solid transparent;
  background:var(--sage);
  color:var(--white);
  border-radius:var(--radius-md);
  padding:10px 15px;
  font-weight:800;
  box-shadow:none;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}
button:hover,.button:hover,.btn:hover{background:var(--sage-dark);color:var(--white);transform:translateY(-1px)}
button.secondary,.button.secondary,.btn-secondary{background:var(--white);color:var(--ink);border-color:var(--line)}
button.secondary:hover,.button.secondary:hover,.btn-secondary:hover{background:var(--fog);color:var(--ink);border-color:rgba(20,24,26,.18)}
button.ghost,.button.ghost,.btn-ghost{background:transparent;color:var(--sage-dark);border-color:transparent}
button.ghost:hover,.button.ghost:hover,.btn-ghost:hover{background:rgba(190,223,200,.25);color:var(--sage-dark)}
button.danger,.button.danger{background:#B84C4C;color:var(--white)}
.secondary-danger{background:var(--white)!important;color:#8A3A3A!important;border-color:rgba(138,58,58,.25)!important}
button.small,.button.small{min-height:34px;padding:7px 11px;border-radius:var(--radius-sm);font-size:12px}
button.final,.button.final,.btn-final{background:var(--navy);color:var(--fog)}
button.final:hover,.button.final:hover,.btn-final:hover{background:var(--navy-light);color:var(--fog)}

label{color:var(--ink);font-size:12px;font-weight:800}
input,select,textarea,.input,.select{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--white);
  min-height:44px;
  padding:11px 13px;
  font-family:var(--font-ui);
  color:var(--ink);
}
input:focus,select:focus,textarea:focus,.input:focus,.select:focus{outline:2px solid rgba(124,156,137,.22);border-color:var(--sage)}
fieldset{border-color:var(--line);border-radius:var(--radius-lg);background:var(--white)}

.auth-shell{min-height:auto;padding:0}
.auth-split-shell{
  display:grid;
  grid-template-columns:minmax(280px,.95fr) minmax(320px,1fr);
  gap:0;
  min-height:560px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:var(--white);
  border:1px solid var(--line);
}
.auth-brand-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  align-content:center;
  gap:16px;
  min-height:560px;
  padding:56px;
  color:var(--fog);
  background:radial-gradient(circle at 18% 10%,rgba(69,79,104,.70),transparent 38%),var(--navy);
}
.auth-brand-panel h1{font-family:var(--font-display);font-size:clamp(50px,6vw,86px);line-height:.92;letter-spacing:.01em;color:var(--fog);margin:8px 0 0;max-width:420px}
.auth-claim{margin:0;font-size:16px;font-weight:800;color:var(--white)}
.auth-descriptor{margin:4px 0 0;color:var(--mint);font-weight:800}
.route-line{
  position:absolute;
  inset:auto 34px 34px auto;
  width:270px;height:360px;
  opacity:.34;
  border-right:3px dashed var(--mint);
  border-bottom:3px dashed var(--mint);
  border-radius:58% 42% 55% 40%;
  transform:rotate(18deg);
}
.route-line::before,.route-line::after{content:'';position:absolute;border-radius:50%;border:3px solid var(--mint)}
.route-line::before{width:13px;height:13px;left:20px;bottom:42px}
.route-line::after{content:'×';border:0;color:var(--mint);font-size:30px;right:-8px;top:16px;font-weight:800}
.auth-split-shell .auth-card{
  width:100%;
  max-width:520px;
  align-self:center;
  justify-self:center;
  margin:0;
  box-shadow:none;
  border-color:rgba(20,24,26,.10);
}
.auth-single-shell{min-height:78vh;display:grid;place-items:center}.auth-single-shell .auth-card{width:min(540px,100%)}
.auth-card-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-weight:900;color:var(--ink)}
.auth-card h1,.auth-card h2{font-size:clamp(28px,4vw,42px);margin:0 0 8px;font-weight:800;letter-spacing:-.04em}
.auth-switch .button{width:100%}.auth-secondary-link{text-align:right;font-size:12px}
.check-line{align-items:flex-start}.check-line input{margin-top:2px}

.dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:32px;
  margin-top:24px;
}
.dashboard-hero h1{font-family:var(--font-display);font-size:clamp(42px,5vw,66px);line-height:.9;margin:0 0 12px;color:var(--navy)}
.dashboard-hero p{max-width:560px}
.dashboard-metrics .card{margin:0;padding:18px}.metric-card{display:flex;align-items:center;gap:14px}.metric-icon{width:44px;height:44px;border-radius:12px;background:rgba(190,223,200,.45);display:grid;place-items:center;color:var(--sage-dark);font-family:var(--font-mono);font-weight:900}.metric-card:nth-child(3) .metric-icon{background:rgba(203,187,167,.36);color:var(--ink)}.metric-card strong{display:block;font-size:28px;line-height:1;font-family:var(--font-mono);letter-spacing:-.04em}.metric-card span:last-child{display:block;color:var(--muted);font-size:12px;font-weight:700}.dashboard-section-head{margin-top:28px}.dashboard-module-board{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}

.trip-list,.recipe-list{gap:14px}.design-trip-list,.dashboard-trip-list{grid-template-columns:repeat(3,minmax(0,1fr))}.design-trip-card{padding:16px;display:grid;gap:8px;align-content:start}.trip-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}.design-trip-card h3{font-size:19px;margin:0}.trip-meta{margin:2px 0 0}.trip-card-actions{margin-top:4px}.pennant{position:relative;display:inline-flex;align-items:center;min-width:42px;height:24px;padding:0 13px 0 10px;background:var(--sage);color:var(--white);font:700 11px/1 var(--font-mono);letter-spacing:.06em}.pennant::after{content:'';position:absolute;right:-12px;top:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:12px solid var(--sage)}.badge-neutral{background:rgba(203,187,167,.55);color:var(--ink);border:0}.badge-ok,.ok-pill{background:var(--mint);color:var(--sage-dark)}.warn-pill{background:#fff4d7;color:#694b05}.pill,.chip{font-family:var(--font-mono);font-size:11px;border-radius:var(--radius-pill);background:rgba(190,223,200,.42);color:var(--sage-dark)}.chip.country,.muted-pill{background:rgba(203,187,167,.35);color:var(--ink)}.chip.meal{background:rgba(190,223,200,.48);color:var(--sage-dark)}

.module-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-tile{border-radius:var(--radius-lg);padding:18px;min-height:128px;box-shadow:var(--shadow-card)}.module-tile:hover{background:var(--white);border-color:rgba(124,156,137,.36);transform:translateY(-2px)}.module-icon{background:rgba(190,223,200,.42);color:var(--sage-dark);font-family:var(--font-mono);font-weight:900}

.trip-module-tabs{top:72px;background:rgba(247,245,241,.92);padding:12px 0;margin-bottom:16px}.trip-module-tab{box-shadow:none;border-radius:0;border:0;border-bottom:2px solid transparent;background:transparent;color:rgba(20,24,26,.66);padding:10px 11px}.trip-module-tab span{opacity:.55}.trip-module-tab:hover{background:rgba(190,223,200,.18);border-color:transparent;color:var(--ink)}.trip-module-tab.active{background:transparent;color:var(--sage-dark);border-color:var(--sage)}
.prototype-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-box{box-shadow:var(--shadow-card)}.summary-box b{color:var(--ink);font-family:var(--font-mono)}

.day-head,.prototype-day-summary h3,.modal-head,.modal-actions{background:rgba(247,245,241,.72)}.prototype-day-card .meal-plan-title strong{background:rgba(190,223,200,.42);color:var(--sage-dark);font-family:var(--font-mono)}.meal-plan-row,.mini-slot{border-color:var(--line)}.sticky-actions{background:rgba(247,245,241,.82);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px;backdrop-filter:blur(12px)}

.shopping-summary{margin-top:6px}.summary-box b{color:var(--ink)}.shopping-category-head{background:rgba(247,245,241,.82);border-radius:var(--radius-sm);border-left:0;border-right:0}.responsible-pill{font-family:var(--font-mono);background:var(--mint);color:var(--sage-dark)}.responsible-pill.unassigned{background:var(--white);color:var(--muted)}.shopping-line-row{border-radius:0;border-left:0;border-right:0;border-top:0;box-shadow:none}.shopping-line-row:hover{background:rgba(190,223,200,.10);border-color:var(--line)}.shopping-line-amount strong,.shopping-line-unit,.already-row span{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.row-icon,.inline-icon{color:var(--sage-dark);border-color:var(--line)}.already-section{background:rgba(247,245,241,.75)}

table th{background:rgba(247,245,241,.72);font-family:var(--font-mono);font-size:11px}th,td{border-color:var(--line)}.table-wrap{border-color:var(--line)}
.contact-avatar{background:var(--mint);color:var(--sage-dark);font-family:var(--font-mono)}.contact-card summary,.crew-member-card summary{background:var(--white)}.contact-card[open] summary,.crew-member-card[open] summary{background:rgba(247,245,241,.65)}
.verification-banner{background:#fff4d7;border-color:rgba(203,187,167,.65);color:#694b05}.verification-banner p{color:#694b05}
.archive-card{background:#F7EDED;border-color:rgba(184,76,76,.22)}

@media(max-width:1080px){
  .app-header-inner{display:grid;grid-template-columns:1fr auto;gap:10px}.app-nav{grid-column:1/-1;justify-content:flex-start}.brand-lockup{min-width:0}.header-actions{justify-content:flex-end}.design-trip-list,.dashboard-trip-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-module-board,.module-board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .container{padding-left:16px;padding-right:16px}.app-header-inner{padding:10px 16px}.brand-claim{display:none}.version-badge{display:none}.auth-split-shell{grid-template-columns:1fr;border-radius:20px}.auth-brand-panel{min-height:260px;padding:34px}.auth-brand-panel h1{font-size:48px}.route-line{width:140px;height:190px;right:28px;bottom:22px}.dashboard-hero{display:grid;padding:22px}.dashboard-metrics.grid.three,.design-trip-list,.dashboard-trip-list,.dashboard-module-board,.module-board,.prototype-dashboard-grid{grid-template-columns:1fr}.trip-module-tabs{top:112px}.trip-module-tab{font-size:12px}.app-header .tab{padding:12px 8px}.brand-title{font-size:20px}
}
@media print{
  .app-header{display:none!important}.sticky-actions{position:static!important;border:0!important;padding:0!important;background:#fff!important}.card,.summary-box{box-shadow:none!important}
}

/* v6.4.1 — Header, Logo & CI-Icons */
.ci-icon{
  width:18px;
  height:18px;
  display:inline-block;
  flex:0 0 auto;
  vertical-align:-3px;
  stroke:currentColor;
}
.ci-icon--nav{width:16px;height:16px;opacity:.82}
.ci-icon--tab{width:16px;height:16px;opacity:.76}
.button .ci-icon,
button .ci-icon{width:16px;height:16px;vertical-align:-3px;margin-right:2px}

.app-header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-family:var(--font-ui);
  backdrop-filter:blur(16px);
}
.app-header__inner{
  max-width:1240px;
  margin:0 auto;
  padding:18px 32px 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
}
.app-header__brand{
  display:inline-flex;
  align-items:center;
  gap:16px;
  color:inherit;
  text-decoration:none;
  min-width:0;
}
.app-header__brand:hover{color:var(--ink);text-decoration:none}
.app-header__logo{
  width:62px;
  height:62px;
  object-fit:contain;
  flex:0 0 auto;
  filter:none;
}
.app-header__brand-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.app-header__title{
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
  letter-spacing:.1px;
  color:var(--ink);
}
.app-header__descriptor{
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  color:var(--sage-dark);
}
.app-header__claim{
  margin-top:3px;
  font-size:12.5px;
  line-height:1.35;
  font-weight:700;
  color:var(--navy);
}
.app-header__account{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  padding-top:2px;
}
.app-header__version{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:var(--fog);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.app-header__user{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:4px 10px 4px 4px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:var(--white);
  color:var(--ink);
}
.app-header__avatar{
  width:30px;
  height:30px;
  border-radius:var(--radius-pill);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--mint);
  color:var(--navy);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
}
.app-header__user-name{
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.app-nav{
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:26px;
  overflow-x:auto;
  scrollbar-width:none;
  background:transparent;
  backdrop-filter:none;
}
.app-nav::-webkit-scrollbar{display:none}
.app-nav__item{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:46px;
  padding:0 0 13px;
  color:rgba(20,24,26,.70);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.app-nav__item:hover{color:var(--ink);text-decoration:none}
.app-nav__item::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  border-radius:var(--radius-pill);
  background:transparent;
}
.app-nav__item.is-active{color:var(--sage-dark)}
.app-nav__item.is-active::after{background:var(--sage)}

.brand-logo-img{display:block;object-fit:contain;flex:0 0 auto}
.brand-logo-img--hero{width:98px;height:98px;margin-bottom:4px;opacity:.96}
.brand-logo-img--card{width:42px;height:42px}
.auth-card-brand{gap:12px}
.auth-brand-panel{padding-top:48px}
.auth-brand-panel h1{margin-top:2px}

.metric-icon,
.module-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.metric-icon .ci-icon{width:23px;height:23px}
.module-icon .ci-icon{width:23px;height:23px}
.trip-module-tab .ci-icon{margin-right:1px}

.design-trip-list,
.dashboard-trip-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px;
}
.design-trip-card{
  min-height:190px;
  padding:20px!important;
  gap:10px!important;
}
.design-trip-card h3{font-size:22px!important;line-height:1.15}
.design-trip-card .prototype-trip-actions,
.design-trip-card .trip-card-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:auto;
}
.design-trip-card .button{
  width:100%;
  min-width:0;
  justify-content:center;
  white-space:nowrap;
}
.dashboard-trip-list .design-trip-card .trip-card-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.dashboard-trip-list .design-trip-card{
  min-height:172px;
}
.pennant{border-radius:2px 0 0 2px}

@media(max-width:980px){
  .app-header__inner{padding:16px 22px 12px;align-items:center;gap:18px}
  .app-header__logo{width:52px;height:52px}
  .app-header__title{font-size:26px}
  .app-header__claim{display:none}
  .app-header__version,.app-header__user-name{display:none}
  .app-nav{padding:0 22px;gap:22px}
}
@media(max-width:760px){
  .app-header__inner{padding:14px 16px 10px}
  .app-header__logo{width:46px;height:46px}
  .app-header__title{font-size:23px}
  .app-header__descriptor{font-size:12px}
  .app-header__account{gap:8px}
  .app-nav{padding:0 16px;gap:18px}
  .app-nav__item{min-height:42px;font-size:12px;padding-bottom:11px}
  .app-nav__item .ci-icon{display:none}
  .brand-logo-img--hero{width:74px;height:74px}
  .design-trip-list,.dashboard-trip-list{grid-template-columns:1fr!important}
  .design-trip-card .prototype-trip-actions,
  .design-trip-card .trip-card-actions{grid-template-columns:1fr}
}

/* =========================
   v6.5 Crew-Einladungen & Gastzugang
========================= */
.invite-panel{
    margin:14px 0 0;
    padding:14px;
    border:1px solid var(--line);
    border-radius:var(--radius-md,14px);
    background:rgba(190,223,200,.16);
    display:grid;
    gap:12px;
}
.invite-inline-form,
.share-invite-form{
    display:grid;
    grid-template-columns:minmax(150px,1fr) auto;
    gap:10px;
    align-items:end;
}
.compact-notice{margin:0;padding:10px 12px;border-radius:12px}
.invite-summary-grid{margin-bottom:14px}
.share-member-list,.permission-explainer{display:grid;gap:10px}
.share-member-card{
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(220px,auto);
    gap:12px;
    align-items:center;
    background:var(--white,#fff);
}
.share-member-card small{display:block;color:var(--muted);margin-top:3px}
.invitation-table{display:grid;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white,#fff)}
.invitation-row{
    display:grid;
    grid-template-columns:1.1fr 1.4fr .9fr .8fr .95fr auto;
    gap:10px;
    align-items:center;
    padding:11px 12px;
    border-bottom:1px solid var(--line);
    font-size:13px;
}
.invitation-row:last-child{border-bottom:0}
.invitation-row--head{background:var(--fog,#F7F5F1);font-weight:900;color:var(--ink)}
.invitation-row form{margin:0}
.guest-shell{max-width:1080px;margin:0 auto;padding:32px 18px 70px}
.guest-trip-shell{display:grid;gap:18px}
.guest-card{
    background:var(--white,#fff);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow-card,0 6px 18px rgba(20,24,26,.05));
    padding:28px;
}
.guest-card--center{max-width:560px;margin:54px auto;text-align:center;display:grid;justify-items:center;gap:12px}
.guest-logo{width:74px;height:74px;object-fit:contain}
.guest-hero{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
    gap:20px;
    align-items:stretch;
    background:var(--white,#fff);
    border:1px solid var(--line);
    border-radius:24px;
    padding:24px;
    box-shadow:var(--shadow-card,0 6px 18px rgba(20,24,26,.05));
}
.guest-hero h1{font-family:var(--font-display,'Bagel Fat One',cursive);letter-spacing:.01em;color:var(--navy,#2B3244)}
.guest-badge-row,.permission-chip-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.guest-action-card{
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    background:var(--fog,#F7F5F1);
    display:grid;
    gap:12px;
    align-content:center;
}
.guest-action-card form{display:grid;gap:10px}
.guest-permission-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);
    gap:18px;
    align-items:center;
}
.guest-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guest-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}
.guest-facts div{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--fog,#F7F5F1)}
.guest-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.guest-facts dd{margin:4px 0 0;font-family:var(--font-mono,monospace);font-weight:800;color:var(--ink)}
.guest-crew-list,.guest-shopping-list{display:grid;gap:8px}
.guest-crew-row{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.guest-crew-row:last-child{border-bottom:0}
.guest-crew-row small{display:block;color:var(--muted)}
.guest-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.guest-day-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--white,#fff)}
.guest-day-card h3{margin:0 0 10px;font-family:var(--font-mono,monospace);font-size:13px;color:var(--sage-dark,#5E7C6B)}
.guest-meal-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.guest-meal-row:last-child{border-bottom:0}
.guest-meal-row span{color:var(--muted)}
.guest-meal-row strong{font-weight:800}
.guest-shopping-group{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white,#fff)}
.guest-shopping-group header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:var(--fog,#F7F5F1)}
.guest-shopping-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 12px;border-top:1px solid var(--line);font-size:13px}
.guest-shopping-row strong{font-family:var(--font-mono,monospace);white-space:nowrap}
@media(max-width:920px){
    .guest-hero,.guest-permission-card,.guest-section-grid{grid-template-columns:1fr}
    .invitation-row{grid-template-columns:1fr;gap:5px}
    .invitation-row--head{display:none}
    .share-member-card,.share-invite-form,.invite-inline-form{grid-template-columns:1fr}
}
@media(max-width:620px){
    .guest-shell{padding:22px 14px 50px}
    .guest-hero,.guest-card{padding:18px}
    .guest-facts{grid-template-columns:1fr}
}

/* =========================
   v6.5.1 Einladungshandling
========================= */
.invite-direct-box{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(124,156,137,.28);
  background:rgba(190,223,200,.16);
}
.permission-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.permission-options--inline{
  margin-top:8px;
}
.permission-options--share{
  grid-template-columns:1fr;
  min-width:260px;
}
.permission-option{
  position:relative;
  display:flex;
  gap:8px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--white);
  padding:10px;
  cursor:pointer;
  min-height:82px;
}
.permission-option:hover{
  border-color:rgba(124,156,137,.40);
  background:rgba(247,245,241,.72);
}
.permission-option input{
  width:auto;
  min-height:0;
  margin-top:3px;
  accent-color:var(--sage);
}
.permission-option:has(input:checked){
  border-color:rgba(124,156,137,.70);
  background:rgba(190,223,200,.26);
}
.permission-option strong{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  color:var(--ink);
}
.permission-option small{
  margin-top:5px;
  line-height:1.35;
}
.permission-option--compact{
  min-height:auto;
  padding:8px 9px;
}
.permission-option--compact small{display:none}
.info-dot{
  width:18px;
  height:18px;
  min-height:18px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--fog);
  border:1px solid var(--line);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:900;
  line-height:1;
  transform:none!important;
}
.info-dot:hover{
  background:var(--mint);
  color:var(--navy);
}
.form-label{
  display:block;
  color:var(--ink);
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
.invite-inline-form--expanded{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.visible-danger-form{
  margin-top:8px;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.crew-member-card .ok-pill{
  background:var(--mint);
  color:var(--sage-dark);
}
.crew-member-card .warn-pill{
  background:#fff4d7;
  color:#694b05;
}
.share-invite-form{
  grid-template-columns:minmax(260px,1fr) auto;
}
@media(max-width:900px){
  .permission-options,
  .permission-options--share{
    grid-template-columns:1fr;
  }
  .invite-inline-form--expanded,
  .share-invite-form{
    grid-template-columns:1fr;
  }
}

/* =========================
   v6.5.2 — Crew-Flow, Footer & Gast-Einkauf
========================= */
:root{
  --ink:#14181A;
  --sage:#7C9C89;
  --sage-dark:#5E7C6B;
  --mint:#BEDFC8;
  --mint-dark:#9CC7AA;
  --sand:#CBBBA7;
  --sand-dark:#B4A38C;
  --navy:#2B3244;
  --navy-light:#454F68;
  --fog:#F7F5F1;
  --white:#FFFFFF;
  --line:rgba(20,24,26,.12);
  --font-display:'Bagel Fat One',cursive;
  --font-ui:'Plus Jakarta Sans',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --radius-sm:10px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-pill:999px;
  --shadow-soft:0 14px 34px rgba(20,24,26,.07);
  --shadow-card:0 6px 18px rgba(20,24,26,.05);
}
body{background:var(--fog);color:var(--ink);font-family:var(--font-ui)}

.app-header__logo{width:64px;height:64px;object-fit:contain}
.app-header__brand{align-items:center}
.app-header__title{letter-spacing:.01em}
.app-header__descriptor{color:var(--sage-dark)}
.app-header__claim{color:var(--navy)}

/* Einladung optisch ruhiger und CI-nah */
.crew-layout{grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);align-items:start}
.crew-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.crew-stats .summary-box{border-radius:18px;background:var(--white);border-color:var(--line)}
.crew-member-list{display:grid;gap:14px}
.crew-member-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--white);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.crew-member-card[open]{border-color:rgba(124,156,137,.30);box-shadow:var(--shadow-soft)}
.crew-member-card summary{
  list-style:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:16px 18px;
  cursor:pointer;
  background:linear-gradient(180deg,var(--white),rgba(247,245,241,.78));
}
.crew-member-card summary::-webkit-details-marker{display:none}
.crew-member-card summary:after{
  content:'⌄';
  color:rgba(20,24,26,.48);
  font-weight:900;
  margin-left:4px;
}
.crew-member-card[open] summary:after{transform:rotate(180deg)}
.crew-summary-text{display:grid;gap:3px;min-width:0}
.crew-summary-text strong{font-size:16px;color:var(--ink)}
.crew-summary-text small{color:rgba(20,24,26,.58);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-avatar{
  background:var(--mint);
  color:var(--navy);
  border:1px solid rgba(124,156,137,.18);
}
.crew-edit-form{padding:18px;border-top:1px solid var(--line);background:rgba(247,245,241,.40)}
.invite-panel{
  margin:0 18px 18px;
  padding:16px;
  border:1px solid rgba(124,156,137,.24);
  border-radius:18px;
  background:rgba(190,223,200,.16);
  display:grid;
  gap:14px;
}
.invite-panel > div:first-child{display:grid;gap:4px}
.invite-direct-box{
  border:1px solid rgba(124,156,137,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(190,223,200,.24),rgba(247,245,241,.58));
  padding:16px;
}
.checkbox-inline{display:flex!important;align-items:center;gap:10px;font-weight:900;color:var(--ink)}
.checkbox-inline input{width:18px;min-height:18px;accent-color:var(--sage)}
.permission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.permission-options--share{grid-template-columns:1fr;min-width:280px}
.permission-option{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--white);
  padding:12px;
  gap:10px;
  min-height:96px;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.permission-option:hover{border-color:rgba(124,156,137,.48);background:rgba(247,245,241,.72);box-shadow:var(--shadow-card);transform:translateY(-1px)}
.permission-option input{accent-color:var(--sage);margin-top:3px;min-height:auto;width:auto}
.permission-option:has(input:checked){border-color:var(--sage);background:rgba(190,223,200,.28);box-shadow:0 0 0 3px rgba(124,156,137,.10)}
.permission-option strong{font-size:13px;color:var(--navy)}
.permission-option small{display:block;color:rgba(20,24,26,.58);font-weight:650;line-height:1.4;margin-top:6px}
.permission-option--compact{min-height:auto;align-items:center}
.permission-option--compact small{display:none}
.info-dot{
  width:20px;height:20px;min-height:20px;border-radius:999px;
  background:var(--fog);border:1px solid var(--line);color:var(--sage-dark);
  font-family:var(--font-mono);font-size:11px;font-weight:900;padding:0;margin-left:3px;
}
.info-dot:hover{background:var(--mint);color:var(--navy)}
.visible-danger-form{margin:0 18px 18px;padding-top:14px;border-top:1px solid var(--line)}
.secondary-danger{background:var(--white)!important;color:#B84C4C!important;border:1px solid #B84C4C!important}
.secondary-danger:hover{background:#F7EDED!important}
.ok-pill{background:var(--mint)!important;color:var(--sage-dark)!important}
.warn-pill{background:rgba(203,187,167,.35)!important;color:var(--navy)!important}
.muted-pill{background:rgba(247,245,241,.88)!important;color:rgba(20,24,26,.72)!important;border:1px solid var(--line)}
.share-member-list{display:grid;gap:14px}
.share-member-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:16px;
  align-items:center;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--white),rgba(247,245,241,.62));
}
.share-member-card strong{display:block;color:var(--navy)}
.share-member-card small{display:block;color:rgba(20,24,26,.58);font-weight:700;margin-top:4px}
.share-invite-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.permission-explainer{display:grid;gap:12px}
.permission-explainer > div{padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(247,245,241,.60)}
.invitation-table{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--white)}
.invitation-row{grid-template-columns:1.1fr 1.2fr .8fr .75fr .95fr auto;padding:13px 14px}
.invitation-row--head{background:var(--navy);color:var(--fog)}

/* Gast-Einkauf: abhaken für alle Einladungen */
.guest-shopping-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-top:1px solid var(--line);
  background:var(--white);
}
.guest-shopping-row:hover{background:rgba(190,223,200,.10)}
.guest-shopping-row.is-done{background:rgba(190,223,200,.18)}
.guest-shopping-row.is-done .guest-shopping-check span{text-decoration:line-through;color:rgba(20,24,26,.48)}
.guest-shopping-check{display:flex!important;align-items:center;gap:10px;font-weight:750;color:var(--ink);min-width:0}
.guest-shopping-check input{width:18px;min-height:18px;accent-color:var(--sage);flex:0 0 auto}
.guest-shopping-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-shopping-row strong{font-family:var(--font-mono);font-size:12px;color:var(--navy);white-space:nowrap}

/* =========================
   CREW & INVITATION RESPONSIVE
========================= */
@media (max-width: 920px) {
  .crew-layout,.share-member-card,.share-invite-form{grid-template-columns:1fr}
  .crew-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 760px){
  .permission-options,.permission-options--share{grid-template-columns:1fr}
  .crew-member-card summary{grid-template-columns:auto minmax(0,1fr);}
  .crew-member-card summary .pill{grid-column:1/-1;justify-self:start}
}
@media (max-width: 560px) {
  .crew-stats{grid-template-columns:1fr}
}

/* =========================================================
   MÖWOKAN SAILING FOOTER
   Drop-in footer component
========================================================= */

.moe-footer {
  --footer-ink: #F7F5F1;
  --footer-muted: rgba(247, 245, 241, 0.62);
  --footer-soft: rgba(247, 245, 241, 0.42);
  --footer-line: rgba(247, 245, 241, 0.10);
  --footer-navy: var(--navy, #2B3244);
  --footer-navy-light: var(--navy-light, #454F68);
  --footer-mint: var(--mint, #BEDFC8);
  --footer-sage: var(--sage, #7C9C89);
  --footer-font-ui: var(--font-ui, "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --footer-font-display: var(--font-display, "Bagel Fat One", Georgia, serif);
  --footer-font-mono: var(--font-mono, "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);

  margin-top: 72px;
  background: var(--footer-navy);
  color: var(--footer-ink);
  font-family: var(--footer-font-ui);
  border-top: 1px solid var(--footer-line);
}

.moe-footer,
.moe-footer * {
  box-sizing: border-box;
}

.moe-footer__wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 48px 0 28px;
}

/* Top brand row */

.moe-footer__brand-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  padding-bottom: 40px;
}

.moe-footer__brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}

.moe-footer__logo {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
  flex: 0 0 auto;
}

.moe-footer__brand-text {
  display: grid;
  gap: 3px;
}

.moe-footer__name {
  display: block;
  color: var(--footer-ink);
  font-family: var(--footer-font-display);
  font-size: 27px;
  line-height: 1;
  letter-spacing: 0.1px;
  font-weight: 400;
}

.moe-footer__descriptor {
  display: block;
  color: var(--footer-mint);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

.moe-footer__claim {
  max-width: 420px;
  text-align: right;
}

.moe-footer__claim strong {
  display: block;
  color: var(--footer-ink);
  font-family: var(--footer-font-display);
  font-size: 21px;
  line-height: 1.15;
  font-weight: 400;
}

.moe-footer__claim span {
  display: block;
  margin-top: 10px;
  color: var(--footer-muted);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 600;
}

/* Navigation */

.moe-footer__nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
  padding: 40px 0;
  border-top: 1px solid var(--footer-line);
  border-bottom: 1px solid var(--footer-line);
}

.moe-footer__group {
  min-width: 0;
}

.moe-footer__group h2 {
  margin: 0 0 16px;
  color: var(--footer-mint);
  font-family: var(--footer-font-mono);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.moe-footer__group ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 11px;
}

.moe-footer__group a {
  color: var(--footer-muted);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  transition: color 160ms ease, opacity 160ms ease;
}

.moe-footer__group a:hover {
  color: var(--footer-ink);
}

.moe-footer__group a:focus-visible {
  outline: 2px solid var(--footer-mint);
  outline-offset: 4px;
  border-radius: 6px;
}

/* Bottom row */

.moe-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 22px;
  color: var(--footer-soft);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 600;
}

.moe-footer__meta {
  color: rgba(190, 223, 200, 0.75);
  font-family: var(--footer-font-mono);
  font-size: 11px;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* Responsive */

@media (max-width: 980px) {
  .moe-footer__brand-row {
    flex-direction: column;
    gap: 28px;
  }

  .moe-footer__claim {
    max-width: 620px;
    text-align: left;
  }

  .moe-footer__nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .moe-footer__bottom {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .moe-footer {
    margin-top: 48px;
  }

  .moe-footer__wrap {
    width: min(100% - 32px, 1180px);
    padding: 36px 0 24px;
  }

  .moe-footer__brand-row {
    padding-bottom: 32px;
  }

  .moe-footer__brand {
    align-items: flex-start;
  }

  .moe-footer__logo {
    width: 48px;
    height: 48px;
  }

  .moe-footer__name {
    font-size: 24px;
  }

  .moe-footer__descriptor {
    font-size: 12px;
  }

  .moe-footer__claim strong {
    font-size: 19px;
  }

  .moe-footer__claim span {
    font-size: 13px;
  }

  .moe-footer__nav {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
    padding: 32px 0;
  }

  .moe-footer__bottom {
    display: grid;
    gap: 8px;
  }
}

@media (max-width: 440px) {
  .moe-footer__nav {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   v6.6 Boardbedarf-Rechner
========================================================= */
.board-supply-basis-card {
  display: grid;
  gap: 22px;
}

.board-supply-basis-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.board-supply-basis-main h2 {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: 32px;
  line-height: 1;
}

.board-supply-basis-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(94px, 1fr));
  gap: 12px;
  min-width: min(380px, 100%);
}

.board-supply-basis-stats span {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--fog);
}

.board-supply-basis-stats strong {
  font-family: var(--font-mono);
  font-size: 22px;
  line-height: 1;
  color: var(--navy);
}

.board-supply-basis-stats small {
  color: rgba(20, 24, 26, .58);
  font-size: 12px;
  font-weight: 700;
}

.board-supply-basis-form {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.board-supply-basis-form label {
  max-width: 220px;
}

.board-supply-group-list {
  display: grid;
  gap: 22px;
}

.board-supply-group {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--white);
}

.board-supply-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  background: rgba(203, 187, 167, .16);
  border-bottom: 1px solid var(--line);
}

.board-supply-group__head h3 {
  margin: 0;
  font-size: 15px;
}

.board-supply-list {
  display: grid;
  gap: 0;
}

.board-supply-row {
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}

.board-supply-row:last-child {
  border-bottom: 0;
}

.board-supply-row__copy {
  display: grid;
  gap: 4px;
}

.mono-amount {
  font-family: var(--font-mono);
  font-size: 12px;
}

.board-supply-dialog {
  width: min(1120px, calc(100vw - 32px));
}

.board-supply-dialog .dialog-form {
  max-width: none;
}

.board-supply-dialog-intro {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(190, 223, 200, .22);
  margin-bottom: 20px;
}

.board-supply-dialog-intro p {
  margin: 0;
}

.board-supply-standard-list {
  display: grid;
  gap: 24px;
}

.board-supply-standard-section {
  display: grid;
  gap: 12px;
}

.board-supply-standard-section h3 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--sage-dark);
}

.board-supply-standard-items {
  display: grid;
  gap: 10px;
}

.board-supply-standard-item {
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(170px, .55fr) minmax(260px, .9fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
}

.board-supply-standard-item__check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

.board-supply-standard-item__check input {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: var(--sage);
  flex: 0 0 auto;
}

.board-supply-standard-item__check span {
  display: grid;
  gap: 4px;
}

.board-supply-standard-item__check strong {
  font-size: 14px;
}

.board-supply-standard-item__check small {
  color: rgba(20, 24, 26, .58);
  font-size: 12px;
  line-height: 1.4;
}

.board-supply-standard-item__edit {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.board-supply-standard-item__edit label,
.board-supply-standard-item__note {
  margin: 0;
}

.board-supply-standard-item__edit input {
  font-family: var(--font-mono);
}

.board-supply-unit {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--fog);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--navy);
}

.board-supply-standard-item__note input {
  font-size: 12px;
}

@media (max-width: 980px) {
  .board-supply-basis-main,
  .board-supply-basis-form {
    flex-direction: column;
    align-items: stretch;
  }

  .board-supply-basis-form label {
    max-width: none;
  }

  .board-supply-standard-item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .board-supply-basis-stats {
    grid-template-columns: 1fr;
  }

  .board-supply-standard-item {
    padding: 12px;
  }
}

/* =========================================================
   v6.6.1 — UI-Konsistenz: Buttons + Bordbedarf wie Einkaufsliste
========================================================= */
button,
.button,
.btn {
  border: 1px solid var(--sage);
}

button:hover,
.button:hover,
.btn:hover {
  border-color: var(--sage-dark);
}

button.secondary,
.button.secondary,
.btn-secondary {
  border-color: rgba(20, 24, 26, .18);
}

button.ghost,
.button.ghost,
.btn-ghost {
  border-color: var(--line);
  background: var(--white);
}

button.final,
.button.final,
.btn-final,
button.new-action,
.button.new-action,
button.edit-action,
.button.edit-action {
  background: var(--navy);
  color: var(--fog);
  border-color: var(--navy);
}

button.final:hover,
.button.final:hover,
.btn-final:hover,
button.new-action:hover,
.button.new-action:hover,
button.edit-action:hover,
.button.edit-action:hover {
  background: var(--navy-light);
  color: var(--fog);
  border-color: var(--navy-light);
}

button.open-action,
.button.open-action,
button.save-action,
.button.save-action {
  background: var(--sage);
  color: var(--white);
  border-color: var(--sage);
}

button.open-action:hover,
.button.open-action:hover,
button.save-action:hover,
.button.save-action:hover {
  background: var(--sage-dark);
  color: var(--white);
  border-color: var(--sage-dark);
}

button.danger,
.button.danger,
.secondary-danger {
  background: #B84C4C !important;
  color: var(--white) !important;
  border-color: #B84C4C !important;
}

button.danger:hover,
.button.danger:hover,
.secondary-danger:hover {
  background: #9F3E3E !important;
  border-color: #9F3E3E !important;
  color: var(--white) !important;
}

.row-icon,
.inline-icon,
.info-dot {
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--sage-dark);
}

.row-icon:hover,
.inline-icon:hover,
.info-dot:hover {
  border-color: rgba(124, 156, 137, .42);
  background: rgba(190, 223, 200, .20);
  color: var(--sage-dark);
  transform: none;
}

.row-icon.danger-icon,
.danger-icon {
  border-color: rgba(184, 76, 76, .28) !important;
  background: var(--white) !important;
  color: #B84C4C !important;
}

.row-icon.danger-icon:hover,
.danger-icon:hover {
  background: #F7EDED !important;
  border-color: #B84C4C !important;
  color: #9F3E3E !important;
}

.modal-close {
  border-color: var(--line) !important;
  background: var(--white) !important;
  color: rgba(20, 24, 26, .62) !important;
}

.modal-close:hover {
  background: var(--fog) !important;
  color: var(--ink) !important;
}

.recipe-card .actions-inline {
  gap: 8px;
  flex-wrap: wrap;
}

/* Bordbedarf: bewusst analog zur Einkaufsliste */
.board-supply-page-card.shopping-list-card {
  background: var(--white);
}

.board-supply-shopping-list {
  display: grid;
  gap: 16px;
}

.board-supply-group {
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}

.board-supply-category-head {
  margin: 16px 0 0;
  background: rgba(247, 245, 241, .82);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

.board-supply-table-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px 110px minmax(160px, .7fr) 46px;
  gap: 10px;
  align-items: center;
  padding: 9px 12px;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  background: rgba(247, 245, 241, .48);
  color: rgba(20, 24, 26, .54);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.board-supply-compact-list {
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  overflow: hidden;
}

.board-supply-line-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px 110px minmax(160px, .7fr) 46px;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.board-supply-line-row:last-child {
  border-bottom: 0;
}

.board-supply-line-row:hover {
  background: rgba(190, 223, 200, .10);
}

.board-supply-line-name {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.board-supply-line-name strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
}

.board-supply-line-name small {
  display: none;
}

.board-supply-line-amount {
  text-align: right;
}

.board-supply-line-amount strong,
.board-supply-line-unit {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
}

.board-supply-line-unit {
  text-align: left;
  color: rgba(20, 24, 26, .68);
}

.board-supply-line-note {
  min-width: 0;
  color: rgba(20, 24, 26, .58);
  font-size: 12px;
  font-weight: 650;
}

.board-supply-line-note span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.board-supply-line-action {
  display: flex;
  justify-content: flex-end;
  margin: 0;
}

.board-supply-line-action .row-icon {
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: var(--radius-sm);
}

.board-supply-standard-item {
  border-radius: var(--radius-md);
}

.board-supply-standard-section h3 {
  color: var(--sage-dark);
}

@media (max-width: 820px) {
  .board-supply-table-head {
    display: none;
  }

  .board-supply-category-head {
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  }

  .board-supply-line-row {
    grid-template-columns: minmax(0, 1fr) auto 40px;
    gap: 8px;
  }

  .board-supply-line-name {
    grid-column: 1 / 2;
  }

  .board-supply-line-amount {
    grid-column: 2 / 3;
    text-align: right;
  }

  .board-supply-line-unit {
    grid-column: 2 / 3;
    text-align: right;
    font-size: 11px;
  }

  .board-supply-line-note {
    grid-column: 1 / 3;
  }

  .board-supply-line-action {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }
}

/* =========================
   v6.6.2 Dashboard & Törn-Karten UI
========================= */
.next-trip-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:16px 0 0;
  padding:8px 12px;
  border:1px solid rgba(124,156,137,.28);
  border-radius:var(--radius-pill);
  background:rgba(190,223,200,.34);
  color:var(--sage-dark);
  font-size:12px;
  font-weight:800;
}
.next-trip-pill .ci-icon{width:16px;height:16px}

.trip-group-section{margin:30px 0 36px}
.trip-group-section .section-title-row{margin-bottom:14px}
.compact-empty{padding:16px;text-align:left}
.past-trip-list .design-trip-card{opacity:.88}

.planning-trip-card{
  min-height:320px;
}
.trip-planning-status{
  margin-top:4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:rgba(247,245,241,.74);
}
.trip-planning-status > strong{
  display:block;
  margin-bottom:9px;
  color:var(--ink);
  font-size:12px;
  font-weight:900;
}
.trip-planning-status dl{
  display:grid;
  gap:7px;
  margin:0;
}
.trip-status-row{
  display:grid;
  grid-template-columns:minmax(110px,.8fr) minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.trip-status-row dt,
.trip-status-row dd{margin:0;font-size:12px;line-height:1.35}
.trip-status-row dt{font-weight:800;color:rgba(20,24,26,.70)}
.trip-status-row dd{font-family:var(--font-mono);font-weight:700;color:var(--ink)}
.trip-status-row::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:999px;
  margin-top:5px;
  background:var(--sand);
  grid-column:1;
  grid-row:1;
  transform:translateX(-11px);
  display:none;
}
.trip-status-row.is-ok dd{color:var(--sage-dark)}
.trip-status-row.is-warn dd{color:#7A5A13}
.trip-status-row.is-open dd{color:rgba(20,24,26,.58)}

.design-trip-card .trip-card-actions{
  margin-top:4px;
}
.dashboard-trip-list .planning-trip-card{min-height:300px}

.app-header__user:hover{
  background:var(--fog);
  text-decoration:none;
  color:var(--ink);
  border-color:rgba(20,24,26,.18);
}

.trip-create-layout{
  display:grid;
  gap:16px;
}
.form-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.form-section-head h2{margin:0 0 4px}
.crew-builder-list{
  display:grid;
  gap:10px;
}
.crew-builder-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:rgba(247,245,241,.68);
}
.crew-builder-row label{margin:0}
.crew-builder-row .button{white-space:nowrap}

@media(max-width:920px){
  .trip-status-row{grid-template-columns:1fr;gap:2px}
  .planning-trip-card{min-height:auto}
}
@media(max-width:680px){
  .next-trip-pill{width:100%;justify-content:center;white-space:normal;text-align:center}
  .crew-builder-row{grid-template-columns:1fr}
  .form-section-head .button{width:100%}
}

/* =========================
   v6.6.3 Dashboard, Planungsstatus & Crew-Auswahl
========================= */
.dashboard-hero--focused{
  margin-bottom:16px;
}
.next-trip-callout{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0 0 28px;
  padding:18px 20px;
  border-color:rgba(124,156,137,.28);
  background:linear-gradient(135deg,rgba(190,223,200,.36),rgba(255,255,255,.92));
}
.next-trip-callout__icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:var(--fog);
}
.next-trip-callout__icon .ci-icon{width:22px;height:22px}
.next-trip-callout h2{
  margin:3px 0 4px;
  font-family:var(--font-display);
  font-size:clamp(26px,3vw,38px);
  line-height:1;
  color:var(--navy);
}
.next-trip-callout p{margin:0}
.dashboard-metrics{display:none!important}
.design-trip-list,
.dashboard-trip-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.planning-trip-card{
  min-height:auto;
}
.trip-planning-status--compact{
  margin-top:8px;
  padding:10px 11px;
  border:1px solid rgba(20,24,26,.10);
  border-radius:var(--radius-md);
  background:rgba(247,245,241,.72);
}
.trip-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.trip-progress-head strong{
  margin:0;
  font-size:11px;
  font-family:var(--font-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(20,24,26,.68);
}
.trip-progress-head span{
  font-size:12px;
  font-weight:900;
  color:var(--sage-dark);
}
.trip-progress-bar{
  height:7px;
  border-radius:var(--radius-pill);
  overflow:hidden;
  background:rgba(20,24,26,.08);
  margin-bottom:9px;
}
.trip-progress-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--sage),var(--mint-dark));
}
.trip-status-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:5px;
}
.trip-status-list li{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
  color:rgba(20,24,26,.70);
  font-size:12px;
  font-weight:750;
  line-height:1.25;
}
.trip-status-list li small{
  color:rgba(20,24,26,.52);
  font-size:10px;
  font-weight:700;
}
.trip-status-icon{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:900;
  border:1px solid var(--line);
  background:var(--white);
}
.trip-status-list .is-ok .trip-status-icon{background:var(--mint);border-color:transparent;color:var(--sage-dark)}
.trip-status-list .is-ok{color:var(--sage-dark)}
.trip-status-list .is-warn .trip-status-icon{background:var(--sand);border-color:transparent;color:var(--ink)}
.trip-status-list .is-warn{color:var(--ink)}
.trip-status-list .is-open .trip-status-icon{background:var(--white);color:rgba(20,24,26,.42)}
.saved-contact-picker{
  display:grid;
  gap:10px;
}
.saved-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.saved-contact-option{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:58px;
  margin:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--white);
  cursor:pointer;
}
.saved-contact-option:hover{
  border-color:rgba(124,156,137,.35);
  background:rgba(190,223,200,.12);
}
.saved-contact-option input{margin:0}
.saved-contact-option strong{display:block;font-size:13px;line-height:1.2}
.saved-contact-option small{display:block;color:var(--muted);font-size:11px;line-height:1.2;margin-top:2px}
.crew-builder-manual-head{
  display:grid;
  gap:2px;
  margin-top:4px;
}
@media(max-width:920px){
  .next-trip-callout{grid-template-columns:auto minmax(0,1fr)}
  .next-trip-callout .button{grid-column:1/-1;width:100%}
  .saved-contact-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .design-trip-list,
  .dashboard-trip-list{grid-template-columns:1fr}
  .next-trip-callout{grid-template-columns:1fr;text-align:left}
  .next-trip-callout__icon{width:42px;height:42px}
  .trip-status-list li{grid-template-columns:18px minmax(0,1fr)}
  .trip-status-list li small{grid-column:2;justify-self:start}
}


/* =========================
   v6.6.4 Dashboard-Feinschliff & Microcopy
========================= */
.next-trip-callout{
  position:relative;
  overflow:hidden;
  padding:24px 24px;
  border:0;
  background:linear-gradient(135deg,var(--navy),var(--navy-light));
  color:var(--fog);
  box-shadow:0 18px 46px rgba(43,50,68,.18);
}
.next-trip-callout::after{
  content:"";
  position:absolute;
  inset:auto -12% -58% auto;
  width:300px;
  height:300px;
  border-radius:999px;
  background:rgba(190,223,200,.09);
  pointer-events:none;
}
.next-trip-callout .eyebrow{
  color:rgba(190,223,200,.78);
}
.next-trip-callout h2{
  color:var(--fog);
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.next-trip-callout h2 strong,
.next-trip-callout h2 .count-highlight{
  color:var(--mint);
}
.next-trip-callout p,
.next-trip-callout .muted{
  color:rgba(247,245,241,.72)!important;
}
.next-trip-callout__icon{
  background:rgba(247,245,241,.12);
  color:var(--mint);
  border:1px solid rgba(247,245,241,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.next-trip-callout__icon .ci-icon{
  width:24px;
  height:24px;
}
.next-trip-callout .button.open-action{
  position:relative;
  z-index:1;
  background:var(--sage);
  border-color:rgba(247,245,241,.16);
  color:var(--white);
}
.next-trip-callout .button.open-action:hover{
  background:var(--sage-dark);
  color:var(--white);
}
.trip-meta .empty-crew,
.trip-meta-empty-crew{
  color:var(--sage-dark);
  font-weight:800;
}
.trip-status-list li small:empty{display:none}
.trip-status-list .is-open span:not(.trip-status-icon){color:rgba(20,24,26,.58)}
.app-nav__item .ci-icon,
.module-icon .ci-icon,
.next-trip-callout__icon .ci-icon{
  stroke-width:1.7;
}

/* =========================================================
   v6.6.5 — Dashboard Typography & Hero Polish
   Ziel: weniger verspielt, ruhiger, keine künstlich fette Bagel-Darstellung
========================================================= */
html,
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Bagel Fat One nur als normaler Markenmoment, nie künstlich fett */
.brand-title,
.app-header__title,
.auth-brand-panel h1,
.dashboard-hero h1,
.guest-hero h1,
.moe-footer__name,
.moe-footer__claim strong {
  font-weight: 400 !important;
  font-synthesis-weight: none;
  letter-spacing: .01em;
  text-shadow: none !important;
}

.dashboard-hero--focused {
  padding: 22px 28px;
  min-height: 0;
  align-items: center;
}

.dashboard-hero h1 {
  margin: 0 0 7px;
  line-height: .96;
}

.dashboard-hero__intro {
  max-width: none !important;
  margin: 0;
  white-space: nowrap;
  line-height: 1.45;
  font-size: 14px;
}

.next-trip-callout {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  padding: 28px 30px;
  background: linear-gradient(135deg, #2B3244 0%, #30384B 100%);
  border: 1px solid rgba(247, 245, 241, .06);
  box-shadow: 0 18px 42px rgba(43, 50, 68, .16);
}

.next-trip-callout::after {
  display: none;
}

.next-trip-callout__icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(247, 245, 241, .10);
  color: var(--mint);
  border: 1px solid rgba(247, 245, 241, .10);
  box-shadow: none;
}

.next-trip-callout__icon .ci-icon {
  width: 28px;
  height: 28px;
  stroke-width: 1.55;
}

.next-trip-callout .eyebrow {
  display: block;
  margin-bottom: 8px;
  color: rgba(190, 223, 200, .76);
  font-size: 11px;
  letter-spacing: .14em;
}

.next-trip-callout h2,
.next-trip-countdown {
  margin: 0 0 7px;
  font-family: var(--font-ui) !important;
  font-size: clamp(30px, 3.15vw, 44px);
  line-height: 1.04;
  letter-spacing: -.035em;
  font-weight: 800;
  color: var(--fog);
  text-shadow: none !important;
}

.next-trip-countdown .count-text {
  font-family: var(--font-ui);
  font-weight: 800;
}

.next-trip-countdown .count-highlight,
.next-trip-countdown .mono-count {
  font-family: var(--font-mono);
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--mint);
}

.next-trip-callout__meta {
  margin: 0;
  color: rgba(247, 245, 241, .70) !important;
  font-weight: 700;
}

.next-trip-timeline {
  width: min(330px, 100%);
  margin-top: 12px;
}

.next-trip-timeline__bar {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(247, 245, 241, .18);
}

.next-trip-timeline__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--sage);
}

.next-trip-timeline__labels {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 7px;
  color: rgba(247, 245, 241, .48);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
}

.next-trip-callout .button.open-action {
  min-width: 154px;
  justify-content: center;
  border-radius: 16px;
  padding-inline: 24px;
  background: var(--sage);
  border-color: var(--sage);
  color: var(--white);
}

.next-trip-callout .button.open-action .ci-icon,
.next-trip-callout .button.open-action::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 920px) {
  .dashboard-hero__intro {
    white-space: normal;
  }

  .next-trip-callout {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .next-trip-callout .button.open-action {
    grid-column: 1 / -1;
    width: auto;
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .dashboard-hero--focused {
    padding: 20px;
  }

  .next-trip-callout {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 22px;
  }

  .next-trip-callout__icon {
    width: 48px;
    height: 48px;
  }

  .next-trip-callout h2,
  .next-trip-countdown {
    font-size: 30px;
  }
}

/* =========================================================
   v6.6.6 — Dashboard Layout-Balance
   Ahoi- und Countdown-Kachel auf Desktop gleich hoch
========================================================= */
@media (min-width: 921px) {
  .dashboard-hero--focused,
  .next-trip-callout {
    min-height: 164px;
  }

  .dashboard-hero--focused {
    display: flex;
    align-items: center;
    padding: 28px 30px;
    margin-bottom: 16px;
  }

  .next-trip-callout {
    align-items: center;
    padding: 28px 30px;
  }

  .dashboard-hero--focused h1 {
    margin-bottom: 8px;
  }

  .dashboard-hero__intro {
    line-height: 1.35;
  }
}

@media (max-width: 920px) {
  .dashboard-hero--focused,
  .next-trip-callout {
    min-height: 0;
  }
}

/* =========================================================
   v6.6.7 — Dashboard Layout-Finish
   Obere Dashboard-Kacheln niedriger und Törn-Karten-Grid sauber
========================================================= */
@media (min-width: 921px) {
  .dashboard-hero--focused,
  .next-trip-callout {
    min-height: 142px;
  }

  .dashboard-hero--focused {
    padding: 22px 30px;
  }

  .next-trip-callout {
    padding: 22px 30px;
    gap: 20px;
  }

  .dashboard-hero--focused h1 {
    margin-bottom: 6px;
    font-size: clamp(38px, 4.2vw, 56px);
  }

  .dashboard-hero__intro {
    font-size: 13px;
    line-height: 1.28;
  }

  .next-trip-callout .eyebrow {
    margin-bottom: 6px;
  }

  .next-trip-callout h2,
  .next-trip-countdown {
    margin-bottom: 6px;
    font-size: clamp(27px, 2.65vw, 38px);
    line-height: 1.02;
  }

  .next-trip-callout__icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  .next-trip-callout__icon .ci-icon {
    width: 25px;
    height: 25px;
  }

  .next-trip-timeline {
    margin-top: 9px;
  }

  .next-trip-timeline__labels {
    margin-top: 5px;
  }

  .next-trip-callout .button.open-action {
    min-width: 142px;
    padding: 12px 20px;
  }
}

.dashboard-trip-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dashboard-trip-list > .design-trip-card:only-child,
.dashboard-trip-list > .planning-trip-card:only-child {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  .dashboard-trip-list {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   v6.6.8 — Törnansicht-Dashboard
   Reduzierte Törnübersicht mit CI-konformen Status-Modulen
========================================================= */
.trip-overview-head .eyebrow{
  color:var(--sage-dark);
}

.trip-overview-summary{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(230px,.62fr) minmax(270px,.85fr);
  gap:0;
  align-items:stretch;
  padding:0;
  overflow:hidden;
}

.trip-overview-summary > *{
  padding:26px 28px;
}

.trip-overview-summary__progress,
.trip-overview-checklist{
  border-left:1px solid var(--line);
}

.trip-overview-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.trip-overview-title-row h2{
  margin:0;
  font-size:clamp(28px,3vw,38px);
  line-height:1.05;
  color:var(--navy);
}

.trip-state-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 12px;
  border-radius:var(--radius-pill);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:800;
  border:1px solid transparent;
}

.trip-state-pill.is-planning{background:rgba(203,187,167,.28);color:#7A5A13;border-color:rgba(203,187,167,.55)}
.trip-state-pill.is-ready{background:rgba(190,223,200,.62);color:var(--sage-dark);border-color:rgba(124,156,137,.30)}
.trip-state-pill.is-past{background:rgba(20,24,26,.06);color:rgba(20,24,26,.56);border-color:var(--line)}

.trip-facts-list{
  display:grid;
  gap:13px;
  margin:0;
}

.trip-facts-list div{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.trip-facts-list dt,
.trip-facts-list dd{
  margin:0;
}

.trip-facts-list dt{
  color:rgba(43,50,68,.58);
  line-height:0;
}

.trip-facts-list dt .ci-icon{
  width:18px;
  height:18px;
}

.trip-facts-list dd{
  color:rgba(43,50,68,.86);
  font-size:15px;
  font-weight:650;
  line-height:1.45;
}

.trip-overview-summary__progress{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}

.trip-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--navy);
}

.trip-progress-head strong{
  font-size:16px;
  font-weight:850;
}

.trip-progress-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  border:1px solid var(--line);
  border-radius:999px;
  color:rgba(20,24,26,.52);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  cursor:help;
}

.trip-progress-number{
  color:var(--sage-dark);
  font-family:var(--font-ui);
  font-size:22px;
  font-weight:800;
  line-height:1;
  text-align:center;
}

.trip-progress-number span{
  font-family:var(--font-mono);
  font-size:clamp(42px,4vw,56px);
  letter-spacing:-.06em;
}

.trip-progress-bar{
  width:100%;
  height:10px;
  border-radius:999px;
  background:rgba(203,187,167,.28);
  overflow:hidden;
}

.trip-progress-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--sage);
}

.trip-overview-checklist{
  list-style:none;
  margin:0;
  display:grid;
  gap:13px;
  align-content:center;
}

.trip-overview-checklist li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  color:var(--navy);
}

.trip-overview-checklist li > span:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  border:1.5px solid rgba(43,50,68,.35);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:900;
  color:rgba(43,50,68,.48);
}

.trip-overview-checklist strong{
  font-size:14px;
  font-weight:850;
}

.trip-overview-checklist em{
  font-style:normal;
  color:rgba(43,50,68,.68);
  font-size:13px;
  font-weight:700;
}

.trip-overview-checklist .is-ok > span:first-child,
.trip-status-module.is-ok .trip-status-module__icon{
  background:var(--mint);
  border-color:transparent;
  color:var(--sage-dark);
}

.trip-overview-checklist .is-warn > span:first-child,
.trip-status-module.is-warn .trip-status-module__icon{
  background:rgba(203,187,167,.34);
  border-color:rgba(203,187,167,.65);
  color:#8A6111;
}

.trip-section-heading{
  margin:28px 0 14px;
}

.trip-section-heading .eyebrow{
  margin-bottom:6px;
  color:var(--sage-dark);
}

.trip-section-heading h2{
  margin:0 0 6px;
  font-size:clamp(26px,2.8vw,34px);
  color:var(--navy);
}

.trip-section-heading p{
  margin:0;
}

.trip-status-module-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.trip-status-module{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  grid-template-rows:1fr auto;
  gap:18px 18px;
  min-height:220px;
  padding:20px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}

.trip-status-module__icon{
  grid-row:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:18px;
  background:rgba(190,223,200,.42);
  color:var(--sage-dark);
}

.trip-status-module__icon .ci-icon{
  width:26px;
  height:26px;
}

.trip-status-module__body{
  min-width:0;
}

.trip-status-module__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.trip-status-module__top h3{
  margin:0;
  color:var(--navy);
  font-size:18px;
  line-height:1.2;
}

.trip-status-module__top span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 10px;
  border-radius:var(--radius-pill);
  background:rgba(203,187,167,.22);
  color:#7A5A13;
  font-size:12px;
  font-weight:800;
}

.trip-status-module.is-ok .trip-status-module__top span{
  background:rgba(190,223,200,.58);
  color:var(--sage-dark);
}

.trip-status-module strong{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
  font-family:var(--font-mono);
  font-size:clamp(30px,3vw,42px);
  line-height:1;
  letter-spacing:-.04em;
}

.trip-status-module p{
  margin:0 0 10px;
  color:rgba(43,50,68,.78);
  font-size:14px;
  font-weight:700;
}

.trip-status-module small{
  display:block;
  color:rgba(43,50,68,.62);
  font-size:13px;
  font-weight:650;
  line-height:1.45;
}

.trip-status-module > .button{
  grid-column:1 / -1;
  align-self:end;
  width:100%;
}

.trip-tip-box{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding:13px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--white);
  color:rgba(43,50,68,.72);
}

.trip-tip-box span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border:1px solid rgba(43,50,68,.22);
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  color:var(--sage-dark);
  flex:0 0 auto;
}

.trip-tip-box p{
  margin:0;
  font-size:14px;
  font-weight:650;
}

.trip-archive-compact{
  margin-top:22px;
}

@media (max-width: 980px){
  .trip-overview-summary{
    grid-template-columns:1fr;
  }
  .trip-overview-summary__progress,
  .trip-overview-checklist{
    border-left:0;
    border-top:1px solid var(--line);
  }
  .trip-status-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px){
  .trip-overview-summary > *{
    padding:20px;
  }
  .trip-overview-checklist li{
    grid-template-columns:22px minmax(0,1fr);
  }
  .trip-overview-checklist em{
    grid-column:2;
  }
  .trip-status-module-grid{
    grid-template-columns:1fr;
  }
  .trip-status-module{
    min-height:auto;
  }
}


/* =========================================================
   v6.6.9 — Törnansicht Typografie & Button-Wording
   Ruhigere Proportionen nach CI-Vorgabe
========================================================= */
.trip-overview-summary > *{
  padding:20px 22px;
}
.trip-overview-title-row{
  gap:10px;
  margin-bottom:14px;
}
.trip-overview-title-row h2{
  font-family:var(--font-ui);
  font-size:clamp(23px,2vw,30px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.025em;
}
.trip-state-pill{
  min-height:24px;
  padding:4px 10px;
  font-size:11px;
  font-weight:750;
}
.trip-facts-list{
  gap:10px;
}
.trip-facts-list div{
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
}
.trip-facts-list dt .ci-icon{
  width:16px;
  height:16px;
}
.trip-facts-list dd{
  font-size:13px;
  line-height:1.4;
  font-weight:600;
}
.trip-overview-summary__progress{
  gap:12px;
}
.trip-progress-head strong{
  font-size:14px;
  font-weight:800;
}
.trip-progress-head span{
  width:17px;
  height:17px;
  font-size:10px;
}
.trip-progress-number{
  font-size:16px;
  font-weight:750;
}
.trip-progress-number span{
  font-size:clamp(30px,2.6vw,42px);
  letter-spacing:-.045em;
}
.trip-progress-bar{
  height:7px;
}
.trip-overview-checklist{
  gap:10px;
}
.trip-overview-checklist li{
  grid-template-columns:19px minmax(0,1fr) auto;
  gap:9px;
}
.trip-overview-checklist li > span:first-child{
  width:17px;
  height:17px;
  font-size:10px;
  border-width:1.25px;
}
.trip-overview-checklist strong{
  font-size:13px;
  font-weight:800;
}
.trip-overview-checklist em{
  font-size:12px;
  font-weight:650;
}
.trip-section-heading{
  margin:24px 0 12px;
}
.trip-section-heading .eyebrow{
  font-size:11px;
}
.trip-section-heading h2{
  font-family:var(--font-ui);
  font-size:clamp(21px,2vw,27px);
  font-weight:800;
  letter-spacing:-.025em;
}
.trip-section-heading p{
  font-size:14px;
}
.trip-status-module-grid{
  gap:14px;
}
.trip-status-module{
  grid-template-columns:46px minmax(0,1fr);
  gap:14px 14px;
  min-height:184px;
  padding:17px;
}
.trip-status-module__icon{
  width:44px;
  height:44px;
  border-radius:15px;
}
.trip-status-module__icon .ci-icon{
  width:22px;
  height:22px;
}
.trip-status-module__top{
  margin-bottom:8px;
}
.trip-status-module__top h3{
  font-size:16px;
  font-weight:800;
}
.trip-status-module__top span{
  min-height:22px;
  padding:3px 9px;
  font-size:11px;
  font-weight:750;
}
.trip-status-module strong{
  margin-bottom:3px;
  font-size:clamp(24px,2.3vw,32px);
  letter-spacing:-.035em;
}
.trip-status-module p{
  margin-bottom:8px;
  font-size:13px;
  font-weight:650;
}
.trip-status-module small{
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}
.trip-status-module > .button{
  min-height:40px;
  padding:9px 13px;
  font-size:13px;
  font-weight:750;
}
.trip-tip-box{
  margin-top:16px;
  padding:11px 14px;
}
.trip-tip-box p{
  font-size:13px;
  font-weight:600;
}
@media (max-width:680px){
  .trip-overview-summary > *{padding:18px;}
  .trip-status-module{min-height:auto;}
}

/* =========================================================
   v6.6.10 — Törnansicht Feinschliff
   Weniger Überladung, exakter CI-Navy-Ton, sauberere Breadcrumbs
========================================================= */
.trip-overview-head .eyebrow {
  color: rgba(20,24,26,.58);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: none;
}

.trip-overview-head h1 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.04;
}

.button.final,
button.final,
.button.edit-action,
button.edit-action,
.btn-final {
  background: #2B3244 !important;
  border-color: #2B3244 !important;
  color: #F7F5F1 !important;
}

.button.final:hover,
button.final:hover,
.button.edit-action:hover,
button.edit-action:hover,
.btn-final:hover {
  background: #454F68 !important;
  border-color: #454F68 !important;
  color: #F7F5F1 !important;
}

.trip-overview-summary {
  grid-template-columns: minmax(0,1.55fr) minmax(190px,.55fr) minmax(245px,.75fr);
}

.trip-overview-summary > * {
  padding: 17px 19px;
}

.trip-overview-title-row {
  margin-bottom: 10px;
}

.trip-overview-title-row h2 {
  font-size: clamp(20px, 1.7vw, 26px);
  letter-spacing: -.015em;
}

.trip-state-pill {
  min-height: 22px;
  padding: 3px 9px;
  font-size: 10.5px;
}

.trip-facts-list {
  gap: 8px;
}

.trip-facts-list div {
  grid-template-columns: 18px minmax(0,1fr);
  gap: 8px;
}

.trip-facts-list dt {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 1px;
}

.trip-facts-list dt .ci-icon {
  width: 15px;
  height: 15px;
}

.trip-facts-list dd {
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 600;
}

.trip-progress-head strong {
  font-size: 13px;
}

.trip-progress-number {
  font-size: 14px;
}

.trip-progress-number span {
  font-size: clamp(26px, 2.2vw, 34px);
  letter-spacing: -.035em;
}

.trip-progress-bar {
  height: 6px;
}

.trip-overview-checklist {
  gap: 8px;
}

.trip-overview-checklist li {
  grid-template-columns: 18px minmax(0,1fr) auto;
  gap: 8px;
}

.trip-overview-checklist li > span:first-child {
  width: 16px;
  height: 16px;
  font-size: 9.5px;
}

.trip-overview-checklist strong {
  font-size: 12.5px;
}

.trip-overview-checklist em {
  font-size: 11.5px;
}

.trip-section-heading {
  margin: 20px 0 10px;
}

.trip-section-heading h2 {
  font-size: clamp(19px, 1.8vw, 24px);
}

.trip-section-heading p {
  font-size: 13px;
}

.trip-status-module-grid {
  gap: 12px;
}

.trip-status-module {
  grid-template-columns: 40px minmax(0,1fr);
  gap: 12px;
  min-height: 166px;
  padding: 15px;
  align-items: start;
}

.trip-status-module__icon {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  align-self: start;
  margin-top: 2px;
}

.trip-status-module__icon .ci-icon {
  width: 19px;
  height: 19px;
}

.trip-status-module__top h3 {
  font-size: 15px;
}

.trip-status-module__top span {
  min-height: 20px;
  padding: 3px 8px;
  font-size: 10.5px;
}

.trip-status-module strong {
  font-size: clamp(20px, 2vw, 28px);
  letter-spacing: -.025em;
}

.trip-status-module p {
  margin-bottom: 6px;
  font-size: 12.5px;
}

.trip-status-module small {
  font-size: 11.5px;
}

.trip-status-module > .button {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 12.5px;
}

.trip-tip-box {
  margin-top: 14px;
  padding: 10px 13px;
}

.trip-tip-box p {
  font-size: 12.5px;
}

@media (max-width: 980px) {
  .trip-overview-summary {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   v6.6.11 — Törnübersicht Statusleiste & nächste Schritte
   Große Statuskarte entfernt, kompakter Status + klare Reihenfolge
========================================================= */
.trip-overview-head .actions-inline form{
  display:inline-flex;
  margin:0;
}
.trip-overview-head .actions-inline .danger{
  min-height:40px;
  padding:9px 14px;
  border-radius:var(--radius-md);
}
.trip-planning-strip{
  padding:16px 18px;
  display:grid;
  gap:13px;
}
.trip-planning-strip__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.trip-planning-strip__progress{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:min(420px, 100%);
}
.trip-planning-strip__progress strong{
  white-space:nowrap;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
}
.trip-planning-strip__progress strong span{
  font-family:var(--font-mono);
  color:var(--sage-dark);
  letter-spacing:-.02em;
}
.trip-progress-bar--compact{
  flex:1 1 auto;
  height:6px;
  min-width:120px;
}
.trip-planning-strip__items{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  color:rgba(43,50,68,.72);
}
.trip-planning-strip__items li{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  background:var(--white);
  font-size:12px;
  font-weight:700;
}
.trip-planning-strip__items li span{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:900;
}
.trip-planning-strip__items li.is-ok{
  background:rgba(190,223,200,.42);
  border-color:rgba(124,156,137,.20);
  color:var(--sage-dark);
}
.trip-planning-strip__items li.is-warn{
  background:rgba(203,187,167,.24);
  border-color:rgba(203,187,167,.52);
  color:#7A5A13;
}
.trip-planning-strip__items li.is-open{
  color:rgba(43,50,68,.58);
}
.trip-next-steps{
  margin-top:16px;
  padding:17px 18px;
  display:grid;
  grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.trip-next-steps .eyebrow{
  margin:0 0 5px;
  color:var(--sage-dark);
}
.trip-next-steps h2{
  margin:0;
  font-family:var(--font-ui);
  color:var(--navy);
  font-size:18px;
  font-weight:800;
  letter-spacing:-.015em;
}
.trip-next-steps ol{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.trip-next-steps li{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:6px 10px 6px 7px;
  border-radius:var(--radius-pill);
  border:1px solid var(--line);
  background:rgba(247,245,241,.72);
  color:rgba(43,50,68,.78);
  font-size:12px;
  font-weight:750;
}
.trip-next-steps li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  border-radius:999px;
  background:var(--mint);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:900;
}
.trip-status-module strong{
  font-family:var(--font-ui);
  font-size:17px;
  line-height:1.25;
  letter-spacing:-.015em;
  font-weight:800;
}
.trip-status-module p{
  margin-top:3px;
  color:rgba(43,50,68,.66);
}
.trip-status-module small{display:none;}
.trip-archive-compact,
.trip-tip-box,
.trip-overview-summary{
  display:none !important;
}
@media (max-width: 980px){
  .trip-planning-strip__top{
    align-items:flex-start;
    flex-direction:column;
  }
  .trip-planning-strip__progress{
    width:100%;
  }
  .trip-next-steps{
    grid-template-columns:1fr;
  }
}
@media (max-width: 680px){
  .trip-planning-strip{
    padding:14px;
  }
  .trip-planning-strip__progress{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  .trip-progress-bar--compact{
    width:100%;
  }
  .trip-next-steps{
    padding:15px;
  }
  .trip-next-steps ol{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* =========================================================
   v6.6.12 — CI-Typografie & Törnseiten-Feinschliff
   Schriftrollen, prominenter Navy-Planungsstand, responsives Törn-Grid
========================================================= */
:root{
  --ci-navy:#2B3244;
  --ci-navy-light:#454F68;
  --ci-sage:#7C9C89;
  --ci-sage-dark:#5E7C6B;
  --ci-mint:#BEDFC8;
  --ci-fog:#F7F5F1;
}

/* CI-Schriftrollen: UI-Texte nicht in Bagel, Zahlen/Metadaten konsequent Mono */
body,
button,
input,
select,
textarea,
.button,
.btn,
.card,
.trip-status-module,
.trip-planning-strip,
.trip-next-steps{
  font-family:var(--font-ui);
}

.mono,
.badge,
.pill,
.chip,
.version-badge,
.trip-meta,
.trip-planning-strip__progress strong span,
.trip-planning-strip__items li span,
.trip-status-module strong,
.trip-next-steps li span,
.trip-progress-head span,
.trip-progress-number span{
  font-family:var(--font-mono)!important;
}

h1,h2,h3,h4,
.page-head h1,
.trip-section-heading h2,
.trip-status-module__top h3,
.trip-next-steps h2{
  font-family:var(--font-ui);
}

.brand-title,
.app-header__title,
.auth-brand-panel h1,
.dashboard-hero h1,
.guest-hero h1,
.moe-footer__name,
.moe-footer__claim strong{
  font-family:var(--font-display);
  font-weight:400!important;
  font-synthesis-weight:none;
}

/* Individuelle Törnansicht: große Statusliste bleibt weg, Planungsstand wird Navy-Kasten */
.trip-planning-strip{
  display:grid;
  grid-template-columns:minmax(230px, 340px) minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

.trip-planning-strip__top{
  display:block;
}

.trip-planning-strip__progress--hero{
  min-width:0;
  width:100%;
  height:100%;
  display:grid;
  align-content:center;
  gap:12px;
  padding:18px 20px;
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,var(--ci-navy),var(--ci-navy-light));
  color:var(--ci-fog);
  box-shadow:0 16px 38px rgba(43,50,68,.16);
}

.trip-planning-strip__progress--hero > div:first-child{
  display:grid;
  gap:5px;
}

.trip-planning-strip__label{
  color:rgba(190,223,200,.78);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.trip-planning-strip__progress--hero strong{
  margin:0;
  color:var(--ci-fog);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:800;
  line-height:1;
}

.trip-planning-strip__progress--hero strong span{
  color:var(--ci-mint);
  font-family:var(--font-mono)!important;
  font-size:clamp(27px, 3vw, 38px);
  font-weight:700;
  letter-spacing:-.045em;
}

.trip-planning-strip__progress--hero .trip-progress-bar--compact{
  width:100%;
  min-width:0;
  height:6px;
  margin:0;
  background:rgba(247,245,241,.18);
}

.trip-planning-strip__progress--hero .trip-progress-bar--compact span{
  background:var(--ci-sage);
}

.trip-planning-strip__items{
  align-content:center;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--white);
  box-shadow:var(--shadow-card);
}

.trip-planning-strip__items li{
  font-family:var(--font-ui);
}

/* Empfohlene Reihenfolge: maximal 3 pro Zeile */
.trip-next-steps{
  grid-template-columns:1fr;
  align-items:start;
  gap:12px;
}

.trip-next-steps ol{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.trip-next-steps li{
  justify-content:flex-start;
  width:100%;
  border-radius:var(--radius-md);
}

/* Statuskarten ruhiger und typografisch näher am CI */
.trip-status-module{
  min-height:158px;
}

.trip-status-module__top h3{
  font-size:14px;
  letter-spacing:0;
}

.trip-status-module strong{
  color:var(--ci-navy);
  font-size:15px;
  line-height:1.25;
  letter-spacing:0;
  font-weight:700;
}

.trip-status-module p{
  font-size:12px;
  line-height:1.4;
}

.trip-status-module__icon{
  color:var(--ci-sage-dark);
}

/* Meine Törns: gleiches Grid-Verhalten wie Dashboard */
.design-trip-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.design-trip-list > .design-trip-card:only-child,
.design-trip-list > .planning-trip-card:only-child{
  grid-column:1 / -1;
}

/* Buttons/Farbrollen absichern */
.button.final,
button.final,
.button.edit-action,
button.edit-action,
.btn-final,
.new-action,
.edit-action{
  background:var(--ci-navy)!important;
  border-color:var(--ci-navy)!important;
  color:var(--ci-fog)!important;
}

.button.final:hover,
button.final:hover,
.button.edit-action:hover,
button.edit-action:hover,
.btn-final:hover,
.new-action:hover,
.edit-action:hover{
  background:var(--ci-navy-light)!important;
  border-color:var(--ci-navy-light)!important;
  color:var(--ci-fog)!important;
}

.button.open-action,
button.open-action,
.save-action,
.confirm-action{
  background:var(--ci-sage)!important;
  border-color:var(--ci-sage)!important;
  color:var(--white)!important;
}

.button.open-action:hover,
button.open-action:hover,
.save-action:hover,
.confirm-action:hover{
  background:var(--ci-sage-dark)!important;
  border-color:var(--ci-sage-dark)!important;
  color:var(--white)!important;
}

@media (max-width:980px){
  .trip-planning-strip{
    grid-template-columns:1fr;
  }
  .trip-planning-strip__progress--hero{
    min-height:116px;
  }
  .trip-next-steps ol{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .design-trip-list,
  .dashboard-trip-list{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:560px){
  .trip-next-steps ol{
    grid-template-columns:1fr;
  }
}

/* v6.6.13: Törnübersicht Aktionen & Statusbreite */
.trip-overview-head .muted{
  font-family:var(--font-ui)!important;
}
.trip-top-actions{
  align-items:center;
}
.trip-more-menu{
  position:relative;
}
.trip-more-menu > summary.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.trip-more-panel{
  min-width:230px;
}
.trip-more-panel form,
.trip-more-panel a,
.trip-more-panel button{
  width:100%;
}
.trip-more-panel button,
.trip-more-panel .button{
  justify-content:center;
}
.trip-planning-strip{
  display:block!important;
  width:100%;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.trip-planning-strip__top{
  display:block!important;
  width:100%;
}
.trip-planning-strip__progress--hero{
  width:100%!important;
  min-height:118px;
  height:auto!important;
  grid-template-columns:minmax(0,auto) minmax(260px,1fr);
  align-items:center;
  align-content:center;
  gap:22px;
  padding:20px 24px;
}
.trip-planning-strip__progress--hero > div:first-child{
  min-width:180px;
}
.trip-planning-strip__progress--hero .trip-progress-bar--compact{
  align-self:center;
}
.trip-planning-strip__items{
  display:none!important;
}
.trip-status-module .button.open-action{
  background:var(--ci-sage)!important;
  border-color:var(--ci-sage)!important;
  color:var(--white)!important;
}
.trip-status-module .button.open-action:hover{
  background:var(--ci-sage-dark)!important;
  border-color:var(--ci-sage-dark)!important;
}
@media (max-width:860px){
  .trip-planning-strip__progress--hero{
    grid-template-columns:1fr;
    gap:14px;
  }
}

/* =========================================================
   v6.6.15 — Rezeptseite & einheitliche Törn-Reiter
   Inspiriert vom Essensplan-Prototyp, strikt in Möwokan-CI
========================================================= */
.recipe-library-head{
  align-items:flex-start;
}
.recipe-library-head h1,
.recipe-library-section h2{
  font-family:var(--font-ui)!important;
  color:var(--navy);
  letter-spacing:-.025em;
}
.recipe-library-head h1{
  font-size:clamp(30px,4vw,44px);
  line-height:1.05;
  margin-bottom:8px;
}
.recipe-library-head .muted{
  max-width:760px;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
}
.recipe-library-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.recipe-library-meta span{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border:1px solid rgba(20,24,26,.10);
  border-radius:999px;
  background:var(--white);
  color:rgba(20,24,26,.70);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.02em;
}
.recipe-library-actions{
  padding-top:34px;
}
.recipe-library-tabs{
  margin-bottom:18px;
}
.recipe-library-dashboard{
  display:grid;
  grid-template-columns:minmax(220px, 320px) minmax(0, 1fr);
  gap:14px;
  margin:0 0 16px;
}
.recipe-library-stat{
  min-height:116px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:18px 20px;
  border-radius:var(--radius-lg);
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
.recipe-library-stat--navy{
  background:linear-gradient(135deg,var(--navy),var(--navy-light));
  color:var(--fog);
  border:0;
  box-shadow:0 16px 38px rgba(43,50,68,.16);
}
.recipe-library-stat span{
  color:rgba(190,223,200,.78);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.recipe-library-stat strong{
  color:var(--mint);
  font-family:var(--font-mono);
  font-size:clamp(30px,3vw,42px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.045em;
}
.recipe-library-stat p{
  margin:0;
  color:rgba(247,245,241,.78);
  font-size:12px;
  font-weight:700;
}
.recipe-library-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--white);
  box-shadow:var(--shadow-card);
}
.recipe-library-search label{
  display:grid;
  gap:7px;
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:11px;
  font-weight:900;
}
.recipe-library-search label span{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.09em;
}
.recipe-library-search input{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:0 14px;
  background:var(--fog);
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:14px;
  font-weight:700;
}
.recipe-library-search input:focus{
  outline:0;
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(124,156,137,.14);
}
.recipe-filter-card{
  box-shadow:var(--shadow-card);
}
.recipe-filter-grid--polished{
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
}
.recipe-filter-grid--polished label{
  font-size:11px;
  font-weight:900;
  color:rgba(20,24,26,.62);
}
.recipe-filter-grid--polished select{
  min-height:40px;
  font-family:var(--font-ui);
}
.recipe-library-section{
  margin-top:22px;
}
.recipe-library-section-head{
  margin-bottom:12px;
}
.recipe-library-section-head h2{
  margin:0;
  font-size:24px;
  line-height:1.15;
  font-weight:850;
}
.recipe-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.recipe-library-card{
  min-width:0;
  display:grid;
  align-content:start;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:var(--white);
  box-shadow:var(--shadow-card);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.recipe-library-card:hover{
  transform:translateY(-1px);
  border-color:rgba(124,156,137,.25);
  box-shadow:0 18px 46px rgba(20,24,26,.08);
}
.recipe-library-card__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.recipe-card-kicker{
  margin:0 0 6px;
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.recipe-library-card h3{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:18px;
  line-height:1.18;
  font-weight:850;
  letter-spacing:-.02em;
}
.recipe-library-card h3 a:hover{
  color:var(--sage-dark);
}
.recipe-card-portions{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(190,223,200,.42);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.recipe-card-facts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  color:rgba(20,24,26,.62);
}
.recipe-card-facts span{
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:var(--fog);
  border:1px solid rgba(20,24,26,.07);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
}
.recipe-card-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.recipe-card-chip{
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(124,156,137,.08);
  color:var(--sage-dark);
  font-size:11px;
  font-weight:850;
}
.recipe-card-note{
  min-height:40px;
  margin:0;
  color:rgba(20,24,26,.64);
  font-size:12.5px;
  line-height:1.48;
  font-weight:600;
}
.recipe-card-note--empty{
  color:rgba(20,24,26,.42);
}
.recipe-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}
.recipe-empty-card{
  display:grid;
  gap:8px;
  justify-items:start;
}
.recipe-empty-card strong{
  color:var(--navy);
  font-size:17px;
  font-weight:850;
}
.recipe-empty-card p{
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:13px;
  font-weight:650;
}

/* Einheitliche Törn-Reiter: gleiche Proportionen und ruhiger Seitenkopf */
.trip-module-tabs{
  margin:2px 0 20px;
}
.trip-module-tab{
  font-family:var(--font-ui)!important;
}
.page-head .eyebrow,
.prototype-page-head .eyebrow{
  font-family:var(--font-mono)!important;
}
.app-nav__item,
.subsection-tab,
.trip-module-tab{
  font-size:13px;
  font-weight:800;
}
.trips-unified-head h1,
.trip-overview-head h1,
.prototype-page-head h1{
  font-family:var(--font-ui)!important;
  font-size:clamp(29px,3.6vw,42px);
  line-height:1.06;
  letter-spacing:-.025em;
  color:var(--navy);
}
.trips-unified-head .muted,
.trip-overview-head .muted,
.prototype-page-head .muted{
  font-size:13.5px;
  font-weight:650;
}

@media (max-width:1080px){
  .recipe-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .recipe-filter-grid--polished{grid-template-columns:1fr 1fr;}
  .recipe-filter-grid--polished .filter-actions{grid-column:1 / -1;}
}
@media (max-width:760px){
  .recipe-library-head{gap:16px;}
  .recipe-library-actions{padding-top:0;}
  .recipe-library-dashboard{grid-template-columns:1fr;}
  .recipe-library-search{grid-template-columns:1fr;}
  .recipe-library-search .button{width:100%;}
  .recipe-library-grid{grid-template-columns:1fr;}
  .recipe-filter-grid--polished{grid-template-columns:1fr;}
  .recipe-filter-grid--polished .filter-actions{grid-column:auto;}
}

/* =========================================================
   v6.6.16 — Rezeptseite: Seitenaufbau wie HTML-Vorlage
   Einheitlicher Rhythmus: Page Head → Nav → Dashboard → Helper → Cards
========================================================= */
.recipe-prototype-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:32px;
  margin:24px 0 22px;
}
.recipe-prototype-head h1{
  margin:0;
  font-family:var(--font-ui)!important;
  font-size:clamp(30px,3.6vw,42px);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.028em;
  color:var(--navy);
}
.page-copy{
  max-width:780px;
  margin:12px 0 0;
  color:rgba(20,24,26,.66);
  font-size:14px;
  font-weight:600;
  line-height:1.55;
}
.page-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  padding-top:34px;
  justify-content:flex-end;
}
.trip-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.trip-meta-pill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:var(--white);
  border:1px solid rgba(20,24,26,.10);
  color:rgba(20,24,26,.74);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
.trip-nav.recipe-nav{
  display:flex;
  align-items:center;
  gap:24px;
  overflow-x:auto;
  scrollbar-width:none;
  border-bottom:1px solid var(--line);
  margin:0 0 24px;
}
.trip-nav.recipe-nav::-webkit-scrollbar{display:none;}
.trip-nav.recipe-nav a{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 0 13px;
  color:rgba(20,24,26,.65);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.trip-nav.recipe-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  border-radius:999px;
  background:transparent;
}
.trip-nav.recipe-nav a.active{color:var(--sage-dark);}
.trip-nav.recipe-nav a.active::after{background:var(--sage);}
.plan-dashboard.recipe-plan-dashboard{
  margin-bottom:18px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.recipe-dashboard-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,520px);
  gap:24px;
  align-items:center;
  padding:18px 20px;
}
.dashboard-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.dashboard-title{
  margin:0;
  font-family:var(--font-ui)!important;
  font-size:17px;
  line-height:1.2;
  font-weight:850;
  color:var(--navy);
  letter-spacing:-.015em;
}
.dashboard-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:var(--mint-soft);
  color:var(--sage-dark);
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.dashboard-copy{
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:13px;
  font-weight:650;
  max-width:760px;
}
.recipe-dashboard-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
  margin:0;
}
.recipe-dashboard-search label{
  display:grid;
  gap:7px;
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:10.5px;
  font-weight:900;
}
.recipe-dashboard-search label span{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.10em;
}
.recipe-dashboard-search input{
  min-height:42px;
  border-radius:12px;
  background:var(--fog);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:700;
}
.dashboard-compact-stats.recipe-compact-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(20,24,26,.08);
  background:linear-gradient(180deg,rgba(247,245,241,.32),rgba(247,245,241,.70));
}
.compact-stat{
  padding:14px 18px;
  border-right:1px solid rgba(20,24,26,.08);
  min-width:0;
}
.compact-stat:last-child{border-right:none;}
.compact-stat strong{
  display:block;
  font-family:var(--font-mono);
  font-size:24px;
  line-height:1;
  color:var(--navy);
  font-weight:700;
  white-space:nowrap;
}
.compact-stat span{
  display:block;
  margin-top:6px;
  color:rgba(20,24,26,.58);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
  white-space:nowrap;
}
.helper-card.recipe-filter-helper{
  display:grid;
  grid-template-columns:auto minmax(210px,1fr) minmax(520px,1.6fr);
  align-items:center;
  gap:16px;
  padding:16px 18px;
  margin:0 0 24px;
  border:1px solid rgba(124,156,137,.35);
  background:linear-gradient(135deg,rgba(190,223,200,.38),rgba(247,245,241,.86));
  border-radius:16px;
  color:var(--navy);
  box-shadow:none;
}
.helper-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  background:rgba(255,255,255,.65);
  display:grid;
  place-items:center;
  color:var(--sage-dark);
  border:1px solid rgba(124,156,137,.18);
  font-family:var(--font-mono);
  font-weight:900;
}
.helper-title{
  margin:0 0 2px;
  color:var(--sage-dark);
  font-size:13px;
  font-weight:900;
}
.helper-text{
  margin:0;
  color:rgba(43,50,68,.8);
  font-size:13px;
  font-weight:650;
}
.recipe-inline-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr)) auto auto;
  gap:10px;
  align-items:end;
}
.recipe-inline-filters label{
  display:grid;
  gap:6px;
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:10.5px;
  font-weight:900;
}
.recipe-inline-filters label span{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.recipe-inline-filters select{
  min-height:36px;
  border-radius:11px;
  background:var(--white);
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:750;
}
.recipe-day-stack{display:grid;gap:18px;}
.day-card.recipe-list-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.day-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:16px 20px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,rgba(247,245,241,.52));
}
.day-title-large{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:24px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
.day-date-line{
  margin:5px 0 0;
  color:rgba(20,24,26,.52);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
}
.day-personal-title{
  margin:7px 0 0;
  color:rgba(20,24,26,.70);
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
.day-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--mint-soft);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.badge-sand{background:var(--sand-soft);color:#74624C;}
.recipe-board-wrap{padding:16px 18px 18px;}
.recipe-library-grid--prototype{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.meal-column.recipe-column-card{
  min-width:0;
  min-height:230px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:12px;
  padding:15px 14px 13px;
  border:1px solid rgba(20,24,26,.08);
  border-radius:18px;
  background:var(--white);
  box-shadow:none;
}
.meal-column.recipe-column-card:hover{
  border-color:rgba(124,156,137,.32);
  box-shadow:0 12px 28px rgba(20,24,26,.06);
}
.meal-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.meal-title{
  font-size:11.5px;
  font-weight:900;
  color:rgba(20,24,26,.68);
}
.meal-status{
  font-family:var(--font-mono);
  font-size:9px;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:var(--sage-dark);
}
.meal-picker.recipe-picker{
  display:block;
  width:100%;
  margin-top:6px;
  padding:12px 12px 11px;
  border-radius:15px;
  background:rgba(247,245,241,.72);
  border:1px solid rgba(20,24,26,.07);
  text-align:left;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.meal-picker.recipe-picker:hover{
  background:var(--mint-soft);
  border-color:rgba(124,156,137,.32);
  transform:translateY(-1px);
}
.recipe-name{
  display:block;
  color:var(--ink);
  font-family:var(--font-ui)!important;
  font-size:17px;
  line-height:1.18;
  font-weight:850;
  min-height:40px;
}
.picker-action{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  color:var(--sage-dark);
  font-size:11px;
  font-weight:900;
}
.meal-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.meal-tag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:var(--mint-soft);
  color:var(--sage-dark);
  font-size:10.5px;
  font-weight:850;
}
.meal-tag.sand{background:var(--sand-soft);color:#74624C;}
.meal-tag.neutral{background:rgba(43,50,68,.08);color:var(--navy);font-family:var(--font-mono);}
.meal-footer{
  display:grid;
  gap:10px;
  align-self:end;
  padding-top:2px;
}
.meal-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.hint-link,
.free-food-link{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:11.5px;
  font-weight:900;
}
.hint-link{
  color:var(--sage-dark);
  background:rgba(124,156,137,.08);
}
.free-food-link{
  color:var(--navy);
  background:rgba(43,50,68,.06);
}
.recipe-card-note{
  margin:10px 0 0;
  color:rgba(20,24,26,.62);
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}
.recipe-empty-panel{
  display:grid;
  gap:8px;
  justify-items:start;
  padding:22px;
}
.recipe-empty-panel strong{
  color:var(--navy);
  font-size:17px;
  font-weight:850;
}
.recipe-empty-panel p{
  margin:0;
  color:rgba(20,24,26,.62);
  font-size:13px;
  font-weight:650;
}
@media(max-width:1100px){
  .recipe-dashboard-inner{grid-template-columns:1fr;}
  .helper-card.recipe-filter-helper{grid-template-columns:auto 1fr;}
  .recipe-inline-filters{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));}
  .recipe-library-grid--prototype{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .recipe-prototype-head{flex-direction:column;gap:16px;}
  .page-actions{padding-top:0;justify-content:flex-start;}
  .recipe-dashboard-search{grid-template-columns:1fr;}
  .dashboard-compact-stats.recipe-compact-stats{grid-template-columns:1fr;}
  .compact-stat{border-right:0;border-bottom:1px solid rgba(20,24,26,.08);}
  .compact-stat:last-child{border-bottom:0;}
  .helper-card.recipe-filter-helper{grid-template-columns:auto 1fr;}
  .recipe-inline-filters{grid-template-columns:1fr;}
  .day-head{grid-template-columns:1fr;gap:12px;}
  .day-actions{justify-content:flex-start;}
  .recipe-library-grid--prototype{grid-template-columns:1fr;}
}

/* v6.6.16: Essensplan-Seite strukturell wie HTML-Vorlage, CI-konform */
.meal-plan-page .meal-plan-head{margin-bottom:24px;}
.meal-plan-page .meal-plan-head h1{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(31px,3.4vw,42px);
  line-height:1.03;
  letter-spacing:0;
}
.meal-plan-page .trip-meta-pill{
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
}
.meal-plan-page .plan-dashboard.meal-plan-dashboard{
  margin-bottom:18px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.meal-dashboard-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:18px 20px;
}
.meal-plan-page .dashboard-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.meal-plan-page .dashboard-title{
  margin:0;
  font-family:var(--font-ui)!important;
  color:var(--navy);
  font-size:17px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:-.015em;
}
.meal-plan-page .dashboard-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:var(--mint-soft);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.meal-plan-page .progress-block{display:grid;gap:8px;margin:0;}
.meal-plan-page .progress-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  color:rgba(20,24,26,.72);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
}
.meal-plan-page .progress-track{height:7px;border-radius:999px;background:rgba(20,24,26,.08);overflow:hidden;}
.meal-plan-page .progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--sage),var(--mint));}
.meal-plan-page .dashboard-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.meal-plan-page .meal-compact-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(20,24,26,.08);
  background:linear-gradient(180deg,rgba(247,245,241,.32),rgba(247,245,241,.70));
}
.meal-plan-page .compact-stat{padding:14px 18px;border-right:1px solid rgba(20,24,26,.08);min-width:0;}
.meal-plan-page .compact-stat:last-child{border-right:0;}
.meal-plan-page .compact-stat strong{
  display:block;
  font-family:var(--font-mono);
  color:var(--navy);
  font-size:24px;
  line-height:1;
  font-weight:700;
}
.meal-plan-page .compact-stat span{
  display:block;
  margin-top:6px;
  color:rgba(20,24,26,.58);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.meal-plan-page .helper-card.meal-plan-helper-card{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  margin:0 0 24px;
  border:1px solid rgba(124,156,137,.35);
  background:linear-gradient(135deg,rgba(190,223,200,.38),rgba(247,245,241,.86));
  border-radius:16px;
  color:var(--navy);
  box-shadow:none;
}
.meal-plan-page .helper-icon{
  width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.65);
  display:grid;place-items:center;color:var(--sage-dark);border:1px solid rgba(124,156,137,.18);
  font-family:var(--font-mono);font-weight:900;
}
.meal-plan-page .helper-title{margin:0 0 2px;color:var(--sage-dark);font-size:13px;font-weight:900;}
.meal-plan-page .helper-text{margin:0;color:rgba(43,50,68,.8);font-size:13px;font-weight:650;}
.meal-plan-page .meal-plan-polished-form{display:grid;gap:18px;}
.meal-plan-page .day-stack.meal-plan-day-stack{display:grid;gap:18px;}
.meal-plan-page .day-card.meal-day-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-card);
  overflow:hidden;
  padding:0;
}
.meal-plan-page .day-head.meal-day-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:16px 20px 14px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff,rgba(247,245,241,.52));
}
.meal-plan-page .day-title-large{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:24px;
  line-height:1.12;
  font-weight:850;
  letter-spacing:-.02em;
}
.meal-plan-page .day-date-line{margin:5px 0 0;color:rgba(20,24,26,.52);font-family:var(--font-mono);font-size:11px;font-weight:800;}
.meal-plan-page .day-personal-title{margin:7px 0 0;color:rgba(20,24,26,.70);font-size:13px;line-height:1.35;font-weight:650;}
.meal-plan-page .day-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;}
.meal-plan-page .badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--mint-soft);color:var(--sage-dark);font-family:var(--font-mono);font-size:10.5px;font-weight:800;white-space:nowrap;}
.meal-plan-page .badge-sand{background:var(--sand-soft);color:#74624C;}
.meal-plan-page .day-board-wrap{padding:16px 18px 18px;}
.meal-plan-page .day-board-scroll{overflow-x:auto;scrollbar-width:thin;}
.meal-plan-page .day-board.meal-day-board{
  display:grid;
  grid-template-columns:repeat(var(--meal-columns),minmax(232px,1fr));
  border:1px solid rgba(20,24,26,.09);
  border-radius:20px;
  overflow:hidden;
  background:var(--white);
  min-width:min(960px,100%);
}
.meal-plan-page .meal-column.meal-slot-card{
  min-width:0;
  min-height:246px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:12px;
  padding:15px 14px 13px;
  border-right:1px solid rgba(20,24,26,.08);
  background:var(--white);
  box-shadow:none;
}
.meal-plan-page .meal-column.meal-slot-card:last-child{border-right:0;}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook{background:rgba(247,245,241,.78);}
.meal-plan-page .meal-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.meal-plan-page .meal-title{font-size:11.5px;font-weight:900;color:rgba(20,24,26,.68);}
.meal-plan-page .meal-status{font-family:var(--font-mono);font-size:9px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--sage-dark);}
.meal-plan-page .meal-status.open{color:#74624C;}
.meal-plan-page .meal-picker.meal-select-card{
  display:block;
  width:100%;
  margin-top:6px;
  padding:12px;
  border-radius:15px;
  background:rgba(247,245,241,.72);
  border:1px solid rgba(20,24,26,.07);
  text-align:left;
}
.meal-plan-page .meal-picker.meal-select-card.is-empty{border-style:dashed;background:rgba(245,239,230,.42);}
.meal-plan-page .meal-name{
  display:block;
  color:var(--ink);
  font-family:var(--font-ui)!important;
  font-size:17px;
  line-height:1.18;
  font-weight:850;
  min-height:40px;
}
.meal-plan-page .meal-name.empty{color:rgba(20,24,26,.42);}
.meal-plan-page .picker-action{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--sage-dark);font-size:11px;font-weight:900;}
.meal-plan-page .meal-select-card select{
  margin-top:9px;
  width:100%;
  min-height:36px;
  border-radius:11px;
  background:var(--white);
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:750;
}
.meal-plan-page .meal-footer{display:grid;gap:10px;align-self:end;padding-top:2px;}
.meal-plan-page .meal-controls{display:grid;gap:10px;align-items:start;}
.meal-plan-page .people-pill-field{display:flex;align-items:center;justify-content:space-between;gap:8px;color:rgba(20,24,26,.62);font-size:11px;font-weight:900;}
.meal-plan-page .people-pill-field span{font-family:var(--font-mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;}
.meal-plan-page .people-pill-field input{width:64px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:0 8px;color:var(--navy);font-family:var(--font-mono);font-size:12px;font-weight:800;}
.meal-plan-page .toggle-wrap{position:relative;display:inline-flex;align-items:center;gap:8px;}
.meal-plan-page .toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;}
.meal-plan-page .toggle-input{position:absolute;opacity:0;pointer-events:none;}
.meal-plan-page .toggle-switch{width:34px;height:20px;border-radius:999px;background:rgba(20,24,26,.14);border:1px solid rgba(20,24,26,.10);display:inline-flex;align-items:center;padding:2px;transition:all .16s ease;}
.meal-plan-page .toggle-knob{width:14px;height:14px;border-radius:999px;background:var(--white);box-shadow:0 2px 6px rgba(20,24,26,.18);transform:translateX(0);transition:transform .16s ease;}
.meal-plan-page .toggle-input:checked + .toggle-switch{background:var(--sage);border-color:var(--sage);}
.meal-plan-page .toggle-input:checked + .toggle-switch .toggle-knob{transform:translateX(14px);}
.meal-plan-page .toggle-label{color:rgba(20,24,26,.68);font-size:11.5px;font-weight:850;}
.meal-plan-page .info-dot{width:18px;height:18px;border-radius:999px;border:1px solid rgba(20,24,26,.14);background:var(--white);color:var(--sage-dark);display:grid;place-items:center;font-size:11px;font-weight:900;cursor:default;}
.meal-plan-page .info-tooltip{position:absolute;right:0;bottom:calc(100% + 10px);width:220px;padding:9px 10px;border-radius:12px;background:var(--navy);color:var(--white);font-size:11px;line-height:1.45;font-weight:700;opacity:0;visibility:hidden;transform:translateY(4px);transition:all .16s ease;pointer-events:none;box-shadow:0 12px 28px rgba(20,24,26,.18);z-index:5;}
.meal-plan-page .toggle-wrap:hover .info-tooltip{opacity:1;visibility:visible;transform:translateY(0);}
.meal-plan-page .meal-note-field{display:grid;gap:6px;margin:0;}
.meal-plan-page .meal-note-field span{color:rgba(20,24,26,.62);font-family:var(--font-mono);font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.meal-plan-page .meal-note-field input{min-height:34px;border-radius:10px;background:var(--white);font-size:12px;font-weight:700;}
.meal-plan-page .meal-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.meal-plan-page .hint-link{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:0;color:var(--sage-dark);background:rgba(124,156,137,.08);font-size:11.5px;font-weight:900;cursor:pointer;}
.meal-plan-page .hint-link:hover{background:rgba(124,156,137,.14);}
.meal-plan-page .sticky-actions{position:sticky;bottom:16px;display:flex;justify-content:flex-end;gap:10px;padding:10px;border-radius:16px;background:rgba(247,245,241,.86);backdrop-filter:blur(12px);border:1px solid var(--line);z-index:10;}
@media(max-width:1050px){
  .meal-dashboard-inner{grid-template-columns:1fr;}
  .meal-plan-page .dashboard-actions{justify-content:flex-start;}
  .meal-plan-page .day-board.meal-day-board{min-width:960px;}
}
@media(max-width:760px){
  .meal-plan-page .meal-plan-head{flex-direction:column;gap:16px;}
  .meal-plan-page .page-actions{padding-top:0;justify-content:flex-start;}
  .meal-plan-page .meal-compact-stats{grid-template-columns:1fr;}
  .meal-plan-page .compact-stat{border-right:0;border-bottom:1px solid rgba(20,24,26,.08);}
  .meal-plan-page .compact-stat:last-child{border-bottom:0;}
  .meal-plan-page .helper-card.meal-plan-helper-card{grid-template-columns:auto 1fr;}
  .meal-plan-page .day-head.meal-day-head{grid-template-columns:1fr;gap:12px;}
  .meal-plan-page .day-actions{justify-content:flex-start;}
  .meal-plan-page .day-title-large{font-size:22px;}
  .meal-plan-page .sticky-actions{position:static;justify-content:flex-start;flex-wrap:wrap;}
}
@media print{
  .meal-plan-page .plan-dashboard.meal-plan-dashboard,
  .meal-plan-page .helper-card.meal-plan-helper-card,
  .meal-plan-page .meal-actions,
  .meal-plan-page .sticky-actions{display:none!important;}
}

/* v6.6.17: Essensplan Header, Autosave, Mahlzeitenfarben und Zusatz-Lebensmittel */
.meal-plan-page .meal-plan-head{
  align-items:flex-start;
  margin-bottom:24px;
}
.meal-plan-page .meal-plan-head .muted{
  max-width:760px;
}
.meal-plan-page .meal-plan-head .page-actions,
.meal-plan-page .meal-plan-head .actions-inline{
  padding-top:28px;
  gap:9px;
}
.meal-plan-page .meal-plan-head .trip-meta{
  margin-top:12px;
}
.meal-plan-progress-hero{
  margin:0 0 22px;
  padding:26px 28px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--navy),var(--navy-light));
  color:var(--white);
  box-shadow:0 18px 38px rgba(43,50,68,.16);
}
.meal-progress-main{
  display:grid;
  grid-template-columns:minmax(160px,210px) minmax(0,1fr);
  align-items:center;
  gap:28px;
}
.meal-progress-kicker{
  margin:0 0 5px;
  color:var(--mint);
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.meal-progress-value{
  display:block;
  color:var(--mint);
  font-family:var(--font-mono);
  font-size:clamp(32px,4vw,46px);
  line-height:1;
  font-weight:700;
  letter-spacing:-.05em;
}
.meal-progress-track-wrap{
  display:grid;
  gap:9px;
}
.meal-progress-line{
  height:7px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
}
.meal-progress-line span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sage),var(--mint));
}
.meal-progress-copy{
  margin:0;
  color:rgba(255,255,255,.78);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:750;
}
.meal-plan-page .day-card.meal-day-card{
  border-color:rgba(20,24,26,.10);
  position:relative;
}
.meal-plan-page .day-card.meal-day-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--sage),var(--mint));
}
.meal-plan-page .day-head.meal-day-head{
  padding-left:24px;
  background:linear-gradient(135deg,rgba(190,223,200,.24),rgba(247,245,241,.76));
}
.meal-plan-page .day-title-large{
  font-size:23px;
}
.meal-plan-page .day-board.meal-day-board{
  border:0;
  gap:12px;
  background:transparent;
  overflow:visible;
}
.meal-plan-page .meal-column.meal-slot-card{
  border:1px solid rgba(20,24,26,.08)!important;
  border-radius:17px;
  background:rgba(245,239,230,.42);
  overflow:hidden;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.meal-plan-page .meal-column.meal-slot-card:not(.is-empty):not(.is-no-cook),
.meal-plan-page .meal-column.meal-slot-card.is-planned{
  background:linear-gradient(180deg,rgba(234,245,238,.95),rgba(255,255,255,.94));
  border-color:rgba(124,156,137,.34)!important;
  box-shadow:0 10px 22px rgba(124,156,137,.10);
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook{
  background:linear-gradient(180deg,rgba(245,239,230,.90),rgba(255,255,255,.94));
  border-color:rgba(203,187,167,.48)!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-empty{
  background:rgba(245,239,230,.48);
  border-color:rgba(203,187,167,.38)!important;
}
.meal-plan-page .meal-column.meal-slot-card:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(20,24,26,.07);
}
.meal-plan-page .meal-picker.meal-select-card{
  background:rgba(255,255,255,.72);
  border-color:rgba(20,24,26,.08);
}
.meal-plan-page .meal-picker.meal-select-card.is-empty{
  background:rgba(255,255,255,.54);
  border-color:rgba(203,187,167,.42);
}
.meal-plan-page .meal-column.meal-slot-card:not(.is-empty) .meal-picker.meal-select-card,
.meal-plan-page .meal-column.meal-slot-card.is-planned .meal-picker.meal-select-card{
  background:rgba(255,255,255,.88);
  border-color:rgba(124,156,137,.24);
}
.meal-plan-page .meal-controls{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-height:28px;
}
.meal-plan-page .people-pill-field{display:none!important;}
.meal-plan-page .meal-extra-food{
  border-top:1px dashed rgba(20,24,26,.12);
  padding-top:8px;
}
.meal-plan-page .meal-extra-food summary{
  cursor:pointer;
  list-style:none;
  color:var(--navy);
  font-size:11.5px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(43,50,68,.06);
}
.meal-plan-page .meal-extra-food summary::-webkit-details-marker{display:none;}
.meal-plan-page .meal-extra-food[open] summary{
  background:rgba(124,156,137,.12);
  color:var(--sage-dark);
}
.meal-plan-page .meal-extra-food-form{
  margin-top:10px;
  padding:10px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(20,24,26,.08);
}
.meal-plan-page .meal-extra-food-form form,
.meal-plan-page .meal-extra-food-form label{
  display:grid;
  gap:7px;
}
.meal-plan-page .meal-extra-food-form form{gap:10px;}
.meal-plan-page .meal-extra-food-form span{
  color:rgba(20,24,26,.62);
  font-family:var(--font-mono);
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.meal-plan-page .meal-extra-food-form input,
.meal-plan-page .meal-extra-food-form select{
  min-height:34px;
  border-radius:10px;
  border:1px solid var(--line);
  background:var(--white);
  padding:0 10px;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:700;
}
.meal-plan-page .meal-extra-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8px;
}
.meal-plan-autosave-status{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:60;
  display:none;
  min-height:42px;
  align-items:center;
  gap:9px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(124,156,137,.30);
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 46px rgba(20,24,26,.12);
  color:var(--sage-dark);
  font-size:12.5px;
  font-weight:900;
}
.meal-plan-autosave-status.is-visible{display:inline-flex;}
.meal-plan-autosave-status::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--sage);
  box-shadow:0 0 0 5px rgba(124,156,137,.16);
}
@media(max-width:1050px){
  .meal-progress-main{grid-template-columns:1fr;gap:16px;}
}
@media(max-width:760px){
  .meal-plan-progress-hero{padding:20px;border-radius:16px;}
  .meal-plan-page .meal-plan-head .actions-inline{padding-top:0;}
  .meal-plan-page .day-board.meal-day-board{min-width:920px;}
}

/* v6.6.18: Essensplan Header-Feinschliff, Nicht-kochen-Verhalten und Tagesstatus */
.meal-plan-page .meal-plan-head{
  align-items:flex-start;
  margin-bottom:24px;
}
.meal-plan-page .meal-plan-head .eyebrow{
  margin:0 0 8px;
  color:rgba(20,24,26,.62);
  font-family:var(--font-mono)!important;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.25px;
  text-transform:none;
}
.meal-plan-page .meal-plan-head h1{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:clamp(34px,4vw,44px);
  line-height:1.02;
  font-weight:850;
  letter-spacing:-.04em;
}
.meal-plan-page .meal-plan-head .muted{
  margin:11px 0 0;
  color:rgba(20,24,26,.70);
  font-family:var(--font-ui)!important;
  font-size:13.5px;
  font-weight:750;
}
.meal-plan-page .meal-plan-head .actions-inline{
  padding-top:28px;
}
.meal-plan-page .day-card.meal-day-card::before{
  background:rgba(203,187,167,.72);
}
.meal-plan-page .day-card.meal-day-card.is-day-complete{
  border-color:rgba(124,156,137,.38);
}
.meal-plan-page .day-card.meal-day-card.is-day-complete::before{
  background:linear-gradient(180deg,var(--sage),var(--mint));
}
.meal-plan-page .day-card.meal-day-card.is-day-complete .day-head.meal-day-head{
  background:linear-gradient(135deg,rgba(190,223,200,.56),rgba(234,245,238,.72));
  border-bottom-color:rgba(124,156,137,.22);
}
.meal-plan-page .day-card.meal-day-card:not(.is-day-complete) .day-head.meal-day-head{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(247,245,241,.76));
}
.meal-plan-page .badge.badge-complete{
  background:var(--sage);
  color:var(--white);
  border-color:var(--sage);
}
.meal-plan-page .day-personal-title{
  display:none!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .meal-select-card select,
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .picker-action{
  display:none!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .meal-select-card{
  cursor:default;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .meal-name{
  min-height:auto;
  color:#74624C;
}
@media(max-width:760px){
  .meal-plan-page .meal-plan-head .actions-inline{
    padding-top:0;
  }
  .meal-plan-page .meal-plan-head h1{
    font-size:34px;
  }
}

/* =========================================================
   v6.6.19 — Getränke & Wasser: einheitlicher Törn-Header + CI-Karten
========================================================= */
.trip-subpage-head h1,
.drinks-water-head h1{
  font-family:var(--font-ui)!important;
  color:var(--ci-navy, var(--navy));
  font-size:clamp(32px, 3.4vw, 48px);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.045em;
}
.trip-subpage-head .muted,
.drinks-water-head .muted{
  font-family:var(--font-ui)!important;
  color:rgba(20,24,26,.68);
  font-size:15px;
  font-weight:800;
}
.drinks-water-page .trip-nav{
  margin-bottom:30px;
}
.drinks-water-page .drinks-water-progress{
  margin-bottom:24px;
}
.drinks-water-card{
  padding:0!important;
  overflow:hidden;
  border-radius:22px;
  background:var(--white);
}
.drinks-water-card + .drinks-water-card{
  margin-top:26px;
}
.drinks-card-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:26px 28px;
  border-bottom:1px solid rgba(20,24,26,.09);
  background:linear-gradient(180deg, #fff, rgba(247,245,241,.42));
}
.drinks-card-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(190,223,200,.34);
  color:var(--sage-dark);
  font-size:28px;
  line-height:1;
  font-family:var(--font-ui);
  font-weight:800;
}
.drinks-card-head h2{
  margin:0;
  color:var(--ci-navy, var(--navy));
  font-family:var(--font-ui)!important;
  font-size:clamp(24px, 2vw, 34px);
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.035em;
}
.drinks-card-head .muted{
  margin:6px 0 0;
  max-width:820px;
  color:rgba(20,24,26,.52);
  font-size:15px;
  font-weight:650;
}
.drinks-card-action{
  justify-self:end;
  min-height:46px;
  padding-inline:18px;
  border-radius:999px;
}
.water-metric-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
  padding:28px;
  border-bottom:1px solid rgba(20,24,26,.08);
}
.water-metric-card{
  min-height:152px;
  padding:22px 22px 20px;
  border:1px solid rgba(203,187,167,.40);
  border-radius:20px;
  background:rgba(247,245,241,.48);
  display:grid;
  align-content:start;
  gap:13px;
}
.water-metric-card.is-sage{
  border-color:rgba(124,156,137,.38);
  background:rgba(190,223,200,.20);
}
.water-metric-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(20,24,26,.42);
  font-family:var(--font-ui);
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.water-metric-card.is-sage .water-metric-label{
  color:var(--sage-dark);
}
.water-metric-card strong{
  color:var(--ink);
  font-family:var(--font-mono)!important;
  font-size:clamp(34px, 4vw, 54px);
  line-height:.95;
  font-weight:800;
  letter-spacing:-.07em;
}
.water-metric-card small{
  color:rgba(20,24,26,.55);
  font-size:14px;
  font-weight:650;
  line-height:1.4;
}
.water-detail-list{
  padding:12px 28px 22px;
}
.water-detail-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid rgba(20,24,26,.08);
}
.water-detail-row:last-child{border-bottom:0;}
.water-detail-row span{
  color:rgba(20,24,26,.63);
  font-size:16px;
  font-weight:750;
}
.water-detail-row span em{
  margin-left:14px;
  color:rgba(20,24,26,.45);
  font-style:normal;
  font-weight:650;
}
.water-detail-row strong{
  color:var(--ink);
  font-family:var(--font-mono)!important;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.035em;
}
.water-detail-row.is-total span,
.water-detail-row.is-total strong{
  color:var(--sage-dark);
}
.drinks-empty-state{
  min-height:360px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:12px;
  padding:58px 24px 70px;
  text-align:center;
}
.drinks-empty-icon{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:rgba(190,223,200,.28);
  color:var(--sage-dark);
  font-size:42px;
  font-weight:800;
}
.drinks-empty-state h3{
  margin:16px 0 0;
  color:var(--ink);
  font-family:var(--font-ui)!important;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
}
.drinks-empty-state p{
  max-width:520px;
  margin:0 0 12px;
  color:rgba(20,24,26,.52);
  font-size:16px;
  font-weight:650;
  line-height:1.45;
}
.drinks-empty-state .button{
  min-height:48px;
  padding-inline:24px;
  border-radius:999px;
}
.drinks-list-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 28px;
  border-bottom:1px solid rgba(20,24,26,.08);
  background:rgba(247,245,241,.58);
}
.drinks-list-summary span{
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.drinks-list-summary em{
  color:rgba(20,24,26,.54);
  font-style:normal;
  font-size:13px;
  font-weight:650;
}
.drinks-provision-list{
  padding:12px 28px 26px;
}
.drinks-provision-row{
  border-radius:16px;
  background:rgba(247,245,241,.46);
  border:1px solid rgba(20,24,26,.08);
}
.drinks-provision-row + .drinks-provision-row{margin-top:10px;}
.drinks-provision-row strong{
  color:var(--ci-navy, var(--navy));
  font-size:16px;
  font-weight:800;
}
.drinks-provision-row .muted{
  font-family:var(--font-mono)!important;
  font-size:12px;
  font-weight:800;
}
@media (max-width:1100px){
  .water-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .drinks-card-head{
    grid-template-columns:auto minmax(0,1fr);
    padding:20px;
  }
  .drinks-card-action{
    grid-column:1 / -1;
    justify-self:start;
  }
  .water-metric-grid{
    grid-template-columns:1fr;
    gap:12px;
    padding:20px;
  }
  .water-detail-list{padding:4px 20px 18px;}
  .water-detail-row{
    grid-template-columns:1fr;
    gap:6px;
    padding:14px 0;
  }
  .water-detail-row span em{
    display:block;
    margin:3px 0 0;
  }
  .drinks-empty-state{min-height:310px;padding:42px 20px 54px;}
  .drinks-list-summary{align-items:flex-start;flex-direction:column;padding:16px 20px;}
  .drinks-provision-list{padding:10px 20px 20px;}
}

/* =========================================================
   v6.6.21 — Reiter-spezifische Fortschrittsleisten, Wasser-Icons, Getränkeliste
========================================================= */
.trip-subpage-progress{
  margin:14px 0 24px;
}
.trip-subpage-progress__detail{
  margin:10px 0 0;
}
.trips-unified-head.trip-subpage-head{
  gap:18px;
}
.trip-subpage-head .actions-inline,
.trip-top-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.drinks-card-icon--svg svg,
.drinks-empty-icon svg{
  width:30px;
  height:30px;
  stroke-width:1.9;
}
.drinks-empty-icon svg{
  width:44px;
  height:44px;
}
.water-label-with-icon{
  gap:9px;
}
.ci-icon--water-metric{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:currentColor;
}
.drinks-shopping-list{
  padding:14px 28px 28px;
}
.drink-shopping-row{
  grid-template-columns:34px minmax(180px,1fr) 108px 112px 38px;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.drink-shopping-row + .drink-shopping-row{
  margin-top:6px;
}
.drink-row-dot{
  color:var(--sage-dark);
  font-size:24px;
  line-height:1;
}
.drink-row-action{
  display:flex;
  justify-content:center;
  margin:0;
}
.drink-calculation-note{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(124,156,137,.26);
  border-radius:14px;
  background:rgba(190,223,200,.16);
  color:rgba(20,24,26,.62);
  font-weight:650;
}
.drink-calculation-note strong{
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.drink-calculation-note span{
  font-size:13px;
}
input[readonly][data-drink-total]{
  background:rgba(247,245,241,.72);
  color:var(--ink);
  font-weight:800;
}
@media (max-width:760px){
  .trip-subpage-head .actions-inline,
  .trip-top-actions{justify-content:flex-start;}
  .drinks-shopping-list{padding:10px 20px 22px;}
  .drink-shopping-row{grid-template-columns:26px minmax(0,1fr) 86px 82px 34px;gap:6px;}
  .drink-calculation-note{align-items:flex-start;flex-direction:column;}
}

/* =========================================================
   v7.0 — Einkaufsliste, Getränke-Liste, Copy-Day-Dialog
========================================================= */
.shopping-edit-row.is-saving{
  opacity:.74;
  background:rgba(190,223,200,.14);
}
.category-quick-assign{
  margin:0;
  justify-self:end;
}
.category-quick-assign select{
  width:auto;
  min-width:150px;
  max-width:220px;
  border-radius:999px;
  padding:7px 32px 7px 12px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--sage-dark);
  font-weight:850;
  font-size:12px;
  font-family:var(--font-ui);
}
.category-quick-assign select:focus{
  outline:2px solid rgba(124,156,137,.24);
  border-color:var(--sage);
}
.drink-edit-row{
  grid-template-columns:34px minmax(180px,1fr) 118px 138px 38px 38px;
}
.drink-inline-amount input,
.drink-inline-unit select{
  width:100%;
  min-height:34px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  padding:7px 10px;
  font-family:var(--font-mono);
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.drink-inline-unit select{
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:800;
  color:var(--muted);
}
.save-icon{
  color:var(--sage-dark);
  border-color:rgba(124,156,137,.34);
  background:rgba(190,223,200,.18);
}
.danger-icon{
  color:#9f2d2d;
  border-color:rgba(159,45,45,.24);
}
.copy-day-dialog .modal-body{
  display:grid;
  gap:18px;
}
.copy-day-source-label{
  margin:0;
}
.copy-day-section{
  display:grid;
  gap:10px;
}
.copy-day-section > strong{
  color:var(--navy);
  font-weight:850;
}
.copy-day-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.copy-day-grid--meals{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.copy-choice{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(247,245,241,.52);
  font-weight:750;
}
.copy-choice input{
  flex:0 0 auto;
}
.copy-choice.is-disabled{
  opacity:.42;
  background:#f4f4f4;
}
.copy-option{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border:1px solid rgba(124,156,137,.26);
  background:rgba(190,223,200,.15);
  border-radius:14px;
  font-weight:750;
}
@media(max-width:760px){
  .drink-edit-row{grid-template-columns:26px minmax(0,1fr) 86px 96px 34px 34px;gap:6px;}
  .drink-inline-unit select{font-size:11.5px;padding-inline:8px;}
  .category-quick-assign{justify-self:start;grid-column:1/-1;}
  .category-quick-assign select{max-width:100%;width:100%;}
  .copy-day-grid,
  .copy-day-grid--meals{grid-template-columns:1fr;}
}
@media print{
  .category-quick-assign{display:none!important;}
  .drink-edit-row{grid-template-columns:24px 1fr 54px 68px!important;}
  .drink-edit-row .save-icon,
  .drink-edit-row .danger-icon{display:none!important;}
}

/* =========================================================
   v7.0.2 — Listen- und Team-UX-Konsolidierung
========================================================= */
:root{
  --dashboard-tile-min-height:108px;
  --dashboard-tile-padding:16px;
}

.water-metric-grid{
  gap:14px;
  padding:20px 22px;
}
.water-metric-card{
  min-height:var(--dashboard-tile-min-height);
  padding:var(--dashboard-tile-padding);
  border-radius:16px;
  gap:8px;
}
.water-metric-card strong{
  font-size:clamp(26px,3vw,36px);
  letter-spacing:-.055em;
}
.water-metric-card small{
  font-size:12.5px;
  line-height:1.35;
}
.water-metric-label{
  font-size:12px;
}
.drinks-card-head{
  padding:20px 22px;
}
.drinks-card-icon{
  width:46px;
  height:46px;
  border-radius:14px;
}
.drinks-card-head h2{
  font-size:clamp(22px,2vw,28px);
}
.drinks-card-head .muted{
  font-size:14px;
}
.water-detail-list{
  padding:8px 22px 18px;
}
.water-detail-row{
  padding:12px 0;
}
.water-detail-row span{
  font-size:14px;
}
.water-detail-row strong{
  font-size:15px;
}

.prototype-dashboard-grid .summary-box,
.crew-stats .summary-box,
.dashboard-metrics .summary-box{
  min-height:84px;
  padding:12px 14px;
  border-radius:16px;
}
.prototype-dashboard-grid .summary-box b,
.crew-stats .summary-box b,
.dashboard-metrics .summary-box b{
  font-size:22px;
}

.drinks-unified-list-card .drinks-list-summary{
  padding:12px 22px;
}
.drinks-unified-list{
  padding:14px 22px 22px;
  background:var(--white);
}
.drinks-bucket-group{
  margin-top:14px;
}
.drinks-bucket-group:first-child{
  margin-top:0;
}
.drinks-category-head{
  margin:0 0 7px;
}
.drink-list-row{
  grid-template-columns:34px minmax(180px,1fr) 118px 92px 38px 38px;
}
.drink-water-static-row{
  background:rgba(247,245,241,.36);
}
.drink-row-water-icon{
  color:var(--sage-dark);
}
.ci-icon--row-water{
  width:20px;
  height:20px;
}
.drink-empty-row{
  opacity:.68;
  background:rgba(247,245,241,.42);
}
.drink-empty-row .shopping-line-name strong{
  color:rgba(20,24,26,.56);
}
.drinks-unified-list .shopping-line-row + .shopping-line-row,
.drinks-unified-list form.shopping-line-row + form.shopping-line-row{
  margin-top:6px;
}
.drinks-unified-list .shopping-line-amount strong,
.drinks-unified-list .shopping-line-unit{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
}

.shopping-team-overview-card,
.shopping-filter-card--strong,
.shopping-add-header{
  margin-bottom:14px;
}
.shopping-team-overview-card{
  padding:16px;
}
.shopping-team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin-top:14px;
}
.shopping-team-card{
  min-height:150px;
  display:grid;
  align-content:start;
  gap:10px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(247,245,241,.46);
  padding:14px;
}
.shopping-team-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.shopping-team-card__top h3{
  margin:0;
  color:var(--navy);
  font-size:17px;
}
.shopping-team-card__top form{
  margin:0;
}
.shopping-team-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.shopping-team-card__meta span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--white);
  border:1px solid var(--line);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
}
.shopping-team-card__section{
  display:grid;
  gap:3px;
}
.shopping-team-card__section small{
  color:rgba(20,24,26,.46);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.shopping-team-card__section p{
  margin:0;
  color:rgba(20,24,26,.68);
  font-size:13px;
  font-weight:650;
  line-height:1.35;
}
.shopping-team-empty{
  margin-top:12px;
  display:grid;
  gap:4px;
  border:1px dashed rgba(124,156,137,.35);
  border-radius:16px;
  background:rgba(190,223,200,.14);
  padding:14px;
}
.shopping-filter-card--strong{
  padding:0;
  overflow:hidden;
  border-color:rgba(124,156,137,.25);
}
.shopping-filter-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,340px);
  gap:16px;
  align-items:center;
  padding:16px;
  background:linear-gradient(135deg, rgba(190,223,200,.26), rgba(247,245,241,.64));
}
.shopping-filter-layout h2{
  margin:2px 0 4px;
  font-size:20px;
  color:var(--navy);
}
.shopping-filter-select{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid rgba(124,156,137,.28);
  border-radius:16px;
  background:var(--white);
}
.shopping-filter-select span{
  color:var(--sage-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.shopping-filter-select select{
  min-height:42px;
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:850;
  color:var(--navy);
}
.shopping-add-header{
  padding:14px 16px;
  background:var(--white);
}
.shopping-add-header h2{
  margin:0;
}
.shopping-list-card{
  margin-top:0;
}

@media(max-width:760px){
  .water-metric-grid{grid-template-columns:1fr;padding:16px;}
  .drinks-unified-list{padding:12px 16px 18px;}
  .drink-list-row{grid-template-columns:28px minmax(0,1fr) 78px 64px 32px 32px;gap:6px;}
  .shopping-filter-layout{grid-template-columns:1fr;}
  .shopping-team-grid{grid-template-columns:1fr;}
}

@media print{
  .shopping-team-overview-card,
  .shopping-filter-card--strong,
  .shopping-add-header,
  .drinks-unified-list-card .drinks-card-head,
  .drinks-unified-list-card .drinks-list-summary{
    display:none!important;
  }
}

/* =========================================================
   v7.0.3 — Formularruhe, kompakte Header, Teamfilter & Tage übertragen
========================================================= */
.page-head h1,
.trips-unified-head h1,
.trip-overview-head h1,
.prototype-page-head h1,
.trip-subpage-head h1,
.drinks-water-head h1{
  font-family:var(--font-ui)!important;
  font-size:clamp(29px,3.2vw,40px)!important;
  line-height:1.06!important;
  letter-spacing:-.025em!important;
  font-weight:800;
}
.trip-subpage-head .muted,
.drinks-water-head .muted,
.prototype-page-head .muted{
  font-size:13.5px!important;
  font-weight:650!important;
}
.trips-unified-head.trip-subpage-head,
.prototype-page-head.trip-subpage-head,
.page-head.trip-subpage-head{
  margin:12px 0 14px;
}
.trip-subpage-progress{
  margin:10px 0 18px;
}
.trip-subpage-progress .trip-planning-strip__top{
  padding:0;
}

.shopping-actionbar-card{
  padding:0;
  overflow:hidden;
  border-color:rgba(124,156,137,.22);
  box-shadow:0 10px 22px rgba(43,50,68,.06);
}
.shopping-actionbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,330px);
  gap:16px;
  align-items:center;
  padding:14px 16px;
  background:linear-gradient(135deg, rgba(190,223,200,.22), rgba(247,245,241,.72));
  font-family:var(--font-ui);
}
.shopping-actionbar__intro{
  min-width:0;
}
.shopping-actionbar__intro .eyebrow{
  margin-bottom:4px;
  font-family:var(--font-mono)!important;
  font-size:11px;
}
.shopping-actionbar__intro h2{
  margin:0 0 4px;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:19px;
  line-height:1.15;
  letter-spacing:-.015em;
}
.shopping-actionbar__intro .muted{
  margin:0;
  font-size:13px;
  font-weight:650;
}
.shopping-filter-select--inline{
  margin:0;
  min-width:0;
  box-shadow:0 6px 16px rgba(43,50,68,.05);
}
.shopping-filter-select--inline select{
  width:100%;
  font-family:var(--font-ui)!important;
  font-size:13px;
  background:#fff;
}
.shopping-list-box-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:2px 0 14px;
  border-bottom:1px solid rgba(43,50,68,.08);
  margin-bottom:14px;
}
.shopping-list-box-head h2{
  margin:0 0 4px;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:22px;
  line-height:1.15;
}
.shopping-list-box-head .muted{
  margin:0;
  font-size:13px;
  font-weight:650;
}
.shopping-empty-inside{
  margin:0;
  box-shadow:none;
  border:1px dashed rgba(124,156,137,.28);
  background:rgba(247,245,241,.48);
}
.team-dialog-grid .team-member-picker{
  padding:12px;
  border:1px solid rgba(124,156,137,.24);
  border-radius:16px;
  background:rgba(247,245,241,.46);
}
.team-member-list{
  max-height:260px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding:4px 2px;
}
.team-member-choice{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.team-member-choice strong{
  display:block;
  color:var(--navy);
  font-size:13.5px;
}
.team-member-choice small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
}
.drink-dialog-category-hint{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:650;
}
.copy-day-dialog{
  width:min(720px, calc(100vw - 24px));
}
.copy-day-body{
  gap:16px!important;
}
.copy-day-intro{
  display:grid;
  gap:3px;
  padding:14px;
  border:1px solid rgba(124,156,137,.24);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(190,223,200,.18), rgba(247,245,241,.78));
}
.copy-day-intro > span,
.copy-day-section-head span{
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.copy-day-intro > strong{
  color:var(--navy);
  font-family:var(--font-ui);
  font-size:20px;
  line-height:1.15;
}
.copy-day-section-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}
.copy-day-section-head strong{
  color:var(--navy);
  font-size:15px;
}
.copy-day-target-grid{
  max-height:260px;
  overflow:auto;
  padding:2px;
}
.copy-choice{
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.copy-choice:hover{
  border-color:rgba(124,156,137,.45);
  background:rgba(190,223,200,.14);
}
.copy-choice:has(input:checked){
  border-color:rgba(94,124,107,.55);
  background:rgba(190,223,200,.24);
}
.copy-choice span{
  display:grid;
  gap:1px;
  min-width:0;
}
.copy-choice span strong{
  color:var(--navy);
  font-size:13.5px;
}
.copy-choice span small{
  color:var(--muted);
  font-size:12px;
  font-weight:650;
}
.copy-choice--meal{
  justify-content:center;
  text-align:center;
}
.copy-option span{
  display:grid;
  gap:2px;
}
.copy-option strong{
  color:var(--navy);
}
.copy-option small{
  color:var(--muted);
  font-size:12px;
  font-weight:650;
}
.copy-day-trigger{
  font-family:var(--font-ui)!important;
  font-size:12px!important;
  border-color:rgba(124,156,137,.3)!important;
  background:rgba(190,223,200,.14)!important;
  color:var(--sage-dark)!important;
}

@media(max-width:760px){
  .shopping-actionbar{grid-template-columns:1fr;padding:13px;}
  .shopping-list-box-head{align-items:flex-start;flex-direction:column;}
  .shopping-list-box-head .button{width:100%;justify-content:center;}
  .copy-day-dialog{width:calc(100vw - 18px);}
}

/* =========================================================
   v7.0.4 — UI-Konsistenz, Autosave, Getränke-Logik & Tag-Übertragen
========================================================= */
.trip-subpage-head,
.prototype-page-head.trip-subpage-head,
.page-head.trip-subpage-head,
.trips-unified-head.trip-subpage-head{
  margin:8px 0 12px!important;
  gap:14px!important;
  align-items:flex-start!important;
}
.trip-subpage-head h1,
.trips-unified-head.trip-subpage-head h1,
.prototype-page-head.trip-subpage-head h1,
.page-head.trip-subpage-head h1{
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.04!important;
  letter-spacing:-.025em!important;
  margin:0 0 7px!important;
}
.trip-subpage-head .eyebrow{
  color:rgba(20,24,26,.58)!important;
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  line-height:1.25!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  margin:0 0 6px!important;
}
.trip-subpage-head .muted,
.prototype-page-head.trip-subpage-head .muted{
  font-size:13.5px!important;
  line-height:1.45!important;
  font-weight:650!important;
  margin:0!important;
}
.trip-subpage-head .actions-inline,
.trip-top-actions{
  gap:8px!important;
  padding-top:0!important;
  align-self:center!important;
}
.trip-subpage-head .button,
.trip-top-actions .button,
.autosave-pill{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:800!important;
  letter-spacing:-.005em!important;
}
.trip-subpage-progress{
  margin:8px 0 16px!important;
}
.trip-module-tabs{
  margin:0 0 14px!important;
}

.autosave-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(124,156,137,.26);
  background:rgba(190,223,200,.18);
  color:var(--sage-dark);
  white-space:nowrap;
}
.autosave-pill::before{
  content:"✓";
  margin-right:7px;
  font-weight:900;
}
.meal-plan-autosave-status{
  font-family:var(--font-ui)!important;
}

.water-settings-action,
.button.water-settings-action{
  background:var(--ci-navy, var(--navy))!important;
  border-color:var(--ci-navy, var(--navy))!important;
  color:var(--ci-fog, var(--fog))!important;
}
.water-settings-action:hover,
.button.water-settings-action:hover{
  background:var(--ci-navy-light, var(--navy-light))!important;
  border-color:var(--ci-navy-light, var(--navy-light))!important;
  color:var(--ci-fog, var(--fog))!important;
}

.shopping-actionbar-card{
  border-radius:18px!important;
}
.shopping-actionbar{
  grid-template-columns:minmax(0,1fr) minmax(230px,320px)!important;
  gap:14px!important;
  padding:14px!important;
  background:linear-gradient(135deg, rgba(247,245,241,.86), rgba(190,223,200,.17))!important;
  font-family:var(--font-ui)!important;
}
.shopping-actionbar__intro h2{
  font-size:18px!important;
  line-height:1.18!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  letter-spacing:-.018em!important;
}
.shopping-actionbar__intro .muted,
.shopping-filter-select--inline span{
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:700!important;
}
.shopping-filter-select--inline{
  background:#fff!important;
  border:1px solid rgba(20,24,26,.09)!important;
  border-radius:16px!important;
  padding:10px!important;
  box-shadow:0 8px 18px rgba(43,50,68,.05)!important;
}
.shopping-filter-select--inline select{
  min-height:38px!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:800!important;
}

.copy-day-dialog--clean{
  width:min(680px, calc(100vw - 32px))!important;
  max-width:680px!important;
  max-height:calc(100dvh - 48px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
}
.copy-day-form{
  max-height:calc(100dvh - 48px);
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
}
.copy-day-modal-head{
  padding:18px 18px 14px!important;
  border-bottom:1px solid rgba(20,24,26,.08);
}
.copy-day-modal-head h2{
  font-family:var(--font-ui)!important;
  font-size:24px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
  margin:0!important;
}
.copy-day-body--clean{
  flex:1 1 auto;
  overflow:auto!important;
  display:grid!important;
  gap:14px!important;
  padding:16px 18px!important;
  scrollbar-gutter:stable;
}
.copy-day-source-card,
.copy-day-panel,
.copy-overwrite-card{
  border:1px solid rgba(20,24,26,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 20px rgba(43,50,68,.04);
}
.copy-day-source-card{
  display:grid;
  gap:4px;
  padding:14px;
  background:linear-gradient(135deg, rgba(190,223,200,.18), rgba(247,245,241,.82));
  border-color:rgba(124,156,137,.24);
}
.copy-day-kicker,
.copy-day-section-head span{
  color:var(--sage-dark);
  font-family:var(--font-mono)!important;
  font-size:10.5px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.copy-day-source-card strong{
  color:var(--navy);
  font-size:19px;
  line-height:1.15;
  font-weight:850;
}
.copy-day-source-card p{
  margin:0;
  color:rgba(20,24,26,.66);
  font-size:13px;
  line-height:1.42;
  font-weight:650;
}
.copy-day-panel{
  padding:13px;
}
.copy-day-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.copy-day-section-head strong{
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  font-weight:850!important;
}
.copy-day-target-list,
.copy-meal-list{
  display:grid;
  gap:8px;
}
.copy-day-target-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-height:230px;
  overflow:auto;
  padding-right:2px;
  scrollbar-gutter:stable;
}
.copy-meal-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.copy-select-card,
.copy-overwrite-card{
  position:relative;
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  margin:0;
  padding:10px 11px;
  cursor:pointer;
  border:1px solid rgba(20,24,26,.10);
  border-radius:14px;
  background:rgba(247,245,241,.48);
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.copy-select-card:hover,
.copy-overwrite-card:hover{
  border-color:rgba(124,156,137,.42);
  background:rgba(190,223,200,.12);
}
.copy-select-card input,
.copy-overwrite-card input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
  margin:0!important;
}
.copy-select-marker{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1.5px solid rgba(43,50,68,.24);
  background:#fff;
  display:inline-grid;
  place-items:center;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
}
.copy-select-marker::after{
  content:"✓";
  opacity:0;
  transform:scale(.85);
}
.copy-select-card input:checked + .copy-select-marker,
.copy-overwrite-card input:checked + .copy-select-marker{
  background:var(--sage);
  border-color:var(--sage-dark);
}
.copy-select-card input:checked + .copy-select-marker::after,
.copy-overwrite-card input:checked + .copy-select-marker::after{
  opacity:1;
}
.copy-select-card:has(input:checked),
.copy-overwrite-card:has(input:checked){
  border-color:rgba(94,124,107,.48);
  background:rgba(190,223,200,.18);
  box-shadow:0 6px 16px rgba(43,50,68,.04);
}
.copy-select-card.is-disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  background:rgba(20,24,26,.035)!important;
}
.copy-select-text{
  min-width:0;
  display:grid;
  gap:1px;
}
.copy-select-text strong{
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:850!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.copy-select-text small,
.copy-overwrite-card small{
  color:rgba(20,24,26,.60);
  font-size:12px!important;
  line-height:1.3;
  font-weight:650!important;
}
.copy-select-card--meal{
  min-height:48px;
}
.copy-overwrite-card{
  padding:12px 13px;
  background:rgba(190,223,200,.12);
  border-color:rgba(124,156,137,.24);
}
.copy-overwrite-card span:last-child{
  display:grid;
  gap:2px;
}
.copy-overwrite-card strong{
  color:var(--navy);
  font-size:13.5px;
  line-height:1.2;
}
.copy-day-actions{
  padding:14px 18px 18px!important;
  border-top:1px solid rgba(20,24,26,.08);
  background:rgba(247,245,241,.68);
}
.copy-day-actions .button{
  min-height:40px;
  padding:0 15px;
  border-radius:12px;
  font-family:var(--font-ui)!important;
  font-size:13px;
  font-weight:850;
}
.copy-day-trigger{
  min-height:34px!important;
  border-color:rgba(124,156,137,.32)!important;
  background:rgba(190,223,200,.16)!important;
  color:var(--sage-dark)!important;
}

.drink-calculation-note span{
  line-height:1.35;
}
[data-drink-calculated-field][hidden],
[data-drink-people-field][hidden]{
  display:none!important;
}

@media(max-width:760px){
  .trip-subpage-head .actions-inline,
  .trip-top-actions{align-self:flex-start!important;justify-content:flex-start!important;}
  .shopping-actionbar{grid-template-columns:1fr!important;}
  .copy-day-dialog--clean{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px)!important;}
  .copy-day-form{max-height:calc(100dvh - 18px);}
  .copy-day-target-list,
  .copy-meal-list{grid-template-columns:1fr!important;}
  .copy-day-modal-head h2{font-size:22px!important;}
}

/* =========================================================
   v7.0.5 — Header-Konsistenz, Team-Dialoge, Getränkelisten
========================================================= */
.trip-overview-head,
.trip-subpage-head,
.prototype-page-head.trip-subpage-head,
.page-head.trip-subpage-head,
.trips-unified-head.trip-subpage-head{
  margin:6px 0 12px!important;
  gap:16px!important;
  align-items:flex-start!important;
}
.trip-overview-head .eyebrow,
.trip-subpage-head .eyebrow,
.prototype-page-head.trip-subpage-head .eyebrow,
.page-head.trip-subpage-head .eyebrow{
  color:rgba(20,24,26,.58)!important;
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  line-height:1.25!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  margin:0 0 6px!important;
}
.trip-overview-head h1,
.trip-subpage-head h1,
.trips-unified-head.trip-subpage-head h1,
.prototype-page-head.trip-subpage-head h1,
.page-head.trip-subpage-head h1{
  font-family:var(--font-ui)!important;
  font-size:clamp(30px,3.15vw,40px)!important;
  line-height:1.04!important;
  letter-spacing:-.032em!important;
  margin:0 0 7px!important;
  color:var(--navy)!important;
}
.trip-overview-head .muted,
.trip-subpage-head .muted,
.prototype-page-head.trip-subpage-head .muted,
.page-head.trip-subpage-head .muted{
  font-family:var(--font-ui)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  font-weight:650!important;
  margin:0!important;
  color:rgba(20,24,26,.68)!important;
}
.trip-subpage-head .actions-inline,
.trip-overview-head .actions-inline,
.trip-top-actions{
  align-self:center!important;
  gap:8px!important;
}
.trip-subpage-head .button,
.trip-overview-head .button,
.trip-top-actions .button,
.trip-subpage-head button,
.trip-top-actions button{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:800!important;
}

.shopping-team-card__actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.shopping-team-card__actions form{margin:0;}
.team-dialog-grid--clean{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.team-member-picker > strong{
  display:block;
  margin-bottom:9px;
  color:var(--navy);
  font-family:var(--font-ui)!important;
  font-size:14px;
  font-weight:850;
}
.team-member-choice{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  min-height:54px;
  padding:10px 12px!important;
}
.team-member-choice input[type="checkbox"]{
  appearance:auto!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0!important;
  margin:0!important;
  border-radius:4px!important;
  accent-color:var(--sage);
}
.team-member-choice span{min-width:0;}
.team-member-choice strong,
.team-member-choice small{
  text-align:left!important;
}

.drink-shopping-row{
  grid-template-columns:34px minmax(0,1fr) 90px 94px 38px 38px!important;
}
.drink-edit-dialog-grid{
  align-items:end!important;
}
.modal-actions--split{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.modal-actions__spacer{flex:1 1 auto;}
.drink-calculation-note{
  border-radius:14px;
}
[data-drink-calculator] .dialog-grid.two{
  align-items:end;
}
[data-drink-calculator] label,
.drink-edit-dialog-grid label{
  min-width:0;
}
[data-drink-calculator] input[readonly]{
  background:rgba(247,245,241,.72)!important;
  color:var(--navy)!important;
  font-weight:850!important;
}

.copy-day-dialog--clean{
  width:min(620px, calc(100vw - 32px))!important;
  max-width:620px!important;
}
.copy-day-body--clean{
  gap:12px!important;
  padding:14px 16px!important;
}
.copy-day-target-list{
  grid-template-columns:1fr!important;
  max-height:190px!important;
}
.copy-meal-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.copy-select-card,
.copy-overwrite-card{
  grid-template-columns:18px minmax(0,1fr)!important;
  min-height:44px!important;
  padding:9px 10px!important;
}
.copy-select-card input[type="checkbox"],
.copy-overwrite-card input[type="checkbox"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  min-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  padding:0!important;
  margin:0!important;
  pointer-events:none!important;
}
.copy-select-marker{
  width:16px!important;
  height:16px!important;
  border-radius:5px!important;
  font-size:10px!important;
}
.copy-day-section-head{
  margin-bottom:8px!important;
}
.copy-day-source-card,
.copy-day-panel,
.copy-overwrite-card{
  border-radius:16px!important;
}

@media(max-width:760px){
  .drink-shopping-row{grid-template-columns:30px minmax(0,1fr) 70px 70px 34px 34px!important;}
  .copy-meal-list{grid-template-columns:1fr!important;}
}

/* =========================================================
   v7.0.6 — Dialog- und Aktionslogik bereinigt
========================================================= */
.button.print-action,
button.print-action{
  background:var(--ci-navy)!important;
  border-color:var(--ci-navy)!important;
  color:var(--ci-fog)!important;
}
.button.print-action:hover,
button.print-action:hover{
  background:var(--ci-navy-light)!important;
  border-color:var(--ci-navy-light)!important;
  color:var(--ci-fog)!important;
}

[data-drink-calculator] .dialog-grid.two{
  align-items:start!important;
  column-gap:12px!important;
  row-gap:12px!important;
}
[data-drink-calculator] label{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-height:0!important;
}
[data-drink-calculator] label span:first-child{
  line-height:1.2!important;
}
[data-drink-calculator] select,
[data-drink-calculator] input{
  width:100%!important;
}
.drink-dialog-category-hint{
  display:none!important;
}
.drink-calculation-note{
  align-items:center!important;
  min-height:0!important;
  padding:10px 12px!important;
}
.drink-calculation-note strong{
  white-space:nowrap;
}
.drink-calculation-note span{
  text-align:right;
}
.trip-top-actions .button,
.trip-subpage-head .actions-inline .button{
  font-family:var(--font-ui)!important;
}
@media (max-width:760px){
  .drink-calculation-note{
    align-items:flex-start!important;
  }
  .drink-calculation-note span{
    text-align:left;
  }
}

/* =========================================================
   v7.0.7 — CI/UX Konsolidierung: Header, Buttons, Karten
========================================================= */
:root{
  --ui-button-h:42px;
  --ui-button-radius:14px;
  --ui-card-radius:18px;
  --ui-card-pad:18px;
  --ui-card-pad-compact:16px;
  --ui-gap:14px;
}
body{
  font-family:var(--font-ui)!important;
  font-size:14px;
  line-height:1.45;
  color:var(--ink);
  background:var(--fog);
}

/* Einheitliche Seiten- und Törn-Header */
.page-head.trips-unified-head,
.page-head.trip-overview-head,
.page-head.trip-subpage-head,
.prototype-page-head.trip-overview-head,
.prototype-page-head.trip-subpage-head,
.trips-unified-head.trip-subpage-head{
  margin:10px 0 16px!important;
  gap:18px!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
}
.page-head.trips-unified-head > div:first-child,
.page-head.trip-overview-head > div:first-child,
.page-head.trip-subpage-head > div:first-child{
  min-width:260px;
  max-width:820px;
}
.page-head.trips-unified-head .eyebrow,
.page-head.trip-overview-head .eyebrow,
.page-head.trip-subpage-head .eyebrow,
.prototype-page-head.trip-overview-head .eyebrow,
.prototype-page-head.trip-subpage-head .eyebrow{
  margin:0 0 6px!important;
  color:rgba(20,24,26,.60)!important;
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
}
.page-head.trips-unified-head h1,
.page-head.trip-overview-head h1,
.page-head.trip-subpage-head h1,
.prototype-page-head.trip-overview-head h1,
.prototype-page-head.trip-subpage-head h1,
.trips-unified-head.trip-subpage-head h1{
  margin:0 0 7px!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:clamp(30px,3vw,34px)!important;
  line-height:1.04!important;
  font-weight:850!important;
  letter-spacing:-.045em!important;
}
.page-head.trips-unified-head .muted,
.page-head.trip-overview-head .muted,
.page-head.trip-subpage-head .muted,
.prototype-page-head.trip-overview-head .muted,
.prototype-page-head.trip-subpage-head .muted{
  margin:0!important;
  color:rgba(20,24,26,.66)!important;
  font-family:var(--font-ui)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.trip-subpage-head .actions-inline,
.trip-overview-head .actions-inline,
.trips-unified-head .actions-inline,
.trip-top-actions{
  align-self:flex-end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

/* Verbindliche Button-Logik */
button,.button,.btn,
.trip-subpage-head .button,
.trip-overview-head .button,
.trip-top-actions .button,
.trip-card-actions .button{
  min-height:var(--ui-button-h)!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 16px!important;
  border-radius:var(--ui-button-radius)!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important;
}
button:hover,.button:hover,.btn:hover{
  text-decoration:none!important;
}
.button .ci-icon,
button .ci-icon,
.btn .ci-icon{
  width:16px!important;
  height:16px!important;
  margin:0!important;
  flex:0 0 16px!important;
}
.button.open-action,
button.open-action,
.button.save-action,
button.save-action{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}
.button.open-action:hover,
button.open-action:hover,
.button.save-action:hover,
button.save-action:hover{
  background:var(--sage-dark)!important;
  border-color:var(--sage-dark)!important;
  color:var(--white)!important;
}
.button.secondary,
button.secondary,
.btn-secondary{
  background:rgba(255,255,255,.76)!important;
  border-color:rgba(203,187,167,.72)!important;
  color:var(--ink)!important;
}
.button.secondary:hover,
button.secondary:hover,
.btn-secondary:hover{
  background:var(--white)!important;
  border-color:rgba(20,24,26,.20)!important;
  color:var(--ink)!important;
}
.button.final,
button.final,
.btn-final,
.button.edit-action,
button.edit-action,
.button.print-action,
button.print-action,
.button.new-action,
button.new-action{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
  color:var(--fog)!important;
}
.button.final:hover,
button.final:hover,
.btn-final:hover,
.button.edit-action:hover,
button.edit-action:hover,
.button.print-action:hover,
button.print-action:hover,
.button.new-action:hover,
button.new-action:hover{
  background:var(--navy-light)!important;
  border-color:var(--navy-light)!important;
  color:var(--fog)!important;
}
button.danger,.button.danger,
.trip-more-panel button.danger{
  background:#B84C4C!important;
  border-color:#B84C4C!important;
  color:var(--white)!important;
}
button.small,.button.small{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
}

/* Meine-Törns-Board: Buttonstruktur wie besprochen, aber im Möwokan-CI */
.design-trip-list,
.dashboard-trip-list{
  gap:16px!important;
}
.design-trip-card,
.planning-trip-card{
  padding:18px!important;
  border-radius:var(--ui-card-radius)!important;
  border-color:rgba(20,24,26,.10)!important;
  box-shadow:0 14px 34px rgba(20,24,26,.055)!important;
  gap:14px!important;
  background:var(--white)!important;
}
.trip-card-top{
  margin:0!important;
  align-items:center!important;
}
.design-trip-card h3,
.planning-trip-card h3{
  margin:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
}
.trip-meta{
  margin:0!important;
  color:rgba(20,24,26,.62)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  line-height:1.4!important;
  font-weight:750!important;
}
.trip-planning-status--compact{
  padding:13px 14px!important;
  border-radius:16px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  background:rgba(43,50,68,.035)!important;
  gap:9px!important;
}
.trip-progress-head strong{
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:850!important;
}
.trip-progress-head .mono,
.trip-progress-head span{
  color:var(--sage-dark)!important;
  font-size:12px!important;
  font-weight:900!important;
}
.trip-progress-bar{
  height:8px!important;
  border-radius:999px!important;
  background:rgba(43,50,68,.12)!important;
}
.trip-progress-bar span{
  background:var(--navy)!important;
  border-radius:inherit!important;
}
.trip-status-list{
  gap:7px 10px!important;
}
.trip-status-list li{
  min-height:26px!important;
  font-family:var(--font-ui)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:750!important;
}
.trip-status-icon{
  width:18px!important;
  height:18px!important;
  font-size:10px!important;
}
.trip-card-actions--split{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:0!important;
  padding-top:16px!important;
  border-top:1px solid rgba(20,24,26,.10)!important;
}
.trip-card-actions__left{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
}
.trip-card-actions--split > .edit-action,
.trip-card-actions--split > .button:last-child{
  margin-left:auto!important;
}

/* Status- und Dashboardfelder: kompakt, gleichmäßig, nicht weiter aufblähend */
.prototype-dashboard-grid,
.crew-stats,
.water-metric-grid,
.dashboard-metrics{
  gap:12px!important;
}
.prototype-dashboard-grid .summary-box,
.crew-stats .summary-box,
.dashboard-metrics .summary-box,
.summary-box.prototype-stat{
  min-height:82px!important;
  padding:13px 14px!important;
  border-radius:16px!important;
  box-shadow:0 10px 26px rgba(20,24,26,.045)!important;
}
.prototype-dashboard-grid .summary-box b,
.crew-stats .summary-box b,
.dashboard-metrics .summary-box b,
.summary-box.prototype-stat b{
  font-size:22px!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.water-metric-grid{
  padding:18px!important;
}
.water-metric-card{
  min-height:108px!important;
  padding:15px 16px!important;
  border-radius:16px!important;
  gap:8px!important;
}
.water-metric-label{
  font-family:var(--font-mono)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.water-metric-card strong{
  font-size:clamp(25px,2.7vw,34px)!important;
  line-height:1!important;
}
.water-metric-card small{
  font-size:12px!important;
  line-height:1.35!important;
}
.drinks-card-head{
  padding:17px 18px!important;
  gap:13px!important;
}
.drinks-card-icon{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
}
.drinks-card-head h2{
  font-size:22px!important;
  line-height:1.1!important;
}
.drinks-card-head .muted{
  margin-top:3px!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.trip-planning-strip,
.trip-subpage-progress{
  padding:15px 18px!important;
  border-radius:18px!important;
  min-height:0!important;
  margin:0 0 16px!important;
  box-shadow:0 10px 26px rgba(20,24,26,.045)!important;
}
.trip-planning-strip__top{
  gap:12px!important;
}
.trip-planning-strip__label{
  font-size:11px!important;
  line-height:1.25!important;
}
.trip-planning-strip strong{
  font-size:18px!important;
  line-height:1.1!important;
}
.trip-status-module-grid{
  gap:14px!important;
}
.trip-status-module{
  min-height:174px!important;
  padding:16px!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:14px!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(20,24,26,.05)!important;
}
.trip-status-module__icon{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
}
.trip-status-module__icon .ci-icon{
  width:21px!important;
  height:21px!important;
}
.trip-status-module__top h3{
  font-size:16px!important;
  font-weight:850!important;
}
.trip-status-module__top span{
  min-height:24px!important;
  padding:3px 9px!important;
  font-size:11px!important;
}
.trip-status-module strong{
  font-size:24px!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
.trip-status-module p{
  font-size:13px!important;
  line-height:1.4!important;
}
.trip-status-module > .button{
  grid-column:1/-1!important;
  align-self:end!important;
}

@media(max-width:900px){
  .page-head.trips-unified-head,
  .page-head.trip-overview-head,
  .page-head.trip-subpage-head{
    align-items:flex-start!important;
  }
  .trip-subpage-head .actions-inline,
  .trip-overview-head .actions-inline,
  .trips-unified-head .actions-inline,
  .trip-top-actions{
    justify-content:flex-start!important;
  }
  .trip-card-actions--split{
    align-items:stretch!important;
  }
  .trip-card-actions__left,
  .trip-card-actions--split > .button{
    width:100%!important;
  }
  .trip-card-actions__left .button{
    flex:1 1 160px!important;
  }
  .trip-card-actions--split > .edit-action,
  .trip-card-actions--split > .button:last-child{
    margin-left:0!important;
  }
}
@media(max-width:760px){
  .page-head.trips-unified-head h1,
  .page-head.trip-overview-head h1,
  .page-head.trip-subpage-head h1{
    font-size:30px!important;
  }
  .water-metric-grid{
    grid-template-columns:1fr!important;
  }
  .trip-status-module-grid{
    grid-template-columns:1fr!important;
  }
}

/* v7.0.7 — Ausnahmen für reine Icon-/Hilfsbuttons */
button.modal-close,
.modal-close{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--white)!important;
  border:1px solid var(--line)!important;
  color:rgba(20,24,26,.62)!important;
  font-size:24px!important;
  line-height:1!important;
}
button.modal-close:hover,
.modal-close:hover{
  background:var(--fog)!important;
  color:var(--navy)!important;
}
button.row-icon,
.row-icon,
button.info-dot,
.info-dot{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-grid!important;
  place-items:center!important;
  background:var(--white)!important;
  border:1px solid var(--line)!important;
  color:var(--sage-dark)!important;
}
button.row-icon:hover,
.row-icon:hover,
button.info-dot:hover,
.info-dot:hover{
  background:rgba(190,223,200,.18)!important;
  border-color:rgba(124,156,137,.34)!important;
  color:var(--sage-dark)!important;
}
button.hint-link,
.hint-link{
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sage-dark)!important;
  font:inherit!important;
}

/* =========================
   v7.0.9 — gebündelte CI/UX-Korrekturen nach v7.0.7
========================= */
:root{
  --moe-progress-fill: var(--sage);
  --moe-progress-track: rgba(124,156,137,.18);
}

/* Fortschritt: frei, breit und sichtbar grün */
.trip-planning-strip--free,
.trip-subpage-progress.trip-planning-strip--free{
  padding:0!important;
  margin:0 0 18px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.trip-planning-strip--free .trip-planning-strip__top{
  display:grid!important;
  gap:7px!important;
}
.trip-planning-strip--free .trip-planning-strip__progress,
.trip-subpage-progress .trip-planning-strip__progress{
  width:100%!important;
}
.trip-progress-bar,
.trip-progress-bar--compact{
  background:var(--moe-progress-track)!important;
}
.trip-progress-bar span,
.trip-progress-bar--compact span,
.trip-planning-strip__progress--hero .trip-progress-bar--compact span{
  background:linear-gradient(90deg,var(--sage),var(--mint))!important;
}

/* Meine Törns: alle vier Kartenaktionen nebeneinander */
.trip-card-actions--row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:0!important;
  padding-top:14px!important;
  border-top:1px solid rgba(20,24,26,.10)!important;
}
.trip-card-actions--row .button{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
}
.past-trip-list .design-trip-card{
  position:relative!important;
  opacity:1!important;
  background:linear-gradient(0deg,rgba(203,187,167,.22),rgba(203,187,167,.22)),var(--white)!important;
}
.past-trip-list .design-trip-card::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:rgba(203,187,167,.16);
}
.past-trip-list .design-trip-card > *{position:relative;z-index:1;}
@media(max-width:900px){
  .trip-card-actions--row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .trip-card-actions--row{grid-template-columns:1fr!important;}
}

/* Planungsstand-Zahlen: Zahl betonen, Wörter normal halten */
.trip-status-module strong{
  font-family:var(--font-ui)!important;
  font-weight:850!important;
}
.trip-status-module strong .status-number{
  font-family:var(--font-mono)!important;
  letter-spacing:-.04em!important;
}
.trip-status-module strong .status-label{
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
}

/* Crew und Kontakte: vollbreite Panels, aktuelle Listen zuerst */
.crew-stats{display:none!important;}
.crew-stack-layout,
.crew-layout,
.contact-layout{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
}
.crew-layout > article:nth-child(2){order:1;}
.crew-layout > article:nth-child(1){order:2;}
.contact-layout > article:nth-child(2){order:1;}
.contact-layout > article:nth-child(1){order:2;}
.crew-layout > article,
.contact-layout > article,
.trip-edit-crew-card{
  width:100%!important;
}
.crew-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:4px 11px;
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
  background:rgba(203,187,167,.36);
  color:var(--ink);
}
.crew-count-pill.is-complete{
  background:rgba(190,223,200,.70);
  color:var(--sage-dark);
}
.crew-count-pill.is-open{
  background:rgba(203,187,167,.42);
  color:var(--ink);
}
.crew-member-list--compact{display:grid;gap:10px;}

/* Essensplan: Kopieren zentralisieren und Nicht-kochen ruhiger darstellen */
.meal-plan-page .meal-extra-food > summary,
.meal-plan-page .meal-extra-food summary{
  color:var(--sage-dark)!important;
  font-weight:850!important;
}
.meal-plan-page .meal-extra-food button[type="submit"]{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook{
  background:var(--white)!important;
  border-color:rgba(124,156,137,.26)!important;
  box-shadow:none!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .meal-select-card{
  background:rgba(190,223,200,.18)!important;
  border-color:rgba(124,156,137,.24)!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook .meal-name{
  color:var(--sage-dark)!important;
}

/* Getränke: Dialogfelder sauber ausrichten */
.drink-edit-dialog-grid input[type="number"]{min-width:0;}
.drink-calculation-note{
  align-items:center!important;
  min-height:44px!important;
}

/* Bordbedarf: Wasser-Dashboard-Logik übernehmen */
.board-supply-basis-card--water-style{
  display:grid!important;
  gap:16px!important;
}
.board-supply-dashboard-head{
  padding-bottom:0!important;
}
.board-supply-metric-grid{
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.board-supply-basis-form--inline{
  display:flex!important;
  align-items:end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  padding-top:14px!important;
  border-top:1px solid rgba(20,24,26,.10)!important;
}
.board-supply-basis-form--inline label{
  max-width:190px!important;
  margin:0!important;
}
.board-supply-table-head{display:none!important;}

/* Einkaufsliste: Panels und Köpfe an Listenbox angleichen */
.shopping-panel-unified{
  border-radius:var(--ui-card-radius)!important;
  border:1px solid rgba(20,24,26,.10)!important;
  box-shadow:0 12px 28px rgba(20,24,26,.045)!important;
}
.shopping-panel-unified > .section-title-row,
.shopping-panel-unified .shopping-list-box-head,
.shopping-actionbar{
  align-items:flex-start!important;
  gap:16px!important;
}
.shopping-panel-unified h2,
.shopping-actionbar h2,
.shopping-list-box-head h2{
  margin:0 0 4px!important;
  font-size:22px!important;
  line-height:1.15!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
  color:var(--navy)!important;
}
.shopping-panel-unified .muted,
.shopping-actionbar .muted,
.shopping-list-box-head .muted{
  font-size:13px!important;
  line-height:1.45!important;
}

/* =========================
   v7.0.10 — Layout-/Typografie-Konsolidierung
   Basis: v7.0.9, korrigiert Törnliste, Törnübersicht, Fortschritt, Bordbedarf
========================= */
:root{
  --type-page-h1:clamp(28px,3vw,32px);
  --type-section-h2:22px;
  --type-card-h3:16px;
  --type-body:14px;
  --type-meta:12.5px;
  --type-eyebrow:10.5px;
  --type-number:clamp(24px,2.4vw,30px);
}

body{font-family:var(--font-ui)!important;}
.page-head.trips-unified-head h1,
.page-head.trip-overview-head h1,
.page-head.trip-subpage-head h1{
  font-size:var(--type-page-h1)!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
}
.trip-section-heading h2,
.section-title-row h2,
.shopping-list-box-head h2,
.drinks-card-head h2,
.trip-page-intro-card h2{
  font-size:var(--type-section-h2)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
}
.eyebrow,
.trip-planning-strip__label,
.water-metric-label,
.copy-day-kicker{
  font-size:var(--type-eyebrow)!important;
  letter-spacing:.11em!important;
  line-height:1.2!important;
}
.muted,
.tiny,
.trip-meta,
.trip-progress-detail,
.trip-card-progress__hint{
  font-size:var(--type-meta)!important;
  line-height:1.45!important;
}
.card p,
.prototype-card p,
.helper-text,
.shopping-panel-unified .muted{font-size:var(--type-body);}

/* Törnübersicht: Planungsstand zuerst, keine redundante Nächste-Schritte-Kachel */
.trip-overview-section-heading{
  margin:18px 0 8px!important;
  max-width:980px;
}
.trip-overview-section-heading h2{
  margin:0 0 5px!important;
  color:var(--navy)!important;
}
.trip-overview-section-heading .eyebrow{display:none!important;}
.trip-next-steps{display:none!important;}

/* Fortschrittsblock: Detailseiten und Törnübersicht mit Navy-Hintergrund, volle Breite */
.trip-planning-strip--navy,
.trip-overview-progress,
.trip-subpage-progress.trip-planning-strip--navy{
  width:100%!important;
  padding:18px 20px!important;
  margin:0 0 16px!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--navy),var(--navy-light))!important;
  color:var(--white)!important;
  box-shadow:0 18px 38px rgba(43,50,68,.16)!important;
}
.trip-planning-strip--navy .trip-planning-strip__top{
  display:grid!important;
  gap:8px!important;
  width:100%!important;
}
.trip-planning-strip--navy .trip-planning-strip__progress--hero{
  display:grid!important;
  grid-template-columns:minmax(160px,240px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
}
.trip-planning-strip--navy .trip-planning-strip__label{
  color:var(--mint)!important;
  font-family:var(--font-mono)!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
.trip-planning-strip--navy strong,
.trip-planning-strip--navy strong span{
  color:var(--mint)!important;
  font-family:var(--font-mono)!important;
  font-size:var(--type-number)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.trip-planning-strip--navy .trip-progress-bar,
.trip-planning-strip--navy .trip-progress-bar--compact{
  width:100%!important;
  height:8px!important;
  border-radius:999px!important;
  background:rgba(190,223,200,.16)!important;
  overflow:hidden!important;
}
.trip-planning-strip--navy .trip-progress-bar span,
.trip-planning-strip--navy .trip-progress-bar--compact span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--mint),var(--sage))!important;
}
.trip-planning-strip--navy .trip-progress-detail{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-weight:700!important;
}
.trip-subpage-progress__detail{margin:0!important;}

/* Kurzerklärung je Reiter */
.trip-page-intro-card{
  padding:14px 16px!important;
  margin:0 0 16px!important;
  border-radius:16px!important;
  background:rgba(190,223,200,.14)!important;
  border:1px solid rgba(124,156,137,.18)!important;
  box-shadow:none!important;
}
.trip-page-intro-card .eyebrow{margin:0 0 5px!important;color:var(--sage-dark)!important;}
.trip-page-intro-card p:last-child{margin:0!important;color:var(--ink)!important;max-width:920px;}

/* Meine Törns: altes ruhigeres Kartenmuster, keine Navy-Fortschrittskarte */
.design-trip-card{
  gap:10px!important;
  padding:16px!important;
}
.design-trip-card h3{
  font-size:20px!important;
  line-height:1.15!important;
  margin:0!important;
}
.design-trip-card .trip-meta{margin:0!important;}
.trip-card-progress{
  display:grid!important;
  gap:6px!important;
  padding:0!important;
  margin:8px 0 0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.trip-card-progress .trip-progress-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
}
.trip-card-progress .trip-progress-head strong{
  font-family:var(--font-mono)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:var(--navy)!important;
}
.trip-card-progress .trip-progress-head span{
  font-family:var(--font-mono)!important;
  font-size:12px!important;
  font-weight:800!important;
  color:var(--sage-dark)!important;
}
.trip-card-progress .trip-progress-bar{
  height:7px!important;
  border-radius:999px!important;
  background:rgba(124,156,137,.16)!important;
  overflow:hidden!important;
}
.trip-card-progress .trip-progress-bar span{
  height:100%!important;
  display:block!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--sage),var(--mint))!important;
}
.trip-card-progress__hint{margin:0!important;color:var(--muted)!important;font-weight:650!important;}
.trip-card-actions--row{
  grid-template-columns:1.05fr 1fr 1fr 1fr!important;
  padding-top:12px!important;
  gap:8px!important;
}
.trip-card-actions--row .button{
  min-height:40px!important;
  height:40px!important;
  font-size:13px!important;
  border-radius:12px!important;
}
.past-trip-list .design-trip-card{
  background:linear-gradient(0deg,rgba(203,187,167,.10),rgba(203,187,167,.10)),var(--white)!important;
}
.past-trip-list .design-trip-card::after{
  background:rgba(203,187,167,.05)!important;
}
.past-trip-list .pennant{
  background:var(--sand-dark)!important;
}
.past-trip-list .pennant::after{border-left-color:var(--sand-dark)!important;}

/* Planungsstand-Karten: harmonisch, kompakt, ohne fremde Dashboard-Aufblähung */
.trip-status-module-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.trip-status-module{
  min-height:176px!important;
  padding:15px!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:13px!important;
  border-radius:18px!important;
  align-items:start!important;
}
.trip-status-module__icon{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
}
.trip-status-module__top h3{
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
.trip-status-module__top span{
  font-size:10.5px!important;
  padding:3px 8px!important;
  min-height:22px!important;
}
.trip-status-module strong{
  font-size:20px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}
.trip-status-module strong .status-number{
  font-size:22px!important;
  font-family:var(--font-mono)!important;
}
.trip-status-module strong .status-label{
  font-size:20px!important;
  font-family:var(--font-ui)!important;
}
.trip-status-module p{font-size:12.5px!important;line-height:1.35!important;}
.trip-status-module > .button{
  min-height:38px!important;
  height:38px!important;
  font-size:12.5px!important;
  border-radius:12px!important;
}

/* Bordbedarf: kompakte Berechnungsbasis nach Wasserlogik, nicht als großes Sonderdashboard */
.board-supply-basis-card--water-style{
  padding:0!important;
  gap:0!important;
  overflow:hidden!important;
}
.board-supply-basis-card--water-style .drinks-card-head{
  padding:16px 18px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  align-items:center!important;
}
.board-supply-basis-card--water-style .drinks-card-icon{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  font-size:20px!important;
}
.board-supply-basis-card--water-style h2{
  font-size:22px!important;
  margin:0!important;
}
.board-supply-basis-facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  padding:14px 18px!important;
  background:rgba(247,245,241,.62)!important;
}
.board-supply-basis-facts span{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  border-radius:14px!important;
  background:var(--white)!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:750!important;
}
.board-supply-basis-facts strong{
  font-family:var(--font-mono)!important;
  font-size:22px!important;
  line-height:1!important;
  color:var(--navy)!important;
}
.board-supply-basis-form--inline{
  padding:14px 18px!important;
  border-top:1px solid rgba(20,24,26,.08)!important;
  background:var(--white)!important;
}
.board-supply-basis-form--inline label{
  max-width:180px!important;
}
.board-supply-basis-form--inline input{
  height:42px!important;
}
.board-supply-basis-form--inline .button,
.board-supply-basis-form--inline button{
  min-height:42px!important;
  height:42px!important;
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}

@media(max-width:900px){
  .trip-planning-strip--navy .trip-planning-strip__progress--hero{grid-template-columns:1fr!important;gap:10px!important;}
  .trip-status-module-grid{grid-template-columns:1fr 1fr!important;}
  .board-supply-basis-facts{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:620px){
  .trip-status-module-grid{grid-template-columns:1fr!important;}
  .board-supply-basis-facts{grid-template-columns:1fr!important;}
  .trip-card-actions--row{grid-template-columns:1fr!important;}
}

/* =========================
   v7.0.11 — tatsächliche Umsetzung des freigegebenen Mockups
   Wichtig: Diese Regeln stehen absichtlich am Dateiende, damit ältere
   v7.0.x-Overrides die freigegebene Struktur nicht wieder überschreiben.
========================= */
:root{
  --type-page-h1:clamp(28px,3vw,32px);
  --type-section-h2:22px;
  --type-card-h3:16px;
  --type-body:14px;
  --type-meta:12.5px;
  --type-eyebrow:10.5px;
  --type-number:clamp(24px,2.4vw,30px);
}

/* verbindliche Text-Hierarchie */
.page-head.trips-unified-head h1,
.page-head.trip-overview-head h1,
.page-head.trip-subpage-head h1,
.prototype-page-head h1{
  font-size:var(--type-page-h1)!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  color:var(--navy)!important;
}
.page-head .eyebrow,
.prototype-page-head .eyebrow,
.eyebrow{
  font-size:var(--type-eyebrow)!important;
  letter-spacing:.11em!important;
  line-height:1.2!important;
  font-family:var(--font-mono)!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
.page-head .muted,
.prototype-page-head .muted,
.trip-meta,
.tiny,
.muted{
  font-size:var(--type-meta)!important;
  line-height:1.45!important;
}

/* freigegebener Navy-Fortschrittsbereich: Detailseiten + Törnübersicht */
.progress-section,
.trip-overview-progress.progress-section,
.trip-subpage-progress.progress-section{
  display:block!important;
  width:100%!important;
  margin:16px 0 16px!important;
  padding:18px 20px!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--navy),var(--navy-light))!important;
  color:var(--white)!important;
  box-shadow:0 18px 38px rgba(43,50,68,.16)!important;
}
.progress-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 10px!important;
}
.progress-head h2{
  margin:0!important;
  color:var(--white)!important;
  font-size:18px!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
}
.progress-percent{
  font-family:var(--font-mono)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:850!important;
  color:var(--mint)!important;
  white-space:nowrap!important;
}
.progress-track{
  width:100%!important;
  height:9px!important;
  background:rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.progress-fill{
  display:block!important;
  height:100%!important;
  background:linear-gradient(90deg,var(--mint),var(--sage))!important;
  border-radius:999px!important;
}
.progress-details{
  margin:9px 0 0!important;
  color:rgba(255,255,255,.76)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:700!important;
  font-family:var(--font-ui)!important;
}
.progress-details strong{color:var(--white)!important;font-weight:850!important;}

/* alte Fortschritts-Container auf Detailseiten abschalten, falls Templates gemischt sind */
.trip-planning-strip.trip-overview-progress:not(.progress-section),
.trip-planning-strip.trip-subpage-progress:not(.progress-section){
  width:100%!important;
  margin:16px 0!important;
}

/* Törnliste bleibt im alten hellen Muster — kein Navy-Block in Karten */
.design-trip-card.planning-trip-card,
.trip-card.design-trip-card{
  padding:16px!important;
  gap:10px!important;
  background:var(--white)!important;
  border:1px solid rgba(20,24,26,.10)!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(43,50,68,.07)!important;
}
.design-trip-card h3{
  margin:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
.trip-card-progress{
  display:grid!important;
  gap:6px!important;
  margin:10px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.trip-card-progress .trip-progress-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
}
.trip-card-progress .trip-progress-head strong{
  color:var(--navy)!important;
  font-family:var(--font-mono)!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  font-weight:850!important;
}
.trip-card-progress .trip-progress-head span{
  color:var(--sage-dark)!important;
  font-family:var(--font-mono)!important;
  font-size:12px!important;
  font-weight:850!important;
}
.trip-card-progress .trip-progress-bar{
  width:100%!important;
  height:7px!important;
  border-radius:999px!important;
  background:rgba(124,156,137,.16)!important;
  overflow:hidden!important;
}
.trip-card-progress .trip-progress-bar span{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--sage),var(--mint))!important;
}
.trip-card-progress__hint{
  margin:0!important;
  color:rgba(20,24,26,.62)!important;
  font:650 12.5px/1.45 var(--font-ui)!important;
}
.trip-card-actions.trip-card-actions--row{
  display:grid!important;
  grid-template-columns:1.05fr 1fr 1fr 1fr!important;
  gap:8px!important;
  padding-top:12px!important;
  margin-top:0!important;
  border-top:1px solid rgba(20,24,26,.08)!important;
}
.trip-card-actions.trip-card-actions--row .button{
  width:100%!important;
  min-height:40px!important;
  height:40px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.past-trip-list .design-trip-card{
  background:linear-gradient(0deg,rgba(203,187,167,.07),rgba(203,187,167,.07)),var(--white)!important;
  opacity:1!important;
  filter:none!important;
}
.past-trip-list .design-trip-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:rgba(203,187,167,.035)!important;
  pointer-events:none!important;
}

/* Planungsstand-Karten: wieder kompakt und harmonisch */
.trip-status-module-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:14px 0 20px!important;
}
.trip-status-module{
  min-height:148px!important;
  padding:16px!important;
  border-radius:18px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:12px!important;
  align-items:start!important;
  background:var(--white)!important;
  border:1px solid rgba(20,24,26,.10)!important;
  box-shadow:0 14px 34px rgba(43,50,68,.07)!important;
}
.trip-status-module__icon{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  background:rgba(190,223,200,.32)!important;
  color:var(--sage-dark)!important;
  display:grid!important;
  place-items:center!important;
}
.trip-status-module__body{min-width:0!important;display:grid!important;gap:8px!important;}
.trip-status-module__top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;}
.trip-status-module__top h3{
  margin:0!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-family:var(--font-ui)!important;
  font-weight:850!important;
  color:var(--navy)!important;
  letter-spacing:-.025em!important;
}
.trip-status-module__top span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  font-family:var(--font-mono)!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1!important;
  background:rgba(190,223,200,.55)!important;
  color:var(--sage-dark)!important;
  white-space:nowrap!important;
}
.trip-status-module strong{
  display:block!important;
  margin:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:20px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
}
.trip-status-module strong .status-number{
  font-family:var(--font-mono)!important;
  font-size:22px!important;
  letter-spacing:-.055em!important;
}
.trip-status-module strong .status-label{
  font-family:var(--font-ui)!important;
  font-size:18px!important;
  font-weight:800!important;
}
.trip-status-module p{
  margin:0!important;
  color:rgba(20,24,26,.62)!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.trip-status-module > .button{
  grid-column:1 / -1!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
  margin-top:2px!important;
  font-size:12.5px!important;
  font-weight:850!important;
}

/* Bordbedarf: an Wasserberechnung angelehnt, nicht als Fremd-Dashboard */
.board-supply-basis-card--water-style{
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
.board-supply-basis-card--water-style .drinks-card-head{
  padding:16px 18px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  align-items:center!important;
}
.board-supply-basis-card--water-style .drinks-card-icon{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  font-size:20px!important;
}
.board-supply-basis-card--water-style h2{
  margin:0!important;
  font-size:22px!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}
.board-supply-basis-facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  padding:14px 18px!important;
  background:rgba(247,245,241,.62)!important;
}
.board-supply-basis-facts span{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  border-radius:14px!important;
  background:var(--white)!important;
  color:var(--ink)!important;
  font:750 13px/1.25 var(--font-ui)!important;
}
.board-supply-basis-facts strong{
  color:var(--navy)!important;
  font-family:var(--font-mono)!important;
  font-size:22px!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
.board-supply-basis-form--inline{
  display:flex!important;
  align-items:end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  padding:14px 18px!important;
  border-top:1px solid rgba(20,24,26,.08)!important;
  background:var(--white)!important;
}
.board-supply-basis-form--inline label{max-width:180px!important;margin:0!important;}
.board-supply-basis-form--inline input{height:42px!important;}
.board-supply-basis-form--inline .button,
.board-supply-basis-form--inline button{
  height:42px!important;
  min-height:42px!important;
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}
.board-supply-table-head{display:none!important;}

@media(max-width:900px){
  .trip-status-module-grid{grid-template-columns:1fr 1fr!important;}
  .board-supply-basis-facts{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:620px){
  .trip-card-actions.trip-card-actions--row{grid-template-columns:1fr!important;}
  .trip-status-module-grid{grid-template-columns:1fr!important;}
  .board-supply-basis-facts{grid-template-columns:1fr!important;}
}

/* =========================
   v7.0.12 — Detailkorrekturen nach UI-Abgleich
   Ziel: Fortschritt, Kurzerklärung, Bordbedarf und aktuelle Crew näher am freigegebenen Layout.
========================= */

/* Fortschrittsbalken: Titel ruhiger, Prozentwert sichtbarer */
.progress-head{
  align-items:center!important;
  margin-bottom:11px!important;
}
.progress-head h2{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
}
.progress-percent{
  font-size:24px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}
.progress-details{
  font-weight:650!important;
}

/* Kurzerklärung: keine künstlich großen Wortabstände */
.trip-page-intro-card .eyebrow{
  letter-spacing:.055em!important;
  word-spacing:0!important;
  font-size:10px!important;
}
.trip-page-intro-card{
  padding:13px 15px!important;
}
.trip-page-intro-card p:last-child{
  font-size:14px!important;
  line-height:1.45!important;
}

/* Bordbedarf: Berechnungsbasis als kompaktes Wasser-ähnliches Panel statt Fremd-Dashboard */
.board-supply-basis-card--water-style{
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:var(--white)!important;
  border:1px solid rgba(20,24,26,.10)!important;
  box-shadow:0 14px 34px rgba(43,50,68,.07)!important;
}
.board-supply-basis-card--water-style .drinks-card-head{
  padding:16px 18px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
.board-supply-basis-card--water-style .drinks-card-icon{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  flex:0 0 36px!important;
  background:rgba(190,223,200,.42)!important;
  color:var(--sage-dark)!important;
}
.board-supply-basis-card--water-style .drinks-card-head h2{
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
.board-supply-basis-card--water-style .drinks-card-head .muted{
  margin-top:3px!important;
  max-width:760px!important;
}
.board-supply-basis-list{
  margin:0!important;
  padding:4px 18px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
}
.board-supply-basis-list .water-detail-row{
  min-height:44px!important;
  padding:10px 0!important;
}
.board-supply-basis-list .water-detail-row span{
  font-size:14px!important;
  font-weight:750!important;
}
.board-supply-basis-list .water-detail-row em{
  font-size:12.5px!important;
  font-weight:600!important;
}
.board-supply-basis-list .water-detail-row strong{
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.board-supply-basis-form--inline{
  padding:14px 18px!important;
  gap:12px!important;
  align-items:end!important;
}
.board-supply-basis-form--inline label{
  max-width:210px!important;
  min-width:170px!important;
}
.board-supply-basis-form--inline input{
  height:42px!important;
  max-width:120px!important;
}
.board-supply-basis-form--inline .button,
.board-supply-basis-form--inline button{
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
  font-size:13px!important;
  font-weight:850!important;
}

/* Crew: aktuelles Crew-Panel ruhiger und als saubere Vollbreiten-Liste */
.crew-stack-layout,
.crew-layout{
  gap:16px!important;
}
.crew-stack-layout > article.card,
.crew-layout > article.card{
  padding:18px!important;
  border-radius:18px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  box-shadow:0 14px 34px rgba(43,50,68,.07)!important;
}
.crew-layout > article.card .section-title-row{
  align-items:center!important;
  margin:0 0 14px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
}
.crew-layout > article.card .section-title-row h2{
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
}
.crew-layout > article.card .section-title-row .muted{
  margin-top:4px!important;
}
.crew-count-pill{
  min-height:30px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:850!important;
}
.crew-member-list{
  gap:10px!important;
}
.crew-member-card{
  border-radius:16px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  box-shadow:none!important;
  background:var(--white)!important;
}
.crew-member-card summary{
  min-height:68px!important;
  padding:13px 14px!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) auto 20px!important;
  align-items:center!important;
  gap:12px!important;
  background:linear-gradient(180deg,var(--white),rgba(247,245,241,.45))!important;
}
.crew-member-card summary::after{
  content:'⌄'!important;
  margin:0!important;
  justify-self:end!important;
  color:rgba(20,24,26,.48)!important;
  font-size:14px!important;
}
.crew-member-card[open] summary{
  border-bottom:1px solid rgba(20,24,26,.08)!important;
}
.crew-member-card[open] summary::after{
  transform:rotate(180deg)!important;
}
.crew-member-card .contact-avatar{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  font-size:13px!important;
}
.crew-summary-text{
  gap:2px!important;
}
.crew-summary-text strong{
  font-size:15px!important;
  line-height:1.2!important;
  color:var(--navy)!important;
}
.crew-summary-text small{
  font-size:12.5px!important;
  line-height:1.35!important;
  color:rgba(20,24,26,.62)!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.crew-member-card .pill{
  margin:0!important;
  justify-self:end!important;
  font-size:10.5px!important;
  min-height:24px!important;
  padding:4px 9px!important;
}
.crew-edit-form,
.invite-panel,
.visible-danger-form{
  padding-left:14px!important;
  padding-right:14px!important;
}
.invite-panel{
  border-top:1px solid rgba(20,24,26,.08)!important;
  background:rgba(247,245,241,.42)!important;
}
.visible-danger-form{
  padding-bottom:14px!important;
}

@media(max-width:720px){
  .progress-head{align-items:flex-start!important;}
  .progress-percent{font-size:22px!important;}
  .crew-member-card summary{grid-template-columns:38px minmax(0,1fr)!important;}
  .crew-member-card .pill{grid-column:2!important;justify-self:start!important;}
  .crew-member-card summary::after{grid-column:1 / -1!important;justify-self:start!important;}
}

/* =========================
   v7.0.13 — Getränke-Einheiten und Panel-Konsistenz
   Ziel: Einheiten zuverlässig anzeigen/übernehmen und Bordbedarf/Info-Frames an Wasserberechnung angleichen.
========================= */

/* Kurzerklärung: als kompaktes, wiederverwendbares Info-Panel */
.trip-page-intro-card.trip-page-intro-card--compact{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:14px 16px!important;
  border:1px solid rgba(20,24,26,.10)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg, rgba(247,245,241,.95), rgba(190,223,200,.13))!important;
  box-shadow:0 10px 26px rgba(43,50,68,.05)!important;
}
.trip-page-intro-card__icon{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(190,223,200,.42)!important;
  color:var(--sage-dark)!important;
}
.trip-page-intro-card__icon .ci-icon{
  width:19px!important;
  height:19px!important;
}
.trip-page-intro-card__copy h2{
  margin:0 0 3px!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.trip-page-intro-card__copy p{
  margin:0!important;
  color:rgba(43,50,68,.78)!important;
  font-size:13px!important;
  line-height:1.45!important;
  max-width:980px!important;
}

/* Bordbedarf-Berechnung: gleiche Panel-Ruhe wie Wasser, ohne großes Fremd-Dashboard */
.board-supply-basis-card--compact{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(20,24,26,.10)!important;
  border-radius:16px!important;
  background:var(--white)!important;
  box-shadow:0 10px 26px rgba(43,50,68,.05)!important;
}
.board-supply-basis-card--compact .drinks-card-head{
  padding:14px 16px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  background:linear-gradient(135deg, rgba(247,245,241,.95), rgba(190,223,200,.10))!important;
  gap:12px!important;
}
.board-supply-basis-card--compact .drinks-card-icon{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:12px!important;
  background:rgba(190,223,200,.42)!important;
  color:var(--sage-dark)!important;
}
.board-supply-basis-card--compact .drinks-card-icon .ci-icon{
  width:19px!important;
  height:19px!important;
}
.board-supply-basis-card--compact .eyebrow{
  margin:0 0 4px!important;
  font-size:10px!important;
  letter-spacing:.055em!important;
  word-spacing:0!important;
}
.board-supply-basis-card--compact .drinks-card-head h2{
  margin:0!important;
  font-size:18px!important;
  line-height:1.22!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}
.board-supply-basis-card--compact .drinks-card-head .muted{
  margin-top:3px!important;
  font-size:13px!important;
  line-height:1.42!important;
  max-width:920px!important;
}
.board-supply-basis-card--compact .board-supply-basis-list{
  padding:0 16px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
}
.board-supply-basis-card--compact .water-detail-row{
  min-height:42px!important;
  padding:10px 0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
}
.board-supply-basis-card--compact .water-detail-row span{
  font-size:13.5px!important;
  line-height:1.25!important;
  font-weight:750!important;
  color:var(--navy)!important;
}
.board-supply-basis-card--compact .water-detail-row em{
  display:block!important;
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-style:normal!important;
  color:rgba(43,50,68,.62)!important;
  font-weight:600!important;
}
.board-supply-basis-card--compact .water-detail-row strong{
  font-family:var(--font-ui)!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:var(--ink)!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.board-supply-basis-card--compact .board-supply-basis-form--inline{
  padding:12px 16px!important;
  display:flex!important;
  align-items:end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  background:var(--white)!important;
}
.board-supply-basis-card--compact .board-supply-basis-form--inline label{
  max-width:170px!important;
  min-width:150px!important;
  margin:0!important;
  font-size:12.5px!important;
  font-weight:750!important;
}
.board-supply-basis-card--compact .board-supply-basis-form--inline input{
  height:40px!important;
  max-width:110px!important;
  margin-top:6px!important;
}
.board-supply-basis-card--compact .board-supply-basis-form--inline .button,
.board-supply-basis-card--compact .board-supply-basis-form--inline button{
  height:40px!important;
  min-height:40px!important;
  border-radius:12px!important;
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
  font-size:12.5px!important;
  font-weight:850!important;
  padding:0 16px!important;
}

/* Getränke: Einheiten im Listenmuster stabil und lesbar */
.drink-list-row .shopping-line-unit,
.drink-list-row .shopping-line-amount strong{
  font-family:var(--font-mono)!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums!important;
  color:var(--navy)!important;
}
.drink-list-row .shopping-line-unit{
  min-width:92px!important;
  text-align:left!important;
}

@media(max-width:720px){
  .trip-page-intro-card.trip-page-intro-card--compact{
    gap:10px!important;
    padding:12px!important;
  }
  .board-supply-basis-card--compact .water-detail-row{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .board-supply-basis-card--compact .water-detail-row strong{
    white-space:normal!important;
  }
}

/* =========================
   v7.0.14 — Bordbedarf-Berechnung als Modal
   Der Berechnungsbereich steht nicht mehr dauerhaft auf der Seite, sondern öffnet sich wie bei Wasser über einen Button.
========================= */
.board-supply-calc-dialog{
  width:min(640px, calc(100vw - 28px))!important;
}
.board-supply-calc-dialog .modal-head{
  background:linear-gradient(135deg, rgba(247,245,241,.97), rgba(190,223,200,.12))!important;
}
.board-supply-calc-dialog .modal-head h2{
  font-family:var(--font-ui)!important;
  font-size:22px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  color:var(--navy)!important;
}
.board-supply-calc-dialog .modal-intro-text{
  margin:0 0 14px!important;
  max-width:560px!important;
  color:rgba(43,50,68,.74)!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}
.board-supply-calc-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:end!important;
}
.board-supply-calc-grid label{
  margin:0!important;
  font-size:12.5px!important;
  font-weight:800!important;
  color:var(--ink)!important;
}
.board-supply-calc-grid input{
  margin-top:7px!important;
  height:44px!important;
  font-family:var(--font-ui)!important;
  font-weight:750!important;
}
.board-supply-calc-grid .readonly-field input,
.board-supply-calc-grid input:disabled{
  background:rgba(247,245,241,.78)!important;
  color:rgba(43,50,68,.55)!important;
  border-color:rgba(20,24,26,.10)!important;
  cursor:not-allowed!important;
}
.board-supply-calc-form .modal-actions .save-action{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}
.board-supply-page-card .section-title-row .actions-inline{
  align-items:center!important;
}

@media(max-width:760px){
  .board-supply-calc-grid{
    grid-template-columns:1fr!important;
  }
}

/* =========================
   v7.0.15 — Bordbedarf-Mengen, 0,5er Schritte und Icon-Konsistenz
========================= */
.board-supply-list-head{
  padding:14px 16px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  background:linear-gradient(135deg, rgba(247,245,241,.96), rgba(190,223,200,.10))!important;
  gap:12px!important;
}
.board-supply-list-head .drinks-card-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border-radius:13px!important;
  background:rgba(190,223,200,.42)!important;
  color:var(--sage-dark)!important;
}
.board-supply-list-head .drinks-card-icon .ci-icon{
  width:20px!important;
  height:20px!important;
}
.board-supply-list-head h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:var(--navy)!important;
  letter-spacing:-.025em!important;
}
.board-supply-list-actions{
  margin-left:auto!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.board-supply-line-row{
  grid-template-columns:minmax(0,1fr) 96px 120px 42px 42px!important;
}
.board-supply-line-row .row-icon{
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  justify-self:end!important;
}
.board-supply-edit-dialog-grid input[name="amount"]{
  font-family:var(--font-mono)!important;
  font-variant-numeric:tabular-nums!important;
}
.board-supply-standard-item__edit input,
.board-supply-edit-dialog-grid input[name="amount"],
.drink-edit-dialog-grid input[name="amount"]{
  caret-color:var(--sage-dark)!important;
}
@media(max-width:820px){
  .board-supply-list-head{
    align-items:flex-start!important;
  }
  .board-supply-list-actions{
    width:100%!important;
    margin-left:0!important;
    justify-content:flex-start!important;
  }
  .board-supply-line-row{
    grid-template-columns:minmax(0,1fr) auto 40px 40px!important;
  }
  .board-supply-line-amount{
    grid-column:2 / 3!important;
    grid-row:1 / 2!important;
  }
  .board-supply-line-unit{
    grid-column:2 / 3!important;
    grid-row:2 / 3!important;
    text-align:right!important;
  }
  .board-supply-line-row .row-icon:first-of-type{
    grid-column:3 / 4!important;
    grid-row:1 / 3!important;
  }
  .board-supply-line-row .row-icon:last-of-type{
    grid-column:4 / 5!important;
    grid-row:1 / 3!important;
  }
}


/* =========================
   v7.0.16 — Einheitliche Listenköpfe für Arbeitsbereiche
   Betrifft nur die explizit besprochenen Arbeitsbereich-Köpfe:
   Bordbedarf, Einkaufsteams, Einkaufsliste und Essensplan-Tagesliste.
========================= */
.unified-work-panel{
  padding:0!important;
  overflow:visible!important;
}

.unified-work-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:var(--white)!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  border-radius:0!important;
}

.unified-work-head__main{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}

.unified-work-head__icon{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(190,223,200,.34)!important;
  color:var(--sage-dark)!important;
  margin-top:2px!important;
}

.unified-work-head__icon .ci-icon{
  width:22px!important;
  height:22px!important;
  stroke-width:1.8!important;
}

.unified-work-head__copy{
  min-width:0!important;
  display:grid!important;
  gap:4px!important;
}

.unified-work-head__copy h2{
  margin:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:19px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

.unified-work-head__copy p{
  margin:0!important;
  color:rgba(43,50,68,.74)!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500!important;
  max-width:780px!important;
}

.unified-work-head__actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-left:auto!important;
}

.unified-work-head__actions .button,
.unified-work-head__actions button,
.unified-work-head__actions summary.button{
  min-height:42px!important;
  border-radius:14px!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* Vorherige Sonderregeln für Bordbedarf-Kopf neutralisieren,
   damit er exakt demselben Arbeitsbereich-Kopf folgt. */
.board-supply-list-head.unified-work-head,
.shopping-list-box-head.unified-work-head,
.shopping-team-head.unified-work-head,
.meal-plan-days-head.unified-work-head{
  padding:18px 22px!important;
  background:var(--white)!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  box-shadow:none!important;
}

.board-supply-page-card .board-supply-group-list,
.shopping-list-card .notice,
.shopping-list-card .shopping-group,
.shopping-team-overview-card .shopping-team-grid,
.shopping-team-overview-card .shopping-team-empty{
  margin-left:22px;
  margin-right:22px;
}

.board-supply-page-card .board-supply-group-list,
.shopping-team-overview-card .shopping-team-grid,
.shopping-team-overview-card .shopping-team-empty{
  margin-top:16px;
  margin-bottom:22px;
}

.shopping-list-card .notice{
  margin-top:16px;
}

.shopping-list-card .shopping-group:last-child,
.board-supply-page-card .board-supply-group:last-child{
  margin-bottom:22px;
}

/* Teamfilter sitzt als Popup direkt im Einkaufsliste-Kopf. */
.shopping-filter-popover{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.shopping-filter-popover > summary{
  list-style:none;
  cursor:pointer;
}

.shopping-filter-popover > summary::-webkit-details-marker{
  display:none;
}

.shopping-filter-popover__panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(320px, calc(100vw - 48px));
  z-index:30;
  padding:14px;
  border:1px solid rgba(43,50,68,.14);
  border-radius:16px;
  background:var(--white);
  box-shadow:0 18px 42px rgba(43,50,68,.14);
}

.shopping-filter-popover__panel .shopping-filter-select{
  width:100%;
  box-shadow:none;
}

.shopping-filter-popover__panel .field-hint{
  margin:9px 2px 0;
  font-size:12.5px;
  line-height:1.4;
  color:rgba(43,50,68,.66);
}

/* Essensplan-Tagesliste als einheitlicher, heller Arbeitsframe. */
.meal-plan-days-panel{
  background:var(--white)!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  box-shadow:var(--shadow-card)!important;
  margin-top:18px!important;
}

.meal-plan-days-body{
  padding:18px 22px 22px!important;
  background:linear-gradient(135deg, rgba(247,245,241,.92), rgba(190,223,200,.08))!important;
  border-radius:0 0 22px 22px!important;
}

.meal-plan-days-body .meal-plan-day-stack{
  margin:0!important;
}

.meal-plan-days-body .meal-day-card:last-child{
  margin-bottom:0!important;
}

@media(max-width:840px){
  .unified-work-head{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .unified-work-head__actions{
    justify-content:flex-start!important;
    margin-left:0!important;
    width:100%!important;
  }

  .unified-work-head__actions .button,
  .unified-work-head__actions button,
  .unified-work-head__actions summary.button{
    flex:1 1 auto!important;
  }

  .shopping-filter-popover{
    flex:1 1 100%!important;
  }

  .shopping-filter-popover > summary{
    width:100%!important;
  }

  .shopping-filter-popover__panel{
    position:static;
    width:100%;
    margin-top:10px;
  }

  .board-supply-page-card .board-supply-group-list,
  .shopping-list-card .notice,
  .shopping-list-card .shopping-group,
  .shopping-team-overview-card .shopping-team-grid,
  .shopping-team-overview-card .shopping-team-empty{
    margin-left:16px;
    margin-right:16px;
  }

  .meal-plan-days-body{
    padding:16px!important;
  }
}


/* =========================
   v7.0.17 — gezielte Formatierungs-Korrektur
   Nur besprochene Frames/Listenköpfe: Rundungen, Headergröße, Essensplan,
   Bordbedarf-Liste, Entfernung einzelner Infokarten.
========================= */

/* Frame-Rundungen in den betroffenen Reitern vereinheitlichen. */
.drinks-water-card,
.unified-work-panel,
.shopping-team-overview-card,
.shopping-list-card,
.meal-plan-days-panel,
.board-supply-page-card,
.shopping-group,
.drinks-bucket-group,
.board-supply-group{
  border-radius:22px!important;
}

.shopping-group,
.drinks-bucket-group,
.board-supply-group{
  overflow:hidden!important;
}

/* Headergrößen der Wasser-/Getränke-Köpfe an die übrigen Arbeitsbereich-Köpfe angleichen. */
.drinks-card-head h2,
.water-overview-card .drinks-card-head h2,
.drinks-unified-list-card .drinks-card-head h2{
  font-size:19px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
  margin:0 0 4px!important;
}

.drinks-card-head .muted,
.water-overview-card .drinks-card-head .muted,
.drinks-unified-list-card .drinks-card-head .muted{
  font-size:14px!important;
  line-height:1.45!important;
}

/* Essensplan-Frame: weiß wie die anderen Arbeitsframes, ohne grünlichen Sonderhintergrund. */
.meal-plan-days-body{
  background:var(--white)!important;
}

/* Bordbedarf-Liste optisch an die Getränkeliste angleichen. */
.board-supply-group-list.board-supply-shopping-list{
  display:grid!important;
  gap:14px!important;
  padding:14px 22px 22px!important;
  margin:0!important;
  background:var(--white)!important;
}

.board-supply-group{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}

.board-supply-category-head{
  margin:0 0 7px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:rgba(247,245,241,.82)!important;
  padding:10px 12px!important;
}

.board-supply-compact-list.shopping-compact-list{
  display:grid!important;
  gap:6px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
}

.board-supply-line-row.shopping-line-row{
  display:grid!important;
  grid-template-columns:34px minmax(180px,1fr) 118px 92px 38px 38px!important;
  gap:8px!important;
  align-items:center!important;
  min-height:46px!important;
  padding:7px 8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--white)!important;
}

.board-supply-line-row.shopping-line-row + .board-supply-line-row.shopping-line-row{
  margin-top:6px!important;
}

.board-supply-line-row .shopping-line-status{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--sage-dark)!important;
  font-size:18px!important;
}

.board-supply-line-row .shopping-line-name strong{
  font-size:15px!important;
}

.board-supply-line-row .shopping-line-amount{
  justify-content:flex-end!important;
  text-align:right!important;
}

.board-supply-line-row .shopping-line-amount strong,
.board-supply-line-row .shopping-line-unit{
  font-family:var(--font-mono)!important;
  font-variant-numeric:tabular-nums!important;
}

@media(max-width:840px){
  .board-supply-group-list.board-supply-shopping-list{
    padding:14px 16px 18px!important;
  }

  .board-supply-line-row.shopping-line-row{
    grid-template-columns:28px minmax(0,1fr) auto 38px 38px!important;
  }

  .board-supply-line-row .shopping-line-unit{
    display:none!important;
  }
}


/* =========================
   v7.0.18 — gezielte Rundungs- und Listenkorrektur
   Nur besprochen: sichtbare Frame-Rundung, keine unnötige Innenrundung,
   Bordbedarf-Liste im selben Muster wie Getränke.
========================= */

/* Sichtbare Arbeitsframes sollen rund sein; innere Listen-Gruppen nicht. */
.meal-plan-days-panel,
.unified-work-panel,
.drinks-water-card,
.shopping-team-overview-card,
.shopping-list-card,
.board-supply-page-card{
  border-radius:22px!important;
}

.meal-plan-days-panel{
  overflow:hidden!important;
}

.shopping-group,
.drinks-bucket-group,
.board-supply-group{
  border-radius:0!important;
  overflow:visible!important;
}

/* Bordbedarf-Liste wie Getränkeliste: keine Einzelkarten je Artikel, nur kompakte Zeilen. */
.board-supply-group-list.board-supply-shopping-list{
  gap:14px!important;
  padding:14px 22px 22px!important;
}

.board-supply-group{
  background:transparent!important;
  border:0!important;
  margin:0!important;
}

.board-supply-category-head{
  margin:0 0 7px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:rgba(247,245,241,.82)!important;
  padding:10px 12px!important;
}

.board-supply-compact-list.shopping-compact-list{
  gap:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}

.board-supply-line-row.shopping-line-row{
  grid-template-columns:34px minmax(180px,1fr) 118px 92px 38px 38px!important;
  gap:8px!important;
  min-height:0!important;
  padding:2px 0!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.board-supply-line-row.shopping-line-row:hover{
  background:rgba(190,223,200,.10)!important;
  border-color:var(--line)!important;
}

.board-supply-line-row.shopping-line-row + .board-supply-line-row.shopping-line-row{
  margin-top:0!important;
}

.board-supply-line-row .shopping-line-status{
  color:var(--sage-dark)!important;
}

.board-supply-line-row .shopping-line-name strong,
.board-supply-line-row .shopping-line-amount strong,
.board-supply-line-row .shopping-line-unit{
  font-family:var(--font-mono)!important;
  font-variant-numeric:tabular-nums!important;
}

@media(max-width:840px){
  .board-supply-line-row.shopping-line-row{
    grid-template-columns:28px minmax(0,1fr) auto 38px 38px!important;
  }
}


/* =========================
   v7.0.19 — gezielte Formatierung: Bordbedarf-Typografie, Frame-Rundung, Crew-Icons
   Nur besprochene Bereiche.
========================= */

/* Sichtbare Außenrundung wie beim Essensplan auch für Bordbedarf, Einkaufsliste und Einkaufsteams. */
.board-supply-page-card,
.shopping-list-card,
.shopping-team-overview-card,
.crew-work-card{
  border-radius:22px!important;
  overflow:hidden!important;
}

/* Inhalte innerhalb der gerundeten Cards behalten saubere Innenabstände. */
.crew-add-card form,
.crew-current-card .crew-member-list,
.crew-current-card > .muted{
  margin-left:22px;
  margin-right:22px;
}

.crew-add-card form{
  margin-top:18px;
  margin-bottom:22px;
}

.crew-current-card .crew-member-list,
.crew-current-card > .muted{
  margin-top:18px;
  margin-bottom:22px;
}

/* Bordbedarf-Liste: Typografie exakt näher an Getränke.
   Artikelname UI-Schrift, nur Menge/Einheit in Mono. */
.board-supply-line-row .shopping-line-name strong,
.board-supply-line-row .board-supply-line-name strong{
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

.board-supply-line-row .shopping-line-amount strong,
.board-supply-line-row .shopping-line-unit,
.board-supply-line-row .board-supply-line-amount strong,
.board-supply-line-row .board-supply-line-unit{
  font-family:var(--font-mono)!important;
  font-size:13px!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}

/* Hinweise im Bordbedarf nicht mehr in der Zeile darstellen; sie bleiben im Info-Dialog. */
.board-supply-line-row .manual-note{
  display:none!important;
}

@media(max-width:840px){
  .crew-add-card form,
  .crew-current-card .crew-member-list,
  .crew-current-card > .muted{
    margin-left:16px;
    margin-right:16px;
  }
}


/* =========================
   v7.0.21 — gezielte Korrektur: Bordbedarf, Essensplan-Löschen, Crew-Header, Bestätigungen
   Nur besprochene Bereiche.
========================= */

/* Bordbedarf-Zeilen exakt auf Getränke-Zeilenhöhe bringen. */
.board-supply-line-row.shopping-line-row{
  grid-template-columns:34px minmax(180px,1fr) 118px 92px 38px 38px!important;
  min-height:46px!important;
  padding:7px 8px!important;
  gap:8px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--white)!important;
  box-shadow:none!important;
}

.board-supply-line-row.shopping-line-row + .board-supply-line-row.shopping-line-row{
  margin-top:0!important;
}

.board-supply-line-row .shopping-line-name{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
}

.board-supply-line-row .shopping-line-name strong{
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

.board-supply-line-row .shopping-line-amount,
.board-supply-line-row .shopping-line-unit,
.board-supply-line-row .row-icon{
  min-height:30px!important;
}

/* Essensplan: dezente Danger-Zone unten. */
.meal-plan-danger-zone{
  display:flex;
  justify-content:flex-end;
  margin:18px 0 0;
}

.meal-plan-danger-zone form{
  margin:0;
}

.meal-plan-clear-button{
  min-height:42px;
  border-radius:14px;
  font-weight:850;
}

/* App-eigene Bestätigungsdialoge statt Browser-Popup. */
.app-confirm-dialog{
  width:min(440px, calc(100vw - 32px));
}

.app-confirm-dialog .modal-head{
  background:rgba(247,245,241,.92);
}

.app-confirm-dialog .modal-actions .danger{
  background:#B84C4C;
  border-color:#B84C4C;
  color:#fff;
}

/* Crew: Header-Abstände an die übrigen Arbeitsbereich-Header angleichen. */
.crew-work-card{
  padding:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
}

.crew-section-head.unified-work-head{
  padding:18px 22px!important;
  align-items:flex-start!important;
  min-height:0!important;
}

.crew-section-head .unified-work-head__copy h2{
  margin:0!important;
  font-size:19px!important;
  line-height:1.18!important;
}

.crew-section-head .unified-work-head__copy p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  color:rgba(43,50,68,.74)!important;
}

.crew-add-card form,
.crew-current-card .crew-member-list,
.crew-current-card > .muted{
  margin-left:22px!important;
  margin-right:22px!important;
}

.crew-add-card form{
  margin-top:18px!important;
  margin-bottom:22px!important;
}

.crew-current-card .crew-member-list,
.crew-current-card > .muted{
  margin-top:18px!important;
  margin-bottom:22px!important;
}

@media(max-width:840px){
  .board-supply-line-row.shopping-line-row{
    grid-template-columns:28px minmax(0,1fr) auto 38px 38px!important;
    min-height:46px!important;
    padding:7px 6px!important;
  }

  .meal-plan-danger-zone{
    justify-content:stretch;
  }

  .meal-plan-danger-zone form,
  .meal-plan-clear-button{
    width:100%;
  }
}


/* =========================
   v7.0.22 — gezielte Korrektur: Bordbedarf-Mengenblock und Crew-Header
   Nur besprochene Bereiche.
========================= */

/* Bordbedarf: Menge + Einheit als kompakter Block, nicht als auseinandergezogene Spalten. */
.board-supply-line-row.shopping-line-row{
  grid-template-columns:34px minmax(180px,1fr) max-content 38px 38px!important;
  min-height:46px!important;
  padding:7px 8px!important;
  gap:8px!important;
  align-items:center!important;
}

.board-supply-line-row .board-supply-line-amount{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  min-width:max-content!important;
  white-space:nowrap!important;
  text-align:right!important;
  font-family:var(--font-mono)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}

.board-supply-line-row .board-supply-line-amount strong,
.board-supply-line-row .board-supply-inline-unit{
  font-family:var(--font-mono)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}

.board-supply-line-row .board-supply-line-name{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
}

.board-supply-line-row .board-supply-line-name strong{
  font-family:var(--font-ui)!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

/* Crew: keine Sonderoptik, sondern exakt die gleiche Arbeitsbereich-Header-Logik verwenden. */
.crew-section-head.unified-work-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:var(--white)!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:0!important;
}

.crew-section-head .unified-work-head__main{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}

.crew-section-head .unified-work-head__icon{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border-radius:14px!important;
}

.crew-section-head .unified-work-head__copy{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}

.crew-section-head .unified-work-head__copy h2{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:19px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
  color:var(--navy)!important;
}

.crew-section-head .unified-work-head__copy p{
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500!important;
  color:rgba(43,50,68,.74)!important;
  max-width:780px!important;
}

.crew-section-head .unified-work-head__actions{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}

@media(max-width:840px){
  .board-supply-line-row.shopping-line-row{
    grid-template-columns:28px minmax(0,1fr) max-content 38px 38px!important;
    min-height:46px!important;
    padding:7px 6px!important;
  }
}


/* =========================
   v7.0.23 — gezielte Umsetzung: Clear-All für Getränke/Bordbedarf und echte Crew-Header-Struktur
   Kein weiterer Crew-Header-Nachbau; Crew nutzt jetzt die gleiche unified-work-head-Struktur.
========================= */

/* Gemeinsame Danger-Zone unten für Listen-Reset-Aktionen. */
.page-danger-zone{
  display:flex;
  justify-content:flex-end;
  margin:18px 0 0;
}

.page-danger-zone form{
  margin:0;
}

.page-clear-button{
  min-height:42px;
  border-radius:14px;
  font-weight:850;
}

/* Crew-Frames: strukturell wie andere Arbeitsbereich-Frames, nur der Body hat eigene Innenabstände. */
.crew-panel-card{
  padding:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:var(--white)!important;
}

.crew-panel-card > .unified-work-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:var(--white)!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:0!important;
}

.crew-panel-body{
  padding:18px 22px 22px!important;
  background:var(--white)!important;
}

.crew-panel-body > form,
.crew-panel-body > .crew-member-list,
.crew-panel-body > p{
  margin:0!important;
}

.crew-panel-card .crew-count-pill{
  margin:0!important;
  align-self:flex-start!important;
}

@media(max-width:840px){
  .page-danger-zone{
    justify-content:stretch;
  }

  .page-danger-zone form,
  .page-clear-button{
    width:100%;
  }

  .crew-panel-body{
    padding:16px!important;
  }
}


/* =========================
   v7.0.24 — endgültige Crew-Panel-Korrektur
   Crew-Frames erben kein Card/Prototype-Padding mehr. Header sitzt direkt im Panel.
========================= */

.crew-layout > .crew-panel-card.unified-work-panel{
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:var(--white)!important;
  box-shadow:var(--shadow-card)!important;
  overflow:hidden!important;
}

.crew-layout > .crew-panel-card.unified-work-panel > .unified-work-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:18px 22px!important;
  background:var(--white)!important;
  border:0!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.crew-layout > .crew-panel-card.unified-work-panel > .crew-panel-body{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:18px 22px 22px!important;
  background:var(--white)!important;
}

.crew-layout > .crew-panel-card.unified-work-panel > .crew-panel-body > form,
.crew-layout > .crew-panel-card.unified-work-panel > .crew-panel-body > .crew-member-list,
.crew-layout > .crew-panel-card.unified-work-panel > .crew-panel-body > p{
  margin:0!important;
}

@media(max-width:840px){
  .crew-layout > .crew-panel-card.unified-work-panel > .unified-work-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    padding:16px!important;
  }

  .crew-layout > .crew-panel-card.unified-work-panel > .crew-panel-body{
    padding:16px!important;
  }
}


/* =========================
   v8.0.0 — Rezeptbibliothek: CI-Karten, Anker-Favoriten, Import, Cocktails
========================= */

.recipe-library-hero{
  align-items:flex-start;
}

.recipe-library-toolbar{
  display:flex;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  margin:18px 0;
}

.recipe-search-panel{
  flex:1 1 360px;
  display:flex;
  gap:10px;
  align-items:flex-end;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
  box-shadow:0 12px 30px rgba(43,50,68,.06);
}

.recipe-search-panel label{
  flex:1 1 auto;
}

.recipe-search-panel input{
  width:100%;
}

.recipe-quick-filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  flex:1 1 420px;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(43,50,68,.14);
  background:var(--white);
  color:var(--navy);
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

.filter-chip.active{
  background:var(--navy);
  border-color:var(--navy);
  color:var(--white);
}

.recipe-filter-popover{
  position:relative;
}

.recipe-filter-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:20;
  width:min(360px, calc(100vw - 32px));
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
  box-shadow:0 24px 60px rgba(43,50,68,.16);
}

.recipe-cocktail-import-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px!important;
  margin-bottom:18px;
  border-radius:22px!important;
}

.recipe-cocktail-import-copy{
  display:flex;
  align-items:center;
  gap:14px;
}

.recipe-card-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sage-dark);
  background:rgba(190,223,200,.34);
}

.recipe-card-icon .ci-icon{
  width:22px;
  height:22px;
}

.recipe-cocktail-import-card h2{
  margin:0;
  color:var(--navy);
  font-size:19px;
}

.recipe-cocktail-import-card p{
  margin:4px 0 0;
  color:rgba(43,50,68,.72);
}

.recipe-library-section{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--white);
  box-shadow:var(--shadow-card);
}

.recipe-library-head{
  border-radius:0!important;
}

.recipe-library-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  padding:18px;
}

.recipe-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:250px;
  padding:16px;
  border:1px solid rgba(43,50,68,.12);
  border-radius:20px;
  background:linear-gradient(180deg, #fff 0%, rgba(247,245,241,.72) 100%);
  box-shadow:0 14px 34px rgba(43,50,68,.06);
}

.recipe-card.is-favorite{
  border-color:rgba(94,124,107,.42);
  box-shadow:0 16px 38px rgba(94,124,107,.14);
}

.recipe-card.is-cocktail{
  background:linear-gradient(180deg, #fff 0%, rgba(190,223,200,.18) 100%);
}

.recipe-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.recipe-type-pill,
.recipe-origin-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(190,223,200,.34);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.recipe-origin-pill{
  margin-left:6px;
  background:rgba(203,187,167,.28);
  color:var(--navy);
}

.recipe-anchor-form{
  margin:0;
}

.recipe-anchor-button{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(43,50,68,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--white);
  color:rgba(43,50,68,.52);
  cursor:pointer;
}

.recipe-anchor-button .ci-icon{
  width:20px;
  height:20px;
}

.recipe-anchor-button.active{
  background:var(--sage);
  border-color:var(--sage);
  color:var(--white);
}

.recipe-card-main{
  display:grid;
  gap:8px;
  text-decoration:none;
  color:inherit;
}

.recipe-card-main h3{
  margin:0;
  color:var(--navy);
  font-size:20px;
  line-height:1.18;
  font-weight:850;
}

.recipe-card-main span{
  color:rgba(43,50,68,.68);
  font-weight:700;
  font-size:13px;
}

.recipe-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.recipe-card-tags span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(43,50,68,.06);
  color:var(--navy);
  font-size:12px;
  font-weight:800;
}

.recipe-card-note{
  margin:0;
  color:rgba(43,50,68,.72);
  font-size:13px;
  line-height:1.45;
}

.recipe-card-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:8px;
}

.recipe-card-menu{
  margin-left:auto;
  position:relative;
}

.recipe-card-menu > summary{
  list-style:none;
}

.recipe-card-menu > summary::-webkit-details-marker{
  display:none;
}

.recipe-card-menu-panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  z-index:10;
  min-width:190px;
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--white);
  box-shadow:0 18px 50px rgba(43,50,68,.16);
}

.recipe-card-menu-panel form{
  margin:0;
}

.recipe-card-menu-panel button{
  width:100%;
  min-height:36px;
  border:0;
  border-radius:10px;
  padding:0 10px;
  background:transparent;
  color:var(--navy);
  text-align:left;
  font-weight:800;
  cursor:pointer;
}

.recipe-card-menu-panel button:hover{
  background:rgba(190,223,200,.22);
}

.recipe-card-menu-panel .danger-link{
  color:#9d2f2f;
}

.recipe-empty-panel{
  padding:28px;
  text-align:center;
}

.recipe-anchor-action{
  gap:8px;
}

.recipe-anchor-action .ci-icon{
  width:18px;
  height:18px;
}

.recipe-anchor-action.active{
  background:var(--sage);
  border-color:var(--sage);
  color:var(--white);
}

.recipe-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:18px;
  margin-bottom:18px;
}

.recipe-detail-card{
  border-radius:22px;
}

.mini-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.mini-section-head h2{
  margin:0;
  color:var(--navy);
}

.mini-section-head span{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:800;
  color:rgba(43,50,68,.68);
}

.recipe-ingredient-list{
  display:grid;
  gap:8px;
}

.recipe-ingredient-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:8px 14px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}

.recipe-ingredient-row:last-child{
  border-bottom:0;
}

.recipe-ingredient-row strong{
  color:var(--ink);
}

.recipe-ingredient-row span{
  font-family:var(--font-mono);
  font-weight:800;
  color:var(--navy);
  white-space:nowrap;
}

.recipe-ingredient-row em{
  grid-column:1 / -1;
  color:rgba(43,50,68,.62);
  font-size:13px;
  font-style:normal;
}

.recipe-info-stack{
  display:grid;
  gap:16px;
}

.recipe-excel-import-card{
  padding:0!important;
  overflow:hidden;
}

.recipe-excel-form{
  display:grid;
  gap:14px;
  padding:18px 22px 22px;
}

.recipe-import-template-card table{
  font-size:13px;
}

.drinks-card-actions{
  margin-left:auto;
}

@media(max-width:1080px){
  .recipe-library-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:760px){
  .recipe-search-panel,
  .recipe-cocktail-import-card,
  .recipe-card-footer{
    display:grid;
  }

  .recipe-library-grid,
  .recipe-detail-grid{
    grid-template-columns:1fr;
  }

  .recipe-filter-panel{
    position:static;
    margin-top:10px;
  }
}

/* =========================
   v8.0.1 — Rezeptbibliothek: Gruppierung, Vorlage, Icon-Feinschliff
========================= */

.filter-chip .ci-icon{
  width:16px;
  height:16px;
  margin-right:6px;
}

.recipe-anchor-button .ci-icon,
.recipe-anchor-action .ci-icon{
  stroke-width:1.65;
}

.recipe-anchor-button{
  border-radius:999px;
  background:rgba(247,245,241,.95);
}

.recipe-anchor-button.active{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}

.recipe-category-stack{
  display:grid;
  gap:0;
}

.recipe-category-block{
  padding:0;
  border-top:1px solid rgba(43,50,68,.10);
}

.recipe-category-block:first-child{
  border-top:0;
}

.recipe-category-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px 18px 0;
}

.recipe-category-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(190,223,200,.32);
  color:var(--sage-dark);
}

.recipe-category-icon .ci-icon{
  width:22px;
  height:22px;
}

.recipe-category-head h3{
  margin:0;
  color:var(--navy);
  font-size:19px;
  font-weight:850;
}

.recipe-category-head p{
  margin:3px 0 0;
  color:rgba(43,50,68,.62);
  font-size:13px;
  font-weight:700;
}

.recipe-category-block .recipe-library-grid{
  padding-top:14px;
}

.recipe-template-download{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 22px;
  border-bottom:1px solid var(--line);
  background:rgba(190,223,200,.16);
}

.recipe-template-download strong{
  color:var(--navy);
  font-size:15px;
}

.recipe-template-download span{
  flex:1 1 auto;
  color:rgba(43,50,68,.70);
  font-size:13px;
  font-weight:700;
}

.recipe-card-footer .button.open-action{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}

.recipe-card-footer .button.edit-action{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
  color:var(--fog)!important;
}

@media(max-width:760px){
  .recipe-template-download{
    display:grid;
  }
}


/* =========================
   v8.0.2 — Rezeptsuche, Kategorie-Dashboard, Anlegen-Dialog
========================= */

.recipe-category-dashboard{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:12px;
  margin:18px 0 14px;
}

.recipe-dashboard-tile{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:2px 10px;
  min-height:82px;
  padding:14px;
  border:1px solid rgba(43,50,68,.10);
  border-radius:18px;
  background:linear-gradient(180deg, var(--white) 0%, rgba(247,245,241,.74) 100%);
  color:var(--navy);
  text-decoration:none;
  box-shadow:0 12px 28px rgba(43,50,68,.06);
}

.recipe-dashboard-tile:hover{
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(43,50,68,.09);
}

.recipe-dashboard-icon{
  grid-row:1 / 3;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  color:var(--sage-dark);
  background:rgba(190,223,200,.34);
}

.recipe-dashboard-icon .ci-icon{
  width:22px;
  height:22px;
}

.recipe-dashboard-tile strong{
  display:block;
  font-family:var(--font-mono);
  font-size:26px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--navy);
}

.recipe-dashboard-tile small{
  display:block;
  font-family:var(--font-ui);
  font-size:12px;
  font-weight:800;
  color:rgba(43,50,68,.66);
}

.recipe-search-zone{
  display:grid;
  gap:12px;
  margin:0 0 20px;
}

.recipe-search-panel-wide{
  width:100%;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  padding:16px!important;
  border:1px solid rgba(94,124,107,.28)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 24px 20px, rgba(190,223,200,.46) 0, rgba(190,223,200,0) 90px),
    linear-gradient(180deg, #fff 0%, rgba(247,245,241,.82) 100%)!important;
  box-shadow:0 18px 46px rgba(43,50,68,.10)!important;
}

.recipe-search-panel-wide label{
  display:grid;
  gap:7px;
  width:100%;
}

.recipe-search-panel-wide .eyebrow{
  color:var(--sage-dark);
}

.recipe-search-panel-wide input[name="q"]{
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(43,50,68,.16);
  background:var(--white);
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}

.recipe-search-panel-wide input[name="q"]:focus{
  outline:3px solid rgba(190,223,200,.72);
  border-color:rgba(94,124,107,.46);
}

.recipe-search-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.recipe-quick-filters{
  width:100%;
}

.recipe-create-dialog{
  max-width:760px;
}

.recipe-create-choice-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}

.recipe-create-choice{
  display:grid;
  gap:8px;
  align-content:start;
  min-height:150px;
  padding:16px;
  border:1px solid rgba(43,50,68,.12);
  border-radius:18px;
  background:linear-gradient(180deg, #fff 0%, rgba(247,245,241,.72) 100%);
  color:var(--navy);
  text-decoration:none;
}

.recipe-create-choice:hover{
  text-decoration:none;
  border-color:rgba(94,124,107,.36);
  box-shadow:0 12px 30px rgba(43,50,68,.08);
}

.recipe-create-choice span:first-child{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(190,223,200,.34);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:13px;
  font-weight:900;
}

.recipe-create-choice .ci-icon{
  width:21px;
  height:21px;
}

.recipe-create-choice strong{
  font-size:16px;
  font-weight:850;
  color:var(--navy);
}

.recipe-create-choice small{
  color:rgba(43,50,68,.68);
  font-size:13px;
  line-height:1.4;
}

.recipe-filter-dialog{
  max-width:680px;
}

@media(max-width:1080px){
  .recipe-category-dashboard{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media(max-width:760px){
  .recipe-category-dashboard,
  .recipe-create-choice-grid{
    grid-template-columns:1fr;
  }

  .recipe-search-panel-wide{
    grid-template-columns:1fr!important;
  }

  .recipe-search-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* =========================
   v8.0.3 — Rezeptsuche, Dashboard, Favoriten ohne Springen
========================= */

.recipe-category-dashboard{
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr))!important;
  gap:14px!important;
  width:100%;
  margin:18px 0 16px!important;
}

.recipe-dashboard-tile{
  position:relative;
  overflow:hidden;
  min-height:104px!important;
  padding:18px!important;
  border-radius:22px!important;
  border:1px solid rgba(43,50,68,.10)!important;
  background:
    radial-gradient(circle at 94% 12%, rgba(190,223,200,.34) 0, rgba(190,223,200,0) 90px),
    linear-gradient(180deg, var(--white) 0%, rgba(247,245,241,.9) 100%)!important;
  box-shadow:0 16px 40px rgba(43,50,68,.075)!important;
}

.recipe-dashboard-tile::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg, var(--sage), rgba(190,223,200,.45));
}

.recipe-dashboard-icon{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  color:var(--sage-dark)!important;
  background:rgba(190,223,200,.40)!important;
}

.recipe-dashboard-tile strong{
  font-family:var(--font-mono)!important;
  font-size:32px!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  color:var(--navy)!important;
}

.recipe-dashboard-tile small{
  font-size:13px!important;
  color:rgba(43,50,68,.70)!important;
}

.recipe-search-zone{
  margin:0 0 22px!important;
}

.recipe-search-panel-wide{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  width:100%!important;
  padding:18px!important;
  border:1px solid rgba(190,223,200,.30)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 3% 16%, rgba(190,223,200,.22) 0, rgba(190,223,200,0) 190px),
    linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%)!important;
  box-shadow:0 22px 58px rgba(43,50,68,.22)!important;
}

.recipe-search-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}

.recipe-search-panel-wide label{
  display:grid;
  gap:8px;
  width:100%;
}

.recipe-search-panel-wide .eyebrow{
  color:var(--mint)!important;
  letter-spacing:.12em;
}

.recipe-search-panel-wide input[name="q"]{
  min-height:56px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.62)!important;
  background:var(--white)!important;
  color:var(--ink)!important;
  font-size:16px!important;
  font-weight:800!important;
  box-shadow:0 14px 32px rgba(20,24,26,.12)!important;
}

.recipe-search-panel-wide input[name="q"]:focus{
  outline:3px solid rgba(190,223,200,.72)!important;
  border-color:var(--mint)!important;
}

.recipe-search-panel-wide .recipe-search-actions{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  padding-bottom:0;
}

.recipe-search-panel-wide .recipe-search-actions .button{
  min-height:56px;
  border-radius:16px;
}

.recipe-search-panel-wide .recipe-search-actions .button.secondary{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.42)!important;
  color:var(--white)!important;
}

.recipe-search-panel-wide .recipe-quick-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.16);
}

.recipe-search-panel-wide .filter-chip{
  min-height:36px;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:var(--fog)!important;
  box-shadow:none!important;
}

.recipe-search-panel-wide .filter-chip .ci-icon{
  width:15px;
  height:15px;
}

.recipe-search-panel-wide .filter-chip.active{
  background:var(--mint)!important;
  border-color:var(--mint)!important;
  color:var(--navy)!important;
}

.recipe-create-dialog{
  max-width:920px!important;
}

.recipe-create-choice-grid{
  grid-template-columns:repeat(4, minmax(0,1fr))!important;
}

.recipe-url-import-card{
  padding:0!important;
  overflow:hidden;
}

.recipe-url-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
  padding:18px 22px 22px;
}

.recipe-url-form input[type="url"]{
  min-height:50px;
  border-radius:16px;
}

.recipe-anchor-button.is-busy{
  opacity:.72;
  pointer-events:none;
}

.recipe-card.is-favorite{
  transition:border-color .15s ease, box-shadow .15s ease;
}

@media(max-width:1080px){
  .recipe-create-choice-grid{
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
  }
}

@media(max-width:760px){
  .recipe-search-main,
  .recipe-url-form{
    grid-template-columns:1fr!important;
  }

  .recipe-search-panel-wide .recipe-search-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }

  .recipe-create-choice-grid{
    grid-template-columns:1fr!important;
  }
}

/* =========================
   v8.0.4 — Rezeptformular- und Konsistenzpaket
========================= */

/* Dialog-Schließen: X exakt zentrieren */
.modal-close,
button.modal-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
  font-size:25px!important;
  font-weight:800!important;
}

/* Dashboard in der Rezeptbibliothek entfällt ab v8.0.4 */
.recipe-category-dashboard{
  display:none!important;
}

/* Rezept-Anlegen-Dialog: vertikale Auswahl, Weblink primär */
.recipe-create-dialog{
  max-width:640px!important;
}

.recipe-create-choice-grid{
  display:none!important;
}

.recipe-create-choice-list{
  display:grid;
  gap:12px;
}

.recipe-create-choice-list .recipe-create-choice{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
  gap:14px;
  min-height:92px;
  padding:16px!important;
  border-radius:18px!important;
  border:1px solid rgba(43,50,68,.13)!important;
  background:var(--white)!important;
  color:var(--navy)!important;
  text-decoration:none;
}

.recipe-create-choice-list .recipe-create-choice > span{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(190,223,200,.38)!important;
  color:var(--sage-dark)!important;
  font-weight:900;
}

.recipe-create-choice-list .recipe-create-choice strong{
  display:block;
  margin:0 0 4px;
  font-size:17px;
  line-height:1.2;
  color:var(--navy);
}

.recipe-create-choice-list .recipe-create-choice small{
  display:block;
  color:rgba(43,50,68,.68);
  font-size:13px;
  line-height:1.35;
}

.recipe-create-choice-list .recipe-create-choice--primary{
  border-color:rgba(124,156,137,.45)!important;
  background:linear-gradient(135deg, rgba(190,223,200,.32), var(--white))!important;
  box-shadow:0 14px 34px rgba(94,124,107,.13);
}

.recipe-create-choice-list .recipe-create-choice--primary > span{
  background:var(--sage)!important;
  color:var(--white)!important;
}

/* Rezeptsuche: Filterchips über volle Breite mit Count-Badges */
.recipe-search-panel-wide .recipe-quick-filters{
  display:grid!important;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:9px!important;
  align-items:stretch;
  width:100%!important;
}

.recipe-search-panel-wide .filter-chip{
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 10px!important;
  white-space:nowrap;
}

.recipe-search-panel-wide .filter-chip b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:inherit;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:900;
  line-height:1;
}

.recipe-search-panel-wide .filter-chip.active b{
  background:rgba(43,50,68,.12);
  color:var(--navy);
}

/* Rezeptdetail: Favoritenaktion folgt Sage-Logik */
.recipe-anchor-action,
.recipe-anchor-action.active{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}

.recipe-anchor-action .ci-icon{
  color:currentColor!important;
}

/* Rezeptformular: Tags, Mahlzeittypen und Zutaten-Abschnitt */
.recipe-tag-field{
  display:grid;
  gap:8px;
}

.recipe-edit-form .recipe-form-section-title{
  display:grid;
  gap:6px;
  margin:6px 0 4px!important;
}

.recipe-edit-form .recipe-form-section-title h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.2!important;
  color:var(--navy)!important;
}

.recipe-edit-form .recipe-form-section-title p{
  margin:0!important;
}

.meal-type-fieldset{
  margin:0!important;
  padding:14px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:22px!important;
}

.meal-type-fieldset legend{
  padding:0 8px;
  color:var(--navy);
  font-weight:900;
}

.meal-type-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:10px;
  width:100%;
}

.meal-type-choice{
  position:relative;
  min-height:78px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  padding:12px 8px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:18px!important;
  background:var(--white)!important;
  color:var(--navy)!important;
  cursor:pointer;
  text-align:center;
}

.meal-type-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.meal-type-choice-icon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:rgba(190,223,200,.30);
  color:var(--sage-dark);
}

.meal-type-choice-icon .ci-icon{
  width:18px;
  height:18px;
}

.meal-type-choice strong{
  font-size:13px;
  line-height:1.15;
}

.meal-type-choice.is-selected,
.meal-type-choice:has(input:checked){
  border-color:var(--sage)!important;
  background:rgba(190,223,200,.24)!important;
  box-shadow:0 12px 28px rgba(94,124,107,.12);
}

.meal-type-choice.is-selected .meal-type-choice-icon,
.meal-type-choice:has(input:checked) .meal-type-choice-icon{
  background:var(--sage);
  color:var(--white);
}

.add-ingredient-action{
  width:max-content;
}

/* Add/Hinzufügen-Aktionen sollen Sage statt zufälligem Navy nutzen, sofern sie als open-action gesetzt sind. */
.button.open-action.add-ingredient-action,
button.open-action.add-ingredient-action{
  background:var(--sage)!important;
  border-color:var(--sage)!important;
  color:var(--white)!important;
}

@media(max-width:1080px){
  .recipe-search-panel-wide .recipe-quick-filters,
  .meal-type-choice-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media(max-width:760px){
  .recipe-search-panel-wide .recipe-quick-filters,
  .meal-type-choice-grid{
    grid-template-columns:1fr 1fr;
  }

  .recipe-create-choice-list .recipe-create-choice{
    grid-template-columns:46px minmax(0,1fr);
  }
}


/* =========================
   v8.0.5 — Eigenständige Cocktailplanung
========================= */
.cocktail-plan-card{
  margin-top:18px;
}

.cocktail-plan-list{
  padding-top:0;
}

.cocktail-plan-row .shopping-line-name strong{
  color:var(--navy);
}

.cocktail-plan-row .shopping-line-amount strong{
  font-family:var(--font-mono);
}

.cocktail-plan-row .manual-note{
  color:rgba(43,50,68,.64);
}

@media(max-width:760px){
  .cocktail-plan-row{
    grid-template-columns:28px minmax(0,1fr) 74px 54px 32px 32px!important;
  }
}

/* =========================
   v8.0.8 — CI-Konsistenz, Planungsfortschritt und stabile Druckansicht
   Bewusst eng auf die besprochenen Komponenten begrenzt.
========================= */

/* Einheitliche, ruhige Fortschrittsdarstellung. */
.trip-card-progress .trip-progress-head strong{
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.trip-card-progress .trip-progress-head span{
  font-size:12.5px!important;
  letter-spacing:0!important;
}
.progress-head{
  align-items:center!important;
}
.progress-head h2{
  font-size:19px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.progress-percent{
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
}

/* Getränke & Wasser: ein verbindliches Kopfraster für alle drei Bereiche. */
.drinks-water-page .drinks-card-head{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-height:82px!important;
  padding:18px 20px!important;
}
.drinks-water-page .drinks-card-head__copy{
  min-width:0;
  align-self:center;
}
.drinks-water-page .drinks-card-icon{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  border-radius:14px!important;
}
.drinks-water-page .drinks-card-icon .ci-icon{
  width:22px!important;
  height:22px!important;
}
.drinks-water-page .drinks-card-head h2{
  margin:0 0 3px!important;
  color:var(--navy)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
.drinks-water-page .drinks-card-head .muted{
  max-width:720px!important;
  margin:0!important;
  color:rgba(20,24,26,.64)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:650!important;
}
.drinks-water-page .drinks-card-actions{
  justify-self:end!important;
  align-self:center!important;
  justify-content:flex-end!important;
  margin:0!important;
}
.drinks-water-page .drinks-card-action{
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
}
.drinks-water-page .drinks-unified-list{
  padding:16px 20px 20px!important;
}
.drinks-water-page .drinks-bucket-group{
  margin-top:14px!important;
}
.drinks-water-page .drinks-bucket-group:first-child{
  margin-top:0!important;
}
.drinks-water-page .drinks-category-head{
  min-height:42px!important;
  margin:0 0 8px!important;
  padding:9px 12px!important;
  align-items:center!important;
  gap:12px!important;
}
.drinks-water-page .drinks-category-head .shopping-category-title{
  min-height:24px!important;
  align-items:center!important;
}
.drinks-water-page .drinks-category-head h3{
  margin:0!important;
  color:var(--navy)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.drinks-water-page .drinks-category-head .responsible-pill{
  min-height:26px!important;
  padding:4px 9px!important;
  font-size:11px!important;
  line-height:1!important;
}

/* Info-Aktionen sind optisch nur so groß wie die begleitende Textzeile. */
button.info-button,
.info-button,
button.info-dot,
.info-dot{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:20px!important;
  min-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-mono)!important;
  font-size:11px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  transform:none!important;
}
button.info-button::after,
.info-button::after,
button.info-dot::after,
.info-dot::after{
  content:'';
  position:absolute;
  inset:-6px;
  border-radius:999px;
}
button.info-button:hover,
.info-button:hover,
button.info-dot:hover,
.info-dot:hover{
  border:0!important;
  background:rgba(190,223,200,.34)!important;
  color:var(--sage-dark)!important;
}
button.info-button:focus-visible,
.info-button:focus-visible,
button.info-dot:focus-visible,
.info-dot:focus-visible{
  outline:2px solid var(--sage)!important;
  outline-offset:3px!important;
}

.print-only{
  display:none!important;
}

/* Eigenständige Einkaufsliste für A4 statt Übernahme des responsiven Screen-Grids. */
@media print{
  @page{
    size:A4 portrait;
    margin:11mm 10mm 12mm;
  }

  body.page-shopping-list{
    margin:0!important;
    background:#fff!important;
    color:#111!important;
    font-family:var(--font-ui),Arial,Helvetica,sans-serif!important;
    font-size:9.5pt!important;
    line-height:1.28!important;
  }

  body.page-shopping-list .app-header,
  body.page-shopping-list .moe-footer,
  body.page-shopping-list .verification-banner,
  body.page-shopping-list #appConfirmDialog{
    display:none!important;
  }

  body.page-shopping-list main.container{
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  body.page-shopping-list main.container > *{
    display:none!important;
  }

  body.page-shopping-list main.container > .shopping-print-view{
    display:block!important;
  }

  body.page-shopping-list .shopping-print-view,
  body.page-shopping-list .shopping-print-view *{
    box-sizing:border-box!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  body.page-shopping-list .shopping-print-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12mm!important;
    align-items:end!important;
    margin:0 0 7mm!important;
    padding:0 0 4mm!important;
    border-bottom:1.4pt solid #2B3244!important;
  }

  body.page-shopping-list .shopping-print-head__title p{
    margin:0 0 1.5mm!important;
    color:#5E7C6B!important;
    font-size:7.5pt!important;
    line-height:1.2!important;
    font-weight:700!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body.page-shopping-list .shopping-print-head__title h1{
    margin:0 0 1.5mm!important;
    color:#2B3244!important;
    font-family:var(--font-ui),Arial,Helvetica,sans-serif!important;
    font-size:19pt!important;
    line-height:1.05!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
  }

  body.page-shopping-list .shopping-print-head__title span{
    display:block!important;
    color:#444!important;
    font-size:8.5pt!important;
    line-height:1.35!important;
  }

  body.page-shopping-list .shopping-print-head__meta{
    display:grid!important;
    gap:2mm!important;
    min-width:44mm!important;
    margin:0!important;
  }

  body.page-shopping-list .shopping-print-head__meta div{
    display:grid!important;
    grid-template-columns:13mm minmax(0,1fr)!important;
    gap:2mm!important;
    align-items:baseline!important;
  }

  body.page-shopping-list .shopping-print-head__meta dt,
  body.page-shopping-list .shopping-print-head__meta dd{
    margin:0!important;
  }

  body.page-shopping-list .shopping-print-head__meta dt{
    color:#666!important;
    font-size:7pt!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }

  body.page-shopping-list .shopping-print-head__meta dd{
    color:#2B3244!important;
    font-size:8.2pt!important;
    font-weight:700!important;
    text-align:right!important;
  }

  body.page-shopping-list .shopping-print-empty{
    margin:0!important;
    padding:8mm!important;
    border:1pt solid #bbb!important;
    text-align:center!important;
  }

  body.page-shopping-list .shopping-print-table{
    width:100%!important;
    border-collapse:collapse!important;
    border-spacing:0!important;
    table-layout:fixed!important;
    color:#111!important;
  }

  body.page-shopping-list .shopping-print-col-check{width:9mm!important;}
  body.page-shopping-list .shopping-print-col-item{width:auto!important;}
  body.page-shopping-list .shopping-print-col-amount{width:22mm!important;}
  body.page-shopping-list .shopping-print-col-unit{width:26mm!important;}

  body.page-shopping-list .shopping-print-table thead{
    display:table-header-group!important;
  }

  body.page-shopping-list .shopping-print-table thead th{
    padding:0 2.2mm 2mm!important;
    border-bottom:1pt solid #7C9C89!important;
    background:#fff!important;
    color:#454F68!important;
    font-size:7.5pt!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    text-align:left!important;
    text-transform:uppercase!important;
  }

  body.page-shopping-list .shopping-print-table thead th:nth-child(3){
    text-align:right!important;
  }

  body.page-shopping-list .shopping-print-table tbody{
    break-inside:auto!important;
    page-break-inside:auto!important;
    background:#fff!important;
  }

  body.page-shopping-list .shopping-print-table tr,
  body.page-shopping-list .shopping-print-table td{
    background:#fff!important;
  }

  body.page-shopping-list .shopping-print-table tbody[hidden]{
    display:none!important;
  }

  body.page-shopping-list .shopping-print-category{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }

  body.page-shopping-list .shopping-print-category th{
    padding:3.2mm 2.2mm 1.8mm!important;
    border-top:1pt solid #CBBBA7!important;
    border-bottom:1pt solid #CBBBA7!important;
    background:#fff!important;
    color:#2B3244!important;
    font-size:10pt!important;
    line-height:1.15!important;
    font-weight:800!important;
    text-align:left!important;
  }

  body.page-shopping-list .shopping-print-category th small{
    float:right!important;
    color:#5E7C6B!important;
    font-size:7.5pt!important;
    line-height:1.3!important;
    font-weight:700!important;
  }

  body.page-shopping-list .shopping-print-item{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  body.page-shopping-list .shopping-print-item td{
    padding:2.1mm 2.2mm!important;
    border-bottom:.55pt solid #d8d8d8!important;
    vertical-align:top!important;
    color:#111!important;
    font-size:9pt!important;
    line-height:1.25!important;
  }

  body.page-shopping-list .shopping-print-item td:first-child{
    padding-left:1.2mm!important;
    padding-right:1.2mm!important;
    text-align:center!important;
    vertical-align:middle!important;
  }

  body.page-shopping-list .shopping-print-item td:nth-child(3){
    font-family:var(--font-mono),'Courier New',monospace!important;
    font-variant-numeric:tabular-nums!important;
    font-weight:700!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  body.page-shopping-list .shopping-print-item td:nth-child(4){
    white-space:normal!important;
  }

  body.page-shopping-list .shopping-print-item strong{
    display:block!important;
    color:#111!important;
    font-size:9.2pt!important;
    line-height:1.22!important;
    font-weight:700!important;
    overflow-wrap:anywhere!important;
  }

  body.page-shopping-list .shopping-print-item small{
    display:block!important;
    margin-top:.7mm!important;
    color:#555!important;
    font-size:7.4pt!important;
    line-height:1.25!important;
  }

  body.page-shopping-list .shopping-print-checkbox{
    display:inline-block!important;
    width:4.2mm!important;
    height:4.2mm!important;
    border:1pt solid #2B3244!important;
    border-radius:.7mm!important;
    background:#fff!important;
  }
}

@media(max-width:760px){
  .drinks-water-page .drinks-card-head{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:0!important;
    padding:16px!important;
  }
  .drinks-water-page .drinks-card-icon{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }
  .drinks-water-page .drinks-card-actions{
    grid-column:1 / -1!important;
    width:100%!important;
    justify-self:stretch!important;
  }
  .drinks-water-page .drinks-card-action{
    width:100%!important;
  }
  .drinks-water-page .drinks-unified-list{
    padding:14px!important;
  }
}

/* Getränkekategorien: ruhige Count-Anzeige ohne Unzugewiesen-Semantik. */
.drinks-water-page .drinks-count-pill{
  border:0!important;
  background:rgba(247,245,241,.92)!important;
  color:rgba(43,50,68,.72)!important;
}

/* =========================================================
   v8.0.9 — Rezeptauswahl, Dialog- und Autosave-Stabilisierung
   Ausschließlich auf den Essensplan und seine Dialoge begrenzt.
========================================================= */
body.has-open-dialog{overflow:hidden;}

.meal-plan-page button.meal-picker.meal-select-card{
  appearance:none;
  color:var(--ink);
  cursor:pointer;
  font-family:var(--font-ui);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.meal-plan-page button.meal-picker.meal-select-card:hover{
  border-color:rgba(124,156,137,.52);
  background:rgba(190,223,200,.16);
  box-shadow:0 8px 18px rgba(43,50,68,.06);
  transform:translateY(-1px);
}
.meal-plan-page button.meal-picker.meal-select-card:focus-visible{
  outline:3px solid rgba(124,156,137,.28);
  outline-offset:3px;
  border-color:var(--sage-dark);
}
.meal-plan-page button.meal-picker.meal-select-card:disabled{
  cursor:not-allowed;
  opacity:.58;
  transform:none;
  box-shadow:none;
  background:rgba(247,245,241,.78);
  border-color:rgba(20,24,26,.07);
}
.meal-plan-page .meal-plan-empty-library-note{
  border-color:rgba(124,156,137,.26);
  background:linear-gradient(135deg,rgba(190,223,200,.16),rgba(247,245,241,.9));
}

.meal-recipe-dialog,
.meal-recipe-create-dialog{
  width:min(900px,calc(100vw - 32px));
  max-width:900px;
  max-height:calc(100dvh - 40px);
  overflow:hidden;
  border-radius:22px;
  background:var(--white);
  color:var(--ink);
}
.meal-recipe-dialog[open],
.meal-recipe-create-dialog[open]{display:flex;flex-direction:column;}
.meal-recipe-dialog::backdrop,
.meal-recipe-create-dialog::backdrop{background:rgba(43,50,68,.56);backdrop-filter:blur(2px);}
.meal-recipe-dialog .modal-head,
.meal-recipe-create-dialog .modal-head{
  flex:0 0 auto;
  padding:18px 20px 16px;
  background:var(--fog);
  border-bottom:1px solid rgba(20,24,26,.08);
}
.meal-recipe-dialog .modal-head h2,
.meal-recipe-create-dialog .modal-head h2{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui);
  font-size:24px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.025em;
}
.meal-recipe-dialog .eyebrow,
.meal-recipe-create-dialog .eyebrow{
  margin:0 0 5px;
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.075em;
}
.meal-recipe-dialog__context{
  margin:6px 0 0;
  color:rgba(20,24,26,.62);
  font-size:12.5px;
  line-height:1.4;
  font-weight:600;
}
.meal-recipe-dialog .modal-close,
.meal-recipe-create-dialog .modal-close{
  flex:0 0 34px;
  border:1px solid rgba(43,50,68,.10);
  background:var(--white);
  color:var(--navy);
}
.meal-recipe-dialog .modal-close:hover,
.meal-recipe-create-dialog .modal-close:hover{background:rgba(190,223,200,.24);color:var(--sage-dark);}
.meal-recipe-dialog .modal-close:focus-visible,
.meal-recipe-create-dialog .modal-close:focus-visible{outline:3px solid rgba(124,156,137,.28);outline-offset:2px;}

.meal-recipe-dialog__body,
.meal-recipe-create-dialog__body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  scrollbar-gutter:stable;
  padding:18px 20px;
  background:var(--white);
}
.meal-recipe-dialog__toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.meal-recipe-search{display:grid;gap:6px;margin:0;}
.meal-recipe-search>span,
.meal-recipe-create-dialog label>span,
.meal-recipe-ingredient-row label>span{
  color:rgba(20,24,26,.64);
  font-family:var(--font-ui);
  font-size:11px;
  line-height:1.25;
  font-weight:800;
}
.meal-recipe-search input,
.meal-recipe-create-dialog input,
.meal-recipe-create-dialog select,
.meal-recipe-create-dialog textarea{
  width:100%;
  border:1px solid rgba(43,50,68,.15);
  border-radius:12px;
  background:var(--white);
  color:var(--ink);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:650;
}
.meal-recipe-search input,
.meal-recipe-create-dialog input,
.meal-recipe-create-dialog select{min-height:42px;padding:0 12px;}
.meal-recipe-create-dialog textarea{padding:11px 12px;line-height:1.5;resize:vertical;}
.meal-recipe-search input:focus,
.meal-recipe-create-dialog input:focus,
.meal-recipe-create-dialog select:focus,
.meal-recipe-create-dialog textarea:focus{
  outline:3px solid rgba(124,156,137,.20);
  border-color:var(--sage-dark);
}
.meal-recipe-favorite-filter{
  min-height:42px;
  border-color:rgba(124,156,137,.28);
  color:var(--sage-dark);
  background:rgba(190,223,200,.12);
  font-family:var(--font-ui);
}
.meal-recipe-favorite-filter:hover{background:rgba(190,223,200,.24);color:var(--navy);}
.meal-recipe-favorite-filter.active,
.meal-recipe-favorite-filter[aria-pressed="true"]{background:var(--sage);border-color:var(--sage-dark);color:var(--white);}
.meal-recipe-favorite-filter:focus-visible{outline:3px solid rgba(124,156,137,.28);outline-offset:2px;}

.meal-recipe-filter-note{
  display:flex;
  align-items:center;
  gap:9px;
  margin:13px 0 12px;
  color:rgba(20,24,26,.60);
  font-size:12px;
  line-height:1.35;
}
.meal-recipe-filter-pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(190,223,200,.30);
  color:var(--sage-dark);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
.meal-recipe-results{display:grid;gap:8px;}
.meal-recipe-result{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto auto;
  gap:11px;
  align-items:center;
  width:100%;
  min-height:64px;
  padding:10px 12px;
  border:1px solid rgba(43,50,68,.10);
  border-radius:15px;
  background:var(--white);
  color:var(--ink);
  text-align:left;
  font-family:var(--font-ui);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.meal-recipe-result:hover{
  border-color:rgba(124,156,137,.46);
  background:rgba(190,223,200,.10);
  box-shadow:0 7px 18px rgba(43,50,68,.05);
}
.meal-recipe-result:focus-visible{outline:3px solid rgba(124,156,137,.25);outline-offset:2px;border-color:var(--sage-dark);}
.meal-recipe-result.is-selected{border-color:rgba(94,124,107,.58);background:rgba(190,223,200,.18);}
.meal-recipe-result__icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(190,223,200,.24);
  color:var(--sage-dark);
}
.meal-recipe-result__icon svg{width:20px;height:20px;}
.meal-recipe-result__copy{min-width:0;display:grid;gap:3px;}
.meal-recipe-result__copy strong{overflow:hidden;text-overflow:ellipsis;color:var(--navy);font-size:14px;line-height:1.25;font-weight:800;}
.meal-recipe-result__copy small{color:rgba(20,24,26,.58);font-size:11.5px;line-height:1.35;font-weight:600;}
.meal-recipe-result__favorite{color:#9c7b2e;font-size:17px;line-height:1;}
.meal-recipe-result__choose{color:var(--sage-dark);font-size:11.5px;font-weight:800;white-space:nowrap;}
.meal-recipe-result.is-selected .meal-recipe-result__choose{color:var(--navy);}
.meal-recipe-empty{
  margin-top:12px;
  padding:22px;
  border:1px dashed rgba(124,156,137,.42);
  border-radius:16px;
  background:rgba(247,245,241,.72);
  text-align:center;
}
.meal-recipe-empty strong{display:block;color:var(--navy);font-size:14px;}
.meal-recipe-empty p{margin:5px 0 0;color:rgba(20,24,26,.60);font-size:12.5px;}
.meal-recipe-dialog .modal-actions,
.meal-recipe-create-dialog .modal-actions{
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px 18px;
  background:var(--fog);
  border-top:1px solid rgba(20,24,26,.08);
}
.meal-recipe-dialog__actions-main{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.meal-recipe-dialog .modal-actions .button,
.meal-recipe-create-dialog .modal-actions .button{min-height:40px;border-radius:12px;font-size:12.5px;font-weight:800;}

.meal-recipe-create-dialog{width:min(1040px,calc(100vw - 32px));max-width:1040px;}
.meal-recipe-create-dialog form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;}
.meal-recipe-create-dialog__body{display:grid;gap:14px;}
.meal-recipe-create-errors{margin:0;}
.meal-recipe-create-errors ul{margin:7px 0 0;padding-left:19px;}
.meal-recipe-create-section{
  display:grid;
  gap:12px;
  padding:15px;
  border:1px solid rgba(43,50,68,.09);
  border-radius:17px;
  background:rgba(247,245,241,.44);
}
.meal-recipe-create-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.meal-recipe-create-section__head h3{margin:0;color:var(--navy);font-family:var(--font-ui);font-size:16px;line-height:1.2;font-weight:800;}
.meal-recipe-create-section__head p{margin:4px 0 0;color:rgba(20,24,26,.58);font-size:12px;line-height:1.4;font-weight:600;}
.meal-recipe-create-basics{align-items:end;}
.meal-recipe-create-dialog label{display:grid;gap:6px;margin:0;}
.meal-recipe-favorite-choice{
  position:relative;
  display:flex!important;
  grid-template-columns:none;
  align-items:center;
  gap:7px!important;
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(124,156,137,.26);
  border-radius:12px;
  background:var(--white);
  color:var(--sage-dark);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.meal-recipe-favorite-choice input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--sage-dark);}
.meal-recipe-ingredient-list{display:grid;gap:8px;}
.meal-recipe-ingredient-row{
  display:grid;
  grid-template-columns:minmax(150px,1.5fr) 100px 150px 150px minmax(130px,1fr) 34px;
  gap:8px;
  align-items:end;
  padding:10px;
  border:1px solid rgba(43,50,68,.09);
  border-radius:14px;
  background:var(--white);
}
.meal-recipe-ingredient-remove{
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border:1px solid rgba(155,28,28,.16);
  border-radius:10px;
  background:rgba(155,28,28,.05);
  color:#9b1c1c;
  font-size:19px;
  line-height:1;
}
.meal-recipe-ingredient-remove:hover{background:rgba(155,28,28,.10);color:#7f1717;}
.meal-recipe-ingredient-remove:focus-visible{outline:3px solid rgba(155,28,28,.16);outline-offset:2px;}

.meal-plan-autosave-status{
  max-width:min(460px,calc(100vw - 32px));
  min-height:42px;
  padding:8px 10px 8px 14px;
  border-radius:14px;
  font-size:12px;
  line-height:1.3;
}
.meal-plan-autosave-status.is-saving{color:var(--navy);border-color:rgba(43,50,68,.18);}
.meal-plan-autosave-status.is-saving::before{background:var(--navy);box-shadow:0 0 0 5px rgba(43,50,68,.10);animation:mealPlanSavePulse 1s ease-in-out infinite;}
.meal-plan-autosave-status.is-success{color:var(--sage-dark);}
.meal-plan-autosave-status.is-error{color:#8a2323;border-color:rgba(155,28,28,.24);background:rgba(255,250,250,.98);}
.meal-plan-autosave-status.is-error::before{background:#9b1c1c;box-shadow:0 0 0 5px rgba(155,28,28,.10);}
.meal-plan-autosave-status button{
  min-height:28px;
  padding:0 9px;
  border-radius:9px;
  background:var(--navy);
  color:var(--white);
  font-size:11px;
  font-weight:800;
}
.meal-plan-autosave-status button:hover{background:var(--navy-light);}
@keyframes mealPlanSavePulse{50%{opacity:.45;transform:scale(.82);}}

@media(max-width:900px){
  .meal-recipe-ingredient-row{grid-template-columns:minmax(150px,1.4fr) 90px 1fr 1fr 34px;}
  .meal-recipe-ingredient-note{grid-column:1 / -2;}
}
@media(max-width:700px){
  .meal-recipe-dialog,
  .meal-recipe-create-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px;}
  .meal-recipe-dialog .modal-head,
  .meal-recipe-create-dialog .modal-head{padding:15px 15px 13px;}
  .meal-recipe-dialog .modal-head h2,
  .meal-recipe-create-dialog .modal-head h2{font-size:21px;}
  .meal-recipe-dialog__body,
  .meal-recipe-create-dialog__body{padding:14px 15px;}
  .meal-recipe-dialog__toolbar{grid-template-columns:1fr;align-items:stretch;}
  .meal-recipe-favorite-filter{width:100%;}
  .meal-recipe-filter-note{align-items:flex-start;}
  .meal-recipe-result{grid-template-columns:36px minmax(0,1fr) auto;padding:9px;}
  .meal-recipe-result__icon{width:36px;height:36px;}
  .meal-recipe-result__favorite{grid-column:3;grid-row:1;}
  .meal-recipe-result__choose{grid-column:2 / -1;}
  .meal-recipe-dialog .modal-actions,
  .meal-recipe-create-dialog .modal-actions{align-items:stretch;padding:12px 15px 15px;}
  .meal-recipe-dialog__actions{display:grid;gap:8px;}
  .meal-recipe-dialog__actions-main{display:grid;grid-template-columns:1fr;}
  .meal-recipe-dialog .modal-actions .button,
  .meal-recipe-create-dialog .modal-actions .button{width:100%;}
  .meal-recipe-create-section__head{display:grid;}
  .meal-recipe-favorite-choice{width:100%;white-space:normal;}
  .meal-recipe-ingredient-row{grid-template-columns:1fr 34px;gap:8px;}
  .meal-recipe-ingredient-row label{grid-column:1 / -1;}
  .meal-recipe-ingredient-remove{grid-column:2;grid-row:1;justify-self:end;}
  .meal-plan-autosave-status{right:12px;bottom:12px;left:12px;max-width:none;justify-content:flex-start;}
}

@media print{
  .meal-recipe-dialog,
  .meal-recipe-create-dialog,
  .meal-plan-autosave-status{display:none!important;}
}

@media(max-width:700px){
  .meal-recipe-ingredient-row .meal-recipe-ingredient-name{grid-column:1;grid-row:1;}
}

.meal-plan-page select[hidden][data-recipe-select],
.meal-recipe-result[hidden],
.meal-recipe-empty[hidden],
.meal-recipe-create-errors[hidden]{display:none!important;}

.meal-recipe-result{justify-content:stretch;}
[data-clear-meal-recipe][hidden]{display:none!important;}
@media(max-width:700px){
  .meal-recipe-dialog__actions-main{width:100%;}
}

/* v8.0.9 – final dialog alignment safeguards */
.meal-recipe-result{
  display:grid!important;
  justify-content:stretch!important;
}
.meal-recipe-dialog__actions-main{margin-left:auto;}
@media(max-width:700px){
  .meal-recipe-dialog__actions-main{margin-left:0;width:100%;}
}


/* v8.0.11 · kleine UI-Konsolidierung */
.button.back-action,
button.back-action{
  gap:6px;
}
.button.back-action .ci-icon,
button.back-action .ci-icon{
  margin-right:0;
  flex:0 0 auto;
}
.permission-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(124,156,137,.30);
  border-radius:14px;
  background:rgba(190,223,200,.18);
  color:var(--navy);
  font-size:12.5px;
  font-weight:750;
}
.permission-summary span{color:rgba(20,24,26,.62);font-weight:650;text-align:right;}
.permission-summary--compact{min-width:160px;justify-content:center;white-space:nowrap;}
@media (max-width:720px){
  .permission-summary{align-items:flex-start;flex-direction:column;}
  .permission-summary span{text-align:left;}
  .permission-summary--compact{min-width:0;align-items:center;}
}


/* v8.0.11 R2 — stringente Hinzufügen- und Dialog-Icons */
.button-add-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin:0;
  line-height:1;
  font-weight:inherit;
}

button.modal-close .ci-icon,
.modal-close .ci-icon{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  flex:0 0 18px!important;
  display:block!important;
}

.meal-recipe-favorite-filter .ci-icon{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
}

.meal-recipe-result__favorite{
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  color:rgba(43,50,68,.28);
}
.meal-recipe-result__favorite .ci-icon{
  width:18px!important;
  height:18px!important;
  margin:0!important;
}
.meal-recipe-result__favorite.is-active{
  color:var(--sage-dark);
}

/* v8.0.11 final · Essensplan, Aufklappsteuerung und UI-Konsistenz */

/* Plus und Beschriftung bleiben als getrennte Elemente mit festem Abstand. */
.button-add-mark{
  margin:0!important;
}
/* Dialog-X unabhängig von Schriftmetrik exakt zentrieren. */
button.modal-close,
.modal-close{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
}
button.modal-close .ci-icon,
.modal-close .ci-icon{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:auto!important;
  transform:none!important;
}

/* Kontakt- und Crewkarten: eindeutige, ausreichend große Chevron-Steuerung. */
.contact-card summary::after,
.crew-member-card summary::after{
  content:''!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin-left:auto!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:50%!important;
  background-color:var(--white)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E7C6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:16px 16px!important;
  box-sizing:border-box!important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease!important;
}
.contact-card summary:hover::after,
.crew-member-card summary:hover::after{
  background-color:rgba(190,223,200,.20)!important;
  border-color:rgba(124,156,137,.38)!important;
}
.contact-card[open] summary::after,
.crew-member-card[open] summary::after{
  transform:rotate(180deg)!important;
}
.crew-member-card summary{
  grid-template-columns:40px minmax(0,1fr) auto 34px!important;
}
@media(max-width:700px){
  .crew-member-card summary{
    grid-template-columns:38px minmax(0,1fr) 34px!important;
  }
  .crew-member-card summary .pill{
    grid-column:2!important;
  }
  .crew-member-card summary::after{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
  }
}

/* Essensplan: ruhige Tageskarten mit vier eigenständigen Mahlzeitenflächen. */
.meal-plan-page .meal-plan-days-panel{
  padding:0!important;
  overflow:hidden;
}
.meal-plan-page .meal-plan-days-body{
  padding:20px!important;
}
.meal-plan-page .day-stack.meal-plan-day-stack{
  gap:22px!important;
}
.meal-plan-page .day-card.meal-day-card{
  border-radius:24px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  box-shadow:0 12px 30px rgba(43,50,68,.06)!important;
  background:var(--white)!important;
}
.meal-plan-page .day-head.meal-day-head{
  min-height:106px!important;
  padding:22px 24px 18px!important;
  background:linear-gradient(180deg,var(--white),rgba(247,245,241,.38))!important;
}
.meal-plan-page .day-title-large{
  font-size:26px!important;
}
.meal-plan-page .day-date-line{
  margin-top:7px!important;
  font-size:12px!important;
}
.meal-plan-page .day-actions{
  gap:12px!important;
}
.meal-plan-page .day-actions .badge{
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid rgba(124,156,137,.24)!important;
  background:rgba(190,223,200,.18)!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
.meal-plan-page .day-actions .badge::before{
  content:'✓';
  margin-right:8px;
  font-weight:900;
}
.meal-plan-page .day-actions .badge-sand{
  border-color:rgba(203,187,167,.38)!important;
  background:rgba(203,187,167,.18)!important;
  color:#74624c!important;
}
.meal-plan-page .day-actions .badge-sand::before{
  content:'';
  margin:0;
}
.meal-plan-page .day-board-wrap{
  padding:20px 24px 24px!important;
}
.meal-plan-page .day-board-scroll{
  overflow:visible!important;
}
.meal-plan-page .day-board.meal-day-board{
  display:grid!important;
  grid-template-columns:repeat(var(--meal-columns),minmax(0,1fr))!important;
  gap:18px!important;
  min-width:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.meal-plan-page .meal-column.meal-slot-card{
  min-height:420px!important;
  padding:18px!important;
  gap:16px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:22px!important;
  background:rgba(247,245,241,.34)!important;
  box-shadow:none!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-planned{
  border-color:rgba(124,156,137,.30)!important;
  background:linear-gradient(145deg,rgba(190,223,200,.22),rgba(247,245,241,.34))!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-empty{
  border-color:rgba(203,187,167,.38)!important;
  background:rgba(247,245,241,.28)!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook{
  border-color:rgba(124,156,137,.24)!important;
  background:rgba(247,245,241,.50)!important;
}
.meal-plan-page .meal-label-row{
  min-height:28px!important;
}
.meal-plan-page .meal-title{
  color:var(--navy)!important;
  font-size:14px!important;
  font-weight:850!important;
}
.meal-plan-page .meal-status{
  min-height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:rgba(190,223,200,.28)!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:10.5px!important;
  letter-spacing:.02em!important;
}
.meal-plan-page .meal-status.open{
  visibility:hidden!important;
}
.meal-plan-page .meal-slot-card.is-no-cook .meal-status{
  background:rgba(203,187,167,.24)!important;
  color:#74624c!important;
}
.meal-plan-page .meal-picker.meal-select-card{
  width:100%!important;
  min-height:148px!important;
  margin-top:12px!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  text-align:left!important;
  box-shadow:none!important;
}
.meal-plan-page .meal-picker.meal-select-card:hover:not(:disabled){
  border-color:rgba(124,156,137,.46)!important;
  background:var(--white)!important;
  transform:none!important;
}
.meal-plan-page .meal-picker.meal-select-card.is-empty{
  border:1px dashed rgba(203,187,167,.70)!important;
  background:rgba(255,255,255,.62)!important;
}
.meal-plan-page .meal-picker.meal-select-card:disabled{
  opacity:1!important;
  cursor:default!important;
}
.meal-plan-page .meal-picker-icon{
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:18px!important;
  background:rgba(190,223,200,.30)!important;
  color:var(--sage-dark)!important;
}
.meal-plan-page .meal-picker-icon .ci-icon{
  width:31px!important;
  height:31px!important;
}
.meal-plan-page .is-empty .meal-picker-icon{
  background:rgba(124,156,137,.10)!important;
}
.meal-plan-page .meal-picker-copy{
  min-width:0!important;
  display:grid!important;
  gap:9px!important;
}
.meal-plan-page .meal-name{
  min-height:0!important;
  color:var(--navy)!important;
  font-size:18px!important;
  line-height:1.25!important;
}
.meal-plan-page .meal-name.empty{
  color:var(--navy)!important;
}
.meal-plan-page .picker-action{
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--sage-dark)!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
.meal-plan-page .picker-action-symbol{
  display:inline-grid!important;
  place-items:center!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  line-height:1!important;
}
.meal-plan-page .picker-action-symbol .ci-icon{
  width:15px!important;
  height:15px!important;
}
.meal-plan-page .picker-action-symbol--edit{display:inline-grid!important;}
.meal-plan-page .picker-action-symbol--add{display:none!important;}
.meal-plan-page .meal-slot-card.is-empty .picker-action-symbol--add{display:inline-grid!important;}
.meal-plan-page .meal-slot-card.is-empty .picker-action-symbol--edit{display:none!important;}
.meal-plan-page .meal-slot-card.is-no-cook .picker-action-symbol{display:none!important;}
.meal-plan-page .meal-footer{
  gap:14px!important;
}
.meal-plan-page .meal-controls{
  min-height:34px!important;
}
.meal-plan-page .toggle-label{
  font-size:12.5px!important;
}
.meal-plan-page .info-dot{
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  font-size:11px!important;
}
.meal-plan-page .meal-note-field span{
  display:none!important;
}
.meal-plan-page .meal-note-field input{
  min-height:46px!important;
  padding:0 13px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.76)!important;
  font-size:12.5px!important;
}
.meal-plan-page .meal-extra-food{
  padding:0!important;
  border:0!important;
}
.meal-plan-page .meal-extra-food summary{
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 44px 0 14px!important;
  position:relative!important;
  border:1px solid rgba(124,156,137,.28)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.60)!important;
  color:var(--sage-dark)!important;
  font-size:12.5px!important;
  font-weight:850!important;
  box-sizing:border-box!important;
}
.meal-plan-page .meal-extra-food summary:hover{
  border-color:rgba(124,156,137,.52)!important;
  background:rgba(190,223,200,.12)!important;
}
.meal-plan-page .meal-extra-food summary::after{
  content:''!important;
  position:absolute!important;
  right:9px!important;
  top:50%!important;
  width:28px!important;
  height:28px!important;
  margin-top:-14px!important;
  border:1px solid rgba(124,156,137,.22)!important;
  border-radius:50%!important;
  background-color:var(--white)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E7C6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:14px 14px!important;
  transition:transform .18s ease!important;
}
.meal-plan-page .meal-extra-food[open] summary::after{
  transform:rotate(180deg)!important;
}
.meal-plan-page .meal-extra-food-form{
  margin-top:10px!important;
}
.meal-plan-page .meal-extra-food button[type="submit"]{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
  color:var(--white)!important;
}
.meal-plan-page .meal-extra-food button[type="submit"]:hover{
  background:var(--navy-light)!important;
  border-color:var(--navy-light)!important;
}

@media(max-width:1180px){
  .meal-plan-page .day-board.meal-day-board{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .meal-plan-page .meal-plan-days-body{
    padding:12px!important;
  }
  .meal-plan-page .day-head.meal-day-head{
    min-height:0!important;
    padding:18px!important;
  }
  .meal-plan-page .day-board-wrap{
    padding:14px!important;
  }
  .meal-plan-page .day-board.meal-day-board{
    grid-template-columns:1fr!important;
  }
  .meal-plan-page .meal-column.meal-slot-card{
    min-height:0!important;
  }
}
.crew-member-card summary::after{
  grid-column:4!important;
  grid-row:1!important;
  justify-self:end!important;
}
@media(max-width:700px){
  .crew-member-card summary::after{
    grid-column:3!important;
  }
}

/* =========================================================
   v8.0.12 — Essensplan nach bestätigtem Referenzlayout
   Vier ruhige Mahlzeitenkarten, klare Rezeptfläche und
   konsistente Bedienelemente ohne Veränderung der Fachlogik.
========================================================= */
.meal-plan-page .meal-plan-days-panel{
  padding:0!important;
  overflow:hidden!important;
}
.meal-plan-page .meal-plan-days-body{
  padding:18px!important;
}
.meal-plan-page .day-stack.meal-plan-day-stack{
  gap:22px!important;
}
.meal-plan-page .day-card.meal-day-card{
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:24px!important;
  background:var(--white)!important;
  box-shadow:0 12px 30px rgba(43,50,68,.07)!important;
}
.meal-plan-page .day-card.meal-day-card::before{
  content:none!important;
}
.meal-plan-page .day-head.meal-day-head{
  min-height:86px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  padding:18px 26px!important;
  border-bottom:1px solid rgba(43,50,68,.10)!important;
  background:linear-gradient(180deg,#fff,rgba(247,245,241,.34))!important;
}
.meal-plan-page .day-title-large{
  margin:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:26px!important;
  line-height:1.08!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
}
.meal-plan-page .day-date-line{
  margin:6px 0 0!important;
  color:rgba(43,50,68,.58)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:650!important;
}
.meal-plan-page .day-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.meal-plan-page .day-actions .badge{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 15px!important;
  border:1px solid rgba(124,156,137,.25)!important;
  border-radius:14px!important;
  background:rgba(190,223,200,.16)!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.meal-plan-page .day-actions .badge::before{
  content:none!important;
}
.meal-plan-page .day-actions .badge .ci-icon{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}
.meal-plan-page .day-actions .badge-sand{
  border-color:rgba(124,156,137,.25)!important;
  background:rgba(190,223,200,.16)!important;
  color:var(--sage-dark)!important;
}
.meal-plan-page .copy-day-trigger{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 15px!important;
  border-radius:14px!important;
  font-size:13px!important;
  font-weight:800!important;
}
.meal-plan-page .copy-day-trigger .ci-icon{
  width:18px!important;
  height:18px!important;
}
.meal-plan-page .day-board-wrap{
  padding:18px 22px 22px!important;
}
.meal-plan-page .day-board-scroll{
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:thin!important;
  padding-bottom:2px!important;
}
.meal-plan-page .day-board.meal-day-board{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(260px,1fr))!important;
  gap:16px!important;
  min-width:1120px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.meal-plan-page .meal-column.meal-slot-card{
  min-width:0!important;
  min-height:356px!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  gap:14px!important;
  padding:15px!important;
  border:1px solid rgba(43,50,68,.11)!important;
  border-radius:20px!important;
  background:rgba(247,245,241,.30)!important;
  box-shadow:none!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-planned{
  border-color:rgba(124,156,137,.28)!important;
  background:linear-gradient(145deg,rgba(190,223,200,.20),rgba(247,245,241,.28))!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-empty{
  border-color:rgba(203,187,167,.34)!important;
  background:linear-gradient(145deg,rgba(247,245,241,.34),rgba(203,187,167,.08))!important;
}
.meal-plan-page .meal-column.meal-slot-card.is-no-cook{
  border-color:rgba(203,187,167,.34)!important;
  background:rgba(247,245,241,.52)!important;
}
.meal-plan-page .meal-label-row{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:0 4px!important;
}
.meal-plan-page .meal-title{
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
.meal-plan-page .meal-slot-card.is-planned .meal-title{
  color:var(--sage-dark)!important;
}
.meal-plan-page .meal-status{
  min-height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:rgba(190,223,200,.27)!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
.meal-plan-page .meal-status.open{
  visibility:hidden!important;
}
.meal-plan-page .meal-slot-card.is-no-cook .meal-status{
  background:rgba(203,187,167,.25)!important;
  color:#74624c!important;
}
.meal-plan-page button.meal-picker.meal-select-card{
  width:100%!important;
  min-height:122px!important;
  margin-top:10px!important;
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  padding:15px 18px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  color:var(--navy)!important;
  text-align:left!important;
  box-shadow:none!important;
  transform:none!important;
}
.meal-plan-page button.meal-picker.meal-select-card:hover:not(:disabled){
  border-color:rgba(124,156,137,.48)!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(43,50,68,.05)!important;
  transform:none!important;
}
.meal-plan-page button.meal-picker.meal-select-card:focus-visible{
  outline:3px solid rgba(124,156,137,.25)!important;
  outline-offset:3px!important;
}
.meal-plan-page button.meal-picker.meal-select-card.is-empty{
  grid-template-columns:58px minmax(0,1fr)!important;
  justify-content:center!important;
  padding:15px 28px!important;
  border:1px dashed rgba(203,187,167,.66)!important;
  background:rgba(255,255,255,.58)!important;
}
.meal-plan-page button.meal-picker.meal-select-card:disabled{
  opacity:.68!important;
  cursor:default!important;
}
.meal-plan-page .meal-picker-icon{
  width:88px!important;
  height:78px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sage-dark)!important;
}
.meal-plan-page .meal-picker-icon .ci-icon{
  width:58px!important;
  height:58px!important;
  stroke-width:1.55!important;
}
.meal-plan-page .meal-picker-icon.is-add{
  width:50px!important;
  height:50px!important;
  border-radius:50%!important;
  background:rgba(124,156,137,.10)!important;
}
.meal-plan-page .meal-picker-plus{
  display:block!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:29px!important;
  line-height:1!important;
  font-weight:400!important;
  transform:translateY(-1px)!important;
}
.meal-plan-page .meal-picker-copy{
  min-width:0!important;
  display:grid!important;
  align-content:center!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.meal-plan-page .meal-name{
  min-height:0!important;
  color:var(--navy)!important;
  font-family:var(--font-ui)!important;
  font-size:19px!important;
  line-height:1.18!important;
  font-weight:850!important;
  letter-spacing:-.015em!important;
}
.meal-plan-page .meal-name.empty{
  color:var(--navy)!important;
  font-size:16px!important;
}
.meal-plan-page .picker-action{
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.meal-plan-page .picker-action-symbol{
  width:16px!important;
  height:16px!important;
  flex:0 0 16px!important;
  display:inline-grid!important;
  place-items:center!important;
}
.meal-plan-page .picker-action-symbol .ci-icon{
  width:14px!important;
  height:14px!important;
}
.meal-plan-page .meal-slot-card.is-empty .picker-action-symbol{
  display:none!important;
}
.meal-plan-page .meal-footer{
  align-self:end!important;
  display:grid!important;
  gap:14px!important;
  padding-top:0!important;
}
.meal-plan-page .meal-controls{
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
}
.meal-plan-page .toggle-wrap{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
.meal-plan-page .toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
}
.meal-plan-page .toggle-switch{
  width:42px!important;
  height:24px!important;
  padding:2px!important;
}
.meal-plan-page .toggle-knob{
  width:18px!important;
  height:18px!important;
}
.meal-plan-page .toggle-input:checked + .toggle-switch .toggle-knob{
  transform:translateX(18px)!important;
}
.meal-plan-page .toggle-label{
  color:rgba(43,50,68,.78)!important;
  font-size:12.5px!important;
  font-weight:700!important;
}
.meal-plan-page .info-dot{
  width:19px!important;
  min-width:19px!important;
  height:19px!important;
  min-height:19px!important;
  border-color:rgba(43,50,68,.18)!important;
  color:rgba(43,50,68,.55)!important;
  font-size:10px!important;
}
.meal-plan-page .meal-note-field{
  display:block!important;
  margin:0!important;
}
.meal-plan-page .meal-note-field > span{
  display:none!important;
}
.meal-plan-page .meal-note-field input{
  width:100%!important;
  min-height:46px!important;
  padding:0 13px!important;
  border:1px solid rgba(43,50,68,.12)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--navy)!important;
  font-size:12px!important;
  font-weight:650!important;
}
.meal-plan-page .meal-note-field input::placeholder{
  color:rgba(43,50,68,.38)!important;
}
.meal-plan-page .meal-extra-food{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.meal-plan-page .meal-extra-food > summary,
.meal-plan-page .meal-extra-food summary{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  position:relative!important;
  padding:0 44px 0 14px!important;
  border:1px solid rgba(124,156,137,.27)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.58)!important;
  color:var(--sage-dark)!important;
  font-family:var(--font-ui)!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  font-weight:800!important;
  list-style:none!important;
  cursor:pointer!important;
}
.meal-plan-page .meal-extra-food summary::-webkit-details-marker{
  display:none!important;
}
.meal-plan-page .meal-extra-food summary:hover{
  border-color:rgba(124,156,137,.50)!important;
  background:rgba(190,223,200,.10)!important;
}
.meal-plan-page .meal-extra-food summary::after{
  content:''!important;
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  width:28px!important;
  height:28px!important;
  margin-top:-14px!important;
  border:1px solid rgba(124,156,137,.22)!important;
  border-radius:50%!important;
  background-color:rgba(255,255,255,.90)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E7C6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:13px 13px!important;
  box-sizing:border-box!important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease!important;
}
.meal-plan-page .meal-extra-food[open] summary::after{
  transform:rotate(180deg)!important;
}
.meal-plan-page .meal-extra-food-form{
  margin-top:10px!important;
}

@media(max-width:760px){
  .meal-plan-page .meal-plan-days-body{
    padding:12px!important;
  }
  .meal-plan-page .day-head.meal-day-head{
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:18px!important;
  }
  .meal-plan-page .day-actions{
    justify-content:flex-start!important;
  }
  .meal-plan-page .day-board-wrap{
    padding:14px!important;
  }
}

/* v8.0.13 · Essensplan-Usability: flexible Karten, freie Rezeptwahl, Lebensmittel-Dialog */
.meal-plan-page .day-board-scroll{
  width:100%!important;
  overflow:visible!important;
}
.meal-plan-page .day-board.meal-day-board{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.meal-plan-page .meal-column.meal-slot-card{
  min-width:0!important;
}
.meal-plan-page button.meal-picker.meal-select-card{
  position:relative!important;
  display:block!important;
  min-height:122px!important;
  padding:16px 14px 16px 76px!important;
  overflow:hidden!important;
  text-align:center!important;
}
.meal-plan-page button.meal-picker.meal-select-card.is-empty{
  display:block!important;
  padding:16px 14px 16px 76px!important;
}
.meal-plan-page .meal-picker-icon,
.meal-plan-page .meal-picker-icon.is-add{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:52px!important;
  height:52px!important;
  transform:translateY(-50%)!important;
}
.meal-plan-page .meal-picker-icon .ci-icon{
  width:44px!important;
  height:44px!important;
}
.meal-plan-page .meal-picker-copy{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  text-align:center!important;
  gap:7px!important;
}
.meal-plan-page .meal-name{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:ellipsis!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  text-align:center!important;
  font-size:17px!important;
  line-height:1.2!important;
}
.meal-plan-page .meal-name.empty{
  font-size:16px!important;
}
.meal-plan-page .picker-action{
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
}
.meal-plan-page .meal-extra-food-trigger{
  width:100%!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  background:var(--navy)!important;
  border-color:var(--navy)!important;
  color:var(--white)!important;
  font-size:12.5px!important;
  font-weight:850!important;
  white-space:normal!important;
  text-align:center!important;
}
.meal-plan-page .meal-extra-food-trigger:hover{
  background:var(--navy-light)!important;
  border-color:var(--navy-light)!important;
}
.meal-extra-food-dialog{
  width:min(640px,calc(100vw - 32px));
  max-width:640px;
}
.meal-extra-food-dialog form{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
}
.meal-extra-food-dialog__body{
  display:grid;
  gap:14px;
}
.meal-extra-food-dialog__body label{
  display:grid;
  gap:6px;
  margin:0;
}
.meal-extra-food-dialog__amount{
  align-items:end;
}
.meal-extra-food-dialog .field-optional{
  color:rgba(20,24,26,.48);
  font-size:11px;
  font-weight:600;
}
.meal-extra-food-dialog .modal-actions{
  justify-content:flex-end;
}
.meal-recipe-results{
  gap:14px!important;
}
.meal-recipe-group{
  display:grid;
  gap:8px;
}
.meal-recipe-group[hidden]{
  display:none!important;
}
.meal-recipe-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:2px 2px 0;
}
.meal-recipe-group__head h3{
  margin:0;
  color:var(--navy);
  font-family:var(--font-ui);
  font-size:13px;
  line-height:1.25;
  font-weight:850;
}
.meal-recipe-group__head span{
  color:rgba(20,24,26,.48);
  font-size:10.5px;
  font-weight:700;
  white-space:nowrap;
}
.meal-recipe-group__list{
  display:grid;
  gap:8px;
}
.meal-recipe-result.is-meal-type-match{
  border-color:rgba(124,156,137,.22);
}
@media(max-width:1120px){
  .meal-plan-page .day-board.meal-day-board{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  .meal-plan-page .day-board.meal-day-board{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .meal-plan-page .day-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .meal-plan-page .day-actions .badge,
  .meal-plan-page .day-actions .button{
    width:100%!important;
    justify-content:center!important;
  }
  .meal-extra-food-dialog{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:18px;
  }
  .meal-extra-food-dialog__amount{
    grid-template-columns:1fr!important;
  }
  .meal-extra-food-dialog .modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .meal-extra-food-dialog .modal-actions .button{
    width:100%;
  }
  .meal-recipe-group__head{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}
@media print{
  .meal-extra-food-dialog{display:none!important;}
}

/* v8.0.14: Zusatzlebensmittel bleiben in der zugehörigen Mahlzeit sichtbar. */
.meal-plan-page .meal-extra-food-list{margin-top:12px;padding-top:10px;border-top:1px solid rgba(20,24,26,.10);display:grid;gap:6px}
.meal-plan-page .meal-extra-food-list__title{font-size:12px;font-weight:700;color:var(--sage-dark)}
.meal-plan-page .meal-extra-food-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;font-size:13px}
.meal-plan-page .meal-extra-food-list__amount{font-family:var(--font-mono,monospace);white-space:nowrap}
.meal-plan-page .meal-extra-food-list__item small{grid-column:1/-1;color:var(--muted, #66706b)}
/* v8.0.14: CI-konformer Prüfschritt für Mehrfachimporte. */
.recipe-import-review__head{align-items:center}.recipe-import-review__nav{display:flex;align-items:center;gap:10px}.recipe-import-review__jump{display:flex;gap:8px;overflow:auto;padding:16px 20px;border-bottom:1px solid rgba(20,24,26,.08)}.recipe-import-review__jump-button{border:1px solid rgba(20,24,26,.12);background:var(--white);border-radius:12px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;text-align:left;min-width:170px;font:inherit;color:var(--ink);cursor:pointer}.recipe-import-review__jump-button span{font-family:var(--font-mono,monospace)}.recipe-import-review__jump-button small{grid-column:2;color:var(--sage-dark)}.recipe-import-review__jump-button.is-active{border-color:var(--sage);box-shadow:0 0 0 2px rgba(124,156,137,.12)}.recipe-import-review__recipe{padding:22px;display:grid;gap:18px}.recipe-import-review__recipe[hidden]{display:none}.recipe-import-review__warnings{background:rgba(203,187,167,.18);border-radius:12px;padding:12px 14px}.recipe-import-review__warnings ul{margin:6px 0 0}.recipe-import-review__ingredients{display:grid;gap:10px}.recipe-import-review__ingredient{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.7fr) minmax(120px,1fr) minmax(160px,1.2fr);gap:10px;padding:12px;border:1px solid rgba(20,24,26,.09);border-radius:14px}.recipe-import-review__ingredient-note{grid-column:1/-1}.recipe-import-review__skip{display:flex;align-items:center;gap:8px}.recipe-import-review__actions{position:sticky;bottom:0;background:var(--white);border-top:1px solid rgba(20,24,26,.08);z-index:2}@media(max-width:850px){.recipe-import-review__head{align-items:flex-start}.recipe-import-review__ingredient{grid-template-columns:1fr 1fr}.recipe-import-review__ingredient-note{grid-column:1/-1}}@media(max-width:600px){.recipe-import-review__nav{width:100%;justify-content:space-between}.recipe-import-review__ingredient{grid-template-columns:1fr}.recipe-import-review__ingredient-note{grid-column:auto}}

.recipe-import-review__next-icon{display:inline-flex;transform:rotate(180deg)}
.recipe-import-review__ingredient-warning{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--sand,#CBBBA7);color:var(--ink,#14181A);font-weight:800;font-size:12px;vertical-align:middle}

/* =========================================================
   v8.0.16 — ausschließlich abgestimmte UI-Korrekturen
   - Bordbedarf-Kategorieheader = bestehender Getränke-Header
   - Tooltip bleibt innerhalb der Mahlzeitenkarte sichtbar
   - Importprüfung nutzt die bestehende Rezeptformular-Struktur
========================================================= */

/* Bordbedarf: exakt dieselben Maße und Typografie wie die Kategorieheader in Getränke. */
.board-supply-page-card .board-supply-category-head{
  min-height:42px!important;
  margin:0 0 8px!important;
  padding:9px 12px!important;
  align-items:center!important;
  gap:12px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:rgba(247,245,241,.82)!important;
}
.board-supply-page-card .board-supply-category-head .shopping-category-title{
  min-height:24px!important;
  align-items:center!important;
}
.board-supply-page-card .board-supply-category-head h3{
  margin:0!important;
  color:var(--navy)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
.board-supply-page-card .board-supply-category-head .responsible-pill{
  min-height:26px!important;
  padding:4px 9px!important;
  border:0!important;
  background:rgba(247,245,241,.92)!important;
  color:rgba(43,50,68,.72)!important;
  font-size:11px!important;
  line-height:1!important;
}

/* Essensplan: Tooltip öffnet in die Karte hinein statt links aus der Karte heraus. */
.meal-plan-page .meal-column.meal-slot-card{
  overflow:visible!important;
}
.meal-plan-page .toggle-wrap .info-tooltip{
  left:0!important;
  right:auto!important;
  z-index:40!important;
  max-width:min(220px,calc(100vw - 32px))!important;
}

/* Importprüfung: Formularbereich nutzt dieselben Bausteine wie "Rezept hinzufügen". */
.recipe-import-review__recipe.recipe-edit-form{
  padding:22px!important;
  display:grid!important;
  gap:18px!important;
}
.recipe-import-review__recipe.recipe-edit-form[hidden]{
  display:none!important;
}
.recipe-import-review__recipe .ingredient-table{
  width:100%;
}
.recipe-import-review__recipe .recipe-import-ingredient-name-cell{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.recipe-import-review__recipe .recipe-import-ingredient-name-cell input{
  min-width:0;
  width:100%;
}
.recipe-import-review__ingredient-warning{
  flex:0 0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin:0!important;
  border-radius:50%;
  background:var(--sand,#CBBBA7);
  color:var(--ink,#14181A);
  font-weight:800;
  font-size:12px;
}
@media(max-width:900px){
  .recipe-import-review__recipe .recipe-import-ingredient-name-cell{
    grid-column:auto;
  }
}

/* =========================================================
   v8.0.16.2 — Rezeptimport: konsistente Navigation, Warnungen und Abschlusskontrolle
========================================================= */
.recipe-import-review__nav{
  display:flex;
  align-items:center;
  gap:10px;
}
.recipe-import-review__nav-button{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:12px!important;
}
.recipe-import-review__nav-button .ci-icon{
  width:18px;
  height:18px;
}
.recipe-import-review__jump{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:14px 20px!important;
  border-bottom:1px solid rgba(20,24,26,.08)!important;
  scrollbar-width:thin;
}
.recipe-import-review__jump-button{
  flex:0 0 auto!important;
  min-width:0!important;
  max-width:280px!important;
  min-height:38px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  border:1px solid rgba(43,50,68,.14)!important;
  border-radius:999px!important;
  background:var(--white)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font-family:var(--font-ui)!important;
  font-size:13px!important;
  font-weight:800!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.recipe-import-review__jump-button:hover{
  border-color:rgba(43,50,68,.28)!important;
  background:var(--fog)!important;
}
.recipe-import-review__jump-button.active,
.recipe-import-review__jump-button.is-active{
  border-color:var(--navy)!important;
  background:var(--navy)!important;
  color:var(--white)!important;
  box-shadow:none!important;
}
.recipe-import-review__jump-button:focus-visible{
  outline:3px solid rgba(124,156,137,.30)!important;
  outline-offset:2px!important;
}
.recipe-import-review__jump-index{
  flex:0 0 auto;
  font-family:var(--font-mono)!important;
  font-size:11px;
  opacity:.72;
}
.recipe-import-review__jump-name{
  min-width:0;
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.recipe-import-review__jump-status{
  flex:0 0 auto;
  margin:0!important;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(203,187,167,.42);
  color:var(--ink);
  font-family:var(--font-ui)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
}
.recipe-import-review__jump-status[hidden]{display:none!important;}
.recipe-import-review__jump-button.active .recipe-import-review__jump-status,
.recipe-import-review__jump-button.is-active .recipe-import-review__jump-status{
  background:rgba(255,255,255,.18);
  color:var(--white);
}

.recipe-import-review__duplicate{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  padding:11px 13px;
  border:1px solid rgba(203,187,167,.55);
  border-radius:12px;
  background:rgba(203,187,167,.16);
  color:var(--ink);
  font-size:13px;
}
.recipe-import-review__duplicate[hidden]{display:none!important;}
.recipe-import-review__duplicate strong{color:var(--navy);}
.recipe-import-review__duplicate a{
  margin-left:auto;
  color:var(--sage-dark);
  font-weight:800;
  text-decoration:none;
}
.recipe-import-review__duplicate a:hover{text-decoration:underline;}

.recipe-import-review__recipe .recipe-import-ingredient-name-cell{
  position:relative!important;
  display:block!important;
  min-width:0!important;
}
.recipe-import-review__recipe .recipe-import-ingredient-name-cell input{
  width:100%!important;
  min-width:0!important;
}
.recipe-import-review__recipe .recipe-import-ingredient-name-cell.has-import-warning input{
  padding-right:38px!important;
}
.recipe-import-review__ingredient-warning{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:1!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:var(--sand,#CBBBA7)!important;
  color:var(--ink,#14181A)!important;
  font-family:var(--font-ui)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  pointer-events:none;
}
.recipe-import-review__ingredient-warning[hidden]{display:none!important;}
.recipe-import-review__warnings[hidden]{display:none!important;}

.recipe-import-review__skip{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  padding-top:4px;
}
.recipe-import-review .toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:9px;
  cursor:pointer;
  user-select:none;
}
.recipe-import-review .toggle-input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.recipe-import-review .toggle-switch{
  width:42px;
  height:24px;
  padding:2px;
  border:1px solid rgba(20,24,26,.10);
  border-radius:999px;
  background:rgba(20,24,26,.14);
  display:inline-flex;
  align-items:center;
  transition:all .16s ease;
}
.recipe-import-review .toggle-knob{
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--white);
  box-shadow:0 2px 6px rgba(20,24,26,.18);
  transform:translateX(0);
  transition:transform .16s ease;
}
.recipe-import-review .toggle-input:checked + .toggle-switch{
  background:var(--sage);
  border-color:var(--sage);
}
.recipe-import-review .toggle-input:checked + .toggle-switch .toggle-knob{
  transform:translateX(18px);
}
.recipe-import-review .toggle-input:focus-visible + .toggle-switch{
  outline:3px solid rgba(124,156,137,.30);
  outline-offset:2px;
}
.recipe-import-review .toggle-label{
  color:rgba(43,50,68,.78);
  font-size:12.5px;
  font-weight:700;
}

.recipe-import-review__client-error{
  margin:0 20px 12px!important;
}
.recipe-import-review__client-error[hidden]{display:none!important;}
.recipe-import-review__actions{
  gap:10px!important;
}
.recipe-import-review__actions .secondary-danger{
  background:var(--white)!important;
  color:#B84C4C!important;
  border:1px solid #B84C4C!important;
}
.recipe-import-review__actions .secondary-danger:hover{
  background:#F7EDED!important;
  color:#9F3E3E!important;
  border-color:#9F3E3E!important;
}

.recipe-import-summary-dialog{
  width:min(560px,calc(100vw - 32px));
}
.recipe-import-summary-dialog__body{
  display:grid;
  gap:14px;
}
.recipe-import-summary-dialog__stats{
  display:grid;
  gap:8px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--fog);
}
.recipe-import-summary-dialog__stats p{
  margin:0;
  display:flex;
  gap:6px;
  align-items:baseline;
}
.recipe-import-summary-dialog__stats strong{
  color:var(--navy);
  font-family:var(--font-mono);
}
.recipe-import-summary-dialog__stats [hidden]{display:none!important;}

@media(max-width:700px){
  .recipe-import-review__head{align-items:flex-start!important;}
  .recipe-import-review__nav{width:100%;justify-content:space-between;}
  .recipe-import-review__jump{padding:12px 14px!important;}
  .recipe-import-review__jump-button{max-width:240px!important;}
  .recipe-import-review__skip{justify-content:flex-start!important;}
  .recipe-import-review__duplicate a{margin-left:0;flex-basis:100%;}
  .recipe-import-review__actions{align-items:stretch!important;}
  .recipe-import-review__actions .button{width:100%;}
}
