:root{--forest:#0d2926;--forest-2:#164138;--leaf:#16a466;--leaf-dark:#0d8855;--mist:#f3f6f3;--white:#fff;--ink:#192c26;--secondary:#718079;--line:#e4ece7;--soft:#ebf7ef;--shadow:0 5px 22px rgba(15,48,33,.055);font-synthesis:none}
*{box-sizing:border-box}html{background:var(--mist);scroll-behavior:smooth}body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif;color:var(--ink);background:var(--mist);min-height:100dvh}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #57cc99;outline-offset:3px}svg{flex-shrink:0}
.mobile-app{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.mobile-public{padding-bottom:0}.mobile-topbar{background:var(--forest);color:#fff;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 12px;min-height:78px;box-shadow:0 8px 18px rgba(0,0,0,.08)}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand-icon{width:39px;height:39px;background:var(--leaf);border-radius:13px;display:grid;place-items:center;position:relative;color:#fff;font-weight:900;font-size:23px;letter-spacing:-2px;line-height:1}.brand-dot{width:5px;height:5px;position:absolute;right:7px;top:8px;border-radius:50%;background:#c7f1a2}.mobile-brand>span:last-child{display:flex;flex-direction:column;line-height:1.15}.mobile-brand b{font-size:16px;letter-spacing:-.55px}.mobile-brand small{font-size:8px;letter-spacing:1.9px;color:#98d5bb;margin-top:4px;font-weight:750}.mobile-alert-link{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ffffff18;position:relative}.mobile-notification-badge{position:absolute;top:1px;right:0;min-width:17px;padding:0 4px;border-radius:8px;background:#fbe69d;color:#382909;font-size:10px;text-align:center;font-weight:850;border:2px solid var(--forest)}.mobile-main{max-width:540px;margin:auto;padding:22px 17px 25px}.mobile-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.6px;color:var(--leaf-dark)}.mobile-welcome{margin:0 2px 20px}.mobile-welcome h1,.mobile-page-title h1,.mission-page-head h1{font-size:30px;line-height:1.12;letter-spacing:-1px;margin:7px 0 8px;font-weight:850}.mobile-welcome h1 span{font-size:24px}.mobile-welcome p,.mobile-page-title p{margin:0;color:var(--secondary);line-height:1.5}.mobile-summary{background:var(--forest);border-radius:22px;display:grid;grid-template-columns:1fr 1px 1fr;padding:21px 17px;box-shadow:0 14px 24px #10382b16;color:white;margin-bottom:27px}.summary-badge{display:flex;gap:10px;align-items:center;min-width:0}.summary-icon{border-radius:12px;flex:0 0 43px;height:43px;background:#ffffff1a;color:#a5efc7;display:grid;place-items:center}.summary-badge div:last-child{display:flex;flex-direction:column;min-width:0}.summary-badge small{color:#b9d6c5;font-size:11px;white-space:nowrap}.summary-badge strong{font-size:29px;line-height:1.15;letter-spacing:-1px}.summary-split{background:#ffffff30;height:37px;align-self:center;margin-right:10px}.mobile-section-heading,.mobile-surface-title,.mobile-label-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.mobile-section-heading{margin-bottom:14px}.mobile-section-heading h2{font-size:21px;margin:3px 0 0;letter-spacing:-.5px}.mobile-refresh{width:41px;height:41px;background:#fff;color:var(--forest-2);display:grid;place-items:center;border:1px solid var(--line);border-radius:13px}.mission-list{display:grid;gap:14px}.mission-card{display:block;background:white;border:1px solid #e1eae4;padding:19px;border-radius:19px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}.mission-card:active{transform:scale(.986);border-color:#b3dac5}.mission-card-top,.mission-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.mission-reference{font-size:14px;font-weight:900;letter-spacing:-.2px}.mission-status{font-size:10px;display:inline-flex;white-space:nowrap;align-items:center;border-radius:999px;padding:6px 10px;font-weight:800;line-height:1.2}.mission-status-info{background:#e7f0ff;color:#335cad}.mission-status-success{background:#e3f5eb;color:#10784b}.mission-status-warning{background:#fff4db;color:#986208}.mission-status-primary{background:#e3ebfa;color:#3458a0}.mission-status-muted{background:#eff1f0;color:#666}.mission-status-danger{background:#fff0ee;color:#b43c32}.mission-schedule{display:flex;gap:6px;align-items:center;color:var(--secondary);font-size:12px;margin:11px 0 19px;font-weight:650}.mission-journey{display:grid;grid-template-columns:17px 1fr;gap:13px}.journey-dots{display:flex;align-items:center;flex-direction:column;padding:5px 0 7px}.journey-dots i{width:12px;height:12px;border:3px solid var(--leaf);background:#fff;border-radius:50%;flex:none}.journey-dots i:last-child{background:var(--leaf)}.journey-dots>span{flex:1;min-height:36px;border-left:2px dashed #bdd6c8;margin:4px 0}.journey-stops{display:flex;flex-direction:column;gap:15px;min-width:0}.journey-stops>div{min-width:0}.journey-stops small{display:block;font-size:10px;letter-spacing:1.05px;color:#829289;font-weight:800}.journey-stops strong{display:block;font-size:15px;font-weight:790;margin:2px 0 2px;overflow-wrap:anywhere}.journey-stops p{margin:0;color:#68796f;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.mission-card-foot{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;font-size:12px;color:var(--secondary)}.mission-card-foot b{color:var(--leaf-dark);white-space:nowrap}.mobile-empty{text-align:center;border:1px dashed #cfddd3;background:#fff;border-radius:20px;padding:34px 26px}.empty-icon{width:58px;height:58px;background:var(--soft);color:var(--leaf-dark);border-radius:19px;display:grid;place-items:center;font-size:32px;font-weight:850;margin:0 auto 13px}.mobile-empty h3{font-size:19px;letter-spacing:-.3px;margin:0 0 7px}.mobile-empty p{font-size:13px;color:var(--secondary);margin:0;line-height:1.6}.mobile-bottom-note{margin:22px 4px;color:#788c80;display:flex;gap:8px;align-items:center;font-size:11px}.live-dot{flex:none;width:7px;height:7px;border-radius:100%;background:var(--leaf)}
.mobile-bottom-nav{position:fixed;z-index:90;bottom:0;left:0;right:0;display:flex;justify-content:space-evenly;align-items:center;min-height:calc(73px + env(safe-area-inset-bottom,0px));padding:9px 8px calc(9px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e1e8e3;box-shadow:0 -8px 26px #122d2010}.mobile-tab{height:54px;flex:1;max-width:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#869389;position:relative;border-radius:12px}.mobile-tab.is-active{color:var(--leaf-dark);background:#f0f9f3}.mobile-nav-icon{position:relative;height:23px}.mobile-nav-dot{position:absolute;right:0;top:0;width:8px;height:8px;border-radius:100%;background:#f29b4b;border:1px solid #fff}
.mobile-page-title{margin:1px 2px 24px}.mobile-page-title h1{margin-bottom:9px}.mission-page-head{margin-bottom:17px}.mobile-back{display:inline-flex;align-items:center;gap:8px;color:var(--leaf-dark);font-size:13px;font-weight:750;margin-bottom:19px;padding:5px 0}.mobile-back span{font-size:22px;line-height:1}.mission-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.mission-title-row h1{font-size:26px;margin:5px 0 0}.mission-time{color:var(--secondary);font-size:13px;margin:8px 0 0}.mobile-surface{background:#fff;border-radius:20px;border:1px solid var(--line);padding:19px;box-shadow:var(--shadow);margin:0 0 15px;min-width:0}.mobile-surface-title{justify-content:flex-start;margin:0 0 17px}.mobile-surface-title h2{font-size:17px;line-height:1.3;margin:0;letter-spacing:-.25px}.surface-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e7f6eb;color:var(--leaf-dark);font-size:20px;font-weight:800;flex:none}.mission-journey-detail{gap:13px;grid-template-columns:16px 1fr}.mission-journey-detail .journey-stops{gap:21px}.mission-journey-detail .journey-stops strong{font-size:16px}.mission-journey-detail .journey-stops p{font-size:13px}.mission-journey-detail .journey-dots{padding-top:6px}.contact-name{font-weight:750!important;color:#43564a!important;margin-top:6px!important}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0 0}.quick-action{padding:7px 11px;background:#e8f6ec;border-radius:10px;color:#097447;font-size:12px;font-weight:800;min-height:36px}.quick-action:nth-child(2){background:#f2f5f3;color:#3f584a}.route-estimate{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:15px;margin-top:21px}.route-estimate span{font-size:12px;color:#677b6d}.route-estimate b{color:#1e4130}.mission-facts{display:grid;gap:0}.mission-facts>div{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #edf1ee}.mission-facts>div:last-child{border-bottom:0}.mission-facts span{font-size:12px;color:var(--secondary);flex:0 0 100px}.mission-facts strong{font-size:13px;text-align:right;overflow-wrap:anywhere;min-width:0}.mission-instructions{padding:12px 13px;background:#f3f8f4;border-radius:12px;margin-top:15px}.mission-instructions b{font-size:12px;color:#2b6147}.mission-instructions p{font-size:13px;line-height:1.6;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.mission-instructions.is-admin{background:#fff8e6}.mission-instructions.is-admin b{color:#805e12}.action-surface p,.mobile-helper{color:var(--secondary);font-size:13px;line-height:1.6;margin:-5px 0 18px}.mobile-button{border:0;border-radius:14px;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:14px;font-weight:800;width:100%}.mobile-button-primary{background:var(--leaf-dark);color:#fff;box-shadow:0 7px 15px #0c86552a}.mobile-button-primary:disabled{opacity:.65}.mobile-button-secondary{background:#eaf3ed;color:var(--leaf-dark);justify-content:center}.mobile-button span:last-child{font-size:20px;line-height:1}.mobile-form{display:flex;flex-direction:column;gap:9px}.mobile-form>label,.file-picker>label,.mobile-label-row>label{font-size:12px;color:#365244;font-weight:800;display:block;margin:8px 0 0}.mobile-form>label:first-of-type{margin-top:0}.mobile-form input:not([type=file]),.mobile-form textarea{border:1px solid #d6e2da;border-radius:12px;padding:13px 14px;width:100%;font-size:15px;min-height:48px;color:var(--ink);background:#fff;outline:none;box-shadow:0 1px 1px #112f2410}.mobile-form input:focus,.mobile-form textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 3px #16a46618}.mobile-form textarea{resize:vertical;min-height:93px}.mobile-label-row{margin-top:9px}.mobile-label-row>label{margin:0}.clear-signature{border:0;background:none;color:var(--leaf-dark);font-size:12px;font-weight:800;padding:5px 0}.signature-frame{border:1px dashed #bfd2c3;border-radius:14px;padding:6px;overflow:hidden;background:#f9fbf9}.signature-frame canvas{width:100%;height:160px;display:block;background:white;border-radius:9px;touch-action:none;cursor:crosshair}.signature-hint{display:block;text-align:center;color:#809286;font-size:11px;padding:4px 0 3px}.file-picker{background:#f9fbfa;border:1px solid var(--line);padding:12px;border-radius:13px;margin-top:8px}.file-picker>label{margin:0}.file-picker p{font-size:12px;color:var(--secondary);margin:3px 0 10px}.file-picker input{width:100%;min-width:0;font-size:12px;color:#405347}.file-picker input::file-selector-button{background:#e4f3e9;border:0;border-radius:8px;color:#146a42;font-weight:800;padding:9px 12px;margin-right:10px}.upload-preview{max-width:100%;max-height:190px;display:block;object-fit:contain;margin:11px auto 0;border-radius:10px}.upload-preview[hidden]{display:none}.mobile-form-note{color:var(--secondary);font-size:11px;line-height:1.55;margin:10px 0 9px}.proof-success{text-align:center}.proof-success-icon{background:#e1f7e9;border-radius:20px;color:var(--leaf-dark);font-size:34px;width:58px;height:58px;display:grid;place-items:center;margin:auto}.proof-success h2{font-size:22px;margin:10px 0 4px}.proof-success>p{color:var(--secondary);font-size:12px}.proof-buttons{display:grid;gap:9px;margin-top:16px}
.mobile-notifications-list{display:grid;gap:10px}.mobile-notification{display:grid;grid-template-columns:11px 1fr;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 16px;box-shadow:var(--shadow)}.notification-indicator{height:7px;width:7px;border-radius:100%;background:#cdd9cf;margin-top:6px}.mobile-notification.is-unread .notification-indicator{background:var(--leaf)}.mobile-notification strong{font-size:13px}.mobile-notification p{font-size:12px;color:#586c5d;line-height:1.5;margin:6px 0}.mobile-notification small{font-size:11px;color:#8c9c91}.mobile-notification form{margin-top:12px}.text-button{background:none;border:0;color:var(--leaf-dark);font-size:12px;font-weight:850;padding:4px 0}.mark-all{text-align:right;margin:-11px 0 15px}.mobile-signout{text-align:center;margin:27px 0}.mobile-signout button{background:none;border:0;color:#856a68;font-size:12px;text-decoration:underline;padding:12px}.mobile-alert{background:#fff8e7;color:#715a22;border-radius:12px;padding:14px;margin:0 0 14px;font-size:12px}.mobile-alert-success{background:#dff5e8;color:#146a42}.mobile-alert-danger{background:#ffeded;color:#a63d3d}.network-banner{position:fixed;top:0;left:0;right:0;z-index:150;background:#ac402d;color:#fff;text-align:center;padding:calc(7px + env(safe-area-inset-top,0px)) 12px 8px;font-size:12px;font-weight:800}.network-banner[hidden]{display:none}
.mobile-login{max-width:450px;margin:auto}.mobile-public{background:linear-gradient(180deg,#0d2926 0,#163d31 420px,#f3f6f3 420px)}.mobile-public .mobile-main{padding-top:34px}.login-illustration{height:73px;display:flex;align-items:center;gap:30px}.login-brand-icon{width:58px;height:58px;font-size:33px;border-radius:19px;box-shadow:0 12px 29px #001a111f}.login-route{flex:1;display:flex;align-items:center;gap:7px}.login-route span{height:4px;border-radius:20px;background:#90c7a6;flex:1;opacity:.75}.login-route span:nth-child(2){opacity:.4}.login-route span:nth-child(3){width:12px;height:12px;border:3px solid #6ee0a1;border-radius:50%;flex:none}.login-intro{color:white;margin:14px 0 26px}.login-intro .mobile-eyebrow{color:#a8e1bb}.login-intro h1{font-size:33px;line-height:1.17;letter-spacing:-1.2px;margin:9px 0 13px}.login-intro h1 em{color:#8ae0ac;font-style:normal}.login-intro p{color:#d0dfd3;line-height:1.6;font-size:13px;max-width:310px;margin:0}.login-panel{padding:23px 22px 19px;background:#fff;border-radius:22px;box-shadow:0 22px 35px #092b2420}.login-panel h2{font-size:20px;letter-spacing:-.5px;margin:0 0 4px}.login-panel>p{font-size:12px;color:#6b7c70;margin:0 0 20px}.login-panel .mobile-form{gap:9px}.login-panel .mobile-form .mobile-button{margin-top:14px}.login-panel .login-footer{border-top:1px solid var(--line);text-align:center;font-size:12px;line-height:1.6;margin:20px 0 0;padding-top:17px;color:#758579}.mobile-quiet{text-align:center;font-size:11px;color:#7b8980;margin-top:18px}
@media(min-width:630px){.mobile-topbar{padding-left:max(calc((100vw - 520px)/2),20px);padding-right:max(calc((100vw - 520px)/2),20px)}.mobile-bottom-nav{left:calc((100vw - 520px)/2);right:calc((100vw - 520px)/2);border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:17px 17px 0 0}.mobile-main{padding-top:30px}}
@media(max-width:360px){.mobile-main{padding-left:12px;padding-right:12px}.mobile-summary{padding:16px 10px}.summary-icon{flex-basis:36px;height:36px}.summary-badge{gap:7px}.summary-badge small{font-size:10px}.mission-card{padding:16px}.mission-title-row{align-items:flex-start;flex-direction:column}.mobile-public .mobile-main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mobile-install-tip{background:#e7f6eb;border:1px solid #c9e7d2;border-radius:16px;display:flex;gap:12px;padding:13px 15px;margin:-6px 0 22px}.mobile-install-tip[hidden],.install-ios[hidden],.install-android[hidden],.install-button[hidden]{display:none}.install-tip-icon{background:white;color:var(--leaf-dark);width:33px;height:33px;flex:none;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:18px}.mobile-install-tip strong{font-size:12px;line-height:1.35;display:block}.mobile-install-tip p{font-size:11px;line-height:1.45;color:#427258;margin:4px 0}.install-button{font-size:12px;color:#087044;background:none;border:0;padding:6px 0 0;font-weight:800}
