:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#343434;background:#f4f5f3;--green:#79c900;--darkgreen:#17642d;--dark:#4a4a4a;--line:#e1e5df}*{box-sizing:border-box}body{margin:0;background:#f4f5f3}header{background:#fff;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;gap:10px;border-bottom:4px solid var(--green);position:sticky;top:0;z-index:5;min-height:78px}header img{width:62px;height:48px;object-fit:cover}.headText{min-width:0}.headText h1{margin:0;font-size:1.18rem;color:#4b4b4b}.headText p{margin:2px 0 0;color:#777;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iconBtn{width:40px;min-width:40px;height:44px;border-radius:22px;padding:0;background:#eef1ec;color:#333;font-size:32px;font-weight:400}main{max-width:760px;margin:auto;padding:15px}.view{animation:fade .12s ease}@keyframes fade{from{opacity:.45}to{opacity:1}}.hidden{display:none!important}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:4px 2px 12px}.sectionHead h2,.card h2{margin:0 0 5px;font-size:1.08rem}.sectionHead p{margin:0;color:#777;font-size:.86rem}.card{background:#fff;border-radius:14px;padding:16px;margin-bottom:13px;box-shadow:0 1px 4px #00000012}.tileGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.siteTile,.plotTile{background:#fff;color:#333;border:1px solid var(--line);border-radius:14px;min-height:112px;padding:16px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;box-shadow:0 1px 4px #0000000c}.siteTile b,.plotTile b{font-size:1rem}.siteTile small,.plotTile small{color:#777;font-weight:550}.siteTile .arrow,.plotTile .arrow{align-self:flex-end;color:var(--green);font-size:24px}.plotBanner{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:13px;border-left:5px solid var(--green)}.plotBanner span{display:block;color:#777;font-size:.8rem}.plotBanner strong{font-size:1.25rem}.bigBadge{min-width:42px;height:42px;border-radius:21px;background:var(--darkgreen);color:#fff!important;display:flex!important;align-items:center;justify-content:center;font-weight:800}.modeGrid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:13px}.modeTile{background:#fff;color:#333;border:1px solid var(--line);border-radius:14px;min-height:84px;padding:14px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;text-align:left;justify-content:stretch}.modeTile .modeIcon{grid-row:1/3;width:38px;height:38px;border-radius:19px;background:#eef7e8;color:var(--darkgreen);display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:900;align-self:center}.modeTile b{font-size:.98rem}.modeTile small{color:#777;font-weight:550;margin-top:3px}.admin{margin-top:20px}summary{font-weight:800;cursor:pointer}label{display:block;font-weight:650;margin:11px 0}select,input{width:100%;font-size:16px;padding:12px;margin-top:6px;border:1px solid #ccd0cc;border-radius:10px;background:#fff}button,.camera{border:0;border-radius:10px;min-height:48px;padding:12px 15px;font-size:15px;font-weight:750;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.light{background:#ecefea;color:#333}.camera{width:100%;margin-top:12px}.camera input{display:none}.full{width:100%;margin-top:9px}.status{padding:10px;background:#f4f7f2;border-radius:9px;margin:10px 0;font-size:.9rem}.small{font-size:.84rem;line-height:1.45;color:#666}.buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.share{background:#555}.filename{padding-top:7px;word-break:break-all}canvas{width:100%;height:auto;border-radius:10px;background:#111}.guidance{background:#f5f8f3;border-left:4px solid var(--green);padding:11px;border-radius:8px;font-size:.9rem;line-height:1.45}.pill{display:inline-block;background:#eef7e8;color:var(--darkgreen);font-weight:850;border-radius:999px;padding:6px 9px;font-size:.75rem;margin-bottom:8px}.groupTitle{font-weight:850;margin:16px 0 7px;color:#555}.groupTitle:first-child{margin-top:0}.checkItem{width:100%;display:grid;grid-template-columns:auto 1fr auto;text-align:left;gap:10px;align-items:start;background:#fff;color:#333;border:1px solid var(--line);border-radius:11px;margin:7px 0;padding:11px;min-height:0}.checkItem.hasPhoto{border-color:#9acb72;background:#f3faee}.checkItem .ref{font-weight:900;color:var(--darkgreen);font-size:.9rem;white-space:nowrap}.checkItem .ct b{display:block;font-size:.9rem;margin-bottom:3px}.checkItem .ct small{display:block;color:#6d6d6d;font-size:.76rem;line-height:1.3;font-weight:500}.count,.badge{min-width:27px;height:27px;border-radius:50%;background:#ddd;color:#555;display:flex;align-items:center;justify-content:center;font-size:.75rem}.checkItem.hasPhoto .count,.badge.done{background:var(--darkgreen);color:#fff}.folders{margin:8px 0 13px}.folder{border:1px solid var(--line);border-radius:10px;margin:7px 0;overflow:hidden}.folderHead{width:100%;border-radius:0;background:#f5f6f4;color:#333;justify-content:space-between;text-align:left;min-height:46px}.folder.open .folderHead{background:#eef6e9}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:9px}.shot{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fafafa}.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.shot .meta{padding:8px;font-size:.75rem;line-height:1.35}.shot button{width:100%;min-height:36px;border-radius:0;background:#666;font-size:.75rem}.danger{background:#8b3333!important}.rowBetween{display:flex;justify-content:space-between;align-items:center}.mini{min-height:34px;padding:6px 10px;font-size:.76rem}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #cfd5cc;border-radius:10px;overflow:hidden;margin:10px 0}.seg{border-radius:0;background:#f0f2ef;color:#555}.seg.active{background:var(--darkgreen);color:#fff}.requestHistory .req{border:1px solid var(--line);padding:10px;border-radius:10px;margin:7px 0}.requestHistory .req b{display:block}.requestHistory .req small{color:#777}.empty{color:#777;font-size:.85rem;padding:10px 0}footer{text-align:center;color:#777;font-size:.8rem;padding:8px 15px calc(30px + env(safe-area-inset-bottom))}@media(max-width:480px){main{padding:12px}.tileGrid{grid-template-columns:1fr 1fr}.buttons{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.checkItem{grid-template-columns:auto 1fr auto}}@media(max-width:360px){.tileGrid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}}
.tileCard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:visible;box-shadow:0 1px 4px #0000000c;display:flex;flex-direction:column;position:relative}.tileCard .siteTile,.tileCard .plotTile{border:0;border-radius:14px;box-shadow:none;width:100%;flex:1;padding-right:52px}.moreWrap{position:absolute;top:8px;right:8px;z-index:4}.moreBtn{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:19px;background:#f1f3f0;color:#626762;font-size:17px;letter-spacing:1px;line-height:1}.moreMenu{position:absolute;right:0;top:42px;min-width:145px;background:#fff;border:1px solid #d9ddd7;border-radius:10px;box-shadow:0 6px 18px #00000024;overflow:hidden;z-index:20}.moreMenu button{width:100%;min-height:42px;border-radius:0;justify-content:flex-start;background:#fff;color:#333;padding:10px 14px;font-size:.84rem}.moreMenu .menuDelete{color:#8b3333;background:#fff}.moreMenu .menuDelete:hover{background:#fff4f4}.shot{position:relative}.photoMore{top:6px;right:6px}.photoMoreBtn{background:#ffffffdd;box-shadow:0 1px 5px #0002}.photoMenu{top:40px;right:0}

.syncCard{margin-bottom:16px}.syncStatus{display:flex;align-items:center;gap:7px;color:#666;font-size:.82rem}.syncDot{width:9px;height:9px;border-radius:50%;background:#999;display:inline-block}.syncStatus.online .syncDot{background:var(--green)}.syncStatus.offline .syncDot{background:#c7892d}.syncStatus.error .syncDot{background:#9a3c3c}.syncCard details{margin-top:10px}.syncCard summary{font-size:.9rem;color:#555}.syncCard .rowBetween>div{min-width:0}.syncCard h2{margin-bottom:4px}
