@font-face{font-family:Manrope;src:url(/brand/manrope-latin.woff2)format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--red:#b30a0a;--red-hover:#920505;--muted:#707070;--border:#e8e8e8;background:#f6f6f6;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #b30a0a80}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;font-weight:750}h1{font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.2}h2{font-size:1.13rem;line-height:1.35}h3{font-size:1.05rem;line-height:1.4}p{line-height:1.7}.icon{flex-shrink:0;display:block}.muted{color:var(--muted)}.eyebrow{color:var(--red);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:.62rem;font-weight:800;line-height:1.5;display:flex}.eyebrow:before{content:"//";letter-spacing:-.12em;margin-right:3px;font-size:.85rem}.red-rule{background:var(--red);width:26px;height:3px;display:block}.brand{align-items:center;gap:14px;display:flex}.brand-logo{flex-shrink:0;width:64px;height:auto;display:block}.brand-copy strong{letter-spacing:.015em;font-size:.86rem;font-weight:800;display:block}.brand-copy span{color:var(--muted);margin-top:4px;font-size:.65rem;display:block}.brand-light{color:#fff}.brand-light .brand-copy span{color:#b9b9b9}.button{border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:18px;padding:14px 22px;font-size:.8rem;font-weight:700;transition:background .15s;display:inline-flex}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-hover)}.card{border:1px solid var(--border);background:#fff;border-radius:4px}.login-layout{grid-template-columns:1.08fr 1fr;min-height:100dvh;display:grid}.login-story{isolation:isolate;color:#fff;background:#080808;flex-direction:column;padding:48px clamp(32px,5.5vw,90px);display:flex;position:relative;overflow:hidden}.login-story:before{content:"";z-index:-2;opacity:.67;background:url(/brand/brasserie-bretagne.png) 50%/cover no-repeat;position:absolute;inset:0}.login-story:after{content:"";z-index:-1;background:linear-gradient(#0008,#0001 30%,#000c 80%,#000e);position:absolute;inset:0}.login-story .brand-logo{width:76px}.story-copy{margin:auto 0 65px;padding-top:150px}.story-copy .eyebrow{color:#f56868}.story-copy h2{letter-spacing:-.055em;margin-bottom:22px;font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.14}.story-copy>p:last-child{color:#c9c9c9;max-width:370px;margin-bottom:0;font-size:.87rem}.story-footer{color:#c2c2c2;align-items:center;gap:16px;font-size:.64rem;display:flex}.login-form-area{background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:52px 50px 28px;display:flex}.login-form-wrap{width:min(100%,370px);margin:auto 0;padding:35px 0}.login-form-wrap h1{margin-bottom:14px;font-size:2.5rem}.login-intro{max-width:300px;margin-bottom:38px;font-size:.87rem}label{margin-bottom:9px;font-size:.75rem;font-weight:700;display:block}input{color:#171717;background:#fff;border:1px solid #d9d9d9;border-radius:3px;width:100%;min-height:49px;margin-bottom:23px;padding:13px 14px;font-size:.83rem}input::placeholder{color:#858585}input:hover{border-color:#b6b6b6}input:focus{border-color:var(--red)}.login-button{justify-content:space-between;width:100%;margin-top:4px}.login-help{color:var(--muted);margin:28px 0 0;font-size:.71rem;line-height:1.85}.login-bottom{width:100%;color:var(--muted);justify-content:space-between;align-items:center;gap:24px;font-size:.62rem;display:flex}.login-bottom>span,.login-bottom a{align-items:center;gap:8px;display:flex}.login-bottom .icon{width:14px;height:14px}.login-bottom a{white-space:nowrap;text-decoration:none}.login-bottom a:hover{color:var(--red)}.error-message,.notice{border-radius:3px;padding:12px 14px;font-size:.78rem;line-height:1.7}.error-message{color:#8f0808;border-left:3px solid var(--red);background:#fff0f0}.notice{color:#575757;background:#f3f3f3}.setup-screen{max-width:780px;margin:0 auto;padding:60px 28px}.setup-card{margin-top:50px;padding:36px}.setup-card p:not(.eyebrow){color:var(--muted);font-size:.9rem}.portal-layout{flex-direction:column;min-height:100dvh;display:flex}.portal-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;display:flex}.portal-account{align-items:center;gap:12px;min-width:0;display:flex}.avatar{width:34px;height:34px;color:var(--red);background:#f5eded;border-radius:50%;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:750;display:grid}.user-email{text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-size:.72rem;font-weight:650;display:block;overflow:hidden}.logout-button{border:1px solid var(--border);color:#626262;background:#fff;border-radius:3px;align-items:center;gap:8px;margin-left:8px;padding:11px 13px;font-size:.7rem;display:flex}.logout-button:hover{color:var(--red);background:#fff3f3;border-color:#efd6d6}.logout-button .icon{width:17px;height:17px}.dashboard{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:56px 40px 32px}.dashboard:focus{outline:none}.welcome-panel{isolation:isolate;color:#fff;background:#090909;border-radius:4px;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}.welcome-copy{z-index:2;width:65%;padding:40px;position:relative}.welcome-copy .eyebrow{color:#f17676;margin-bottom:18px}.welcome-copy h1{letter-spacing:-.045em;margin-bottom:18px;font-size:clamp(2rem,3vw,2.65rem);line-height:1.17}.welcome-copy>p:not(.eyebrow){color:#c2c2c2;overflow-wrap:anywhere;margin-bottom:0;font-size:.82rem}.welcome-copy strong{font-weight:650}.welcome-photo{z-index:-1;background:linear-gradient(90deg,#090909 0%,#09090955 38%,#09090910 100%),url(/brand/brasserie-bretagne.png) 50% 56%/cover no-repeat;position:absolute;inset:0 0 0 36%}.welcome-accent{background:var(--red);width:5px;height:100%;position:absolute;top:0;right:0}.dashboard-footer{color:#737373;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1240px;margin:0 auto;padding:24px 40px;font-size:.6rem;display:flex}.dashboard-footer a{align-items:center;gap:7px;text-decoration:none;display:inline-flex}.dashboard-footer a:hover{color:var(--red)}.dashboard-footer .icon{width:13px;height:13px}.access-card{justify-content:center;align-items:center;gap:12px;min-height:280px;padding:30px;display:flex}.access-card p{color:var(--muted);margin:0;font-size:.83rem}.loading-dot{background:var(--red);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.3}}.access-error{padding:36px}.access-error h1{font-size:1.65rem}.access-error>p:not(.eyebrow){color:var(--muted);max-width:590px;font-size:.84rem}.access-error .button{margin-top:10px}.skip-link{z-index:10;border:1px solid var(--red);background:#fff;border-radius:3px;padding:15px;font-size:.8rem;position:fixed;top:-100px;left:20px}.skip-link:focus{top:20px}@media (width<=980px){.login-form-area{padding:40px 35px 25px}.login-bottom{flex-direction:column;align-items:flex-start;gap:15px}.login-story{padding:35px}.story-copy h2{font-size:2.65rem}.story-footer{align-items:flex-start;font-size:.6rem}.story-footer .red-rule{flex-shrink:0;margin-top:5px}}@media (width<=760px){.login-layout{grid-template-columns:1fr}.login-story{padding:24px}.login-story .brand-logo{width:56px}.login-story:before{opacity:.4;background-position:50% 40%}.story-copy,.story-footer{display:none}.login-form-area{min-height:calc(100dvh - 104px);padding:36px 28px 25px}.login-form-wrap{max-width:390px;padding:25px 0 40px}.login-form-wrap h1{font-size:2.1rem}.login-intro{margin-bottom:30px}.login-bottom{flex-direction:row;gap:12px;width:min(100%,390px);font-size:.58rem}.portal-header{gap:16px;padding:20px 24px}.portal-header .brand-logo{width:52px}.portal-header .brand-copy strong{font-size:.82rem}.portal-header .brand-copy span{font-size:.62rem}.portal-account .avatar,.portal-account .user-email{display:none}.logout-button{margin:0;padding:10px;font-size:.66rem}.dashboard{padding:32px 24px}.welcome-panel{min-height:260px}.welcome-copy{width:100%;padding:28px}.welcome-copy h1{font-size:2rem}.welcome-copy>p:not(.eyebrow){max-width:270px;font-size:.75rem}.welcome-photo{opacity:.5;background-position:50%,58%;left:16%}.welcome-accent{width:3px}.dashboard-footer{padding:24px;font-size:.57rem}.access-error{padding:28px}.access-error h1{font-size:1.45rem}.setup-screen{padding:30px 24px}.setup-card{padding:25px}}@media (width<=420px){.portal-header{gap:10px;padding:20px 18px}.portal-header .brand{gap:11px}.portal-header .brand-copy strong{font-size:.76rem}.logout-button{padding:10px 8px}.dashboard{padding:26px 20px}.welcome-copy{padding:26px 23px}.welcome-copy h1{font-size:1.85rem}.dashboard-footer{padding:24px 20px}.login-bottom{flex-direction:column;gap:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
