@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap");:root{--navy:#0b1832;--panel:#102243;--raised:#16315c;--line:hsla(0,0%,100%,.09);--green:#1d9e75;--green-deep:#0f6e56;--green-glow:rgba(29,158,117,.25);--plum:#7d3a7d;--amber:#e2a33b;--text:#eaf1fb;--muted:#8ea6c7;--faint:#5d749a;--disp:"Space Grotesk",sans-serif;--body:"Inter",sans-serif;--mono:"Space Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--navy);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}body{min-height:100vh;background:radial-gradient(1200px 500px at 80% -10%,rgba(29,158,117,.1),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(125,58,125,.12),transparent 55%),var(--navy);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.wrap{max-width:520px;margin:0 auto;padding:18px 18px 60px}.install{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 16px;padding:13px 14px;border:1px solid var(--green);border-radius:13px;background:linear-gradient(180deg,rgba(29,158,117,.18),rgba(15,110,86,.18));color:var(--text);font-family:var(--disp);font-weight:600;font-size:14px;cursor:pointer}.install .ico{font-size:16px;color:var(--green)}.install.hint{justify-content:space-between;font-family:var(--body);font-weight:500;font-size:13px;line-height:1.4;color:var(--muted);cursor:default;text-align:left}.install.hint .x{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.top{justify-content:space-between;padding:8px 2px 22px}.brand,.top{display:flex;align-items:center}.brand{gap:11px}.logo{width:38px;height:38px;border-radius:11px;flex:0 0 auto}.brand h1{font-family:var(--disp);font-size:16px;font-weight:600;letter-spacing:.2px;line-height:1.1}.brand span{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:.3px;margin-top:1px}.lang{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;font-size:11px}.lang,.lang button{font-family:var(--mono)}.lang button{background:transparent;border:0;color:var(--muted);padding:7px 11px;cursor:pointer;font-weight:700;letter-spacing:.5px}.lang button.on{background:var(--green);color:#04130d}.rail{display:flex;gap:6px;margin-bottom:20px}.rail .s{flex:1 1;height:3px;border-radius:3px;background:var(--line);transition:.4s}.rail .s.on{background:var(--green);box-shadow:0 0 10px var(--green-glow)}.rail .s.done{background:var(--green-deep)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:8px;display:flex;gap:8px;align-items:center}.eyebrow .n{color:var(--faint)}h2{font-family:var(--disp);font-size:25px;font-weight:600;line-height:1.12;margin-bottom:6px}.sub{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:22px}.drop{border:1.5px dashed rgba(142,166,199,.35);border-radius:18px;background:linear-gradient(180deg,rgba(22,49,92,.5),rgba(16,34,67,.5));padding:40px 22px;text-align:center;cursor:pointer;transition:.2s;position:relative;overflow:hidden;display:block}.drop:hover{border-color:var(--green);background:linear-gradient(180deg,rgba(22,49,92,.8),rgba(16,34,67,.7))}.scanframe{width:64px;height:64px;margin:0 auto 16px;position:relative}.scanframe i{position:absolute;width:16px;height:16px;border:2.5px solid var(--green)}.scanframe i:first-child{top:0;left:0;border-right:0;border-bottom:0;border-radius:5px 0 0 0}.scanframe i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-radius:0 5px 0 0}.scanframe i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 5px}.scanframe i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 5px 0}.scanframe:after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--green);box-shadow:0 0 12px var(--green);animation:sweep 2.2s ease-in-out infinite}@keyframes sweep{0%,to{top:18%;opacity:.4}50%{top:82%;opacity:1}}.drop h3{font-family:var(--disp);font-weight:500;font-size:16px;margin-bottom:4px}.drop p{color:var(--muted);font-size:13px}.preview-img{width:100%;border-radius:14px;margin-top:14px;border:1px solid var(--line)}.thumbs{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin-top:14px}.thumb{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:rgba(16,34,67,.5)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .badge{left:8px;bottom:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:8px}.thumb .badge,.thumb .rm{position:absolute;background:rgba(11,24,50,.85);color:#fff}.thumb .rm{top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn{width:100%;border:0;border-radius:13px;padding:16px;font-family:var(--disp);font-weight:600;font-size:15px;cursor:pointer;transition:.15s;letter-spacing:.2px}.btn-go{background:var(--green);color:#04130d;box-shadow:0 6px 22px var(--green-glow)}.btn-go:hover{background:#23b384;transform:translateY(-1px)}.btn-go:disabled{background:var(--raised);color:var(--faint);box-shadow:none;cursor:default;transform:none}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line);margin-top:10px}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btnrow{margin-top:24px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500;letter-spacing:.2px}.reqstar{color:#f0a5a5;font-weight:600}.field input.invalid{border-color:rgba(226,90,90,.55)}.vinbig{font-size:19px;letter-spacing:2px;font-weight:700;text-align:center}.vinmsg{border-radius:11px;padding:11px 14px;font-size:13px;margin-top:12px;line-height:1.5}.vinmsg.ok{background:rgba(29,158,117,.12);border:1px solid rgba(29,158,117,.4);color:#7ddcb8}.vinmsg.warn{background:rgba(226,163,59,.12);border:1px solid rgba(226,163,59,.45);color:#e9c386}.btn-decode{margin:14px 0 4px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.maandlink{display:block;text-align:right;margin:-6px 2px 14px;color:var(--green);font-size:13px;font-weight:600;text-decoration:none}.maandlink:hover{text-decoration:underline}.rowbtn{margin:8px 8px 0 0;border:1px solid var(--line);background:transparent;color:#5d749a;font-size:12px;font-weight:600;padding:4px 9px;border-radius:8px;cursor:pointer}.rowbtn.del{color:#c0564f;border-color:rgba(192,86,79,.35)}.actpanel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0;color:var(--text)}.actpanel .btnrow{margin-top:14px}input,select{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:11px;color:var(--text);padding:13px 14px;font-family:var(--body);font-size:15px;transition:.15s}input:focus,select:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}input.mono{font-family:var(--mono);letter-spacing:.5px}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.conf{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;padding:5px 10px;border-radius:20px;margin-bottom:18px}.conf .dot{width:7px;height:7px;border-radius:50%}.conf.hoog{background:rgba(29,158,117,.14);color:#54d3a6}.conf.hoog .dot{background:#54d3a6}.conf.middel{background:rgba(226,163,59,.14);color:var(--amber)}.conf.middel .dot{background:var(--amber)}.conf.laag{background:rgba(226,90,90,.14);color:#e87c7c}.conf.laag .dot{background:#e87c7c}.gauge{background:linear-gradient(180deg,var(--raised),var(--panel));border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center;margin:22px 0}.gauge .lbl{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.gauge .amt{font-family:var(--mono);font-weight:700;font-size:44px;color:var(--green);line-height:1;text-shadow:0 0 24px var(--green-glow)}.gauge .amt .eur{font-size:24px;color:var(--green-deep);vertical-align:super;margin-right:2px}.gauge .vat{font-size:12px;color:var(--faint);margin-top:8px;font-family:var(--mono)}.lines{margin:18px 0;border-top:1px solid var(--line)}.lines .ln{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line);font-size:14px}.lines .ln span:first-child{color:var(--muted)}.lines .ln .v{font-family:var(--mono)}.lines .ln.tot{font-weight:600}.lines .ln.tot .v{color:var(--green)}.lines .ln.disc .v{color:var(--amber)}.editor{margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.editor>summary{list-style:none;cursor:pointer;padding:14px 16px;font-family:var(--disp);font-size:13px;font-weight:500;display:flex;justify-content:space-between;align-items:center;background:var(--panel)}.editor>summary::-webkit-details-marker{display:none}.editor>summary .chev{transition:.2s;color:var(--muted)}.editor[open]>summary .chev{transform:rotate(180deg)}.editor .body{padding:16px;background:rgba(11,24,50,.5)}.editor .hint{font-size:11px;color:var(--green);font-family:var(--mono);margin-bottom:14px;line-height:1.5}.editor .sublbl{font-size:12px;color:var(--muted);margin-bottom:6px;display:block}.matrix{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0 4px}.matrix th{color:var(--faint);font-weight:500;font-family:var(--mono);font-size:10px;padding:6px 4px;text-align:center}.matrix td{padding:3px}.matrix input{padding:8px 6px;font-size:13px;text-align:center;font-family:var(--mono);border-radius:8px}.invoice{background:#fbfcfe;color:#0b1832;border-radius:16px;padding:24px;margin:22px 0;box-shadow:0 14px 40px rgba(0,0,0,.4);font-size:13px;position:relative}.inv-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #0b1832;padding-bottom:14px;margin-bottom:16px}.inv-top h3{font-family:var(--disp);font-size:18px;color:#0b1832}.inv-top .meta{text-align:right;font-family:var(--mono);font-size:11px;color:#5d749a}.inv-sec{margin-bottom:14px}.inv-sec .t{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#8093ad;margin-bottom:4px}.inv-sec .d{font-size:14px;line-height:1.5}.inv-sec .vin{font-family:var(--mono);font-size:12px;color:#0f6e56;font-weight:700}.inv-tbl{width:100%;border-collapse:collapse;margin:16px 0}.inv-tbl td{padding:9px 0;border-bottom:1px solid #e4e9f2}.inv-tbl .r{text-align:right;font-family:var(--mono)}.inv-tbl tr.t td{border:0;font-weight:700;padding-top:14px}.inv-tbl tr.t .r{color:#0f6e56;font-size:16px}.draft{position:absolute;right:24px;top:18px;font-family:var(--disp);font-weight:700;font-size:13px;color:var(--amber);letter-spacing:2px;border:2px solid var(--amber);padding:4px 10px;border-radius:6px;transform:rotate(-6deg)}.foot{text-align:center;font-family:var(--mono);font-size:10px;color:var(--faint);margin-top:30px;line-height:1.6}.foot b{color:var(--plum);font-weight:700}.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(4,19,13,.3);border-top-color:#04130d;border-radius:50%;animation:sp .7s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes sp{to{transform:rotate(1turn)}}.err{background:rgba(226,90,90,.12);border:1px solid rgba(226,90,90,.4);color:#f0a5a5;border-radius:11px;padding:12px 14px;font-size:13px;margin-top:14px;line-height:1.5}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}