:root{--ink:#163b37;--green:#1c5149;--lime:#d7edb0;--paper:#f6f7f2;--line:#dce3d8;--muted:#68776e}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:15px/1.5 system-ui,-apple-system,sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--green);color:white;border:1px solid var(--green);border-radius:12px;padding:11px 17px;font-weight:650}button:disabled{opacity:.55;cursor:wait}button:hover{filter:brightness(1.08)}input,select,textarea{width:100%;border:1px solid #bdcbbd;border-radius:10px;padding:12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #71a18d;outline-offset:1px}header{height:86px;padding:16px max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-size:21px;font-weight:900;line-height:1.15;letter-spacing:1px}.brand b{color:#6c8d3d}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px}.fish{background:var(--ink);color:var(--lime);width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:30px}.outline{background:transparent;color:var(--ink);border-color:#b8c8bc}main{max-width:1100px;margin:auto;padding:26px 20px 110px}.page{display:none}.page.active{display:block}h1{font-size:clamp(25px,4vw,36px);line-height:1.15;letter-spacing:-1px;margin:0 0 8px}h2{font-size:21px;line-height:1.3;margin:12px 0}p{margin:8px 0 18px}.toolbar>p,.muted{color:var(--muted)}.search{display:flex;gap:8px;margin:20px 0 16px}.search input{flex:1;min-width:0}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:14px;scrollbar-width:thin}.chips button{white-space:nowrap;border-radius:24px;background:white;color:var(--ink);border-color:var(--line);font-size:13px;padding:8px 14px}.chips button.selected{background:var(--ink);color:var(--lime);border-color:var(--ink)}.mapwrap{position:relative;height:min(52vh,460px);min-height:290px;border-radius:20px;overflow:hidden;background:#dde8e0;box-shadow:0 3px 15px #143d3812}#map{height:100%;width:100%;z-index:0}.locate{position:absolute;right:14px;top:14px;background:white;color:var(--ink);font-size:25px;padding:4px 12px;border:0;box-shadow:0 2px 8px #0002}.floating{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);white-space:nowrap;box-shadow:0 4px 14px #163b3750;background:var(--ink);color:var(--lime)}.maphint{position:absolute;top:12px;left:12px;right:65px;background:#fff;padding:10px;border-radius:9px;box-shadow:0 2px 10px #0002}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 0 12px}.sectionhead h2{margin:0;font-size:19px}.sectionhead>span{color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}.card{padding:20px;border:1px solid var(--line);border-radius:17px;background:white;cursor:pointer;overflow:hidden}.card:hover{border-color:#8fae98}.card img{width:calc(100% + 40px);height:180px;object-fit:cover;margin:-20px -20px 15px}.card h3{margin:8px 0;font-size:19px}.card p{font-size:14px;color:var(--muted);margin:0}.card .foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:12px;color:var(--muted)}.badge{font-size:11px;background:#e9f0df;padding:5px 8px;border-radius:6px;color:#45612c;font-weight:650}.badge.pending{background:#fff2d8;color:#795d26}.badge.rejected{background:#ffe8e3;color:#922e20}.empty{grid-column:1/-1;background:#edf1e8;border:1px dashed #bacbbb;border-radius:16px;padding:28px;text-align:center;color:var(--muted)}.empty h2{color:var(--ink)}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:5px;background:#ffffffed;backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:8px 12px max(10px,env(safe-area-inset-bottom));z-index:800}nav button{width:min(24%,150px);padding:6px;border:0;background:transparent;color:#78877d;font-size:11px;border-radius:12px}nav button span{display:block;font-size:24px;line-height:1.2}nav button.selected{background:#edf3e5;color:var(--ink)}.eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:2px;color:#688347;margin-bottom:10px}dialog{border:0;border-radius:22px;padding:30px;width:calc(100% - 24px);max-width:520px;max-height:90dvh;overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #0005}dialog::backdrop{background:#082b2870;backdrop-filter:blur(4px)}dialog label{display:block;margin:14px 0;font-size:13px;font-weight:650}dialog label input,dialog label textarea,dialog label select{display:block;margin-top:5px}.close{float:right;background:transparent;color:var(--ink);border:0;font-size:28px;line-height:1;padding:0 0 12px 15px}.textbutton{display:block;background:none;border:0;color:var(--green);padding:12px 0;text-decoration:underline}.fine{font-size:11px}.error{font-size:13px;color:#a93628;white-space:pre-wrap}.coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detailphoto{width:100%;max-height:350px;object-fit:cover;border-radius:14px}.detailbody{white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.actions button{font-size:13px}.danger{background:transparent;border-color:#d6a59a;color:#9e3f30}.settings{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.profiletabs{display:flex;gap:10px;margin:20px 0}.loadmore{display:block;margin:20px auto}.pin{background:#174d43;border:3px solid white;border-radius:50%;color:#e0f1c4;text-align:center;line-height:26px;box-shadow:0 2px 7px #0005;font-size:14px}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:90px;background:var(--ink);color:white;padding:13px 22px;border-radius:12px;max-width:90%;z-index:2000;font-size:13px}#adminPanel{margin-top:32px;border-top:1px solid var(--line);padding-top:15px}#queue{margin-top:15px}.leaflet-container{font-family:inherit}.leaflet-popup-content button{padding:6px 12px;font-size:12px}.leaflet-control-attribution{font-size:9px!important} [hidden]{display:none!important}@media(max-width:520px){header{height:74px;padding:12px 16px}main{padding:20px 14px 100px}.brand{font-size:19px}.sectionhead h1{font-size:25px}.sectionhead>button{font-size:12px;padding:10px}.cards{grid-template-columns:1fr}.mapwrap{border-radius:14px}.toolbar h1{font-size:28px}dialog{padding:24px}.sectionhead{align-items:flex-start}}
