/*
 * Rail Café — customer account pages (my-orders / login / reservation / survey).
 * This file is intentionally reused from the shared "moon" markup structure (.flr-mo*, .mn-login__*,
 * .mn-reservation__*). It works unmodified in this theme because root.css defines rail-palette aliases
 * for every --mn-*, --mo-* and --flr-* custom property those selectors rely on (blue accent instead of
 * gold, ink/steel instead of space/charcoal, etc.) — see the "legacy aliases" block in root.css.
 */
.flr-mo{position:relative;width:min(660px,calc(100% - 1.2rem));min-height:70dvh;margin:0 auto;padding:clamp(2rem,7vw,5rem) 0 calc(var(--mn-nav-h) + 2rem);overflow-x:clip;color:var(--mn-silver)}
.flr-mo::before{content:"";position:absolute;z-index:-1;top:1rem;left:-4rem;width:170px;aspect-ratio:1;background:url("../../images/train-lineart.png") center/contain no-repeat;opacity:.05;filter:brightness(0) invert(1);pointer-events:none}
.flr-mo-top{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1.5rem}.flr-mo-back{display:grid;place-items:center;width:42px;aspect-ratio:1;flex:none;border:1px solid var(--mn-line);border-radius:50%;color:var(--mn-silver)}.flr-mo-top__text h1{margin:0;color:var(--mn-white);font:500 clamp(1.7rem,5vw,2.7rem) var(--mn-font-display)}.flr-mo-top__text p{margin:.25rem 0;color:var(--mn-muted)}
.flr-mo-panel,.flr-mo-auth,.flr-mo-card,.flr-mo-stat,.flr-mo-hero,.flr-mo-summary,.flr-mo-timeline,.flr-mo-survey,.flr-mo-memory{border:1px solid var(--mn-line);border-radius:var(--mn-r-md);background:linear-gradient(145deg,rgba(29,32,38,.83),rgba(17,18,22,.9));box-shadow:0 18px 50px rgba(0,0,0,.24)}
.flr-mo-auth{display:flex;align-items:center;gap:.8rem;padding:.85rem;margin-bottom:1rem}.flr-mo-auth__icon{display:grid;place-items:center;width:42px;aspect-ratio:1;border:1px solid var(--mn-line);border-radius:50%;color:var(--mn-gold)}.flr-mo-auth__body{display:grid;flex:1}.flr-mo-auth__body strong{color:var(--mn-white)}.flr-mo-auth__body span{color:var(--mn-muted);font-size:.72rem}.flr-mo-auth__cta{padding:.45rem .8rem;border:1px solid var(--mn-line);border-radius:var(--mn-r-pill);background:transparent;color:var(--mn-silver);font-size:.72rem;cursor:pointer}
.flr-mo-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0}.flr-mo-stat{display:grid;justify-items:center;padding:.8rem}.flr-mo-stat strong{color:var(--mn-white);font:600 1.2rem var(--mn-font-display)}.flr-mo-stat span{color:var(--mn-muted);font-size:.68rem}
.flr-mo-filters{display:flex;gap:.4rem;margin:1rem 0;overflow-x:auto}.flr-mo-filter{padding:.5rem .85rem;border:1px solid var(--mn-line);border-radius:var(--mn-r-pill);background:transparent;color:var(--mn-muted);white-space:nowrap;cursor:pointer}.flr-mo-filter.is-active{border-color:var(--mn-gold);color:var(--mn-gold)}
.flr-mo-list{display:grid;gap:.7rem}.flr-mo-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:1rem;color:var(--mn-silver);transition:transform var(--mn-transition),border-color var(--mn-transition)}.flr-mo-card:hover{transform:translateY(-3px);border-color:rgba(217,220,226,.35)}.flr-mo-card__icon{display:grid;place-items:center;width:48px;aspect-ratio:1;border:1px solid var(--mn-line);border-radius:50%;color:var(--mn-gold)}.flr-mo-card__main{display:grid}.flr-mo-card__main strong,.flr-mo-card__title{color:var(--mn-white)}.flr-mo-card__meta,.flr-mo-card__main span{color:var(--mn-muted);font-size:.7rem}.flr-mo-chip{display:inline-flex;padding:.2rem .55rem;border:1px solid var(--mn-line);border-radius:var(--mn-r-pill);font-size:.62rem}.flr-mo-pagination{margin-top:1.2rem}.flr-mo-empty{padding:3rem 1rem;text-align:center;color:var(--mn-muted)}
.flr-mo-hero{padding:1.5rem;text-align:center}.flr-mo-hero__ring{display:grid;place-items:center;width:84px;aspect-ratio:1;margin:0 auto 1rem;border:1px solid var(--mn-line);border-radius:50%;color:var(--mn-gold);box-shadow:inset -12px -10px 26px rgba(0,0,0,.45)}.flr-mo-hero h2{margin:.25rem;color:var(--mn-white)}.flr-mo-hero p{color:var(--mn-muted)}
.flr-mo-timeline{margin-top:1rem;padding:1rem;list-style:none}.flr-mo-timeline__step{position:relative;padding:0 2rem 1.2rem 0;color:var(--mn-muted)}.flr-mo-timeline__step::before{content:"";position:absolute;right:.48rem;top:1rem;bottom:-.2rem;width:1px;background:var(--mn-line)}.flr-mo-timeline__step:last-child::before{display:none}.flr-mo-timeline__dot{position:absolute;right:0;top:.2rem;width:17px;aspect-ratio:1;border:1px solid var(--mn-line);border-radius:50%;background:var(--mn-stone)}.flr-mo-timeline__step.is-done .flr-mo-timeline__dot,.flr-mo-timeline__step.is-active .flr-mo-timeline__dot{border-color:var(--mn-gold);background:var(--mn-gold)}.flr-mo-timeline__step strong{display:block;color:var(--mn-silver)}
.flr-mo-summary,.flr-mo-survey,.flr-mo-memory{margin-top:1rem;padding:1rem}.flr-mo-summary__row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--mn-line)}.flr-mo-summary__row:last-child{border:0}.flr-mo-summary__row span{color:var(--mn-muted)}.flr-mo-summary__row strong{color:var(--mn-white)}
.flr-mo-form{display:grid;gap:.7rem;padding:1.2rem}.flr-mo-form .form-label{margin-top:.35rem;color:var(--mn-muted);font-size:.75rem}.flr-mo-btn{min-height:48px;padding:.6rem 1rem;border:1px solid var(--mn-line);border-radius:var(--mn-r-pill);background:transparent;color:var(--mn-silver);cursor:pointer}.flr-mo-btn--primary{border-color:var(--mn-silver);background:var(--mn-silver);color:var(--mn-space);font-weight:700}.flr-mo-btn--block{width:100%;margin-top:.5rem}.flr-mo-alert{margin-bottom:1rem;padding:.8rem;border:1px solid var(--mn-line);border-radius:var(--mn-r-sm)}.flr-mo-alert--error{border-color:rgba(190,99,99,.45);color:#dfa1a1}.flr-mo-alert--success{border-color:rgba(216,194,122,.4);color:var(--mn-gold)}
.mn-login__panel{display:grid;gap:.9rem}
.mn-login #loginStep1,.mn-login #loginStep2,.mn-login #loginStep3{display:grid;gap:.55rem}
.mn-login .form-label{margin:0}
.mn-login .flr-mo-btn--block{margin-top:.25rem}
.mn-login .mn-input{width:100%}
.mn-login__hint,.mn-login__debug,.rc-mo__hint,.rc-mo__debug{margin:0;color:var(--mn-muted);font-size:.75rem;line-height:1.6;word-break:break-word}.mn-login__error,.rc-mo__error{margin:0;min-height:1.2rem;color:#dfa1a1;font-size:.78rem;line-height:1.5;word-break:break-word}.mn-login__change,.mn-login__resend,.rc-mo__change,.rc-mo__resend{width:100%;border:0;background:transparent;color:var(--mn-muted);cursor:pointer;transition:color var(--mn-transition)}.mn-login__change,.rc-mo__change{margin-top:.15rem;min-height:44px;font-size:.78rem}.rc-mo__change:hover,.rc-mo__resend:not(:disabled):hover{color:var(--mn-white)}.rc-mo__resend:disabled{opacity:.55;cursor:not-allowed}
.mn-reservation__hours{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(68px,1fr))!important;gap:.45rem!important;max-height:15rem;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.15rem}.mn-reservation__tables{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(148px,1fr))!important;gap:.45rem!important}.mn-reservation__hour,.mn-reservation__table{position:relative;min-width:0;padding:.65rem;border:1px solid var(--mn-line)!important;border-radius:var(--mn-r-sm)!important;background:rgba(6,7,10,.35)!important;color:var(--mn-muted)!important}.mn-reservation__hour{display:flex;align-items:center;justify-content:center;min-height:2.9rem;text-align:center;font-variant-numeric:tabular-nums}.mn-reservation__hour input,.mn-reservation__table input{position:absolute;opacity:0}.mn-reservation__hour.is-selected,.mn-reservation__table.is-selected,.mn-reservation__hour:has(input:checked),.mn-reservation__table:has(input:checked){border-color:var(--mn-gold)!important;color:var(--mn-white)!important}.mn-reservation__table span{display:block;overflow:hidden;text-overflow:ellipsis}.mn-reservation__table-cap,.mn-reservation__table-status,.mn-reservation__date-hint,.mn-reservation__hint{color:var(--mn-muted)!important;font-size:.68rem!important}
@media(max-width:520px){.flr-mo{width:min(100% - 1rem,660px)}.flr-mo-stats{grid-template-columns:repeat(3,1fr)}.flr-mo-card{grid-template-columns:auto 1fr}.flr-mo-card>*:last-child{grid-column:2}.mn-reservation__hours{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))!important}.mn-reservation__tables{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important}}
