:root{--green:#176b4d;--green-dark:#0d4c36;--lime:#d9e8a9;--ink:#14241d;--muted:#68776f;--paper:#f3f4ec;--white:#fff;--line:#dce2da;--amber:#a66b10;--amber-bg:#fff3d4;--danger:#a43b35;--shadow:0 24px 70px rgba(25,56,42,.12)}
.button.google-button{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:18px;border:1px solid #cbd5cb;background:#fff;color:var(--green-dark);box-shadow:0 5px 14px rgba(35,61,46,.06)}.button.google-button:hover{border-color:#9eafa3;background:#fafcf9;box-shadow:0 8px 18px rgba(35,61,46,.09)}.google-button svg{width:20px;height:20px;flex:0 0 20px}.auth-divider{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:#89958d;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}
*{box-sizing:border-box}html{background:#dfe4dc}body{margin:0;min-height:100vh;color:var(--ink);font-family:"DM Sans",sans-serif;background:radial-gradient(circle at 15% 5%,#eef3df 0,transparent 35%),#e6e9e2}.app-shell{position:relative;width:100%;max-width:430px;min-height:100vh;margin:auto;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}.app-shell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.brand-bar{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:24px 24px 10px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:var(--ink);font:700 18px "Manrope",sans-serif}.brand b{color:var(--green)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px 10px 10px 3px;background:var(--green);color:#fff;transform:rotate(-4deg)}.brand-mark span{transform:rotate(4deg);font-weight:800}.stage-chip{padding:6px 10px;border:1px solid #cbd4c9;border-radius:99px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.screen{position:relative;z-index:1;display:none;padding:22px 24px 36px;animation:enter .45s cubic-bezier(.2,.7,.2,1) both}.screen.active{display:block}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.welcome-screen{padding-top:8px}.hero-art{position:relative;height:235px;margin:0 -24px 30px;overflow:hidden;background:var(--green)}.hero-art:after{content:"";position:absolute;right:-55px;bottom:-75px;width:220px;height:220px;border:42px solid rgba(217,232,169,.23);border-radius:50%}.route{position:absolute;border:1px solid rgba(255,255,255,.23);border-radius:50%}.route-one{width:280px;height:130px;left:-80px;top:35px;transform:rotate(28deg)}.route-two{width:230px;height:210px;left:5px;top:92px}.hero-badge{position:absolute;left:44px;top:42px;width:170px;height:162px;padding:20px;border-radius:36px 36px 36px 6px;background:var(--lime);color:var(--green-dark);box-shadow:0 18px 35px rgba(7,43,30,.2);transform:rotate(-3deg)}.hero-badge span,.hero-badge small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:800}.hero-badge strong{display:block;font:800 72px/.95 "Manrope",sans-serif;letter-spacing:-.08em}.hero-badge small{letter-spacing:.08em}.eyebrow,.section-number{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.welcome-screen h1,.form-screen h2,.dashboard-screen h2{margin:11px 0 14px;font:800 38px/1.06 "Manrope",sans-serif;letter-spacing:-.045em}.welcome-screen h1 em{color:var(--green);font-style:normal}.lead,.section-copy{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.action-stack{display:grid;gap:11px;margin-top:26px}.button{min-height:55px;width:100%;border:0;border-radius:14px;padding:0 18px;font:700 15px "DM Sans",sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.button:active{transform:scale(.98)}.button:focus-visible,input:focus-visible,.back-link:focus-visible,.brand:focus-visible,.logout-button:focus-visible{outline:3px solid rgba(23,107,77,.25);outline-offset:3px}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(23,107,77,.18)}.primary:hover{background:var(--green-dark)}.primary span{font-size:20px}.secondary{border:1px solid #cbd5cb;background:rgba(255,255,255,.65);color:var(--green-dark)}.trust-line{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;color:#77847c;font-size:11px}.trust-icon{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#dce9df;color:var(--green);font-size:10px}.form-screen{padding-top:18px}.back-link{display:inline-flex;gap:7px;margin:0 0 40px;border:0;background:none;padding:4px 0;color:var(--muted);font:600 13px "DM Sans",sans-serif;cursor:pointer}.form-screen h2{font-size:40px}.section-copy{margin-bottom:27px}form{display:grid;gap:17px}label{display:grid;gap:8px;color:#38483f;font-size:12px;font-weight:700}.field-wrap{position:relative;display:block}input{width:100%;height:54px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.82);padding:0 15px;color:var(--ink);font:500 15px "DM Sans",sans-serif;transition:border .2s,box-shadow .2s}input::placeholder{color:#9aa49f}input:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px rgba(23,107,77,.08)}.reveal{position:absolute;right:8px;top:8px;height:38px;border:0;background:transparent;color:var(--green);font:700 11px "DM Sans",sans-serif;cursor:pointer}.field-wrap input{padding-right:60px}.submit-button{margin-top:3px}.form-message{display:none;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.45}.form-message.show{display:block}.form-message.error{background:#fae7e4;color:var(--danger)}.form-message.success{background:#e2eee6;color:var(--green-dark)}.text-link,.switch-copy button{border:0;background:none;padding:0;color:var(--green);font:700 12px "DM Sans",sans-serif;cursor:pointer}.forgot-link{justify-self:end;margin-top:-7px}.switch-copy{text-align:center;margin:24px 0 0;color:var(--muted);font-size:12px}.button:disabled{cursor:wait;opacity:.65}.dashboard-screen{padding-top:30px}.dashboard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dashboard-screen h2{font-size:38px;margin-top:9px}.logout-button{border:1px solid #ccd6ce;border-radius:10px;background:#fff;padding:10px 13px;color:var(--green-dark);font:700 11px "DM Sans",sans-serif;cursor:pointer}.status-card{position:relative;overflow:hidden;margin-top:17px;border-radius:20px;background:var(--green);padding:25px;color:#fff;box-shadow:0 18px 35px rgba(23,107,77,.2)}.status-card:after{content:"";position:absolute;width:110px;height:110px;right:-42px;top:-38px;border:22px solid rgba(217,232,169,.18);border-radius:50%}.status-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.pending-row{display:flex;align-items:center;gap:10px;margin-top:14px}.pending-row strong{font:700 17px "Manrope",sans-serif}.pending-dot{width:10px;height:10px;border-radius:50%;background:#f3c45d;box-shadow:0 0 0 5px rgba(243,196,93,.16)}.status-card p{margin:13px 0 0;max-width:280px;color:#cde0d6;font-size:12px;line-height:1.5}.details-card{margin:14px 0 0;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.8);padding:0 18px}.details-card div{padding:18px 0}.details-card div+div{border-top:1px solid var(--line)}dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}dd{margin:7px 0 0;font-size:14px;font-weight:700;overflow-wrap:anywhere}.mini-status{display:inline-block;border-radius:99px;background:var(--amber-bg);padding:5px 10px;color:var(--amber);font-size:11px}.notice{display:flex;align-items:flex-start;gap:12px;margin-top:14px;border-radius:16px;background:#e5ebe4;padding:17px}.notice-mark{flex:0 0 22px;display:grid;place-items:center;height:22px;border:1px solid #aab9ae;border-radius:50%;color:var(--green);font-family:serif;font-weight:700}.notice p{margin:0;color:#59685f;font-size:11px;line-height:1.6}@media(min-width:431px){body{padding:28px}.app-shell{min-height:calc(100vh - 56px);border-radius:28px}.hero-art{border-radius:0}.brand-bar{padding-top:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Fixed app scale: normal scrolling, no pinch or double-tap page zoom. */
html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
