:root{--nav:#0f1b2d;--nav2:#1e3252;--nav-text:#c7d0dd;--nav-muted:#9fb0c6;--bg:#f4f6f9;--card:#fff;--line:#e3e7ed;--text:#111827;--muted:#5b6472;--primary:#1d4ed8;--primary-dark:#163ba5;--ok:#0b5e57;--ok-bg:#ddf3f0;--warn:#8a4b08;--warn-bg:#fbebd3;--crit:#a1241a;--crit-bg:#fbe4e1;--info:#1d4ed8;--info-bg:#e3ecfd;--radius:10px;--font:Inter, system-ui, sans-serif;--head:"Space Grotesk", Inter, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}h1{font:600 26px/1.2 var(--head);margin:0}h2{font:600 17px/1.3 var(--head);margin:0 0 10px}h3{font:600 15px/1.3 var(--head);margin:0 0 8px}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-height:40px;color:var(--text);background:#fff;border:1px solid #cbd2dc;border-radius:8px;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid #bfd3fb}textarea{resize:vertical;min-height:70px}label{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.feld{margin-bottom:10px}.btn{min-height:40px;color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd2dc;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.btn:hover{background:#f7f9fc}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.gefahr{color:var(--crit);border-color:#f0c2be}.btn.klein{min-height:32px;padding:0 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.chip{color:#414b59;background:#ebeef2;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.crit{background:var(--crit-bg);color:var(--crit)}.chip.info{background:var(--info-bg);color:var(--info)}.karte{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.kacheln{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.kpi .l{color:var(--muted);font-size:12px}.kpi .w{font:600 22px/1.2 var(--head);margin-top:4px}.kpi .s{color:var(--muted);margin-top:2px;font-size:12px}.zeile{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.zeile.zwischen{justify-content:space-between}.spalten{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.stapel{flex-direction:column;gap:16px;display:flex}.muted{color:var(--muted)}.klein{font-size:12px}.rechts{text-align:right}.fett{font-weight:600}.mono{font-variant-numeric:tabular-nums}.pos{color:var(--ok)}.neg{color:var(--crit)}.fehler{background:var(--crit-bg);color:var(--crit);border-radius:8px;margin:8px 0;padding:10px 12px}.hinweis{background:var(--info-bg);color:#163ba5;border-radius:8px;margin:8px 0;padding:10px 12px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-weight:600}.tabs button.aktiv{color:var(--primary);border-bottom-color:var(--primary)}.app{min-height:100vh;display:flex}.sb{background:var(--nav);width:232px;color:var(--nav-text);flex-direction:column;flex:0 0 232px;gap:4px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sb .logo{color:#fff;font:600 15px var(--head);align-items:center;gap:10px;padding:4px 10px 14px;display:flex}.sb .logo span{background:var(--primary);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.sb .kontext{background:var(--nav2);color:#fff;border-radius:8px;margin:0 0 8px;padding:10px 12px;font-weight:600}.sb .kontext .k{color:var(--nav-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.sb .kontext .l{color:var(--nav-text);font-size:12px;font-weight:400}.sb a.nav{min-height:44px;color:var(--nav-text);border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex}.sb a.nav.aktiv{background:var(--nav2);color:#fff;font-weight:600}.sb a.nav .b{color:#fff;background:#2a3f60;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:600}.sb a.zurueck{color:var(--nav-muted);padding:8px 12px;font-size:13px;font-weight:600}.sb .fuss{color:var(--nav-muted);border-top:1px solid #24344d;margin-top:auto;padding:14px 12px 4px;font-size:13px}.hauptbereich{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;align-items:center;gap:12px;height:64px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .firma-btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-weight:600;display:inline-flex}.topbar .punkt{border-radius:50%;width:10px;height:10px;display:inline-block}.dropdown{border:1px solid var(--line);z-index:20;background:#fff;border-radius:10px;min-width:260px;padding:6px;position:absolute;top:56px;left:20px;box-shadow:0 10px 30px #0f1b2d26}.dropdown a{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dropdown a:hover{background:#f4f6f9}main{flex-direction:column;gap:18px;padding:24px 28px 40px;display:flex}table.t{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;overflow:hidden}table.t th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#f7f9fc;padding:10px 12px;font-size:12px;font-weight:600}table.t td{vertical-align:top;border-bottom:1px solid #eef1f5;padding:10px 12px}table.t tr:last-child td{border-bottom:0}table.t tr.klick{cursor:pointer}table.t tr.klick:hover td{background:#f7f9fc}table.t td.r,table.t th.r{text-align:right;font-variant-numeric:tabular-nums}.modal-hg{z-index:50;background:#0f1b2d73;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:12px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:20px;overflow-y:auto}.modal.breit{width:min(1100px,100%)}.liste-leer{text-align:center;color:var(--muted);padding:30px}.ampel{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.ampel.gruen{background:#16a34a}.ampel.gelb{background:#d97706}.ampel.rot{background:#dc2626}.ampel.grau{background:#9ca3af}.firma-kachel{border-left:5px solid var(--primary);cursor:pointer;flex-direction:column;gap:8px;display:flex}.firma-kachel:hover{box-shadow:0 6px 18px #0f1b2d14}.flagge{border:1px solid var(--line);background:linear-gradient(#111 33%,#d00 33% 66%,#ffce00 66%);border-radius:3px;width:28px;height:19px;display:inline-block}.flagge.CY{background:#fff;position:relative}.flagge.CY:after{content:"";background:#d57800;border-radius:40% 60%;position:absolute;inset:5px 9px}.flagge.US{background:repeating-linear-gradient(#b22234 0 2px,#fff 2px 4px)}.flagge.AT{background:linear-gradient(#ed2939 33%,#fff 33% 66%,#ed2939 66%)}.flagge.CH{background:#d52b1e}.baukasten{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}.katalog-liste{max-height:70vh;overflow-y:auto}.katalog-liste .eintrag{cursor:grab;border-bottom:1px solid #eef1f5;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.katalog-liste .eintrag:hover{background:#f7f9fc}.position{border-bottom:1px solid #eef1f5;grid-template-columns:28px 1fr 80px 90px 100px 70px 70px 100px 60px;align-items:center;gap:6px;padding:6px 0;display:grid}.position.abschnitt{background:#f7f9fc;grid-template-columns:28px 1fr 60px}.position input{min-height:34px;padding:4px 8px}.position .griff{cursor:grab;color:var(--muted);text-align:center}.summen{gap:4px;width:min(360px,100%);margin-top:12px;margin-left:auto;display:grid}.summen div{justify-content:space-between;display:flex}.summen .gesamt{border-top:1px solid var(--line);padding-top:6px;font-size:16px;font-weight:700}.mail-layout{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:200px 340px 1fr;gap:0;min-height:70vh;display:grid;overflow:hidden}.mail-layout>div{border-right:1px solid var(--line);overflow-y:auto}.mail-layout>div:last-child{border-right:0}.mail-eintrag{cursor:pointer;border-bottom:1px solid #eef1f5;padding:10px 12px}.mail-eintrag.aktiv{background:#e3ecfd}.mail-eintrag .b{font-weight:600}.mail-eintrag .v{color:var(--muted);font-size:12px}.suchzeile{flex-wrap:wrap;gap:8px;display:flex}.suchzeile input,.suchzeile select{flex:1;width:auto;min-width:140px}.druck{white-space:pre-wrap}.pflicht:after{content:" *";color:var(--crit)}@media (width<=900px){.baukasten,.mail-layout{grid-template-columns:1fr}.mail-layout>div{border-right:0;border-bottom:1px solid var(--line)}.position{grid-template-columns:24px 1fr 1fr 1fr}.position>:nth-child(n+5){grid-column:span 1}}@media (width<=760px){.app{flex-direction:column}.sb{z-index:30;border-top:1px solid #24344d;flex-direction:row;flex:none;gap:2px;width:100%;height:auto;padding:6px 8px;position:fixed;inset:auto 0 0;overflow:auto hidden}.sb .logo,.sb .fuss,.sb .kontext .l{display:none}.sb .kontext{white-space:nowrap;margin:0;padding:6px 10px;font-size:12px}.sb a.nav{white-space:nowrap;min-height:40px;padding:0 10px;font-size:13px}.sb a.nav .b{margin-left:4px}.sb a.zurueck{white-space:nowrap}main{padding:14px 14px 90px}.topbar{height:56px;padding:0 12px}h1{font-size:21px}table.t,table.t thead,table.t tbody,table.t tr,table.t td{width:100%;display:block}table.t thead{display:none}table.t tr{border-bottom:1px solid var(--line);padding:8px 10px}table.t td{border:0;justify-content:space-between;gap:10px;padding:3px 0;display:flex}table.t td:before{content:attr(data-l);color:var(--muted);flex:0 0 38%;font-size:12px;font-weight:600}table.t td.r{text-align:right}.position{grid-template-columns:1fr 1fr}.position>:first-child{display:none}.modal{padding:14px}}@media (width<=760px) and (orientation:landscape){.sb{padding:4px 8px}.sb a.nav{min-height:36px}main{padding-bottom:70px}}.topbar .firma-btn{max-width:60vw}.topbar .firma-btn>span.name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=760px){.topbar .firma-btn{max-width:50vw;padding:6px 8px;font-size:13px}.topbar .btn.klein{padding:0 8px;font-size:12px}.topbar .nur-pc{display:none}}
