:root{font-family:Arial,sans-serif;color:#18352f;background:#f5f3ed;--green:#124c42}*{box-sizing:border-box}body{margin:0;padding-bottom:100px}a{color:var(--green)}header{max-width:1000px;padding:24px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px}header a{text-decoration:none;font-weight:700}.brand{font-size:22px;letter-spacing:-.6px}main{max-width:850px;margin:20px auto;padding:0 24px}.intro{margin:30px 0}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:700;color:#61766b}h1{font-size:38px;letter-spacing:-1.5px;margin:12px 0}h2{font-size:22px;margin:0 0 12px}p{line-height:1.6}button,input,select{font:inherit}button,.button{cursor:pointer;border:0;border-radius:13px;min-height:46px;padding:13px 17px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:600}button:disabled{cursor:wait;opacity:.6}.primary{background:var(--green);color:white}.secondary{background:#e6ece1;color:var(--green)}button:focus-visible,a:focus-visible{outline:3px solid #6b9351;outline-offset:3px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.panel{padding:24px;background:white;border:1px solid #dce4d8;border-radius:20px}.search{margin-bottom:16px}label{display:block;font-size:13px;font-weight:700;margin:15px 0 7px}.search-row{display:flex;gap:8px}.search-row input{margin:0;flex:1;min-width:0}input,select{width:100%;padding:13px;border-radius:12px;border:1px solid #cbd7c8;background:white;color:#18352f;min-height:46px}select{cursor:pointer}.filter{display:flex;align-items:center;gap:12px;margin-bottom:22px}.filter label{margin:0}.filter select{max-width:240px}.contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact{background:white;border:1px solid #dce4d8;border-radius:20px;padding:20px;overflow-wrap:anywhere}.identity{display:flex;gap:12px;align-items:center;margin:0 0 14px}.avatar{width:50px;height:50px;flex-shrink:0;border-radius:50%;background:#e4edcf;color:#124c42;display:grid;place-items:center;font-weight:700;font-size:20px;object-fit:cover}.identity h3{margin:0 0 5px;font-size:18px}.badge{font-size:10px;letter-spacing:1px;color:#60776b;text-transform:uppercase}.contact p{font-size:14px;margin:7px 0}.contact .controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.contact .controls button,.contact .controls a{font-size:12px;min-height:42px;padding:10px 12px}.contact .controls a{text-decoration:none;display:inline-flex;align-items:center;border-radius:11px;background:#e6ece1;font-weight:600}.contact .controls a.primary{background:var(--green);color:white}.danger{color:#91443b;background:#f8e9e5}.small,.privacy{font-size:12px;color:#61766b}.privacy{margin-top:30px}.bottom-nav{display:flex;justify-content:space-around;gap:6px;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,650px);padding:14px 12px max(14px,env(safe-area-inset-bottom));background:#124c42;border-radius:20px 20px 0 0;z-index:10}.bottom-nav a{color:white;text-decoration:none;font-size:13px;min-height:38px;display:flex;align-items:center;padding:8px;border-radius:10px}.bottom-nav a[aria-current]{background:#d5f183;color:#18352f;font-weight:700}dialog{border:0;border-radius:24px;padding:25px;width:min(94%,520px);max-height:90dvh;overflow:auto;color:#18352f}dialog::backdrop{background:#102f2899}dialog p{font-size:14px}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-head button{background:#eef2e9;color:#18352f;flex-shrink:0}.tabs{display:flex;padding:4px;border-radius:13px;background:#eef2e9;margin:18px 0;gap:4px}.tabs button{flex:1;font-size:13px;background:transparent;color:var(--green)}.tabs [aria-pressed=true]{background:white;box-shadow:0 2px 7px #16392e15}form>.primary{margin-top:18px;width:100%}#cardPreview{background:#f2f6ed;padding:18px;border-radius:16px;margin-top:18px}#saveCard{width:100%}#cameraView{width:100%;max-height:300px;object-fit:cover;border-radius:16px;margin:15px 0}#qrPhoto{font-size:13px}.file-choice{cursor:pointer;padding:14px;text-align:center;border-radius:12px;font-size:14px;font-weight:600}#stopCamera{margin-top:14px}#status,#addStatus,#scanStatus{min-height:24px;font-size:14px;line-height:1.6}#more{margin-top:20px;width:100%}[hidden]{display:none!important}@media(max-width:600px){header{padding:20px 18px}main{padding:0 18px}.contacts{grid-template-columns:1fr}h1{font-size:34px}.brand{font-size:20px}.actions>*{flex:1;padding:13px 10px;font-size:14px}dialog{padding:20px}.search-row button{padding:12px}}
