:root{--green-900:#034725;--green-800:#05552e;--green-700:#076a3a;--green-600:#0b7b45;--green-100:#e6f4ec;--green-050:#f2faf5;--background:#f7f8f7;--surface:#fff;--text:#17211b;--text-muted:#617068;--border:#dfe7e2;--danger:#b42318;--danger-soft:#fff0ee;--warning:#a15c00;--shadow-card:0 1px 2px #0347250d, 0 10px 28px #03472512;--shadow-button:0 10px 24px #076a3a33;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--page-width:720px;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{overscroll-behavior-x:none;background:var(--background);width:100%;min-width:320px;max-width:100%;min-height:100%;overflow-x:hidden}body{overscroll-behavior:none;background:var(--background);width:100%;min-width:320px;max-width:100%;min-height:100dvh;margin:0;overflow-x:hidden}.route-loading{min-height:100dvh;color:var(--green-700);background:var(--background);place-items:center;font-weight:800;display:grid}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #0b7b4547}button{border:0}a{color:inherit;text-decoration:none}#root{width:100%;max-width:100%;min-height:100dvh;overflow-x:hidden}.app-shell{background:var(--background);flex-direction:column;width:100%;max-width:100%;height:100dvh;min-height:0;display:flex;position:fixed;inset:0;overflow:hidden}.app-header{color:#fff;background:linear-gradient(140deg, var(--green-900), var(--green-700) 72%, #0f8250);padding:max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 30px max(20px, env(safe-area-inset-left));border-radius:0 0 28px 28px;flex:none;position:relative;overflow:hidden}.app-header:after{content:"";border:24px solid #ffffff12;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-110px;right:-70px}.header-row,.page-content{width:min(100%, var(--page-width));margin:0 auto}.header-row{z-index:1;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:#ffffff21;border:2px solid #fff9;border-radius:15px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:.82rem;font-weight:900;display:grid}.brand-mark img{object-fit:cover;border-radius:13px;width:100%;height:100%}.brand-title{letter-spacing:.04em;margin:0;font-size:clamp(1.05rem,5vw,1.3rem);font-weight:850;line-height:1.15}.brand-subtitle{color:#ffffffc7;letter-spacing:.08em;text-transform:uppercase;margin:4px 0 0;font-size:.82rem;font-weight:650}.icon-button{color:#fff;cursor:pointer;background:#ffffff1f;border-radius:15px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:inline-grid}.page-content{padding:22px 18px calc(32px + env(safe-area-inset-bottom))}.app-shell>main{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.section-kicker{color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:.76rem;font-weight:850}.page-title{color:var(--text);letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,7vw,2.2rem);line-height:1.08}.page-intro{color:var(--text-muted);margin:10px 0 0;line-height:1.55}.card{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid #dfe7e2e6}.primary-button,.secondary-button{cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 20px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{color:#fff;background:var(--green-700);box-shadow:var(--shadow-button)}.primary-button:hover{background:var(--green-600)}.secondary-button{color:var(--green-700);background:var(--green-050);border:1px solid var(--green-100)}.primary-button:active,.secondary-button:active,.icon-button:active{transform:translateY(1px)scale(.99)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.field{gap:8px;display:grid}.field label{color:var(--text);font-size:.9rem;font-weight:750}.field input{width:100%;min-height:54px;color:var(--text);background:#fff;border:1px solid #ced9d2;border-radius:14px;padding:13px 15px;font-size:1rem}.field input::placeholder{color:#95a29b}.field input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:0;font-size:.85rem;font-weight:650}.status-toast{z-index:20;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:min(100% - 32px,440px);min-height:58px;color:var(--green-900);pointer-events:none;background:#ecf9f1;border:1px solid #badcc8;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-inline:auto;padding:12px 12px 12px 16px;font-weight:750;display:flex;position:fixed;left:16px;box-shadow:0 16px 38px #03472533}.status-toast button{width:44px;height:44px;color:var(--green-900);cursor:pointer;pointer-events:auto;background:#076a3a14;border-radius:12px;place-items:center;display:grid}.full-width{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=720px){.app-header{padding-top:24px}.page-content{padding-top:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.centered-state{text-align:center;background:var(--background);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:28px;display:flex}.centered-state h1,.centered-state p{margin:0}.centered-state h1{letter-spacing:-.035em;font-size:1.7rem}.centered-state p{max-width:420px;color:var(--text-muted);line-height:1.55}.state-icon{width:62px;height:62px;color:var(--green-700);background:var(--green-100);border-radius:20px;place-items:center;display:grid}.state-icon--danger{color:var(--danger);background:var(--danger-soft)}.spin{color:var(--green-700);animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-notice{text-align:center;color:#65736b;letter-spacing:.06em;margin:10px 18px 0;font-size:.65rem;font-weight:700}.login-page{min-height:100dvh;padding:max(34px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));color:#fff;background:radial-gradient(circle at 80% 12%, #ffffff1f 0 80px, transparent 81px), linear-gradient(155deg, var(--green-900), var(--green-700) 62%, #0e8050);grid-template-rows:auto auto 1fr;align-content:center;gap:22px;display:grid}.login-brand,.login-card,.login-footer{width:min(100%,430px);margin-inline:auto}.login-brand{text-align:center}.login-mark{color:#fff;background:#ffffff1f;border:2px solid #ffffff9e;border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 20px;font-weight:900;display:grid;box-shadow:0 18px 40px #012b163d}.login-kicker{color:#ffffffb8;letter-spacing:.17em;text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:800}.login-brand h1{letter-spacing:.03em;margin:0;font-size:clamp(2rem,10vw,2.8rem);line-height:1}.login-brand>p:last-child{color:#ffffffc7;margin:12px 0 0}.login-card{color:var(--text);padding:22px}.login-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.login-heading h2{letter-spacing:-.035em;margin:0;font-size:1.55rem}.secure-badge{width:42px;height:42px;color:var(--green-700);background:var(--green-100);border-radius:14px;place-items:center;display:grid}.login-card form{gap:17px;display:grid}.password-field{position:relative}.password-field input{padding-right:52px}.password-field button{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:11px;place-items:center;display:grid;position:absolute;top:7px;right:7px}.password-field svg{width:20px}.login-error{color:var(--danger);background:var(--danger-soft);border-radius:12px;margin:-3px 0 0;padding:11px 13px;font-size:.87rem;font-weight:650}.demo-access{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.demo-access>p{color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:.78rem;font-weight:750}.demo-access>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.demo-access .secondary-button{min-height:46px;padding:10px;font-size:.82rem}.login-footer{color:#ffffffb8;text-align:center;align-self:start;margin-block:0;font-size:.78rem;line-height:1.45}.login-footer p{margin:0}.login-footer nav{justify-content:center;gap:9px;margin-top:9px;display:flex}.login-footer a{color:#fff;text-underline-offset:3px;font-weight:800;text-decoration:underline}@media (height<=720px){.login-page{padding-top:max(20px, env(safe-area-inset-top));align-content:start;gap:16px}.login-mark{border-radius:17px;width:52px;height:52px;margin-bottom:12px}.login-card{padding:18px}}.google-sign-in{gap:16px;display:grid}.google-sign-in>p{color:var(--text-muted);margin:0;line-height:1.5}.google-button{min-height:56px;color:var(--text);cursor:pointer;background:#fff;border:1px solid #c8d1cc;border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:13px 16px;font-weight:850;display:flex;box-shadow:0 8px 18px #03472514}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-mark{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:1.05rem;font-weight:900;display:grid;box-shadow:0 0 0 1px #d7ddd9}.worker-home{align-content:start;display:grid}.sell-action{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg, var(--green-700), var(--green-900));letter-spacing:.02em;grid-template-rows:auto auto;place-items:center;min-height:210px;padding:28px;font-size:clamp(2.5rem,14vw,4rem);font-weight:900;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 44px #0347253d}.sell-action:after{content:"";border:26px solid #ffffff14;border-radius:50%;width:170px;height:170px;position:absolute;bottom:-78px;right:-80px}.sell-action__icon{background:#ffffff24;border-radius:22px;place-items:center;width:68px;height:68px;display:grid}.sell-action__arrow{opacity:.75;position:absolute;bottom:24px;right:24px}.worker-today{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;padding:15px;display:grid}.worker-today div{gap:5px;display:grid}.worker-today span{color:var(--text-muted);font-size:.76rem;font-weight:700}.worker-today strong{font-size:1.08rem}.worker-invoices{margin-top:12px}.owner-sell{color:var(--text);align-items:center;gap:14px;padding:16px;transition:transform .16s,border-color .16s;display:flex}.owner-active-actions{gap:11px;display:grid}@media (width>=560px){.owner-active-actions{grid-template-columns:1fr 1fr}}.owner-sell:hover{border-color:#b5d6c2;transform:translateY(-1px)}.owner-sell>span{color:#fff;background:var(--green-700);border-radius:16px;flex:0 0 50px;place-items:center;width:50px;height:50px;display:grid}.owner-sell div{gap:3px;display:grid}.owner-sell strong{font-size:1.04rem}.owner-sell small{color:var(--text-muted)}.planned-section{margin-top:28px}.planned-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px;display:flex}.planned-heading h2{letter-spacing:-.02em;margin:0;font-size:1.13rem}.planned-heading span{color:var(--text-muted);font-size:.75rem;font-weight:650}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.module-card{min-height:132px;color:var(--text-muted);box-shadow:none;align-content:space-between;padding:15px;display:grid}.module-card__icon{width:38px;height:38px;color:var(--green-700);background:var(--green-050);border-radius:12px;place-items:center;display:grid}.module-card strong{color:var(--text);margin-top:14px;font-size:.9rem}.module-card small{margin-top:3px;font-size:.71rem}@media (width>=560px){.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.assigned-actions{gap:12px;margin-top:18px;display:grid}.assigned-actions .owner-sell{min-width:0;padding:18px}.assigned-actions .owner-sell>div{flex:1;min-width:0}.assigned-actions .owner-sell>svg{color:var(--green-700);flex-shrink:0}.assigned-actions .owner-sell small{white-space:normal;line-height:1.45}.worker-home>.access-help{padding:20px;line-height:1.5}.legal-page{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 18px max(30px, env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--green-050), var(--background) 280px)}.legal-document{width:min(100%,720px);margin:0 auto;padding:clamp(22px,5vw,38px)}.legal-header{border-bottom:2px solid var(--green-700);align-items:center;gap:16px;padding-bottom:22px;display:flex}.legal-mark{color:#fff;background:var(--green-700);border-radius:18px;flex:0 0 58px;place-items:center;width:58px;height:58px;font-weight:900;display:grid}.legal-header h1{margin:0;font-size:clamp(1.7rem,7vw,2.35rem);line-height:1.05}.legal-effective{color:var(--text-muted);margin:18px 0 24px;font-size:.88rem;font-weight:700}.legal-document section+section{margin-top:24px}.legal-document section h2{margin:0 0 8px;font-size:1.08rem}.legal-document section p{color:var(--text-muted);margin:0;line-height:1.65}.legal-security-note{color:var(--green-800);background:var(--green-100);border-radius:14px;align-items:center;gap:10px;margin-top:28px;padding:14px;font-size:.9rem;font-weight:750;display:flex}.legal-links{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:26px;display:flex}.legal-links a{color:var(--green-700);align-items:center;gap:6px;font-weight:800;display:inline-flex}
