html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
:root {
    --mc-ink: #201b19;
    --mc-muted: #756c67;
    --mc-paper: #fbf8f4;
    --mc-card: #ffffff;
    --mc-accent: #8f5f50;
    --mc-accent-dark: #70473b;
    --mc-border: #e9e0da;
}

html, body { background: var(--mc-paper); color: var(--mc-ink); }
body { margin: 0; }
a { color: var(--mc-accent-dark); }
.btn-primary { background: var(--mc-accent); border-color: var(--mc-accent); }
.btn-primary:hover, .btn-primary:focus { background: var(--mc-accent-dark); border-color: var(--mc-accent-dark); }
.content { max-width: 1240px; margin: 0 auto; width: 100%; padding-top: 2.5rem; padding-bottom: 4rem; }
.mc-top-label { color: var(--mc-muted); font-size: .88rem; }
.mc-eyebrow { font-size: .72rem; letter-spacing: .18em; font-weight: 800; color: var(--mc-accent); }
.mc-page-heading { margin-bottom: 2rem; }
.mc-page-heading h1, .mc-home-copy h1, .mc-guest-hero h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; margin: .35rem 0 .65rem; }
.mc-page-heading p, .mc-home-copy p, .mc-guest-hero p { color: var(--mc-muted); max-width: 720px; }
.mc-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.mc-card { background: var(--mc-card); border: 1px solid var(--mc-border); border-radius: 22px; padding: 1.75rem; box-shadow: 0 12px 40px rgba(59, 43, 35, .055); }
.mc-form-card { max-width: 820px; }
.mc-form-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--mc-border); }
.form-control, .form-select, .input-group-text { border-color: #ded4ce; min-height: 48px; }
.form-control:focus, .form-select:focus { border-color: #b78b7d; box-shadow: 0 0 0 .2rem rgba(143,95,80,.12); }
.mc-success-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr); gap: 1.25rem; }
.mc-status-pill { display: inline-flex; padding: .38rem .7rem; border-radius: 999px; background: #edf6ee; color: #3e6d48; font-size: .76rem; font-weight: 700; }
.mc-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.mc-meta-grid div { background: var(--mc-paper); padding: .9rem; border-radius: 14px; min-width: 0; }
.mc-meta-grid span { display: block; color: var(--mc-muted); font-size: .75rem; margin-bottom: .25rem; }
.mc-meta-grid strong { display: block; font-size: .88rem; overflow-wrap: anywhere; }
.mc-qr-card { text-align: center; }
.mc-qr { max-width: 260px; margin: 1rem auto; }
.mc-qr svg { width: 100%; height: auto; }
.mc-empty-state { text-align: center; padding: 4rem 2rem; }
.mc-empty-state p { max-width: 560px; margin: .75rem auto 1.5rem; color: var(--mc-muted); }
.mc-empty-icon, .mc-camera-mark { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 1rem; background: #f3e8e2; color: var(--mc-accent); font-size: 1.6rem; }
.mc-event-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 1rem; }
.mc-event-card h3 { margin: 1rem 0 .25rem; }
.mc-event-card p { color: var(--mc-muted); }
.mc-event-date { min-width: 52px; height: 58px; border-radius: 14px; background: var(--mc-paper); display: grid; place-items: center; font-weight: 800; font-size: 1.1rem; line-height: 1; }
.mc-event-date small { font-size: .65rem; text-transform: uppercase; color: var(--mc-muted); }
.mc-storage-line { display: flex; justify-content: space-between; margin-top: 1.5rem; font-size: .82rem; }
.progress { height: 6px; margin-top: .45rem; background: #eee6e1; }
.progress-bar { background: var(--mc-accent); }
.mc-home-hero { min-height: 68vh; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 4rem; }
.mc-home-copy h1 { font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: .98; max-width: 900px; }
.mc-home-copy p { font-size: 1.15rem; margin: 1.5rem 0 2rem; }
.mc-home-panel { display: grid; grid-template-columns: 44px 1fr; column-gap: .8rem; }
.mc-home-panel p { grid-column: 2; color: var(--mc-muted); margin-bottom: 1.4rem; }
.mc-step { width: 36px; height: 36px; border-radius: 50%; background: #f3e8e2; display: grid; place-items: center; color: var(--mc-accent); font-size: .72rem; font-weight: 800; }
.mc-guest-shell { max-width: 720px; margin: 2rem auto; }
.mc-guest-hero { text-align: center; margin-bottom: 2rem; }
.mc-guest-hero h1 { font-size: clamp(2.4rem, 8vw, 4.5rem); }
.mc-guest-card { padding: 2.5rem; }

@media (max-width: 800px) {
    .mc-success-grid, .mc-home-hero { grid-template-columns: 1fr; gap: 1.25rem; }
    .mc-home-hero { padding-top: 2rem; }
    .mc-heading-row { align-items: start; flex-direction: column; }
    .mc-meta-grid { grid-template-columns: 1fr; }
}

.mc-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.mc-stat-grid .mc-card span{display:block;color:#7b7b86;font-size:.85rem}.mc-stat-grid .mc-card strong{font-size:1.8rem}.mc-tabbar{display:flex;gap:1.25rem;margin:1.5rem 0;border-bottom:1px solid #e9e7ef;padding-bottom:.8rem}.mc-tabbar a{text-decoration:none;font-weight:700}.mc-guest-layout{min-height:100vh;background:linear-gradient(180deg,#fbf8ff,#fff);padding:1.25rem}.mc-guest-brand{text-align:center;font-weight:800;letter-spacing:-.02em}.mc-guest-footer{text-align:center;color:#8a8792;padding:3rem 1rem 1rem;font-size:.85rem}.mc-guest-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mc-auth-shell{min-height:100vh;display:grid;place-items:center;background:#f7f5fb;padding:1.5rem}.mc-auth-card{width:min(460px,100%)}.mc-slideshow-shell{min-height:75vh;display:grid;place-items:center;text-align:center}.mc-platform-sidebar{background:#17131f!important}@media(max-width:800px){.mc-stat-grid{grid-template-columns:1fr 1fr}.mc-guest-actions{grid-template-columns:1fr}}

/* --- Three-surface application shell ------------------------------------ */
.mc-public-page{min-height:100vh;background:var(--mc-paper)}
.mc-public-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4rem);border-bottom:1px solid var(--mc-border);background:rgba(251,248,244,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}
.mc-public-brand,.mc-sidebar-brand a{display:flex;align-items:center;gap:.65rem;color:var(--mc-ink);text-decoration:none;font-weight:800;letter-spacing:-.02em}
.mc-public-nav{display:flex;align-items:center;gap:1.1rem}.mc-public-nav>a:not(.btn){text-decoration:none;color:var(--mc-muted);font-weight:600}
.mc-public-main{max-width:1320px;margin:0 auto;padding:0 clamp(1.25rem,4vw,4rem)}
.brand-mark{width:32px;height:32px;border-radius:50%;background:#b98270;color:#fff;display:inline-grid;place-items:center;font-family:Georgia,serif;font-weight:700}
.mc-workspace{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.mc-workspace-sidebar{min-height:100vh;position:sticky;top:0;height:100vh;background:#241d1a;color:#fff;padding:1.35rem 1rem}
.mc-platform-sidebar{background:#17131f!important}
.mc-sidebar-brand{padding:.25rem .55rem 1.75rem}.mc-sidebar-brand a{color:#fff;font-size:1.05rem}.mc-sidebar-brand>span{display:block;margin:.55rem 0 0 2.65rem;color:#a99c96;font-size:.62rem;font-weight:800;letter-spacing:.17em}
.mc-sidebar-nav{display:flex;flex-direction:column;gap:.35rem}.mc-sidebar-nav a{color:#cfc3bd;text-decoration:none;padding:.78rem .9rem;border-radius:12px;font-weight:600}.mc-sidebar-nav a:hover{background:rgba(255,255,255,.06);color:#fff}.mc-sidebar-nav a.active{background:rgba(255,255,255,.11);color:#fff}.mc-sidebar-divider{height:1px;background:rgba(255,255,255,.1);margin:.8rem .6rem}
.mc-workspace-main{min-width:0}.mc-workspace-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2.25rem;border-bottom:1px solid var(--mc-border);background:rgba(251,248,244,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;color:var(--mc-muted);font-size:.88rem}.mc-workspace-topbar a{text-decoration:none;font-weight:650}
@media(max-width:800px){.mc-workspace{grid-template-columns:1fr}.mc-workspace-sidebar{position:relative;height:auto;min-height:auto}.mc-sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mc-workspace-topbar{position:relative;padding:0 1.25rem}.mc-public-header{height:64px}.mc-public-nav>a:not(.btn){display:none}.mc-public-main{padding-bottom:2rem}}
