:root{--navy:#0b2545;--navy2:#13315c;--steel:#8da9c4;--bg:#f4f7fb;--ink:#14213d;--line:#d5deea;--ok:#1b7f4b;--warn:#b3261e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff}
a{color:var(--navy2)}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
header.top{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;flex-wrap:wrap}
.brand{font-weight:700;letter-spacing:.04em;font-size:1.1rem;color:#fff;text-decoration:none}
.brand span{color:var(--steel)}
nav.m a{color:#dbe6f3;text-decoration:none;margin-left:14px;font-size:.95rem}
.lang button{background:transparent;border:1px solid var(--steel);color:#fff;border-radius:4px;padding:3px 9px;font-size:.85rem;cursor:pointer}
.lang button.on{background:#fff;color:var(--navy)}
.hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:48px 0 44px}
.hero h1{margin:0 0 10px;font-size:1.9rem;line-height:1.2}
.hero p{margin:0 0 20px;color:#dbe6f3;max-width:34em}
.btn{display:inline-block;background:#fff;color:var(--navy);border:0;border-radius:6px;padding:11px 20px;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer}
.btn.dark{background:var(--navy);color:#fff}
.btn.sm{padding:7px 14px;font-size:.9rem}
section{padding:34px 0}
section.alt{background:var(--bg)}
h2{margin:0 0 14px;color:var(--navy);font-size:1.4rem}
.cards{display:grid;gap:14px;grid-template-columns:1fr}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}
.card h3{margin:0 0 6px;color:var(--navy);font-size:1.05rem}
.card p{margin:0;color:#334}
@media(min-width:700px){.cards.c3{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:2.4rem}}
label{display:block;font-size:.9rem;font-weight:600;margin:12px 0 4px}
input,textarea,select{width:100%;font:inherit;padding:10px;border:1px solid #b9c6d8;border-radius:6px;background:#fff;color:var(--ink)}
textarea{min-height:90px}
.msg{margin-top:10px;font-weight:600}
.msg.ok{color:var(--ok)}.msg.err{color:var(--warn)}
footer{background:var(--navy);color:#b9c9de;padding:20px 0;font-size:.9rem;text-align:center}
.hp{position:absolute;left:-9999px}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0;-webkit-overflow-scrolling:touch}
.tabs button{flex:none;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:20px;padding:8px 14px;font-size:.95rem;cursor:pointer;white-space:nowrap}
.tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.panel{padding:6px 0 40px}
.row{display:grid;grid-template-columns:1fr;gap:0 12px}
@media(min-width:600px){.row{grid-template-columns:1fr 1fr}}
.list{margin-top:18px}
.item{border:1px solid var(--line);border-left:4px solid var(--navy2);border-radius:6px;padding:10px 12px;margin-bottom:8px;background:#fff;font-size:.95rem}
.item small{color:#556;display:block}
.item img{max-width:100%;max-height:200px;margin-top:6px;border-radius:4px}
.news{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:14px 0}
.news h3{margin:0 0 6px;color:var(--navy);font-size:1rem}
.news div{padding:4px 0;border-top:1px solid var(--line)}
.news h3+div{border:0}
.news b{color:var(--navy2)}
.chat{border:1px solid var(--line);border-radius:8px;padding:10px;min-height:120px;background:var(--bg);margin-bottom:10px}
.chat p{margin:6px 0;padding:8px 10px;border-radius:8px;background:#fff;white-space:pre-wrap}
.chat p.me{background:var(--navy);color:#fff;margin-left:20%}
pre.rep{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:12px;font:inherit}
.more{border:1px dashed var(--steel);border-radius:8px;padding:14px;margin-bottom:10px;background:#fff}
.more h3{margin:0 0 4px;color:var(--navy);font-size:1rem}
.more p{margin:0 0 8px;color:#445}
.hide{display:none}
.btn.big{width:100%;padding:18px;font-size:1.15rem}hr{border:0;border-top:1px solid var(--line);margin:12px 0}
#lm,#cm{font-size:1.25rem;line-height:1.3}

/* ===== v3: ruhige Farben (Dunkelblau/Petrol, warmes Weiss), Signalfarben nur fuer Status/Alarm ===== */
:root{--navy:#0e2a47;--navy2:#123a5a;--petrol:#15575f;--steel:#9fb8c8;--warm:#faf6ee;--bg:#f3efe6;--ink:#14263a;--line:#ddd6c8;--ok:#2f9e63;--warn:#f0b429;--alarm:#d64545}
body{background:var(--warm);color:var(--ink);font-size:17px}
header.top{background:var(--navy)}
.brand{display:flex;align-items:center;gap:8px}
.logo{width:30px;height:32px}
.btn{border-radius:14px}
.btn.dark{background:var(--navy2)}
.btn.ok{background:var(--ok);color:#fff}
.btn.big{display:block;width:100%;padding:20px;font-size:1.25rem;text-align:center}
input,textarea,select{border-radius:12px;font-size:1.05rem;border-color:#bfb7a6}
.item{border-radius:14px;border-left-color:var(--petrol)}
.news{border-radius:16px;background:#fff}
.news.light{background:#fff;color:var(--ink)}
#bar{margin:0 -16px}
.status{padding:12px 16px;display:flex;flex-direction:column;gap:2px;font-size:1.1rem}
.status small{opacity:.9;font-size:.85rem}
.st-ok{background:var(--ok);color:#fff}.st-soon{background:var(--warn);color:#2a2100}.st-late{background:var(--alarm);color:#fff}
.st-off{background:#d9d3c3;color:var(--ink)}.st-neutral{background:var(--petrol);color:#fff}
.back{display:block;width:calc(100% - 32px);margin:12px 16px 0;padding:14px;border:0;border-radius:14px;background:var(--navy2);color:#fff;font-size:1.1rem;font-weight:700;text-align:left}
body.homeview{background:linear-gradient(180deg,#0e2a47 0%,#0f4a56 100%);color:#fff}
body.homeview .news.light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
body.homeview .news.light h3,body.homeview .news.light b{color:#fff}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
@media(min-width:700px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(255,255,255,.1);color:#fff;font:inherit;padding:14px 8px;text-align:center;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent}
.tile:active{background:rgba(255,255,255,.2)}
.tile b{font-size:1.15rem;line-height:1.15}
.tile small{font-size:.8rem;opacity:.85}
.tile .ic{width:46px;height:46px}
.tile.ok{background:var(--ok);border-color:#5bc58c}
.tile.big{grid-row:span 1;min-height:150px}
.tile.warn{background:rgba(240,180,41,.2);border-color:var(--warn)}
.tile.alarm{background:var(--alarm);border-color:#f08c8c;min-height:150px}
.tile.wide{grid-column:span 2}
.tile .holdhint{font-size:.78rem;opacity:.95}
.tile .fill{position:absolute;left:0;bottom:0;height:8px;width:0;background:#fff;transition:width 0s}
.tile.holding .fill{width:100%;transition:width 2s linear}
.banner{border-radius:16px;padding:14px;margin:10px 0;font-size:1.05rem}
.banner.red{background:var(--alarm);color:#fff}.banner.yellow{background:var(--warn);color:#2a2100}
.banner .btn{margin-left:6px;background:#fff;color:var(--ink)}
.panicbox{background:var(--alarm);color:#fff;border-radius:20px;padding:24px;text-align:center;margin-top:16px}
.panicbox.bad{background:#7a2a2a}
.panicbox .ic{width:72px;height:72px}
.rule{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0}
.rcat{display:inline-block;background:var(--petrol);color:#fff;border-radius:20px;padding:2px 12px;font-size:.8rem;margin-bottom:6px}
.rtxt{display:flex;gap:12px;align-items:flex-start;font-size:1.1rem;margin:4px 0}
.rtxt input{width:30px;height:30px;flex:none}
.rtxt small{display:block;color:#56606a;margin-top:2px}
.ract{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rqa{background:var(--bg);border-radius:12px;padding:8px 10px;margin-top:8px;font-size:.95rem}
.rqa small{display:block}
.map{height:300px;border-radius:16px;border:1px solid var(--line);margin-top:8px}
.sitephoto{max-width:100%;border-radius:14px;display:block;margin:8px 0}
input.focus{outline:3px solid var(--warn)}
.dim{color:#66707a;font-size:.9rem}
@media print{header.top,#bar,.back,.btn{display:none!important}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.chip{background:var(--navy2);color:#fff;border:0;border-radius:20px;padding:8px 14px;font-size:.95rem;cursor:pointer;text-align:left}
.kv{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0;font-size:.98rem}
.kv span{color:#66707a}.kv b{text-align:right;word-break:break-word}
.thumb{max-width:120px;max-height:90px;border-radius:10px;margin:2px 6px 2px 0;vertical-align:middle}
.tiles.small{grid-template-columns:repeat(2,1fr)}.tiles.small .tile{min-height:96px;background:var(--navy2);color:#fff}
.tiles.small .ic{width:34px;height:34px}
.logoprev{height:44px;max-width:120px;object-fit:contain;vertical-align:middle;margin-right:10px;background:#fff;border-radius:8px;padding:3px}
.logrow{cursor:pointer}.lk{font-size:.8rem;background:var(--bg);border-radius:10px;padding:1px 8px}
.sub{margin:6px 0 0 12px}
img.logo{height:34px;width:auto;max-width:90px;object-fit:contain}

.rnotes{background:#fff7e0;border:1px solid #e0b84a;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:.9em}
.redit{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card,#fff);border-top:3px solid #1f3a6e;box-shadow:0 -4px 16px rgba(0,0,0,.25);max-height:75vh;overflow:auto}
.redit .rein{max-width:560px;margin:0 auto;padding:12px 16px;display:grid;gap:8px}
.redit label{display:grid;grid-template-columns:5em 1fr;align-items:center;gap:6px}
.redit select,.redit input{font-size:1em;padding:8px;min-height:40px}
.rgrid th:first-child{min-width:8em}
.redit .rein .rtimes{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.avatar.ini,.pc-av.ini{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#13315c,#2b6cb0);color:#fff;font-weight:700}
.avatar.ini{width:40px;height:40px;border-radius:50%;margin-right:8px;vertical-align:middle;font-size:.9rem}
.lg{display:inline-block;background:#e8eef7;color:#13315c;border:1px solid #c5d3e6;border-radius:6px;padding:1px 7px;margin:0 4px 4px 0;font-size:.74rem;font-weight:700;letter-spacing:.04em}
.lg i{font-style:normal;font-weight:500;letter-spacing:0}
.lg.ok{background:#e3f4ea;border-color:#9fd3b4;color:#14653a}.lg.ph{background:#fff4d6;border-color:#e0b84a;color:#7a5b00}
.pcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:10px 0;box-shadow:0 6px 22px rgba(11,37,69,.10)}
.pcard.sm{padding:12px;border-radius:12px;cursor:pointer}
.pc-top{display:flex;gap:14px;align-items:center}
.pc-av{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none;font-size:1.8rem;border:3px solid #fff;box-shadow:0 0 0 2px #2b6cb0}
.pcard.sm .pc-av{width:52px;height:52px;font-size:1.1rem}
.pc-id h2{margin:0 0 2px;font-size:1.35rem}.pc-sub{color:#5b6670;font-size:.88rem;margin:2px 0 6px}
.pc-sec{margin-top:14px}.pc-h{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#5b6670;font-weight:700;margin-bottom:6px}
.pc-att{margin-top:12px;background:#fff1ee;border-left:5px solid #c0392b;border-radius:8px;padding:8px 12px}
.pc-sp{margin-top:12px;background:#eef6ff;border-left:5px solid #2b6cb0;border-radius:8px;padding:8px 12px}
.pc-att p,.pc-sp p{margin:4px 0 0}.pc-notes{white-space:pre-wrap;margin:0}
.pc-badges{display:flex;flex-wrap:wrap;gap:8px}
.qb{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:6px 12px 6px 6px;border:1px solid;font-size:.85rem}
.qb .qi{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;flex:none}
.qb .qt{display:flex;flex-direction:column;line-height:1.2}.qb small{font-size:.72rem;opacity:.85}
.qb.valid{background:#e7f6ee;border-color:#93d0ad;color:#14522f}.qb.valid .qi{background:#1b7f4b}
.qb.expiring{background:#fff6dc;border-color:#e6c25a;color:#6b5000}.qb.expiring .qi{background:#d99a00}
.qb.expired{background:#fdeceb;border-color:#e3a19b;color:#7d1d14}.qb.expired .qi{background:#c0392b}
.qb.unchecked{background:#f1f3f6;border-color:#c9d0da;color:#4a5560}.qb.unchecked .qi{background:#8a95a3}
.pc-legend{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.pc-legend .qb{padding:2px 10px;font-size:.7rem}
.pf-sec{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:12px 0}
.pf-sec h3{margin:6px 0}.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px}
.chkb,.qck{display:flex;align-items:center;gap:6px;margin:3px 0}.chkb input,.qck input,.qver{width:auto}
.qrow{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 10px;margin:6px 0}.qrow.on{border-color:#2b6cb0;box-shadow:0 0 0 1px #2b6cb0 inset}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.tgrid .pcard{margin:0;cursor:default}
.cpeople{margin-top:18px}
.pcard .chip{color:#fff}
