.portal-start{box-sizing:border-box;max-width:510px;margin:auto;padding:65px 24px 35px;min-height:100dvh;color:#24262d}.portal-wordmark{font-size:13px;letter-spacing:2px;font-weight:600;color:#4e525c}.portal-wordmark b{color:#ed1c24}.portal-start h1{font-size:35px;letter-spacing:-1px;line-height:1.2;margin:32px 0 12px}.portal-start>p{font-size:14px;color:#797d86;margin-bottom:28px}.portal-card{display:block;text-decoration:none;color:#262930;background:white;border:1px solid #e6e8ed;border-radius:16px;padding:22px;margin:13px 0}.portal-card>span{font-size:10px;letter-spacing:1.4px;color:#ce1e30;font-weight:600}.portal-card strong{display:block;font-size:20px;margin:10px 0 7px}.portal-card i{float:right;font-style:normal;color:#ed1c24}.portal-card small{font-size:12px;color:#777d87}.portal-card:hover{border-color:#ed1c24}.portal-staff{display:block;font-size:12px;color:#777d87;text-align:center;margin:30px 0}.portal-auth .auth-story{background:#ed1c24;color:white}.portal-auth .auth-story h1{font-size:40px;max-width:430px;line-height:1.15;letter-spacing:-1px}.portal-auth .auth-story p{color:#fff;opacity:.9}.portal-auth .auth-story small{color:#fff;opacity:.8}.portal-auth .auth-form .eyebrow{font-size:11px;color:#d51e33;letter-spacing:1px}.portal-auth .auth-form h1{font-size:28px}.portal-auth .auth-form>p.muted{font-size:14px;line-height:1.6}.portal-help{font-size:12px;color:#7c818b;line-height:1.5}.portal-back{font-size:12px;color:#7c818b;text-decoration:none}.portal-start a:focus-visible,.portal-back:focus-visible{outline:3px solid #ed1c24;outline-offset:4px}@media(max-width:700px){.portal-auth .auth-story{display:none}.portal-auth .auth-form{padding:28px 24px;max-width:440px;width:100%;box-sizing:border-box}.portal-auth{min-height:100dvh}.portal-auth .auth-form>p.muted{font-size:13px}.portal-start{padding-top:48px}.portal-start h1{font-size:32px}}
.portal-start .portal-card{display:flex;align-items:center;gap:16px;min-height:116px;margin:13px 0;padding:21px;border:1px solid #df2336;border-radius:17px;background:#e52539;color:#fff;box-shadow:0 8px 23px #c51b2b19;box-sizing:border-box}
.portal-start .portal-card:hover{background:#d91e32;border-color:#d91e32;transform:translateY(-1px)}
.portal-start .portal-card-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:13px;background:#ffffff26;color:#fff;letter-spacing:0}
.portal-card-icon svg{width:25px;height:25px}
.portal-start .portal-card-copy{display:grid;gap:4px;min-width:0;flex:1;color:#fff;letter-spacing:0}
.portal-start .portal-card-copy strong{margin:0;color:#fff;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.4px}
.portal-start .portal-card-copy small{color:#fff;font-size:12px;font-weight:400;line-height:1.4;opacity:.85}
.portal-start .portal-card-arrow{flex:0 0 auto;color:#fff;font-size:22px;font-weight:400;letter-spacing:0}
@media(max-width:370px){.portal-start .portal-card{gap:12px;padding:17px}.portal-start .portal-card-copy strong{font-size:20px}.portal-start .portal-card-icon{flex-basis:42px;width:42px;height:42px}}
html:has(.portal-landing){scrollbar-gutter:auto;background:#dd2037}
body:has(.portal-landing){background:#dd2037}
#app:has(>.portal-landing){position:relative;isolation:isolate;min-height:100dvh;background:#dd2037}
#app:has(>.portal-landing)::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/assets/landing-food-pattern.svg') center top / 390px 844px repeat-y;mask-image:linear-gradient(to bottom,#000 0 21%,transparent 29% 82%,#000 90%)}
.portal-landing{position:relative;z-index:1;background:transparent;color:#fff}
.portal-landing .portal-wordmark,.portal-landing .portal-wordmark b,.portal-landing h1{color:#fff}
.portal-landing>p{color:#ffe5e9}
.portal-landing .portal-card{min-height:94px;padding:17px 19px;background:#ffffff24;border-color:#ffffff70;box-shadow:0 9px 24px #9011241c}
.portal-landing .portal-card:hover{background:#ffffff38;border-color:#fffc}
.portal-landing .portal-card-icon{width:42px;height:42px;flex-basis:42px;background:#ffffff26;color:#fff}
.portal-landing .portal-card-icon svg{width:23px;height:23px}
.portal-landing .portal-card-copy strong{font-size:18px;color:#fff}
.portal-landing .portal-card-copy small{font-size:11px;color:#fff;opacity:.82}
.portal-landing .portal-card-arrow{font-size:19px;color:#fff}
.portal-landing .portal-staff{text-align:left}
.portal-landing a:focus-visible{outline-color:#fff}
.portal-auth{position:relative}
.portal-auth .auth-story h1{font-size:34px}
.portal-auth .auth-form h1{font-size:24px}
.portal-auth .auth-form>p.muted{font-size:13px}
.portal-auth .auth-form .eyebrow{font-size:10px}
@media(max-width:700px){.portal-auth .auth-form{padding-top:32px}}
.portal-auth .portal-back{display:grid;place-items:center;width:40px;height:40px;margin:0 0 24px;border:1px solid #dfe4ec;border-radius:12px;background:#fff;color:#566174;text-decoration:none}
.portal-auth .portal-back svg{width:19px;height:19px}
.portal-auth .portal-back:hover{border-color:#ed1c24;color:#d51e33}
.portal-auth .portal-auth-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 4px}
.portal-auth .portal-auth-options .remember-me{margin:0;min-height:36px;white-space:nowrap}
.portal-auth .portal-forgot{flex:none;font-size:12px;font-weight:500;color:#566174;text-decoration:underline;text-underline-offset:3px}
.portal-auth .portal-forgot:hover{color:#d51e33}
.portal-auth .portal-recovery{margin:8px 0 4px;font-size:12px;line-height:1.6;color:#626b7a}
.portal-auth .portal-recovery[hidden]{display:none}
.portal-auth .portal-forgot:focus-visible{outline:3px solid #ed1c24;outline-offset:4px}
