:root{--navy:#0b2545;--green:#1b5e20;--lt:#e8f5e9;--bad:#b71c1c}
*{box-sizing:border-box}body{margin:0;font:18px/1.4 system-ui,sans-serif;background:#f4f7f4;color:#111}
header{background:var(--navy);color:#fff;padding:14px 16px;position:sticky;top:0;z-index:2}h1{margin:0;font-size:1.3rem}
main{padding:12px;max-width:640px;margin:auto}
button,.btn{display:block;width:100%;min-height:52px;font-size:1.05rem;font-weight:600;border:0;border-radius:10px;margin:8px 0;padding:12px;background:var(--green);color:#fff;text-align:center;text-decoration:none}
button.sec{background:var(--navy)}button.danger{background:var(--bad)}button.ghost{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.row{display:flex;gap:8px}.row>*{flex:1}
label{display:block;font-weight:700;margin:14px 0 4px}input,select,textarea{width:100%;font-size:1.05rem;min-height:48px;padding:10px;border:2px solid #555;border-radius:8px;background:#fff}
textarea{min-height:100px}.req{color:var(--bad)}
.card{background:#fff;border-left:6px solid var(--green);border-radius:10px;padding:12px;margin:10px 0;box-shadow:0 1px 3px #0003;cursor:pointer}
.card small,.muted{color:#444}.gps{background:var(--lt);padding:10px;border-radius:8px;margin-top:6px}
.err{color:var(--bad);font-weight:700}img.ph{max-width:100%;border-radius:8px}
dl dt{font-weight:700;margin-top:8px}dl dd{margin:0}
#toast{position:fixed;bottom:16px;left:12px;right:12px;background:var(--navy);color:#fff;padding:14px;border-radius:10px;text-align:center;z-index:9}
