/* Website-Markenwelt: Poppins, Wald, Tanne und Gold. Lokal ausgeliefert. */
:root {
 --preview-offset:0px;
 --font-h:'Poppins',system-ui,sans-serif; --font-b:'Poppins',system-ui,sans-serif;
 --bg:#fff; --panel:#f6f8f6; --ink:#0f150f; --meta:#5c685e;
 --accent:#0e7c3f; --accent-700:#0a6031; --accent-100:#eaf5ed;
 --accent-line:#a5cbb3; --accent-ink:#fff; --accent-kante:#0a3b20;
 --marke:#0a3b20; --gold:#e9b62f; --gold-ink:#795809;
 --rule:#b7ccbd; --hair:#ced8d0; --neutral-200:#e0e8e1;
 --amber:#876209; --amber-100:#fff6d9; --rot:#a83c36; --rot-100:#fff0ed;
 --r:14px; --r-sm:10px; --r-lg:20px;
 --schatten-1:0 2px 8px #0a3b2006; --schatten-2:0 5px 18px #0a3b200c;
 --schatten-3:0 12px 30px #0a3b2014; --pop:0 20px 65px #0a1f1226;
 --fokus:0 0 0 3px #e9b62f80; --card:#fff; --mut:#5c685e;
}
html[data-theme="dark"],html.sys-dark {
 --bg:#10251a; --panel:#173021; --ink:#f2f7f2; --meta:#b4c8b9;
 --accent:#62c98c; --accent-700:#8bdfac; --accent-100:#214632;
 --accent-line:#437756; --accent-ink:#0a1f12; --accent-kante:#8bdfac;
 --marke:#c5e5cf; --gold:#e9b62f; --gold-ink:#f6d889;
 --rule:#466550; --hair:#385441; --neutral-200:#304e3a;
 --amber:#f6d889; --amber-100:#3c351c; --rot:#f5a499; --rot-100:#402825;
 --card:#173021; --mut:#b4c8b9;
}
body,input,textarea,select,button {font-family:var(--font-b)}
body{background:var(--panel);color:var(--ink)}
h1,h2,h3,.h-greet{letter-spacing:-.035em;font-weight:700;line-height:1.25}
input,select,textarea{border-color:var(--hair);border-radius:var(--r-sm);accent-color:var(--accent)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
button,input,select,textarea,a{touch-action:manipulation}
#shell{grid-template-columns:254px minmax(0,1fr)}
#side{background:#0a3b20;color:#f5faf6;border:0;top:var(--preview-offset);height:calc(100vh - var(--preview-offset))}
.brand{display:flex;gap:12px;align-items:center;padding:30px 22px 26px;border-bottom:1px solid #ffffff26}
.brand img{background:#fff;border-radius:12px;padding:5px;flex-shrink:0}
.brand b{font-size:20px;line-height:1.25;color:#fff;font-weight:600;letter-spacing:-.03em}
.brand small{display:block;margin-top:7px;font-size:11px;letter-spacing:.06em;color:#d4e6d9}
.nav{padding:20px 12px;gap:5px}
.nav button{font-size:14px;font-weight:500;color:#dfede3;padding:12px 14px;border-radius:10px;min-height:46px}
.nav button:hover{background:#ffffff12;color:#fff}
.nav button.on{background:#e9b62f;color:#0a1f12;font-weight:600;box-shadow:none}
.nav button.on:hover{background:#f6d889;color:#0a1f12}
#side .foot{border-color:#ffffff26;color:#d4e6d9;font-size:13px;padding:20px}
#side .foot .theme{color:#d4e6d9}
#side .nav button small,#side .nav button .n{color:inherit}
#shell header{top:var(--preview-offset);min-height:78px;padding:16px 32px;background:var(--bg);border-bottom:1px solid var(--neutral-200);backdrop-filter:blur(12px)}
#shell .search{max-width:490px}
#shell .search input{padding:12px 16px;border:1px solid var(--hair);background:var(--panel);border-radius:12px;font-size:14px}
#shell .hd-note{font-size:12px;color:var(--meta)}
#shell main{padding:34px 32px 64px}
.h-greet,.ak-kopf h1{font-size:32px;color:var(--marke)}
.h-leit{margin-top:10px;color:var(--meta);font-size:15px}
.btn{border-radius:10px;font-weight:600;padding:11px 18px;box-shadow:none}
.btn.sm{padding:9px 13px;font-size:13px}
#shell header>.btn{background:var(--gold);border-color:var(--gold);color:#0a1f12}
#shell header>.btn:hover{background:#f6d889;border-color:#f6d889}
.btn.ghost{background:var(--bg)}
.chip2,.fchip,.dchip{border-radius:8px;padding:7px 12px;font-weight:500}
.kacheln{gap:18px;margin-top:16px}
.kach{padding:20px;border-radius:14px;box-shadow:var(--schatten-1);gap:9px}
.kach .k-name{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.kach .k-meta{line-height:1.6}
.kach:hover{transform:translateY(-2px);box-shadow:var(--schatten-3)}
.stapel-h{font-size:22px;font-weight:600;letter-spacing:-.025em}
.grp-head{padding:10px 0}
.arbliste .item{background:var(--bg);padding:16px;border-color:var(--neutral-200)}
.arbliste .item:hover{background:var(--accent-100)}
.arbliste .grp:first-child .grp-head+.item{border:1px solid var(--accent-line);border-left:4px solid var(--accent);border-radius:12px;padding:18px}
.ak-top{margin-bottom:20px}.ak-kopf{margin-bottom:24px}
.ak-body{gap:22px}.ak-body .brief,.ak-sekt,.ak-rechts .rk{background:var(--bg);border:1px solid var(--neutral-200);border-radius:14px;padding:20px;box-shadow:var(--schatten-1)}
.ak-sekt .h,.ak-rechts .rk .h{font-size:13px;color:var(--marke);letter-spacing:.035em;border-color:var(--neutral-200)}
.ak-body .ak-sekt .ak-sekt{box-shadow:none;padding:12px;margin-top:12px}
.ak-rechts{top:calc(98px + var(--preview-offset));max-height:calc(100vh - 110px - var(--preview-offset))}
.ak-sekt.verlauf>p{font-size:13px;margin:10px 0 16px}
.ml-item{background:var(--panel);border-color:var(--neutral-200);border-radius:10px;margin:9px 0}
.ml-item summary{padding:14px}.ml-body{line-height:1.75}
.ov-box{background:var(--bg);border:1px solid var(--neutral-200);border-radius:20px;box-shadow:var(--pop);padding:28px}
table.kt{background:var(--bg);border-radius:12px}table.kt th{background:var(--panel);color:var(--meta);font-weight:600}table.kt td{border-color:var(--neutral-200)}
.mailarchiv{font-family:var(--font-b);background:var(--panel);color:var(--ink)}
.mailarchiv main{max-width:1180px;margin:32px auto;padding:30px 36px 50px;background:var(--bg);border:1px solid var(--neutral-200);border-radius:20px;box-shadow:var(--schatten-2)}
.mailarchiv h1{color:var(--marke);font-size:34px}
.mailarchiv .muted,.mailarchiv time{color:var(--meta)}
.mailarchiv input,.mailarchiv select,.mailarchiv button{border-radius:10px;background:var(--bg);color:var(--ink);border-color:var(--hair)}
.mailarchiv button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.mailarchiv form{border-top:3px solid var(--gold);border-bottom:1px solid var(--neutral-200);padding:24px 0}
.mailarchiv details{border-color:var(--neutral-200)}.mailarchiv summary{padding:22px 8px}.mailarchiv summary:hover{background:var(--panel)}
.mailarchiv .direction{color:var(--accent-700)}.mailarchiv .addresses{border-color:var(--accent)}.mailarchiv .notice{background:var(--panel);border-radius:10px}
.merk-login{background:#0a3b20;font-family:var(--font-b)}
.merk-login .box{width:min(440px,calc(100vw - 32px));padding:40px;border:0;border-top:5px solid var(--gold);border-radius:20px;background:var(--bg);box-shadow:var(--pop)}
.merk-login h1{font-size:25px;color:var(--marke);margin:18px 0 8px}.merk-login .sub{text-transform:none;letter-spacing:0;font-size:14px;margin-bottom:28px}.merk-login input,.merk-login button{border-radius:10px;font-family:var(--font-b)}
@media(max-width:1100px){#shell{grid-template-columns:220px minmax(0,1fr)}#shell header{padding:14px 20px}.hd-note{display:none}#shell main{padding:26px 20px}.brand{padding:24px 16px}.kacheln{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}}
@media(max-width:820px){#shell{grid-template-columns:1fr}#side{position:static;height:auto}.brand{padding:18px 20px}.brand b br{display:none}.brand b{font-size:19px}.brand b br::after{content:' '}.nav{flex-direction:row;padding:12px;gap:4px}.nav button{font-size:13px;padding:10px 12px}.nav button.on{box-shadow:none}#side .foot{padding:10px 20px}#side .foot .theme{margin:0}#shell header{top:var(--preview-offset);padding:12px 16px}#shell main{padding:24px 16px}.h-greet,.ak-kopf h1{font-size:26px}.ak-rechts{position:static;max-height:none}.ak-sekt,.ak-body .brief,.ak-rechts .rk{padding:16px}.mailarchiv main{margin:16px 10px;padding:24px 18px;border-radius:14px}.mailarchiv h1{font-size:28px}.mailarchiv summary{padding:18px 4px}.kacheln{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.kach:hover{transform:none}}

body:has(#local-preview){--preview-offset:50px}
@media(max-width:600px){body:has(#local-preview){--preview-offset:64px;padding-top:64px!important}#local-preview{height:64px;display:flex;align-items:center;justify-content:center;font-size:11px!important;line-height:16px!important;padding:8px 12px!important}}

.archive-brand{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--marke);margin-bottom:24px}.archive-brand img{background:white;border-radius:8px;padding:3px}

.ak-rechts .abtn .btn{min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.ak-rechts .abtn .btn:first-child{grid-column:1/-1}

/* Kanban: feste Phasen, kompakte Karten, horizontale Board-Navigation. */
.kb-intro{font-size:14px;color:var(--meta);margin-top:8px}.kb-help{font-size:12px;color:var(--meta);margin:14px 0}.kb-board{display:flex;gap:16px;overflow-x:auto;align-items:flex-start;padding:0 0 20px;max-width:100%;scrollbar-color:var(--accent-line) var(--panel);scrollbar-width:thin}.kb-column{flex:0 0 290px;min-width:0;background:color-mix(in srgb,var(--neutral-200) 48%,var(--panel));border:1px solid var(--neutral-200);border-radius:14px;padding:12px;transition:background .15s}.kb-column.drop{background:var(--accent-100);outline:2px dashed var(--accent);outline-offset:-3px}#shell .kb-heading{position:static;min-height:0;padding:8px 2px 18px;background:none;border:none;display:flex;gap:9px;align-items:center;backdrop-filter:none}.kb-heading h2{font-size:14px;font-weight:600;letter-spacing:0;flex:1}.kb-count{font-size:12px;background:var(--bg);border-radius:6px;padding:3px 7px;color:var(--meta)}.kb-dot{width:8px;height:8px;border-radius:50%;background:#9bac9e}.kb-dot.kontakt{background:#4787ac}.kb-dot.angebot{background:var(--gold)}.kb-dot.reserviert{background:#8f78aa}.kb-dot.gewonnen{background:var(--accent)}.kb-dot.ruht{background:#8a918c}.kb-cards{display:grid;gap:10px}.kb-card{border:1px solid var(--neutral-200);background:var(--bg);border-radius:10px;box-shadow:0 2px 3px #0a1f1205;overflow:hidden}.kb-card:hover{border-color:var(--accent-line);box-shadow:var(--schatten-2)}.kb-card.dragging{opacity:.45}.kb-open{display:flex;flex-direction:column;text-align:left;width:100%;border:0;background:transparent;color:var(--ink);padding:16px;gap:7px;cursor:grab}.kb-open:active{cursor:grabbing}.kb-company{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.kb-location{font-size:11px;color:var(--meta)}.kb-person{font-size:12px;color:var(--ink);margin-top:3px}.kb-note{font-size:12px;color:var(--meta);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 6px}.kb-bottom{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:10px}.kb-due,.kb-reply,.kb-priority{background:var(--panel);padding:3px 6px;border-radius:4px}.kb-due.late{color:var(--rot);background:var(--rot-100)}.kb-reply{background:var(--accent-100);color:var(--accent-700)}.kb-priority{margin-left:auto;background:var(--amber-100);color:var(--amber)}.kb-no-date{color:var(--meta)}.kb-move{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--neutral-200);padding:8px 12px;color:var(--meta);font-size:10px}.kb-move select{font:inherit;max-width:132px;color:var(--meta);background:var(--bg);padding:4px;border:0}.kb-load{width:100%;padding:12px 4px;border:1px dashed var(--hair);border-radius:8px;background:none;color:var(--accent-700);font-size:12px;margin-top:12px}.kb-empty{padding:26px 10px;border:1px dashed var(--hair);border-radius:10px;font-size:12px;text-align:center;color:var(--meta)}.kb-more{margin:20px 0;border-top:1px solid var(--hair);padding-top:18px}.kb-more>summary{font-size:13px;cursor:pointer;color:var(--meta)}body:has(.kb-board) #shell main{max-width:none;min-width:0}.kb-board:focus-visible{outline-offset:-3px}@media(max-width:600px){.kb-column{flex-basis:calc(100vw - 64px);max-width:320px}.kb-board{scroll-snap-type:x proximity}.kb-column{scroll-snap-align:start}.kb-move select{min-height:36px}}

.kb-board{height:max(460px,calc(100vh - 380px));align-items:stretch}.kb-column{display:flex;flex-direction:column;max-height:100%}.kb-cards{overflow-y:auto;min-height:0;align-content:start;padding-right:2px;scrollbar-width:thin}.kb-card{flex-shrink:0}.kb-load{flex-shrink:0}.kb-heading{flex-shrink:0}

/* Karten dürfen innerhalb der begrenzten Spur niemals schrumpfen. */
.kb-cards{display:flex;flex-direction:column;overflow-y:auto;min-height:0;flex:1 1 auto}.kb-card{flex:0 0 auto;min-height:min-content}.kb-heading,.kb-load{flex:0 0 auto}
#side{background:var(--bg);color:var(--ink);border-right:1px solid var(--neutral-200)}.brand{padding:24px 20px;border-bottom:1px solid var(--neutral-200);gap:10px}.brand b{color:var(--marke);font-size:17px}.brand small{color:var(--meta);font-size:10px}.brand img{width:38px;height:38px;padding:0;background:none;border-radius:8px}.nav{padding:16px 12px;gap:20px}.nav-section{display:flex;flex-direction:column;gap:4px}.nav-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--meta);padding:0 12px 8px}.nav button{color:var(--meta);min-height:40px;padding:10px 12px;font-size:13px;gap:11px}.nav button:hover{background:var(--panel);color:var(--marke)}.nav button.on,.nav button.on:hover{background:var(--accent-100);color:var(--accent-700);box-shadow:inset 3px 0 var(--accent)}.nav button svg{flex-shrink:0}#side .foot{color:var(--meta);border-color:var(--neutral-200)}#side .foot .theme{color:var(--meta);font-size:12px}.mv-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.mv-toolbar input{flex:1;min-width:200px}.mv-toolbar input,.mv-toolbar select{padding:11px 14px;font:inherit;font-size:14px;background:var(--bg);color:var(--ink);border:1px solid var(--hair)}.mv-list{background:var(--bg);border:1px solid var(--neutral-200);border-radius:14px;overflow:hidden}.mv-row{border-bottom:1px solid var(--neutral-200)}.mv-row:last-child{border:0}.mv-row summary{display:grid;grid-template-columns:90px 1fr 100px;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}.mv-row summary:hover{background:var(--panel)}.mv-direction,.mv-date{font-size:12px;color:var(--meta)}.mv-subject{font-size:14px;font-weight:600}.mv-customer{display:block;font-size:12px;color:var(--accent-700);font-weight:400;margin-top:4px}.mv-content{padding:0 22px 24px 128px}.mv-content pre{font:14px var(--font-b);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0;max-width:80ch}.mv-meta{font-size:12px;color:var(--meta);overflow-wrap:anywhere}.mv-pager{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:13px}@media(max-width:820px){.nav{gap:14px;flex-wrap:wrap}.nav-section{flex-direction:row;flex-wrap:wrap;gap:4px}.nav-label{width:100%;padding:0 12px}.nav button{min-height:42px}.mv-row summary{grid-template-columns:70px 1fr;padding:16px;gap:10px}.mv-date{grid-column:2}.mv-content{padding:0 16px 20px}}
.fin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.fin-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#67786c}.fin-heading select{margin-left:10px;padding:9px;border:1px solid #dbe5dd;border-radius:8px;background:white}.fin-notice{padding:14px 18px;background:#f6f1df;border-radius:10px;font-size:12px;margin:20px 0;color:#66551d}.fin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fin-kpi,.fin-panel{background:white;border:1px solid #dfe7e1;border-radius:15px;padding:22px}.fin-kpi p{font-size:12px;margin:0 0 14px;color:#627168}.fin-kpi strong{font-size:clamp(20px,2vw,31px);letter-spacing:-.04em;color:#103c29;display:block}.fin-kpi small{display:block;font-size:11px;color:#728077;margin-top:12px}.fin-panel{margin-top:22px}.fin-panel h2{font-size:19px;margin:0 0 8px}.fin-panel p{font-size:12px;color:#66766b}.fin-chart{display:flex;gap:12px;align-items:flex-end;overflow:auto;margin-top:25px;padding-top:15px}.fin-chart>div{min-width:64px;flex:1;text-align:center}.fin-chart span{display:block;font-size:9px;margin-bottom:8px;white-space:nowrap}.fin-chart i{display:block;background:#268054;border-radius:5px 5px 0 0;max-width:42px;margin:auto}.fin-chart small{display:block;margin-top:9px;color:#728077}.fin-table{overflow:auto;margin-top:20px}.fin-table table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.fin-table th{font-size:11px;color:#68776d;background:#f4f7f4}.fin-table th,.fin-table td{padding:13px;border-bottom:1px solid #e7ede8;vertical-align:top}.fin-table small{display:block;color:#748176;margin-top:4px}.fin-cash{display:flex;gap:35px;flex-wrap:wrap;margin:25px 0}.fin-cash span{font-size:12px;color:#68776d}.fin-cash b{display:block;font-size:22px;color:#103c29}.fin-entry{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;padding:20px;background:#f4f7f4;border-radius:12px}.fin-entry label{display:flex;flex-direction:column;gap:5px;font-size:12px}.fin-entry input,.fin-entry select{padding:10px;border:1px solid #ccd9ce;border-radius:7px;background:white;min-width:0;font:inherit}.fin-wide{grid-column:1/-1}#fin-error{color:#a02828}.fin-entry button{justify-self:start}@media(max-width:1100px){.fin-kpis{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fin-kpis,.fin-entry{grid-template-columns:1fr}.fin-kpi{padding:16px}}
.mt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.mt-heading .h-greet{font-size:30px}.mt-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mt-primary .mt-karte{padding:18px 22px}.mt-primary .mt-wert{font-size:32px}.mt-primary .mt-frage{font-size:14px}.mt-primary .mt-detail{display:none}.mt-primary .mt-pfeil{font-size:11px;margin-top:8px}.mt-next{margin-top:22px}.mt-next-meta{margin-left:auto;font-size:12px;font-weight:400;color:var(--meta)}.mt-more{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.mt-more>summary{cursor:pointer;font-size:13px;color:var(--meta);margin-bottom:16px}.mt-more .mt-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.mt-more .mt-wert{font-size:26px}.mt-more .mt-frage{font-size:13px}.mt-more .mt-detail{font-size:11px}.dq-content{max-width:1100px;margin-top:24px}.dq-content .kataster{background:#fff;border:1px solid #dfe7e1;border-left:3px solid #ba982b;padding:20px}.dq-content .k-h{font-size:17px}.dq-content .k-z{font-size:13px;padding:12px 0}.dq-content .k-fuss{font-size:12px;max-width:850px}@media(max-width:600px){.mt-primary{grid-template-columns:1fr}.mt-heading .h-greet{font-size:25px}}
.beleg-pos{display:grid;grid-template-columns:3fr .8fr 1fr 1.2fr .8fr auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid #e2e9e3}.beleg-pos label,.beleg-note{display:flex;flex-direction:column;gap:6px;font-size:12px}.beleg-pos input,.beleg-pos select,.beleg-note textarea,.fin-entry textarea{min-width:0;border:1px solid #cedbd0;border-radius:7px;padding:10px;font:inherit;background:#fff}.beleg-note{margin:20px 0}.beleg-pos+.btn{margin-top:16px}#beleg-summe{padding:20px 0 0;text-align:right;font-size:14px;font-weight:600}#beleg-error{color:#a02828}@media(max-width:1000px){.beleg-pos{grid-template-columns:repeat(3,1fr)}.beleg-desc{grid-column:1/-1}}
#beleg-form{min-width:0}.fin-entry>label{min-width:0}.fin-entry select,.fin-entry textarea{width:100%;box-sizing:border-box}

/* Ein-/ausklappbare Navigation; Zustand bleibt pro Browser erhalten. */
#sidebar-toggle{display:flex;align-items:center;gap:10px;margin:10px 12px;padding:10px 12px;background:transparent;color:var(--ink);border:1px solid var(--neutral-200);border-radius:8px;font-size:14px;text-align:left}
#sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(min-width:821px){html.sidebar-closed #shell{grid-template-columns:72px minmax(0,1fr)}html.sidebar-closed #side .brand{padding:14px;justify-content:center}html.sidebar-closed #side .brand>div,html.sidebar-closed #side .nav-label,html.sidebar-closed #side .nav button span,html.sidebar-closed #sidebar-toggle span,html.sidebar-closed #side .foot{display:none}html.sidebar-closed #side .nav{padding:12px 8px;gap:16px}html.sidebar-closed #side .nav button{justify-content:center;padding:10px}html.sidebar-closed #sidebar-toggle{justify-content:center;margin:10px 8px;padding:10px}#side .nav{overflow-y:auto;min-height:0}}
@media(max-width:820px){html.sidebar-closed #side .nav,html.sidebar-closed #side .brand,html.sidebar-closed #side .foot{display:none}#sidebar-toggle{align-self:flex-start}}
