@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --ink: #352a24;
  --primary: #694533;
  --primary-hover: #7a4a35;
  --deep: #5a392b;
  --sand: #ead9c8;
  --cream: #fdf9f3;
  --paper: #fffdf9;
  --soft: #f7f0e9;
  --muted: #77685e;
  --line: #e7dcd1;
  --peach: #edbf9e;
  --success: #4f725f;
  --success-soft: #edf5ee;
  --warning: #8a6729;
  --warning-soft: #fff7e4;
  --danger: #9a4d48;
  --danger-soft: #fbefed;
  --radius: 24px;
  --shadow: 0 22px 60px rgba(75, 56, 40, .12);
}

* { box-sizing: border-box; }
html { min-height: 100%; font-size: 16px; scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: 'DM Sans', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--primary); text-underline-offset: .2em; }
a:hover { color: var(--primary-hover); }
h1, h2, h3, h4, h5, h6 { color: var(--ink); font-family: Manrope, Arial, sans-serif; letter-spacing: -.035em; }
code { color: var(--deep); }
.app-container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 2000; top: -80px; left: 1rem; padding: .75rem 1rem; border-radius: .75rem; background: var(--paper); color: var(--ink); box-shadow: var(--shadow); }
.skip-link:focus { top: 1rem; }

.app-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(253, 249, 243, .96); }
.app-nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.app-brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--ink); font-family: Manrope, Arial, sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: -.075em; text-decoration: none; }
.app-brand:hover { color: var(--ink); }
.app-brand img { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; }
.brand-dot { color: #ba5b39; }
.app-navigation { display: flex; align-items: center; gap: 1.75rem; }
.app-navigation a, .app-site-link { color: #57483b; font-size: .84rem; font-weight: 700; text-decoration: none; }
.app-navigation a:hover, .app-site-link:hover { color: #a44e30; }
.app-main { min-height: calc(100vh - 166px); }
.app-footer { border-top: 1px solid var(--line); background: var(--cream); color: #958579; }
.app-footer-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; font-size: .75rem; }

.eyebrow { margin: 0 0 .75rem; color: #7c6450; font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.lead { color: var(--muted); font-size: 1rem; line-height: 1.75; }

.btn { min-height: 2.9rem; border-radius: 999px; padding: .75rem 1.25rem; font-weight: 700; transition: transform .2s, background-color .2s, border-color .2s, color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-border-color: var(--primary-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--deep);
  --bs-btn-active-border-color: var(--deep);
  --bs-btn-disabled-bg: var(--primary);
  --bs-btn-disabled-border-color: var(--primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: #cdbfb4;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-active-bg: var(--deep);
  --bs-btn-active-border-color: var(--deep);
}
.btn-outline-secondary { --bs-btn-color: var(--muted); --bs-btn-border-color: #d4c8bf; --bs-btn-hover-bg: #eee5dd; --bs-btn-hover-border-color: #c8b9ad; --bs-btn-hover-color: var(--ink); }
.btn-outline-success { --bs-btn-color: var(--success); --bs-btn-border-color: #99b3a2; --bs-btn-hover-bg: var(--success); --bs-btn-hover-border-color: var(--success); }
.btn-link { color: var(--primary); text-decoration-color: #ccb9aa; }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus, .subscription-option:focus-within { box-shadow: 0 0 0 .22rem rgba(105, 69, 51, .18); }

.form-label { margin-bottom: .45rem; color: #5c4b3f; font-size: .84rem; font-weight: 700; }
.form-control, .form-select {
  min-height: 3.1rem;
  border: 1px solid #d7cbc1;
  border-radius: .8rem;
  background-color: var(--paper);
  color: var(--ink);
  padding: .72rem .9rem;
}
textarea.form-control { min-height: 7rem; }
.form-control:focus, .form-select:focus { border-color: #9e7761; background-color: #fff; color: var(--ink); }
.form-control::placeholder { color: #a5968a; }
.form-control:disabled, .form-control[readonly], .form-select:disabled { background-color: #f1ece7; color: #817166; }
.form-text, .text-muted { color: var(--muted) !important; }
.text-danger { color: var(--danger) !important; }

.alert { border-radius: 1rem; line-height: 1.55; }
.alert-success { border-color: #bed2c3; background: var(--success-soft); color: #365542; }
.alert-info { border-color: #d3c5b7; background: #f5eee6; color: #604c3e; }
.alert-warning { border-color: #ead4a7; background: var(--warning-soft); color: #725520; }
.alert-danger { border-color: #e5bcb6; background: var(--danger-soft); color: #7c3835; }
.badge { border-radius: 999px; padding: .45rem .68rem; font-weight: 700; }
.badge.bg-success { background-color: var(--success) !important; }
.badge.bg-warning { background-color: #e9c977 !important; }
.badge.bg-info { background-color: var(--sand) !important; }

.upload-shell, .event-message-shell, .management-shell, .create-event-shell, .email-confirm-shell, .order-data-shell, .content-shell {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: clamp(2.5rem, 7vw, 5.5rem) 1.25rem;
  background:
    radial-gradient(circle at 12% 10%, rgba(237, 191, 158, .22), transparent 28rem),
    radial-gradient(circle at 88% 88%, rgba(234, 217, 200, .38), transparent 30rem),
    var(--cream);
}
.upload-card, .event-message-card, .management-card, .create-event-card, .email-confirm-card, .order-data-card, .content-card {
  width: min(100%, 700px);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 249, .98);
  box-shadow: var(--shadow);
}
.management-card { width: min(100%, 760px); }
.create-event-card { width: min(100%, 760px); }
.email-confirm-card, .order-data-card, .content-card { width: min(100%, 640px); }
.content-card { text-align: center; }
.content-card h1 { margin-bottom: 1rem; font-size: clamp(2rem, 5vw, 3rem); }

.upload-heading, .management-heading, .create-event-heading, .order-data-heading { margin-bottom: 2rem; text-align: center; }
.upload-heading h1, .management-heading h1, .create-event-heading h1, .order-data-heading h1, .email-confirm-card h1, .event-message-card h1 {
  margin: 0 0 .8rem;
  font-size: clamp(1.8rem, 5vw, 2.7rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.055em;
}
.upload-heading .lead, .create-event-heading .lead, .order-data-heading .lead, .order-data-help, .event-message-card p:last-child { margin-bottom: 0; color: var(--muted); }
.event-message-card, .email-confirm-card { text-align: center; }
.event-status-card .upload-heading { margin-bottom: 0; }

/* Event appearance boundary. Only the guest upload experience resolves --event-* tokens. */
.event-experience {
  --event-primary: var(--primary);
  --event-primary-hover: var(--primary-hover);
  --event-soft: #f7efe7;
  --event-border: #dccabe;
  --event-ink: var(--ink);
  --event-muted: #77685e;
  --event-background: #fdf9f3;
  --event-background-accent: rgba(237, 191, 158, .24);
  --event-background-secondary: rgba(234, 217, 200, .42);
  --event-card: rgba(255, 253, 249, .98);
  --event-card-border: #e7dcd1;
}
.event-experience[data-event-theme="blue"] { --event-primary: #39769b; --event-primary-hover: #285d7d; --event-soft: #e8f3f8; --event-border: #abcddd; --event-ink: #183f54; --event-muted: #587383; --event-background: #edf6fa; --event-background-accent: rgba(116, 185, 218, .27); --event-background-secondary: rgba(180, 215, 230, .42); --event-card: rgba(250, 253, 255, .98); --event-card-border: #c7dfe9; }
.event-experience[data-event-theme="green"] { --event-primary: #4f7d5d; --event-primary-hover: #396245; --event-soft: #e9f3e8; --event-border: #b9d2bb; --event-ink: #294b33; --event-muted: #617a67; --event-background: #f0f6ee; --event-background-accent: rgba(152, 194, 155, .28); --event-background-secondary: rgba(204, 221, 192, .42); --event-card: rgba(252, 255, 250, .98); --event-card-border: #cedecc; }
.event-experience[data-event-theme="yellow"] { --event-primary: #9a711d; --event-primary-hover: #765413; --event-soft: #fff4ce; --event-border: #dfc777; --event-ink: #59481e; --event-muted: #806e42; --event-background: #fff9e8; --event-background-accent: rgba(244, 202, 76, .25); --event-background-secondary: rgba(241, 222, 154, .4); --event-card: rgba(255, 254, 247, .98); --event-card-border: #eadba6; }
.event-experience[data-event-theme="brown"] { --event-primary: #694533; --event-primary-hover: #513226; --event-soft: #f3e8df; --event-border: #d4bdaa; --event-ink: #4f382c; --event-muted: #78665b; --event-background: #f8f0e9; --event-background-accent: rgba(166, 113, 80, .2); --event-background-secondary: rgba(209, 180, 155, .4); --event-card: rgba(255, 251, 247, .98); --event-card-border: #dfcec0; }
.event-experience[data-event-theme="red"] { --event-primary: #a34f55; --event-primary-hover: #833a40; --event-soft: #faeaeb; --event-border: #deb8bc; --event-ink: #66353a; --event-muted: #886368; --event-background: #fdf1f2; --event-background-accent: rgba(213, 108, 117, .22); --event-background-secondary: rgba(235, 186, 187, .4); --event-card: rgba(255, 251, 251, .98); --event-card-border: #e8cdd0; }
.event-experience[data-event-theme="gold"] { --event-primary: #91702d; --event-primary-hover: #70531d; --event-soft: #f8efda; --event-border: #d9c083; --event-ink: #594621; --event-muted: #7d6b44; --event-background: #faf5e7; --event-background-accent: rgba(204, 163, 66, .25); --event-background-secondary: rgba(228, 208, 153, .42); --event-card: rgba(255, 253, 246, .98); --event-card-border: #e2d3a9; }
.event-experience[data-event-theme="silver"] { --event-primary: #657681; --event-primary-hover: #4c5c66; --event-soft: #edf1f3; --event-border: #c4ced3; --event-ink: #3d4c55; --event-muted: #687780; --event-background: #f1f4f5; --event-background-accent: rgba(150, 166, 176, .23); --event-background-secondary: rgba(204, 213, 218, .44); --event-card: rgba(253, 254, 255, .98); --event-card-border: #d3dbdf; }
.event-experience[data-event-theme="dark"] { --event-primary: #aa8bdd; --event-primary-hover: #9271c8; --event-soft: #37333f; --event-border: #655d71; --event-ink: #f5f0f7; --event-muted: #c4bac9; --event-background: #1e1c23; --event-background-accent: rgba(132, 94, 178, .28); --event-background-secondary: rgba(66, 91, 118, .32); --event-card: rgba(43, 39, 49, .98); --event-card-border: #514a59; }
.event-experience[data-event-theme="lavender"] { --event-primary: #7865a7; --event-primary-hover: #5f4d8d; --event-soft: #f0ecf8; --event-border: #cfc4e3; --event-ink: #493d68; --event-muted: #716681; --event-background: #f5f1fa; --event-background-accent: rgba(163, 139, 208, .25); --event-background-secondary: rgba(218, 201, 229, .43); --event-card: rgba(254, 252, 255, .98); --event-card-border: #ded5eb; }
.event-experience[data-event-theme="rose"] { --event-primary: #a95675; --event-primary-hover: #8b405e; --event-soft: #faedf2; --event-border: #e1bdca; --event-ink: #66394b; --event-muted: #876674; --event-background: #fdf2f6; --event-background-accent: rgba(214, 127, 158, .24); --event-background-secondary: rgba(237, 191, 205, .42); --event-card: rgba(255, 251, 253, .98); --event-card-border: #e9ced8; }
.event-experience[data-event-theme="teal"] { --event-primary: #287c7b; --event-primary-hover: #1d6262; --event-soft: #e4f3f1; --event-border: #a8d2ce; --event-ink: #174c4c; --event-muted: #537777; --event-background: #ebf7f5; --event-background-accent: rgba(66, 169, 165, .24); --event-background-secondary: rgba(170, 217, 209, .42); --event-card: rgba(250, 255, 254, .98); --event-card-border: #c5e0dc; }
.event-experience[data-event-theme="terracotta"] { --event-primary: #aa5f40; --event-primary-hover: #88472f; --event-soft: #f8e9e0; --event-border: #deb9a6; --event-ink: #633c2c; --event-muted: #86675a; --event-background: #fbf0e9; --event-background-accent: rgba(213, 112, 75, .23); --event-background-secondary: rgba(235, 180, 147, .42); --event-card: rgba(255, 251, 248, .98); --event-card-border: #e8cdbf; }
.upload-shell.event-experience {
  background:
    radial-gradient(circle at 12% 10%, var(--event-background-accent), transparent 28rem),
    radial-gradient(circle at 88% 88%, var(--event-background-secondary), transparent 30rem),
    var(--event-background);
  color: var(--event-ink);
}
.event-experience .upload-card { border-color: var(--event-card-border); background: var(--event-card); }
.event-experience .upload-heading h1,
.event-experience .uploader-modal-card h2 { color: var(--event-ink); }
.event-experience .upload-heading .lead,
.event-experience .modal-help,
.event-experience #file-count,
.event-experience .file-size { color: var(--event-muted) !important; }
.event-experience #file-list li { border-bottom-color: var(--event-card-border); }
.event-experience .uploader-modal-card { border-color: var(--event-card-border); background: var(--event-card); color: var(--event-ink); }
.event-experience .progress { background: var(--event-soft); }
.event-experience .eyebrow { color: var(--event-primary); }
.event-experience .btn-primary { --bs-btn-bg: var(--event-primary); --bs-btn-border-color: var(--event-primary); --bs-btn-hover-bg: var(--event-primary-hover); --bs-btn-hover-border-color: var(--event-primary-hover); --bs-btn-active-bg: var(--event-primary-hover); --bs-btn-active-border-color: var(--event-primary-hover); }

.event-logo-wrap { display: flex; justify-content: center; margin: 0 0 1.25rem; }
.event-logo { display: block; width: min(180px, 55vw); height: 90px; object-fit: contain; }

.drop-zone {
  min-height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1.75rem;
  border: 2px dashed var(--event-border);
  border-radius: 1.2rem;
  background: var(--event-soft);
  color: var(--event-ink);
  cursor: pointer;
  text-align: center;
  transition: border-color .2s, background-color .2s, transform .2s;
}
.drop-zone:hover, .drop-zone.is-dragging { border-color: var(--event-primary); background: color-mix(in srgb, var(--event-soft) 70%, white); transform: translateY(-2px); }
.drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-icon { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; margin-bottom: .85rem; border-radius: 1rem; background: color-mix(in srgb, var(--event-soft) 55%, white); color: var(--event-primary); font-size: 2rem; }
.drop-title { font-weight: 800; }
.drop-help, .drop-formats { margin-top: .35rem; color: color-mix(in srgb, var(--event-ink) 68%, white); font-size: .9rem; }
.drop-formats { font-size: .77rem; }
.selected-files, .upload-status { margin-top: 1.5rem; }
.file-list-header, .status-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.file-list-header h2 { margin: 0; font-size: 1.1rem; }
#file-count, .file-size { color: var(--muted); font-size: .86rem; }
#file-list { max-height: 210px; margin: .8rem 0 1.25rem; padding: 0; overflow-y: auto; list-style: none; }
#file-list li { display: flex; justify-content: space-between; gap: .75rem; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.file-error, .file-error .file-size { color: var(--danger); }
.status-row { margin-bottom: .55rem; font-size: .9rem; }
.progress { height: .7rem; border-radius: 999px; background: #eee6df; }
.progress-bar { border-radius: inherit; background: var(--event-primary); transition: width .2s ease; }
.upload-status.is-complete .progress-bar { background: var(--success); }

.management-content { display: grid; gap: 1rem; }
.management-section { padding: clamp(1.1rem, 3vw, 1.6rem); border: 1px solid var(--line); border-radius: 1.15rem; background: var(--soft); }
.management-summary { text-align: center; }
.management-section-title { margin: 0 0 1.25rem; font-size: 1.2rem; font-weight: 800; }
.management-package { display: grid; gap: .35rem; justify-items: center; margin-bottom: 1.5rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: .9rem; background: var(--paper); }
.management-package-label, .management-contact-label, .management-schedule dt { color: var(--muted); font-size: .8rem; }
.management-package strong { font-size: 1.2rem; }
.management-package-limit { color: var(--muted); font-size: .88rem; }
.management-contact { display: grid; gap: .25rem; margin-bottom: 1.25rem; font-size: .92rem; }
.media-count { display: flex; align-items: baseline; justify-content: center; gap: .65rem; margin-bottom: 1rem; }
.media-count-value { color: var(--primary); font-family: Manrope, Arial, sans-serif; font-size: clamp(2.8rem, 10vw, 4.5rem); font-weight: 800; line-height: 1; }
.media-count-label { font-size: 1rem; }
.management-help { color: var(--muted); font-size: .93rem; }
.management-qr { text-align: center; }
.management-qr-preview { display: inline-flex; margin: .35rem auto 1rem; padding: .65rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 .55rem 1.4rem rgba(75, 47, 34, .08); }
.management-qr-preview img { display: block; width: min(300px, 72vw); height: auto; aspect-ratio: 1; }
.management-guest-link { display: block; margin: 0 auto 1rem; overflow-wrap: anywhere; color: var(--primary); font-size: .9rem; font-weight: 700; }
.management-qr-actions { display: flex; justify-content: center; gap: .65rem; }
.management-qr-note { margin: .85rem 0 0; color: var(--muted); font-size: .82rem; }
.management-schedule { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 0; }
.management-schedule > div { padding: 1rem .7rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--paper); text-align: center; }
.management-schedule dd { margin: .5rem 0 0; font-size: 1.02rem; font-weight: 800; }

.appearance-locked { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem; border: 1px solid #d9c8bc; border-radius: 1rem; background: var(--paper); }
.appearance-lock-icon { width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; display: grid; place-items: center; border-radius: .8rem; background: #f1e5db; color: var(--primary); font-size: 1.25rem; }
.theme-picker { min-width: 0; margin: 0; padding: 0; border: 0; }
.theme-picker legend { margin-bottom: .75rem; font-size: .9rem; font-weight: 800; }
.theme-preset-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; }
.theme-preset-option { display: flex; align-items: center; gap: .6rem; min-width: 0; padding: .65rem; border: 1px solid var(--line); border-radius: .85rem; background: var(--paper); cursor: pointer; font-size: .82rem; font-weight: 700; transition: border-color .2s, box-shadow .2s, transform .2s; }
.theme-preset-option:hover { transform: translateY(-1px); }
.theme-preset-option:has(input:checked) { border-color: var(--event-primary); box-shadow: 0 0 0 .12rem color-mix(in srgb, var(--event-primary) 22%, transparent); }
.theme-preset-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.theme-preset-swatch { width: 2rem; height: 2rem; flex: 0 0 2rem; display: grid; place-items: center; border: 1px solid var(--event-border); border-radius: .65rem; background: var(--event-soft); }
.theme-preset-swatch span { width: .8rem; height: .8rem; border-radius: 50%; background: var(--event-primary); }
.appearance-logo-fields { margin-top: 1.4rem; }
.appearance-preview { margin-top: 1.5rem; padding: 1rem; border-radius: 1rem; background: var(--event-background); }
.appearance-preview-label { display: block; margin-bottom: .55rem; color: var(--event-muted); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.appearance-preview-card { padding: 1.25rem; border: 1px solid var(--event-card-border); border-radius: 1rem; background: var(--event-card); color: var(--event-ink); text-align: center; }
.appearance-preview-card .event-logo { width: 130px; height: 64px; margin: 0 auto .8rem; }
.appearance-preview-card .eyebrow { margin-bottom: .35rem; }
.appearance-preview-card h3 { margin: 0 0 .9rem; color: var(--event-ink); font-size: 1.15rem; }
.appearance-preview-drop { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-bottom: .85rem; padding: .85rem; border: 2px dashed var(--event-border); border-radius: .85rem; background: var(--event-soft); }
.appearance-preview-drop .upload-icon { width: 2rem; height: 2rem; margin: 0; border-radius: .55rem; font-size: 1.15rem; }
.appearance-preview-card .btn { min-height: 2.4rem; padding: .5rem 1rem; font-size: .8rem; pointer-events: none; }
.appearance-actions { display: flex; gap: .7rem; margin-top: 1.25rem; }
.appearance-actions > * { flex: 1 1 0; }

.create-event-form fieldset { min-width: 0; margin: 0 0 1.5rem; padding: 0; border: 0; }
.subscription-selection legend { margin-bottom: .8rem; font-family: Manrope, Arial, sans-serif; font-size: 1.1rem; font-weight: 800; }
.subscription-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.subscription-option { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid #d7cbc1; border-radius: 1rem; background: var(--paper); cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s, transform .2s; }
.subscription-option:hover { border-color: #a98976; transform: translateY(-2px); }
.subscription-option:has(input:checked) { border-color: var(--primary); background: #f7eee7; box-shadow: 0 0 0 .12rem rgba(105, 69, 51, .12); }
.subscription-option input { flex: 0 0 auto; margin-top: .25rem; accent-color: var(--primary); }
.subscription-option-content { display: grid; gap: .25rem; }
.subscription-option-price { color: var(--primary); font-family: Manrope, Arial, sans-serif; font-size: 1.15rem; font-weight: 800; }
.subscription-option-detail { color: var(--muted); font-size: .85rem; line-height: 1.5; }
.create-event-result { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #bed2c3; border-radius: 1rem; background: var(--success-soft); text-align: center; }
.create-event-result h2 { margin-bottom: 1rem; color: #365542; }
.created-link { overflow-wrap: anywhere; font-weight: 700; }
.create-event-note { color: #57705f; font-size: .9rem; }
.created-management-details { display: grid; gap: .75rem; margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid #bed2c3; text-align: left; }
.created-management-details dt { color: #57705f; font-size: .82rem; }
.created-management-details dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.create-event-email-notice, .create-event-order-notice { margin: 1rem 0 0; padding: 1rem; border: 1px solid #d6c8bd; border-radius: .85rem; background: rgba(255, 253, 249, .7); color: #58483d; }
.create-event-submit:disabled { cursor: wait; opacity: .72; }

.email-confirm-card h1 { margin-bottom: 1.5rem; }
.email-confirm-message, .order-data-transfer-confirmation { padding: 1.25rem; border-radius: 1rem; }
.email-confirm-message h2, .order-data-transfer-confirmation h2 { margin-bottom: .75rem; font-size: 1.3rem; }
.email-confirm-message p { margin-bottom: 0; }
.email-confirm-success, .order-data-transfer-confirmation { border: 1px solid #bed2c3; background: var(--success-soft); color: #365542; }
.email-confirm-info { border: 1px solid #d3c5b7; background: #f5eee6; color: #604c3e; }
.email-confirm-warning { border: 1px solid #ead4a7; background: var(--warning-soft); color: #725520; }
.order-data-transfer-confirmation { margin-bottom: 1.5rem; }
.order-data-transfer-confirmation p { margin-bottom: 1rem; }

.manager-login-modal, .uploader-modal { position: fixed; z-index: 1050; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(53, 42, 36, .55); backdrop-filter: blur(4px); }
.uploader-modal[hidden] { display: none; }
.manager-login-card, .uploader-modal-card { position: relative; width: min(100%, 460px); padding: clamp(1.5rem, 5vw, 2.3rem); border: 1px solid var(--line); border-radius: 1.4rem; background: var(--paper); box-shadow: 0 28px 80px rgba(42, 31, 25, .25); }
.manager-login-card h2, .uploader-modal-card h2 { margin-bottom: .7rem; font-size: clamp(1.45rem, 4vw, 1.8rem); }
.manager-login-card .eyebrow, .uploader-modal-card .eyebrow { margin-bottom: .4rem; }
.modal-help { margin-bottom: 1.25rem; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.modal-close { position: absolute; top: .7rem; right: .85rem; width: 2.35rem; height: 2.35rem; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 1.6rem; line-height: 1; }
.modal-close:hover { background: var(--soft); color: var(--ink); }
.modal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
body.modal-open { overflow: hidden; }

.card { border-color: var(--line); border-radius: 1.25rem; background: var(--paper); color: var(--ink); box-shadow: 0 12px 38px rgba(75, 56, 40, .08) !important; }
.card-body { padding: clamp(1.2rem, 3vw, 2rem); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-border-color: var(--line); }
.table thead th { color: var(--muted); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.table td, .table th { padding: .8rem .65rem; }
.container.py-4 { width: min(1180px, calc(100% - 40px)); padding-top: clamp(2.5rem, 6vw, 4.5rem) !important; padding-bottom: clamp(3rem, 7vw, 5.5rem) !important; }

@media (max-width: 760px) {
  .app-container { width: min(100% - 36px, 620px); }
  .app-nav { min-height: 72px; }
  .app-brand { font-size: 1.1rem; }
  .app-brand img { width: 34px; height: 34px; flex-basis: 34px; }
  .app-site-link { font-size: .72rem; }
  .app-navigation { gap: 1rem; }
  .app-navigation a { font-size: .75rem; }
  .app-footer-inner { min-height: 92px; align-items: flex-start; justify-content: center; flex-direction: column; gap: .35rem; }
  .upload-shell, .event-message-shell, .management-shell, .create-event-shell, .email-confirm-shell, .order-data-shell, .content-shell { padding: 2rem 1rem 3.5rem; }
  .upload-card, .event-message-card, .management-card, .create-event-card, .email-confirm-card, .order-data-card, .content-card { border-radius: 1.15rem; }
  .management-schedule, .subscription-options { grid-template-columns: 1fr; }
  .theme-preset-grid { grid-template-columns: repeat(2, 1fr); }
  .appearance-actions { flex-direction: column; }
  .drop-zone { min-height: 195px; }
  .modal-actions { flex-direction: column-reverse; }
  .modal-actions .btn { width: 100%; }
  .table-responsive { border: 1px solid var(--line); border-radius: 1rem; }
}

@media (max-width: 480px) {
  .app-site-link { display: none; }
  .app-navigation a:first-child { display: none; }
  .upload-card, .event-message-card, .management-card, .create-event-card, .email-confirm-card, .order-data-card, .content-card { padding: 1.25rem; }
  .file-list-header, .status-row { align-items: flex-start; }
  .media-count { align-items: center; flex-direction: column; gap: .2rem; }
  .management-qr-actions { flex-direction: column; }
  .theme-preset-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
