:root{--bg:#f4f6f5;--panel:#fff;--ink:#18211e;--muted:#708078;--line:#dfe6e2;--brand:#1b5e54;--brand2:#e8f2ef;--warn:#b8751d;--danger:#a64646;--sidebar:#15231f;--radius:16px;--shadow:0 10px 30px rgba(17,30,25,.07)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.loginhero{padding:7vw;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#edf4f1,#f8faf9)}.brand{font-weight:900;letter-spacing:.16em}.brand b{color:var(--brand)}.loginhero h1{font-size:clamp(48px,6vw,84px);line-height:.96;letter-spacing:-.055em;margin:40px 0 22px;max-width:800px}.loginhero p{font-size:19px;line-height:1.55;color:var(--muted);max-width:660px}.loginboxwrap{display:grid;place-items:center;padding:36px}.loginbox{width:min(440px,100%);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--brand)}label{display:block;font-size:13px;font-weight:800;margin:18px 0 7px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer}.btn.primary{background:var(--brand);color:#fff}.btn.secondary{background:#fff;border:1px solid var(--line)}.loginbox .btn{width:100%;margin-top:18px}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:var(--sidebar);color:#d6e0dc;padding:22px 16px;position:sticky;top:0;height:100vh}.sidebar .brand{padding:8px 10px 25px;color:#fff}.projectswitch{padding:13px;border:1px solid #31473f;background:#1e332c;border-radius:12px;margin:0 4px 18px}.projectswitch small{color:#9cafaa;display:block;margin-bottom:5px}.navgroup{margin-top:14px}.navtitle{padding:8px 10px;color:#7f968e;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:#b9c8c2;font-size:14px;font-weight:750;margin:2px 0}.nav a:hover,.nav a.active{background:#263c35;color:#fff}.ico{width:22px;text-align:center}.main{padding:26px 30px 60px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.topbar h1{margin:3px 0 0;font-size:30px;letter-spacing:-.035em}.actions{display:flex;gap:9px;align-items:center}.actions input{width:280px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(17,30,25,.035);padding:20px}.kpi small,.muted{color:var(--muted)}.kpi strong{display:block;font-size:28px;margin-top:8px}.kpi .sub{font-size:12px;color:var(--brand);margin-top:6px}.section{margin-top:15px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sectionhead h2{font-size:18px;margin:0}.pill{display:inline-block;font-size:11px;font-weight:900;padding:6px 9px;border-radius:999px;background:var(--brand2);color:var(--brand)}.pill.warn{background:#fff2de;color:var(--warn)}.pill.red{background:#f9e7e7;color:var(--danger)}.progress{height:9px;background:#e7ece9;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.tablewrap{overflow:auto}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolbar select,.toolbar input{width:auto}.rowlink:hover{background:#fafcfb}.notice{padding:13px;border-radius:11px;background:#fff8e9;border:1px solid #f0ddb7;color:#79561c}.activity{display:grid;gap:13px}.activityitem{display:grid;grid-template-columns:34px 1fr;gap:10px}.activitydot{width:32px;height:32px;border-radius:10px;background:var(--brand2);display:grid;place-items:center;color:var(--brand);font-weight:900}.activityitem p{margin:0;font-size:13px}.activityitem small{color:var(--muted)}.empty{text-align:center;padding:34px;color:var(--muted)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.full{grid-column:1/-1}.modalback{position:fixed;inset:0;background:rgba(10,18,15,.44);display:grid;place-items:center;padding:20px;z-index:20}.modal{background:#fff;width:min(680px,100%);max-height:90vh;overflow:auto;border-radius:20px;padding:23px;box-shadow:var(--shadow)}.modalhead{display:flex;align-items:center;justify-content:space-between}.modalhead h2{margin:0}.close{border:0;background:#eef2f0;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}.hidden{display:none!important}.flash{margin-bottom:14px;padding:12px 14px;border-radius:10px;background:var(--brand2);color:var(--brand);font-weight:700}@media(max-width:1000px){.shell{grid-template-columns:84px 1fr}.sidebar{padding:16px 10px}.sidebar .brand{font-size:0}.sidebar .brand:after{content:'BP';font-size:16px}.projectswitch,.navtitle{display:none}.nav a{font-size:0;justify-content:center}.nav a .ico{font-size:19px}.grid4{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:680px){.login{grid-template-columns:1fr}.loginhero{min-height:45vh;padding:35px 25px}.loginhero h1{font-size:46px}.main{padding:18px 14px}.grid4{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions input{width:100%}.formgrid{grid-template-columns:1fr}}
.sidebaruser{position:absolute;bottom:18px;left:20px;right:20px;font-size:12px;color:#9cafaa;line-height:1.55}.sidebaruser a{color:#d6e0dc}.btn.small{padding:7px 10px;font-size:12px}.formfooter{margin-top:18px;display:flex;justify-content:flex-end}.grid2equal{display:grid;grid-template-columns:1fr 1fr;gap:15px}.buyerunit{padding:14px 0;border-bottom:1px solid var(--line)}.buyerunit h2{margin:8px 0 4px;font-size:20px}@media(max-width:1100px){.grid2equal{grid-template-columns:1fr}}
.settingsrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.settingsrow:last-of-type{margin-bottom:16px}.inlineactions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inlineactions form{margin:0}.btn.danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef2f0;border-radius:5px;padding:2px 5px;font-size:.92em}

.inlineactions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.inlineactions form{display:inline-block;margin:0}

/* 1.2.0 Projekt- & Einheitenakte */
.detailgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.detailgrid>div{padding:11px 0;border-bottom:1px solid var(--line)}.detailgrid small{display:block;color:var(--muted);font-weight:700;margin-bottom:4px}.detailgrid strong{display:block}.unithead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.unithead h2{margin:4px 0}.unitprice{font-size:24px;font-weight:800;margin-top:10px;text-align:right}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.listline{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 0;border-bottom:1px solid var(--line)}.listline small{grid-column:1/-1;color:var(--muted)}.progressrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.progressrow small{display:block;color:var(--muted);margin-top:4px}.progress{height:8px;background:#e7ecea;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent);border-radius:999px}@media(max-width:900px){.grid3{grid-template-columns:1fr}.detailgrid{grid-template-columns:1fr}.unithead{align-items:flex-start;flex-direction:column}.unitprice{text-align:left}}


/* 1.8.1 – Desktop-/27-Zoll-Layout und VARENIQ-orientierte Sidebar-Systematik */
:root{--sidebar-wide:292px;--content-max:2100px}
.shell{grid-template-columns:var(--sidebar-wide) minmax(0,1fr)}
.sidebar{padding:20px 14px 92px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.sidebar .brand{padding:7px 12px 18px;font-size:15px;white-space:nowrap}
.projectswitch{margin:0 4px 12px;padding:11px 12px}
.navgroup{margin-top:9px;padding-top:7px;border-top:1px solid rgba(255,255,255,.055)}
.navgroup:first-child{border-top:0;padding-top:0}
.navtitle{padding:6px 12px 4px;font-size:9px;letter-spacing:.15em}
.nav a{min-height:38px;padding:8px 11px;margin:1px 0;border-radius:9px;font-size:13px;gap:11px;position:relative}
.nav a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:#8fc8b7}
.nav a.active{background:#263c35;color:#fff}
.ico{width:22px;min-width:22px;font-size:15px}
.navlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebaruser{left:18px;right:18px;bottom:14px;padding-top:10px;background:linear-gradient(180deg,rgba(21,35,31,0),#15231f 22%)}
.main{width:100%;max-width:var(--content-max);margin:0 auto;padding:28px 36px 70px}
.topbar{margin-bottom:24px}
.topbar h1{font-size:32px}
.card{padding:21px}
.grid4{gap:16px}.grid2,.grid2equal{gap:17px}
.tablewrap{max-width:100%}
table{min-width:760px}

/* Große Desktop-Flächen: mehr Inhalt nebeneinander, ohne überlange Textzeilen */
@media(min-width:1800px){
  :root{--sidebar-wide:304px;--content-max:2200px}
  .main{padding-left:42px;padding-right:42px}
  .grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid2{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}
  .grid2equal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
  th,td{padding:13px 12px}
}
@media(min-width:2300px){
  :root{--sidebar-wide:320px;--content-max:2240px}
  .main{padding-left:48px;padding-right:48px}
  .topbar h1{font-size:34px}
  .kpi strong{font-size:31px}
}

/* Notebook/Tablet: kompakte Icon-Navigation bleibt erhalten */
@media(max-width:1000px){
  .shell{grid-template-columns:84px 1fr}
  .sidebar{padding:16px 10px 80px}
  .navlabel{display:none}
  .main{max-width:none;margin:0;padding:22px 20px 60px}
}

/* 1.8.2.1 – Sidebar-Systematik */
.staff-ui .sidebar,.sidebar{width:282px;min-width:282px;max-width:282px;padding:20px 16px 26px;overflow-y:auto;overflow-x:hidden}
.shell{grid-template-columns:282px minmax(0,1fr)}
.sidebar .brand{text-align:center;padding:4px 8px 15px;margin:0 0 14px;border-bottom:1px solid rgba(255,255,255,.14)}
.portal-product-name{font-size:16px;font-weight:900;letter-spacing:.17em;color:#fff}
.portal-product-name b{color:#d9b86c}.portal-product-tagline{font-size:9px;color:#d9b86c;margin-top:6px}
.accesslabel{display:inline-block;margin:1px 0 10px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.10);color:#d9e3df;font-size:9px;font-weight:800}
.sidebar .nav-dashboard,.sidebar .nav-plain{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;box-sizing:border-box;padding:8px 10px;margin:0 0 6px;border-radius:9px;color:#fff;font-size:13px;text-decoration:none}
.sidebar .nav-dashboard.active,.sidebar .nav-plain.active{background:rgba(255,255,255,.09)}
.navico{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;height:20px;font-size:17px;line-height:1;color:#fff}.subico{font-size:14px;width:16px;min-width:16px;height:16px}
.sidebar details.navgroup{width:100%;margin:0 0 6px;border:1px solid rgba(255,255,255,.16);border-radius:9px;overflow:hidden;background:transparent}
.sidebar details.navgroup summary{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 10px;box-sizing:border-box;color:#fff;font-size:12.5px;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}
.sidebar details.navgroup summary::-webkit-details-marker{display:none}.sidebar details.navgroup summary::marker{content:""}
.sidebar details.navgroup summary::after{content:"⌄";margin-left:auto;color:#dfe8e4;font-size:12px}.sidebar details.navgroup[open] summary::after{content:"⌃"}
.sidebar details.navgroup>a{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;box-sizing:border-box;padding:7px 9px 7px 39px;margin:0;border-radius:0;color:#dfe8e4;font-size:11.5px;font-weight:550;white-space:nowrap}
.sidebar details.navgroup>a .subico{margin-left:-25px}.sidebar details.navgroup>a:hover{background:rgba(255,255,255,.06)}.sidebar details.navgroup>a.active{background:rgba(255,255,255,.09);color:#fff;font-weight:800}
.navbadge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;padding:0 5px;margin-left:4px;border-radius:999px;background:#a64646;color:#fff;font-size:9px}
.sidebaruser{display:none!important}.user-sidebar-nav{display:grid;gap:4px}.user-nav-item{min-height:39px;padding:8px 10px;display:flex;align-items:center;gap:9px;border-radius:8px;color:#dfe8e4;font-size:12px;font-weight:650}.user-nav-item:hover,.user-nav-item.active{background:rgba(255,255,255,.09);color:#fff}
@media(min-width:1600px) and (min-height:850px){.shell{grid-template-columns:244px minmax(0,1fr)}.sidebar{width:244px;min-width:244px;max-width:244px;padding:13px 11px 18px}.main{max-width:none;width:auto;padding:16px 20px 30px}.sidebar details.navgroup summary{min-height:36px;padding:7px 9px;font-size:11.5px}.sidebar details.navgroup>a{min-height:29px;padding:6px 9px 6px 38px;font-size:10.5px}}
@media(max-width:720px){.shell{display:block}.sidebar{position:relative;width:100%;min-width:0;max-width:none;height:auto;padding:12px}.main{padding:16px 12px 40px}}

/* 1.8.3.1 – Designsprache analog Referenzportal */
:root{--bg:#f4f7fb;--panel:#fff;--ink:#1d2939;--muted:#667085;--line:#e1e6eb;--brand:#155eef;--brand2:#eaf2ff;--warn:#b8751d;--danger:#b42318;--sidebar:#1f2d3d;--gold:#e0bb69;--radius:12px;--shadow:0 5px 20px rgba(16,42,67,.07)}
body{background:#f4f7fb;color:#1d2939}.sidebar{background:#1f2d3d!important}.portal-product-name b,.portal-product-tagline{color:#e0bb69!important}
.main{background:#f4f7fb}.topbar .eyebrow{color:#667085;font-size:10px;letter-spacing:.08em}.topbar h1{color:#1d2939;font-weight:800}
.card{background:#fff;border:1px solid #e7ebef;border-radius:12px;box-shadow:0 5px 20px rgba(16,42,67,.055)}
.btn{border-radius:8px;min-height:38px;padding:9px 13px;font-size:12px;font-weight:700;box-shadow:none}.btn.primary{background:#155eef;color:#fff}.btn.secondary{background:#eef2f5;color:#22313f;border:1px solid #d5dce2}
input,select,textarea{background:#fff;border:1px solid #d0d5dd;border-radius:8px;color:#1d2939}input:focus,select:focus,textarea:focus{outline:0;border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.10)}
.tablewrap{border:1px solid #eaecf0;border-radius:10px;overflow:auto}th{background:#f8fafc;color:#667085;border-bottom:1px solid #e4e7ec;font-weight:800}td{color:#344054;border-bottom:1px solid #eaecf0}tr:hover td{background:#fbfcfd}
.detailgrid>div{background:#f7f9fa;border:1px solid #e2e6e9;border-radius:10px;padding:11px 12px}.detailgrid small{color:#667085;font-size:11px}.detailgrid strong{color:#1d2939;font-size:14px}
.pill{background:#eaf2ff;color:#155eef}.pill.warn{background:#fff4e5;color:#9a6700}.pill.red{background:#fee4e2;color:#b42318}
.notice{background:#fff9ed;border:1px solid #f2dfb4;border-left:4px solid #d0a449;color:#5f4a1b;border-radius:8px}
@media(min-width:1600px) and (min-height:850px){.main{padding:16px 20px 26px!important}.topbar{min-height:36px!important;margin-bottom:11px!important}.topbar h1{font-size:22px!important}.card{padding:12px 14px!important;margin-bottom:10px!important;border-radius:10px!important}input:not([type=checkbox]):not([type=radio]),select{min-height:32px!important;height:32px!important;padding:5px 8px!important;font-size:11px!important}textarea{min-height:68px!important;padding:7px 8px!important;font-size:11px!important}.btn{min-height:31px!important;padding:6px 10px!important;font-size:10.5px!important}.grid4,.grid3{gap:8px!important}.grid2,.grid2equal{gap:10px!important}.detailgrid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}th,td{padding:6px 7px!important}}


/* 1.8.5.0 – VARENIQ Branding + maximale 27-Zoll Informationsdichte */
:root{
  --vq-deep:#0b302b;
  --vq-deep-2:#10453d;
  --vq-gold:#d5ad58;
  --vq-bg:#f5f6f4;
}
.sidebar{
  background:linear-gradient(180deg,var(--vq-deep),#0e3c35)!important;
}
.portal-product-name{
  font-size:15px!important;
  letter-spacing:.20em!important;
  font-weight:900!important;
}
.portal-product-name b{color:var(--vq-gold)!important}
.portal-product-tagline{color:#e6d2a3!important;letter-spacing:.02em}
.sidebar details.navgroup summary .navico,
.sidebar .nav-dashboard .navico{color:var(--vq-gold)!important}
.sidebar details.navgroup > a.active{
  box-shadow:inset 3px 0 0 var(--vq-gold);
}
.main{background:var(--vq-bg)!important}

/* 27" QHD: möglichst viel Inhalt ohne horizontales Verschenken */
@media(min-width:1440px){
  .shell{grid-template-columns:224px minmax(0,1fr)!important}
  .sidebar{
    width:224px!important;min-width:224px!important;max-width:224px!important;
    padding:10px 9px 14px!important;
  }
  .sidebar .brand{padding:4px 5px 8px!important;margin-bottom:7px!important}
  .portal-product-name{font-size:12.5px!important}
  .portal-product-tagline{font-size:7.5px!important;margin-top:2px!important}
  .accesslabel{font-size:7.5px!important;padding:3px 6px!important;margin:1px 0 5px!important}
  .sidebar .nav-dashboard,.sidebar .nav-plain{
    min-height:29px!important;padding:5px 7px!important;margin-bottom:3px!important;
    font-size:10.5px!important;border-radius:6px!important;
  }
  .navico{width:16px!important;min-width:16px!important;height:16px!important;font-size:13px!important}
  .sidebar details.navgroup{
    margin-bottom:3px!important;border-radius:7px!important;
  }
  .sidebar details.navgroup summary{
    min-height:31px!important;padding:5px 7px!important;font-size:10.5px!important;
  }
  .sidebar details.navgroup>a{
    min-height:25px!important;padding:4px 6px 4px 31px!important;
    font-size:9.5px!important;line-height:1.15!important;
  }
  .sidebar details.navgroup>a .subico{margin-left:-20px!important}
  .main{
    width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:10px 14px 20px!important;
  }
  .topbar{min-height:30px!important;margin-bottom:7px!important}
  .topbar h1{font-size:19px!important;line-height:1.05!important}
  .topbar .eyebrow{font-size:8px!important}
  .card{
    padding:9px 10px!important;margin-bottom:7px!important;
    border-radius:8px!important;box-shadow:0 2px 9px rgba(16,42,67,.045)!important;
  }
  .section{margin-top:7px!important}
  .sectionhead{margin-bottom:5px!important;gap:7px!important}
  .sectionhead h2{font-size:14px!important}
  .sectionhead h3{font-size:12px!important}
  .muted{font-size:9px!important;line-height:1.25!important}
  .grid4,.grid3{gap:6px!important}
  .grid2,.grid2equal{gap:7px!important}
  .kpi strong{font-size:20px!important;line-height:1!important}
  .kpi small{font-size:8px!important}
  label{font-size:9px!important;margin:4px 0 2px!important}
  input:not([type=checkbox]):not([type=radio]),select{
    height:28px!important;min-height:28px!important;padding:4px 6px!important;
    font-size:9.5px!important;border-radius:6px!important;
  }
  textarea{min-height:54px!important;padding:5px 6px!important;font-size:9.5px!important}
  .btn{
    min-height:27px!important;padding:4px 8px!important;font-size:9.5px!important;
    border-radius:6px!important;
  }
  .btn.small{min-height:23px!important;padding:3px 6px!important;font-size:8.5px!important}
  .tablewrap{border-radius:7px!important}
  table{font-size:9.5px!important;line-height:1.15!important;min-width:0!important;width:100%!important}
  th,td{padding:5px 6px!important}
  th{font-size:8.5px!important}
  td small{font-size:8px!important}
  .detailgrid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .detailgrid>div{min-height:42px!important;padding:6px 7px!important;border-radius:7px!important}
  .detailgrid small{font-size:7.5px!important}
  .detailgrid strong{font-size:10px!important}
  .pill{padding:3px 6px!important;font-size:8px!important}
}

/* 27" 2560px und größer: Arbeitsfläche konsequent nutzen */
@media(min-width:2200px){
  .shell{grid-template-columns:232px minmax(0,1fr)!important}
  .sidebar{width:232px!important;min-width:232px!important;max-width:232px!important}
  .main{padding:10px 16px 20px!important}
  .grid4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .grid3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .grid2,.grid2equal{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .detailgrid{grid-template-columns:repeat(8,minmax(0,1fr))!important}
}

/* Ultra-wide: keine künstliche Inhalts-Maximalbreite */
@media(min-width:3000px){
  .main{max-width:none!important}
  .detailgrid{grid-template-columns:repeat(10,minmax(0,1fr))!important}
}


/* 1.8.5.1 – vorhandene Module wieder vollständig sichtbar */
.quickmodules{margin-top:7px!important}
.quickmodulegrid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:5px;
}
.quickmodulegrid a{
  display:flex;
  align-items:center;
  min-height:30px;
  padding:5px 7px;
  border:1px solid #dfe5e2;
  border-radius:6px;
  background:#fff;
  color:#163b35;
  font-size:9px;
  font-weight:700;
  line-height:1.15;
}
.quickmodulegrid a:hover{
  border-color:#d5ad58;
  background:#fbf8f0;
}
.sidebar details.navgroup>a span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(min-width:2200px){
  .quickmodulegrid{grid-template-columns:repeat(10,minmax(0,1fr))}
}
@media(min-width:3000px){
  .quickmodulegrid{grid-template-columns:repeat(12,minmax(0,1fr))}
}
@media(max-width:1400px){
  .quickmodulegrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:720px){
  .quickmodulegrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* 1.9.0 – produktiver Käuferzugang */
.buyercredentials{
  border-left-color:#d5ad58;
  margin-bottom:10px;
}
.buyercredentials code{
  user-select:all;
  font-size:1.05em;
}
.buyer-security-card{max-width:760px}
.buyer-ui .main{max-width:none}
@media(min-width:1440px){
  .buyer-ui .shell{grid-template-columns:210px minmax(0,1fr)}
  .buyer-ui .sidebar{width:210px;min-width:210px;max-width:210px;padding:12px 10px}
  .buyer-ui .main{padding:12px 16px 24px}
}

/* 1.9.1 – E-Mail & Portal-Kommunikation */
.page-communications .buyerunit{padding:8px 0}
@media(min-width:1440px){.page-system .settingsrow{padding:6px 0}}

/* 1.10.0 – Kommunikation & Tickets */
.ticketlayout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:8px;align-items:start}
.ticket-unread td{background:#fffaf0}
.ticketdetail h2{margin:6px 0}
.ticketthread{display:grid;gap:7px;margin:8px 0 12px;max-height:460px;overflow:auto;padding-right:3px}
.ticketmsg{border:1px solid #dfe5e2;border-radius:8px;padding:8px 9px;background:#fff}
.ticketmsg.staff{border-left:3px solid #0b302b}.ticketmsg.buyer{border-left:3px solid #d5ad58;background:#fffdf8}
.ticketmsg>div{display:flex;justify-content:space-between;gap:8px}.ticketmsg p{margin:6px 0 0;line-height:1.35}.ticketmsg small{color:#71807a}
.ticketnote{margin-top:6px;padding:7px 8px;border-radius:7px;background:#fff7df;border:1px solid #efdeb0}.ticketnote strong{margin-right:8px}.ticketnote small{color:#7a6c47}.ticketnote p{margin:5px 0 0}
.buyerticketrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 8px;border-bottom:1px solid #edf0ee;color:#24352f}.buyerticketrow:hover,.buyerticketrow.active{background:#f6f8f7}.buyerticketrow small{display:block;margin-top:3px;color:#71807a}
@media(min-width:2200px){.ticketlayout{grid-template-columns:minmax(0,1.3fr) minmax(520px,.7fr)}.ticketthread{max-height:620px}}
@media(max-width:1100px){.ticketlayout{grid-template-columns:1fr}}

/* 1.10.1 – Tickets & Aufgaben */
.ticketlink{color:#153d36;text-decoration:none}.ticketlink:hover{text-decoration:underline}
.ticket-task-list{margin-bottom:8px}
.ticket-task-create{padding:8px;border:1px solid #e3e8e5;border-radius:8px;background:#f8faf9;margin-bottom:10px}

/* 1.10.2 – Ticketerstellung im Dashboard */
.dashboard-ticket-shortcut{display:flex;gap:6px;align-items:center}
@media(min-width:1440px){
  .page-dashboard .topbar{margin-bottom:6px}
  .page-dashboard .sectionhead .inlineactions{display:flex;gap:5px;align-items:center}
}

/* 1.10.3 – FAQ */
.faq-search{margin:8px 0 14px}.faq-category{margin:12px 0}.faq-category h3{margin:8px 0}
.faq-item{border:1px solid #e1e6e3;border-radius:8px;background:#fff;margin:5px 0;overflow:hidden}
.faq-item summary{cursor:pointer;font-weight:700;padding:11px 12px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';float:right;font-size:18px;color:#60716a}.faq-item[open] summary:after{content:'–'}
.faq-answer{padding:0 12px 12px;line-height:1.55;color:#43524d}

/* 1.10.4 – Zentrale Portal-FAQ */
.faq-area{margin:18px 0}.faq-area>h2{font-size:17px;margin:0 0 7px;padding-bottom:5px;border-bottom:1px solid #e5e9e7}
.faq-item summary small{display:block;font-weight:400;color:#78857f;margin-top:2px;font-size:11px}
.faq-category h3 small{font-weight:400;color:#78857f}

/* 1.11.0 – Kalender & Terminsteuerung */
.calendar-toolbar{margin-bottom:8px!important}.calendarfilters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.calendarfilters select{width:auto;min-width:180px}.calendar-mine{display:flex;align-items:center;gap:5px;margin:0;padding:5px 8px;border:1px solid #dfe5e2;border-radius:6px;background:#fff}
.calendar{padding:0!important;overflow:hidden}.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head>div{padding:7px 8px;background:#0b302b;color:#fff;font-size:10px;font-weight:800;text-align:center;border-right:1px solid rgba(255,255,255,.1)}.calendar-day{min-height:150px;padding:5px;border-right:1px solid #e5e9e7;border-bottom:1px solid #e5e9e7;background:#fff;min-width:0}.calendar-day.other-month{background:#f7f8f7;opacity:.65}.calendar-day.today{box-shadow:inset 0 0 0 2px #d5ad58}.calendar-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.calendar-day-head strong{font-size:11px}.calendar-day-head span{min-width:17px;height:17px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#edf2ef;font-size:8px}.calendar-events{display:grid;gap:3px}.calendar-event{display:block;padding:4px 5px;border-radius:5px;background:#f3f7f5;border-left:3px solid #406b60;color:#223a33;text-decoration:none;overflow:hidden}.calendar-event:hover{background:#edf3f0}.calendar-event-type{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.04em;color:#71817b}.calendar-event strong{display:block;font-size:8.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event small{display:block;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#76837e}.calendar-event.type-ticket{border-left-color:#d5ad58}.calendar-event.type-aufgabe{border-left-color:#4778a8}.calendar-event.type-zahlung{border-left-color:#3c8c64}.calendar-event.type-mangel{border-left-color:#b14c45}.calendar-event.type-sonderwunsch{border-left-color:#8864a8}.calendar-event.type-abnahme,.calendar-event.type-uebergabe,.calendar-event.type-vorabnahme{border-left-color:#c18b39}.calendar-legend{display:flex;gap:10px;flex-wrap:wrap}.calendar-legend span{font-size:9px;color:#52615c}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:#406b60;margin-right:4px}.calendar-today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.calendar-today-item{display:flex;gap:6px;align-items:flex-start;padding:6px;border:1px solid #e2e7e4;border-radius:7px;background:#fff;color:#243a33}.calendar-today-item small{display:block;color:#75817d;margin-top:2px}
@media(min-width:2200px){.calendar-day{min-height:185px}.calendar-event strong{font-size:9px}.calendar-today-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.calendar{overflow-x:auto}.calendar-head,.calendar-grid{min-width:1050px}.calendar-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.calendar-today-grid{grid-template-columns:1fr}.calendarfilters{display:grid}.calendarfilters select{width:100%}}

/* 1.11.1 – Freigegebene Benutzertermine */
.appointment-sharing{padding:8px;border:1px solid #dfe6e2;border-radius:7px;background:#f8faf9}
.appointment-sharing label{display:flex;align-items:center;gap:6px;margin:0 0 3px}
.calendar-shared{border-color:#dec887;background:#fffaf0}
.calendar-shared-mark{display:inline-block;margin-top:3px;padding:1px 4px;border-radius:4px;background:#fff1c8;color:#715b24;font-size:7px;font-style:normal;font-weight:700}
.calendar-event.type-termin:has(.calendar-shared-mark){border-left-color:#d5ad58;background:#fffaf0}

/* 1.11.2 – Termine standardmäßig freigegeben */
.appointment-sharing{background:#fffaf0;border-color:#dec887}
.appointment-sharing label{font-weight:700}

/* 1.12.0 – Mehrere Einheiten je Kaufvertrag */
.multi-unit-select{height:auto!important;min-height:150px!important;padding:5px!important}
.multi-unit-select option{padding:4px 6px;border-radius:4px}
@media(min-width:1600px){.multi-unit-select{min-height:185px!important}}

/* 1.12.1 – Ticket: Projekt, Gewerk, Subunternehmer */
.ticket-create-form select option[hidden]{display:none}
.ticketdetail .detailgrid{align-items:stretch}
@media(min-width:1600px){.ticket-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.12.2 – Projektbeteiligte */
.project-participants-note{font-size:9px;color:#71817b}

/* 1.13.0 – Projektbeteiligte & Kontakte */
@media(min-width:1440px){.page-participants table{font-size:9px}}

/* 1.14.0 – Ausschreibungen & Vergaben */
@media(min-width:1600px){.page-procurement .tablewrap table{font-size:9px}.page-procurement .detailgrid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* 1.15.0 – Kosten & Budgetcontrolling */
.budget-light{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;background:#6f8b80}.budget-light.yellow{background:#c69a36}.budget-light.red{background:#b85d57}.dangertext{color:#a94f4a!important}
@media(min-width:1600px){.page-costs .tablewrap table{font-size:9px}}

/* 1.16.0 – Rechnungsprüfung & Freigaben */
@media(min-width:1600px){.page-invoices .tablewrap table{font-size:9px}.page-invoices .detailgrid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* 1.17.0 – Makler & Interessentenmanagement */
.broker-docs{font-size:8px;white-space:nowrap}.broker-checks{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 12px}.broker-consents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;border:1px solid #e1e6e3;border-radius:8px;background:#f8faf9}.broker-consents label{display:flex;gap:5px;align-items:center;margin:0}.broker-timeline{max-height:480px;overflow:auto;margin-top:8px}
@media(min-width:1600px){.page-broker .tablewrap table{font-size:9px}}
@media(max-width:900px){.broker-consents{grid-template-columns:1fr}}

/* 1.17.1 – Automatischer Lead-Eingang */
.broker-tabs{display:flex;gap:6px;margin-bottom:10px}.broker-tabs .pill{margin-left:4px}.page-broker .notice{max-height:260px;overflow:auto}
@media(min-width:1600px){.page-broker .tablewrap table{font-size:9px}}

/* 1.18.0 – Dokumenteneingang & PDF-Auslesung */
.pdf-extracted{max-height:620px;overflow:auto;border:1px solid #dfe5e2;border-radius:8px;background:#f8faf9;margin:8px 0;padding:8px}.pdf-extracted pre{white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:9px;line-height:1.4;margin:0}.page-docinbox .tablewrap table{font-size:9px}

/* 1.18.2 – Neue Sidebar & 27-Zoll-Datenansicht */
:root{
  --sidebar-wide:238px;
  --content-max:2560px;
}
.shell{grid-template-columns:var(--sidebar-wide) minmax(0,1fr)}
.staff-ui .sidebar,.sidebar{
  width:var(--sidebar-wide);min-width:var(--sidebar-wide);max-width:var(--sidebar-wide);
  padding:12px 10px 22px;
}
.sidebar .brand{padding:2px 6px 10px;margin-bottom:7px}
.portal-product-name{font-size:14px;letter-spacing:.14em}
.portal-product-tagline{font-size:8px;margin-top:3px}
.accesslabel{margin:0 2px 5px;padding:3px 7px;font-size:8px}
.sidebar .nav-dashboard,.sidebar .nav-plain{min-height:31px;padding:5px 8px;margin-bottom:3px;font-size:11px;border-radius:7px}
.navgroup{margin:3px 0 0;padding-top:3px}
.navgroup summary{min-height:31px;padding:5px 8px;border-radius:7px;font-size:11px}
.navgroup a{min-height:29px;padding:4px 8px 4px 28px;margin:0;font-size:10.5px;border-radius:6px}
.navico{width:17px;min-width:17px;font-size:12px}.subico{font-size:10px}
.sidebaruser{font-size:9px;line-height:1.35;left:11px;right:11px;bottom:8px}

.main{width:100%;max-width:none;margin:0;padding:14px 18px 44px}
.topbar{margin-bottom:8px;min-height:auto}
.topbar h1{font-size:23px;line-height:1.1;margin:2px 0}
.eyebrow{font-size:8px;letter-spacing:.11em}
.flash{margin-bottom:7px;padding:7px 9px;font-size:10px;border-radius:7px}

.card{padding:10px 11px;border-radius:9px}
.section{margin-top:7px}
.sectionhead{margin-bottom:7px;gap:7px}
.sectionhead h2{font-size:14px}.sectionhead h3{font-size:12px;margin:0}
.muted,.sectionhead .muted{font-size:9px}
.grid4{gap:6px}
.grid2,.grid2equal{gap:7px}
.grid3{gap:7px;margin:7px 0}
.kpi{min-height:65px}
.kpi small{font-size:8px}
.kpi strong{font-size:20px;margin-top:3px;line-height:1.05}
.kpi .sub{font-size:8px;margin-top:3px}

table{min-width:0}
th,td{padding:5px 6px;font-size:9px;line-height:1.23;vertical-align:top}
th{font-size:7.5px;letter-spacing:.045em;white-space:nowrap}
td small{font-size:8px}
.tablewrap{overflow:auto;max-width:100%}
.tablewrap table{width:100%}
.pill{font-size:8px;padding:3px 5px}
.navbadge{font-size:7px;min-width:14px;height:14px;padding:0 3px}

.btn{padding:5px 8px;font-size:9px;border-radius:6px}
.btn.small{padding:4px 6px;font-size:8px}
input,select,textarea{padding:6px 7px;font-size:10px;border-radius:6px}
label{font-size:9px;margin-bottom:5px}
.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
.formgrid label{margin-bottom:4px}
.formfooter{margin-top:8px}
.toolbar{gap:5px;margin-bottom:6px}
.inlineactions{gap:4px}
.notice{padding:7px 8px;font-size:9px;border-radius:7px}
.empty{padding:18px;font-size:9px}

.detailgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px}
.detailgrid>div{padding:6px 0}
.detailgrid small{font-size:7.5px;margin-bottom:2px}
.detailgrid strong{font-size:9.5px}
.progressrow{padding:6px 0;gap:10px}
.listline{padding:5px 0}
.activity{gap:7px}.activityitem{grid-template-columns:26px 1fr;gap:6px}.activitydot{width:25px;height:25px;border-radius:6px}.activityitem p{font-size:9px}
.settingsrow{padding:6px 0;gap:8px}

.modal{width:min(980px,96vw);max-height:94vh;border-radius:12px;padding:12px}
.modalhead{margin-bottom:4px}.modalhead h2{font-size:15px}.close{width:27px;height:27px;font-size:17px}
.ticketthread{max-height:600px}
.ticketmsg{padding:6px 7px}.ticketmsg p{font-size:9px}.ticketmsg small{font-size:8px}
.ticketlayout{gap:7px;grid-template-columns:minmax(0,1.35fr) minmax(430px,.65fr)}
.calendar-day{min-height:128px}
.calendar-event{padding:3px 4px}
.calendar-today-grid{gap:4px}
.broker-consents{gap:4px;padding:6px}
.pdf-extracted{max-height:700px}

@media(min-width:1500px){
  .grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .formgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .formgrid .full{grid-column:1/-1}
  .modal .formgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detailgrid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(min-width:1900px){
  :root{--sidebar-wide:228px}
  .main{padding:12px 16px 40px}
  .grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid3{grid-template-columns:repeat(4,minmax(0,1fr))}
  .card{padding:9px 10px}
  .section{margin-top:6px}
  .kpi{min-height:58px}
  .kpi strong{font-size:19px}
  .ticketlayout{grid-template-columns:minmax(0,1.45fr) minmax(460px,.55fr)}
  .calendar-day{min-height:145px}
}
@media(min-width:2300px){
  .main{padding:12px 18px 42px}
  .grid4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .detailgrid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .formgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .modal .formgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  th,td{padding:4px 5px;font-size:8.7px}
  th{font-size:7px}
}
@media(max-width:1250px){
  :root{--sidebar-wide:210px}
  .detailgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  .shell{grid-template-columns:76px minmax(0,1fr)}
  .staff-ui .sidebar,.sidebar{width:76px;min-width:76px;max-width:76px;padding:10px 7px 70px}
  .sidebar .portal-product-name,.sidebar .portal-product-tagline,.sidebar .accesslabel,.sidebar summary span:not(.navico),.sidebar a span:not(.navico):not(.navbadge){display:none}
  .sidebar .nav-dashboard,.sidebar .nav-plain,.navgroup summary,.navgroup a{justify-content:center;padding:6px;min-height:34px}
  .navgroup a{padding-left:6px}
  .main{padding:12px 10px 36px}
}
@media(max-width:680px){
  .main{padding:10px 8px 30px}
  .grid4,.grid3,.grid2,.grid2equal,.detailgrid,.formgrid{grid-template-columns:1fr}
  .formgrid .full{grid-column:1}
  .topbar h1{font-size:20px}
}

/* 1.18.3 – FAQ & Hilfe dauerhaft sichtbar */
.sidebar .nav-helpfaq{
  margin-top:9px;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:8px;
}
.sidebar .nav-helpfaq.active{
  font-weight:700;
}

/* 1.18.4 – FAQ-Aktualisierung */
.faq-area{scroll-margin-top:12px}
.faq-area>h2{position:sticky;top:0;background:#fff;z-index:2;padding-top:5px}
@media(min-width:1600px){
  .faq-item summary{padding:7px 9px}
  .faq-answer{padding:0 9px 9px;font-size:9px}
}

/* 1.18.5 – Automatischer IMAP-Leadimport */
.page-broker .broker-tabs+.card .inlineactions form{margin:0}

/* 1.19.0 – Baubeschreibung & Exposé */
.spec-flags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px;border:1px solid var(--line);border-radius:7px;background:#f8faf9}.spec-flags label{display:flex;align-items:center;gap:5px;margin:0}
@media(max-width:900px){.spec-flags{grid-template-columns:1fr 1fr}}

/* 1.19.1 – Bausteinbibliothek & Projektvorlagen */
.spec-tabs{display:flex;gap:5px;margin:7px 0;flex-wrap:wrap}

/* 1.19.2 – Drag & Drop Baubeschreibung */
.spec-sort-table tbody tr[draggable="true"]{cursor:grab}
.spec-sort-table tbody tr.dragging{opacity:.45}
.spec-sort-table tbody tr[draggable="true"]:hover{background:#f6f9f8}
.dragcell{width:24px;text-align:center;vertical-align:middle!important}
.draghandle{display:inline-block;font-size:15px;line-height:1;color:#68756f;letter-spacing:-3px;user-select:none}
.spec-sort-table tbody tr[draggable="true"]:active{cursor:grabbing}

/* 1.19.3 – Einheiten Schnellerfassung */
.unit-entry-wrap{max-height:58vh;overflow:auto;margin-top:8px}
.unit-entry-table{min-width:1420px}
.unit-entry-table th{position:sticky;top:0;z-index:2;background:#f7f9f8}
.unit-entry-table input,.unit-entry-table select{min-width:78px;padding:5px 6px;font-size:10px}
.unit-entry-table td:first-child input{min-width:90px;font-weight:700}

/* 1.19.4 – Miteigentumsanteil in Einheiten-Schnellerfassung */
.unit-entry-table input[data-key="coownership_share"]{min-width:118px}

/* 1.19.5 – automatische Miteigentumsanteile */
.mea-manual{font-weight:700;color:#8a5a13;background:#fff4d8;border-radius:5px;padding:2px 5px}
.mea-manual-pill{background:#fff0c8!important;color:#7a4c08!important;border-color:#dfbd70!important}
.mea-input-manual,.unit-entry-table input.mea-input-manual{background:#fff4d8!important;border-color:#d7aa50!important;font-weight:700}

/* 1.19.6 – Sidebar-Neuordnung & Icon-Fix */
.sidebar .navico,
.sidebar .navgroup summary .navico,
.sidebar .navgroup a .navico,
.sidebar .nav-plain .navico,
.sidebar .nav-dashboard .navico{
  color:inherit;
  opacity:.88;
}
.sidebar .navgroup summary .navico-main{
  color:#cbd6d2;
  opacity:1;
}
.sidebar .navgroup[open] summary .navico-main{
  color:#d7e3df;
}
.sidebar .navgroup summary:hover .navico-main{
  color:#ffffff;
}
.sidebar .navgroup a.active .navico,
.sidebar .nav-plain.active .navico,
.sidebar .nav-dashboard.active .navico{
  color:inherit;
  opacity:1;
}
.sidebar .navgroup[data-navgroup="communication"] summary .navico-main{
  color:#cbd6d2 !important;
}
.sidebar .navgroup[data-navgroup="communication"] summary:hover .navico-main,
.sidebar .navgroup[data-navgroup="communication"][open] summary .navico-main{
  color:#d7e3df !important;
}

/* 1.19.7 – MaBV-Ratenmatrix */
.mabv-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}
.mabv-summary>div{border:1px solid var(--line);border-radius:7px;padding:7px 9px;background:#f8faf9}
.mabv-summary small{display:block;font-size:8px;color:var(--muted)}
.mabv-summary strong{display:block;font-size:15px;margin-top:2px}
.mabv-table td,.mabv-table th{vertical-align:middle}
.mabv-row{transition:opacity .15s,background .15s}
.mabv-row.mabv-off{opacity:.42;background:#f2f3f2}
.mabv-row.mabv-off td:nth-child(n+2){text-decoration:none}
.mabv-toggle{display:inline-flex;align-items:center;margin:0;cursor:pointer}
.mabv-toggle input{position:absolute;opacity:0;pointer-events:none}
.mabv-toggle span{width:19px;height:19px;border:1px solid #9eaaa5;border-radius:5px;background:#fff;display:block;position:relative}
.mabv-toggle input:checked+span{background:#244a41;border-color:#244a41}
.mabv-toggle input:checked+span:after{content:'✓';position:absolute;left:4px;top:-1px;color:#fff;font-size:13px;font-weight:700}
.mabv-adjusted{white-space:nowrap}
.mabv-amount{white-space:nowrap;font-weight:600}
@media(max-width:800px){.mabv-summary{grid-template-columns:1fr 1fr}}

/* 1.19.8 – Ratenanforderungen */
.payment-request-box{border:1px solid var(--line);border-radius:8px;padding:8px;margin:8px 0;background:#fff}.payment-request-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}.payment-request-head small{display:block;color:var(--muted)}.request-counter{text-align:right;border-left:3px solid #496e64;padding-left:10px;min-width:135px}.request-counter strong{font-size:17px}.request-counter span,.request-counter small{display:block;font-size:9px;color:var(--muted)}.request-counter.limit{border-left-color:#a45c45}.already-requested{background:#f5f8f6}.request-done{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;background:#315d50;color:#fff}.compact-request-form{grid-template-columns:1.2fr 1fr 1fr .8fr;margin-top:8px}.request-selection-total{border:1px solid var(--line);border-radius:6px;padding:6px 8px;align-self:end}.request-selection-total small{display:block;color:var(--muted);font-size:8px}.notice.warning{background:#fff4e8;border-color:#e3b888;color:#714a23}

/* 1.19.9 */
.handwerker-head{margin-top:14px;margin-bottom:5px}.craft-list-note{margin-top:6px;font-size:9px;color:var(--muted)}

/* 1.19.10 – Handwerkerliste sichtbar in Abnahme & Übergabe */
.handwerker-overview{scroll-margin-top:10px}
.handwerker-overview .sectionhead form{margin:0}
.handwerker-overview .sectionhead select{min-width:250px}
.craft-hidden-row{opacity:.55;background:#f6f6f5}
#handwerkerliste-detail{scroll-margin-top:12px}

/* 1.19.11 – Interessent zu Käufer */
.conversion-source{border:1px solid var(--line);background:#f7faf8;border-radius:7px;padding:8px 10px}.conversion-source strong,.conversion-source span{display:block}.conversion-source span{font-size:9px;color:var(--muted);margin-top:2px}

/* 1.19.12 – Sonderwünsche 2.0 */
.change2-form select[multiple]{min-height:105px}.change2-form small.muted{display:block;margin-top:3px}

/* 1.19.13 – FAQ Redesign */
.faq-hero{display:flex;justify-content:space-between;gap:24px;align-items:stretch;padding:18px 20px;background:linear-gradient(135deg,#f7faf8 0%,#eef5f2 100%);border:1px solid #dce7e2}
.faq-hero-main{flex:1;min-width:0}.faq-hero h2{font-size:26px;margin:3px 0 4px}.faq-hero p{margin:0 0 14px;color:var(--muted);max-width:760px}
.faq-search-modern{height:44px;display:flex;align-items:center;gap:8px;border:1px solid #cbd8d2;background:#fff;border-radius:9px;padding:0 10px;max-width:820px;box-shadow:0 2px 8px rgba(25,55,47,.04)}
.faq-search-modern>span{font-size:19px;color:#72817b}.faq-search-modern input{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;font-size:12px;flex:1;min-width:0}.faq-search-modern input:focus{outline:0}
.faq-clear{border:0;background:transparent;font-size:19px;color:#7b8984;cursor:pointer;padding:2px 6px;visibility:hidden}
.faq-hero-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.faq-hero-meta>div{min-width:92px;background:#fff;border:1px solid #d7e2de;border-radius:9px;padding:10px 12px;text-align:center}.faq-hero-meta strong{display:block;font-size:21px}.faq-hero-meta span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.faq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:10px;align-items:start}.faq-nav{position:sticky;top:8px;padding:7px;max-height:calc(100vh - 30px);overflow:auto}.faq-nav-title{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:5px 7px 7px}
.faq-filter{width:100%;border:0;background:transparent;text-align:left;padding:7px 8px;border-radius:6px;font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:6px;cursor:pointer;color:var(--text)}.faq-filter span{font-size:8px;color:var(--muted);background:#eef2f0;border-radius:10px;padding:1px 6px}.faq-filter:hover{background:#f1f5f3}.faq-filter.active{background:#244a41;color:#fff;font-weight:700}.faq-filter.active span{background:rgba(255,255,255,.16);color:#fff}
.faq-content{min-width:0}.faq-area-modern{margin-bottom:12px}.faq-area-head{display:flex;justify-content:space-between;align-items:end;padding:2px 3px 5px}.faq-area-head h2{margin:0;font-size:15px}.faq-area-head span{font-size:8px;color:var(--muted)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.faq-item-modern{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;min-width:0}.faq-item-modern[open]{grid-column:span 2;border-color:#aebfb8;box-shadow:0 3px 12px rgba(31,61,53,.06)}
.faq-item-modern summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;min-height:45px}.faq-item-modern summary::-webkit-details-marker{display:none}.faq-item-modern summary>div{min-width:0}.faq-item-modern summary strong{display:block;font-size:10.5px;line-height:1.35}.faq-cat{display:inline-block;font-size:7.5px;text-transform:uppercase;letter-spacing:.06em;color:#60716b;margin-bottom:3px}.faq-chevron{font-size:15px;color:#7a8984;transition:transform .15s}.faq-item-modern[open] .faq-chevron{transform:rotate(180deg)}
.faq-answer-modern{border-top:1px solid #edf0ef;padding:11px 12px 13px;font-size:10px;line-height:1.6;color:#34413d;background:#fbfcfc}.faq-no-results{margin-bottom:9px}
.buyer-faq-hero{background:linear-gradient(135deg,#f8faf9,#f0f6f3)}
@media(max-width:1050px){.faq-grid{grid-template-columns:1fr}.faq-item-modern[open]{grid-column:span 1}.faq-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.faq-hero{flex-direction:column;padding:14px}.faq-hero-meta{justify-content:flex-start}.faq-layout{grid-template-columns:1fr}.faq-nav{position:static;display:flex;gap:5px;overflow:auto;max-height:none;padding:6px}.faq-nav-title{display:none}.faq-filter{white-space:nowrap;width:auto;border:1px solid var(--line)}.faq-filter span{margin-left:5px}.faq-area-head h2{font-size:14px}}

/* 1.19.14 – FAQ Design 2: ruhiges Help-Center */
.faq-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;margin-bottom:12px;background:#fff;border:1px solid var(--line);box-shadow:none}
.faq-hero-main{max-width:820px}.faq-hero h2{font-size:24px;line-height:1.15;margin:4px 0 5px}.faq-hero p{font-size:10px;margin:0 0 16px;max-width:650px}
.faq-search-modern{height:46px;max-width:720px;border:1px solid #bfcac6;border-radius:7px;box-shadow:none;padding:0 12px}.faq-search-modern:focus-within{border-color:#54756c;box-shadow:0 0 0 2px rgba(60,98,87,.08)}
.faq-search-modern input{font-size:11px}.faq-search-modern>span{font-size:17px}
.faq-hero-actions{display:flex;align-items:center;gap:10px;white-space:nowrap;padding-bottom:1px}.faq-article-count{font-size:9px;color:var(--muted)}
.faq-layout{grid-template-columns:205px minmax(0,860px);gap:18px;justify-content:start;align-items:start}
.faq-nav{position:sticky;top:10px;padding:4px 0;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;max-height:calc(100vh - 30px);overflow:auto}
.faq-nav-title{padding:6px 12px 8px;font-size:8px}
.faq-filter{border-radius:0;padding:8px 12px;font-size:9.5px;border-left:2px solid transparent}
.faq-filter span{background:transparent;padding:0;font-size:8px}
.faq-filter:hover{background:#f5f7f6}.faq-filter.active{background:#f0f4f2;color:#244a41;border-left-color:#244a41;font-weight:750}.faq-filter.active span{background:transparent;color:#66756f}
.faq-reading{max-width:860px;width:100%}.faq-area-modern{margin:0 0 22px}.faq-area-head{padding:1px 0 7px;border-bottom:1px solid var(--line);margin-bottom:0}.faq-area-head h2{font-size:13px;margin:0}
.faq-grid{display:block}.faq-item-modern{border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none}.faq-item-modern[open]{border-color:var(--line);box-shadow:none}
.faq-item-modern summary{min-height:0;padding:13px 4px;gap:14px}.faq-item-modern summary:hover strong{color:#244a41}.faq-item-modern summary strong{font-size:10.5px;line-height:1.45;font-weight:650}.faq-cat{font-size:7px;margin-bottom:3px;color:#7b8883}
.faq-chevron{font-size:14px;flex:0 0 auto}.faq-answer-modern{border-top:0;background:#fff;padding:0 34px 15px 4px;font-size:10px;line-height:1.7;color:#45514d;max-width:760px}
.faq-no-results{max-width:860px}.buyer-faq-hero{background:#fff}
@media(min-width:1500px){.faq-layout{grid-template-columns:220px minmax(0,920px);gap:24px}.faq-reading{max-width:920px}}
@media(max-width:900px){.faq-layout{grid-template-columns:175px minmax(0,1fr);gap:12px}.faq-hero{align-items:flex-start}.faq-hero-actions{padding-top:4px}}
@media(max-width:760px){.faq-hero{padding:16px;flex-direction:column;align-items:stretch}.faq-hero-actions{justify-content:space-between}.faq-layout{grid-template-columns:1fr}.faq-nav{position:static;display:flex;border-right:0;border-bottom:1px solid var(--line);padding:4px 0;gap:2px;overflow:auto}.faq-filter{border-left:0;border-bottom:2px solid transparent;padding:7px 9px}.faq-filter.active{border-left:0;border-bottom-color:#244a41}.faq-reading{max-width:none}.faq-area-modern{margin-bottom:18px}.faq-item-modern summary{padding:12px 2px}.faq-answer-modern{padding-left:2px}}

/* 1.19.15 – Baufortschritt Gewerkematrix */
.construction-head{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:center}.construction-head h2{margin:2px 0 3px;font-size:20px}.construction-overall{border:1px solid var(--line);border-radius:7px;padding:10px 12px}.construction-overall>div:first-child{display:flex;justify-content:space-between;align-items:center}.construction-overall strong{font-size:18px}.construction-bigbar{height:9px!important;background:#edf0ef;border-radius:6px;margin:7px 0;overflow:hidden}.construction-bigbar span{display:block;height:100%;background:#2d9b4d;border-radius:6px}.construction-toolbar{padding:8px 10px;display:flex;justify-content:space-between;align-items:end;gap:10px}.construction-filters{display:flex;align-items:end;gap:6px;flex-wrap:wrap}.construction-filters label{font-size:8px;color:var(--muted)}.construction-filters select{display:block;min-width:145px;margin-top:2px}.construction-legend{display:flex;justify-content:flex-end;gap:16px;padding:7px 3px;font-size:8px;color:var(--muted)}.construction-legend span{display:flex;align-items:center;gap:4px}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-dot.notstarted{background:#aab2b7}.legend-dot.working{background:#3677d1}.legend-dot.done{background:#32a34f}.legend-dot.late{background:#ef8b2c}.legend-dot.critical{background:#d94141}.construction-matrix{padding:0;overflow:hidden}.construction-matrix table{font-size:8.5px}.construction-matrix th{white-space:nowrap;background:#f7f8f8}.construction-matrix td{vertical-align:middle}.trade-group td{background:#f8faf9;padding-top:9px;padding-bottom:7px;border-top:1px solid #dfe5e2}.trade-group strong{font-size:10px}.trade-group span{font-size:7px;color:var(--muted);margin-left:8px}.stepno{display:inline-block;min-width:27px;color:#61716b}.construction-matrix td small{display:block;color:var(--muted);margin-top:2px}.construction-progress{display:flex;align-items:center;gap:6px;min-width:145px}.construction-progress>div{height:8px;background:#ecefee;border-radius:5px;overflow:hidden;flex:1}.construction-progress span{height:100%;display:block;border-radius:5px}.construction-progress b{font-size:8px;min-width:32px;text-align:right}.construction-progress .notstarted{background:#aab2b7}.construction-progress .working{background:#3677d1}.construction-progress .done{background:#32a34f}.construction-progress .late{background:#ef8b2c}.construction-progress .critical{background:#d94141}.construction-status{font-size:7.5px;white-space:nowrap}.construction-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.construction-status.notstarted:before{background:#aab2b7}.construction-status.working:before{background:#3677d1}.construction-status.done:before{background:#32a34f}.construction-status.late:before{background:#ef8b2c}.construction-status.critical:before{background:#d94141}.matrix-alert{color:#d8781d;font-weight:800}.matrix-danger{color:#d94141;font-weight:800}
@media(max-width:1000px){.construction-head{grid-template-columns:1fr}.construction-toolbar{align-items:stretch;flex-direction:column}.construction-filters{width:100%}}

/* 1.19.17 – sichtbare Standard-Baufortschrittsvorlage */
.construction-template-card{scroll-margin-top:10px}
.construction-template-details{border-top:1px solid var(--line);margin-top:8px;padding-top:2px}
.construction-template-details>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:9px 2px;font-weight:700;font-size:10px;list-style:none}
.construction-template-details>summary::-webkit-details-marker{display:none}
.construction-template-details>summary span{font-size:8px;color:var(--muted);font-weight:500}
.template-trades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:4px}
.template-trade{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.template-trade-head{display:flex;justify-content:space-between;align-items:center;padding:7px 8px;background:#f6f8f7;border-bottom:1px solid var(--line)}
.template-trade-head strong{font-size:9.5px}.template-trade-head span{font-size:7.5px;color:var(--muted)}
.template-step{display:grid;grid-template-columns:28px minmax(0,1fr) 58px 70px;gap:5px;align-items:center;padding:6px 7px;border-bottom:1px solid #eef1ef;font-size:8px}
.template-step:last-child{border-bottom:0}
.template-step.is-present{background:#fbfdfc}.template-step.is-missing{background:#fffaf3}
.template-no{color:var(--muted)}.template-title{font-weight:600}.template-weight{color:var(--muted);text-align:right}.template-state{text-align:right;font-weight:700}
.template-step.is-present .template-state{color:#34774e}.template-step.is-missing .template-state{color:#b56a18}
@media(max-width:1250px){.template-trades{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.template-trades{grid-template-columns:1fr}.template-step{grid-template-columns:28px minmax(0,1fr) 54px 64px}}

/* 1.19.18 – Standardliste als eigener sichtbarer Baufortschritt-Reiter */
.construction-tabs{display:flex;gap:5px;margin:0 0 7px}
.construction-tabs .btn{display:inline-flex;align-items:center;gap:6px}
.construction-tabs .navbadge{position:static;margin-left:2px}
.construction-standard-full{padding:10px}
.standard-full-table{max-height:68vh;overflow:auto}
.standard-full-table thead th{position:sticky;top:0;z-index:3;background:#f5f7f6}
.standard-trade-row td{background:#eef3f1!important;padding:8px 7px!important;border-top:2px solid #d8e1dd;font-size:10px}
.standard-present{background:#fbfdfc}
.standard-missing{background:#fffaf2}
.standard-missing td:last-child{font-weight:700}

/* 1.19.19 – sichtbarer Standardlisten-Banner und Reparaturhinweis */
.construction-standard-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;margin-bottom:7px;border-left:3px solid #315d50}
.construction-standard-banner>div:first-child strong{display:block;font-size:10px}
.construction-standard-banner>div:first-child span{display:block;font-size:8px;color:var(--muted);margin-top:2px}
.construction-repair-note{margin-bottom:8px}
@media(max-width:850px){.construction-standard-banner{align-items:flex-start;flex-direction:column}}

/* 1.19.20 – Baufortschritt Ausgabe unabhängig von DB */
.construction-standard-banner.always-visible{background:#f4f8f6;border:1px solid #cbdad4;border-left:4px solid #315d50}
.construction-standard-full{min-height:300px}
.standard-full-table table{min-width:820px}

/* 1.19.21 – Navigation und Mängel im Baufortschritt */
.construction-defect-strip{display:flex;align-items:stretch;gap:6px;margin:0 0 7px}
.construction-defect-kpi{display:flex;align-items:center;gap:9px;min-width:128px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:inherit;text-decoration:none}
.construction-defect-kpi span{font-size:8px;color:var(--muted)}
.construction-defect-kpi strong{font-size:14px;margin-left:auto}
.construction-defect-kpi.critical strong{color:#c53b3b}.construction-defect-kpi.overdue strong{color:#b56a18}
.construction-defect-strip>.btn{margin-left:auto;align-self:center}
@media(max-width:760px){.construction-defect-strip{flex-wrap:wrap}.construction-defect-kpi{flex:1 1 120px}.construction-defect-strip>.btn{margin-left:0}}

/* 1.19.22 – Update-/Cache-Diagnose */
.sidebar-version{
  margin:8px 10px 2px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:7px;
  color:rgba(255,255,255,.42);
  letter-spacing:.04em;
}

/* 1.19.23 – Schreiben & Vorlagen */
.letter-help{margin-top:9px;padding:9px 10px;background:#f5f7f6;border:1px solid var(--line);border-radius:7px;font-size:8px;color:var(--muted)}
.letter-help strong{color:var(--text)}

/* 1.19.25 – Schreiben Ansicht / Druckvorschau */
.letter-preview-card{margin-bottom:8px}
.letter-paper{max-width:760px;min-height:760px;margin:12px auto;padding:55px 65px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.06);font-size:10px;line-height:1.55}
.letter-paper-head{margin-top:45px;min-height:95px}
.letter-meta{text-align:right;margin:15px 0 28px;color:var(--muted)}
.letter-paper h1{font-size:13px;margin:0 0 22px}
.letter-body{white-space:normal}
@media print{
 body *{visibility:hidden!important}
 .letter-paper,.letter-paper *{visibility:visible!important}
 .letter-paper{position:absolute;left:0;top:0;width:100%;max-width:none;min-height:0;margin:0;padding:20mm 22mm;border:0;box-shadow:none}
}

/* 1.19.27 – vereinheitlichter Schriftverkehr */
.letter-context-note{font-size:8px;color:var(--muted)}

/* 1.19.28 – Vorlagenbearbeitung */
.template-manager{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;margin-top:8px}
.template-list{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff;max-height:650px;overflow-y:auto}
.template-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.template-list-item:last-child{border-bottom:0}.template-list-item:hover{background:#f6f8f7}.template-list-item.active{background:#eef4f1;border-left:3px solid #315d50}
.template-list-item strong,.template-list-item small{display:block}.template-list-item strong{font-size:9.5px}.template-list-item small{font-size:7.5px;color:var(--muted);margin-top:2px}
.template-editor{border:1px solid var(--line);border-radius:7px;padding:10px;background:#fff;min-width:0}
.placeholder-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px;background:#f6f8f7;border:1px solid var(--line);border-radius:6px}
.placeholder-toolbar>span{font-size:8px;color:var(--muted);margin-right:4px}
.placeholder-btn{border:1px solid #c9d3cf;background:#fff;border-radius:5px;padding:4px 6px;font-size:7.5px;cursor:pointer}.placeholder-btn:hover{background:#edf3f0}
.template-preview{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#fbfcfc;min-height:130px}
.template-preview h4{font-size:11px;margin:4px 0 12px}.template-preview>div:last-child{font-size:9px;line-height:1.55}
@media(max-width:900px){.template-manager{grid-template-columns:1fr}.template-list{max-height:280px}}

/* 1.19.29 – PDF-Prüfansicht */
.pdf-review-head{margin-bottom:8px}
.pdf-review-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);gap:9px;align-items:start}
.pdf-original-pane{padding:0;overflow:hidden;position:sticky;top:8px}
.pdf-pane-title{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line);background:#f7f9f8}
.pdf-pane-title strong{font-size:10px}.pdf-pane-title span{font-size:8px;color:var(--muted)}
.pdf-review-frame{display:block;width:100%;height:72vh;min-height:650px;border:0;background:#e9eceb}
.pdf-preview-fallback{padding:6px 10px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}
.pdf-review-fields{margin:0}
.pdf-review-confirm{background:#f5f8f6;border:1px solid #d5e0db;border-radius:6px;padding:7px 9px}
.pdf-text-details{margin-top:10px;border-top:1px solid var(--line);padding-top:7px}
.pdf-text-details summary{cursor:pointer;font-size:9px;font-weight:700;color:#4c5d57}
.pdf-text-details .pdf-extracted{margin-top:7px;max-height:300px;overflow:auto}
@media(max-width:1100px){.pdf-review-layout{grid-template-columns:1fr}.pdf-original-pane{position:static}.pdf-review-frame{height:650px}}
@media(max-width:700px){.pdf-review-frame{height:520px;min-height:520px}.pdf-review-layout{display:block}.pdf-review-fields{margin-top:8px}}

/* 1.19.30 – Responsive Sidebar & Mobile Navigation */
.mobile-menu-toggle,.mobile-bottom-nav,.mobile-nav-backdrop{display:none}

@media(max-width:900px){
 body{padding-bottom:64px}
 .shell{display:block;min-height:100vh}
 .main{width:100%;min-width:0;padding:12px 10px 20px}
 .topbar{padding-left:48px;min-height:42px}
 .topbar h1{font-size:18px;line-height:1.15}

 .mobile-menu-toggle{display:flex;position:fixed;left:10px;top:10px;z-index:1003;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}
 .sidebar{display:block!important;position:fixed!important;z-index:1002;left:0;top:0;bottom:0;width:min(86vw,320px)!important;max-width:320px;overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 24px rgba(0,0,0,.18)}
 body.mobile-nav-open .sidebar{transform:translateX(0)}
 .mobile-nav-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(17,27,23,.38)}
 body.mobile-nav-open .mobile-nav-backdrop{display:block}
 body.mobile-nav-open{overflow:hidden}
 body.mobile-nav-open .mobile-menu-toggle{left:min(calc(86vw - 46px),274px);background:rgba(255,255,255,.95)}

 .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:1000;left:0;right:0;bottom:0;height:58px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 12px rgba(0,0,0,.07);padding-bottom:env(safe-area-inset-bottom)}
 .mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;text-decoration:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;cursor:pointer;min-width:0}
 .mobile-bottom-nav span{font-size:17px;line-height:18px}.mobile-bottom-nav small{font-size:7px;white-space:nowrap}
 .mobile-bottom-nav a.active{color:var(--text);font-weight:700}
 .mobile-bottom-nav a.active:before{content:"";position:absolute;top:0;width:28px;height:2px;background:currentColor;border-radius:0 0 2px 2px}
 .mobile-bottom-nav a{position:relative}

 .grid2,.grid2equal,.grid3,.grid4,.formgrid{grid-template-columns:1fr!important}
 .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
 table{min-width:680px}
 .card.section{padding:10px}
 .sectionhead{gap:8px;align-items:flex-start;flex-wrap:wrap}
 .sectionhead .inlineactions{width:100%;display:flex;gap:5px;flex-wrap:wrap}
 .sectionhead .inlineactions .btn{flex:1 1 auto}
 .modal{width:calc(100vw - 16px)!important;max-width:none!important;max-height:92vh;overflow-y:auto}
 .pdf-review-layout{grid-template-columns:1fr!important}
 .pdf-original-pane{position:static!important}
}

@media(max-width:560px){
 .main{padding:10px 7px 18px}
 .card.section{padding:8px}
 .btn{min-height:34px}
 input,select,textarea{font-size:16px!important} /* verhindert iOS-Zoom */
 .construction-tabs{overflow-x:auto;white-space:nowrap;display:flex}
 .construction-tabs .btn{flex:0 0 auto}
 .pdf-review-frame{height:58vh!important;min-height:420px!important}
 .template-manager{grid-template-columns:1fr!important}
 .letter-paper{padding:24px 18px!important;min-height:0!important}
}

/* 1.19.31 – Sidebar-Sichtbarkeit korrigiert */

/* Desktop + Tablet: Sidebar bleibt sichtbar */
@media (min-width:721px){
  body{padding-bottom:0!important}
  .shell{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important}
  .sidebar{
    display:block!important;
    position:sticky!important;
    left:auto!important;top:0!important;bottom:auto!important;
    width:auto!important;max-width:none!important;
    height:100vh!important;
    transform:none!important;
    overflow-y:auto!important;
    box-shadow:none!important;
  }
  .main{width:auto!important;padding:26px 30px 60px!important}
  .mobile-menu-toggle,.mobile-bottom-nav,.mobile-nav-backdrop{display:none!important}
  body.mobile-nav-open{overflow:auto!important}
}

/* kompakter Tabletmodus statt versteckter Sidebar */
@media (min-width:721px) and (max-width:1100px){
  .shell{grid-template-columns:220px minmax(0,1fr)!important}
  .sidebar{padding:16px 10px!important}
  .sidebar .brand{font-size:inherit!important}
  .sidebar .brand:after{content:none!important}
  .sidebar .projectswitch,.sidebar .navtitle{display:block!important}
  .sidebar a{font-size:inherit!important;justify-content:flex-start!important}
  .main{padding:18px 16px 50px!important}
}

/* Handy: vollständige Sidebar als Drawer */
@media (max-width:720px){
  body{padding-bottom:64px!important}
  .shell{display:block!important}
  .main{width:100%!important;min-width:0!important;padding:58px 8px 18px!important}
  .topbar{padding-left:0!important}

  .sidebar{
    display:block!important;
    position:fixed!important;
    z-index:1202!important;
    left:0!important;top:0!important;bottom:0!important;
    width:min(88vw,330px)!important;
    max-width:330px!important;
    height:100dvh!important;
    overflow-y:auto!important;
    transform:translateX(-105%)!important;
    transition:transform .2s ease!important;
    box-shadow:8px 0 24px rgba(0,0,0,.20)!important;
  }
  body.mobile-nav-open .sidebar{transform:translateX(0)!important}

  .mobile-menu-toggle{
    display:flex!important;
    position:fixed!important;
    left:9px!important;top:9px!important;
    z-index:1204!important;
    width:auto!important;height:38px!important;
    padding:0 12px!important;
    border:1px solid #cbd5d1!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#18211e!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    box-shadow:0 2px 10px rgba(0,0,0,.12)!important;
  }
  .mobile-menu-toggle span{font-size:18px!important;line-height:1}
  .mobile-menu-toggle b{display:block!important;font-size:10px!important}

  .mobile-nav-backdrop{display:none!important;position:fixed!important;z-index:1201!important;inset:0!important;background:rgba(17,27,23,.42)!important}
  body.mobile-nav-open .mobile-nav-backdrop{display:block!important}

  .mobile-bottom-nav{display:grid!important;z-index:1200!important}
  body.mobile-nav-open .mobile-menu-toggle{
    left:auto!important;right:10px!important;
  }

  /* alte 1000px-Kompaktregeln vollständig zurücknehmen */
  .sidebar .brand{font-size:inherit!important}
  .sidebar .brand:after{content:none!important}
  .sidebar .projectswitch,.sidebar .navtitle{display:block!important}
  .sidebar a{font-size:inherit!important;justify-content:flex-start!important}
}

/* 1.19.32 – Mobile Sidebar Text & Kompaktheit Fix */
@media (max-width:720px){
  .sidebar{width:min(84vw,315px)!important;max-width:315px!important;padding:12px 10px 24px!important}

  .sidebar .portal-product-name,
  .sidebar .portal-product-tagline,
  .sidebar .accesslabel,
  .sidebar summary span:not(.navico),
  .sidebar a span:not(.navico):not(.navbadge){display:inline!important}
  .sidebar .portal-product-name{display:block!important;font-size:14px!important}
  .sidebar .portal-product-tagline{display:block!important;font-size:8px!important}
  .sidebar .accesslabel{display:inline-block!important;font-size:8px!important}

  .sidebar .nav-dashboard,
  .sidebar .nav-plain,
  .sidebar details.navgroup summary,
  .sidebar details.navgroup>a,
  .sidebar .user-nav-item{
    font-size:12px!important;line-height:1.2!important;justify-content:flex-start!important;
    min-height:38px!important;height:auto!important;padding:8px 9px!important;margin:0!important;
  }

  .sidebar details.navgroup{margin:0 0 6px!important;padding:0!important;border-radius:8px!important;min-height:0!important;height:auto!important}
  .sidebar details.navgroup summary{min-height:39px!important;padding:8px 9px!important;gap:8px!important}
  .sidebar details.navgroup>a{min-height:35px!important;padding:7px 9px 7px 35px!important;gap:8px!important}
  .sidebar details.navgroup>a .subico{margin-left:-24px!important}
  .sidebar .navico{width:18px!important;min-width:18px!important;height:18px!important;font-size:14px!important}
  .sidebar .subico{font-size:12px!important}

  .sidebar .brand{display:block!important;text-align:left!important;padding:4px 5px 10px!important;margin:0 0 9px!important}
  .sidebar .brand:after{content:none!important}
  .sidebar .nav-dashboard{margin-bottom:6px!important}
  .sidebar .nav-helpfaq{margin-top:7px!important;padding-top:7px!important}

  .mobile-menu-open-icon,.mobile-menu-open-label{display:inline!important}
  .mobile-menu-close-icon,.mobile-menu-close-label{display:none!important}
  body.mobile-nav-open .mobile-menu-open-icon,
  body.mobile-nav-open .mobile-menu-open-label{display:none!important}
  body.mobile-nav-open .mobile-menu-close-icon,
  body.mobile-nav-open .mobile-menu-close-label{display:inline!important}

  .mobile-menu-toggle{min-width:78px!important;white-space:nowrap!important}
  body.mobile-nav-open .mobile-menu-toggle{left:auto!important;right:calc(16vw + 8px)!important;min-width:96px!important}

  .sidebar details[open]{height:auto!important;max-height:none!important}
  .sidebar details[open]>summary{margin-bottom:0!important}
}
@media (max-width:390px){
  .sidebar{width:88vw!important;max-width:none!important}
  body.mobile-nav-open .mobile-menu-toggle{right:8px!important}
}

/* 1.19.34 – Käuferdaten mit zwei Personen */
.buyer-person-title{
  margin-top:5px;
  padding:7px 8px;
  border-bottom:1px solid #dfe6e2;
  color:#153d36;
  background:#f8faf9;
  border-radius:6px 6px 0 0;
}
.buyer-person-title strong{font-size:10px;letter-spacing:.02em}

/* 1.19.37 – Suche Einheiten & Käufer */
.list-search{margin:5px 0 7px}
.list-search input[type=search]{
 width:100%;height:30px;min-height:30px;padding:5px 8px;
 border:1px solid #dfe5e2;border-radius:6px;background:#fff;font-size:9.5px;
}
.list-search input[type=search]:focus{
 outline:none;border-color:#d5ad58;box-shadow:0 0 0 2px rgba(213,173,88,.12);
}
@media(min-width:1440px){.list-search{max-width:460px}}

/* 1.19.39 – Volltextsuche Tabellen & Dashboard */
.dashboard-global-search{margin-bottom:8px;padding:8px 10px}
.dashboard-search-form{display:flex;gap:6px;align-items:center}
.dashboard-search-form input[type=search]{flex:1;min-width:300px;height:32px}
.dashboard-search-results{margin-top:8px;border-top:1px solid #e4e8e6;padding-top:6px}
.dashboard-search-result{display:flex;gap:7px;align-items:flex-start;padding:6px 4px;border-bottom:1px solid #edf0ee;color:#243a33}
.dashboard-search-result:hover{background:#f7f9f8}
.dashboard-search-result div{min-width:0}
.dashboard-search-result strong,.dashboard-search-result small{display:block}
.dashboard-search-result small{color:#76837e;margin-top:2px}
@media(max-width:800px){.dashboard-search-form{display:grid}.dashboard-search-form input[type=search]{min-width:0;width:100%}}

/* 1.20.0 – Security Hardening */
.loginbox input[type=password]{letter-spacing:.02em}
.security-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px}

/* 1.20.1 – Käufer-Suchergebnis mit Einheitenakten */
.dashboard-search-result-wrap{border-bottom:1px solid #edf0ee}
.dashboard-search-result-wrap>.dashboard-search-result{border-bottom:0}
.dashboard-buyer-units{margin:0 0 7px 42px;padding:5px 7px;border-left:2px solid #dfe6e2;background:#fafbfa;border-radius:0 6px 6px 0}
.dashboard-buyer-units>.muted{display:block;margin-bottom:4px;font-size:8.5px}
.dashboard-buyer-unit{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(220px,1fr) auto;gap:7px;align-items:center;padding:5px 6px;margin:3px 0;border:1px solid #e3e8e5;border-radius:6px;background:#fff;color:#243a33;text-decoration:none}
.dashboard-buyer-unit:hover{background:#f3f7f5;border-color:#cbd8d2}
.dashboard-buyer-unit strong{font-size:9.5px}
.dashboard-buyer-unit small{color:#74817c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:800px){.dashboard-buyer-units{margin-left:0}.dashboard-buyer-unit{grid-template-columns:1fr auto}.dashboard-buyer-unit small{grid-column:1/-1;white-space:normal}}

/* 1.20.2 – Dokumentvorschau Einheitenakte */
.unit-doc-preview-modal{width:min(1500px,96vw);max-width:none;height:min(900px,92vh);display:flex;flex-direction:column}
.unit-doc-preview-body{flex:1;min-height:0;background:#e9edeb;border:1px solid #dce3df;border-radius:7px;overflow:hidden}
.unit-doc-preview-body iframe{display:block;width:100%;height:100%;min-height:650px;border:0;background:#fff}
body.preview-open{overflow:hidden}
@media(min-width:2200px){.unit-doc-preview-modal{width:min(1850px,92vw);height:94vh}.unit-doc-preview-body iframe{min-height:800px}}
@media(max-width:900px){.unit-doc-preview-modal{width:98vw;height:94vh}.unit-doc-preview-body iframe{min-height:520px}}

/* 1.21.0 – Aktenstruktur Projekt > Einheit > Käufer */
.record-breadcrumb{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:9px;color:#73817b}
.record-breadcrumb a{color:#38584c;text-decoration:none}.record-breadcrumb a:hover{text-decoration:underline}
.record-tabs{display:flex;gap:4px;align-items:center;overflow-x:auto;margin:0 0 8px;padding:4px;background:#f2f5f3;border:1px solid #e0e6e3;border-radius:8px}
.record-tabs a{white-space:nowrap;padding:6px 9px;border-radius:6px;color:#40574f;text-decoration:none;font-size:9px;font-weight:700}
.record-tabs a:hover{background:#fff;box-shadow:0 1px 4px rgba(30,55,45,.08)}
.recordhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.recordhead h2{margin:2px 0 3px}.record-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.record-unit-card{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;border:1px solid #e0e6e3;border-radius:8px;background:#fff;color:#253c34;text-decoration:none}
.record-unit-card:hover{border-color:#c7d5cf;background:#f7f9f8}.record-unit-card div{min-width:0}
.record-unit-card strong,.record-unit-card small{display:block}.record-unit-card small{margin-top:3px;color:#76847e}
@media(max-width:1200px){.record-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.record-unit-grid{grid-template-columns:1fr}.recordhead{align-items:flex-start;gap:8px}.record-tabs{padding-bottom:5px}}

/* 1.21.1 – Stellplätze / weitere Einheiten des Kaufvertrags in der Einheitenakte */
.contract-unit-links{margin-top:10px;padding-top:8px;border-top:1px solid #e4e9e6}
.contract-unit-links-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:9px}
.contract-unit-link{display:grid;grid-template-columns:58px 62px minmax(100px,1fr) auto;gap:6px;align-items:center;padding:5px 6px;margin-top:3px;border:1px solid #e1e7e4;border-radius:6px;text-decoration:none;color:#294139;background:#fff}
.contract-unit-link:hover{background:#f5f8f6;border-color:#c8d6d0}.contract-unit-link.current{background:#eef4f1;border-color:#bfcfc8}
.contract-unit-kind{font-size:8px;text-transform:uppercase;letter-spacing:.04em;color:#75847e}.contract-unit-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#75817d}
@media(max-width:700px){.contract-unit-link{grid-template-columns:55px 1fr auto}.contract-unit-link small{grid-column:1/-1}}

/* 1.21.2 – Sidebar nach Aktenlogik */
.sidebar .nav-core{margin:2px 8px;padding:8px 9px;border-radius:7px;font-weight:800}
.sidebar .nav-core .navico{font-size:13px}
.sidebar .nav-core.active{background:rgba(255,255,255,.12)}
.sidebar .accesslabel{margin-top:4px}
.sidebar .navgroup summary{font-size:9.2px}
.sidebar .navgroup>a{font-size:9px}
@media(min-width:2200px){
  .sidebar .nav-core{padding:9px 10px}
  .sidebar .navgroup summary{padding-top:8px;padding-bottom:8px}
}

/* 1.21.3 – Mobile Formularaktionen oberhalb der Fußnavigation */
@media(max-width:900px){
  .main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
  form .formfooter,
  .modal .formfooter{
    position:sticky;
    bottom:calc(62px + env(safe-area-inset-bottom,0px));
    z-index:35;
    margin-left:-10px;
    margin-right:-10px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.97);
    border-top:1px solid #dfe6e2;
    box-shadow:0 -5px 14px rgba(25,45,38,.08);
  }
  form .formfooter .btn,
  .modal .formfooter .btn{min-height:42px}
  form .formfooter .btn.primary,
  .modal .formfooter .btn.primary{position:relative;z-index:2}
}
@media(max-width:520px){
  form .formfooter,
  .modal .formfooter{display:flex;gap:6px;flex-wrap:wrap}
  form .formfooter .btn,
  .modal .formfooter .btn{flex:1 1 120px}
  form .formfooter .btn.primary,
  .modal .formfooter .btn.primary{flex:1 1 55%}
}

/* 1.21.4 – Kontextzuordnung Sonderwünsche */
.record-context-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:8px 10px;border:1px solid #d6e1dc;border-radius:8px;background:#f5f8f6}
.record-context-banner strong,.record-context-banner small{display:block}.record-context-banner small{margin-top:2px;color:#72807a}
@media(max-width:700px){.record-context-banner{align-items:flex-start;flex-direction:column}}

/* 1.21.5 – Sonderwünsche direkt in der Einheitenakte */
.unit-change-modal{width:min(850px,95vw);max-width:none}
.unit-change-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;border:1px solid #dce5e1;border-radius:7px;background:#f7f9f8}
.unit-change-context div{padding:5px 6px;background:#fff;border-radius:5px}
.unit-change-context small,.unit-change-context strong{display:block}
.unit-change-context small{color:#75827d;margin-bottom:2px}
.record-list-link{text-decoration:none;color:inherit}
.record-list-link:hover{background:#f5f8f6}
@media(max-width:700px){.unit-change-context{grid-template-columns:1fr}}

/* 1.21.6 – optionale Update-Passwortbestätigung */
.update-security-setting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 9px;border:1px solid #dfe6e2;border-radius:7px;background:#f8faf9}
.update-security-setting strong,.update-security-setting small{display:block}.update-security-setting small{margin-top:2px;color:#74817c}
.switchline{display:flex!important;align-items:center;gap:5px;margin:0!important;white-space:nowrap}.switchline input{width:auto!important}
@media(max-width:700px){.update-security-setting{align-items:flex-start;flex-direction:column}}

/* 1.21.7 – Sonderwünsche vollständig innerhalb der Einheitenakte */
.unit-change-inline{margin-top:7px;border:1px solid #d8e3de;border-radius:7px;background:#f8faf9;overflow:hidden}
.unit-change-inline>summary{cursor:pointer;list-style:none;padding:8px 9px;background:#edf4f1;color:#21483e;font-size:9.5px;font-weight:800}
.unit-change-inline>summary::-webkit-details-marker{display:none}
.unit-change-inline>summary:after{content:"+";float:right;font-size:14px;line-height:10px}
.unit-change-inline[open]>summary:after{content:"–"}
.unit-change-inline-body{padding:8px}
.unit-change-inline-form{margin-top:7px}
.unit-change-inline .formfooter{margin-bottom:0}
@media(max-width:700px){
 .unit-change-inline-body{padding:7px}
 .unit-change-inline>summary{padding:9px}
}

/* 1.21.10 – Zahlungen und Mängel direkt in der Einheitenakte */
.unit-inline-entry{margin-top:7px;border:1px solid #d8e3de;border-radius:7px;background:#f8faf9;overflow:hidden}
.unit-inline-entry>summary{cursor:pointer;list-style:none;padding:8px 9px;background:#edf4f1;color:#21483e;font-size:9.5px;font-weight:800}
.unit-inline-entry>summary::-webkit-details-marker{display:none}
.unit-inline-entry>summary:after{content:"+";float:right;font-size:14px;line-height:10px}
.unit-inline-entry[open]>summary:after{content:"–"}
.unit-inline-entry-body{padding:8px}.unit-inline-form{margin-top:7px}
@media(max-width:700px){.unit-inline-entry-body{padding:7px}.unit-inline-entry>summary{padding:9px}}

/* 1.21.11 – Käuferakte als direkte Arbeitsakte */
.buyer-unit-workcard{display:block!important;padding:0!important;overflow:hidden}
.buyer-unit-main{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px;color:inherit;text-decoration:none}
.buyer-unit-actions{display:flex;gap:3px;flex-wrap:wrap;padding:5px 7px;border-top:1px solid #e6ebe8;background:#f8faf9}
.buyer-unit-actions a{padding:4px 6px;border-radius:5px;background:#fff;border:1px solid #dfe6e2;color:#3c584f;text-decoration:none;font-size:8px;font-weight:700}
.buyer-unit-actions a:hover{background:#eef4f1}
.section-action-menu{position:relative}
.section-action-menu>summary{list-style:none;cursor:pointer}.section-action-menu>summary::-webkit-details-marker{display:none}
.section-action-menu>div{position:absolute;right:0;top:calc(100% + 4px);z-index:80;min-width:190px;max-height:260px;overflow:auto;padding:4px;background:#fff;border:1px solid #dfe6e2;border-radius:7px;box-shadow:0 8px 22px rgba(25,45,38,.15)}
.section-action-menu>div a{display:block;padding:6px 7px;border-radius:5px;color:#314c43;text-decoration:none;font-size:8.5px}
.section-action-menu>div a:hover{background:#f0f5f2}
@media(max-width:700px){.section-action-menu>div{position:fixed;left:12px;right:12px;top:auto;bottom:78px;max-height:45vh}.buyer-unit-actions a{flex:1 1 42%;text-align:center}}

/* 1.21.16 – Mehrere Einheiten im Kaufvertrag komfortabel auswählen */
.contract-unit-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:270px;overflow:auto;padding:5px;border:1px solid #dfe6e2;border-radius:7px;background:#f8faf9}
.contract-unit-option{display:flex!important;align-items:flex-start;gap:7px;padding:7px;border:1px solid #e1e7e4;border-radius:6px;background:#fff;cursor:pointer;margin:0!important}
.contract-unit-option:hover{background:#f2f6f4;border-color:#cbd8d2}
.contract-unit-option:has(input:checked){background:#edf5f1;border-color:#aebfb7}
.contract-unit-option input{width:auto!important;margin-top:2px}
.contract-unit-option span,.contract-unit-option strong,.contract-unit-option small{display:block}
.contract-unit-option small{margin-top:2px;color:#718079;font-size:8px}
@media(max-width:1100px){.contract-unit-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.contract-unit-picker{grid-template-columns:1fr;max-height:330px}.contract-unit-option{padding:9px}}

.unit-te-no{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:5px;background:#eef3f1;color:#61716b;font-size:8px;font-weight:700;vertical-align:middle}

@media(max-width:700px){#sortUnitRows{flex:1 1 100%}}

.payment-selector-card{margin-bottom:12px}.payment-selector-grid{display:grid;grid-template-columns:1fr 1.45fr .8fr;gap:10px;align-items:end}.payment-selector-step,.payment-selector-state{min-width:0}.payment-selector-step label,.payment-selector-state label{display:flex;align-items:center;gap:6px;margin-bottom:5px;font-weight:800}.payment-selector-step select{width:100%;font-weight:700}.stepno{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#1f2d3d;color:#fff;font-size:9px}.payment-selector-state{padding:8px 10px;border:1px solid #dfe6e2;border-radius:7px;background:#f8faf9}.payment-selector-state strong,.payment-selector-state small{display:block}.payment-selector-state small{margin-top:2px;color:#718079}.payment-empty-state{padding:32px 18px;margin-top:10px}.payment-empty-state strong,.payment-empty-state span{display:block}.payment-empty-state strong{font-size:15px;margin-bottom:5px}@media(max-width:850px){.payment-selector-grid{grid-template-columns:1fr}.payment-selector-state{min-height:64px}}

.payment-request-created{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.payment-request-created .inlineactions{margin-left:auto}

.existing-request-card{margin-bottom:12px}.existing-request-card table td{vertical-align:middle}.request-locked{white-space:nowrap}.already-requested{background:#f6f8f7}.already-requested td{opacity:.82}.already-requested .request-locked{opacity:1;font-weight:800}

.existing-request-card .request-reset-open{margin-left:3px}

.generated-document-editor{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.letter-editor{width:100%;min-height:440px;font-family:Arial,Helvetica,sans-serif;line-height:1.55;resize:vertical}

.generated-document-editor .notice{margin-top:10px}

.company-head strong{font-weight:800}

.active-project-box{margin:8px 10px 14px;padding:10px;border:1px solid rgba(224,187,105,.35);border-radius:10px;background:rgba(224,187,105,.08)}
.active-project-box small{display:block;font-size:10px;letter-spacing:.12em;color:#e0bb69;margin-bottom:6px}.active-project-name{display:block;color:#fff;text-decoration:none;margin-bottom:8px}.active-project-name strong,.active-project-name span{display:block}.active-project-name span{font-size:12px;opacity:.8;margin-top:2px}.no-active-project{display:block;color:#fff;margin-bottom:8px}.active-project-box select{width:100%;font-size:11px;padding:7px}
.dashboard-project-picker{margin-bottom:16px}.project-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-choice{margin:0}.project-choice button{width:100%;height:100%;text-align:left;border:1px solid #dce3ea;border-radius:10px;background:#fff;padding:14px;cursor:pointer}.project-choice button:hover{border-color:#9aa9b8;box-shadow:0 3px 12px rgba(20,40,60,.08)}.project-choice.active button{border:2px solid #e0bb69}.project-choice-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-choice b{display:block;font-size:15px;margin:9px 0 5px}.project-choice small{display:block;color:#68737d}.project-choice-open{display:block;margin-top:12px;font-weight:700;font-size:12px}
@media(max-width:1000px){.project-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.project-choice-grid{grid-template-columns:1fr}}

/* 1.21.30: konsequent projektzentriertes Arbeitsdesign */
.project-workflow-hero{margin:-2px 0 18px;padding:22px 24px;border-radius:14px;background:#1f2d3d;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;box-shadow:0 8px 24px rgba(31,45,61,.13)}
.project-workflow-hero h1{margin:4px 0 6px;font-size:25px;line-height:1.15}.project-workflow-hero p{margin:0;max-width:700px;color:#cbd4de;font-size:13px}.workflow-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:#e0bb69}.workflow-path{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:#aeb9c5}.workflow-path span{padding:7px 9px;border:1px solid rgba(255,255,255,.16);border-radius:7px}.workflow-path span.active{background:#e0bb69;color:#1f2d3d;border-color:#e0bb69;font-weight:800}
.dashboard-project-picker{border-top:3px solid #e0bb69}.project-choice-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px}.project-choice button{padding:16px;border-radius:12px;min-height:178px;display:flex;flex-direction:column}.project-choice-top strong{font-size:12px;color:#596775}.project-choice b{font-size:17px}.project-choice small{margin-bottom:9px}.project-choice-stats{display:flex;gap:16px;margin-top:auto;padding-top:10px;border-top:1px solid #edf0f3;color:#68737d;font-size:11px}.project-choice-stats b{display:inline;font-size:13px;color:#1f2d3d;margin:0}.project-choice-open{padding-top:11px;color:#155eef}.project-choice.active button{background:#fffdf8;box-shadow:inset 0 0 0 1px #e0bb69}
.active-project-box{border:1px solid rgba(224,187,105,.65);background:linear-gradient(145deg,rgba(224,187,105,.16),rgba(224,187,105,.05));padding:12px}.active-project-box>small{font-weight:800}.active-project-name strong{font-size:14px;color:#e0bb69}.active-project-name span{font-size:13px;color:#fff;opacity:1}.active-project-box select{background:#fff;border:0;border-radius:6px}
.nav-project-required{margin:8px 10px 12px;padding:11px;border-radius:8px;border:1px dashed rgba(255,255,255,.2);color:#fff}.nav-project-required strong,.nav-project-required span{display:block}.nav-project-required span{font-size:11px;opacity:.65;margin-top:4px;line-height:1.35}
@media(max-width:1180px){.project-workflow-hero{align-items:flex-start;flex-direction:column}.workflow-path{white-space:normal;flex-wrap:wrap}.project-choice-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:650px){.project-workflow-hero{padding:17px}.project-workflow-hero h1{font-size:20px}.workflow-path{display:none}.project-choice-grid{grid-template-columns:1fr}}

/* 1.21.31: Navigation konsequent unter dem aktiven Projekt */
.project-navgroup{margin-top:8px;border:1px solid rgba(224,187,105,.32)!important;background:rgba(224,187,105,.04)}.project-navgroup>summary{color:#e0bb69!important;font-weight:800}.project-navgroup a{padding-left:22px!important}.general-navgroup{margin-top:14px;border-top:1px solid rgba(255,255,255,.1);padding-top:5px}.general-navgroup>summary{opacity:.82}.sidebar .active-project-box{margin-bottom:8px}.sidebar>.accesslabel{margin-top:6px}

/* 1.21.32 Zahlungsmanagement: vollständige Einheitenübersicht */
.payment-unit-overview{margin-top:14px;border-top:3px solid #e0bb69}.payment-unit-overview .sectionhead{align-items:flex-end}.payment-unit-overview .list-search.compact{margin:0;min-width:260px}.payment-unit-overview table td{vertical-align:middle}.selected-payment-unit td{background:#fff9eb!important}.selected-payment-unit td:first-child{box-shadow:inset 3px 0 0 #e0bb69}
@media(max-width:700px){.payment-unit-overview .sectionhead{align-items:stretch}.payment-unit-overview .list-search.compact{min-width:0;width:100%}}

/* 1.21.33 – Bereinigung: ein Projekt, ein Arbeitsbereich, eine Auswahl */
.payment-selector-card{display:none!important}
.payment-context-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 12px;padding:17px 20px;border-radius:12px;background:#1f2d3d;color:#fff}
.payment-context-head h1{margin:3px 0 4px;font-size:20px}.payment-context-head p{margin:0;color:#cbd4de;font-size:12px}
.payment-unit-overview{margin-top:0}.payment-unit-overview table{font-size:12px}.payment-unit-overview th,.payment-unit-overview td{padding-top:9px;padding-bottom:9px}
.payment-selection-hint{margin:10px 0 16px;padding:11px 14px;border:1px dashed #cfd7df;border-radius:9px;background:#f8fafc;color:#68737d;font-size:12px;text-align:center}
.project-navgroup>summary{position:relative}.project-navgroup>summary:after{content:"AKTIV";margin-left:auto;font-size:9px;letter-spacing:.08em;color:#e0bb69}
.general-navgroup{margin-top:18px}
@media(max-width:700px){.payment-context-head{align-items:stretch;flex-direction:column}.payment-context-head .btn{align-self:flex-start}}
