/* Shared app pages (views/layouts/main.ejs: login, register, password reset, 2FA, account, reseller sign-up, errors)
   in the site's "Museum of Us" look: blush striped background, plum DynaPuff headings with a pink script accent,
   handwritten copy, cream stitched cards, pink stitched buttons, plum footer. Scoped to body.om-app, so the admin and
   reseller dashboards (their own layouts) are untouched. */
.om-app{--m-disp:"DynaPuff","Baloo 2",system-ui,sans-serif;--m-script:"Great Vibes","Dancing Script",Georgia,cursive;--m-hand:"Shantell Sans","Comic Sans MS","Segoe Print",cursive;
  --m-plum:#4a1d2e;--m-plum-2:#7a4a5a;--m-pink:#e11d74;--m-rose:#9d174d;--m-cream:#fffaf5;--m-stitch:rgba(225,29,116,.28);
  background:#fff8f3;color:var(--m-plum)}

/* ---- header ---- */
.om-app>header{background:rgba(255,248,243,.88);border-bottom:1px solid rgba(225,29,116,.12);box-shadow:0 6px 24px -18px rgba(157,23,77,.35)}
.om-app>header a[aria-label$="home"]>span{font-family:var(--m-disp);font-weight:700;color:var(--m-plum);letter-spacing:0}
.om-app>header a[aria-label$="home"] .text-brand{color:var(--m-pink)}
.om-app .nav-link{font-family:var(--m-hand);font-weight:600;color:var(--m-plum);padding:.4rem .75rem;border-radius:9999px;transition:background .2s ease,color .2s ease}
.om-app .nav-link:hover,.om-app .nav-link.text-brand{color:var(--m-pink);background:linear-gradient(135deg,rgba(244,114,182,.12),rgba(225,29,116,.1))}
.om-app>header nav{gap:.35rem}
.om-app>header details>div{background:var(--m-cream);border:1.5px solid rgba(225,29,116,.16);border-radius:22px;box-shadow:0 24px 50px -24px rgba(157,23,77,.45)}
.om-app>header details a.rounded-xl:hover,.om-app .menu-link:hover{background:#fde2ea}
.om-app>header details .font-semibold.text-ink{font-family:var(--m-disp);font-weight:600;color:var(--m-plum)}
.om-app .menu-link{font-family:var(--m-hand);font-weight:600;color:var(--m-plum)}

/* ---- buttons, links, pills ---- */
.om-app .btn-primary{font-family:var(--m-disp);font-weight:600;color:#fff;background:linear-gradient(135deg,#f472b6 0%,#e11d74 60%,#be185d 100%);outline:2px dashed rgba(255,255,255,.55);outline-offset:-5px;box-shadow:0 12px 26px -12px rgba(225,29,116,.6)}
.om-app .btn-primary:hover{filter:brightness(1.05);box-shadow:0 16px 30px -12px rgba(225,29,116,.7)}
.om-app .btn-ghost{font-family:var(--m-disp);font-weight:600;color:var(--m-rose);background:var(--m-cream);border:2px dashed rgba(225,29,116,.4)}
.om-app .link{color:var(--m-pink)}
.om-app-pill{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.75rem;padding:.35rem .85rem;border-radius:9999px;background:#fde68a;color:#7c2d12;font-family:var(--m-hand);font-weight:700;font-size:.8rem;box-shadow:0 6px 14px -8px rgba(124,45,18,.45)}

/* ---- page body and cards ---- */
.om-app main{background:repeating-linear-gradient(135deg,rgba(244,114,182,.05) 0 12px,transparent 12px 26px),linear-gradient(180deg,#fff8f3 0%,#fff1f4 100%);font-family:var(--m-hand)}
.om-app main h1,.om-app main h2,.om-app main h3{font-family:var(--m-disp);color:var(--m-plum)}
.om-app main h1 .grad{font-family:var(--m-script);font-weight:400;font-size:1.35em;padding:0 .12em .06em 0;background:linear-gradient(135deg,#f472b6 0%,#e11d74 45%,#9d174d 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.om-app main .card{background:var(--m-cream);border:1.5px solid rgba(225,29,116,.16);outline:1.5px dashed var(--m-stitch);outline-offset:-10px;border-radius:26px;box-shadow:0 18px 40px -24px rgba(157,23,77,.45)}
.om-app main .card.max-w-md,.om-app main .card.max-w-xl{padding:2.25rem 2rem}
.om-app main a.card:hover{border-color:rgba(225,29,116,.4);transform:translateY(-2px);transition:transform .25s ease,border-color .25s ease}
.om-app main label,.om-app main legend{font-family:var(--m-hand);font-weight:600;color:var(--m-plum)}
.om-app main .input{border-color:rgba(225,29,116,.25);border-radius:14px;font-family:var(--m-hand);background:#fff}
.om-app main .input:focus{border-color:var(--m-pink);box-shadow:0 0 0 3px rgba(225,29,116,.15);outline:none}
.om-app main .text-ink\/70,.om-app main .text-ink\/60{color:var(--m-plum-2)}

/* ---- footer (plum, like the home page) ---- */
.om-app>footer{background:radial-gradient(ellipse at 50% 0%,#4a1733 0%,#2a0d1d 55%,#1c0813 100%);color:rgba(255,239,230,.8);font-family:var(--m-hand);margin-top:0}
.om-app>footer .text-white{color:#fde68a}
.om-app>footer p.text-xl{font-family:var(--m-disp);font-weight:700;color:#fff}
.om-app>footer p.text-xl .text-brand-light{color:#f9a8d4}
.om-app>footer p.font-semibold,.om-app>footer label.font-semibold{font-family:var(--m-disp);font-weight:600;color:#fde68a}
.om-app>footer .footer-link{color:rgba(255,239,230,.75)}
.om-app>footer .footer-link:hover{color:#fff}
.om-app>footer input[type=email]{border-color:rgba(253,230,138,.3)}
.om-app>footer .border-white\/10{border-color:rgba(253,230,138,.15)}

/* ---- /account ---- */
.om-acc-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:2.5rem}
.om-acc-title{margin:0;font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1}
.om-acc-email{margin:.35rem 0 0;color:var(--m-plum-2)}
.om-acc-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.om-acc-h{margin:0 0 1rem;font-weight:700;font-size:1.35rem}
.om-acc-list{display:grid;gap:.9rem}
.om-app main .card.om-acc-order{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;outline-offset:-8px}
.om-acc-emoji{flex:0 0 auto;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:16px;background:#fde2ea;font-size:1.6rem}
.om-acc-order-main{flex:1;min-width:0}
.om-acc-order-name{margin:0;font-family:var(--m-disp);font-weight:600;font-size:1.05rem;color:var(--m-plum)}
.om-acc-order-meta{margin:.2rem 0 0;font-size:.88rem;color:var(--m-plum-2)}
.om-acc-order-meta .font-mono{font-size:.8rem;opacity:.8}
.om-acc-chip{display:inline-block;margin-left:.35rem;padding:.12rem .55rem;border-radius:9999px;font-family:var(--m-hand);font-weight:700;font-size:.72rem;vertical-align:middle}
.om-acc-chip.is-live{background:#dcfce7;color:#166534}
.om-acc-chip.is-warn{background:#fef3c7;color:#92400e}
.om-acc-chip.is-off{background:#f1e4e8;color:var(--m-plum-2)}
.om-acc-open{flex:0 0 auto;padding:.6rem 1rem;font-size:.9rem;border-radius:9999px}
.om-acc-note{margin:.8rem 0 0;font-size:.85rem;color:var(--m-plum-2)}
.om-app main .card.om-acc-empty{text-align:center;padding:2.5rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.om-acc-empty>span{font-size:2.6rem}
.om-acc-empty-h{margin:0;font-family:var(--m-disp);font-weight:700;font-size:1.25rem;color:var(--m-plum)}
.om-acc-empty p{margin:0;max-width:420px;color:var(--m-plum-2)}
.om-acc-empty .btn-primary{margin-top:.8rem}
.om-acc .om-acc-h:not(:first-of-type){margin-top:2.75rem}
.om-acc-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.om-app main a.card.om-acc-tile{display:flex;flex-direction:column;gap:.3rem;padding:1.5rem 1.4rem;text-decoration:none;outline-offset:-8px}
.om-acc-tile-emoji{font-size:1.8rem;line-height:1}
.om-acc-tile-h{margin-top:.4rem;font-family:var(--m-disp);font-weight:600;font-size:1.05rem;color:var(--m-plum)}
.om-acc-tile-p{font-size:.9rem;color:var(--m-pink);font-weight:600}
@media (max-width:640px){.om-app main .card.om-acc-order{flex-wrap:wrap}.om-acc-open{width:100%;justify-content:center}.om-acc-actions{width:100%}.om-acc-actions>*{flex:1}}

/* Header never wraps link text; tighter at laptop widths, where signed-in users have more links. */
.om-app>header a,.om-app>header button,.om-app>header summary{white-space:nowrap}
@media (max-width:1280px){.om-app .nav-link{padding:.35rem .5rem}.om-app>header nav{gap:.1rem}.om-app>header .btn-primary,.om-app>header .btn-ghost{padding:.5rem .9rem}}
