:root{--bg:#f4f1ea;--paper:#fffdf8;--ink:#24231f;--muted:#716f67;--line:#d9d4c9;--accent:#315b4a;--soft:#dce8e1}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,56px);background:rgba(255,253,248,.96);border-bottom:1px solid var(--line)}
.topbar a{color:inherit;text-decoration:none}.brand{font-weight:800}.topbar nav{display:flex;gap:22px}
.page{width:min(1180px,calc(100% - 32px));margin:auto;padding:44px 0 70px}
h1{font-size:clamp(2rem,5vw,4rem);line-height:1.08;margin:0 0 24px}.eyebrow{margin:0 0 8px;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}
.hero{max-width:800px;padding:35px 0}.hero p{color:var(--muted);font-size:1.1rem}
.card-grid,.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card,.recipe-card,.list-row,.reader{background:var(--paper);border:1px solid var(--line);border-radius:18px}
.card,.recipe-card,.list-row{color:inherit;text-decoration:none}.card,.recipe-card{padding:24px}.card strong{display:block;font-size:3rem}.card small{color:var(--muted)}
.recipe-card h2,.list-row h2{margin:6px 0}.recipe-card p,.list-row p{margin:0;color:var(--muted)}
.row{display:flex;justify-content:space-between}.badge{padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:.78rem;font-weight:800}
.list{display:grid;gap:10px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:18px 20px}
.back{display:inline-block;margin-bottom:24px;color:var(--accent);text-decoration:none;font-weight:700}
.reader{padding:clamp(22px,4vw,52px)}.reader section{margin-top:30px}.meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted)}
.prose{white-space:pre-wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:28px 0}
.stats div{background:#f5f2ea;border-radius:12px;padding:13px 15px}.stats strong,.stats span{display:block}.stats span{font-size:.84rem;color:var(--muted)}
.cook-layout{display:grid;grid-template-columns:1fr;gap:34px}
.ingredients,.steps{margin:0;padding:0;list-style:none}.ingredients li{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.steps{counter-reset:step}.steps li{position:relative;padding:4px 0 24px 52px;font-size:1.08rem}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}
.notes{border-top:1px solid var(--line);padding-top:20px}
@media(max-width:760px){.page{width:min(100% - 20px,1180px);padding-top:24px}.cook-layout{grid-template-columns:1fr}.reader{padding:20px}.topbar{padding:13px 16px}}

.formatted-text strong{font-weight:800}.formatted-text em{font-style:italic}.formatted-text .text-underline{text-decoration:underline;text-underline-offset:2px}


.title-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.title-actions h1{margin-bottom:0}
.button,.search-form button{display:inline-block;border:0;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font:inherit;font-weight:750;padding:11px 16px;cursor:pointer}
.search-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:4px 0 18px}
.search-form input{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-size:1.05rem;padding:13px 15px;outline:none}
.search-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,91,74,.12)}
.result-info{color:var(--muted);margin:0 0 14px}
.empty-box{padding:22px;background:var(--paper);border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
@media(max-width:760px){.topbar{align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.title-actions{align-items:flex-start;flex-direction:column}.search-form{grid-template-columns:1fr}.search-form button{width:100%}}


.action-row,.detail-actions,.form-actions,.section-title-row{display:flex;gap:10px;align-items:center}
.action-row{justify-content:flex-end}.detail-actions{justify-content:space-between;margin-bottom:24px}.detail-actions .back{margin-bottom:0}
.button.secondary{background:var(--paper);color:var(--accent);border:1px solid var(--line)}
.button.small{padding:7px 10px;font-size:.9rem}
.editor-form{display:grid;gap:22px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid label,.block-label{display:grid;gap:6px;font-weight:700}.form-grid input,.form-grid select,.block-label textarea,.ingredient-line input,.step-line textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;padding:10px 12px
}
.form-grid .wide{grid-column:1/-1}.form-grid .wide2{grid-column:span 2}.form-grid .wide3{grid-column:1/-1}
.form-grid .check{display:flex;align-items:center;gap:8px;align-self:end;padding-bottom:10px}.form-grid .check input{width:auto}
.editor-section{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.editor-label{font-weight:800;margin-bottom:8px}
.toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.toolbar button{border:1px solid var(--line);background:#f8f5ee;border-radius:8px;padding:7px 9px;cursor:pointer}
.rich-editor{min-height:150px;border:1px solid var(--line);border-radius:10px;padding:12px;background:white;outline:none;white-space:pre-wrap}.rich-editor.tall{min-height:280px}.rich-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(49,91,74,.12)}
.ingredient-editor,#steps{display:grid;gap:9px}.ingredient-line{display:grid;grid-template-columns:120px 120px 1fr 40px;gap:8px}.step-line{display:grid;grid-template-columns:1fr 40px;gap:8px}
.remove{border:1px solid var(--line);background:#fff;border-radius:9px;font-size:1.3rem;cursor:pointer}.section-title-row{justify-content:space-between;margin-bottom:10px}.section-title-row h2{margin:0}
.form-actions{justify-content:flex-end}
@media(max-width:760px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.form-grid .wide,.form-grid .wide2,.form-grid .wide3{grid-column:auto}.ingredient-line{grid-template-columns:1fr 1fr}.ingredient-line input[name="ingredient_name"]{grid-column:1/-2}.action-row{justify-content:flex-start;flex-wrap:wrap}}


.import-form{margin-top:2px}.error-box{padding:14px 16px;border-radius:12px;border:1px solid #d9a7a7;background:#fff2f2;color:#7b2525;margin:14px 0}


.image-section{margin-top:34px}
.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 22px}
.image-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:12px}
.image-link{display:block;border-radius:12px;overflow:hidden;background:#eee}
.image-link img{display:block;width:100%;height:260px;object-fit:contain;background:#f3f0e8}
.image-meta-form{display:grid;gap:10px}
.image-meta-form label{display:grid;gap:5px;font-weight:700}
.image-meta-form input,.image-meta-form textarea,.image-upload-box input,.image-upload-box textarea{
  width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:9px 10px
}
.image-actions{display:flex;justify-content:flex-end}
.image-upload-box{margin-top:20px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}
.image-upload-box h3{margin-top:0}
.danger-button{border:1px solid #d8aaaa;background:#fff4f4;color:#8b2b2b;border-radius:9px;padding:8px 11px;font:inherit;font-weight:700;cursor:pointer}
@media(max-width:760px){.image-grid{grid-template-columns:1fr}.image-link img{height:auto;max-height:360px}}

.image-caption h3{margin:0 0 6px}
.image-caption p{margin:4px 0;color:var(--muted)}
.image-edit-details{border-top:1px solid var(--line);padding-top:10px}
.image-edit-details summary{cursor:pointer;font-weight:700;color:var(--accent);margin-bottom:10px}


.nutrition-editor-section{margin-top:4px}
.nutrition-basis-label{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700}
.nutrition-basis-label select{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:7px 9px}
.nutrition-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nutrition-input-grid label{display:grid;gap:6px;font-weight:700}
.input-with-unit{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.input-with-unit input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important}
.input-with-unit span{padding:0 11px;color:var(--muted);font-weight:700}
.nutrition-section{margin:26px 0}
.nutrition-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.nutrition-heading h2{margin-bottom:12px}
.nutrition-heading span{font-size:.9rem;color:var(--muted)}
.nutrition-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nutrition-card{display:flex;align-items:center;gap:12px;background:#f3f3ef;border-radius:12px;padding:14px 16px;min-height:78px}
.nutrition-icon{font-size:1.35rem;color:var(--accent);width:26px;text-align:center}
.nutrition-card strong{display:inline;font-size:1.05rem}
.nutrition-card small{display:block;margin-top:2px;line-height:1.25;color:var(--muted)}
@media(max-width:760px){
  .nutrition-input-grid,.nutrition-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nutrition-heading{align-items:flex-start;flex-direction:column;gap:0}
}
@media(max-width:430px){
  .nutrition-input-grid,.nutrition-cards{grid-template-columns:1fr}
}


/* Rezept-Leseansicht: Bereiche bewusst untereinander */
.recipe-layout-stacked,
.recipe-columns-stacked,
.cooking-grid-stacked{
    display:block !important;
    grid-template-columns:none !important;
}

.recipe-stacked-section{
    width:100%;
    margin:28px 0;
}

.ingredients-section,
.preparation-section{
    display:block !important;
    width:100%;
}

.recipe-stacked-section + .recipe-stacked-section{
    margin-top:34px;
}


/* KORREKTUR: Rezept-Leseansicht wirklich vertikal */
.recipe-main.recipe-main-stacked{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:32px !important;
}

.recipe-main.recipe-main-stacked > section,
.recipe-main.recipe-main-stacked .ingredients-section,
.recipe-main.recipe-main-stacked .preparation-section{
    width:100% !important;
    max-width:none !important;
    grid-column:1 / -1 !important;
}

.recipe-main.recipe-main-stacked .ingredients-section{
    order:1;
}

.recipe-main.recipe-main-stacked .preparation-section{
    order:2;
}


/* Rezept-Leseansicht: Ernährungswerte, Zutaten und Zubereitung untereinander */
.cook-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
}

.cook-layout > .nutrition-section,
.cook-layout > .ingredients-section,
.cook-layout > .preparation-section{
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:none !important;
}


/* Bibliothek */
.library-filter,
.search-bar{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin:20px 0 28px;
}
.library-filter select,
.search-bar input{
    min-height:42px;
}
.search-bar input{
    flex:1 1 320px;
}
.check-inline{
    display:flex;
    align-items:center;
    gap:8px;
}
.library-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.library-row{
    display:grid;
    grid-template-columns:110px minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:16px 18px;
    border:1px solid var(--border, #ddd);
    border-radius:14px;
    text-decoration:none;
    color:inherit;
    background:var(--card, #fff);
}
.library-row:hover{transform:translateY(-1px)}
.library-type{
    font-size:.85rem;
    font-weight:700;
    opacity:.75;
}
.library-main{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.library-main strong{font-size:1.05rem}
.library-main span{opacity:.72}
.library-meta{
    display:flex;
    gap:12px;
    align-items:center;
    white-space:nowrap;
}
.library-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.form-card{
    padding:22px;
    border:1px solid var(--border, #ddd);
    border-radius:16px;
    background:var(--card, #fff);
}
.form-grid.two{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.form-grid label{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.form-grid .full{grid-column:1 / -1}
.form-grid input,
.form-grid select,
.form-grid textarea{
    width:100%;
}
.check-field{
    flex-direction:row !important;
    align-items:center;
    align-self:end;
    min-height:42px;
}
.form-actions,
.header-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.form-error{
    margin:0 0 18px;
    padding:12px 14px;
    border-radius:10px;
    background:#fee;
}
.library-info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:24px 0;
}
.library-info-grid > div{
    padding:16px;
    border:1px solid var(--border, #ddd);
    border-radius:14px;
    background:var(--card, #fff);
    display:flex;
    flex-direction:column;
    gap:5px;
}
.library-info-grid span{
    font-size:.82rem;
    opacity:.65;
}
.read-section{margin:30px 0}
.button.danger{margin-top:24px}

@media (max-width:800px){
    .library-row{grid-template-columns:1fr}
    .library-meta{justify-content:flex-start}
    .form-grid.two{grid-template-columns:1fr}
    .form-grid .full{grid-column:auto}
    .library-info-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
    .library-info-grid{grid-template-columns:1fr}
}


/* ===== Neues Startseiten- und Kopfzeilen-Layout ===== */
:root{
  --ui-bg:#f7f4ee;
  --ui-surface:#fffdf9;
  --ui-border:#e6dfd4;
  --ui-text:#1c1c1a;
  --ui-muted:#6d6963;
  --ui-green:#174d32;
  --ui-green-soft:#e8f1e9;
  --ui-peach-soft:#fcebdc;
  --ui-blue-soft:#e7f0fb;
}

body{
  margin:0;
  background:var(--ui-bg);
  color:var(--ui-text);
}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,253,249,.97);
  border-bottom:1px solid var(--ui-border);
  backdrop-filter:blur(12px);
}

.topbar-inner{
  max-width:1760px;
  min-height:78px;
  margin:0 auto;
  padding:0 34px;
  display:flex;
  align-items:center;
  gap:34px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ui-green);
  text-decoration:none;
  font-size:1.35rem;
  font-weight:800;
  white-space:nowrap;
}

.brand-mark{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  font-size:2rem;
  transform:rotate(-25deg);
}

.main-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  min-width:0;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border-radius:16px;
  color:#232321;
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}

.nav-item:hover{
  background:#f1eee7;
}

.nav-item.active{
  background:var(--ui-green-soft);
  color:var(--ui-green);
}

.nav-icon{
  font-size:1.35rem;
  line-height:1;
}

.site-main{
  max-width:1760px;
  margin:0 auto;
  padding:46px 34px 64px;
}

.welcome{
  margin-bottom:34px;
}

.welcome h1{
  margin:0 0 8px;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.1;
  letter-spacing:-.03em;
}

.welcome p{
  margin:0;
  color:var(--ui-muted);
  font-size:1.15rem;
}

.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.dashboard-tile{
  min-height:370px;
  padding:34px 46px 38px;
  border:1px solid var(--ui-border);
  border-radius:24px;
  background:var(--ui-surface);
  color:inherit;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  box-shadow:0 1px 2px rgba(31,27,21,.02);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.dashboard-tile:hover{
  transform:translateY(-2px);
  border-color:#d9d0c4;
  box-shadow:0 12px 26px rgba(31,27,21,.06);
}

.tile-icon{
  width:88px;
  height:88px;
  margin-bottom:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:2.35rem;
  font-weight:700;
}

.tile-icon-knowledge{
  background:#f0e3d5;
  color:#704f36;
}

.tile-icon-recipes{
  background:var(--ui-peach-soft);
  color:#7e330b;
}

.tile-icon-library{
  background:var(--ui-blue-soft);
  color:#174d76;
}

.tile-icon-pet-care{
  background:#e5f3e6;
  color:#3d7746;
}

.tile-icon-notes{
  background:#eee4f5;
  color:#63427c;
}
.tile-icon-visit-care{background:#e5f3e6;color:#3d7746}
.tile-icon-tasks{background:#f8dddd;color:#a43e43}
.tile-icon-contracts{background:#f7edc9;color:#80601b}

.dashboard-tile h2{
  margin:0 0 28px;
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-.02em;
}

.tile-count{
  display:block;
  margin-bottom:8px;
  font-size:4.35rem;
  line-height:.95;
  letter-spacing:-.05em;
}

.tile-label{
  color:var(--ui-muted);
  font-size:1.2rem;
}

@media (max-width:1250px){
  .topbar-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    padding-top:14px;
    padding-bottom:14px;
  }
  .main-nav{
    width:100%;
    overflow-x:auto;
    padding-bottom:2px;
  }
}

@media (max-width:900px){
  .dashboard-grid{
    grid-template-columns:1fr;
  }
  .dashboard-tile{
    min-height:280px;
  }
}

@media (max-width:600px){
  .site-main{
    padding:30px 18px 48px;
  }
  .topbar-inner{
    padding-left:18px;
    padding-right:18px;
  }
  .dashboard-tile{
    padding:28px;
  }
  .tile-icon{
    width:72px;
    height:72px;
  }
}


/* ===== Wissensarchiv mit Explorer-Ordnerstruktur ===== */
.knowledge-explorer{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:24px;
  align-items:start;
}

.knowledge-entry-pane,
.folder-pane{
  min-width:0;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:20px;
  background:var(--ui-surface, #fffdf9);
  overflow:hidden;
}

.folder-pane{
  position:sticky;
  top:100px;
}

@media (min-width:901px){
  .folder-pane{
    max-height:calc(100vh - 120px);
    display:flex;
    flex-direction:column;
  }
  .folder-pane .folder-tree{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

.pane-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  border-bottom:1px solid var(--ui-border, #e6dfd4);
}

.pane-titlebar h2{
  margin:2px 0 0;
  font-size:1.25rem;
}

.pane-kicker{
  display:block;
  color:var(--ui-muted, #6d6963);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.entry-count{
  min-width:34px;
  height:34px;
  padding:0 9px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#f1eee7;
  font-weight:700;
}

.knowledge-entry-list{
  padding:10px;
}

.knowledge-entry-row{
  display:flex;
  align-items:stretch;
  min-height:78px;
  border-radius:13px;
  border:1px solid transparent;
  transition:background .14s ease, border-color .14s ease, opacity .14s ease;
}

.knowledge-entry-row:hover{
  background:#f8f5ef;
  border-color:#ebe4d9;
}

.knowledge-entry-row.dragging{
  opacity:.45;
}

.drag-handle{
  width:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  cursor:grab;
  color:#aaa39a;
  font-weight:800;
  user-select:none;
}

.drag-handle:active{cursor:grabbing}

.entry-link{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:12px 14px 12px 2px;
  color:inherit;
  text-decoration:none;
}

.entry-link strong{
  font-size:1.02rem;
}

.entry-link span,
.entry-link small{
  color:var(--ui-muted, #6d6963);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.icon-button{
  width:36px;
  height:36px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  font-size:1.3rem;
  line-height:1;
}

.icon-button:hover{background:#f3f0e9}

.folder-tree{
  padding:10px;
}

.folder-node.collapsed > .folder-children{
  display:none;
}

.folder-row{
  min-height:42px;
  border-radius:10px;
  display:flex;
  align-items:center;
  gap:4px;
  padding-right:7px;
  color:inherit;
  text-decoration:none;
  user-select:none;
  transition:background .12s ease, outline-color .12s ease;
}

.folder-row:hover{
  background:#f4f1eb;
}

.folder-row.selected{
  background:var(--ui-green-soft, #e8f1e9);
  color:var(--ui-green, #174d32);
}

.folder-row.drop-target{
  outline:2px solid #4c8d65;
  outline-offset:-2px;
  background:#e3f1e6;
}

.user-folder{
  padding-left:calc(var(--depth, 0) * 18px);
}

.folder-chevron{
  width:24px;
  height:30px;
  flex:0 0 24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  color:#777169;
  cursor:pointer;
  font-size:1.05rem;
}

.folder-chevron .spacer,
.folder-chevron.spacer{
  pointer-events:none;
}

.folder-main{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit;
  text-decoration:none;
  padding:7px 0;
}

.system-folder{
  padding-left:0;
}

.system-folder .folder-name{
  flex:1;
}

.folder-icon{
  width:23px;
  flex:0 0 23px;
  color:#9a6b2f;
  font-size:1.05rem;
}

.system-folder .folder-icon{
  color:#777169;
}

.folder-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.94rem;
}

.folder-count{
  min-width:24px;
  padding:2px 6px;
  border-radius:11px;
  color:#777169;
  background:#f1eee8;
  font-size:.75rem;
  text-align:center;
}

.folder-menu-button{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:0;
  border-radius:8px;
  background:transparent;
  cursor:pointer;
  color:#777169;
  opacity:0;
  transition:opacity .12s ease, background .12s ease;
}

.folder-row:hover .folder-menu-button,
.folder-row.selected .folder-menu-button{
  opacity:1;
}

.folder-menu-button:hover{
  background:#e9e4da;
}

.folder-help{
  margin:4px 14px 16px;
  padding:12px 14px;
  border-radius:12px;
  background:#f7f4ee;
  display:flex;
  flex-direction:column;
  gap:3px;
  color:var(--ui-muted, #6d6963);
  font-size:.82rem;
}

.folder-menu{
  position:fixed;
  z-index:200;
  width:195px;
  padding:6px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:12px;
  background:#fffdf9;
  box-shadow:0 14px 34px rgba(30,26,20,.16);
}

.folder-menu button{
  width:100%;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.folder-menu button:hover{
  background:#f2eee7;
}

.danger-text{
  color:#a33a32;
}

.toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:300;
  max-width:360px;
  padding:12px 16px;
  border-radius:12px;
  background:#233c2d;
  color:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}

.toast.error{
  background:#8a332d;
}

@media (max-width:1000px){
  .knowledge-explorer{
    grid-template-columns:1fr;
  }
  .folder-pane{
    position:static;
    order:-1;
  }
}

@media (max-width:600px){
  .knowledge-entry-row{
    min-height:70px;
  }
  .drag-handle{
    width:30px;
    flex-basis:30px;
  }
}


/* ===== Backup-Seite ===== */
.backup-panel{
  max-width:900px;
  display:flex;
  gap:28px;
  align-items:flex-start;
  padding:32px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:22px;
  background:var(--ui-surface, #fffdf9);
}

.backup-icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ui-green-soft, #e8f1e9);
  color:var(--ui-green, #174d32);
  font-size:2.4rem;
  font-weight:800;
}

.backup-copy{
  flex:1;
  min-width:0;
}

.backup-copy h2{
  margin:0 0 10px;
}

.backup-copy > p{
  color:var(--ui-muted, #6d6963);
}

.backup-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px 0;
}

.backup-status-item{
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 15px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:13px;
  background:#fbf9f5;
}

.backup-status-item div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.backup-status-item small{
  color:var(--ui-muted, #6d6963);
}

.status-dot{
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:50%;
}

.status-dot.ok{
  background:#39865b;
}

.status-dot.missing{
  background:#b66a5b;
}

.backup-action{
  margin-top:6px;
}

.backup-download-button{
  min-width:220px;
}

.backup-note{
  margin:16px 0 0;
  font-size:.9rem;
}

.backup-restore-note{
  max-width:900px;
  margin-top:20px;
  padding:20px 24px;
  border-radius:16px;
  background:#f0ede6;
}

.backup-restore-note h3{
  margin:0 0 7px;
}

.backup-restore-note p{
  margin:0;
  color:var(--ui-muted, #6d6963);
}

@media (max-width:700px){
  .backup-panel{
    flex-direction:column;
    padding:24px;
  }

  .backup-status-grid{
    grid-template-columns:1fr;
  }
}


/* ===== Login & Sicherheit ===== */
.auth-shell{
  min-height:calc(100vh - 190px);
  display:grid;
  place-items:center;
  padding:30px 0;
}

.auth-card{
  width:min(100%, 470px);
  padding:38px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:24px;
  background:var(--ui-surface, #fffdf9);
  box-shadow:0 18px 48px rgba(35,31,24,.07);
}

.auth-symbol{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:50%;
  background:var(--ui-green-soft, #e8f1e9);
  color:var(--ui-green, #174d32);
  font-size:2rem;
}

.auth-card h1{
  margin:.15rem 0 .6rem;
}

.auth-form{
  display:grid;
  gap:16px;
  margin-top:24px;
}

.auth-form label{
  display:grid;
  gap:7px;
  font-weight:700;
}

.auth-form input{
  width:100%;
  box-sizing:border-box;
  padding:13px 14px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:11px;
  background:#fff;
  font:inherit;
}

.auth-form input:focus{
  outline:2px solid rgba(23,77,50,.18);
  border-color:var(--ui-green, #174d32);
}

.auth-submit{
  margin-top:4px;
}

.security-hint{
  margin:18px 0 0;
  color:var(--ui-muted, #6d6963);
  font-size:.86rem;
  line-height:1.5;
}

.logout-form{
  margin-left:auto;
}

.logout-button{
  padding:10px 14px;
  border:1px solid var(--ui-border, #e6dfd4);
  border-radius:12px;
  background:#fffdf9;
  color:#4b4843;
  cursor:pointer;
  font:inherit;
  font-weight:700;
}

.logout-button:hover{
  background:#f2eee7;
}

@media (max-width:1250px){
  .logout-form{
    position:absolute;
    top:16px;
    right:24px;
  }
}

@media (max-width:600px){
  .auth-card{
    padding:28px 22px;
  }
}

/* ===== V3.1 Bereichsfarben ===== */
body.theme-knowledge{--accent:#856247;--soft:#f0e3d5;--area:#856247;--area-strong:#704f36;--area-soft:#f5eadf;--area-soft-2:#fcf8f4;--area-focus:rgba(133,98,71,.14)}
body.theme-recipes{--accent:#9a5428;--soft:#f7dfca;--area:#9a5428;--area-strong:#7e330b;--area-soft:#fcebdc;--area-soft-2:#fff7ef;--area-focus:rgba(154,84,40,.14)}
body.theme-library{--accent:#3c6f98;--soft:#dce9f6;--area:#3c6f98;--area-strong:#174d76;--area-soft:#e7f0fb;--area-soft-2:#f3f8fd;--area-focus:rgba(60,111,152,.14)}
body.theme-knowledge .nav-item.active,body.theme-recipes .nav-item.active,body.theme-library .nav-item.active{background:var(--area-soft);color:var(--area-strong)}
body.theme-knowledge .eyebrow,body.theme-recipes .eyebrow,body.theme-library .eyebrow,body.theme-knowledge .pane-kicker,body.theme-recipes .pane-kicker,body.theme-library .pane-kicker{color:var(--area-strong)}
body.theme-knowledge .button:not(.secondary):not(.ghost):not(.danger),body.theme-recipes .button:not(.secondary):not(.ghost):not(.danger),body.theme-library .button:not(.secondary):not(.ghost):not(.danger),body.theme-knowledge .search-form button,body.theme-recipes .search-form button,body.theme-library .search-form button,body.theme-knowledge .search-bar button,body.theme-recipes .search-bar button,body.theme-library .search-bar button{background:var(--area);color:#fff}
body.theme-knowledge .button.secondary,body.theme-recipes .button.secondary,body.theme-library .button.secondary{background:var(--area-soft-2);border-color:var(--area-soft);color:var(--area-strong)}
body.theme-knowledge .reader,body.theme-knowledge .editor-section,body.theme-knowledge .knowledge-entry-pane,body.theme-knowledge .folder-pane{border-color:#e3d0be}
body.theme-recipes .reader,body.theme-recipes .editor-section,body.theme-recipes .recipe-card{border-color:#efd9c5}
body.theme-library .library-row,body.theme-library .library-info-grid>div,body.theme-library .form-card,body.theme-library .read-section,body.theme-library .detail-section{border-color:#d6e3f0}
body.theme-recipes .badge,body.theme-recipes .stats div,body.theme-recipes .nutrition-card{background:var(--area-soft);color:var(--area-strong)}
body.theme-recipes .nutrition-card small,body.theme-recipes .stats span{color:#755b49}
body.theme-knowledge .knowledge-entry-row:hover,body.theme-knowledge .entry-count{background:var(--area-soft-2)}
body.theme-library .library-row:hover{background:var(--area-soft-2);border-color:#bfd4e7}
body.theme-knowledge input:focus,body.theme-knowledge textarea:focus,body.theme-knowledge select:focus,body.theme-recipes input:focus,body.theme-recipes textarea:focus,body.theme-recipes select:focus,body.theme-library input:focus,body.theme-library textarea:focus,body.theme-library select:focus,body.theme-knowledge .rich-editor:focus,body.theme-recipes .rich-editor:focus,body.theme-library .rich-editor:focus{border-color:var(--area);box-shadow:0 0 0 3px var(--area-focus);outline:none}
body.theme-recipes .steps li:before{background:var(--area)}
body.theme-knowledge .back,body.theme-recipes .back,body.theme-library .back,body.theme-knowledge .image-edit-details summary,body.theme-recipes .image-edit-details summary,body.theme-library .image-edit-details summary{color:var(--area-strong)}


/* ===== V3.1.2 SICHTBARE BEREICHSFARBEN =====
   Wissen = Pastellgrün | Rezepte = Pastellorange | Bibliothek = Pastellblau
   Der cremefarbene Seitenhintergrund bleibt erhalten. */

/* Bereichsfarbige obere Kante + Überschriften */
body.theme-knowledge .topbar{border-bottom:3px solid #ddc7b3}
body.theme-recipes .topbar{border-bottom:3px solid #efc59e}
body.theme-library .topbar{border-bottom:3px solid #bfd5ea}

body.theme-knowledge h1, body.theme-knowledge h2{color:#704f36}
body.theme-recipes h1, body.theme-recipes h2{color:#8a461d}
body.theme-library h1, body.theme-library h2{color:#285d88}

/* Aktiver Navigationspunkt deutlich in der jeweiligen Pastellfarbe */
body.theme-knowledge .nav-item.active{background:#f0e3d5!important;color:#704f36!important}
body.theme-recipes .nav-item.active{background:#f9e4d1!important;color:#8a461d!important}
body.theme-library .nav-item.active{background:#e2eef9!important;color:#285d88!important}

/* Primärbuttons */
body.theme-knowledge .button:not(.secondary):not(.ghost):not(.danger),
body.theme-knowledge .search-form button{background:#856247!important}
body.theme-recipes .button:not(.secondary):not(.ghost):not(.danger),
body.theme-recipes .search-form button{background:#b26a35!important}
body.theme-library .button:not(.secondary):not(.ghost):not(.danger),
body.theme-library .search-form button{background:#4d7fa7!important}

/* Wissen: Explorer, Eintragsliste und Bearbeitungsbereiche */
body.theme-knowledge .folder-pane,
body.theme-knowledge .knowledge-entry-pane,
body.theme-knowledge .editor-section,
body.theme-knowledge .image-upload-box{
  background:#fcf8f4;
  border-color:#e3d0be!important;
}
body.theme-knowledge .knowledge-entry-row:hover{background:#f7ede4!important}
body.theme-knowledge .folder-row.active,
body.theme-knowledge .folder-item.active,
body.theme-knowledge [data-folder-id].active{
  background:#f0e3d5!important;
  color:#704f36!important;
}
body.theme-knowledge .badge{background:#f0e3d5;color:#704f36}

/* Rezepte: Karten, Nährwerte und Formulare */
body.theme-recipes .recipe-card,
body.theme-recipes .reader,
body.theme-recipes .editor-section,
body.theme-recipes .image-upload-box{
  border-color:#efd4ba!important;
}
body.theme-recipes .recipe-card:hover{background:#fff8f1}
body.theme-recipes .stats div,
body.theme-recipes .nutrition-card,
body.theme-recipes .badge{
  background:#f9e4d1!important;
  color:#8a461d!important;
}
body.theme-recipes .steps li:before{background:#b26a35!important}

/* Bibliothek: Listen, Infokarten, Inhalt und Notizen */
body.theme-library .library-row,
body.theme-library .library-info-grid > div,
body.theme-library .form-card,
body.theme-library .read-section,
body.theme-library .detail-section{
  border-color:#cbddec!important;
}
body.theme-library .library-row:hover{background:#edf5fb!important}
body.theme-library .library-info-grid > div{
  background:#f3f8fd;
}
body.theme-library .read-section,
body.theme-library .detail-section,
body.theme-library .form-card{
  background:#f7fbff;
}
body.theme-library .library-type,
body.theme-library .badge{
  background:#e2eef9!important;
  color:#285d88!important;
}

/* Eingabefokus passend zum Bereich */
body.theme-knowledge input:focus,
body.theme-knowledge textarea:focus,
body.theme-knowledge select:focus{border-color:#a77e5e!important;box-shadow:0 0 0 3px rgba(167,126,94,.16)!important}

body.theme-recipes input:focus,
body.theme-recipes textarea:focus,
body.theme-recipes select:focus{border-color:#c7834e!important;box-shadow:0 0 0 3px rgba(199,131,78,.16)!important}

body.theme-library input:focus,
body.theme-library textarea:focus,
body.theme-library select:focus{border-color:#6f9abe!important;box-shadow:0 0 0 3px rgba(111,154,190,.16)!important}

/* Sekundärbuttons dezent passend */
body.theme-knowledge .button.secondary{background:#fcf8f4!important;color:#704f36!important;border-color:#e3d0be!important}
body.theme-recipes .button.secondary{background:#fff8f1!important;color:#8a461d!important;border-color:#efd4ba!important}
body.theme-library .button.secondary{background:#f3f8fd!important;color:#285d88!important;border-color:#cbddec!important}

/* ===== V3.3 Einheitliche dunkle Bereichsbuttons auf den Startseiten ===== */
body.theme-knowledge .page-header .header-actions .button,
body.theme-knowledge .title-actions .action-row .button{
  background:#856247 !important;color:#fff !important;border-color:#856247 !important;
}
body.theme-knowledge .page-header .header-actions .button:hover,
body.theme-knowledge .title-actions .action-row .button:hover{
  background:#704f36 !important;border-color:#704f36 !important;
}

body.theme-recipes .page-header .header-actions .button,
body.theme-recipes .title-actions .action-row .button{
  background:#9a5428 !important;color:#fff !important;border-color:#9a5428 !important;
}
body.theme-recipes .page-header .header-actions .button:hover,
body.theme-recipes .title-actions .action-row .button:hover{
  background:#7e330b !important;border-color:#7e330b !important;
}

body.theme-library .page-header .header-actions .button,
body.theme-library .title-actions .action-row .button{
  background:#3c6f98 !important;color:#fff !important;border-color:#3c6f98 !important;
}
body.theme-library .page-header .header-actions .button:hover,
body.theme-library .title-actions .action-row .button:hover{
  background:#174d76 !important;border-color:#174d76 !important;
}

/* ===== V3.4 Laufzeit Stunden + Minuten ===== */
.duration-fields{display:grid;gap:6px}
.duration-fields .field-label{font-weight:700}
.duration-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.duration-inputs label{display:grid;gap:6px;font-weight:700}


/* ===== V3.5 Buchcover ===== */
.cover-form-layout{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start}
.cover-preview{width:150px;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:#edf3f8;border:1px solid #cbddec}
.cover-preview img{display:block;width:100%;height:100%;object-fit:cover}
.cover-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-weight:700;text-align:center;padding:14px}
.cover-upload-fields{display:grid;gap:10px}
.cover-upload-fields>label:not(.check-field){display:grid;gap:7px;font-weight:700}
.cover-upload-fields input[type="file"]{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px}

.library-row{grid-template-columns:58px auto 1fr auto!important}
.library-cover-thumb{width:48px;height:68px;border-radius:7px;overflow:hidden;background:#e2eef9;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.library-cover-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.library-cover-fallback{width:100%;height:100%;display:grid;place-items:center;background:#e2eef9;font-size:1.35rem}
.library-cover-fallback.large{font-size:3rem}

.library-detail-hero{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:34px;align-items:center;margin-bottom:28px}
.library-detail-cover{width:100%;aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:#e2eef9;box-shadow:0 7px 22px rgba(36,35,31,.12)}
.library-detail-cover img{display:block;width:100%;height:100%;object-fit:cover}
.library-detail-heading h1{margin-bottom:10px}
.library-detail-heading .lead{margin:0 0 22px}
.library-detail-heading .header-actions{justify-content:flex-start}

@media(max-width:760px){
  .cover-form-layout{grid-template-columns:110px 1fr}
  .cover-preview{width:110px}
  .library-row{grid-template-columns:48px 1fr auto!important}
  .library-row .library-type{display:none}
  .library-cover-thumb{width:42px;height:60px}
  .library-detail-hero{grid-template-columns:120px 1fr;gap:20px;align-items:start}
}
@media(max-width:520px){
  .cover-form-layout{grid-template-columns:1fr}
  .cover-preview{width:130px}
  .library-detail-hero{grid-template-columns:1fr}
  .library-detail-cover{width:150px}
}


/* ===== V3.6 Globale Suche ===== */
.home-global-search{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  max-width:860px;
  margin:0 0 32px;
}
.home-global-search input,
.global-search-form input{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
  color:var(--ink);
  font:inherit;
  font-size:1.05rem;
  padding:13px 15px;
}
.home-global-search input:focus,
.global-search-form input:focus{
  outline:none;
  border-color:#5d6f7d;
  box-shadow:0 0 0 3px rgba(93,111,125,.12);
}
.home-global-search .button,
.global-search-form .button{
  background:#454c52!important;
  border-color:#454c52!important;
}
.home-global-search .button:hover,
.global-search-form .button:hover{
  background:#2e3439!important;
  border-color:#2e3439!important;
}

.global-search-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  margin:0 0 24px;
}

.global-search-summary{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:8px 0 14px;
  color:var(--muted);
}
.global-search-summary strong{
  font-size:1.7rem;
  color:var(--ink);
}

.global-result-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:30px;}
.global-result-count{
  padding:12px 14px;
  border-radius:12px;
  font-size:.88rem;
  font-weight:700;
}
.global-result-count strong{margin-left:4px}
.knowledge-count{background:#e8f1e9;color:#174d32}
.recipe-count{background:#fcebdc;color:#7e330b}
.library-count{background:#e7f0fb;color:#174d76}
.pet-care-count{background:#eee4f5;color:#63427c}
.visit-care-count{background:#e4eff2;color:#285c66}.notes-count{background:#f1e7f7;color:#68447c}.tasks-count{background:#e8f2de;color:#3f6630}.contracts-count{background:#f8edca;color:#795d18}

.global-result-section{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  margin:0 0 22px;
}
.global-knowledge-section{border-top:4px solid #b89578}
.global-recipe-section{border-top:4px solid #d89a68}
.global-library-section{border-top:4px solid #82a9ca}

.global-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.global-section-heading>div{display:flex;align-items:center;gap:9px}
.global-section-heading h2{margin:0}
.global-section-heading>span{font-size:.9rem;color:var(--muted)}
.global-section-icon{font-size:1.2rem}

.global-result-list{display:grid;gap:8px}
.global-result-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  color:inherit;
  text-decoration:none;
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 15px;
  background:#fffefa;
  transition:transform .12s ease, background .12s ease;
}
.global-result-card:hover{transform:translateY(-1px);background:#faf8f2}
.global-result-card strong,
.global-result-card span,
.global-result-card small{display:block}
.global-result-card span{color:var(--muted)}
.global-result-card small{color:var(--muted);margin-top:2px}
.global-arrow{font-size:1.6rem!important;color:var(--muted)!important}

.library-global-card{
  grid-template-columns:42px 1fr auto;
}
.global-library-cover{
  width:38px;
  height:54px;
  border-radius:6px;
  overflow:hidden;
  background:#e7f0fb;
  display:grid;
  place-items:center;
}
.global-library-cover img{width:100%;height:100%;object-fit:cover;display:block}
.global-empty{
  padding:16px;
  border-radius:10px;
  background:#f7f5ef;
  color:var(--muted);
}

.global-search-intro{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}
.global-intro-item{
  display:grid;
  gap:7px;
  padding:22px;
  border-radius:16px;
}
.global-intro-item>span{font-size:1.5rem}
.global-intro-item strong{font-size:1.12rem}
.global-intro-item small{color:var(--muted);line-height:1.45}
.knowledge-intro{background:#eef6f0}
.recipe-intro{background:#fff2e7}
.pet-care-intro{background:#f4edf8}
.library-intro{background:#edf5fc}

@media(max-width:760px){
  .home-global-search,.global-search-form{grid-template-columns:1fr}
  .home-global-search .button,.global-search-form .button{width:100%}
  .global-search-intro{grid-template-columns:1fr}
}


/* ===== V3.7 Schlagwörter ===== */
.tag-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:13px 0 18px;
}
.tag-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  text-decoration:none;
  font-size:.88rem;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .12s ease, filter .12s ease;
}
.tag-chip:hover{transform:translateY(-1px);filter:brightness(.97)}
.tag-chip-knowledge{background:#e8f1e9;color:#174d32;border-color:#cadfce}
.tag-chip-recipe{background:#fcebdc;color:#7e330b;border-color:#f0cdae}
.tag-chip-library{background:#e7f0fb;color:#174d76;border-color:#c8dced}

.tag-overview{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:12px;
}
.tag-overview-card{
  display:grid;
  gap:5px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  color:inherit;
  text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.tag-overview-card:hover{
  transform:translateY(-2px);
  box-shadow:0 5px 16px rgba(36,35,31,.08);
}
.tag-overview-card strong{font-size:1.05rem}
.tag-overview-card>span{color:var(--muted);font-size:.9rem}
.tag-overview-card small{color:var(--muted);line-height:1.4}


/* ===== V3.8 Buch-/Hörbuchdetails in Listen und Suche ===== */
.library-format-details{
  display:flex;
  flex-wrap:wrap;
  gap:5px 12px;
  margin-top:4px;
}
.library-format-detail{
  color:#285d88!important;
  font-size:.86rem;
  font-weight:700;
}
.library-format-detail + .library-format-detail::before{
  content:"·";
  margin-right:12px;
  color:var(--muted);
}
.global-library-details{
  margin-top:3px;
}


/* ===== V3.9 Buchreihen ===== */
.series-link{
  color:#285d88;
  text-decoration:none;
  font-weight:700;
  position:relative;
  z-index:3;
}
.series-link:hover{text-decoration:underline}

.library-row-with-actions{
  position:relative;
}
.library-row-mainlink{
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
}
.library-row-with-actions > *:not(.library-row-mainlink){
  position:relative;
  z-index:2;
  pointer-events:none;
}
.library-row-with-actions .series-link{
  pointer-events:auto;
  z-index:4;
}
.library-series-line{
  display:block;
  margin-top:2px;
  font-size:.88rem;
  color:var(--muted);
}

.series-list{
  display:grid;
  gap:14px;
}
.series-card{
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:18px;
  align-items:center;
  padding:16px;
  border:1px solid #c8dced;
  border-radius:16px;
  background:#f7fbff;
}
.series-card-cover{
  width:68px;
  aspect-ratio:2/3;
  border-radius:8px;
  overflow:hidden;
  background:#e7f0fb;
  text-decoration:none;
}
.series-card-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.series-cover-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:1.7rem;
}
.series-band{
  display:inline-block;
  margin-bottom:4px;
  color:#285d88;
  font-weight:800;
  font-size:.9rem;
}
.series-card h2{
  margin:0 0 3px;
  font-size:1.15rem;
}
.series-card h2 a{
  color:inherit;
  text-decoration:none;
}
.series-card h2 a:hover{text-decoration:underline}
.series-author{
  margin:0 0 8px;
  color:var(--muted);
}
.series-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 12px;
  color:var(--muted);
  font-size:.88rem;
}
.series-meta span + span::before{
  content:"·";
  margin-right:12px;
}
.series-open-button{
  white-space:nowrap;
}

@media(max-width:680px){
  .series-card{
    grid-template-columns:58px 1fr;
  }
  .series-card-cover{width:54px}
  .series-open-button{
    grid-column:1 / -1;
    justify-self:start;
  }
}


/* ===== V3.10 Beziehungen zwischen Wissenseinträgen ===== */
.relationship-section{
  margin-top:28px;
  padding:22px;
  border:1px solid #c9ddcf;
  border-radius:18px;
  background:#f3f8f4;
}
.relationship-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin:14px 0;
}
.relationship-card{
  padding:15px;
  border:1px solid #c9ddcf;
  border-radius:14px;
  background:#fff;
}
.relationship-incoming{background:#f9fcfa}
.relationship-direction{
  margin-bottom:6px;
  color:var(--muted);
  font-size:.88rem;
}
.relationship-target{
  display:inline-block;
  color:#174d32;
  font-size:1.04rem;
  font-weight:800;
  text-decoration:none;
}
.relationship-target:hover{text-decoration:underline}
.relationship-topic{
  display:block;
  margin-top:3px;
  color:#527061;
  font-size:.84rem;
}
.relationship-card p{
  margin:9px 0 4px;
  line-height:1.5;
}
.relationship-delete{
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:#8a4038;
  cursor:pointer;
  font:inherit;
  font-size:.82rem;
  text-decoration:underline;
}
.relationship-add-box{
  margin-top:16px;
  border-top:1px solid #c9ddcf;
  padding-top:14px;
}
.relationship-add-box summary{
  cursor:pointer;
  color:#174d32;
  font-weight:800;
}
.relationship-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.relationship-form label{
  display:grid;
  gap:6px;
  font-weight:700;
}
.relationship-form .wide,
.relationship-form .form-actions{
  grid-column:1 / -1;
}
.relationship-form select,
.relationship-form input{
  width:100%;
}
@media(max-width:680px){
  .relationship-form{grid-template-columns:1fr}
  .relationship-form .wide,
  .relationship-form .form-actions{grid-column:1}
}


/* ===== V3.11 Normaler Zeilenabstand ===== */
.prose,
.formatted-text,
.reading-text,
.reader section p,
.reader section li,
.notes p,
.relationship-card p{
  line-height:1.45;
}

.prose p,
.formatted-text p,
.reading-text p{
  margin-top:.45em;
  margin-bottom:.45em;
}


/* ===== V3.12 Zeilenabstand Wissen – korrigiert ===== */
body.theme-knowledge .reader,
body.theme-knowledge .reader .prose,
body.theme-knowledge .reader .formatted-text,
body.theme-knowledge .reader .prose.formatted-text,
body.theme-knowledge .reader .formatted-text *,
body.theme-knowledge .reader section p,
body.theme-knowledge .reader section li{
  line-height:1.35 !important;
}

body.theme-knowledge .reader .prose.formatted-text{
  white-space:normal;
}

body.theme-knowledge .reader .prose.formatted-text br{
  line-height:1.35 !important;
}

/* Auch im Wissens-Editor normaler Zeilenabstand */
body.theme-knowledge .rich-editor,
body.theme-knowledge .rich-editor *,
body.theme-knowledge .editor-section{
  line-height:1.35 !important;
}

body.theme-knowledge .reader section{
  line-height:1.35;
}


/* ===== V5.1 Tierbetreuung ===== */
body.theme-pet-care{--accent:#4f8a58;--soft:#e5f3e6;--area:#4f8a58;--area-strong:#3d7746;--area-soft:#e5f3e6;--area-soft-2:#f7fcf7;--area-focus:rgba(79,138,88,.15)}
body.theme-pet-care .topbar{border-bottom:3px solid #c9e4cc}
body.theme-pet-care h1,body.theme-pet-care h2{color:#3d7746}
body.theme-pet-care .nav-item.active{background:#e5f3e6!important;color:#3d7746!important}
body.theme-pet-care .button:not(.secondary):not(.ghost):not(.danger),
body.theme-pet-care .search-form button{background:#4f8a58!important;color:#fff}
body.theme-pet-care .button.secondary{background:#f7fcf7;border-color:#c9e4cc;color:#3d7746}
body.theme-pet-care .reader,
body.theme-pet-care .editor-section,
body.theme-pet-care .pet-care-card{border-color:#c9e4cc!important}
body.theme-pet-care .editor-section{background:#f9fdf9}
body.theme-pet-care .back{color:#3d7746}
body.theme-pet-care input:focus,
body.theme-pet-care textarea:focus,
body.theme-pet-care .rich-editor:focus{border-color:#4f8a58;box-shadow:0 0 0 3px rgba(79,138,88,.15);outline:none}

body.theme-notes{--accent:#75508b;--soft:#eee4f5;--area:#75508b;--area-strong:#5b386f;--area-soft:#eee4f5;--area-soft-2:#faf7fc;--area-focus:rgba(117,80,139,.15)}
body.theme-notes .topbar{border-bottom:3px solid #dccbe9}
body.theme-notes h1,body.theme-notes h2{color:#5b386f}
body.theme-notes .nav-item.active{background:#eee4f5!important;color:#5b386f!important}
body.theme-notes .button:not(.secondary):not(.ghost):not(.danger),
body.theme-notes .search-form button{background:#75508b!important;color:#fff}
body.theme-notes .button.secondary{background:#faf7fc;border-color:#dccbe9;color:#5b386f}
body.theme-notes .reader,
body.theme-notes .editor-section,
body.theme-notes .note-card{border-color:#ddcde8!important}
body.theme-notes .editor-section{background:#fcf9fe}
body.theme-notes .back{color:#5b386f}
body.theme-notes input:focus,
body.theme-notes textarea:focus,
body.theme-notes .rich-editor:focus{border-color:#75508b;box-shadow:0 0 0 3px rgba(117,80,139,.15);outline:none}
body.theme-visit-care{--accent:#4f8a58;--soft:#e5f3e6;--area:#4f8a58;--area-strong:#3d7746;--area-soft:#e5f3e6;--area-soft-2:#f7fcf7;--area-focus:rgba(79,138,88,.15)}
body.theme-visit-care .topbar{border-bottom:3px solid #c9e4cc}body.theme-visit-care h1,body.theme-visit-care h2{color:#3d7746}body.theme-visit-care .nav-item.active{background:#e5f3e6!important;color:#3d7746!important}body.theme-visit-care .button:not(.secondary):not(.ghost):not(.danger),body.theme-visit-care .search-form button{background:#4f8a58!important;color:#fff}.visit-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.visit-table{width:100%;border-collapse:collapse}.visit-table th,.visit-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left}.visit-table th{background:#f7fcf7;color:#3d7746}.visit-table tr:last-child td{border-bottom:0}.visit-table td small{display:block;color:var(--muted);margin-top:3px}.visit-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.visit-form-grid label{display:grid;gap:6px;font-weight:700}.visit-form-grid input,.visit-form-grid select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit}.visit-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:22px 0}.visit-summary div{padding:14px;border:1px solid #c9e4cc;border-radius:12px;background:#f7fcf7}.visit-summary span{display:block;color:var(--muted);font-size:.9rem}.visit-summary strong{display:block;margin-top:5px;color:#3d7746}@media(max-width:760px){.visit-form-grid{grid-template-columns:1fr}.visit-table th,.visit-table td{white-space:nowrap;padding:11px}}

.note-list{display:grid;gap:12px}
.note-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:inherit;text-decoration:none}
.note-card:hover{background:#faf7fc;transform:translateY(-1px)}
.note-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#eee4f5;color:#63427c;font-size:1.5rem}
.note-card-main{display:grid;gap:3px;min-width:0}
.note-card-main strong{font-size:1.08rem;white-space:pre-wrap}
.note-card-main span{color:var(--muted);white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.note-card-main small{color:var(--muted)}
.note-card-main strong a{color:inherit;text-decoration:none}.note-card-main strong a:hover{text-decoration:underline}.note-card-clickable{cursor:pointer}.note-title-input{font-size:16px!important}.note-knowledge-links{display:flex!important;flex-wrap:wrap;gap:.35rem}.note-knowledge-links a{display:inline-block;color:var(--area-strong,#63427c);text-decoration:none;padding:.2rem .45rem;border-radius:999px;background:#eee4f5}.note-knowledge-links a:hover{text-decoration:underline}.note-knowledge-picker{margin-top:1rem}.note-knowledge-search{width:100%;box-sizing:border-box;margin:0 0 .65rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:9px;font:inherit}.note-knowledge-picker .visit-pet-info-option span{white-space:normal;overflow:visible;text-overflow:clip}
.note-reading-section{padding-bottom:24px;border-bottom:1px solid #eadfee}
.note-reading-section:last-child{padding-bottom:0;border-bottom:0}
.note-reading-section h2{margin-bottom:10px}
.note-reader .formatted-text{white-space:normal}
.note-delete-form{display:flex;justify-content:flex-end;margin-top:22px}
.note-checkbox{display:inline-grid;place-items:center;width:1.25em;height:1.25em;margin:0 .22em 0 0;padding:0;border:1px solid #957aa8;border-radius:4px;background:#fff;color:#63427c;font:inherit;line-height:1;vertical-align:-.13em;cursor:pointer}
.note-checkbox:hover{background:#f5eff9}
.note-checkbox.checked{background:#d9f0df;border-color:#529362;color:#1b6a31}

.pet-care-list{display:grid;gap:12px}
.pet-care-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:inherit;text-decoration:none}
.pet-care-card:hover{background:#f7fcf7;transform:translateY(-1px)}
.pet-care-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#e5f3e6;color:#3d7746;font-size:1.5rem}
.pet-care-card-main{display:grid;gap:3px;min-width:0}
.pet-care-card-main strong{font-size:1.08rem;white-space:pre-wrap}
.pet-care-card-main span{color:var(--muted);white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pet-care-card-main small{color:var(--muted)}
.pet-care-reading-section{padding-bottom:24px;border-bottom:1px solid #d7ead9}
.pet-care-reading-section:last-child{padding-bottom:0;border-bottom:0}
.pet-care-reading-section h2{margin-bottom:10px}
.pet-care-reader .formatted-text{white-space:normal}
.pet-care-delete-form{display:flex;justify-content:flex-end;margin-top:22px}
.global-pet-care-section{border-color:#c9e4cc}
.global-pet-care-section .global-section-icon{color:#3d7746}
.pet-care-global-card{border-left:3px solid #c9e4cc}

@media(max-width:760px){
  .pet-care-card{padding:15px;gap:12px}
  .pet-care-card-icon{width:40px;height:40px}
  .note-card{padding:15px;gap:12px}
  .note-card-icon{width:40px;height:40px}
}


/* ===== V5.5 Kompakte mobile Navigation ===== */
.mobile-menu-toggle{display:none}
.mobile-nav-menu{display:flex;align-items:center;gap:18px;flex:1;min-width:0}

@media(max-width:760px){
  .topbar{overflow:visible}
  .topbar-inner{
    position:relative;
    min-height:60px;
    padding:8px 18px!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
  }
  .brand{gap:8px;font-size:1.08rem}
  .brand-mark{width:32px;height:32px;font-size:1.55rem}
  .mobile-menu-toggle{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    margin-left:auto;
    border:1px solid var(--ui-border,#e6dfd4);
    border-radius:12px;
    background:#fffdf9;
    color:var(--ui-green,#174d32);
    font:inherit;
    font-size:1.55rem;
    line-height:1;
    cursor:pointer;
  }
  .mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{background:#f1eee7;outline:2px solid rgba(23,77,50,.18);outline-offset:2px}
  .mobile-nav-menu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:60;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:14px 18px 18px;
    background:rgba(255,253,249,.99);
    border-bottom:1px solid var(--ui-border,#e6dfd4);
    box-shadow:0 12px 24px rgba(31,27,21,.12);
  }
  .mobile-nav-menu.is-open{display:flex}
  .main-nav{
    display:grid!important;
    grid-template-columns:1fr;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    gap:4px!important;
  }
  .nav-item{padding:11px 12px;border-radius:12px}
  .logout-form{position:static!important;margin:0!important;width:100%}
  .logout-button{width:100%;min-height:42px;text-align:left}
  .site-main{padding-top:24px}
}


/* ===== V5.6 Kundenzuordnung in der Tierbetreuung ===== */

.visit-pet-info {
  margin: 1.4rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.visit-pet-info legend { font-weight: 700; padding: 0 .35rem; }
.visit-pet-info-select { display: block; width: min(100%, 34rem); min-height: 6.6rem; padding: .45rem; }
.visit-pet-info-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .45rem; }
.visit-pet-info-options[hidden],.visit-pet-info-options .visit-pet-info-option[hidden]{display:none!important}
.visit-pet-info-option { display: flex; align-items: center; min-width: 0; gap: .65rem; min-height: 2.35rem; padding: .55rem .7rem; border: 1px solid #c9d2e3; border-radius: .35rem; background: #f5f7fb; color: #243044; cursor: pointer; }
.visit-pet-info-option:hover { background: #ebf0f9; border-color: #9eacc5; }
.visit-pet-info-option:has(input:checked) { background: #e7eefb; border-color: #758ab0; }
.visit-pet-info-option input { width: 1rem; height: 1rem; margin: 0; accent-color: #405d91; flex: 0 0 auto; }
.visit-pet-info-option span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.visit-pet-info-options small { display: block; color: var(--muted); margin-top: .1rem; }
.visit-pet-info-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.visit-pet-info-links a { display: inline-block; padding: .25rem .55rem; border-radius: 999px; background: var(--surface-alt); text-decoration: none; }
.visit-pet-info-links a:hover { text-decoration: underline; }
.pet-care-name-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) minmax(150px,1fr);gap:14px}
.pet-care-name-row label{display:grid;gap:6px;font-weight:700}
.pet-care-name-row input,.pet-care-name-row select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;padding:10px 12px}
.pet-care-name-row input[name="name"]{font-size:14px}
.pet-care-name-row select.boolean-choice.is-yes{background:#e8f4ea;border-color:#76ad7e;color:#195c27;font-weight:800}
.pet-care-name-row select.boolean-choice.is-no{background:#fff0f0;border-color:#d99a9a;color:#8b2424;font-weight:800}
.pet-care-flags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.pet-care-flags span{padding:6px 10px;border-radius:999px;background:#eee4f5;color:#5b386f;font-size:.9rem}
.pet-care-flags span.is-yes{background:#e8f4ea;color:#195c27}
.pet-care-flags span.is-no{background:#fff0f0;color:#8b2424}
@media(max-width:760px){.pet-care-name-row{grid-template-columns:1fr}.pet-care-flags{margin-bottom:18px}}


/* ===== V3.13 Recherche-Assistent / Webimport ===== */
.import-analyze-card{padding:18px;margin-bottom:20px;border:1px solid #c9ddcf;border-radius:18px;background:#f3f8f4}
.import-analysis-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin:18px 0}
.import-analysis-summary>div{display:grid;gap:3px;padding:13px;border:1px solid #c9ddcf;border-radius:14px;background:#fff}
.import-analysis-summary strong{color:#174d32;font-size:1.2rem}
.import-analysis-summary span{color:var(--muted);font-size:.82rem}
.import-duplicate-warning{padding:14px 16px;margin:16px 0;border:1px solid #e1c48d;border-radius:14px;background:#fff8e8;line-height:1.45}
.import-duplicate-warning a{color:#7a5414;font-weight:800}
.import-preview-form{display:grid;gap:18px}
.import-preview-section{padding:20px;border:1px solid #c9ddcf;border-radius:18px;background:#f8fbf9}
.import-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.import-section-heading>div{display:flex;align-items:center;gap:10px}
.import-section-heading h2{margin:0;font-size:1.08rem}
.import-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#315b4a;color:#fff;font-size:.83rem;font-weight:800}
.import-hint{color:var(--muted);font-size:.82rem}
.import-preview-section textarea{width:100%;line-height:1.35}
.import-preview-section label small{display:block;margin-top:5px;color:var(--muted);font-weight:400}
.import-analysis-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.import-analysis-grid label{display:grid;gap:6px;font-weight:700}
.import-caution{margin:12px 0 0;color:#6d6049;font-size:.86rem}
.import-final-actions{padding:4px 0 18px}
@media(max-width:900px){.import-analysis-summary{grid-template-columns:repeat(2,1fr)}.import-analysis-grid{grid-template-columns:1fr}}
@media(max-width:560px){.import-analysis-summary{grid-template-columns:1fr}.import-section-heading{align-items:flex-start;flex-direction:column}}


/* ===== V3.14 Wissen: Bilder + Verknüpfungen beim Anlegen/Import ===== */
.knowledge-extra-section{
  border:1px solid #c9ddcf;
  border-radius:16px;
  background:#f7fbf8;
  padding:18px;
}
.compact-help{
  margin-top:-4px;
  margin-bottom:12px;
}
.import-attachment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.import-attachment-card{
  display:grid;
  gap:10px;
  padding:16px;
  border:1px solid #c9ddcf;
  border-radius:14px;
  background:#fff;
}
.import-attachment-card h3{
  margin:0 0 2px;
  color:#214f39;
}
.import-attachment-card label{
  display:grid;
  gap:6px;
  font-weight:700;
}
.import-attachment-card small{
  color:var(--muted);
}
@media(max-width:760px){
  .import-attachment-grid{grid-template-columns:1fr}
}


/* ===== V3.16 Wissensdateien / PDF-Vorschau ===== */
.file-section{margin-top:30px}
.knowledge-file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin:16px 0 20px}
.knowledge-file-card{overflow:hidden;border:1px solid #c9ddcf;border-radius:16px;background:#fff}
.pdf-preview-wrap{display:block;height:430px;background:#eef3ef;border-bottom:1px solid #d6e3d9;overflow:hidden}
.pdf-preview{display:block;width:100%;height:100%;border:0;background:#fff}
.document-file-preview{min-height:190px;display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;background:#edf4ef;border-bottom:1px solid #d6e3d9;text-decoration:none;color:inherit}
.document-file-preview>div:last-child{display:grid;gap:5px}
.document-file-preview span{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}
.document-file-icon{display:grid;place-items:center;width:76px;height:92px;border:2px solid #315b4a;border-radius:10px;color:#315b4a;background:#fff;font-weight:900;letter-spacing:.05em}
.file-caption{padding:15px 16px}
.file-caption h3{margin:0 0 7px;color:#214f39}
.file-caption p{line-height:1.4}
.file-original-name{color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
.file-link-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.file-link-row a{font-weight:700}
@media(max-width:600px){.knowledge-file-grid{grid-template-columns:1fr}.pdf-preview-wrap{height:340px}}


/* ===== V3.17 PDF-Vorschau – Frame-Fix ===== */
.pdf-preview-wrap{
  position:relative;
  width:100%;
}
.pdf-preview{
  min-height:100%;
}


/* ===== V4.1 RTF-Wissensimport ===== */
.knowledge-import-methods{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.knowledge-import-method{border:1px solid rgba(52,93,72,.2);border-radius:16px;padding:18px;background:rgba(255,255,255,.62)}
.import-method-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.import-method-heading h2{margin:0 0 4px;font-size:1.08rem}
.import-method-heading p{margin:0}
.import-method-icon{font-size:1.55rem;line-height:1}
.rtf-import-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.rtf-import-form input[type="file"]{min-width:0;width:100%}
.rtf-import-form button{white-space:nowrap}
.knowledge-import-method small{display:block;margin-top:8px;color:var(--muted)}
.import-file-result{margin:0 0 16px;padding:12px 15px;border:1px solid rgba(52,93,72,.22);border-radius:12px;background:rgba(232,244,236,.72)}
@media(max-width:820px){.knowledge-import-methods{grid-template-columns:1fr}}
@media(max-width:560px){.rtf-import-form{grid-template-columns:1fr}}


/* ===== V4.2 Quellenverwaltung ===== */
.source-section{margin-top:34px}
.knowledge-source-list{display:grid;gap:14px}
.knowledge-source-card{
  border:1px solid rgba(52,93,72,.18);
  border-radius:16px;
  padding:17px 18px;
  background:rgba(255,255,255,.68);
}
.source-card-head{display:flex;gap:12px;align-items:flex-start}
.source-card-head h3{margin:0;font-size:1.05rem}
.source-author{margin:4px 0 0;color:var(--muted)}
.source-type-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(52,93,72,.11);
  color:inherit;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
.source-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin:12px 0 0;
}
.source-meta div{display:flex;gap:6px}
.source-meta dt{font-weight:700}
.source-meta dd{margin:0}
.source-note{margin:12px 0 0;white-space:pre-line}
.source-open-row{margin:12px 0 0}
.source-edit-details,.source-add-box{
  margin-top:14px;
  border-top:1px solid rgba(52,93,72,.13);
  padding-top:12px;
}
.source-edit-details summary,.source-add-box summary{
  cursor:pointer;
  font-weight:700;
}
.source-form{margin-top:14px}
.source-actions{margin-top:12px}
.source-add-box{
  border:1px dashed rgba(52,93,72,.28);
  border-radius:16px;
  padding:15px 17px;
  background:rgba(255,255,255,.44);
}


/* ===== V4.4 Globale Suchfilter ===== */
.global-search-filter-form{
  display:grid;
  gap:14px;
  margin-bottom:22px;
}
.global-filter-bar{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(145px,.7fr)) minmax(180px,1fr);
  gap:12px;
}
.global-filter-bar label,
.global-advanced-filter-grid label{
  display:grid;
  gap:6px;
  font-size:.88rem;
  font-weight:700;
}
.global-filter-bar input,
.global-filter-bar select,
.global-advanced-filter-grid input{
  width:100%;
}
.global-advanced-filters{
  border:1px solid rgba(70,82,68,.16);
  border-radius:15px;
  padding:13px 15px;
  background:rgba(255,255,255,.48);
}
.global-advanced-filters summary{
  cursor:pointer;
  font-weight:700;
}
.global-advanced-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:15px;
}
.global-filter-check{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:9px !important;
  min-height:44px;
  padding:9px 12px;
  border:1px solid rgba(70,82,68,.13);
  border-radius:12px;
  background:rgba(255,255,255,.55);
}
.global-filter-check input{
  width:auto !important;
  margin:0;
}
.global-filter-note{
  margin:12px 0 0;
  font-size:.84rem;
  color:var(--muted);
}
.global-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
@media(max-width:900px){
  .global-filter-bar{grid-template-columns:1fr 1fr}
  .global-advanced-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .global-filter-bar,
  .global-advanced-filter-grid{grid-template-columns:1fr}
}

body.theme-tasks{--accent:#b94d52;--soft:#f8dddd;--area:#b94d52;--area-strong:#8d3037;--area-soft:#f8dddd;--area-soft-2:#fff7f7;--area-focus:rgba(185,77,82,.15)}
body.theme-tasks .topbar{border-bottom:3px solid #efc2c4}body.theme-tasks h1,body.theme-tasks h2{color:#8d3037}body.theme-tasks .nav-item.active{background:#f8dddd!important;color:#8d3037!important}body.theme-tasks .button:not(.secondary):not(.ghost):not(.danger){background:#b94d52!important;color:#fff}
.task-list{display:grid;gap:12px}.task-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 20px;border:1px solid #efc2c4;border-left:18px solid #c98745;border-radius:14px;background:var(--paper);text-decoration:none;color:inherit}.task-card:hover{background:#fff7f7}.task-card strong,.task-card small{display:block}.task-card small{color:var(--muted);margin-top:5px}.task-category{display:inline-block;margin-bottom:5px;color:#8d3037;font-size:.86rem;font-weight:800}.task-card-side{display:grid;gap:6px;text-align:right}.task-status{color:var(--muted)}.priority-hoch{border-left-color:#c64b4e}.priority-mittel{border-left-color:#d79a42}.priority-niedrig{border-left-color:#6a9c76}.priority-choice.priority-hoch,.priority-badge.priority-hoch{background:#f8dddd;color:#942d34}.priority-choice.priority-mittel,.priority-badge.priority-mittel{background:#fff0cc;color:#8a5b10}.priority-choice.priority-niedrig,.priority-badge.priority-niedrig{background:#e1f0e3;color:#326a3d}.task-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.task-form-grid label{display:grid;gap:6px;font-weight:700}.task-form-grid input,.task-form-grid select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit}.task-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}.task-detail-meta span{padding:6px 10px;border-radius:999px;background:#f8dddd;color:#8d3037}.priority-badge{font-weight:800}@media(max-width:760px){.task-form-grid{grid-template-columns:1fr}.task-card{align-items:flex-start;flex-direction:column}.task-card-side{text-align:left}}

/* ===== V8.3 Verträge & Abos ===== */
body.theme-contracts{--accent:#a47a28;--soft:#f7edc9;--area:#a47a28;--area-strong:#80601b;--area-soft:#f7edc9;--area-soft-2:#fffaf0;--area-focus:rgba(164,122,40,.15)}
body.theme-contracts .topbar{border-bottom:3px solid #ead8a2}body.theme-contracts h1,body.theme-contracts h2{color:#80601b}body.theme-contracts .nav-item.active{background:#f7edc9!important;color:#80601b!important}body.theme-contracts .button:not(.secondary):not(.ghost):not(.danger){background:#a47a28!important;color:#fff}body.theme-contracts .reader,body.theme-contracts .editor-section,body.theme-contracts .contract-card{border-color:#ead8a2!important}body.theme-contracts .editor-section{background:#fffdf7}
.contract-list{display:grid;gap:12px}.contract-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border:1px solid #ead8a2;border-left:5px solid #b99036;border-radius:14px;background:var(--paper)}.contract-card:hover{background:#fffaf0}.contract-card-main{min-width:0;flex:1;color:inherit;text-decoration:none}.contract-card-main strong,.contract-card-main span,.contract-card-main small{display:block}.contract-card-main strong{font-size:1.08rem}.contract-card-main span{margin-top:4px;color:var(--muted)}.contract-card-main small{margin-top:5px;color:#80601b}.contract-card-deadline{display:grid;gap:4px;text-align:right}.contract-card-deadline b{color:#80601b}.contract-card-deadline small{color:var(--muted)}.contract-card-actions{display:flex;flex-wrap:wrap;gap:.45rem}.contract-card-actions .button{font-size:.82rem;padding:.45rem .6rem}.contract-overdue{border-left-color:#b94d52}.contract-overdue .contract-card-deadline b,.contract-overdue .contract-card-deadline small{color:#a43e43}.contract-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.contract-form-grid label{display:grid;gap:6px;font-weight:700}.contract-form-grid input,.contract-form-grid select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font:inherit}.contract-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.contract-detail-grid div{display:grid;gap:5px;padding:14px;border:1px solid #ead8a2;border-radius:12px;background:#fffdf7}.contract-detail-grid span{color:var(--muted);font-size:.88rem}.contract-detail-grid strong{color:#80601b}.contract-deadline-note{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#f7edc9;color:#80601b;font-weight:700}.contract-deadline-note.is-overdue{background:#f8dddd;color:#a43e43}@media(max-width:760px){.contract-form-grid,.contract-detail-grid{grid-template-columns:1fr}.contract-card{align-items:flex-start;flex-direction:column}.contract-card-deadline{text-align:left}}

.visit-month{margin:14px 0;border:1px solid #c9e4cc;border-radius:14px;background:var(--paper);overflow:hidden}
.visit-month summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:#f7fcf7;color:#3d7746;font-weight:800;cursor:pointer}
.visit-month summary small{color:var(--muted);font-weight:600}
.visit-month[open] summary{border-bottom:1px solid #c9e4cc}

.task-card-main{min-width:0;color:inherit;text-decoration:none;flex:1}
.task-status-label{display:grid;gap:3px;color:var(--muted);font-size:.8rem}
.task-status-label select{min-width:130px;padding:7px 8px;border:1px solid #efc2c4;border-radius:8px;background:#fff7f7;color:var(--ink);font:inherit}

/* ===== V7.14 Seitenleiste und kompakte Startseite ===== */
body.has-sidebar .topbar{margin-left:264px}
body.has-sidebar .topbar-inner{max-width:none;min-height:86px;margin:0;padding:12px 32px;gap:18px}
.top-welcome{display:grid;gap:2px;min-width:0}
.top-welcome strong{color:var(--ui-text,#24231f);font-size:1.15rem;line-height:1.2}
.top-welcome span{color:var(--muted);font-size:.92rem;line-height:1.35}
body.has-sidebar .mobile-nav-menu{position:fixed;inset:0 auto 0 0;z-index:80;display:flex!important;width:264px;flex-direction:column;align-items:stretch;gap:14px;padding:22px 14px 16px;overflow-x:hidden;overflow-y:auto;background:var(--ui-surface,#fffdf8);border-right:1px solid var(--ui-border,#e6dfd4);box-shadow:8px 0 22px rgba(31,27,21,.06)}
body.has-sidebar .mobile-nav-menu .main-nav{display:grid!important;grid-template-columns:1fr;width:100%;flex:0 0 auto;gap:5px}
body.has-sidebar .mobile-nav-menu .nav-item{justify-content:flex-start;min-height:43px;padding:10px 12px;border-radius:12px}
body.has-sidebar .mobile-nav-menu .logout-form{width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--ui-border,#e6dfd4)}
body.has-sidebar .mobile-nav-menu .logout-button{width:100%}
body.has-sidebar .site-main{width:auto;max-width:none;margin-left:264px;padding:30px 32px 56px}
body.has-sidebar .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.has-sidebar .dashboard-tile{min-height:246px;padding:24px 28px 26px;border-radius:18px}
body.has-sidebar .dashboard-tile .tile-icon{width:64px;height:64px;margin-bottom:18px;font-size:1.8rem}
body.has-sidebar .dashboard-tile h2{font-size:1.35rem;margin-bottom:7px}
body.has-sidebar .dashboard-tile p{font-size:.94rem}
body.has-sidebar .dashboard-tile .tile-count{margin-top:15px;font-size:2.4rem}
@media (max-width:1300px) and (min-width:761px){body.has-sidebar .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  body.has-sidebar .topbar{margin-left:0}
  body.has-sidebar .topbar-inner{min-height:64px;padding:9px 16px!important;gap:10px;flex-wrap:wrap!important}
  .top-welcome{order:3;width:100%;flex-basis:100%;padding:0 0 2px}
  .top-welcome strong{font-size:1rem}
  .top-welcome span{font-size:.78rem}
  body.has-sidebar .mobile-menu-toggle{display:grid}
  body.has-sidebar .mobile-nav-menu{top:0;right:auto;bottom:0;left:0;display:none!important;width:min(286px,88vw);padding:18px 14px;border-right:1px solid var(--ui-border,#e6dfd4);border-bottom:0;box-shadow:10px 0 28px rgba(31,27,21,.2)}
  body.has-sidebar .mobile-nav-menu.is-open{display:flex!important}
  body.has-sidebar .site-main{margin-left:0;padding:24px 18px 48px}
  body.has-sidebar .dashboard-grid{grid-template-columns:1fr;gap:14px}
  body.has-sidebar .dashboard-tile{min-height:0;padding:20px 22px}
}

/* ===== V7.15 Navigation als Teil des Hauptfensters ===== */
body.has-sidebar .topbar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:80;
  width:264px;
  margin-left:0;
  overflow-x:hidden;
  overflow-y:auto;
  border-right:1px solid var(--ui-border,#e6dfd4);
  border-bottom:0;
  box-shadow:8px 0 22px rgba(31,27,21,.06);
}
body.has-sidebar .topbar-inner{
  min-height:100%;
  padding:22px 14px 16px;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
}
body.has-sidebar .topbar .brand{padding:4px 8px 12px}
body.has-sidebar .topbar .top-welcome{display:none}
body.has-sidebar .topbar .mobile-menu-toggle{display:none}
body.has-sidebar .mobile-nav-menu{
  position:static;
  inset:auto;
  display:flex!important;
  width:auto;
  flex:1 0 auto;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
}
body.has-sidebar .site-main{margin-left:264px}
@media (max-width:760px){
  body.has-sidebar .topbar{
    position:sticky;
    inset:auto;
    z-index:80;
    width:auto;
    margin-left:0;
    overflow:visible;
    border-right:0;
    border-bottom:1px solid var(--ui-border,#e6dfd4);
    box-shadow:none;
  }
  body.has-sidebar .topbar-inner{
    min-height:60px;
    padding:8px 16px!important;
    flex-direction:row;
    align-items:center;
  }
  body.has-sidebar .topbar .brand{padding:0}
  body.has-sidebar .topbar .mobile-menu-toggle{display:grid}
  body.has-sidebar .mobile-nav-menu{
    position:fixed;
    inset:0 auto 0 0;
    display:none!important;
    width:min(286px,88vw);
    flex:unset;
    padding:18px 14px;
    overflow-x:hidden;
    overflow-y:auto;
    background:var(--ui-surface,#fffdf8);
    border-right:1px solid var(--ui-border,#e6dfd4);
    box-shadow:10px 0 28px rgba(31,27,21,.2);
  }
  body.has-sidebar .mobile-nav-menu.is-open{display:flex!important}
}

/* ===== V7.17 Korrektur der mobilen Breite ===== */
@media (max-width:760px){
  body.has-sidebar .site-main{
    width:auto;
    max-width:none;
    margin-left:0;
    padding:24px 18px 48px;
  }
  body.has-sidebar .topbar-inner{justify-content:flex-start}
  body.has-sidebar .topbar .mobile-menu-toggle{margin-left:0}
}

/* ===== V7.18 Eingeblendetes Handy-Menü ===== */
.mobile-nav-header,.mobile-menu-close,.mobile-menu-backdrop{display:none}
@media (max-width:760px){
  body.has-sidebar .mobile-nav-menu{
    display:flex!important;
    z-index:102;
    width:min(304px,86vw);
    padding:18px 14px 20px;
    transform:translateX(-110%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s ease,visibility 0s linear .24s;
  }
  body.has-sidebar .mobile-nav-menu.is-open{
    display:flex!important;
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .24s ease;
  }
  body.has-sidebar .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:101;
    display:block;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    background:rgba(28,31,27,.38);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease,visibility 0s linear .24s;
  }
  body.has-sidebar .mobile-menu-backdrop.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .24s ease;
  }
  body.has-sidebar .mobile-nav-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 2px 8px;
    padding:0 0 12px;
    border-bottom:1px solid var(--ui-border,#e6dfd4);
    color:var(--ui-text,#24231f);
    font-size:1.1rem;
  }
  body.has-sidebar .mobile-menu-close{
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border:1px solid var(--ui-border,#e6dfd4);
    border-radius:10px;
    background:#fffdf9;
    color:var(--ui-green,#174d32);
    font-size:1.8rem;
    line-height:1;
    cursor:pointer;
  }
}

/* ===== V7.20 Menü außerhalb des Kopfbereichs ===== */
body.has-sidebar .topbar{display:none}
body.has-sidebar .app-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:900;
  display:flex;
  width:264px;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:22px 14px 16px;
  overflow-x:hidden;
  overflow-y:auto;
  background:var(--ui-surface,#fffdf8);
  border-right:1px solid var(--ui-border,#e6dfd4);
  box-shadow:8px 0 22px rgba(31,27,21,.06);
}
body.has-sidebar .app-sidebar .main-nav{display:grid!important;grid-template-columns:1fr;width:100%;flex:0 0 auto;gap:5px}
body.has-sidebar .app-sidebar .nav-item{justify-content:flex-start;min-height:43px;padding:10px 12px;border-radius:12px}
body.has-sidebar .app-sidebar .logout-form{width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--ui-border,#e6dfd4)}
body.has-sidebar .app-sidebar .logout-button{width:100%}
body.has-sidebar .app-sidebar .sidebar-bottom-actions{display:grid;gap:8px;width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--ui-border,#e6dfd4)}
body.has-sidebar .app-sidebar .sidebar-bottom-actions .logout-form{margin:0;padding:0;border:0}
@media (max-width:760px){
  body.has-sidebar .topbar{
    position:sticky;
    top:0;
    z-index:2000;
    display:block;
    width:100%;
    margin:0;
    overflow:visible;
    background:rgba(255,253,249,.97);
    border-bottom:1px solid var(--ui-border,#e6dfd4);
  }
  body.has-sidebar .topbar-inner{min-height:60px;padding:8px 16px!important;justify-content:flex-start}
  body.has-sidebar .topbar .mobile-menu-toggle{display:grid;width:52px;height:52px;min-width:52px;flex:0 0 52px;place-items:center;margin-left:0;padding:0;border:1px solid var(--ui-border,#e6dfd4);border-radius:14px;background:#fffdf9;color:var(--ui-green,#174d32);font-size:2rem;line-height:1;cursor:pointer}
  body.has-sidebar .app-sidebar{
    z-index:2002;
    display:flex!important;
    width:min(304px,86vw);
    padding:18px 14px 20px;
    transform:translateX(-110%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s ease,visibility 0s linear .24s;
    box-shadow:10px 0 28px rgba(31,27,21,.2);
  }
  body.has-sidebar .app-sidebar.is-open{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .24s ease;
  }
  body.has-sidebar .mobile-menu-backdrop{z-index:2001}
  body.has-sidebar .app-sidebar .mobile-nav-header{display:flex}
  body.has-sidebar .site-main{margin-left:0}
}

/* ===== V7.21 Sicherheitsbereich ===== */
.flash-messages{display:grid;gap:8px;margin:0 0 18px}.flash-messages div{padding:12px 14px;border:1px solid #b7d8bd;border-radius:12px;background:#edf8ef;color:#225a2c;font-weight:650}
.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.security-card,.security-form-card{border:1px solid var(--ui-border,#e6dfd4);border-radius:18px;background:var(--ui-surface,#fffdf8);box-shadow:0 8px 20px rgba(31,27,21,.05)}.security-card{padding:26px}.security-card h2{margin:0 0 8px}.security-card p{min-height:76px;margin:0 0 20px;color:var(--ui-muted,#6d6963)}.security-card-icon{margin-bottom:14px;font-size:2rem}.security-form-card{max-width:720px;padding:26px}.security-status{padding:12px 14px;border-radius:12px;font-weight:700}.security-status.ok{background:#edf8ef;color:#225a2c}.security-steps{padding-left:22px}.totp-secret{display:block;max-width:100%;margin:14px 0;padding:14px;overflow-wrap:anywhere;border:1px dashed #a9b6a9;border-radius:12px;background:#f4f7f1;color:#223b27;font-size:1.05rem;font-weight:800;letter-spacing:.08em}.text-link{display:inline-block;margin-top:18px;color:var(--ui-green,#174d32)}
@media(max-width:760px){.security-grid{grid-template-columns:1fr}.security-card,.security-form-card{padding:20px}.security-card p{min-height:0}}

/* ===== V7.23 Aufgabensuche ===== */
.task-search-form{display:flex;gap:10px;align-items:center;margin:0 0 20px}.task-search-form input[type="search"]{min-width:0;flex:1;padding:11px 13px;border:1px solid var(--ui-border,#e6dfd4);border-radius:11px;background:var(--ui-surface,#fffdf8);font:inherit}.task-search-form input[type="search"]:focus{outline:2px solid rgba(23,77,50,.2);outline-offset:1px;border-color:var(--ui-green,#174d32)}@media(max-width:600px){.task-search-form{align-items:stretch;flex-direction:column}.task-search-form .button{text-align:center}}

/* ===== V7.24 Feste Aktionen unten in der Seitenleiste ===== */
body.has-sidebar .app-sidebar .sidebar-bottom-actions{position:sticky;bottom:-16px;z-index:2;background:var(--ui-surface,#fffdf8);padding-bottom:16px}

/* ===== V7.26 Tablet: untere Schaltflächen ohne Überlagerung ===== */
body.has-sidebar .app-sidebar .sidebar-bottom-actions{position:static;bottom:auto;z-index:auto;display:grid;grid-template-columns:1fr;gap:8px;margin-top:auto;padding:12px 0 0;background:transparent}
body.has-sidebar .app-sidebar .sidebar-bottom-actions .nav-item,body.has-sidebar .app-sidebar .sidebar-bottom-actions .logout-button{min-height:43px}

/* ===== V7.27 Alte Tablet-Positionierung des Abmeldebuttons aufheben ===== */
body.has-sidebar .app-sidebar .sidebar-bottom-actions .logout-form{position:static!important;top:auto!important;right:auto!important;left:auto!important}

/* ===== V7.28 Untere Navigation im Button-Stil ===== */
body.has-sidebar .app-sidebar .sidebar-bottom-actions .nav-item{width:100%;border:1px solid var(--ui-border,#e6dfd4);background:#fffdf9;color:var(--ui-text,#24231f);font-weight:700}
body.has-sidebar .app-sidebar .sidebar-bottom-actions .nav-item:hover{background:#f2eee7}
body.has-sidebar .app-sidebar .sidebar-bottom-actions .nav-item.active{background:var(--ui-green-soft,#e3f1e8);border-color:#b9d6c1;color:var(--ui-green,#174d32)}

/* ===== V8.8 Frei sortierbare Seitenleiste ===== */
body.has-sidebar .app-sidebar .sortable-nav-item{display:flex;align-items:stretch;gap:4px;min-width:0}
body.has-sidebar .app-sidebar .sortable-nav-item .nav-item{min-width:0;flex:1}
.nav-drag-handle,.nav-move-buttons{display:none}.nav-order-toggle{width:100%;margin:3px 0 0;padding:9px 10px;border:1px dashed var(--ui-border,#e6dfd4);border-radius:10px;background:transparent;color:var(--ui-muted,#6d6963);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.nav-order-toggle:hover{background:#f2eee7;color:var(--ui-text,#24231f)}.nav-order-help{margin:2px 4px 4px;color:var(--ui-muted,#6d6963);font-size:.78rem;line-height:1.35}.main-nav.is-sorting .sortable-nav-item{padding:2px;border:1px dashed #b9d6c1;border-radius:12px;background:#f7fcf8;cursor:grab}.main-nav.is-sorting .sortable-nav-item.is-dragging{opacity:.45}.main-nav.is-sorting .nav-drag-handle{display:grid;width:28px;min-width:28px;place-items:center;border:0;border-radius:9px;background:#e3f1e8;color:#174d32;font-size:1.25rem;line-height:1;cursor:grab}.main-nav.is-sorting .nav-move-buttons{display:grid;grid-template-columns:1fr;gap:2px}.main-nav.is-sorting .nav-move-buttons button{width:26px;min-width:26px;height:22px;padding:0;border:1px solid #b9d6c1;border-radius:6px;background:#fffdf9;color:#174d32;font:inherit;font-weight:800;line-height:1;cursor:pointer}.main-nav.is-sorting .nav-move-buttons button:hover{background:#e3f1e8}.main-nav.is-sorting .nav-item{padding-left:8px;padding-right:8px;pointer-events:none}

/* ===== V8.1 Tablet nutzt das eingeblendete Menü wie das Handy ===== */
@media (max-width:1024px){
  body.has-sidebar .topbar{position:sticky;top:0;z-index:2000;display:block;width:100%;margin:0;overflow:visible;background:rgba(255,253,249,.97);border-bottom:1px solid var(--ui-border,#e6dfd4)}
  body.has-sidebar .topbar-inner{min-height:60px;padding:8px 16px!important;justify-content:flex-start}
  body.has-sidebar .topbar .mobile-menu-toggle{display:grid;margin-left:0}
  body.has-sidebar .site-main{margin-left:0}
  body.has-sidebar .app-sidebar{z-index:2002;display:flex!important;width:min(304px,86vw);padding:18px 14px 20px;transform:translateX(-110%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility 0s linear .24s;box-shadow:10px 0 28px rgba(31,27,21,.2)}
  body.has-sidebar .app-sidebar.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .24s ease}
  body.has-sidebar .app-sidebar .mobile-nav-header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px;padding:0 0 12px;border-bottom:1px solid var(--ui-border,#e6dfd4);color:var(--ui-text,#24231f);font-size:1.1rem}
  body.has-sidebar .app-sidebar .mobile-menu-close{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--ui-border,#e6dfd4);border-radius:10px;background:#fffdf9;color:var(--ui-green,#174d32);font-size:1.8rem;line-height:1;cursor:pointer}
  body.has-sidebar .mobile-menu-backdrop{position:fixed;inset:0;z-index:2001;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:rgba(28,31,27,.38);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility 0s linear .24s}
  body.has-sidebar .mobile-menu-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s ease}
}
