:root{--bg:#faf6f1;--card:#fff;--ink:#2b2420;--muted:#7a6e66;--line:#e6ddd3;--accent:#b4532a;--accent-ink:#fff;--green:#3f7d4e;--grey:#8a8179;--red:#b3352b;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font:inherit;color:inherit}.page{max-width:960px;padding-bottom:calc(96px + env(safe-area-inset-bottom));margin:0 auto}.topbar{z-index:5;background:var(--bg);padding:calc(12px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);position:sticky;top:0}.topbar h1{margin:0 0 10px;font-size:22px}.topbar.row{align-items:center;gap:12px;display:flex}.search{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.chips{scrollbar-width:none;gap:8px;margin-top:10px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;flex:none;padding:7px 12px;font-size:14px}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.chip .count{opacity:.6;margin-left:2px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:14px 16px;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:12px;text-decoration:none;display:block;overflow:hidden}.thumb{aspect-ratio:1;background:#efe8df;place-items:center;display:grid;position:relative}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.nophoto{color:var(--muted);font-size:13px}.badge{color:#fff;background:var(--grey);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600;position:absolute;top:8px;left:8px}.badge.te_koop{background:var(--green)}.badge.verkocht{background:var(--accent)}.card-body{padding:8px 10px 10px}.card-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.card-meta{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:13px;display:flex}.price{color:var(--ink);font-weight:600}.fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));background:var(--accent);width:60px;height:60px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;font-size:34px;line-height:1;position:fixed;box-shadow:0 4px 14px #00000040}.fab:disabled{opacity:.6}.empty,.error,.uploading{color:var(--muted);margin:16px}.error{color:var(--red);background:#fbe9e7;border-radius:10px;padding:10px 12px}.back{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:17px}.item-id{color:var(--muted);font-weight:600}.save{color:var(--muted);margin-left:auto;font-size:13px}.save.saved{color:var(--green)}.save.error{color:var(--red)}.detail{gap:14px;padding:14px 16px;display:grid}.detail section{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:12px;padding:12px;display:grid}.photos{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.photos:empty{display:none}.photo{aspect-ratio:1;background:#efe8df;border-radius:8px;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.cover{color:#fff;background:#0009;border-radius:6px;padding:2px 6px;font-size:11px;position:absolute;bottom:4px;left:4px}.photo-btn{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;width:30px;height:30px;font-size:14px;position:absolute;top:4px}.photo-btn.left{left:4px}.photo-btn.right{right:4px}.photo-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn{border:1px solid var(--line);background:var(--card);text-align:center;cursor:pointer;border-radius:10px;padding:12px;font-weight:600;display:block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.disabled{opacity:.5;pointer-events:none}.btn.danger{color:var(--red);background:0 0}.segmented{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.segmented button{background:var(--card);color:var(--muted);cursor:pointer;border:0;padding:11px 4px;font-weight:600}.segmented button+button{border-left:1px solid var(--line)}.segmented button.active{color:#fff;background:var(--grey)}.segmented button.active.te_koop{background:var(--green)}.segmented button.active.verkocht{background:var(--accent)}.field{gap:4px;min-width:0;display:grid}.field span{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.field textarea{resize:vertical}.field.invalid input{border-color:var(--red);background:#fdf1ef}.cols{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cols.three{grid-template-columns:repeat(3,1fr)}
