@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,Arial,sans-serif;color:#1d302c;background:#f6f8f3}*{box-sizing:border-box}body{margin:0}header{height:76px;background:#153d38;color:#c7ded5;display:flex;align-items:center;gap:30px;padding:0 max(4vw,24px);font-size:13px}header .brand{color:#fff;font-weight:800;font-size:21px;text-decoration:none;margin-right:auto}header form{display:flex;gap:15px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,52px);letter-spacing:-.05em;line-height:1.1}h2{font-size:25px;letter-spacing:-.04em}.eyebrow{color:#a97a45;letter-spacing:.2em;font-size:11px;font-weight:800;margin-bottom:13px}button{font:inherit;cursor:pointer;background:#d9934b;color:#fff;border:0;border-radius:9px;padding:11px 17px;font-weight:800}button:hover{filter:brightness(.96)}button.ghost{background:transparent;color:inherit;border:1px solid #b8cec5}input,textarea,select{font:inherit;width:100%;border:1px solid #d8e1d9;border-radius:8px;padding:11px;background:#fff;color:#263d35}label{font-size:12px;font-weight:800;display:block;margin-bottom:13px}label input,label textarea,label select{display:block;margin-top:7px}form{margin:0}.home{max-width:1260px;margin:auto;padding:56px 24px}.intro{max-width:650px;margin-bottom:32px}.intro p,.map-heading p{color:#6f8177;line-height:1.6}.card{background:#fff;padding:24px;border:1px solid #e2e9e2;border-radius:16px;box-shadow:0 8px 30px #1f403508}.card h2{font-size:19px}.login{max-width:380px}.hint,.muted{color:#7b8a80;font-size:13px}.error{color:#b84141}.setup{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.row{display:flex;gap:10px}.row>*{flex:1}.sessions{margin-top:50px}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.session-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e1e9e1;border-radius:15px;padding:24px}.session-card:hover{border-color:#d9934b}.session-card h3{font-size:23px;margin:18px 0 11px}.pill{display:inline-block;background:#e3f0e7;color:#39755d;border-radius:30px;font-size:11px;font-weight:800;padding:7px 11px}.session-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:calc(100vh - 76px)}.map-column{padding:38px max(3vw,24px);min-width:0}.map-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.map-heading h1{margin-bottom:8px}.map-heading .ghost{color:#42675c;border-color:#b8cbc1;white-space:nowrap}.map{height:min(65vw,630px);min-height:430px;position:relative;overflow:hidden;border-radius:20px;background:#d7e4d3 center/cover;box-shadow:0 15px 45px #16403322}.map-water{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 52%,#8ab9b9 0 26%,#a2cccc 27% 42%,transparent 43%),radial-gradient(ellipse at 70% 35%,#8cb8b7 0 15%,transparent 16%),radial-gradient(ellipse at 25% 68%,#96c5be 0 18%,transparent 19%),repeating-linear-gradient(45deg,transparent 0 23px,#c9dbc7 24px 25px);opacity:.84}.map[style] .map-water{display:none}.marker{position:absolute;z-index:2;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid #fff;border-radius:50%;padding:0;box-shadow:0 2px 10px #123b3b77;font-size:11px}.free{background:#7f898d}.claimed{background:#dfab62}.found{background:#207c6c}.empty{background:#9dabb0}.legend{display:flex;gap:20px;flex-wrap:wrap;padding:16px 3px;color:#60776b;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.points-column{background:#fff;padding:39px 27px;border-left:1px solid #e3eae2}.count{font-size:14px;background:#e9f1e9;padding:4px 9px;border-radius:50%}.points-list{display:grid;gap:10px;margin-top:23px}.point-card{border:1px solid #e2e8e2;border-radius:12px;overflow:hidden}.point-card.open{border-color:#d9954f}.point-toggle{width:100%;display:flex;align-items:center;gap:12px;background:#fff;color:#213b32;text-align:left;border-radius:0;padding:16px}.point-toggle:hover{background:#f8faf6}.point-num{color:#bd915e;font-size:12px}.point-title{flex:1;min-width:0}.point-title strong,.point-title small{display:block}.point-title small{font-size:11px;color:#829185;margin-top:4px}.status{font-size:10px;color:#fff;padding:5px 7px;border-radius:20px;white-space:nowrap}.point-details{display:none;border-top:1px solid #ebefea;padding:17px;background:#fbfcfa;font-size:13px}.point-card.open .point-details{display:block}.detail-label{color:#a3794c;letter-spacing:.13em;font-size:10px;font-weight:800}.point-details p{line-height:1.5;margin:8px 0 16px}.point-details form button{width:100%}@media(max-width:900px){.session-layout{grid-template-columns:1fr}.points-column{border-left:0}.setup,.session-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{gap:8px;padding:0 16px}header>span{display:none}.setup,.session-grid{grid-template-columns:1fr}.map-heading{display:block}.map{min-height:350px}.map-column,.points-column{padding:24px 16px}}
.access-management{margin:14px 0}.access-management>summary{cursor:pointer;font-weight:800;color:var(--ink)}
.access-management[open]>summary{margin-bottom:10px}.access-list{display:grid;gap:7px;margin:10px 0}
.access-member{display:grid!important;grid-template-columns:minmax(0,1fr) 18px!important;gap:6px;align-items:center;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.06)}
.access-member span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.access-member form{display:block!important;width:18px!important;min-width:18px!important;height:18px!important;margin:0!important;padding:0!important}
.access-member.access-owner{display:block!important;color:#60776b}.access-member .access-remove{display:flex!important;align-items:center;justify-content:center;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important;border-radius:50%;background:transparent;color:#9a625d;font-family:Arial,sans-serif!important;font-size:15px!important;font-weight:400!important;line-height:18px!important}.access-remove:hover{background:#f4e5e3;color:#873e38}.access-add-form{display:grid;gap:8px;margin-top:12px}
.home-access{margin:0 16px 16px;padding-top:12px;border-top:1px solid #dce7dc}.home-access>summary{cursor:pointer;font-weight:800;color:#2c6b55}.home-access[open]>summary{margin-bottom:10px}.fish-filter{margin:12px 0 16px}.reference-marker{background:#d9934b}.back-link{display:inline-block;margin-bottom:18px;color:#2c6b55;font-weight:800;text-decoration:none}
.add-fish-card{margin:0 0 14px;padding:14px 16px}.add-fish-card>summary{cursor:pointer;color:#2c6b55;font-size:13px;font-weight:800}.add-fish-card[open]>summary{margin-bottom:14px}.add-fish-card label{margin-bottom:9px}.add-fish-card button{padding:9px 13px}
.duplicate-warning{display:grid;gap:4px;margin:12px 0;padding:12px 14px;border:1px solid #e5b766;border-radius:10px;background:#fff3d9;color:#754d17}.duplicate-warning span{font-size:12px;line-height:1.45}
.delete-session-form{margin:0 16px 16px}.delete-session-form button{width:100%;padding:8px 10px;background:#fff;color:#a14d43;border:1px solid #dfb9b4;font-size:11px}.delete-session-form button:hover{background:#f8e9e7}
.fish-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:16px}.fish-filter-row .fish-filter{margin:0}.fish-filter-row label{margin:0}.remove-fish-form button{padding:10px 12px;background:#fff;color:#a14d43;border:1px solid #dfb9b4;font-size:11px}
.sync-notice{margin:0 0 22px;padding:12px 15px;border:1px solid #a8d0b7;border-radius:10px;background:#e7f4eb;color:#276147;font-weight:700}.delete-catalog-point-form{margin-top:14px;padding-top:14px;border-top:1px solid #ead8d5}.delete-catalog-point-form button{width:100%;background:#a14d43}.session-actions{flex-wrap:wrap}.session-actions>*{min-width:110px}


.delete-waterbody-form{margin:14px 20px 20px}.delete-waterbody-form button{width:100%;padding:8px 10px;background:#a14d43;font-size:12px}

.session-creator{display:block;margin:0 0 8px;color:#6f8177;font-size:12px}.session-owner{margin-top:-2px!important;font-size:13px}

.session-group-access{margin-top:16px;padding-top:14px;border-top:1px solid #dce7dc}.session-group-access>.access-member{margin-top:7px}

.user-filter-input{margin-bottom:7px;background:#fbfcfa}.user-filter-input.no-results{border-color:#c67568;background:#fff5f3}.user-filter-input.no-results+select{opacity:.65}
.contribution-section{margin:28px 0 8px}.contribution-card{max-width:760px}.contribution-card>summary{cursor:pointer;color:#2c6b55;font-size:17px;font-weight:800}.contribution-card[open]>summary{margin-bottom:20px}.contribution-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.contribution-grid .row{align-self:start}.contribution-card input[type=file]{padding:8px}@media(max-width:750px){.contribution-grid{grid-template-columns:1fr}.contribution-grid .row{width:100%}}
.point-note{white-space:pre-line;overflow-wrap:anywhere}
