:root{
  --ink:#10211d;--muted:#6d7b76;--green:#11976d;--green-dark:#087052;--green-deep:#071b18;
  --surface:#fff;--surface-soft:#f3f7f5;--line:#dfe8e4;--blue:#2f80ed;--amber:#df941d;--red:#df5353;
  --shadow:0 20px 55px rgba(12,38,31,.14);--radius:22px
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef3f1}
body{margin:0}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}
button{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease}
button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,128,237,.27);outline-offset:2px}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand img{width:38px;height:38px}.brand span{display:grid;line-height:1}.brand strong{font-size:16px;letter-spacing:-.35px}.brand small{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);margin-top:5px}.brand.inverse{color:#fff}.brand.inverse small{color:rgba(255,255,255,.58)}
.eyebrow{display:block;font-size:10px;letter-spacing:1.8px;font-weight:900;color:var(--green);text-transform:uppercase}
.primary-button,.secondary-button,.danger-button{border:0;border-radius:14px;padding:13px 18px;font-weight:850;cursor:pointer;text-align:center;text-decoration:none}.primary-button{background:linear-gradient(135deg,#15aa79,#08795a);color:#fff;box-shadow:0 12px 24px rgba(15,137,99,.2)}.primary-button:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(15,137,99,.27)}.secondary-button{background:#edf4f1;color:#17473a}.danger-button{background:#df5555;color:#fff}.wide{width:100%}.large{padding:16px 20px;border-radius:16px}.quiet-button{border:0;background:transparent;color:inherit;font-weight:800;padding:9px 12px;border-radius:10px;cursor:pointer}.quiet-button:hover{background:rgba(255,255,255,.1)}
.field{display:grid;gap:8px}.field>span{font-size:11px;font-weight:850;color:#566861;text-transform:uppercase;letter-spacing:.55px}.field input,.field select,.field textarea{width:100%;border:1px solid #dce7e3;background:#fbfdfc;color:var(--ink);border-radius:13px;padding:13px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#38b98e;box-shadow:0 0 0 4px rgba(34,171,126,.1);background:#fff}
.live-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;background:#e7f8f1;color:#0e7355;border-radius:999px;font-size:11px;font-weight:850}.live-badge i{width:7px;height:7px;background:#1aac78;border-radius:50%;box-shadow:0 0 0 5px rgba(26,172,120,.12);animation:pulseDot 1.8s infinite}.live-badge.muted{background:#eef2f0;color:#73817c}.live-badge.muted i{background:#97a39f;box-shadow:none;animation:none}@keyframes pulseDot{50%{box-shadow:0 0 0 9px rgba(26,172,120,0)}}
.toast-region{position:fixed;z-index:5000;right:18px;bottom:20px;display:grid;gap:10px;pointer-events:none}.toast{min-width:260px;max-width:380px;background:#10241f;color:#fff;border-radius:15px;padding:14px 16px;box-shadow:0 18px 45px rgba(0,0,0,.24);animation:toastIn .25s ease}.toast.success{background:#0d6a50}.toast.warning{background:#8c5f1c}.toast.error{background:#8b3535}.toast strong{display:block;font-size:13px}.toast span{display:block;font-size:12px;opacity:.76;margin-top:3px;line-height:1.45}.toast.leaving{opacity:0;transform:translateY(8px);transition:.25s}@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
.modal,.bottom-sheet,.side-drawer{position:fixed;inset:0;z-index:3000;pointer-events:none;visibility:hidden}.modal[aria-hidden="false"],.bottom-sheet[aria-hidden="false"],.side-drawer[aria-hidden="false"]{pointer-events:auto;visibility:visible}.modal-scrim,.sheet-scrim,.drawer-scrim{position:absolute;inset:0;background:rgba(3,18,15,.42);opacity:0;transition:.25s;backdrop-filter:blur(5px)}.modal[aria-hidden="false"] .modal-scrim,.bottom-sheet[aria-hidden="false"] .sheet-scrim,.side-drawer[aria-hidden="false"] .drawer-scrim{opacity:1}
.modal-card{position:absolute;left:50%;top:50%;width:min(480px,calc(100% - 28px));max-height:90vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;transform:translate(-50%,-47%) scale(.96);opacity:0;transition:.25s;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal[aria-hidden="false"] .modal-card{transform:translate(-50%,-50%) scale(1);opacity:1}.modal-card header,.drawer-panel header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-card h2,.drawer-panel h2{margin:4px 0 0;font-size:24px;letter-spacing:-.7px}.modal-card header button,.drawer-panel header button{border:0;background:#eff5f2;width:38px;height:38px;border-radius:12px;font-size:22px;cursor:pointer}
.report-options{display:grid;gap:10px;margin:18px 0}.report-option{display:flex;align-items:center;gap:12px;border:1px solid #dfe9e5;border-radius:15px;padding:13px;cursor:pointer}.report-option:has(input:checked){border-color:#1dac79;background:#effaf6;box-shadow:0 0 0 3px rgba(29,172,121,.09)}.report-option input{accent-color:#159d70}.report-option i{width:11px;height:11px;border-radius:50%;background:var(--status-color)}.report-option span{display:grid}.report-option strong{font-size:14px}.report-option small{color:#7d8b86;margin-top:2px}
.sheet-panel{position:absolute;left:50%;bottom:14px;width:min(620px,calc(100% - 24px));max-height:min(84vh,760px);overflow:auto;background:rgba(255,255,255,.98);border-radius:28px;padding:14px 24px 25px;box-shadow:0 30px 80px rgba(0,0,0,.24);transform:translate(-50%,110%);transition:.32s cubic-bezier(.2,.8,.2,1)}.bottom-sheet[aria-hidden="false"] .sheet-panel{transform:translate(-50%,0)}.sheet-handle{display:block;width:48px;height:5px;background:#d4dfdb;border:0;border-radius:99px;margin:2px auto 19px;cursor:pointer}.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(420px,92vw);background:#fff;padding:28px;overflow:auto;transform:translateX(105%);transition:.3s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.2)}.side-drawer[aria-hidden="false"] .drawer-panel{transform:translateX(0)}
.app-loader{position:fixed;inset:0;background:linear-gradient(180deg,#fbfcfb,#f0f4f2);z-index:6000;color:#0f241f;display:flex;gap:15px;align-items:center;justify-content:center;transition:.45s}.app-loader.hidden{opacity:0;visibility:hidden}.loader-logo{position:relative;width:68px;height:68px;border-radius:23px;background:linear-gradient(180deg,#18b07c,#0f805f);display:grid;place-items:center;box-shadow:0 22px 42px rgba(16,87,66,.2)}.loader-logo::after{content:"";position:absolute;inset:-9px;border-radius:29px;border:2px solid rgba(47,128,237,.18);animation:loaderHalo 1.7s infinite}.loader-logo img{width:40px;filter:brightness(0) invert(1)}.app-loader div:last-child{display:grid;gap:5px}.app-loader strong{font-size:21px}.app-loader span{font-size:12px;color:#65736e}@keyframes loaderHalo{0%{transform:scale(.86);opacity:.9}100%{transform:scale(1.12);opacity:0}}
.map-fallback{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;background:radial-gradient(circle at 30% 20%,#fff,#edf3f0)}.map-fallback-icon{width:54px;height:54px;border-radius:18px;background:#e7f8f1;color:#087052;display:grid;place-items:center;font-size:26px}.map-fallback h2{margin:16px 0 7px}.map-fallback p{max-width:440px;color:var(--muted);line-height:1.6}
.empty-state{padding:18px;border-radius:16px;background:#f3f7f5;color:#687a74;font-size:13px;line-height:1.55;text-align:center}
@media(max-width:600px){.toast-region{left:14px;right:14px;bottom:86px}.toast{min-width:0;width:100%}.modal-card{padding:20px;border-radius:22px}.sheet-panel{bottom:0;width:100%;border-radius:26px 26px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}}
