:root{--tws-blau:#0b3d66;--tws-blau-dunkel:#072a47;--tws-akzent:#ffb400;--gruen:#1c8a45;--rot:#c0392b;--bg:#f2f4f7;--karte:#fff;--text:#1a2330;--text-schwach:#5b6675;--rand:#dde3ea;font-synthesis:none}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}button{font-family:inherit}.app-shell{background:var(--bg);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.app-shell.breit{max-width:1100px}.topbar{background:var(--tws-blau);color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.topbar .marke{letter-spacing:.5px;font-size:1.1rem;font-weight:800}.topbar .nutzer{opacity:.9;align-items:center;gap:10px;font-size:.8rem;display:flex}.topbar button.link{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px;font-size:.8rem;text-decoration:underline}.inhalt{flex-direction:column;flex:1;gap:16px;padding:20px 16px 40px;display:flex}.titel-gross{text-align:center;color:var(--tws-blau-dunkel);letter-spacing:1px;margin:8px 0 4px;font-size:1.6rem;font-weight:800}.btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:20px;font-size:1.15rem;font-weight:700;transition:transform 50ms,opacity .15s;display:flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-scan{background:var(--tws-akzent);color:var(--tws-blau-dunkel);border-radius:20px;padding:32px;font-size:1.5rem;box-shadow:0 6px 18px #0b3d6640}.btn-primaer{background:var(--tws-blau);color:#fff}.btn-erfolg{background:var(--gruen);color:#fff}.btn-gefahr{background:var(--rot);color:#fff}.btn-sekundaer{color:var(--tws-blau);border:2px solid var(--tws-blau);background:#fff}.btn-klein{border-radius:10px;padding:12px;font-size:.95rem}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.karte{background:var(--karte);border:1px solid var(--rand);border-radius:16px;flex-direction:column;gap:10px;padding:18px;display:flex}.karte h2{color:var(--tws-blau-dunkel);margin:0;font-size:1.2rem}.zeile{color:var(--text-schwach);justify-content:space-between;font-size:.95rem;display:flex}.zeile b{color:var(--text)}.feld{flex-direction:column;gap:6px;display:flex}.feld label{color:var(--text-schwach);font-size:.85rem;font-weight:600}.feld input,.feld select,.feld textarea{border:1.5px solid var(--rand);color:var(--text);background:#fff;border-radius:10px;padding:14px;font-size:1.05rem}.feld input:focus,.feld select:focus,.feld textarea:focus{outline:2px solid var(--tws-blau)}.fehler{color:var(--rot);background:#fdecea;border:1px solid #f5c2bc;border-radius:10px;padding:12px 14px;font-size:.95rem}.erfolg{color:var(--gruen);background:#e9f7ef;border:1px solid #b9e6c9;border-radius:10px;padding:12px 14px;font-size:.95rem}.hinweis{color:var(--text-schwach);background:#eef3f9;border-radius:10px;padding:12px 14px;font-size:.9rem}.tag{border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.tag-vollstaendig{color:var(--gruen);background:#e9f7ef}.tag-unvollstaendig{color:#a86a00;background:#fff4e0}.video-scan{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:14px;width:100%}table.tabelle{border-collapse:collapse;width:100%;font-size:.9rem}table.tabelle th,table.tabelle td{text-align:left;border-bottom:1px solid var(--rand);padding:8px 10px}table.tabelle th{color:var(--text-schwach);text-transform:uppercase;font-size:.8rem;font-weight:700}.nav-desktop{border-bottom:1px solid var(--rand);background:#fff;flex-wrap:wrap;gap:6px;padding:10px 16px;display:flex}.nav-desktop a{color:var(--text-schwach);border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:600;text-decoration:none}.nav-desktop a.aktiv,.nav-desktop a:hover{background:var(--tws-blau);color:#fff}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--rand);background:#fff;border-radius:14px;padding:16px}.kpi .wert{color:var(--tws-blau-dunkel);font-size:1.6rem;font-weight:800}.kpi .label{color:var(--text-schwach);font-size:.8rem}
