@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#19332b;font-synthesis:none;background:#f3f6f3;font-family:DM Sans,system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #dfa830}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{margin-bottom:8px;font-size:clamp(2rem,4vw,2.8rem)}h2{margin-bottom:8px;font-size:clamp(1.7rem,3vw,2.1rem)}h3{margin-bottom:6px;font-size:1.2rem}.app-shell{max-width:1240px;margin:0 auto;padding:0 28px 48px}.topbar{border-bottom:1px solid #d7e2dc;justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{color:#0e5b45;font-size:1.2rem;font-weight:800;text-decoration:none}.brand span{letter-spacing:.14em;color:#75867e;margin-top:2px;font:700 .66rem DM Sans,sans-serif;display:block}.nav{gap:8px;padding:18px 0;display:flex;overflow-x:auto}.nav a,.small{color:#24473a;white-space:nowrap;background:#fff;border:1px solid #c8d8ce;border-radius:12px;min-height:48px;padding:12px 18px;font-weight:700;text-decoration:none}.nav a[aria-current=page]{color:#fff;background:#0e5b45;border-color:#0e5b45}.page{min-height:65vh}.section-heading{justify-content:space-between;align-items:end;margin:12px 0 24px;display:flex}.eyebrow{letter-spacing:.13em;color:#668177;margin-bottom:8px;font-size:.72rem;font-weight:800}.muted,.hint{color:#63766e}.split{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}.stack{gap:12px;display:grid}.card,.login-card{background:#fff;border:1px solid #d8e3dc;border-radius:18px;padding:22px;box-shadow:0 6px 24px #173b2810}.card label,form label{gap:7px;margin-bottom:16px;font-weight:700;display:grid}input,select{color:#19332b;background:#fff;border:1px solid #b9cbc0;border-radius:10px;width:100%;min-height:50px;padding:10px 12px}.primary,.danger{color:#fff;cursor:pointer;background:#0e5b45;border:0;border-radius:11px;min-height:50px;padding:12px 18px;font-weight:800}.danger{background:#a5352b}.primary:disabled,button:disabled{opacity:.55;cursor:wait}.full{width:100%}.row-card{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-card>div{flex:220px}.row-card p{margin-bottom:0}.long-card{grid-template-columns:1fr minmax(140px,.7fr) minmax(180px,1fr) auto;align-items:end;gap:14px;display:grid}.long-card label{margin-bottom:0}.long-card .eyebrow{margin-bottom:4px}.create-long{grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:end;gap:14px;margin-bottom:20px;display:grid}.create-long h3{grid-column:1/-1;margin:0}.create-long label{margin:0}.create-long [data-message]{grid-column:1/-1;margin:0}.filter-bar{align-items:end;gap:12px;margin:20px 0;display:flex}.filter-bar label{width:min(260px,65vw);margin-bottom:0}.activity-card{justify-content:space-between;align-items:center;display:flex}.activity-card p{margin-bottom:4px}.review-card{border-left:5px solid #d6a132}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row .small{cursor:pointer}.message{color:#1e6a4e;min-height:1.5em}.message.error{color:#a5352b}.empty{color:#63766e;background:#fff;border:1px dashed #b9cbc0;border-radius:14px;padding:24px}.login-card{width:min(440px,100% - 32px);margin:9vh auto;padding:32px}.login-card form{margin-top:26px}.photo-dialog{border:0;border-radius:16px;max-width:min(90vw,900px);max-height:90vh;padding:16px}.photo-dialog::backdrop{background:#10251ddd}.photo-dialog img{max-width:100%;max-height:75vh;margin:14px auto;display:block}.close{cursor:pointer;margin-left:auto;display:block}@media (width<=820px){.split{grid-template-columns:1fr}.long-card{grid-template-columns:1fr 1fr}.long-card>div{grid-column:1/-1}.long-card button{width:100%}.create-long{grid-template-columns:1fr 1fr}}@media (width<=520px){.app-shell{padding:0 14px 32px}.nav{margin:0 -14px;padding:14px}.nav a{padding:12px}.card{padding:17px}.row-card{align-items:stretch}.row-card button{flex:140px}.create-long{grid-template-columns:1fr}.create-long h3,.create-long [data-message]{grid-column:auto}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar label,.filter-bar button{width:100%}}
