:root{--green:#0b4f35;--deep:#073d2a;--cream:#f3eccf;--ink:#16352a;--muted:#687a73;--line:#dce6e1;--soft:#f5f8f6;--white:#fff}*{box-sizing:border-box}html{background:#e8eee9}body{color:var(--ink);font-family:var(--font-manrope), Arial, sans-serif;background:#e8eee9;margin:0}button,input,select,textarea{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button{color:inherit}main{min-height:100vh;padding-bottom:104px}.accountBar{z-index:60;min-height:34px;color:var(--cream);background:#062f20;justify-content:flex-end;align-items:center;gap:10px;padding:6px max(18px,50vw - 380px);font-size:9px;font-weight:750;display:flex;position:relative}.accountBar button{color:inherit;cursor:pointer;background:0 0;border:1px solid #f3eccf57;border-radius:7px;padding:5px 8px;font-size:8px;font-weight:800}.authSplash,.loginPage{background:radial-gradient(circle at 50% 25%, #176749 0, var(--green) 34%, #052f20 100%);min-height:100vh;color:var(--cream);place-items:center;display:grid}.authSplash{letter-spacing:.05em;align-content:center;gap:14px;font-size:11px;font-weight:750}.authSplash img{width:140px}.loginPage{padding:24px}.loginPanel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05271b9e;border:1px solid #f3eccf4d;border-radius:22px;width:min(100%,410px);padding:34px 30px 28px;box-shadow:0 30px 80px #00000038}.loginPanel>img{width:142px;margin:0 auto 30px;display:block}.loginEyebrow{color:#b7d7c8;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:9px;font-weight:850}.loginPanel h1{margin:0;font-size:25px;line-height:1.15}.loginIntro{color:#cfdfd6;margin:10px 0 23px;font-size:11px;line-height:1.55}.loginPanel form{gap:14px;display:grid}.loginPanel form label{gap:6px;display:grid}.loginPanel form label span{color:#e3eadf;font-size:9px;font-weight:800}.loginPanel input{color:#fff;background:#ffffff17;border:1px solid #f3eccf47;border-radius:10px;outline:none;width:100%;height:45px;padding:0 13px;font-size:12px}.loginPanel input::placeholder{color:#ffffff70}.loginPanel input:focus{border-color:var(--cream);box-shadow:0 0 0 3px #f3eccf17}.loginPanel form button{background:var(--cream);height:45px;color:var(--green);cursor:pointer;border:0;border-radius:10px;margin-top:3px;font-size:11px;font-weight:900}.loginPanel form button:disabled{opacity:.62}.loginError{color:#ffd1c9;margin:-3px 0 0;font-size:9px;line-height:1.4}.loginPanel>small{color:#a8c2b5;text-align:center;margin-top:19px;font-size:8px;display:block}.hero{background:var(--green);color:var(--cream);padding:max(18px, env(safe-area-inset-top)) 22px 17px}.heroTop{grid-template-columns:34px 1fr 95px;align-items:center;gap:14px;max-width:780px;margin:auto;display:grid}.iconButton{cursor:pointer;background:0 0;border:1px solid #f3eccf59;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;display:flex}.iconButton span{background:var(--cream);border-radius:2px;width:14px;height:1.5px}.heroCopy{text-align:center;line-height:1.1}.heroCopy p,.heroCopy span{letter-spacing:.11em;text-transform:uppercase;opacity:.9;margin:0;font-size:10px;font-weight:700}.campingPicker{max-width:390px;margin:7px auto 6px;display:block;position:relative}.campingPicker:after{content:"⌄";color:var(--cream);pointer-events:none;font-size:18px;position:absolute;top:50%;right:8px;transform:translateY(-57%)}.campingPicker select{appearance:none;width:100%;color:var(--cream);text-align:center;letter-spacing:.025em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f3eccf59;border-radius:0;outline:0;padding:2px 28px 4px 8px;font-size:clamp(17px,4.3vw,22px);font-weight:800}.campingPicker option{color:var(--ink);background:#fff;font-size:14px}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;margin:-1px!important;position:absolute!important}.logo{object-fit:contain;justify-self:end;width:95px;height:36px}.connection{letter-spacing:.03em;opacity:.86;justify-content:center;align-items:center;gap:7px;max-width:780px;margin:14px auto 0;font-size:10px;font-weight:700;display:flex}.connection i{background:#6ed6a1;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #6ed6a121}.connection i.offline{background:#f0b45d}.metrics{background:var(--cream);border-bottom:1px solid #d8d0b4;grid-template-columns:repeat(5,1fr);max-width:none;padding:12px max(18px,50vw - 380px);display:grid}.metrics div{border-right:1px solid #0b4f3524;justify-content:center;align-items:baseline;gap:5px;display:flex}.metrics div:last-child{border:0}.metrics strong{color:var(--green);font-size:18px}.metrics span{color:#577064;font-size:8px;font-weight:800}.workspace{max-width:780px;margin:0 auto;padding:20px 16px 8px;position:relative}.toolbar{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.toolbar>div{flex-direction:column;display:flex}.toolbar strong{font-size:15px}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.ghostButton{color:var(--green);cursor:pointer;background:#ffffff80;border:1px solid #b9cbc2;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:800}.overallTrack{background:#d3dfd9;border-radius:9px;height:5px;margin:11px 0 17px;overflow:hidden}.overallTrack span{border-radius:inherit;background:var(--green);height:100%;transition:width .3s;display:block}.projectStrip{scrollbar-width:none;gap:8px;margin:0 -16px 14px;padding:0 16px 2px;display:flex;overflow-x:auto}.projectStrip::-webkit-scrollbar{display:none}.projectPill{color:#61736b;cursor:pointer;background:#ffffffa6;border:1px solid #c9d6d0;border-radius:10px;flex:none;padding:8px 11px;font-size:10px;font-weight:750}.projectPill span{color:var(--green);margin-right:5px}.projectPill.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 5px 14px #073d2a29}.projectPill.active span{color:var(--cream)}.projectMenu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:14px;max-height:60vh;padding:8px;position:absolute;top:58px;left:16px;right:16px;overflow:auto;box-shadow:0 18px 50px #10342738}.projectMenu button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.projectMenu button:last-child{border-bottom:0}.projectMenu button>span{color:#a1b1aa;font-size:11px;font-weight:800}.projectMenu div{flex-direction:column;display:flex}.projectMenu strong{font-size:12px}.projectMenu small{color:var(--muted);font-size:9px}.projectCard{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 9px 32px #1e483714}.emptyCard{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:54px 24px;display:flex;box-shadow:0 9px 32px #1e483714}.emptyCard>span{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.emptyCard h2{margin:9px 0 7px;font-size:20px}.emptyCard p{max-width:360px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.cardHeading{background:var(--deep);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;display:flex}.cardHeading>div:first-child{min-width:0}.cardHeading span{color:var(--cream);letter-spacing:.11em;font-size:9px;font-weight:850}.cardHeading h2{margin:4px 0 0;font-size:clamp(16px,4.5vw,21px);line-height:1.2}.completion{text-align:right;flex-direction:column;flex:none;display:flex}.completion strong{color:var(--cream);font-size:19px}.completion small{opacity:.68;font-size:8px}.metaGrid{border-bottom:1px solid var(--line);grid-template-columns:1.5fr 1fr 1fr 1fr;display:grid}.metaGrid>div{border-right:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;padding:13px 14px;display:flex}.metaGrid>div:last-child{border:0}.metaGrid span,.concept>span{color:#889790;letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:800}.metaGrid strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.risk{align-items:center;gap:5px;display:flex}.risk i{background:#30a967;border-radius:50%;width:6px;height:6px}.risk.caution i{background:#e5a42e}.concept{border-bottom:1px solid var(--line);background:#fbfcfb;padding:13px 16px}.concept p{color:#597068;margin:5px 0 0;font-size:10px;line-height:1.55}.mondayNote{background:#f5f8ff;border:1px solid #d7e6df;border-left:3px solid #5e66df;border-radius:9px;margin:15px 16px;padding:13px 14px}.mondayNote>div{align-items:center;gap:7px;display:flex}.mondayMark{color:#fff;background:#5e66df;border-radius:5px;place-items:center;width:18px;height:18px;font-weight:900;display:grid;font-size:11px!important}.mondayNote strong{font-size:10px}.mondayNote time{color:var(--muted);margin-left:auto;font-size:8px}.mondayNote p{color:#566d65;margin:8px 0 2px;font-size:10px;line-height:1.5}.mondayNote small{color:#7a8c84;font-size:8px}.subHeader{justify-content:space-between;align-items:flex-end;padding:3px 16px 10px;display:flex}.subHeader>div{flex-direction:column;display:flex}.subHeader span{color:var(--green);letter-spacing:.11em;font-size:9px;font-weight:850}.subHeader small{color:#98a59f;font-size:8px}.subitems{border-top:1px solid var(--line)}.subitem{border-bottom:1px solid var(--line);gap:12px;padding:14px 16px;transition:background .2s;display:flex}.subitem.checked{background:#f2f8f4}.checkButton{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #96aea3;border-radius:50%;flex:0 0 24px;width:24px;height:24px;font-weight:900}.checked .checkButton{background:var(--green);border-color:var(--green)}.subBody{flex:1;min-width:0}.subBody h3{margin:2px 0 10px;font-size:11px}.checked .subBody h3{color:#72837b;-webkit-text-decoration:line-through #a7b7b0;text-decoration:line-through #a7b7b0}.subControls{grid-template-columns:1fr .85fr 1fr;gap:8px;display:grid}.subControls label{flex-direction:column;gap:4px;min-width:0;display:flex}.subControls label>span{color:#8a9992;text-transform:uppercase;font-size:7px;font-weight:800}.subControls select,.subControls input,.subControls label>strong{width:100%;height:30px;color:var(--ink);background:#fff;border:1px solid #d5e0db;border-radius:7px;padding:0 8px;font-size:9px;font-weight:750}.subControls select{color:var(--green)}.subControls label>strong{align-items:center;font-weight:650;display:flex}.visitEvidence{background:#f8faf8;padding:18px 16px 20px}.sectionTitle,.sectionTitle>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.sectionTitle>div>span{color:#a6b4ae;font-size:10px;font-weight:800}.sectionTitle>div div{flex-direction:column;display:flex}.sectionTitle strong{font-size:12px}.sectionTitle small,.sectionTitle>span{color:#85958e;font-size:8px}.commentLabel{flex-direction:column;gap:6px;margin-top:15px;display:flex}.commentLabel>span{font-size:9px;font-weight:800}.commentLabel textarea{width:100%;color:var(--ink);resize:vertical;background:#fff;border:1px solid #cfdcd6;border-radius:10px;outline:none;padding:12px;font-size:11px;line-height:1.5}.commentLabel textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #0b4f3514}.photoGrid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.photoGrid figure,.addPhoto{border-radius:10px;height:100px;margin:0;position:relative;overflow:hidden}.photoGrid figure img{object-fit:cover;width:100%;height:100%}.photoGrid figure button{color:#fff;cursor:pointer;background:#071a13b8;border:0;border-radius:50%;width:22px;height:22px;position:absolute;top:5px;right:5px}.addPhoto{cursor:pointer;background:#edf4f0;border:1px dashed #9cb3a8;flex-direction:column;justify-content:center;align-items:center;display:flex}.addPhoto input{opacity:0;width:1px;height:1px;position:absolute}.addPhoto strong{color:var(--green);margin-top:5px;font-size:9px}.addPhoto small{color:#7a8c84;font-size:7px}.cameraIcon{border:1.5px solid var(--green);border-radius:4px;width:22px;height:16px;position:relative}.cameraIcon:before{content:"";border:1.5px solid var(--green);border-bottom:0;border-radius:3px 3px 0 0;width:8px;height:4px;position:absolute;top:-5px;left:5px}.cameraIcon:after{content:"";border:1.5px solid var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;left:6px}.pager{justify-content:space-between;align-items:center;padding:16px 4px;display:flex}.pager button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.pager button:disabled{color:#a8b4ae}.pager span{color:#778a81;font-size:9px;font-weight:800}.syncBar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px max(16px, calc((100vw - 760px) / 2 + 16px)) max(12px, env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #cad8d1;justify-content:space-between;align-items:center;gap:14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #22473814}.syncBar>div{align-items:center;gap:9px;min-width:0;display:flex}.syncBar p{flex-direction:column;min-width:0;margin:0;display:flex}.syncBar p strong{font-size:10px}.syncBar p small{color:#82918a;white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:8px;overflow:hidden}.syncDot{background:#a3b2ab;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.syncDot.syncing{background:#e2a93d;animation:1s infinite pulse}.syncDot.done{background:#35a86b}.syncDot.error{background:#d95757}.syncBar>button{background:var(--green);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:10px;padding:11px 14px;font-size:10px;font-weight:850}.syncBar>button span{color:var(--cream);margin-right:4px}.syncBar>button:disabled{opacity:.58}@keyframes pulse{50%{opacity:.35}}@media (width<=560px){.heroTop{grid-template-columns:32px 1fr 70px;gap:8px}.logo{width:70px}.metrics{padding-left:8px;padding-right:8px}.metrics strong{font-size:15px}.metrics span{font-size:6.5px}.metaGrid{grid-template-columns:1.4fr 1fr}.metaGrid>div{border-bottom:1px solid var(--line)}.metaGrid>div:nth-child(2){border-right:0}.metaGrid>div:nth-child(3),.metaGrid>div:nth-child(4){border-bottom:0}.subControls{grid-template-columns:1fr 1fr}.subControls label:first-child{grid-column:1/-1}.photoGrid{grid-template-columns:repeat(2,1fr)}.syncBar p small{max-width:125px}}@media (width>=900px){.projectCard{border-radius:22px}.photoGrid{grid-template-columns:repeat(4,1fr)}.photoGrid figure,.addPhoto{height:125px}}
