@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#1c2a27;background:#f4f0e7;font-family:DM Sans,system-ui,sans-serif;font-synthesis:none;--ink: #1c2a27;--green: #173c35;--green-2: #285f54;--cream: #f4f0e7;--paper: #fffdf8;--coral: #dc715c;--gold: #e2ae55;--line: #d9d2c3;--muted: #6a756f;--shadow: 0 16px 50px rgb(34 51 45 / 9%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 2% 0%,rgb(226 174 85 / 16%),transparent 28rem),var(--cream)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink)}h1{max-width:850px;margin-bottom:.45em;font-family:Fraunces,Georgia,serif;font-size:clamp(2.25rem,6vw,4.7rem);line-height:.98;letter-spacing:-.035em}h2{margin-bottom:.65em;font-family:Fraunces,Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.02em}h3{margin-bottom:.5rem}.muted,small{color:var(--muted)}.eyebrow{margin-bottom:.7rem;color:var(--coral);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:.75rem}.brand img{width:43px;height:43px;border-radius:12px}.brand div{display:flex;flex-direction:column}.brand strong{font-family:Fraunces,Georgia,serif;font-size:1.08rem}.brand span{color:var(--muted);font-size:.7rem}.center-stage{display:grid;width:min(92%,600px);min-height:100vh;margin:auto;place-content:center;gap:2rem}.auth-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);min-height:100vh}.auth-story{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(2rem,7vw,6.5rem);color:#fff;background:linear-gradient(145deg,#173c35f2,#173c35db),radial-gradient(circle at top right,var(--gold),transparent)}.auth-story h1{color:#fff}.auth-story>div>p:not(.eyebrow){max-width:600px;color:#dce8e2;font-size:1.1rem;line-height:1.7}.auth-story .brand span{color:#afc5bd}.privacy-line{color:#afc5bd;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.auth-panel{display:grid;padding:clamp(1.25rem,5vw,5rem);place-items:center}.auth-card{width:min(100%,460px)}.card{padding:clamp(1.2rem,3vw,2rem);border:1px solid rgb(217 210 195 / 80%);border-radius:22px;background:#fffdf8e5;box-shadow:var(--shadow)}.form-stack{display:grid;gap:1rem}label{display:grid;gap:.45rem;color:#42504b;font-size:.82rem;font-weight:600}input,select,textarea{width:100%;min-height:47px;padding:.72rem .85rem;border:1px solid #cfc8b9;border-radius:11px;outline:none;color:var(--ink);background:#fff}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #285f541f}button,.button-link{display:inline-flex;min-height:43px;align-items:center;justify-content:center;padding:.72rem 1rem;border:1px solid transparent;border-radius:11px;cursor:pointer;font-weight:700}button:disabled{cursor:wait;opacity:.55}.primary{color:#fff;background:var(--green)}.primary:hover{background:var(--green-2)}.secondary,.button-link:not(.primary){border-color:#cfc8b9;color:var(--green);background:var(--paper)}.quiet{min-height:auto;padding:.35rem .55rem;color:var(--green);background:transparent}.danger-link{min-height:auto;padding:.35rem;color:#a23c2c;background:transparent}.text-link{color:var(--green-2);font-weight:700}.notice{padding:.85rem 1rem;border:1px solid #bfcfc8;border-radius:12px;color:var(--green);background:#eaf2ee;line-height:1.45}.notice.error{border-color:#e8b8ae;color:#7d2d20;background:#fff0ed}.notice.success{border-color:#a7c4a2;color:#264f32;background:#edf6eb}.loading{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:200px;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid #cbd6d1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;min-height:76px;align-items:center;padding:0 4vw;border-bottom:1px solid rgb(217 210 195 / 75%);background:#f4f0e7e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar nav{display:flex;gap:.35rem;padding:.3rem;border:1px solid var(--line);border-radius:13px;background:#fffdf8a6}.topbar nav a{padding:.6rem .9rem;border-radius:9px;color:var(--muted);font-size:.85rem;font-weight:700}.topbar nav a.active{color:#fff;background:var(--green)}.account{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.82rem}.page{width:min(92%,1260px);min-height:calc(100vh - 76px);margin:auto;padding:clamp(2rem,6vw,5rem) 0 8rem}.offline-banner{padding:.5rem 1rem;color:#5e4312;background:#f5dda9;text-align:center;font-size:.8rem}.mobile-nav{display:none}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,5vw,4.5rem)}.page-heading h1{font-size:clamp(2.5rem,7vw,5.5rem)}.page-heading>div>p:last-child{max-width:650px;color:var(--muted);line-height:1.6}.hero{width:min(100%,980px);margin:clamp(1rem,5vw,4rem) auto clamp(4rem,9vw,7rem);text-align:center}.hero h1{margin-right:auto;margin-left:auto}.search-bar{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;margin-top:2rem;padding:.6rem;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:var(--shadow)}.search-bar input{border:0;background:transparent;box-shadow:none}.hero .notice{margin-top:1rem;text-align:left}.search-answer{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);overflow:hidden;margin:-3rem 0 5rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid #b9c9c1;border-radius:24px;background:#e6eee9}.search-answer-image .evidence-photo,.search-answer-image .no-photo{max-height:370px}.search-answer h2{margin-bottom:.3rem;font-size:clamp(2rem,4vw,3.3rem)}.search-answer>div:last-child>p:not(.eyebrow):not(.answer-place){max-width:600px;color:var(--muted);line-height:1.6}.answer-place{color:var(--green-2);font-weight:700}.section-block{margin:clamp(3rem,8vw,6rem) 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.section-title h2,.section-title p{margin-bottom:0}.item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.item-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:0 5px 25px #22332d0f;transition:.16s ease}.item-card:hover{border-color:#b4bcae;box-shadow:var(--shadow);transform:translateY(-3px)}.item-image{position:relative;display:grid;aspect-ratio:4 / 3;overflow:hidden;place-items:center;color:var(--green-2);background:#e4e8df;font-size:2rem}.item-image img{width:100%;height:100%;object-fit:cover}.quantity{position:absolute;right:.65rem;bottom:.65rem;padding:.25rem .5rem;border-radius:999px;color:#fff;background:var(--green);font-size:.75rem}.item-copy{display:flex;min-height:118px;flex-direction:column;padding:1rem}.item-copy small{margin-bottom:.35rem;color:var(--coral);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.item-copy strong{margin-bottom:.35rem}.item-copy span{margin-top:auto;color:var(--muted);font-size:.75rem}.session-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.session-card{display:flex;align-items:flex-start;flex-direction:column;gap:.6rem;padding:1.25rem;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.status{padding:.22rem .5rem;border-radius:999px;color:#6c4b09;background:#f7dfa9;font-size:.65rem;font-weight:700;text-transform:uppercase}.status.failed{color:#8c3425;background:#f8cbc2}.place-chips{display:flex;flex-wrap:wrap;gap:.65rem}.place-chips a{padding:.7rem .9rem;border:1px solid var(--line);border-radius:999px;color:var(--green);background:var(--paper);font-weight:700}.empty-state{display:grid;min-height:300px;padding:3rem 1.5rem;border:1px dashed #bdb5a6;border-radius:20px;place-items:center;align-content:center;text-align:center}.empty-state p{max-width:500px;color:var(--muted);line-height:1.6}.empty-icon{color:var(--coral);font-size:3rem}.two-column{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);align-items:start;gap:2rem}.two-column>.card{position:sticky;top:100px}.place-list{display:grid;gap:.7rem}.place-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.place-row:hover{border-color:var(--green-2)}.place-row span:not(.place-mark){display:flex;flex-direction:column}.place-mark{display:grid;width:38px;height:38px;border-radius:50%;color:var(--green);background:#dce9e3;place-items:center}.photo-grid,.upload-grid,.review-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.photo-grid img,.review-photos img{width:100%;aspect-ratio:4 / 3;border-radius:13px;object-fit:cover}.capture-start{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;max-width:760px;margin:auto}.capture-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.capture-toolbar>div:first-child{display:flex;flex-direction:column}.file-button{cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.upload-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.upload-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.upload-card button{margin:.4rem}.sticky-action{position:sticky;z-index:10;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem 1.25rem;border:1px solid #b8c6bf;border-radius:16px;background:#fffdf8f0;box-shadow:0 14px 45px #16342e2b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sticky-action>div:first-child{display:flex;flex-direction:column}.sticky-action span{color:var(--muted);font-size:.75rem}.review-photos{margin-bottom:1rem;padding:.75rem;border-radius:18px;background:#dfe4dc}.review-summary{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;margin-bottom:1rem}.review-summary textarea{min-height:65px}.candidate-list{display:grid;gap:1rem}.candidate{display:grid;grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);gap:1.5rem}.candidate-image>span{display:block;margin-top:.5rem;color:var(--muted);font-size:.7rem}.evidence-photo{position:relative;overflow:hidden;border-radius:14px;background:#e1e5df}.evidence-photo img{display:block;width:100%;max-height:620px;object-fit:contain}.bbox{position:absolute;border:3px solid var(--coral);border-radius:4px;box-shadow:0 0 0 9999px #0a191526}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.field-grid .wide{grid-column:1 / -1}.candidate details{margin-top:1rem;color:var(--muted);font-size:.8rem}.candidate summary{cursor:pointer;font-weight:700}.occurrence-list{display:grid;gap:.5rem;margin-top:.75rem}.occurrence-list>div{display:grid;grid-template-columns:1fr 100px auto;align-items:center;gap:.5rem}.occurrence-list input,.occurrence-list select{min-height:38px;padding:.5rem}.candidate-actions,.button-row{display:flex;justify-content:flex-end;gap:.45rem;margin-top:1rem}.add-candidate{width:100%;margin-top:1rem}.item-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:2rem}.move-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.8rem;margin-top:1rem}.move-card h3,.move-card p{grid-column:1 / -1;margin-bottom:0}.no-photo{display:grid;min-height:260px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);place-items:center}.timeline{max-width:760px}.timeline-row{display:grid;grid-template-columns:18px 1fr;gap:1rem;padding-bottom:1.5rem}.timeline-row>span{position:relative;width:12px;height:12px;margin-top:.2rem;border:3px solid var(--paper);border-radius:50%;background:var(--coral);box-shadow:0 0 0 1px var(--coral)}.timeline-row>span:after{position:absolute;top:12px;left:2px;width:2px;height:calc(100% + 1.5rem);background:var(--line);content:""}.timeline-row:last-child>span:after{display:none}.timeline-row div{display:flex;flex-direction:column}.timeline-row p{margin-top:.4rem;margin-bottom:0}@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:46vh}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{grid-template-columns:1fr auto}.topbar>nav{display:none}.session-strip,.item-detail-grid{grid-template-columns:1fr}}@media(max-width:680px){.auth-story{min-height:40vh;padding:2rem 1.25rem}.auth-story>div:nth-child(2){margin-top:4rem}.auth-panel{padding:1rem}.topbar{min-height:66px;padding:0 1rem}.topbar .brand span,.account>span{display:none}.page{width:min(94%,1260px);padding-top:2rem}.mobile-nav{position:fixed;z-index:30;right:.75rem;bottom:.75rem;left:.75rem;display:grid;grid-template-columns:repeat(3,1fr);padding:.45rem;border:1px solid #526c63;border-radius:16px;background:#173c35f2;box-shadow:0 15px 40px #142b254d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:.1rem;padding:.35rem;color:#e8f0ed;font-size:.66rem}.mobile-nav span{font-size:1.2rem}.page-heading{align-items:flex-start;flex-direction:column}.search-bar{grid-template-columns:1fr 1fr}.search-bar input{grid-column:1 / -1}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.item-copy{min-height:105px;padding:.8rem}.two-column{grid-template-columns:1fr}.two-column>.card{position:static}.capture-start{grid-template-columns:1fr}.capture-toolbar,.sticky-action{align-items:stretch;flex-direction:column}.photo-grid,.upload-grid,.review-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate{grid-template-columns:1fr}.search-answer{grid-template-columns:1fr;margin-top:-2rem}.candidate-image .evidence-photo{max-height:260px}.review-summary,.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.occurrence-list>div{grid-template-columns:1fr 80px}.occurrence-list span{grid-column:1 / -1}.candidate-actions{align-items:stretch;flex-direction:column}.move-card{grid-template-columns:1fr}.button-row{width:100%;margin-top:0}.button-row>*{flex:1}}@media(max-width:390px){.item-grid{grid-template-columns:1fr}}
