:root{--background:#06162a;--foreground:#f8fbff;--card:#fff;--card-foreground:#0b1d30;--primary:#9bea43;--primary-foreground:#071528;--secondary:#eaf0f5;--secondary-foreground:#0b1d30;--muted:#edf2f6;--muted-foreground:#5f6e7e;--border:#d9e2e9;--input:#cfdbe4;--ring:#76cf23;--destructive:#c53b3b}
*{box-sizing:border-box}html{min-width:320px;background:var(--background);font-family:Arial,sans-serif}body{margin:0;min-height:100vh;background:var(--background);color:var(--foreground)}button,input{font:inherit}
.site-shell{position:relative;min-height:100vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,rgba(29,69,98,.35) 1px,transparent 1px) 0 0/42px 42px,radial-gradient(circle at 50% -12%,#16466a 0%,#0a2743 36%,#06162a 70%)}
.site-shell::after{content:'';position:absolute;inset:auto -15% -18rem;height:30rem;background:linear-gradient(5deg,rgba(155,234,67,.08),transparent 60%);transform:rotate(-3deg);pointer-events:none}.top-glow{position:absolute;top:-13rem;left:50%;width:32rem;height:32rem;border-radius:50%;transform:translateX(-50%);background:rgba(155,234,67,.12);filter:blur(80px)}
.content{position:relative;z-index:1;width:min(92%,540px);margin:auto;padding:44px 0 30px}.brand{text-align:center;margin-bottom:30px}.logo-mark{position:relative;width:88px;height:88px;margin:0 auto 16px;display:grid;place-items:center;color:#071528;background:var(--primary);border-radius:24px 24px 24px 8px;box-shadow:0 16px 45px rgba(155,234,67,.22);transform:rotate(-2deg)}.logo-mark svg{width:43px;height:43px;stroke-width:1.8;transform:rotate(2deg)}.logo-road{position:absolute;left:13px;right:13px;bottom:14px;height:3px;background:#071528;opacity:.75}.brand h1{margin:0;font-size:clamp(2.4rem,8vw,3.65rem);line-height:.95;letter-spacing:-.075em;font-weight:820}.brand h1 span{color:var(--primary)}
.registration-card{background:rgba(255,255,255,.98);color:var(--card-foreground);border:1px solid rgba(255,255,255,.85);border-radius:28px;padding:clamp(24px,6vw,38px);box-shadow:0 28px 80px rgba(0,7,18,.42)}.card-heading{text-align:center;margin-bottom:28px}.eyebrow{margin:0 0 10px;color:#5da41b;font-size:.75rem;font-weight:800;letter-spacing:.18em}.card-heading h2{margin:0;font-size:clamp(1.55rem,5vw,2rem);line-height:1.12;letter-spacing:-.035em}.card-heading>p:last-child{margin:12px auto 0;max-width:390px;color:#607080;line-height:1.55;font-size:.96rem}
.registration-form{display:grid;gap:20px}.field-group{display:grid;gap:8px}.field-group label{color:#24394d;font-size:.9rem;font-weight:700}.input-wrap{position:relative}.input-wrap>svg{position:absolute;z-index:2;left:15px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:#6c7c89;pointer-events:none}.input-wrap input{height:54px;padding-left:46px;border-radius:14px;background:#f7f9fb;border-color:#d4dee6;font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}.input-wrap input:focus{background:#fff;border-color:#75c72b;box-shadow:0 0 0 4px rgba(117,199,43,.14)}.register-button{width:100%;height:56px;margin-top:2px;border-radius:14px;color:#071528;background:var(--primary);font-size:1rem;font-weight:800;box-shadow:0 12px 24px rgba(117,199,43,.2);transition:transform .2s,background .2s}.register-button:hover{background:#abf25e;transform:translateY(-1px)}.register-button:active{transform:translateY(1px)}.privacy-note{margin:-6px 0 0;text-align:center;color:#7b8894;font-size:.76rem;line-height:1.45}.form-message{margin:-6px 0;padding:10px 12px;border-radius:10px;font-size:.87rem}.form-message.error{background:#fff0f0;color:#a22626}
.success-panel{text-align:center;padding:12px 0 2px}.success-panel>span{width:64px;height:64px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;color:#176515;background:#dff8c5}.success-panel svg{width:30px;height:30px}.success-panel h3{margin:0;font-size:1.5rem}.success-panel p{margin:10px 0 24px;color:#607080}.success-panel button{height:46px;border-radius:12px}footer{position:relative;z-index:1;padding:0 20px 24px;text-align:center;color:rgba(220,232,241,.55);font-size:.78rem}
@media(max-width:520px){.content{width:min(92%,440px);padding-top:28px}.brand{margin-bottom:22px}.logo-mark{width:72px;height:72px;border-radius:20px 20px 20px 7px;margin-bottom:13px}.logo-mark svg{width:35px;height:35px}.registration-card{border-radius:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}input{width:100%;border:1px solid #d4dee6;padding:0 14px;outline:none;color:#0b1d30}button{cursor:pointer;border:1px solid transparent}button:disabled{cursor:wait;opacity:.65}button:focus-visible{outline:3px solid #579c20;outline-offset:3px}.success-panel button{padding:0 18px;background:white;border-color:#d4dee6;color:#0b1d30}

.auth-tabs{display:flex;gap:8px;margin-bottom:24px}.auth-tabs button{flex:1;padding:12px;border-radius:12px;background:#edf2f6;color:#0b1d30;font-weight:700}.auth-tabs button[aria-pressed=true]{background:#9bea43}.field-group>input{height:50px;border-radius:12px}.field-group>input:focus{border-color:#579c20;box-shadow:0 0 0 3px #9bea4333}small{color:#607080;font-size:.78rem;line-height:1.5}.secondary-button{background:#edf2f6;color:#0b1d30;padding:12px 16px;border-radius:12px;margin-top:12px}details{margin-top:24px}summary{cursor:pointer;color:#38542a;margin-bottom:16px}#message{margin:0 0 20px;background:#e9f8d8;color:#244c12}#message.error{background:#fff0f0;color:#a22626}#identity{overflow-wrap:anywhere;font-weight:700}#administration{margin-top:30px;border-top:1px solid #d9e2e9}#administration>p{color:#607080;font-size:.85rem;line-height:1.5}.user-card{padding:16px 0;border-bottom:1px solid #d9e2e9;overflow-wrap:anywhere}.user-card p{font-size:.85rem;line-height:1.6;color:#607080}.temporary{padding:16px;background:#e9f8d8;border-radius:12px;overflow-wrap:anywhere}.temporary code{font-size:1rem;user-select:all}.temporary p{font-size:.85rem}footer a{color:inherit}#account h3{margin:20px 0 0}#change-required{background:#fff6d8;margin:15px 0}
/* Shared harvest planning */
.content.wide{width:min(94%,1080px)}.wide .brand{margin-bottom:24px}.wide .logo-mark{width:62px;height:62px}.wide .brand h1{font-size:2.5rem}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-grid button{padding:22px 16px;text-align:left;border:1px solid #d4dee6;border-radius:16px;background:#f7f9fb;color:#0b1d30;min-height:116px}.role-grid button:hover{border-color:#75c72b;background:#f0fade}.role-grid strong,.role-grid span{display:block}.role-grid strong{font-size:1.05rem;margin-bottom:9px}.role-grid span{font-size:.83rem;line-height:1.5;color:#607080}.text-button{background:none;color:#38542a;padding:6px 0;margin-bottom:18px}.notice{background:#f0f7e8;color:#365021;padding:14px;border-radius:12px;font-size:.9rem;line-height:1.5}.account-line,.board-toolbar,.job-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.badge{display:inline-block;font-size:.77rem;background:#edf2f6;padding:7px 10px;border-radius:8px;line-height:1.4}.board-toolbar{margin:22px 0 12px}.board-toolbar h3{margin:0!important}.board-toolbar button{margin:0}.board-stats{display:flex;gap:12px;align-items:baseline;padding:18px;background:#0b2943;color:white;border-radius:14px;margin-bottom:22px}.board-stats strong{font-size:2rem}.workflow-panel,.job-card{border:1px solid #d9e2e9;border-radius:16px;padding:22px;margin:16px 0;background:#fff}.job-card h4,.workflow-panel h4{font-size:1.1rem;margin:0}.workflow-panel p,.job-card p{line-height:1.6;overflow-wrap:anywhere}.job-location{font-weight:700}.muted{color:#607080;font-size:.87rem}.preline{white-space:pre-line}.workflow-form{display:grid;gap:15px;max-width:640px;margin-top:16px}.workflow-form input,.workflow-form select,.workflow-form textarea{height:48px;border:1px solid #d4dee6;border-radius:10px;background:white;color:#0b1d30;width:100%;padding:10px 12px;font:inherit}.workflow-form textarea{height:90px;resize:vertical}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.request-state{background:#f5f8fa;padding:14px;border-radius:12px;overflow-wrap:anywhere}.request-state p{margin:7px 0 0;font-size:.9rem}.provider-actions{border-top:1px solid #d9e2e9;padding-top:10px}.timeline{padding-left:20px;color:#607080;font-size:.85rem;line-height:1.8}.empty-state{padding:25px;background:#f5f8fa;border-radius:14px;color:#607080;line-height:1.7}.state-ready,.state-completed{background:#e1f7c9;color:#285510}.state-loading,.state-arrived,.state-loaded{background:#dceffe;color:#164565}.state-cancelled{background:#fff0f0;color:#953535}.job-card>.secondary-button{margin-right:10px}.archive{margin-bottom:25px}#account>#open-password{margin-top:25px}#administration .user-card .secondary-button{margin-right:8px}#board-content h3{margin-top:25px!important}#workflow{border-bottom:1px solid #d9e2e9;padding-bottom:20px}@media(max-width:600px){.role-grid{grid-template-columns:1fr}.role-grid button{min-height:86px}.request-grid{grid-template-columns:1fr}.workflow-panel,.job-card{padding:16px}.wide .registration-card{padding:20px}.job-heading{align-items:flex-start}.board-toolbar{align-items:flex-start}.account-line{gap:4px}.workflow-form input{min-width:0}.content.wide{width:94%}}

.brand-logo{display:block;width:184px;height:auto;margin:0 auto 16px}.wide .brand-logo{width:144px}@media(max-width:520px){.brand-logo{width:160px}.wide .brand-logo{width:132px}}

.demo-notice{padding:12px 14px;border-radius:10px;background:#fff4cf;color:#745215;font-size:.9rem}.map-link{display:inline-block;text-decoration:none;margin:0 0 10px}.roster-search{width:100%;padding:12px;border:1px solid #d4dee6;border-radius:10px;font:inherit}.workflow-panel summary{line-height:1.5;overflow-wrap:anywhere}
