:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3c3a30;background:#f5f4f0;font-synthesis:none;--green:#64624f;--light:#f0eee5;--line:#dedcd2;--muted:#777467;--accent:#ded8c4;--red:#a94633}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #817e65;outline-offset:3px}button{min-height:44px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3.1vw,39px);font-weight:600;letter-spacing:-1.4px;line-height:1.15}h2{font-size:21px;letter-spacing:-.5px;font-weight:600}h3{font-size:17px;font-weight:600}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:#817e65}.small{font-size:13px}.btn{border:1px solid var(--line);background:white;color:var(--green);border-radius:9px;padding:11px 17px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1.4;text-decoration:none}.btn:hover{background:#f2f0e9}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.primary:hover{background:#514f3f}.btn.soft{background:var(--light);border-color:var(--light)}.btn.danger{color:var(--red)}.btn.icon{padding:10px;min-width:44px}.icon-svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.logo{display:flex;align-items:center;gap:12px;letter-spacing:-.5px;font-size:21px;font-weight:650}.logo img{width:39px;height:39px}.logo small{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:1.3px;margin-top:3px;text-transform:uppercase}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fffefa;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;z-index:20}.sidebar .logo{margin-bottom:55px}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;background:none;display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:13px 15px;color:#777467;border-radius:9px;font-size:14px;font-weight:550}.nav-item.active{color:var(--green);background:#eeebe0}.nav-item:hover{background:#f2f0e9}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:23px;font-size:12px;color:var(--muted);line-height:1.8}.side-caption{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#8e8b7c;margin-bottom:13px}.shell{margin-left:248px}.topbar{height:87px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffefa}.breadcrumb{font-size:13px;color:var(--muted)}.top-right{display:flex;gap:13px;align-items:center}.avatar{width:35px;height:35px;background:#eeeade;color:var(--green);display:grid;place-items:center;border-radius:50%;font-weight:650;font-size:13px}.identity{font-size:13px;line-height:1.5}.identity small{display:block;color:var(--muted);font-size:10px}.connection{font-size:11px;display:flex;align-items:center;gap:7px;color:#567348;white-space:nowrap}.dot{width:6px;height:6px;border-radius:100%;background:#789e57}.dot.offline{background:#c28a39}.main{max-width:1450px;padding:40px 42px 65px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:30px}.page-head h1{margin:8px 0 10px}.page-head p{margin-bottom:0;font-size:14px}.head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.hero{border-radius:15px;background:var(--green);color:#fffefa;padding:32px 34px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative;overflow:hidden;margin-bottom:25px;min-height:178px}.hero h2{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:9px 0}.hero p{margin:0;max-width:540px;color:#e1dfd2;font-size:14px}.hero .eyebrow{color:#d7d0b8}.hero .btn{background:#e6dfc9;color:#4b493b;border:0;flex-shrink:0}.hero:after{content:"";position:absolute;width:230px;height:230px;right:85px;top:-110px;border:1px solid #ffffff0d;border-radius:50%;pointer-events:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 32px}.stat{background:#fffefa;border:1px solid var(--line);border-radius:12px;padding:20px 22px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.stat-top .icon-svg{width:18px}.stat-value{font-size:34px;letter-spacing:-1px;line-height:1.3;margin-top:17px;font-weight:550}.stat-bottom{font-size:11px;color:var(--muted);margin-top:5px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;gap:16px}.section-head h2{margin:0}.text-button{border:0;background:none;color:var(--green);font-size:13px;display:inline-flex;align-items:center;gap:6px;padding:7px 0}.panel{background:#fffefa;border:1px solid var(--line);border-radius:12px;overflow:hidden}.row{display:flex;align-items:center;gap:17px;padding:20px 23px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row-icon{width:42px;height:46px;border:1px solid var(--line);background:#f5f3eb;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.row-body{flex:1;min-width:0}.row-title{font-size:14px;font-weight:600;line-height:1.5;margin-bottom:5px;overflow-wrap:anywhere}.row-meta{font-size:11px;color:var(--muted);display:flex;gap:13px;flex-wrap:wrap;line-height:1.7}.badge{display:inline-flex;align-items:center;gap:6px;background:#edf3e7;color:#4f6b38;border:1px solid #e1e9d7;font-size:10px;border-radius:6px;padding:5px 9px;white-space:nowrap;font-weight:600}.badge.warn{background:#faf1dc;color:#946c25;border-color:#f0e2ba}.badge.error{background:#faece5;color:#a34b35;border-color:#f1d9cd}.badge.neutral{background:#f0f2ed;color:#6b7667;border-color:#e4dfd1}.empty{text-align:center;padding:48px 22px;color:var(--muted);font-size:14px}.empty .icon-svg{width:33px;height:33px;margin-bottom:15px;color:#8a9b7c}.empty h3{color:var(--green);margin-bottom:7px}.empty p{font-size:13px;max-width:460px;margin:0 auto 20px}.note{border:1px solid var(--line);border-radius:10px;padding:17px 20px;background:#f2efe5;font-size:12px;line-height:1.7;color:#77725d;display:flex;gap:11px;margin-top:23px}.note .icon-svg{flex-shrink:0;margin-top:2px}.alert{background:#fff3dd;border:1px solid #eed7aa;border-radius:10px;padding:15px 18px;color:#775823;font-size:13px;line-height:1.7;margin-bottom:22px}.alert.error{background:#fff0eb;border-color:#efd0c3;color:#a24832}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:21px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:190px}.search input{width:100%;padding-left:39px}.search .icon-svg{position:absolute;left:12px;top:13px;color:#928c79;width:17px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.field{margin-bottom:19px}input,select,textarea{border:1px solid #ded9cb;background:#fff;border-radius:8px;color:#3f3d31;padding:12px 13px;font-size:14px;min-height:45px;max-width:100%}textarea{width:100%;resize:vertical;min-height:100px;line-height:1.6}.field input,.field select{width:100%}.field small{display:block;line-height:1.6;margin-top:7px;color:var(--muted);font-size:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:8px;flex-wrap:wrap}.field input[type=checkbox]{width:19px;min-height:19px;height:19px;accent-color:var(--green)}.check-label{display:flex!important;gap:10px;align-items:center;min-height:44px}.progress-shell{height:5px;background:#e7e2d5;border-radius:9px;overflow:hidden;margin-top:17px}.progress-bar{height:100%;background:#817e65;width:var(--progress,0);border-radius:9px;transition:width .25s}.detail-head{background:#fffefa;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:26px}.detail-head .row-meta{font-size:12px}.detail-summary{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:20px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:1px solid var(--line);padding:9px 16px;border-radius:8px;font-size:12px;background:transparent;color:var(--muted)}.tab.active{background:#eeeadc;color:var(--green);border-color:#dbd5c0}.point-row{cursor:pointer;width:100%;border:0;border-bottom:1px solid var(--line);background:#fffefa;color:inherit;text-align:left;display:flex;gap:16px;padding:19px 22px;align-items:center}.point-row:last-child{border-bottom:0}.point-row:hover{background:#f4f1e7}.point-state{width:31px;height:31px;border-radius:50%;border:1px solid #d9e1d0;display:grid;place-items:center;color:#8d8977;flex-shrink:0}.point-state.ok{background:#e4eed8;color:#526e34;border-color:#d6e3c7}.point-state.mangel{background:#f6e4da;color:#a34c35;border-color:#edcdbd}.point-state.nicht_pruefbar{background:#faf0d9;color:#9e782a;border-color:#eddeba}.group-label{font-size:11px;color:#7a886f;letter-spacing:1.3px;text-transform:uppercase;margin:25px 0 12px}.point-row .row-title{margin-bottom:4px}.point-row .row-meta{font-size:11px}.point-row .end-icon{color:#96917d}.result-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.choice{position:relative;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;min-height:100px;text-align:center;border:1px solid var(--line);border-radius:10px;font-size:12px;padding:14px 5px;cursor:pointer;color:#6f7c65}.choice:has(input:checked){border:2px solid var(--green);background:#f1eee3;color:var(--green)}.choice input{position:absolute;opacity:0;min-height:0;width:1px;height:1px}.choice:focus-within{outline:3px solid #817e65;outline-offset:2px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;border:1px solid var(--line);border-radius:9px;padding:16px;margin:18px 0;font-size:13px}.info-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px}.instruction{background:#f2efe5;padding:14px 16px;border-radius:9px;line-height:1.7;font-size:13px;margin-bottom:20px;white-space:pre-wrap}.login{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:#fffefa}.login-brand{padding:48px 54px;background:var(--green);color:white;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-brand .logo{font-size:24px}.login-brand .logo small{color:#dfd9c6}.login-brand .logo img{width:43px;height:43px}.login-brand-content{margin:auto 0;padding:65px 0;position:relative;z-index:1}.login-brand h1{font-size:clamp(36px,4.4vw,64px);line-height:1.12;font-weight:450;max-width:560px;letter-spacing:-2.5px;margin:20px 0 25px}.login-brand-content>p{color:#e1ddcf;font-size:15px;max-width:390px;line-height:1.85}.login-brand .eyebrow{color:#e4dcc2}.login-feature{display:flex;align-items:center;gap:13px;color:#e8e2d2;font-size:13px;margin-top:16px}.login-feature .icon-svg{width:17px;height:17px;color:#e0d4b4}.login-bottom{font-size:11px;color:#d2cbbb;letter-spacing:.6px;z-index:1}.login-brand:after{content:"";width:600px;height:600px;border:1px solid #ffffff09;border-radius:50%;position:absolute;bottom:-280px;right:-250px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff02}.login-right{display:flex;align-items:center;justify-content:center;padding:45px}.login-box{width:100%;max-width:360px}.login-box h2{font-size:30px;letter-spacing:-1px;margin:12px 0}.login-box>p{font-size:13px;line-height:1.8;margin-bottom:31px}.login-box .btn.primary{width:100%;margin-top:4px}.login-box .note{font-size:11px;margin-top:30px;padding:14px}.login-box .field{margin-bottom:20px}.login-mobile-logo{display:none}.login-status{font-size:11px;color:var(--muted);margin-top:25px;display:flex;align-items:center;gap:7px}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:14px}dialog{border:1px solid var(--line);border-radius:15px;padding:29px;width:calc(100% - 30px);max-width:650px;color:#3f3d31;background:#fffefa;max-height:90svh;overflow:auto;box-shadow:0 25px 100px #38342329}dialog::backdrop{background:#333024b8;backdrop-filter:blur(3px)}dialog h2{font-size:24px;margin:6px 0 9px}.modal-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:22px}.modal-top p{font-size:12px;margin:9px 0 0}.modal-top .btn{border:0;background:none;margin:-8px -10px 0 0}.form-error{font-size:12px;color:#a44832;line-height:1.6;margin:12px 0}.print-preview{font-size:12px;line-height:1.7}.print-preview table{width:100%;border-collapse:collapse;margin-top:20px}.print-preview th,.print-preview td{text-align:left;vertical-align:top;padding:9px 7px;border-bottom:1px solid var(--line);font-size:11px}.print-preview th{background:#efecdf}.report-heading{border-bottom:2px solid var(--green);padding-bottom:15px;margin-bottom:20px}.report-heading h3{font-size:20px;margin:8px 0}#toast{position:fixed;bottom:25px;left:calc(50% + 124px);transform:translateX(-50%);background:#64624f;color:white;padding:13px 20px;border-radius:9px;font-size:13px;box-shadow:0 8px 30px #163e3226;z-index:100;max-width:90vw;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}.mobile-menu{display:none}.issue-content{padding:17px 22px;font-size:12px;color:var(--muted);line-height:1.7}.checkbox-count{padding:13px 16px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#f2efe5}.loading-inline{padding:35px;text-align:center;color:var(--muted);font-size:13px}.text-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.login-error{margin:18px 0}.footer-note{margin-top:20px;font-size:11px;color:var(--muted);line-height:1.8}.spinner{width:15px;height:15px;border:2px solid #d7d1bc;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1500px){.main{padding-top:48px}.login-brand{padding-left:70px;padding-right:70px}}
@media(max-width:1100px){.sidebar{width:210px;padding:27px 17px}.sidebar .logo{font-size:19px;gap:9px}.shell{margin-left:210px}.main{padding:32px 26px}.topbar{padding:0 26px}.hero{padding:26px}.stats{gap:11px}.stat{padding:17px}#toast{left:calc(50% + 105px)}.identity{display:none}.login-brand{padding:35px}.login-brand h1{font-size:48px}.login-right{padding:35px}}
@media(max-width:760px){.sidebar{width:100%;inset:auto 0 0;height:73px;flex-direction:row;align-items:center;padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);height:calc(73px + env(safe-area-inset-bottom))}.sidebar .logo,.sidebar-foot,.side-caption{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around;gap:3px}.nav-item{display:flex;flex-direction:column;gap:5px;justify-content:center;padding:9px 10px;font-size:10px;min-width:63px}.nav-item .icon-svg{width:20px;height:20px}.shell{margin-left:0}.topbar{height:70px;padding:0 18px}.breadcrumb{font-size:12px}.top-right{gap:8px}.topbar .avatar{display:none}.connection{font-size:10px}.main{padding:26px 18px 110px}.page-head{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:23px}.page-head h1{font-size:30px}.page-head p{font-size:13px}.hero{padding:23px;align-items:flex-start;flex-direction:column;min-height:auto;gap:21px}.hero h2{font-size:23px;line-height:1.3}.hero p{font-size:12px}.hero .btn{font-size:13px}.stats{grid-template-columns:1fr 1fr;gap:11px;margin:19px 0 29px}.stat{padding:17px}.stat-top{font-size:11px}.stat-value{font-size:30px;margin-top:11px}.stat-bottom{font-size:10px}.section-head h2{font-size:19px}.row{padding:17px 15px;gap:12px;flex-wrap:wrap}.row-icon{width:35px;height:40px}.row-title{font-size:13px}.row-meta{gap:5px 10px;font-size:10px}.row .badge{margin-left:47px}.row>.btn{margin-left:auto}.row-body{min-width:calc(100% - 50px)}.point-row{padding:16px 14px;gap:12px}.point-row .row-body{min-width:0}.point-row .badge{display:none}.badge{font-size:10px}.note{padding:14px;font-size:11px}.login{display:block}.login-brand{display:none}.login-right{min-height:100svh;padding:30px 26px}.login-mobile-logo{display:block;margin-bottom:60px}.login-box h2{font-size:29px}.login-box>p{font-size:13px}.login-box .note{margin-top:29px}.grid2{grid-template-columns:1fr}.result-choice{gap:7px}.choice{font-size:11px;min-height:88px}dialog{padding:22px}.toolbar .search{width:100%;flex-basis:100%}.toolbar>select{width:100%}.detail-head{padding:19px}.detail-summary{font-size:11px;gap:10px}#toast{left:50%;bottom:95px}.info-grid{font-size:12px}.form-footer .btn{flex:1}.print-preview th,.print-preview td{font-size:9px;padding:6px}.footer-note{font-size:10px}}
@media print{body{background:white}.sidebar,.topbar,.main,#toast,.btn,.modal-top{display:none!important}dialog{position:static;display:block!important;max-width:none;max-height:none;width:100%;border:0;padding:0;box-shadow:none;background:white}dialog::backdrop{display:none}.print-preview{display:block}.print-preview tr{break-inside:avoid}.print-preview th,.print-preview td{font-size:10px}dialog:not(.report-dialog){display:none!important}}

/* Plantahof: Originalwortmarke unveraendert auf hellem Hintergrund. */
.brand-stack{display:flex;flex-direction:column;gap:20px}.institution-logo{width:100%;max-width:205px}.institution-logo img{display:block;width:100%;height:auto}.sidebar .brand-stack{margin-bottom:40px}.sidebar .logo{margin-bottom:0;font-size:18px}.sidebar .logo img{width:30px;height:30px}.sidebar .logo small{font-size:9px;letter-spacing:1px}.login-brand .institution-logo{background:#fffefa;border-radius:6px;padding:14px 16px;max-width:250px}.login-brand .institution-logo img{width:100%;height:auto}.mobile-institution{display:none}.report-logo{float:right;width:180px;height:auto;margin:0 0 15px 18px}.report-heading{display:flow-root}.badge.warn{background:#faf1dc;color:#84601c}.login-brand{background:#817e65}.hero{background:#817e65}.hero .btn{background:#fffdf3;color:#514f3f}.login-brand h1{color:white}.login-brand-content>p{color:#f0ecdf}.login-feature{color:#fffdf5}.login-feature .icon-svg{color:#f1e6c7}.login-brand .eyebrow{color:#fff0ca}.login-bottom{color:#f2ecdf}
@media(max-width:760px){.sidebar .brand-stack{display:none}.mobile-institution{display:block;max-width:125px}.mobile-institution img{width:100%;height:auto;display:block}.topbar .breadcrumb{display:none}.login-mobile-logo{margin-bottom:38px}.login-mobile-logo .institution-logo{max-width:200px}.report-logo{float:none;display:block;margin:0 0 17px;width:175px}}
.institution-logo{background:#817e65;padding:12px;border-radius:5px}.login-brand .institution-logo{background:transparent;padding:0;max-width:250px}.report-logo{background:#817e65;padding:12px;border-radius:3px}.hero,.login-brand{background:#64624f}.hero p{color:#f0ecdf}.hero .eyebrow{color:#fff0ca}
@media(max-width:760px){.mobile-institution{background:#817e65;padding:8px;border-radius:4px}.login-mobile-logo .institution-logo{padding:12px;max-width:225px}}

/* Aktuelle Plantahof Wortmarke: dunkle Schrift, mittige Anordnung, heller Freiraum. */
.institution-logo,.login-brand .institution-logo{background:#fffefa;padding:12px;border-radius:4px}.institution-logo img{height:auto}.report-logo{background:#fff;padding:0}.mobile-institution{background:#fffefa}.login-mobile-logo .institution-logo{background:transparent;padding:0}
.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.company-card{padding:23px;background:#fffefa;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0}.company-card-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}.company-name{border:0;background:none;color:var(--green);font-weight:650;font-size:18px;text-align:left;padding:0;flex:1;line-height:1.5;overflow-wrap:anywhere}.company-name:hover{text-decoration:underline}.company-card-head .btn.icon{border:0;background:none}.company-responsibility{display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;margin-bottom:20px}.company-responsibility>.muted{line-height:1.8}.company-contacts{display:grid;gap:9px;margin:0 0 20px}.contact-link,.contact-person{display:flex;align-items:center;gap:11px;font-size:13px;line-height:1.7;min-width:0}.contact-link{min-height:31px;text-decoration:none}.contact-link:hover{text-decoration:underline}.contact-link span,.contact-person span{overflow-wrap:anywhere;min-width:0}.contact-link .icon-svg,.contact-person .icon-svg{width:17px;height:17px;color:var(--muted)}.contact-person{color:var(--muted)}.company-note{font-size:12px;color:var(--muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.company-card-footer{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.company-card-footer .btn{border:0;background:none;font-size:12px;padding:7px 0}.company-section{margin-top:27px}.company-section h3{margin:0}.responsibility-box{padding:17px;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;background:#f5f3eb}.responsibility-box h3{margin:10px 0 13px}.responsibility-box .company-contacts{margin-bottom:0}
@media(max-width:1000px){.company-grid{grid-template-columns:1fr}}
@media(max-width:760px){.company-card{padding:19px}.nav-item{padding:9px 6px;min-width:55px;font-size:9px}.contact-link{min-height:40px}.company-name{font-size:17px}.company-card-footer .btn{min-height:44px}}
