:root{--bg:#fbf9ef;--paper:#fffdf4;--card:#fffdf2;--card2:#f6f1df;--ink:#3d352b;--muted:#736b60;--soft:#8d8476;--line:#d8d0bd;--line2:#e8e0cf;--brand:#9b6a35;--brand2:#b8894c;--danger:#9b4d42;--green:#637b42;--shadow:0 14px 32px rgba(74,59,34,.16);--r:24px;--mono:"Roboto Mono","Courier New",monospace}*{box-sizing:border-box}html{background:#1d1d1d}body{margin:0;font-family:Inter,Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:16px;letter-spacing:.035em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:760px;margin:0 auto;min-height:100vh;background:linear-gradient(180deg,#fffdf1 0%,#faf8ef 45%,#f7f5ed 100%);position:relative;box-shadow:0 0 0 1px #00000010,0 20px 70px #0005}.topbar{position:sticky;top:0;z-index:10;height:78px;background:#fffdefe8;backdrop-filter:blur(12px);display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid #ede5d2}.topbar h1{font-size:31px;line-height:1;margin:0;font-weight:650;letter-spacing:.02em;flex:1}.iconbtn{border:0;background:transparent;color:#64594d;font-size:27px;width:42px;height:42px;border-radius:20px;display:grid;place-items:center}.iconbtn:hover{background:#eee5d0}.logo-title{display:flex;align-items:center;gap:14px}.appicon{width:38px;height:38px;border-radius:12px}.content{padding:24px 24px 116px}.lead{font-size:20px;line-height:1.55;color:#595146;margin:0 0 28px}.card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);box-shadow:var(--shadow);padding:24px;margin:18px 0}.card.soft{background:#faf5e7}.card h2,.section-title{font-size:24px;margin:0 0 16px;font-weight:650}.card p{line-height:1.55;color:var(--muted)}.divider{height:1px;background:#dfd4bd;margin:18px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}.stat{background:#fffdf2;border:1px solid var(--line2);border-radius:18px;padding:20px;min-height:112px}.stat.full{grid-column:1/-1}.stat span{display:block;color:#5f574d;font-size:16px;margin-bottom:10px}.stat b{font-size:32px;font-weight:750;letter-spacing:.02em}.month-row{display:grid;grid-template-columns:54px 1fr 70px;gap:12px;align-items:center;margin:12px 0;font-family:var(--mono)}.bar{height:8px;background:#e7deca;border-radius:99px;position:relative}.bar i{display:block;height:8px;border-radius:99px;background:var(--brand);width:var(--w)}.notice{background:#f3ded3;border-radius:14px;padding:13px 18px;color:#6b4a34}.bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:20;width:min(760px,100vw);display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:#f8f5eeed;backdrop-filter:blur(12px);border-top:1px solid #ddd4c3;padding:9px 12px 14px}.bottom-nav a{border:1px solid #d8d0bd;border-radius:17px;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#51483d;background:#faf8f0;font-size:13px}.bottom-nav a.active{background:#f1ead8;color:#4b3623;border-color:#c7b89c}.bottom-nav .ico{font-size:22px;line-height:1}.fab{position:fixed;right:calc(50% - 350px);bottom:96px;width:58px;height:58px;border-radius:50%;background:var(--brand);border:0;color:white;display:grid;place-items:center;font-size:34px;box-shadow:var(--shadow)}.form{display:grid;gap:22px}.field{position:relative}.field span,.select-wrap span{position:absolute;top:-10px;left:20px;background:var(--bg);padding:0 7px;color:#6d6256;font-size:14px}.input,.select,textarea{width:100%;border:1px solid #c9bea9;background:#fffef7;color:var(--ink);border-radius:3px;padding:22px 24px;font-size:22px;outline:none;min-height:76px}textarea{min-height:116px;resize:vertical}.select-wrap{position:relative}.select{appearance:none}.select-wrap:after{content:"⌄";position:absolute;right:22px;top:24px;font-size:28px;color:#6c6258;pointer-events:none}.check{display:flex;align-items:center;gap:14px;font-size:20px;color:#5d534a}.check input{width:28px;height:28px;accent-color:#8b735d}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f1ead8;border-radius:16px;padding:6px;border:1px solid #d9cfbc}.seg a{padding:14px;border-radius:12px;text-align:center;border:1px solid transparent;font-size:19px}.seg a.active{background:#fffdf3;border-color:#cbbfa8}.btnrow{display:flex;gap:12px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}.btn{border:1px solid #a88f71;background:#fffaf0;color:#5a4c3d;border-radius:22px;padding:14px 24px;font-weight:650}.btn.primary{background:linear-gradient(90deg,#b58a54,#94642f);color:white;border-color:#94642f}.btn.danger{color:#8f3f35;border-color:#bd9b96}.list{display:grid;gap:18px}.item{background:#fffdf2;border:1px solid var(--line2);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.item h2{margin:0 0 8px;font-size:25px}.item p{margin:6px 0;color:#675e53;line-height:1.45}.plate{display:inline-block;border:2px solid #cfc5b0;border-radius:7px;padding:6px 12px;background:#fff;font-family:var(--mono);font-weight:700}.muted{color:var(--muted)}.empty{background:#f3f0df;border-radius:22px;padding:24px;margin:18px 0;box-shadow:var(--shadow)}.empty h2{margin:0 0 14px}.filters{margin:0 0 18px}.calendar-card{border:1px solid var(--line2);border-radius:22px;background:#fffdf2;padding:22px;box-shadow:var(--shadow)}.cal-head{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;text-align:center;font-size:24px;margin:4px 0 22px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;text-align:center}.cal-grid b{font-weight:500;color:#655c51;margin-bottom:12px}.day{height:46px;display:grid;place-items:center;border-radius:24px;font-size:19px}.day.active{background:var(--brand);color:white;font-weight:700}.day.has{box-shadow:inset 0 -4px 0 #c2a27d}.lang-card{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;border:1px solid #c9bea9;border-radius:18px;padding:18px;margin:14px 0;background:#fffdf3}.flag{font-size:34px}.lang-card small{display:block;color:#655c51;margin-top:5px}.lang-card.active{border-color:#8e6740;background:#fff8e9}.cloudbox{display:grid;grid-template-columns:46px 1fr auto;gap:16px;align-items:center;background:#f1ead8;border-radius:18px;padding:18px}.switch{width:70px;height:40px;border-radius:24px;background:#d6cfbc;position:relative}.switch:after{content:"";width:30px;height:30px;border-radius:50%;background:#bdb39e;position:absolute;left:5px;top:5px}.modal{position:fixed;inset:0;background:#0008;z-index:50;display:none;align-items:center;justify-content:center;padding:22px}.modal:target{display:flex}.dialog{max-width:560px;max-height:86vh;overflow:auto;background:#fffdf1;border-radius:28px;padding:30px;box-shadow:0 20px 90px #0007}.dialog h2{font-size:34px;margin:0 0 18px}.dialog li{margin:12px 0;color:#5b5248;line-height:1.4}.toast{background:#e9f0d4;border:1px solid #cbd9a6;padding:12px 18px;border-radius:16px;margin-bottom:16px}.desktop-note{display:none}@media(min-width:900px){body{background:#222}.app-shell{margin:24px auto;border-radius:34px;overflow:hidden;min-height:calc(100vh - 48px)}.bottom-nav{bottom:24px;border-radius:0 0 34px 34px}.desktop-note{display:block;position:fixed;left:20px;top:20px;color:#ddd;font-size:12px;max-width:260px}.fab{right:calc(50% - 360px)}}@media(max-width:560px){.topbar{height:70px;padding:16px}.topbar h1{font-size:29px}.content{padding:22px 18px 110px}.stats{grid-template-columns:1fr 1fr}.card{padding:20px}.input,.select,textarea{font-size:21px;padding:20px}.bottom-nav{padding-left:5px;padding-right:5px;gap:4px}.bottom-nav a{font-size:12px;min-height:62px}.fab{right:18px}.lead{font-size:19px}.iconbtn{font-size:25px;width:38px}.topbar .appicon{display:none}}

/* v2: Android-App-ähnliche Formular-Navigation */
.topbar .backbtn{font-size:34px;line-height:1;color:#3c332b;text-decoration:none;margin-right:2px}
.topbar .backbtn + h1{padding-left:0}
.actionbar{position:sticky;bottom:88px;z-index:25;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;background:linear-gradient(180deg,rgba(251,249,239,.72),#fbf9ef 34%);padding:14px 0 4px;margin-top:18px}
.actionbar .btn{min-height:56px;border-radius:18px;font-size:18px;display:flex;align-items:center;justify-content:center}
.btn.secondary{background:#fffdf2;border-color:#c9bea9;color:#51463b}
.wide-add{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 18px;padding:16px 18px;border:1px solid #c9bea9;border-radius:18px;background:#fffdf2;color:#51463b;text-decoration:none;font-weight:700;box-shadow:0 8px 22px rgba(64,50,32,.08)}
.form{padding-bottom:16px}
.form .field:last-of-type textarea{min-height:120px}
@media(max-width:560px){.actionbar{position:fixed;left:18px;right:18px;bottom:88px;max-width:684px;margin:auto}.form{padding-bottom:92px}.wide-add{font-size:17px}.topbar .backbtn{width:34px}}
@media(min-width:900px){.actionbar{bottom:112px}.actionbar{max-width:684px}.wide-add{max-width:684px}}

/* v3: iOS/PWA optimizations */
html{min-height:100%;background:#fbf9ef}body{min-height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:rgba(155,106,53,.15)}
.app-shell{min-height:calc(100vh - env(safe-area-inset-top));}
.topbar{padding-top:calc(18px + env(safe-area-inset-top));height:calc(78px + env(safe-area-inset-top));}
.bottom-nav{padding-bottom:calc(14px + env(safe-area-inset-bottom));}
.install-hero{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center}.install-hero img{width:76px;height:76px;border-radius:22px;box-shadow:0 8px 24px rgba(74,59,34,.18)}
.install-card{background:linear-gradient(180deg,#fffdf2,#f8eedb)}
.steps{margin:0;padding-left:25px;color:#5b5248;line-height:1.55;font-size:18px}.steps li{margin:13px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.feature-grid span{background:#f3eedf;border:1px solid #dfd4bd;border-radius:16px;padding:14px;line-height:1.35;color:#51483d}
@media(display-mode:standalone){.desktop-note{display:none}.app-shell{box-shadow:none;margin:0;border-radius:0}.bottom-nav{bottom:0;border-radius:0}body{background:#fbf9ef}}
@supports(-webkit-touch-callout:none){input,select,textarea{font-size:20px}.btn,.bottom-nav a{touch-action:manipulation}}
@media(max-width:560px){.feature-grid{grid-template-columns:1fr}.install-hero{grid-template-columns:58px 1fr}.install-hero img{width:58px;height:58px;border-radius:18px}.steps{font-size:17px}.topbar{padding-top:calc(16px + env(safe-area-inset-top));height:calc(70px + env(safe-area-inset-top));}.content{padding-bottom:calc(110px + env(safe-area-inset-bottom));}.actionbar{bottom:calc(88px + env(safe-area-inset-bottom));}}

/* Recovery code + iOS calendar additions */
.warning-card{border-color:#b08a47;background:#fff8e3}
.recovery-code{font-size:1.1rem;letter-spacing:.08em;font-weight:800;background:#f3ead3;border:1px dashed #9b7a43;border-radius:16px;padding:14px 12px;text-align:center;margin:12px 0;color:#3c342b;word-break:break-word}
.restore-form{margin-top:14px}
.switch.on:after{transform:translateX(22px);background:#8a6a3a}.switch.on{background:#ead8ad}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:520px){.btnrow .btn{flex:1 1 auto}.recovery-code{font-size:.95rem}}

/* Production final: consistent professional outline icons */
.svgico{width:23px;height:23px;display:inline-block;vertical-align:-.22em;stroke:currentColor;fill:none;flex:none}
.iconbtn .svgico{width:24px;height:24px}.backbtn .svgico{width:26px;height:26px}.bottom-nav .svgico{width:24px;height:24px}.dialog h3{display:flex;align-items:center;gap:10px}.dialog h3 .svgico{color:var(--brand)}.cloudbox .svgico{width:30px;height:30px;color:var(--brand)}
.wide-add{letter-spacing:.02em}.fab{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}


/* Production finale: currency labels, local recovery QR and tasteful VKD Studio footer */
.field span{max-width:calc(100% - 40px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qr-wrap{display:grid;place-items:center;gap:10px;margin:14px 0 4px}.qr-card{background:#fffdf4;border:1px solid #d8d0bd;border-radius:22px;padding:14px;box-shadow:0 8px 22px rgba(74,59,34,.12)}.qr-svg{width:210px;height:210px;display:block}.copyright-line{font-weight:700;color:#4b4036;margin-bottom:4px}.android-promo{display:flex;align-items:center;gap:8px;color:#6f614f}.android-promo .svgico{color:var(--brand)}.app-footer{padding:10px 24px calc(124px + env(safe-area-inset-bottom));text-align:center;font-size:12px;color:#82766a;letter-spacing:.04em}.app-footer:before{content:"";display:block;width:70px;height:1px;background:#ddd2bd;margin:0 auto 12px}.topbar .iconbtn{transition:background .15s ease, transform .15s ease}.topbar .iconbtn:active,.bottom-nav a:active,.btn:active{transform:scale(.97)}
@media(max-width:560px){.qr-svg{width:184px;height:184px}.app-footer{padding-left:18px;padding-right:18px}.field span{font-size:13px}.input,.select,textarea{font-size:20px}}

.qr-video{width:100%;max-height:420px;background:#2b261e;border:1px solid var(--line);border-radius:22px;object-fit:cover;display:block}
.hidden{display:none!important}

/* QR scanner + mileage audit final */
.qr-reader{width:100%;min-height:280px;background:#2b261e;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;place-items:center;color:#fffdf4}
.qr-reader video{border-radius:18px!important}.qr-native-note{margin-top:12px;background:#f2ead9}.item .btnrow{margin-top:14px}.audit-line{font-family:var(--mono);font-size:.95rem}
