:root{font-family:system-ui,-apple-system,Arial,sans-serif;color:#17343a;background:#f2f5f3}*{box-sizing:border-box}body{margin:0}header{background:#173f43;color:white;padding:23px max(18px,calc((100vw - 900px)/2));display:flex;justify-content:space-between;align-items:center}header small{font-size:10px;letter-spacing:2px;color:#b5d4cc}h1{font-size:23px;margin:4px 0}.bus{font-size:30px}nav{display:flex;position:sticky;top:0;background:white;border-bottom:1px solid #dce5e1;z-index:5;justify-content:center}nav button{flex:1;max-width:300px;border:0;background:white;padding:17px 5px;color:#55716e;font-weight:700}nav button.active{color:#17685e;border-bottom:3px solid #17685e}main{max-width:900px;margin:auto;padding:20px 15px 80px}.card{background:white;border:1px solid #dce5e1;border-radius:15px;padding:16px;margin:11px 0;box-shadow:0 2px 8px #102d2510}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.grow{flex:1;min-width:0}h2{font-size:21px;margin:8px 0 14px}h3{margin:0 0 6px;font-size:16px}p{line-height:1.5}small,.muted{color:#68807c;font-size:13px}.stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat .card{text-align:center;padding:13px 5px}.stat strong{display:block;font-size:24px;color:#17685e}.btn{border:0;border-radius:10px;background:#17685e;color:white;padding:12px 15px;font-weight:700;cursor:pointer}.btn.secondary{background:#e9f1ee;color:#21584f}.btn.danger{background:#fff0ec;color:#a23b2b}.btn.small{padding:8px 11px;font-size:13px}.full{width:100%}input[type=search],input[type=text],input[type=date],textarea,select{width:100%;padding:12px;border:1px solid #cbdad4;border-radius:10px;font:inherit;background:white;color:#17343a}label.field{display:block;font-weight:650;margin:14px 0 6px}.line{cursor:pointer}.bar{height:7px;background:#e3ebe7;border-radius:12px;overflow:hidden;margin-top:10px}.bar>div{height:100%;background:#2a9d80}.stop{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e7eeea}.stop:last-child{border:0}.stop input[type=checkbox]{width:24px;height:24px;accent-color:#17685e;flex-shrink:0}.stop .name{font-weight:650}.stop .meta{font-size:12px;color:#728781;margin-top:4px}.back{border:0;background:transparent;color:#17685e;font-weight:750;padding:8px 0}.pill{font-size:12px;background:#fff0df;color:#945c0b;padding:4px 8px;border-radius:20px}.photo{max-width:100%;max-height:240px;object-fit:contain;border-radius:9px;margin:8px 0}.empty{text-align:center;padding:38px 15px;color:#68807c}.warning{background:#fff5e7;border:1px solid #ecd6b3;padding:12px;border-radius:10px;font-size:13px;line-height:1.5}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#173f43;color:white;padding:12px 20px;border-radius:12px;display:none;z-index:20;max-width:90vw}.actions{display:flex;flex-wrap:wrap;gap:8px}.file{display:block;border:1px dashed #a8beb5;padding:16px;border-radius:10px;background:#f6faf8}details summary{cursor:pointer;font-weight:700}button:disabled{opacity:.5} @media(max-width:430px){.stat strong{font-size:20px}h1{font-size:21px}}

#town-stops select{min-width:0;flex:1}#town-stops input[type=checkbox]{width:24px;height:24px;accent-color:#17685e}nav button{font-size:12px;padding:15px 2px}@media print{nav,header{display:none}}

/* Linienanmerkungen deutlich rot hervorheben */
#route-note{background:#fff0f0;border:2px solid #d73a3a;color:#7d1717;min-height:115px;}
#route-note:focus{outline:3px solid #f7b0b0;outline-offset:1px;}
.card:has(> #route-note){background:#fff7f7;border-color:#e9a3a3;}
.card:has(> #route-note) label.field{color:#a71f1f;}
