@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{color:#17251e;font-synthesis:none;text-rendering:optimizelegibility;--forest:#123b2a;--forest-light:#1b513b;--lime:#a7c957;--ink:#17251e;--muted:#68766e;--line:#dce3dd;--surface:#fff;background:#f4f6f3;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f6f3;min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.login-layout{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);min-height:100dvh;display:grid}.login-intro{color:#f5faf5;background:var(--forest);flex-direction:column;justify-content:space-between;padding:48px clamp(40px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-intro:before{content:"";border:1px solid #ffffff1f;border-radius:50%;width:420px;height:420px;position:absolute;bottom:7%;right:-220px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.brand-lockup,.mobile-brand{letter-spacing:-.02em;align-items:center;gap:13px;font:700 16px Manrope,sans-serif;display:flex;position:relative}.brand-mark{width:38px;height:38px;color:var(--forest);background:#f2f8f1;border-radius:11px;place-items:center;font:700 21px Manrope,sans-serif;display:grid;position:relative;overflow:hidden}.brand-mark i{background:var(--lime);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px}.intro-copy{max-width:580px;margin:72px 0;position:relative}.eyebrow{color:#668072;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700}.login-intro .eyebrow{color:var(--lime)}.intro-copy h1{letter-spacing:-.055em;max-width:560px;margin:0;font:600 clamp(38px,4.1vw,66px)/1.08 Manrope,sans-serif}.intro-copy>p:last-child{color:#baccc1;max-width:440px;margin:28px 0 0;font-size:16px;line-height:1.7}.intro-footer{color:#7e9a8a;letter-spacing:.2em;margin:0;font-size:10px;font-weight:700;position:relative}.login-panel{background:#f8faf7;place-items:center;padding:48px clamp(28px,7vw,110px);display:grid}.login-card{width:min(100%,420px)}.mobile-brand{display:none}.form-heading{margin-bottom:38px}.form-heading h2{letter-spacing:-.045em;margin:0;font:700 clamp(30px,3vw,40px)/1.2 Manrope,sans-serif}.form-heading>p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.6}.login-card label{color:#314139;gap:9px;margin-top:21px;font-size:13px;font-weight:600;display:grid}.login-card input{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:var(--surface);border-radius:10px;outline:none;padding:0 16px;transition:border-color .18s,box-shadow .18s}.login-card input::placeholder{color:#9ba69f}.login-card input:focus{border-color:#3b7158;box-shadow:0 0 0 3px #1b513b1a}.error-message{color:#8a3028;background:#fff3f1;border:1px solid #efd2ce;border-radius:9px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.45}.primary-button,.secondary-button{border:0;border-radius:10px;min-height:50px;font-weight:700;transition:transform .15s,background .15s}.primary-button{color:#fff;background:var(--forest);width:100%;margin-top:26px;box-shadow:0 10px 22px #123b2a29}.primary-button:not(:disabled):hover{background:var(--forest-light);transform:translateY(-1px)}.access-note{color:#89958e;text-align:center;max-width:350px;margin:22px auto 0;font-size:12px;line-height:1.55}.loading-screen{background:var(--forest);color:#b8cabf;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex}.loading-screen .brand-mark{width:48px;height:48px}.loading-screen p{margin:18px 0 0;font-size:13px}.loading-bar{background:#ffffff1f;width:112px;height:2px;margin-top:30px;overflow:hidden}.loading-bar:after{content:"";background:var(--lime);width:45%;height:100%;animation:1.1s ease-in-out infinite alternate load;display:block}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(225%)}}.dashboard-shell{background:#f4f6f3;min-height:100dvh}.dashboard-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(24px,5vw,72px);display:flex}.dashboard-brand .brand-mark{color:#fff;background:var(--forest)}.secondary-button{color:#2c4336;background:#fff;border:1px solid #ccd6cf;min-height:42px;padding:0 20px}.secondary-button:hover{background:#f8faf8;border-color:#8ba095}.dashboard-content{width:min(100% - 48px,1040px);margin:0 auto;padding:clamp(72px,10vw,128px) 0}.dashboard-content h1{letter-spacing:-.06em;max-width:750px;color:var(--forest);margin:0;font:700 clamp(40px,6vw,72px)/1.05 Manrope,sans-serif}.dashboard-subtitle{color:var(--muted);margin:20px 0 0;font-size:clamp(17px,2vw,21px)}.welcome-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:15px;width:min(100%,440px);margin-top:56px;padding:19px 21px;display:flex;box-shadow:0 10px 30px #1633260d}.status-dot{background:#65a849;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 5px #e7f2e2}.welcome-card p{color:var(--muted);margin:0 0 4px;font-size:12px}.welcome-card strong{overflow-wrap:anywhere;font-size:14px}@media (width<=800px){.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100dvh;padding:max(30px, env(safe-area-inset-top)) 24px max(30px, env(safe-area-inset-bottom));align-items:center}.mobile-brand{color:var(--forest);margin-bottom:64px;display:flex}.form-heading{margin-bottom:30px}.dashboard-header{height:72px}.dashboard-brand>span{display:none}.dashboard-content{width:min(100% - 40px,1040px);padding-top:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
