:root{--green:#114b3b;--green-2:#1f6a55;--mint:#e9f4ef;--cream:#f7f5ef;--ink:#19332c;--muted:#687a74;--white:#fff;--orange:#ee8b42;--red:#c84d4d;--line:#dfe8e3;--shadow:0 10px 30px rgba(16,63,50,.10)}
*{box-sizing:border-box}body{margin:0;background:#dfe9e4;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{position:relative;max-width:480px;min-height:100dvh;margin:auto;background:var(--cream);box-shadow:0 0 45px rgba(27,61,51,.18);padding-bottom:88px}.topbar{height:78px;padding:18px 20px 10px;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:10}.brand{display:flex;gap:11px;align-items:center}.brand strong{font-family:Georgia,serif;font-size:20px;display:block}.brand small{font-size:11px;color:var(--muted)}.crest{width:42px;height:42px;display:block;background:white;border-radius:13px;overflow:hidden;box-shadow:0 4px 12px rgba(25,51,44,.16);border:2px solid white}.crest img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.icon-button{width:42px;height:42px;border:0;border-radius:50%;background:white;box-shadow:0 4px 14px rgba(0,0,0,.07);font-size:18px;position:relative;cursor:pointer}.icon-button .dot,.dot{position:absolute;width:8px;height:8px;background:var(--orange);border-radius:50%;right:7px;top:7px;border:2px solid white}.back{margin-right:10px}.hidden{display:none!important}main{padding:0 18px 24px}.hero{background:linear-gradient(145deg,#174f40,#0b392d);color:white;border-radius:0 0 28px 28px;margin:0 -18px;padding:24px 22px 30px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:180px;height:180px;border:28px solid rgba(255,255,255,.05);border-radius:50%;right:-70px;top:-75px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:700;color:#bcd5cb}.hero h1{font-family:Georgia,serif;font-size:31px;line-height:1.08;margin:8px 0 10px;max-width:310px}.hero p{color:#dce9e4;line-height:1.5;margin:0;max-width:340px;font-size:14px}.primary{border:0;border-radius:15px;background:var(--orange);color:#fff;padding:15px 20px;font-weight:750;font-size:15px;box-shadow:0 6px 18px rgba(238,139,66,.32);cursor:pointer}.hero .primary{margin-top:22px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:26px 2px 14px}.section-head h2,.page-title h1{font-family:Georgia,serif;margin:0;font-size:23px}.section-head button{border:0;background:none;color:var(--green-2);font-weight:700}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.category{border:0;background:white;border-radius:17px;padding:13px 5px 11px;color:var(--ink);box-shadow:0 4px 16px rgba(25,51,44,.06);font-size:11px;font-weight:650;cursor:pointer}.category span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mint);font-size:20px;margin:0 auto 8px}.notice-card,.report-card,.info-card{background:white;border:1px solid rgba(17,75,59,.07);box-shadow:0 5px 18px rgba(25,51,44,.055);border-radius:18px;padding:16px;margin-bottom:12px}.notice-card{display:flex;gap:14px}.date-badge{background:var(--mint);color:var(--green);border-radius:12px;min-width:52px;height:55px;display:grid;place-items:center;line-height:1;text-align:center;font-weight:800;font-size:20px}.date-badge small{font-size:10px;text-transform:uppercase;letter-spacing:1px}.notice-card h3,.report-card h3{font-size:15px;margin:1px 0 5px}.notice-card p,.report-card p{font-size:12px;color:var(--muted);margin:0;line-height:1.45}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);height:76px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:none;color:#82918c;font-size:10px;font-weight:650;cursor:pointer}.bottom-nav span{display:block;font-size:22px;margin-bottom:4px}.bottom-nav .active{color:var(--green)}.page-title{padding:16px 3px 14px}.page-title p{margin:6px 0 0;color:var(--muted);font-size:13px}.progress{height:5px;background:#dce6e1;border-radius:5px;margin:8px 0 24px}.progress span{display:block;height:100%;background:var(--orange);border-radius:5px;transition:.25s}.step-label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1px}.form-question{font-family:Georgia,serif;font-size:25px;margin:8px 0 18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.choice{border:2px solid transparent;border-radius:17px;background:white;padding:17px 12px;text-align:left;color:var(--ink);font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.05);cursor:pointer}.choice span{font-size:25px;display:block;margin-bottom:8px}.choice.selected{border-color:var(--green);background:var(--mint)}.form-actions{display:flex;gap:10px;margin-top:24px}.form-actions button{flex:1}.secondary{border:1px solid var(--line);border-radius:15px;background:white;color:var(--ink);padding:14px;font-weight:700;cursor:pointer}label{display:block;font-size:12px;font-weight:750;margin:16px 0 7px}input,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:white;padding:14px;font:inherit;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(31,106,85,.1)}textarea{min-height:110px;resize:vertical}.photo-drop{border:2px dashed #b9ccc3;background:var(--mint);border-radius:17px;padding:24px;text-align:center;cursor:pointer}.photo-drop span{font-size:28px}.photo-drop p{margin:7px 0 0;font-size:12px;color:var(--muted)}.location-box{height:150px;border-radius:17px;background:linear-gradient(35deg,#d9e7dd,#edf2e8);overflow:hidden;position:relative;display:grid;place-items:center}.location-box:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(32deg,transparent 0 28px,rgba(255,255,255,.8) 29px 35px)}.pin{position:relative;background:var(--green);color:#fff;border-radius:50% 50% 50% 0;width:38px;height:38px;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 5px 12px #718f84}.pin span{transform:rotate(45deg)}.success{text-align:center;padding:35px 12px}.success-icon{width:84px;height:84px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:40px;margin:10px auto 22px}.success h2{font-family:Georgia,serif;font-size:28px}.success p{color:var(--muted);line-height:1.5}.reference{background:white;border-radius:14px;padding:14px;margin:22px 0;font-weight:700}.status{display:inline-flex;padding:6px 10px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.status.progressing{background:#fff1df;color:#a6601e}.status.received{background:#e8f2ff;color:#356d9a}.status.done{background:var(--mint);color:var(--green)}.report-top{display:flex;justify-content:space-between;align-items:start}.report-meta{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;margin-top:12px}.filter-row{display:flex;gap:8px;overflow:auto;padding:2px 0 15px}.pill{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:20px;padding:8px 13px;color:var(--muted);font-weight:650;font-size:11px}.pill.active{background:var(--green);color:white;border-color:var(--green)}.info-card h3{margin:0 0 6px;font-size:15px}.info-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.profile-card{text-align:center;background:white;padding:25px;border-radius:20px}.avatar{width:70px;height:70px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-size:26px;margin:auto}.profile-card h2{margin:12px 0 3px}.profile-card p{color:var(--muted);font-size:12px;margin:0}.menu{margin-top:16px;background:white;border-radius:18px;overflow:hidden}.menu button{width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;color:var(--ink);font-weight:650}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:#182d27;color:white;padding:12px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:.25s;z-index:50;white-space:nowrap;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:481px){body{padding:18px 0}.app-shell{min-height:calc(100dvh - 36px);border-radius:28px;overflow:hidden}.bottom-nav{bottom:18px;border-radius:0 0 28px 28px}}
