:root{--bg:#f4f7f6;--panel:#fff;--text:#17231f;--muted:#6a7671;--line:#dde7e2;--brand:#0b6b4b;--brand2:#10845d;--soft:#e7f6ef;--nav:#102e26;--nav2:#19483a;--danger:#b53c3c;--dsoft:#fdeaea;--warn:#ad6d09;--wsoft:#fff2d9;--blue:#316b9c;--bsoft:#eaf2fb;--shadow:0 10px 28px rgba(18,52,42,.07);--r:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px}.logo{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#3cbc8c,#086347);display:grid;place-items:center;color:#fff;font-weight:950}.auth-card h1{margin:16px 0 4px}.muted{color:var(--muted)}.app{display:grid;grid-template-columns:285px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--nav);color:#fff;padding:15px 12px 28px;z-index:40}.brand{display:flex;align-items:center;gap:11px;padding:5px 7px 16px;border-bottom:1px solid rgba(255,255,255,.09)}.brand b{display:block;font-size:17px}.brand small{display:block;color:#a7c9bc}.ng{margin:16px 10px 6px;color:#719d8d;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.nav button{width:100%;border:0;background:transparent;color:#dbeae4;border-radius:10px;padding:9px 10px;margin:2px 0;display:flex;align-items:center;gap:10px;text-align:left}.nav button:hover,.nav button.active{background:var(--nav2);color:#fff}.nav .ico{width:24px;text-align:center;font-size:16px}.nav .count{margin-left:auto;font-size:10px;background:rgba(255,255,255,.12);padding:2px 7px;border-radius:999px}.main{min-width:0}.topbar{height:68px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 22px;position:sticky;top:0;z-index:30;backdrop-filter:blur(9px)}.menu{display:none}.iconbtn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px}.search{flex:1;max-width:700px;position:relative}.search span{position:absolute;left:12px;top:10px;color:var(--muted)}.search input{width:100%;border:1px solid var(--line);border-radius:11px;background:#f8faf9;padding:10px 12px 10px 36px;outline:none}.topright{margin-left:auto;display:flex;gap:8px;align-items:center}.chip{padding:6px 9px;border-radius:999px;background:var(--soft);color:var(--brand);font-size:11px;font-weight:850}.content{max-width:1650px;margin:auto;padding:22px}.page{display:none}.page.active{display:block}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.head h1{margin:0;font-size:27px;letter-spacing:-.025em}.head p{margin:4px 0 0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:9px 13px;font-weight:800}.btn:hover{background:#f8fbf9}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.soft{background:var(--soft);border-color:#caeadd;color:var(--brand)}.btn.danger{background:var(--dsoft);border-color:#f1c7c7;color:#9b3434}.btn.small{padding:6px 9px;font-size:12px}.btn.block{width:100%;margin-top:14px}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}.two{grid-template-columns:1.25fr .75fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:17px}.card h3{margin:0 0 12px;font-size:16px}.kpi small{color:var(--muted);font-weight:750;display:block}.kpi strong{display:block;font-size:24px;line-height:1.2;margin-top:8px}.kpi .sub{margin-top:7px;color:var(--muted);font-size:11px}.good{color:var(--brand)}.bad{color:var(--danger)}.warning{color:var(--warn)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 9px;outline:none}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:900px}.table th{text-align:left;padding:10px;background:#f7faf8;border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.table td{padding:10px;border-bottom:1px solid #edf1ef;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fbfdfc}.link{color:var(--brand);font-weight:850;cursor:pointer}.money{font-weight:850;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#edf2f0;color:#53665e}.badge.green{background:#e2f5ec;color:#0a704e}.badge.yellow{background:#fff2d9;color:#93600f}.badge.red{background:#fde8e8;color:#a13939}.badge.blue{background:#e8f1fb;color:#2f6694}.minirow{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ef}.minirow:last-child{border-bottom:0}.dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--brand2);flex:0 0 auto}.meta{font-size:11px;color:var(--muted)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px;margin-top:10px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:var(--muted);font-weight:850}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;outline:none}.field textarea{min-height:84px;resize:vertical}.notice{padding:12px;border-radius:11px;background:var(--soft);color:#175e48;border:1px solid #cce9dc}.notice.error{background:var(--dsoft);color:#923737;border-color:#f2c9c9}.empty{padding:34px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--text);font-size:16px;margin-bottom:5px}.modalbg{position:fixed;inset:0;background:rgba(8,25,20,.58);display:none;align-items:center;justify-content:center;padding:16px;z-index:100}.modalbg.show{display:flex}.modal{width:min(900px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 26px 90px rgba(0,0,0,.25)}.modalhead{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;position:sticky;top:0;background:#fff;z-index:2}.modalhead h2{margin:0;font-size:20px}.modalbody{padding:18px}.modalfoot{padding:13px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:#fff}.x{border:0;background:#f0f4f2;width:34px;height:34px;border-radius:10px;font-size:18px}.setup{max-width:650px;margin:70px auto}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#123b30;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.itemcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.itemcard h3{margin:0 0 4px}.partnerbox{background:#f7faf8;border-radius:10px;padding:9px;margin-top:8px}.summary{background:#f7faf8;border-radius:12px;padding:12px}.summaryrow{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.placeholder{padding:30px;border:1px dashed #bfd0c8;border-radius:14px;background:#fff;text-align:center}.placeholder h3{margin:0 0 6px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);min-width:760px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.calhead,.day{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-height:85px}.calhead{min-height:auto;text-align:center;background:#f7faf8;color:var(--muted);font-size:11px;font-weight:900}.event{font-size:10px;padding:4px 5px;border-radius:6px;margin-top:5px;background:var(--soft);color:#0d694d}.productthumb{width:50px;height:50px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:#f7faf8}@media(max-width:1050px){.kpis{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:1fr 1fr}}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:-300px;width:285px;transition:.2s}.sidebar.open{left:0}.menu{display:block}.desktopOnly{display:none}.two{grid-template-columns:1fr}.content{padding:15px}}@media(max-width:620px){.kpis{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.head{flex-direction:column}.search{display:none}}

/* PROD 0.3 */
.productpreview{display:block;width:150px;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#f8faf9;margin:6px 0 10px}.card.flat{box-shadow:none;background:#fbfdfc}.modal .table{min-width:760px}.docstatus{display:flex;gap:8px;flex-wrap:wrap}.btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:620px){.productpreview{width:120px;height:90px}.modal{max-height:96vh;border-radius:14px}.modalbody{padding:13px}.modalfoot{flex-wrap:wrap}.modalfoot .btn{flex:1}}

/* PROD 0.4 - Installation */
@media(max-width:760px){#view-installation .kpis{grid-template-columns:1fr 1fr}#view-installation .table{min-width:860px}}

/* PROD 0.5 - Dokumente, Mitarbeiter, Admin */
.doccats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.doccat{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 14px;text-align:left;font-weight:900;color:var(--text);display:flex;justify-content:space-between;gap:10px;align-items:center}.doccat span{background:#eef4f1;color:var(--muted);padding:2px 7px;border-radius:999px;font-size:10px}.doccat.active{border-color:#8fcab3;background:var(--soft);color:var(--brand)}.docbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 12px}.foldergrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.foldercard{position:relative;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;align-items:center;gap:11px;cursor:pointer;box-shadow:var(--shadow)}.foldercard:hover{border-color:#a7cfc0}.foldericon{width:38px;height:34px;border-radius:9px;background:var(--soft);color:var(--brand);display:grid;place-items:center;font-size:19px}.folderdelete{position:absolute;right:8px;top:8px;border:0;background:#f7eeee;color:var(--danger);width:25px;height:25px;border-radius:8px;font-weight:900}.permgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permgroup{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fbfdfc}.permgroup h4{margin:0 0 8px}.checkrow,.switchrow{display:flex;gap:9px;align-items:center;padding:7px 0}.checkrow input,.switchrow input{width:17px;height:17px;accent-color:var(--brand)}.switchrow{justify-content:space-between;border-bottom:1px solid #edf1ef}.switchrow:last-child{border-bottom:0}.switchlist{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.switchrow span{font-weight:750}.auth-card .notice{margin:12px 0}.table .meta{max-width:420px;white-space:normal;word-break:break-word}@media(max-width:1050px){.foldergrid,.doccats{grid-template-columns:repeat(2,1fr)}.permgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.foldergrid,.doccats,.permgrid,.switchlist{grid-template-columns:1fr}.doccat{padding:11px}.foldercard{padding:11px}}
