/* BOORAN — my-orders / login / reservation / survey (flr-mo*) */

.flr-mo {
    --mo-bg: transparent;
    --mo-surface: var(--bn-surface-card);
    --mo-border: rgba(255, 255, 255, 0.12);
    --mo-amber: var(--bn-crimson-vibrant);
    --mo-text: #FFFFFF;
    --mo-muted: #94A3B8;
    min-height: 60dvh;
    max-width: 560px;
    margin: 0 auto;
    padding: 1rem 1rem 1.5rem;
    color: var(--mo-text);
    font-family: var(--bn-font-body);
    background: transparent;
}

.flr-mo-top {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--mo-border);
}

.flr-mo-back {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    color: #FFFFFF;
    clip-path: polygon(
        0 0,
        calc(100% - 8px) 0,
        100% 8px,
        100% 100%,
        8px 100%,
        0 calc(100% - 8px)
    );
    transition: background var(--bn-transition), border-color var(--bn-transition);
}

.flr-mo-back:hover,
.flr-mo-back:focus-visible {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.5), rgba(20, 24, 32, 0.85));
    color: #FFFFFF;
    outline: none;
}

.flr-mo-top__text h1 {
    margin: 0 0 0.25rem;
    font-family: var(--bn-font-display);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #FFFFFF;
}

.flr-mo-top__text p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--mo-muted);
    line-height: 1.6;
}

.flr-mo-top__text .small {
    color: var(--bn-gold) !important;
    font-weight: 600;
}

.flr-mo-top__text .np-kicker,
.flr-mo-top__text .at-kicker {
    display: inline-flex;
    margin-bottom: 0.25rem;
}

/* Auth strip */
.flr-mo-auth {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    box-shadow: var(--bn-bevel);
    color: #FFFFFF;
}

.flr-mo-auth__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid var(--mo-border);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.4), rgba(20, 24, 32, 0.85));
    color: var(--bn-gold);
    font-size: 0.95rem;
    flex-shrink: 0;
}

.flr-mo-auth__body {
    flex: 1;
    min-width: 0;
}

.flr-mo-auth__body strong {
    display: block;
    font-size: 0.9rem;
    color: #FFFFFF;
}

.flr-mo-auth__body span {
    font-size: 0.75rem;
    color: var(--mo-muted);
}

.flr-mo-auth__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.35rem 0.95rem;
    border: 1px solid var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.75), rgba(66, 11, 20, 0.92));
    color: #FFFFFF;
    font-family: var(--bn-font-ui);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    clip-path: polygon(
        0 0,
        calc(100% - 8px) 0,
        100% 8px,
        100% 100%,
        8px 100%,
        0 calc(100% - 8px)
    );
    transition: background var(--bn-transition), color var(--bn-transition);
}

.flr-mo-auth__cta:hover,
.flr-mo-auth__cta:focus-visible {
    background: linear-gradient(135deg, var(--bn-crimson-vibrant), var(--bn-burgundy));
    box-shadow: 0 4px 12px var(--bn-burgundy-glow);
    color: #FFFFFF;
    outline: none;
}

/* Stats */
.flr-mo-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.flr-mo-stat {
    padding: 0.75rem 0.5rem;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    box-shadow: var(--bn-bevel);
    text-align: center;
}

.flr-mo-stat strong {
    display: block;
    font-family: var(--bn-font-display);
    font-size: 1.2rem;
    font-weight: 700;
    color: #FFFFFF;
}

.flr-mo-stat span {
    font-size: 0.72rem;
    color: var(--mo-muted);
}

/* Filters */
.flr-mo-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.flr-mo-filter {
    min-height: 40px;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    color: var(--mo-muted);
    font-family: var(--bn-font-ui);
    font-size: 0.82rem;
    cursor: pointer;
    transition: border-color var(--bn-transition), background var(--bn-transition), color var(--bn-transition);
}

.flr-mo-filter.is-active,
.flr-mo-filter:hover,
.flr-mo-filter:focus-visible {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.75), rgba(66, 11, 20, 0.92));
    color: #FFFFFF;
    box-shadow: 0 4px 12px var(--bn-burgundy-glow);
    outline: none;
}

/* Order cards */
.flr-mo-list {
    display: grid;
    gap: 0.75rem;
}

.flr-mo-card {
    display: grid;
    gap: 0.65rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--bn-bevel);
    transition: border-color var(--bn-transition), background var(--bn-transition), transform var(--bn-transition);
}

.flr-mo-card:hover,
.flr-mo-card:focus-visible {
    border-color: rgba(255, 255, 255, 0.28);
    background: linear-gradient(150deg, #222836 0%, #171a23 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55);
    outline: none;
}

.flr-mo-card.is-hidden {
    display: none;
}

.flr-mo-card__head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.flr-mo-card__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    color: var(--bn-gold);
    flex-shrink: 0;
}

.flr-mo-card__icon--success {
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.4);
    color: #34d399;
}

.flr-mo-card__icon--danger {
    color: #f87171;
    border-color: rgba(239, 68, 68, 0.4);
    background: rgba(239, 68, 68, 0.15);
}

.flr-mo-card__icon--warning,
.flr-mo-card__icon--info,
.flr-mo-card__icon--primary {
    color: var(--bn-gold);
}

.flr-mo-card__title {
    flex: 1;
    min-width: 0;
}

.flr-mo-card__title strong {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #FFFFFF;
}

.flr-mo-card__badge {
    display: inline-flex;
    margin-top: 0.2rem;
    padding: 0.15rem 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.72rem;
    color: #CBD5E1;
    background: rgba(255, 255, 255, 0.04);
}

.flr-mo-card__badge--success {
    border-color: rgba(16, 185, 129, 0.4);
    color: #6ee7b7;
    background: rgba(16, 185, 129, 0.15);
}

.flr-mo-card__badge--danger {
    border-color: rgba(239, 68, 68, 0.4);
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.15);
}

.flr-mo-card__badge--warning,
.flr-mo-card__badge--info,
.flr-mo-card__badge--primary {
    border-color: var(--bn-crimson-vibrant);
    color: #FFFFFF;
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.65), rgba(66, 11, 20, 0.85));
}

.flr-mo-card__chevron {
    opacity: 0.4;
    font-size: 0.75rem;
    color: #CBD5E1;
}

.flr-mo-card__progress {
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.flr-mo-card__progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--bn-burgundy), var(--bn-crimson-vibrant));
    box-shadow: 0 0 8px var(--bn-burgundy-glow);
}

.flr-mo-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.flr-mo-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 28px;
    padding: 0.15rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--bn-surface-metal);
    font-size: 0.74rem;
    color: #CBD5E1;
}

.flr-mo-chip--memory {
    border-color: var(--bn-crimson-vibrant);
    color: #FFFFFF;
    background: rgba(186, 38, 64, 0.2);
}

.flr-mo-card__preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.flr-mo-preview-item {
    font-size: 0.76rem;
    color: #94A3B8;
    padding: 0.15rem 0.45rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(255, 255, 255, 0.04);
}

.flr-mo-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.flr-mo-card__price {
    font-family: var(--bn-font-display);
    font-weight: 700;
    font-size: 0.98rem;
    color: var(--bn-gold);
}

.flr-mo-card__date {
    font-size: 0.72rem;
    color: #64748B;
}

/* Empty */
.flr-mo-empty {
    padding: 2.5rem 1rem;
    text-align: center;
    border: 1px dashed rgba(255, 255, 255, 0.15);
    background: var(--mo-surface);
    color: var(--mo-muted);
}

.flr-mo-empty__icon {
    font-size: 2rem;
    color: var(--bn-gold);
    margin-bottom: 0.65rem;
}

.flr-mo-empty h2 {
    margin: 0 0 0.4rem;
    font-family: var(--bn-font-display);
    font-size: 1.2rem;
    color: #FFFFFF;
}

.flr-mo-empty p {
    margin: 0 0 1.2rem;
    color: var(--mo-muted);
    font-size: 0.88rem;
}

.flr-mo-empty__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 48px;
    padding: 0.7rem 1.4rem;
    border: 1px solid var(--bn-crimson-vibrant);
    background: linear-gradient(160deg, var(--bn-burgundy-soft), var(--bn-burgundy-deep));
    color: #FFFFFF;
    font-weight: 700;
    text-decoration: none;
    clip-path: polygon(
        0 0,
        calc(100% - 12px) 0,
        100% 12px,
        100% 100%,
        12px 100%,
        0 calc(100% - 12px)
    );
    box-shadow: 0 4px 14px var(--bn-burgundy-glow);
}

.flr-mo-empty__cta:hover,
.flr-mo-empty__cta:focus-visible {
    background: linear-gradient(160deg, var(--bn-crimson-vibrant), var(--bn-burgundy));
    color: #FFFFFF;
    outline: none;
}

/* Show: hero + timeline */
.flr-mo-hero {
    display: grid;
    justify-items: center;
    gap: 0.55rem;
    padding: 1.5rem 1rem;
    margin-bottom: 1.1rem;
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    box-shadow: var(--bn-bevel);
    text-align: center;
}

.flr-mo-hero__ring {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border: 1px solid var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.4), rgba(20, 24, 32, 0.85));
    color: var(--bn-gold);
    font-size: 1.5rem;
}

.flr-mo-hero__ring--pending {
    border-style: dashed;
    color: var(--bn-gold);
}

.flr-mo-hero__ring--done {
    background: linear-gradient(135deg, var(--bn-crimson-vibrant), var(--bn-burgundy));
    color: #FFFFFF;
    box-shadow: 0 0 16px var(--bn-burgundy-glow);
}

.flr-mo-hero__ring--cancelled {
    border-color: rgba(239, 68, 68, 0.4);
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.flr-mo-hero h2 {
    margin: 0;
    font-family: var(--bn-font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: #FFFFFF;
}

.flr-mo-hero p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--mo-muted);
    max-width: 28rem;
}

.flr-mo-timeline {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    box-shadow: var(--bn-bevel);
}

.flr-mo-timeline__step {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    opacity: 0.45;
}

.flr-mo-timeline__step:last-child {
    border-bottom: 0;
}

.flr-mo-timeline__step.is-done,
.flr-mo-timeline__step.is-active {
    opacity: 1;
}

.flr-mo-timeline__dot {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--mo-border);
    background: #141822;
    color: var(--mo-muted);
    flex-shrink: 0;
    font-size: 0.85rem;
}

.flr-mo-timeline__step.is-active .flr-mo-timeline__dot {
    border-color: var(--bn-crimson-vibrant);
    background: var(--bn-crimson-vibrant);
    color: #FFFFFF;
    box-shadow: 0 0 12px var(--bn-burgundy-glow);
}

.flr-mo-timeline__step.is-done .flr-mo-timeline__dot {
    background: var(--bn-burgundy);
    border-color: var(--bn-burgundy);
    color: #FFFFFF;
}

.flr-mo-timeline__label strong {
    display: block;
    font-size: 0.88rem;
    color: #FFFFFF;
}

.flr-mo-timeline__label span {
    font-size: 0.75rem;
    color: var(--mo-muted);
}

/* Panels */
.flr-mo-panel {
    margin-bottom: 0.95rem;
    padding: 1.1rem;
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    box-shadow: var(--bn-bevel);
}

.flr-mo-panel__title {
    margin: 0 0 0.85rem;
    font-family: var(--bn-font-display);
    font-size: 1rem;
    font-weight: 700;
    color: #FFFFFF;
}

.flr-mo-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.flr-mo-items li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.88rem;
    color: #FFFFFF;
}

.flr-mo-items li:last-child {
    border-bottom: 0;
}

.flr-mo-qty {
    color: var(--bn-gold);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.flr-mo-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem 1rem;
    margin: 0;
}

.flr-mo-summary div {
    display: grid;
    gap: 0.15rem;
}

.flr-mo-summary dt {
    margin: 0;
    font-size: 0.74rem;
    color: var(--mo-muted);
}

.flr-mo-summary dd {
    margin: 0;
    font-size: 0.88rem;
    color: #FFFFFF;
    font-weight: 600;
}

.flr-mo-summary__total {
    grid-column: 1 / -1;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.35rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--mo-border);
    font-size: 0.95rem;
}

.flr-mo-summary__total strong {
    font-family: var(--bn-font-display);
    font-size: 1.05rem;
}

/* Survey / memory CTA */
.flr-mo-survey {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    margin-bottom: 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: var(--mo-surface);
    box-shadow: var(--bn-bevel);
    color: inherit;
    text-decoration: none;
    transition: background var(--bn-transition), border-color var(--bn-transition);
}

.flr-mo-survey:hover,
.flr-mo-survey:focus-visible {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.35), rgba(20, 24, 32, 0.85));
    outline: none;
}

.flr-mo-survey__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: var(--bn-surface-metal);
    color: var(--bn-gold);
    flex-shrink: 0;
}

.flr-mo-survey__text {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: 0.15rem;
}

.flr-mo-survey__text strong {
    font-size: 0.92rem;
    color: #FFFFFF;
}

.flr-mo-survey__text span {
    font-size: 0.78rem;
    color: var(--mo-muted);
}

.flr-mo-memory-cta .flr-mo-survey__icon {
    background: linear-gradient(135deg, var(--bn-burgundy), var(--bn-crimson-vibrant));
    color: #FFFFFF;
}

.flr-mo-memory__invite {
    margin: 0 0 0.85rem;
    font-size: 0.88rem;
    color: var(--mo-muted);
    line-height: 1.65;
}

/* Buttons mapped to cut-corner */
.flr-mo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.7rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: var(--bn-surface-metal);
    color: #FFFFFF;
    font-family: var(--bn-font-ui);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    clip-path: polygon(
        0 0,
        calc(100% - var(--bn-cut)) 0,
        100% var(--bn-cut),
        100% 100%,
        var(--bn-cut) 100%,
        0 calc(100% - var(--bn-cut))
    );
    transition: background var(--bn-transition), border-color var(--bn-transition), color var(--bn-transition);
}

.flr-mo-btn--primary {
    background: linear-gradient(160deg, var(--bn-burgundy-soft), var(--bn-burgundy-deep)) !important;
    border-color: var(--bn-crimson-vibrant) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 16px var(--bn-burgundy-glow) !important;
}

.flr-mo-btn--block {
    width: 100%;
}

.flr-mo-btn:hover,
.flr-mo-btn:focus-visible {
    border-color: rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, #252b38, #181c24);
    color: #FFFFFF;
    outline: none;
}

.flr-mo-btn--primary:hover,
.flr-mo-btn--primary:focus-visible {
    background: linear-gradient(160deg, var(--bn-crimson-vibrant), var(--bn-burgundy)) !important;
    box-shadow: 0 6px 20px rgba(186, 38, 64, 0.6) !important;
    color: #FFFFFF !important;
}

.flr-mo-btn:disabled,
.flr-mo-btn.is-loading {
    opacity: 0.55;
    cursor: not-allowed;
}

.flr-mo-actions {
    display: grid;
    gap: 0.5rem;
    margin-top: 1rem;
}

.flr-mo-alert {
    padding: 0.75rem 0.95rem;
    margin-bottom: 0.85rem;
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    font-size: 0.85rem;
    clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
}

.flr-mo-alert--success {
    border-color: rgba(16, 185, 129, 0.4);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(20, 24, 32, 0.85));
    color: #6ee7b7;
}

.flr-mo-alert--error {
    border-color: rgba(239, 68, 68, 0.4);
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(20, 24, 32, 0.85));
    color: #fca5a5;
}

/* Forms */
.flr-mo-form .form-label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #CBD5E1;
}

.flr-mo-form .form-control,
.flr-mo-form .form-select,
.flr-mo-form .np-input {
    width: 100%;
    min-height: 48px;
    margin-bottom: 0.95rem;
    padding: 0.7rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 0;
    background: #141822 !important;
    color: #FFFFFF !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45) !important;
    clip-path: polygon(
        0 0,
        calc(100% - 8px) 0,
        100% 8px,
        100% 100%,
        8px 100%,
        0 calc(100% - 8px)
    );
}

.flr-mo-form textarea.form-control,
.flr-mo-form .np-input--area {
    min-height: 96px;
    clip-path: none;
    resize: vertical;
}

.flr-mo-form .form-control:focus,
.flr-mo-form .form-select:focus,
.flr-mo-form .np-input:focus {
    outline: none !important;
    border-color: var(--bn-crimson-vibrant) !important;
    background: #181f2c !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 0 2px rgba(186, 38, 64, 0.35), inset 0 2px 4px rgba(0, 0, 0, 0.45) !important;
}

.flr-mo-form .d-block {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 40px;
    margin-bottom: 0.35rem;
    font-size: 0.88rem;
}

/* Memory upload */
.flr-mo-memory__status {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    margin-bottom: 1rem;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    color: #FFFFFF;
}

.flr-mo-memory__status i {
    flex-shrink: 0;
    margin-top: 0.15rem;
    color: var(--bn-gold);
}

.flr-mo-memory__status strong {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 0.2rem;
}

.flr-mo-memory__status span {
    display: block;
    font-size: 0.78rem;
    color: var(--mo-muted);
    line-height: 1.5;
}

.flr-mo-memory__status--approved {
    border-color: rgba(16, 185, 129, 0.4);
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(20, 24, 32, 0.85));
}

.flr-mo-memory__status--approved i {
    color: #34d399;
}

.flr-mo-memory__status--rejected {
    border-color: rgba(239, 68, 68, 0.4);
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(20, 24, 32, 0.85));
}

.flr-mo-memory__status--rejected i {
    color: #f87171;
}

.flr-mo-memory__preview {
    margin-bottom: 1rem;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    overflow: hidden;
}

.flr-mo-memory__preview img {
    display: block;
    width: 100%;
    max-height: min(52vw, 260px);
    object-fit: cover;
}

.flr-mo-memory__preview p {
    margin: 0;
    padding: 0.7rem 0.85rem;
    font-size: 0.85rem;
    color: var(--mo-muted);
    border-top: 1px solid var(--mo-border);
}

.flr-mo-memory__form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    width: 100%;
}

.flr-mo-memory__file {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.flr-mo-memory__drop {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 148px;
    padding: 1.2rem 1rem;
    border: 1.5px dashed var(--bn-crimson-vibrant);
    background: var(--bn-surface-metal);
    text-align: center;
    cursor: pointer;
    clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
    transition: border-color var(--bn-transition), background var(--bn-transition);
}

.flr-mo-memory__drop:hover,
.flr-mo-memory__drop:focus-within,
.flr-mo-memory__drop.is-dragging {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.35), rgba(20, 24, 32, 0.9));
}

.flr-mo-memory__drop.has-file {
    display: none;
}

.flr-mo-memory__drop-visual {
    position: relative;
    width: 3.2rem;
    height: 3.2rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, var(--bn-burgundy), var(--bn-burgundy-deep));
    color: #FFFFFF;
    margin-bottom: 0.2rem;
    clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
}

.flr-mo-memory__drop-plus {
    position: absolute;
    inset-inline-end: -0.2rem;
    bottom: -0.15rem;
    width: 1.1rem;
    height: 1.1rem;
    display: grid;
    place-items: center;
    background: var(--bn-surface-plate);
    border: 1px solid var(--bn-line);
    color: var(--bn-gold);
    font-size: 0.55rem;
}

.flr-mo-memory__drop-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #FFFFFF;
}

.flr-mo-memory__drop-hint {
    margin: 0;
    font-size: 0.72rem;
    color: var(--mo-muted);
    max-width: 18rem;
    line-height: 1.5;
}

.flr-mo-memory__preview-new[hidden] {
    display: none !important;
}

.flr-mo-memory__preview-frame {
    position: relative;
    border: 1px solid var(--mo-border);
    background: var(--bn-surface-metal);
    overflow: hidden;
}

.flr-mo-memory__preview-frame img {
    display: block;
    width: 100%;
    max-height: min(56vw, 280px);
    object-fit: cover;
}

.flr-mo-memory__preview-clear {
    position: absolute;
    top: 0.5rem;
    inset-inline-start: 0.5rem;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: var(--bn-surface-plate);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.flr-mo-memory__preview-label {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mo-muted);
    text-align: center;
}

.flr-mo-memory__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.flr-mo-memory__field-label {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--mo-muted);
}

.flr-mo-memory__field-label i {
    color: var(--bn-burgundy-deep);
}

.flr-mo-memory__field-label em {
    font-style: normal;
    opacity: 0.7;
}

.flr-mo-memory__input {
    width: 100%;
    min-height: 48px;
    padding: 0.75rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: #141822;
    color: #FFFFFF;
    font-size: 0.95rem;
}

.flr-mo-memory__input:focus {
    outline: none;
    border-color: var(--bn-crimson-vibrant);
    background: #181f2c;
    box-shadow: 0 0 0 2px rgba(186, 38, 64, 0.35);
}

.flr-mo-memory__submit {
    margin-top: 0.1rem;
}

.flr-mo-pagination {
    margin-top: 1rem;
    text-align: center;
}

.flr-mo-pagination .pagination {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.flr-mo-pagination .page-link {
    display: grid;
    place-items: center;
    min-width: 40px;
    min-height: 40px;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: var(--bn-surface-metal) !important;
    color: #FFFFFF !important;
    text-decoration: none;
}

.flr-mo-pagination .page-link:hover {
    background: linear-gradient(135deg, #252b38, #181c24) !important;
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
}

.flr-mo-pagination .page-item.active .page-link {
    border-color: var(--bn-crimson-vibrant) !important;
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.8), rgba(66, 11, 20, 0.95)) !important;
    color: #FFFFFF !important;
    box-shadow: 0 2px 10px var(--bn-burgundy-glow) !important;
}

.flr-mo-pagination .page-item.disabled .page-link {
    background: rgba(20, 24, 34, 0.6) !important;
    color: #64748B !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    pointer-events: none;
}

/* Login */
.flr-page-login .flr-mo-form,
.np-login__panel {
    border: 1px solid var(--mo-border);
    background: var(--mo-surface);
    box-shadow: var(--bn-bevel);
    padding: 1.5rem;
}

.np-login__hint {
    margin: 0 0 0.85rem;
    font-size: 0.85rem;
    color: var(--mo-muted);
}

.np-login__debug {
    margin: -0.35rem 0 0.85rem;
    font-size: 0.8rem;
    color: var(--bn-gold);
}

.np-login__error {
    margin: 0.85rem 0 0;
    min-height: 1.2em;
    color: #fca5a5;
    font-size: 0.85rem;
}

.np-login__resend {
    margin-top: 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: var(--bn-surface-metal);
    color: #CBD5E1;
}

.np-login__change {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--bn-gold);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#loginPhone,
#loginCode {
    letter-spacing: 0.06em;
}

/* Reservation */
.np-reservation__datetime {
    position: relative;
    margin-bottom: 0.85rem;
}

.np-reservation__datetime i {
    position: absolute;
    inset-inline-start: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--bn-gold);
    pointer-events: none;
}

.np-reservation__datetime .np-input,
.np-reservation__datetime .form-control {
    padding-inline-start: 2.4rem;
    margin-bottom: 0;
}

.np-reservation__hours {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 0.4rem;
    margin-bottom: 0.85rem;
}

.np-reservation__hour {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.np-reservation__hour input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.np-reservation__hour {
    display: grid;
    place-items: center;
    min-height: 44px;
    padding: 0.35rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: var(--bn-surface-metal);
    font-size: 0.85rem;
    font-weight: 700;
    color: #CBD5E1;
    text-align: center;
    clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
    box-shadow: var(--bn-bevel);
    transition: border-color var(--bn-transition-fast), background var(--bn-transition-fast), color var(--bn-transition-fast);
}

.np-reservation__hour span {
    pointer-events: none;
}

.np-reservation__hour:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: linear-gradient(135deg, #252b38, #181c24);
    color: #FFFFFF;
}

.np-reservation__hour.is-selected,
.np-reservation__hour:has(input:checked) {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.8), rgba(66, 11, 20, 0.95));
    color: #FFFFFF;
    box-shadow: 0 4px 14px var(--bn-burgundy-glow);
}

.np-reservation__empty-tables {
    margin: 0 0 0.85rem;
    font-size: 0.85rem;
    color: var(--mo-muted);
}

.np-reservation__date-hint,
.np-reservation__hint {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    color: var(--mo-muted);
    line-height: 1.6;
}

.np-reservation__hint i {
    color: var(--bn-gold);
    margin-inline-end: 0.25rem;
}

.np-reservation__tables {
    display: grid;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.np-reservation__table {
    position: relative;
    display: grid;
    gap: 0.2rem;
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: var(--bn-surface-metal);
    clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px), 0 7px);
    box-shadow: var(--bn-bevel);
    cursor: pointer;
    color: #FFFFFF;
    transition: border-color var(--bn-transition), background var(--bn-transition), opacity var(--bn-transition);
}

.np-reservation__table:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: linear-gradient(135deg, #252b38, #181c24);
}

.np-reservation__table input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.np-reservation__table-num {
    font-family: var(--bn-font-display);
    font-size: 0.98rem;
    font-weight: 700;
    color: #FFFFFF;
}

.np-reservation__table-cap {
    font-size: 0.75rem;
    color: var(--bn-gold);
    font-weight: 600;
}

.np-reservation__table-title,
.np-reservation__table-status {
    font-size: 0.75rem;
    color: var(--mo-muted);
}

.np-reservation__table.is-pending {
    opacity: 0.55;
}

.np-reservation__table.is-available,
.np-reservation__table:not(.is-pending):not(.is-busy):not(.is-disabled) {
    opacity: 1;
    cursor: pointer;
}

.np-reservation__table.is-busy,
.np-reservation__table.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.np-reservation__table.is-selected,
.np-reservation__table:has(input:checked) {
    border-color: var(--bn-crimson-vibrant);
    background: linear-gradient(135deg, rgba(120, 20, 36, 0.8), rgba(66, 11, 20, 0.95));
    box-shadow: 0 4px 14px var(--bn-burgundy-glow);
    color: #FFFFFF;
}

.np-reservation__table.is-selected .np-reservation__table-cap,
.np-reservation__table.is-selected .np-reservation__table-status {
    color: #FFFFFF;
}

.np-reservation__table:has(input:focus-visible) {
    outline: 2px solid var(--bn-burgundy);
    outline-offset: 2px;
}

.np-reservation__success {
    margin-bottom: 1rem;
}

@media (max-width: 420px) {
    .flr-mo {
        padding-inline: 0.85rem;
    }

    .flr-mo-memory__drop {
        min-height: 132px;
    }

    .flr-mo-memory__input,
    .flr-mo-form .form-control,
    .flr-mo-form .np-input {
        font-size: 16px;
    }
}

/* BOORAN overrides — cut-corner industrial geometry for secondary pages */
.flr-mo-back,
.flr-mo-auth,
.flr-mo-stat,
.flr-mo-card,
.flr-mo-panel,
.flr-mo-btn,
.flr-mo-filter,
.np-input,
.form-control,
.form-select {
    border-radius: 0 !important;
    clip-path: polygon(7px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 7px), calc(100% - 7px) 100%, 7px 100%, 0 calc(100% - 7px), 0 7px);
}

.flr-mo-btn--primary {
    background: linear-gradient(160deg, var(--bn-burgundy-soft), var(--bn-burgundy-deep)) !important;
    border-color: var(--bn-burgundy-deep) !important;
    color: #fff !important;
}

