:root{--bg:#f1f5f9;--panel:#fff;--ink:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--accent-dark:#1d4ed8;--ok:#16a34a;--ok-bg:#dcfce7;--err:#dc2626;--err-bg:#fee2e2;--warn:#d97706;--topbar-h:58px;--bottomnav-h:60px;--radius:16px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.08);--shadow-md:0 8px 24px rgba(15,23,42,.12);--maxw:520px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;-webkit-text-size-adjust:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--maxw);margin:0 auto;padding:12px 16px 28px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:var(--topbar-h);display:flex;align-items:center;justify-content:center;background:var(--panel);border-bottom:1px solid var(--border);font-weight:800;letter-spacing:-.02em;color:var(--ink)}.topbar .brand-accent{color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:14px}.btn,button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:12px 16px;font-weight:600;text-align:center;transition:transform .05s ease,background .15s ease,box-shadow .15s ease}.btn{display:inline-block;text-decoration:none}.btn:active,button:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;display:block;width:100%}.btn-primary:hover{background:var(--accent-dark)}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--border)}.btn-block{display:block;width:100%;text-align:center}label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px;color:var(--ink)}input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.hint{font-size:13px;color:var(--muted);margin-top:4px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}.badge-ov{background:var(--ok-bg);color:var(--ok)}.badge-afstand{background:#e0e7ff;color:var(--accent-dark)}.badge-score{background:#f1f5f9;color:var(--muted)}.swipe-stack{position:relative}.swipe-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:14px 16px;display:flex;flex-direction:column;gap:7px}.swipe-card h2{margin:0;font-size:19px;line-height:1.2}.swipe-card .company{color:var(--muted);font-weight:600;font-size:14px}.swipe-card .meta{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0}.swipe-card .omschrijving{color:var(--ink);font-size:14px;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.swipe-card .reden{background:#f8fafc;border-left:3px solid var(--accent);padding:8px 10px;border-radius:6px;font-size:13px;color:var(--muted)}.matchbar{gap:12px;margin-bottom:2px}.matchbar,.matchscore{display:flex;align-items:center}.matchscore{flex:0 0 auto;min-width:50px;height:50px;border-radius:50%;color:#fff;font-weight:800;font-size:17px;justify-content:center;box-shadow:var(--shadow-sm)}.matchmeta{flex:1 1}.matchlabel{font-weight:700;font-size:15px;margin-bottom:6px}.matchbar-track{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.matchbar-fill{height:100%;border-radius:999px;transition:width .3s ease}.swipe-hint{position:absolute;top:18px;z-index:5;font-weight:800;font-size:22px;letter-spacing:1px;padding:6px 12px;border-radius:10px;border:3px solid;pointer-events:none}.swipe-hint.like{right:18px;color:var(--ok);transform:rotate(12deg)}.swipe-hint.nope{left:18px;color:var(--err);transform:rotate(-12deg)}.swipe-actions{display:flex;gap:14px;margin-top:12px}.swipe-btn{flex:1 1;height:54px;font-size:26px;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.swipe-btn.dislike{background:#fff;color:var(--err);border:1px solid var(--err-bg)}.swipe-btn.like{background:var(--ok);color:#fff}.topnav{position:-webkit-sticky;position:sticky;top:0;left:0;right:0;z-index:30;background:var(--panel)}.brandbar{display:flex;align-items:center;justify-content:center;height:calc(42px + env(safe-area-inset-top, 0px));padding-top:env(safe-area-inset-top,0);font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--ink);border-bottom:1px solid var(--border)}.brandbar,.brandbar:hover{text-decoration:none}.brand-accent{color:var(--accent)}.bottomnav{display:flex;height:var(--bottomnav-h);background:var(--panel);border-bottom:1px solid var(--border)}.bottomnav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none}.bottomnav a.active{color:var(--accent)}.bottomnav a .ico{font-size:20px;line-height:1}.notice{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:14px}.notice-ok{background:var(--ok-bg);color:var(--ok)}.notice-err{background:var(--err-bg);color:var(--err)}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty .big{font-size:40px;margin-bottom:8px}h1{font-size:26px;letter-spacing:-.02em;margin:8px 0 4px}.lead{color:var(--muted);font-size:16px;line-height:1.5}