:root {
    color-scheme: dark;
    --admin-bg: #0f0f10;
    --admin-panel: #18181a;
    --admin-panel-soft: #202024;
    --admin-line: rgba(255,255,255,.12);
    --admin-text: #fff;
    --admin-muted: #c8c8cb;
    --admin-accent: #e8752d;
    --admin-danger: #ffb4aa;
    --admin-radius: 18px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--admin-bg); }
body { margin: 0; min-height: 100vh; background: var(--admin-bg); color: var(--admin-text); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.admin-wordmark { color: #fff; font-size: 1.2rem; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.admin-wordmark span { color: var(--admin-accent); }
.admin-eyebrow { color: var(--admin-accent); font-size: .73rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.admin-auth-body { display: grid; min-height: 100vh; place-items: center; padding: 28px; background: radial-gradient(circle at 18% 15%, rgba(232,117,45,.2), transparent 35%), #0f0f10; }
.auth-shell { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(320px, 1.15fr); width: min(960px, 100%); overflow: hidden; border: 1px solid var(--admin-line); border-radius: 24px; background: var(--admin-panel); box-shadow: 0 28px 80px rgba(0,0,0,.38); }
.auth-intro, .auth-panel { min-width: 0; padding: clamp(30px, 5vw, 58px); }
.auth-intro { display: flex; flex-direction: column; justify-content: space-between; gap: 54px; background: linear-gradient(155deg, rgba(232,117,45,.16), transparent 55%); border-right: 1px solid var(--admin-line); }
.auth-intro h1 { max-width: 440px; margin: 14px 0; font-size: clamp(2rem, 4.5vw, 3.6rem); line-height: .99; letter-spacing: -.055em; }
.auth-intro p, .auth-panel > p { color: var(--admin-muted); line-height: 1.65; }
.auth-security-note { margin: 0; font-size: .82rem; }
.auth-panel { align-self: center; }
.auth-panel h2 { margin: 9px 0 26px; font-size: 2rem; letter-spacing: -.035em; }

.admin-form { display: grid; gap: 20px; }
.admin-form label { display: grid; gap: 8px; color: #eee; font-size: .9rem; font-weight: 700; }
.admin-form label small { color: var(--admin-muted); font-size: .76rem; font-weight: 500; }
.admin-form input, .admin-form select, .admin-form textarea { width: 100%; min-height: 48px; border: 1px solid var(--admin-line); border-radius: 10px; outline: none; background: #101012; color: #fff; padding: 10px 13px; }
.admin-form input:focus, .admin-form select:focus, .admin-form textarea:focus { border-color: var(--admin-accent); box-shadow: 0 0 0 3px rgba(232,117,45,.18); }
.admin-form textarea { resize: vertical; }
.form-grid { display: grid; gap: 16px; }
.form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-button { display: inline-flex; align-items: center; justify-content: center; justify-self: start; min-height: 44px; border: 0; border-radius: 999px; background: var(--admin-accent); color: #141414; padding: 10px 22px; font-weight: 850; text-decoration: none; cursor: pointer; }
.admin-button:hover { filter: brightness(1.08); }
.admin-button--muted { background: #3b3b40; color: #aaa; cursor: not-allowed; }
.form-alert, .form-notice, .setup-required { margin: 0 0 22px; border-radius: 12px; padding: 14px 16px; line-height: 1.5; }
.form-alert { border: 1px solid rgba(255,116,103,.35); background: rgba(150,35,25,.18); color: var(--admin-danger); }
.form-alert ul { margin: 8px 0 0; padding-left: 18px; }
.form-notice { border: 1px solid rgba(93,205,137,.32); background: rgba(34,120,71,.17); color: #c5f6d6; }
.setup-required { border: 1px solid var(--admin-line); background: var(--admin-panel-soft); }
.setup-required h3 { margin: 0 0 7px; }
.setup-required p { margin: 0; color: var(--admin-muted); }

.admin-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 0 max(24px, calc((100vw - 1180px) / 2)); border-bottom: 1px solid var(--admin-line); background: rgba(15,15,16,.92); backdrop-filter: blur(16px); }
.admin-header nav { display: flex; align-items: center; gap: 20px; font-size: .88rem; }
.admin-header nav > a { color: #fff; font-weight: 750; text-decoration: none; }
.admin-sync-indicator { flex: 0 0 auto; margin-left: auto; margin-right: 20px; padding: 7px 10px; border: 1px solid rgba(232,117,45,.65); border-radius: 999px; background: rgba(232,117,45,.13); color: #fff; font-size: .72rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.admin-sync-indicator:hover, .admin-sync-indicator:focus-visible { background: rgba(232,117,45,.25); }
.admin-sync-indicator[hidden], .reference-sync-panel[hidden] { display: none; }
.admin-user { color: var(--admin-muted); }
.admin-header form { margin: 0; }
.text-button { border: 0; background: none; color: var(--admin-muted); cursor: pointer; padding: 5px 0; }
.text-button:hover { color: #fff; }
.admin-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 58px 0 80px; }
.admin-banner { margin: 0 0 28px; border: 1px solid rgba(93,205,137,.32); border-radius: 12px; background: rgba(34,120,71,.17); color: #c5f6d6; padding: 13px 16px; }
.dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 36px; }
.dashboard-heading h1 { margin: 7px 0 8px; font-size: clamp(2.6rem, 6vw, 5rem); line-height: .95; letter-spacing: -.065em; }
.dashboard-heading p { margin: 0; color: var(--admin-muted); }
.dashboard-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 34px; }
.dashboard-summary { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-line); }
.summary-stat, .summary-note { background: var(--admin-panel); padding: 21px; }
.summary-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.summary-stat strong { font-size: 1.65rem; }
.summary-stat span { color: var(--admin-muted); font-size: .82rem; }
.summary-note { display: flex; gap: 10px; align-items: flex-start; }
.summary-note p { margin: 0; color: var(--admin-muted); font-size: .78rem; line-height: 1.55; }
.summary-note strong { color: #fff; }
.status-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: #62d991; box-shadow: 0 0 0 4px rgba(98,217,145,.12); }
.trip-admin-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.trip-admin-card { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); box-shadow: inset 3px 0 0 var(--trip-accent); }
.trip-admin-card__media { min-height: 210px; background-position: center; background-size: cover; }
.trip-admin-card__media--empty { background: linear-gradient(135deg, rgba(232,117,45,.24), #242429); }
.trip-admin-card__body { padding: 22px; }
.trip-admin-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--admin-muted); font-size: .76rem; }
.state-group { display: inline-flex; align-items: center; gap: 6px; }
.state-pill { display: inline-flex; border-radius: 999px; padding: 5px 9px; font-weight: 800; }
.state-pill--published { background: rgba(98,217,145,.13); color: #8ceab2; }
.state-pill--draft { background: rgba(255,255,255,.08); color: #ddd; }
.journey-pill { color: var(--admin-muted); font-size: .7rem; font-weight: 750; }
.trip-admin-card h2 { margin: 17px 0 5px; font-size: 1.55rem; letter-spacing: -.035em; }
.trip-admin-card__body > p { min-height: 2.8em; margin: 0; color: var(--admin-muted); font-size: .9rem; line-height: 1.55; }
.trip-admin-card__facts { display: flex; flex-wrap: wrap; gap: 14px; margin: 20px 0; color: var(--admin-muted); font-size: .78rem; }
.trip-admin-card__facts strong { color: #fff; }
.publication-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; min-height: 32px; border-top: 1px solid var(--admin-line); padding-top: 17px; font-size: .76rem; }
.publication-row > span { color: var(--admin-muted); margin-right: 3px; }
.publication-row strong { border: 1px solid rgba(232,117,45,.35); border-radius: 999px; background: rgba(232,117,45,.1); color: #ffc59f; padding: 5px 9px; }
.publication-row em { color: #e2c18f; }
.trip-admin-card__actions { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.trip-admin-card__actions a { color: #fff; font-size: .82rem; font-weight: 800; text-decoration: none; }
.trip-admin-card__actions a:hover { color: var(--admin-accent); }
.coming-next { margin-left: auto; color: #777; font-size: .72rem; }
.empty-state { grid-column: 1 / -1; border: 1px dashed var(--admin-line); border-radius: var(--admin-radius); padding: 30px; }
.empty-state h2 { margin-top: 0; }
.empty-state p { color: var(--admin-muted); }

.admin-dialog { position: fixed; inset: 0; z-index: 50; display: grid; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; border: 0; background: transparent; padding: 20px; place-items: center; }
.admin-dialog__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.76); backdrop-filter: blur(8px); }
.admin-dialog__panel { position: relative; z-index: 1; width: min(680px, 100%); max-height: calc(100vh - 40px); overflow: auto; border: 1px solid var(--admin-line); border-radius: 22px; background: var(--admin-panel); padding: clamp(24px, 4vw, 38px); box-shadow: 0 30px 100px rgba(0,0,0,.55); }
.admin-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.admin-dialog__header h2 { margin: 7px 0 0; font-size: 2rem; letter-spacing: -.04em; }
.dialog-close { display: grid; flex: 0 0 auto; width: 38px; height: 38px; border: 1px solid var(--admin-line); border-radius: 50%; background: transparent; color: #fff; padding: 0; font-size: 1.5rem; line-height: 1; text-decoration: none; cursor: pointer; place-items: center; }
.admin-form select { appearance: auto; }
.admin-form input[type="color"] { padding: 5px; }
.check-row { grid-template-columns: auto 1fr; align-items: start; border: 1px solid var(--admin-line); border-radius: 12px; background: rgba(255,255,255,.025); padding: 13px; }
.check-row input { width: 18px; min-height: 18px; margin-top: 2px; accent-color: var(--admin-accent); }
.check-row span { display: grid; gap: 3px; }
.site-choice-fieldset { margin: 0; border: 0; padding: 0; }
.site-choice-fieldset legend { color: #eee; font-size: .9rem; font-weight: 750; }
.site-choice-fieldset > p { margin: 6px 0 12px; color: var(--admin-muted); font-size: .78rem; line-height: 1.5; }
.site-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.site-choice { display: grid !important; grid-template-columns: auto 1fr; align-items: center; gap: 10px !important; border: 1px solid var(--admin-line); border-radius: 12px; background: rgba(255,255,255,.025); padding: 13px; cursor: pointer; }
.site-choice input { width: 18px; min-height: 18px; accent-color: var(--admin-accent); }
.site-choice span { display: grid; gap: 3px; min-width: 0; }
.site-choice small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dialog-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 4px; }
.secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border: 1px solid var(--admin-line); border-radius: 999px; background: transparent; color: #fff; padding: 9px 17px; font-size: .82rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.secondary-button:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.05); }

.trip-editor-shell { padding-top: 34px; }
.editor-breadcrumb { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; color: var(--admin-muted); font-size: .8rem; }
.editor-breadcrumb a { color: #fff; font-weight: 750; text-decoration: none; }
.editor-breadcrumb span { border: 1px solid var(--admin-line); border-radius: 999px; padding: 5px 9px; }
.editor-alert { margin-bottom: 26px; }
.editor-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.editor-heading h1 { margin: 7px 0 8px; font-size: clamp(2.3rem, 5vw, 4.4rem); line-height: .98; letter-spacing: -.058em; }
.editor-heading p { margin: 0; color: var(--admin-muted); }
.editor-preview-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.preview-unavailable { max-width: 240px; color: #888; font-size: .76rem; line-height: 1.45; text-align: right; }
.trip-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 28px; }
.editor-main { display: grid; gap: 22px; }
.editor-section, .editor-side-card { border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); }
.editor-section { padding: clamp(22px, 4vw, 32px); }
.editor-section__heading { display: grid; grid-template-columns: 34px 1fr; gap: 12px; margin-bottom: 26px; }
.editor-section__heading > span { color: var(--admin-accent); font-size: .75rem; font-weight: 850; letter-spacing: .08em; }
.editor-section__heading h2 { margin: -4px 0 4px; font-size: 1.35rem; }
.editor-section__heading p { margin: 0; color: var(--admin-muted); font-size: .82rem; line-height: 1.5; }
.editor-fields { display: grid; gap: 20px; }
.editor-field { display: grid; gap: 8px; }
.field-label-row { position: relative; display: flex; align-items: center; gap: 7px; width: fit-content; max-width: 100%; }
.field-label-row label { display: inline !important; }
.field-label-row label small { color: var(--admin-muted); font-weight: 500; }
.field-info { position: relative; display: inline-grid; flex: 0 0 auto; width: 20px; height: 20px; border: 1px solid rgba(232,117,45,.55); border-radius: 50%; background: rgba(232,117,45,.09); color: #ffb27d; padding: 0; font-size: .7rem; font-weight: 900; line-height: 1; cursor: pointer; place-items: center; }
.field-info::after { position: absolute; left: calc(100% + 8px); top: 50%; z-index: 20; width: max-content; max-width: min(280px, 70vw); border: 1px solid var(--admin-line); border-radius: 9px; background: #29292d; color: #fff; content: attr(data-tooltip); opacity: 0; padding: 7px 9px; font-size: .7rem; font-weight: 600; line-height: 1.4; pointer-events: none; transform: translate(4px, -50%); transition: opacity .15s ease, transform .15s ease; }
.field-info:hover::after, .field-info:focus-visible::after, .field-info.is-open::after { opacity: 1; transform: translate(0, -50%); }
.field-info:focus-visible { outline: 2px solid var(--admin-accent); outline-offset: 2px; }
.field-fallback { color: var(--admin-muted); font-size: .74rem; font-weight: 500; line-height: 1.5; }
.trip-editor-form label { display: grid; gap: 8px; color: #eee; font-size: .88rem; font-weight: 720; }
.trip-editor-form label > span small { color: var(--admin-muted); font-weight: 500; }
.trip-editor-form label > small { color: var(--admin-muted); font-size: .74rem; font-weight: 500; }
.trip-editor-form input, .trip-editor-form select, .trip-editor-form textarea { width: 100%; min-height: 46px; border: 1px solid var(--admin-line); border-radius: 10px; outline: none; background: #101012; color: #fff; padding: 10px 12px; }
.trip-editor-form textarea { resize: vertical; line-height: 1.55; }
.trip-editor-form input:focus, .trip-editor-form select:focus, .trip-editor-form textarea:focus { border-color: var(--admin-accent); box-shadow: 0 0 0 3px rgba(232,117,45,.16); }
.trip-editor-form input[type="color"] { padding: 5px; }
.slug-input { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 10px; background: #101012; }
.slug-input > span { color: #888; padding-left: 12px; font-size: .8rem; }
.slug-input input { border: 0; border-radius: 0; }
.slug-input:focus-within { border-color: var(--admin-accent); box-shadow: 0 0 0 3px rgba(232,117,45,.16); }
.slug-input input:focus { box-shadow: none; }
.new-trip-date-block { display: grid; gap: 18px; }
.date-label-fieldset { display: grid; gap: 14px; margin: 0; border: 0; padding: 0; }
.date-label-fieldset legend { margin-bottom: 9px; color: #eee; font-size: .9rem; font-weight: 750; }
.date-label-fieldset legend span { display: inline-block; margin-right: 5px; vertical-align: middle; }
.date-label-fieldset legend .field-info { vertical-align: middle; }
.date-label-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.date-label-modes label { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; border: 1px solid var(--admin-line); border-radius: 12px; background: rgba(255,255,255,.025); padding: 12px; cursor: pointer; }
.date-label-modes input { width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--admin-accent); }
.date-label-modes span { display: grid; gap: 3px; }
.date-label-modes small { color: var(--admin-muted); font-size: .72rem; font-weight: 500; line-height: 1.4; }
.date-label-panel { display: grid; gap: 12px; border-left: 2px solid rgba(232,117,45,.45); padding-left: 14px; }
.date-label-panel[hidden] { display: none; }
.date-label-preview { display: grid; gap: 4px; border-radius: 11px; background: rgba(232,117,45,.09); padding: 12px 14px; }
.date-label-preview span { color: var(--admin-muted); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.date-label-preview output { color: #fff; font-size: 1rem; font-weight: 800; }
.editor-side { position: sticky; top: 92px; display: grid; gap: 16px; }
.editor-side-card { display: grid; gap: 18px; padding: 21px; }
.publish-state-options { display: grid; gap: 8px; }
.publish-state-options label { grid-template-columns: auto 1fr; align-items: start; border: 1px solid var(--admin-line); border-radius: 11px; padding: 12px; cursor: pointer; }
.publish-state-options input { width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--admin-accent); }
.publish-state-options span { display: grid; gap: 3px; }
.publish-state-options small { color: var(--admin-muted); font-size: .72rem; font-weight: 500; }
.site-choice-fieldset--side legend { margin-bottom: 10px; }
.site-choice-grid--single { grid-template-columns: 1fr; }
.readiness-card ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.readiness-card li { display: flex; align-items: center; gap: 9px; color: var(--admin-muted); font-size: .78rem; }
.readiness-card li span { display: grid; width: 21px; height: 21px; border-radius: 50%; font-size: .7rem; font-weight: 900; place-items: center; }
.readiness-card li.is-ready span { background: rgba(98,217,145,.14); color: #87e9ae; }
.readiness-card li.is-missing span { background: rgba(232,117,45,.14); color: #ffb27f; }
.readiness-card > p { margin: 0; color: #e4ba9f; font-size: .74rem; line-height: 1.5; }
.trip-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-top: 1px solid var(--admin-line); padding-top: 16px; }
.trip-counts span { display: grid; gap: 2px; color: var(--admin-muted); font-size: .68rem; }
.trip-counts strong { color: #fff; font-size: 1rem; }
.editor-save { display: flex; align-items: center; gap: 10px; }

.placement-dialog { width: min(980px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; border: 1px solid var(--admin-line); border-radius: 22px; background: var(--admin-panel); color: #fff; padding: clamp(22px, 4vw, 36px); box-shadow: 0 30px 100px rgba(0,0,0,.65); }
.placement-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(8px); }
.placement-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.placement-dialog__header h2 { margin: 7px 0 0; font-size: clamp(1.7rem, 4vw, 2.5rem); letter-spacing: -.04em; }
.placement-dialog__intro { margin: 12px 0 24px; color: var(--admin-muted); font-size: .86rem; }
.placement-dialog .dialog-close { background: transparent; cursor: pointer; }
.placement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.placement-screen { position: relative; min-height: 250px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 16px; background: #111113; transition: border-color .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease, transform .18s ease; }
.placement-screen.is-highlighted { border-color: var(--admin-accent); box-shadow: 0 0 0 3px rgba(232,117,45,.18); transform: translateY(-2px); }
.placement-screen.is-muted { filter: grayscale(.45) saturate(.45); opacity: .42; transform: scale(.985); }
.placement-screen > small { position: absolute; right: 10px; bottom: 10px; border-radius: 999px; background: rgba(0,0,0,.72); color: #fff; padding: 5px 8px; font-size: .65rem; font-weight: 800; }
.placement-screen__image { position: absolute; inset: 0; background: linear-gradient(155deg, #4d2b20, #171719 58%, #0f0f10); }
.placement-screen__content { position: absolute; inset: auto 24px 28px; z-index: 1; }
.placement-screen__content span, .placement-screen__hero span, .placement-screen__card-copy span, .placement-screen__ending-copy span { color: #ffb27d; font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.placement-screen h3 { margin: 5px 0; font-size: 1.55rem; letter-spacing: -.04em; }
.placement-screen__content strong { font-size: .82rem; }
.placement-screen__content p { max-width: 330px; margin: 9px 0 0; color: rgba(255,255,255,.8); font-size: .75rem; line-height: 1.45; }
.placement-screen__hero { min-height: 145px; background: linear-gradient(145deg, #593024, #171719); padding: 38px 22px 22px; }
.placement-screen__hero strong { font-size: .78rem; }
.placement-screen__about { padding: 17px 22px 38px; }
.placement-screen__about b { font-size: .75rem; }
.placement-screen__about p { margin: 6px 0 0; color: var(--admin-muted); font-size: .73rem; }
.placement-screen--card { display: grid; grid-template-columns: 42% 1fr; min-height: 250px; }
.placement-screen--card .placement-screen__image { position: static; background: linear-gradient(145deg, #593024, #1b1b1e); }
.placement-screen__card-copy { align-self: center; padding: 20px; }
.placement-screen__card-copy p { color: var(--admin-muted); font-size: .75rem; line-height: 1.45; }
.placement-screen--ending { display: grid; text-align: center; place-items: center; }
.placement-screen__ending-copy { max-width: 330px; padding: 32px; }
.placement-screen__ending-copy p { color: var(--admin-muted); font-size: .78rem; line-height: 1.5; }
.placement-screen [data-preview-field].is-placeholder { color: rgba(255,255,255,.48); font-style: italic; }
.placement-screen [data-placement-token] { transition: color .18s ease, text-shadow .18s ease; }
.placement-screen [data-placement-token].is-highlighted { color: #ffc197; text-shadow: 0 0 18px rgba(232,117,45,.48); }

.content-editor-shell { padding-top: 34px; }
.content-editor-heading h1 { font-size: clamp(2.2rem, 4vw, 3.7rem); }
.content-editor-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: start; gap: 26px; }
.journey-outline, .content-edit-panel { min-width: 0; }
.journey-outline__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.journey-outline__heading h2 { margin: 6px 0 0; font-size: 1.45rem; }
.journey-outline__heading p { margin: 5px 0 0; color: var(--admin-muted); font-size: .74rem; }
.day-outline-list { display: grid; gap: 15px; }
.day-outline-card { overflow: hidden; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); }
.day-outline-card.is-selected { border-color: rgba(232,117,45,.65); box-shadow: 0 0 0 2px rgba(232,117,45,.1); }
.day-outline-card__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; border-left: 3px solid var(--trip-accent, var(--admin-accent)); background: rgba(255,255,255,.025); padding: 17px 18px; }
.day-outline-card.is-dragging { border-color: var(--admin-accent); opacity: .68; box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.day-drag-handle { display: grid; width: 32px; height: 32px; border: 1px solid var(--admin-line); border-radius: 50%; background: #111113; color: var(--admin-muted); padding: 0; cursor: grab; touch-action: none; place-items: center; }
.day-drag-handle:active { cursor: grabbing; }
.day-drag-handle:hover, .day-drag-handle:focus-visible { border-color: var(--admin-accent); color: #ffb27d; outline: none; }
.day-drag-handle span { font-size: 1rem; font-weight: 900; letter-spacing: -3px; transform: rotate(90deg); }
.day-outline-card__header > a { display: grid; gap: 3px; min-width: 0; text-decoration: none; }
.day-outline-card__header > a > span { color: var(--admin-accent); font-size: .67rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.day-outline-card__header strong { overflow: hidden; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.day-outline-card__header small { color: var(--admin-muted); font-size: .72rem; }
.order-controls { display: flex; align-items: center; gap: 5px; }
.order-controls form { margin: 0; }
.order-controls button { display: grid; width: 32px; height: 32px; border: 1px solid var(--admin-line); border-radius: 50%; background: #111113; color: #fff; cursor: pointer; place-items: center; }
.order-controls button:hover:not(:disabled) { border-color: var(--admin-accent); color: #ffb27d; }
.order-controls button:disabled { opacity: .25; cursor: default; }
.order-controls--small button { width: 28px; height: 28px; font-size: .8rem; }
.visit-outline-list { display: grid; }
.visit-outline-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border-top: 1px solid var(--admin-line); padding: 12px 18px 12px 21px; }
.visit-outline-item.is-selected { background: rgba(232,117,45,.08); }
.visit-outline-item > a { display: grid; grid-template-columns: 86px minmax(0, 1fr); align-items: center; gap: 3px 12px; min-width: 0; text-decoration: none; }
.visit-outline-item > a > span { grid-row: span 2; color: #ffb27d; font-size: .69rem; font-weight: 750; }
.visit-outline-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visit-outline-item small { color: var(--admin-muted); font-size: .7rem; }
.add-visit-link { display: block; border-top: 1px solid var(--admin-line); color: #ffb27d; padding: 13px 21px; font-size: .75rem; font-weight: 800; text-decoration: none; }
.add-visit-link:hover { background: rgba(232,117,45,.06); color: #ffd0b1; }
.content-edit-panel { position: sticky; top: 92px; }
.content-welcome, .content-item-form { border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); padding: clamp(22px, 3vw, 30px); }
.content-welcome h2 { margin: 8px 0 9px; font-size: 1.65rem; }
.content-welcome > p { color: var(--admin-muted); line-height: 1.6; }
.content-welcome__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.content-stage-note { margin: 22px 0 0; border-top: 1px solid var(--admin-line); color: var(--admin-muted); padding-top: 17px; font-size: .78rem; line-height: 1.55; }
.content-stage-note strong { color: #fff; }
.content-item-form { display: grid; gap: 24px; }
.content-item-form__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.content-item-form__heading h2 { margin: 7px 0 0; font-size: 1.75rem; letter-spacing: -.035em; }
.content-fieldset { display: grid; gap: 16px; margin: 0; border: 1px solid var(--admin-line); border-radius: 13px; padding: 17px; }
.content-fieldset legend { color: var(--admin-accent); padding: 0 7px; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.new-place-fields { border-top: 1px solid var(--admin-line); padding-top: 13px; }
.new-place-fields summary { color: #ffb27d; font-size: .78rem; font-weight: 800; cursor: pointer; }
.new-place-fields[open] summary { margin-bottom: 17px; }
.visit-date-context { border: 1px solid rgba(98,217,145,.22); border-radius: 10px; background: rgba(98,217,145,.07); color: #bceccc; padding: 11px 13px; font-size: .74rem; font-weight: 650; line-height: 1.5; }
.visit-date-context.is-undated { border-color: rgba(232,117,45,.28); background: rgba(232,117,45,.08); color: #e9bea2; }
.visit-location-override { border: 1px solid var(--admin-line); border-radius: 12px; background: rgba(255,255,255,.02); padding: 14px 15px; }
.visit-location-override summary { color: #ffb27d; font-size: .78rem; font-weight: 800; cursor: pointer; }
.visit-location-override[open] summary { margin-bottom: 8px; }
.visit-location-override > p { margin: 0 0 15px; color: var(--admin-muted); font-size: .72rem; line-height: 1.5; }
.place-edit-link { width: fit-content; color: #ffb27d; font-size: .75rem; font-weight: 800; line-height: 1.5; text-underline-offset: 3px; }
.place-editor-note { margin: -8px 0 0; color: var(--admin-muted); font-size: .8rem; line-height: 1.55; }
.content-edit-panel .field-info::after { right: calc(100% + 8px); left: auto; transform: translate(-4px, -50%); }
.content-edit-panel .field-info:hover::after, .content-edit-panel .field-info:focus-visible::after, .content-edit-panel .field-info.is-open::after { transform: translate(0, -50%); }

.media-editor-heading { margin-bottom: 30px; }
.media-editor-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .7fr); align-items: start; gap: 24px; }
.media-upload-panel, .media-foundation-note { border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); }
.media-upload-panel { padding: clamp(22px, 4vw, 34px); box-shadow: inset 3px 0 0 var(--trip-accent); }
.media-panel-heading h2, .media-foundation-note h2, .media-inbox-heading h2 { margin: 7px 0 8px; font-size: 1.55rem; letter-spacing: -.035em; }
.media-panel-heading p, .media-foundation-note p { margin: 0; color: var(--admin-muted); font-size: .84rem; line-height: 1.65; }
.media-upload-form { display: grid; gap: 20px; margin-top: 25px; }
.media-upload-form label { display: grid; gap: 8px; color: #eee; font-size: .84rem; font-weight: 750; }
.media-upload-form label > small, .media-clock-confirm small { color: var(--admin-muted); font-size: .72rem; font-weight: 500; line-height: 1.5; }
.media-upload-form input, .media-upload-form select { width: 100%; min-height: 46px; border: 1px solid var(--admin-line); border-radius: 10px; outline: none; background: #101012; color: #fff; padding: 10px 12px; }
.media-upload-form input:focus, .media-upload-form select:focus { border-color: var(--admin-accent); box-shadow: 0 0 0 3px rgba(232,117,45,.18); }
.media-clock-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.media-clock-input span { color: var(--admin-muted); font-size: .75rem; }
.media-clock-confirm { grid-template-columns: auto minmax(0, 1fr); align-items: start; border: 1px solid var(--admin-line); border-radius: 11px; background: rgba(255,255,255,.025); padding: 14px; cursor: pointer; }
.media-clock-confirm input { width: 17px; min-height: 17px; margin: 2px 0 0; accent-color: var(--admin-accent); }
.media-clock-confirm span { display: grid; gap: 4px; }
.media-file-picker { border-top: 1px solid var(--admin-line); padding-top: 20px; }
.media-file-picker input[type="file"] { min-height: 52px; padding: 8px; }
.media-file-picker input[type="file"]::file-selector-button { min-height: 34px; margin-right: 12px; border: 0; border-radius: 999px; background: #35353a; color: #fff; padding: 7px 14px; font-weight: 750; cursor: pointer; }
.media-upload-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.media-upload-actions > span { color: var(--admin-muted); font-size: .76rem; }
.media-upload-actions button:disabled { opacity: .55; cursor: wait; }
.media-upload-summary { border: 1px solid rgba(232,117,45,.28); border-radius: 10px; background: rgba(232,117,45,.08); color: #f2d2bd; padding: 12px 14px; font-size: .78rem; line-height: 1.5; }
.media-upload-summary a { color: #fff; font-weight: 800; }
.media-upload-queue { display: grid; gap: 7px; max-height: 360px; overflow: auto; margin: 0; padding: 0; list-style: none; }
.media-upload-item { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; border: 1px solid var(--admin-line); border-radius: 9px; padding: 9px 11px; }
.media-upload-item > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #303035; color: #ddd; font-size: .68rem; font-weight: 850; }
.media-upload-item > div { display: grid; min-width: 0; gap: 2px; }
.media-upload-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.media-upload-item small { color: var(--admin-muted); font-size: .68rem; }
.media-upload-item.is-uploading { border-color: rgba(232,117,45,.35); }
.media-upload-item.is-complete { border-color: rgba(98,217,145,.3); }
.media-upload-item.is-failed { border-color: rgba(255,116,103,.35); }
.media-upload-item.is-failed small { color: var(--admin-danger); }
.media-foundation-note { padding: 24px; background: linear-gradient(145deg, rgba(232,117,45,.1), var(--admin-panel) 55%); }
.media-foundation-note ul { display: grid; gap: 10px; margin: 20px 0; padding-left: 18px; color: #e7e7e9; font-size: .78rem; line-height: 1.45; }
.media-inbox-section { margin-top: 42px; }
.media-inbox-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.media-inbox-heading > span { color: var(--admin-muted); font-size: .76rem; }
.media-inbox-heading__actions { display: flex; align-items: center; gap: 12px; }
.media-inbox-heading__actions > span { color: var(--admin-muted); font-size: .76rem; }
.media-inbox-heading__actions .secondary-button { min-height: 36px; padding: 7px 13px; }
.media-review-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 18px; }
.media-review-summary span { border: 1px solid var(--admin-line); border-radius: 999px; background: rgba(255,255,255,.025); color: var(--admin-muted); padding: 6px 10px; font-size: .68rem; }
.media-review-summary strong { color: #fff; }
.media-selection-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -3px 0 18px; border: 1px solid rgba(232,117,45,.28); border-radius: 12px; background: rgba(232,117,45,.07); padding: 12px 14px; }
.media-selection-toolbar[hidden] { display: none; }
.media-selection-toolbar > strong { font-size: .78rem; }
.media-selection-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.media-selection-toolbar .secondary-button, .media-selection-toolbar .admin-button { min-height: 36px; padding: 7px 14px; font-size: .74rem; }
.media-selection-toolbar button:disabled { opacity: .5; cursor: not-allowed; }
.media-bulk-review, .media-bulk-day { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 999px; background: #121214; }
.media-bulk-review > span { color: var(--admin-muted); padding: 0 4px 0 11px; font-size: .67rem; }
.media-bulk-review button, .media-bulk-day button { min-height: 34px; border: 0; border-left: 1px solid var(--admin-line); background: transparent; color: #fff; padding: 6px 9px; font-size: .68rem; font-weight: 800; cursor: pointer; }
.media-bulk-review button:hover, .media-bulk-day button:hover { background: rgba(255,255,255,.06); }
.media-bulk-review button:disabled, .media-bulk-day button:disabled { color: #777; cursor: not-allowed; }
.media-bulk-day select { max-width: 170px; min-height: 34px; border: 0; outline: 0; background: #121214; color: #fff; padding: 5px 8px; font-size: .68rem; }
.media-day-groups { display: grid; gap: 34px; }
.media-day-group { min-width: 0; }
.media-day-group + .media-day-group { border-top: 1px solid var(--admin-line); padding-top: 30px; }
.media-day-group__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.media-day-group__heading h3 { margin: 5px 0 2px; font-size: 1.25rem; letter-spacing: -.025em; }
.media-day-group__heading small, .media-day-group__actions > span { color: var(--admin-muted); font-size: .7rem; }
.media-day-group__actions { display: flex; align-items: center; gap: 10px; }
.media-day-group__actions button { display: none; border: 0; background: transparent; color: #fff; padding: 3px 0; font-size: .68rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.media-visit-plan { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 15px; padding: 12px 14px; border: 1px solid rgba(232,117,45,.3); border-radius: 11px; background: rgba(232,117,45,.055); }
.media-visit-plan > div { display: grid; gap: 3px; flex: 1 1 280px; }
.media-visit-plan strong { color: #fff; font-size: .78rem; }
.media-visit-plan small, .media-visit-plan > span { color: var(--admin-muted); font-size: .68rem; line-height: 1.45; }
.media-visit-plan > span { flex: 1 1 180px; }
.media-visit-plan button { min-height: 34px; padding: 6px 12px; font-size: .7rem; }
.media-visit-plan button:disabled { opacity: .55; }
.media-inbox-card.media-visit-boundary { border-color: rgba(232,117,45,.72); box-shadow: inset 0 3px 0 rgba(232,117,45,.8); }
.media-visit-start { display: grid; gap: 4px; margin-top: 5px; }
.media-visit-start span { color: #fff; font-size: .66rem; font-weight: 800; }
.media-visit-start select { width: 100%; min-width: 0; min-height: 32px; border: 1px solid var(--admin-line); border-radius: 7px; background: #111113; color: #fff; padding: 5px 7px; font-size: .68rem; }
.media-visit-preview { min-height: 1.3em; color: #f5b183; font-size: .65rem; font-weight: 750; }
.media-visit-dialog:not([open]) { display: none; }
.media-visit-dialog-field { display: grid; gap: 6px; margin: 12px 0; color: #fff; font-size: .76rem; font-weight: 750; }
.media-visit-dialog-field small { color: var(--admin-muted); }
.media-visit-dialog-field select, .media-visit-dialog-field input { width: 100%; min-height: 40px; border: 1px solid var(--admin-line); border-radius: 8px; background: #111113; color: #fff; padding: 8px 10px; font: inherit; }
.media-visit-dialog [data-visit-create-error] { color: #ffb0a8; font-size: .76rem; }
.visit-arrange-link { color: #ffb27d; font-size: .68rem; font-weight: 800; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.visit-story-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); align-items: start; gap: 20px; }
.visit-story-side { display: grid; gap: 20px; min-width: 0; }
.visit-story-panel { min-width: 0; border: 1px solid var(--admin-line); border-radius: 16px; background: var(--admin-panel); padding: 22px; }
.visit-story-panel h2 { margin: 7px 0 12px; font-size: 1.2rem; }
.visit-story-hint { color: var(--admin-muted); font-size: .79rem; line-height: 1.55; }
.visit-story-block { margin-top: 12px; border: 1px solid var(--admin-line); border-radius: 10px; background: rgba(255,255,255,.025); padding: 13px; }
.visit-story-block p { margin: 8px 0 0; color: var(--admin-muted); font-size: .77rem; }
.visit-story-block__heading, .visit-story-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.visit-story-block__heading > span { font-size: .78rem; font-weight: 850; }
.visit-story-actions button { min-height: 30px; border: 1px solid var(--admin-line); border-radius: 6px; background: #18181a; color: #fff; padding: 3px 9px; cursor: pointer; }
.visit-story-actions button:disabled { opacity: .4; cursor: default; }
.visit-story-block__grip { display: flex; align-items: center; gap: 9px; min-width: 0; font-size: .78rem; font-weight: 850; }
.story-drag-handle { flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid var(--admin-line); border-radius: 7px; background: #242428; color: #fff; cursor: grab; touch-action: none; font-size: 1.25rem; line-height: 1; }
.story-drag-handle:active { cursor: grabbing; }
.story-drag-handle:focus-visible { outline: 2px solid var(--trip-accent, #E8752D); outline-offset: 2px; }
.visit-story-block.is-dragging { opacity: .44; border-color: var(--trip-accent, #E8752D); }
.story-drag-ghost { position: fixed; z-index: 200; pointer-events: none; padding: 10px 14px; border: 1px solid var(--trip-accent, #E8752D); border-radius: 9px; background: #242428; color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.35); font-size: .8rem; font-weight: 800; max-width: min(300px, 75vw); }
.visit-story-order-status { color: var(--admin-muted); font-size: .76rem; min-height: 1em; }
.visit-story-coordinate-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.visit-story-coordinate-grid input { width: 100%; min-width: 0; min-height: 40px; border: 1px solid var(--admin-line); border-radius: 8px; background: #111113; color: #fff; padding: 9px; font: inherit; }
.visit-story-text-edit, .visit-story-add-form { display: grid; gap: 12px; margin-top: 15px; }
.visit-story-text-edit label, .visit-story-field { display: grid; gap: 6px; font-size: .77rem; font-weight: 750; }
.visit-story-text-edit textarea, .visit-story-field textarea, .visit-story-field select { width: 100%; min-height: 40px; border: 1px solid var(--admin-line); border-radius: 8px; background: #111113; color: #fff; padding: 9px; font: inherit; }
.visit-story-field > small, .visit-story-caption-form > small { color: var(--admin-muted); font-size: .7rem; font-weight: 500; line-height: 1.4; }
.visit-story-caption-form { display: flex; align-items: end; gap: 8px; margin: 8px 0; flex-wrap: wrap; }
.visit-story-caption-form .visit-story-field { flex: 1 1 230px; }
.visit-story-caption-form .visit-story-field input { width: 100%; }
.visit-story-caption-form .secondary-button { min-height: 40px; }
.visit-story-caption-form > small { flex-basis: 100%; }
.visit-story-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 510px; overflow: auto; }
.visit-story-photo { display: grid; grid-template-columns: minmax(0, 1fr) 62px; align-items: center; gap: 6px; min-width: 0; border: 1px solid var(--admin-line); border-radius: 8px; padding: 5px; }
.visit-story-photo label { display: flex; align-items: center; gap: 6px; min-width: 0; cursor: pointer; }
.visit-story-photo label > span { min-width: 0; }
.visit-story-photo.is-used { opacity: .5; cursor: default; }
.visit-story-photo__preview { width: 62px; height: 52px; }
.visit-story-photo img { width: 100%; height: 100%; object-fit: cover; }
.visit-story-photo strong, .visit-story-photo small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .64rem; }
.visit-story-photo small { margin-top: 4px; color: var(--admin-muted); }
.visit-story-block__photos { display: flex; gap: 7px; overflow-x: auto; margin: 12px 0 5px; padding-bottom: 4px; }
.visit-story-thumb-wrap { display: grid; flex: 0 0 76px; justify-items: center; gap: 3px; }
.visit-story-photo-order { display: flex; gap: 3px; }
.visit-story-photo-order button { width: 32px; min-height: 27px; border: 1px solid var(--admin-line); border-radius: 5px; background: #18181a; color: #fff; cursor: pointer; }
.visit-story-photo-order button:disabled { opacity: .4; cursor: default; }
.visit-story-thumb { position: relative; flex: 0 0 auto; width: 76px; height: 62px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 7px; background: #131315; padding: 0; cursor: zoom-in; }
.visit-story-thumb img { width: 100%; height: 100%; object-fit: cover; }
.visit-story-thumb:hover, .visit-story-thumb:focus-visible { border-color: var(--trip-accent, #E8752D); outline: 2px solid rgba(232,117,45,.35); }
.visit-story-hover-preview { position: fixed; z-index: 45; width: min(420px, calc(100vw - 24px)); height: min(360px, calc(100vh - 24px)); border: 1px solid var(--admin-line); border-radius: 12px; background: #111; padding: 6px; box-shadow: 0 20px 55px rgba(0,0,0,.8); pointer-events: none; }
.visit-story-hover-preview[hidden] { display: none; }
.visit-story-hover-preview img { width: 100%; height: 100%; object-fit: contain; }
.visit-story-image-dialog:not([open]) { display: none; }
.visit-story-image-dialog__panel { position: relative; z-index: 1; display: grid; place-items: center; max-width: min(100%, 1000px); max-height: calc(100vh - 40px); border-radius: 12px; background: #111; padding: 16px; }
.visit-story-image-dialog__panel img { display: block; max-width: 100%; max-height: calc(100vh - 72px); object-fit: contain; }
.visit-story-image-dialog__panel .dialog-close { position: absolute; top: 8px; right: 8px; z-index: 2; }
.visit-story-background-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 380px; overflow: auto; }
.visit-story-background-option { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-width: 0; border: 1px solid var(--admin-line); border-radius: 8px; padding: 5px; }
.visit-story-background-option label { display: flex; align-items: center; gap: 5px; min-width: 0; font-size: .68rem; cursor: pointer; }
.visit-story-background-option label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visit-story-background-option:has(input:checked) { border-color: #e8752d; }
.media-visit-plan--bottom { justify-content: space-between; margin-top: 16px; margin-bottom: 0; }
.trip-cover-card h2 { margin: 7px 0 10px; font-size: 1.1rem; }
.trip-cover-card p, .trip-cover-card small { color: var(--admin-muted); font-size: .73rem; line-height: 1.5; }
.trip-cover-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 345px; overflow: auto; margin: 14px 0; }
.trip-cover-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 7px; min-width: 0; border: 1px solid var(--admin-line); border-radius: 9px; padding: 7px; cursor: pointer; }
.trip-cover-choice input[type="radio"] { width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: var(--admin-accent); }
.trip-cover-choice:first-child { grid-column: 1 / -1; }
.trip-cover-choice:has(input:checked) { border-color: #e8752d; background: rgba(232,117,45,.08); }
.trip-cover-choice__image { position: relative; grid-column: 1 / -1; display: block; height: 95px; overflow: hidden; border-radius: 5px; }
.trip-cover-choice__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.trip-cover-choice > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .67rem; }
.photo-orientation { position: absolute; z-index: 2; top: 5px; left: 5px; display: grid; width: 26px; height: 23px; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 5px; background: rgba(12,12,14,.62); box-shadow: 0 2px 7px rgba(0,0,0,.28); pointer-events: none; }
.photo-orientation::before { display: block; width: 14px; height: 10px; border: 1.5px solid #fff; border-radius: 2px; content: ''; }
.photo-orientation--portrait::before { width: 9px; height: 14px; }
.visit-story-delete-dialog:not([open]) { display: none; }
@media (max-width: 820px) { .visit-story-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .visit-story-photos, .visit-story-background-options { grid-template-columns: 1fr; } }
.is-selecting .media-day-group__actions button { display: inline-block; }
.media-inbox-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.media-inbox-card { min-width: 0; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-panel); }
.media-inbox-card:has([data-media-select]:checked) { border-color: var(--admin-accent); box-shadow: 0 0 0 2px rgba(232,117,45,.18); }
.media-inbox-card.media-review--exclude .media-inbox-card__image img { opacity: .52; filter: grayscale(.7); }
.media-inbox-card.media-review--keep { border-color: rgba(98,217,145,.25); }
.media-inbox-card.media-review--unsure { border-color: rgba(245,193,83,.28); }
.media-inbox-card__image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #26262a; }
.media-inbox-card__image img { width: 100%; height: 100%; object-fit: cover; }
.media-inbox-card__image .photo-orientation { top: 9px; left: 9px; }
.media-photo-order { position: absolute; right: 9px; top: 9px; min-width: 25px; border-radius: 999px; background: rgba(10,10,11,.84); color: #fff; padding: 5px 7px; text-align: center; font-size: .65rem; font-weight: 850; }
.media-inbox-card__image.is-empty { display: grid; place-items: center; color: var(--admin-muted); font-size: .72rem; }
.media-status { position: absolute; left: 9px; bottom: 9px; max-width: calc(100% - 18px); overflow: hidden; border-radius: 999px; background: rgba(10,10,11,.86); color: #fff; padding: 6px 9px; font-size: .64rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; backdrop-filter: blur(8px); }
.media-status--suggested { background: rgba(126,64,24,.9); }
.media-status--confirmed { background: rgba(30,105,61,.92); }
.media-inbox-card__copy { display: grid; gap: 6px; padding: 13px; }
.media-inbox-card__copy > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.media-inbox-card__copy > small { color: var(--admin-muted); font-size: .68rem; }
.media-inbox-card__facts { display: flex; flex-wrap: wrap; gap: 6px 12px; color: #e2aa84; font-size: .64rem; font-weight: 750; }
.media-review-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 4px; }
.media-review-buttons button { min-height: 30px; border: 1px solid var(--admin-line); border-radius: 7px; background: transparent; color: var(--admin-muted); padding: 5px 4px; font-size: .63rem; font-weight: 800; cursor: pointer; }
.media-review-buttons button:hover { border-color: rgba(255,255,255,.28); color: #fff; }
.media-review-buttons button[data-media-review="keep"][aria-pressed="true"] { border-color: rgba(98,217,145,.4); background: rgba(98,217,145,.13); color: #c9f5d8; }
.media-review-buttons button[data-media-review="unsure"][aria-pressed="true"] { border-color: rgba(245,193,83,.45); background: rgba(245,193,83,.12); color: #ffe2a1; }
.media-review-buttons button[data-media-review="exclude"][aria-pressed="true"] { border-color: rgba(255,116,103,.4); background: rgba(150,35,25,.16); color: #ffc3bb; }
.media-day-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; margin-top: 2px; }
.media-day-control select { min-width: 0; min-height: 32px; border: 1px solid var(--admin-line); border-radius: 7px; outline: 0; background: #111113; color: #fff; padding: 5px 7px; font-size: .64rem; }
.media-day-control button { min-height: 32px; border: 0; border-radius: 7px; background: #343439; color: #fff; padding: 5px 8px; font-size: .62rem; font-weight: 800; cursor: pointer; }
.media-day-control button:hover { background: #44444a; }
.media-select-control { position: absolute; left: 9px; top: 9px; z-index: 2; display: none; grid-template-columns: auto auto; align-items: center; gap: 6px; border-radius: 999px; background: rgba(10,10,11,.88); color: #fff; padding: 6px 9px; font-size: .66rem; cursor: pointer; backdrop-filter: blur(8px); }
.is-selecting .media-select-control { display: grid; }
.media-select-control input { width: 16px; height: 16px; margin: 0; accent-color: var(--admin-accent); }
.media-card-manage { justify-self: start; border: 0; background: transparent; color: #fff; padding: 2px 0; font-size: .68rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.media-card-manage:hover { color: var(--admin-accent); }
.media-manage-dialog:not([open]) { display: none; }
.media-manage-dialog .admin-dialog__backdrop { border: 0; cursor: default; }
.media-manage-intro { margin: -7px 0 20px; color: var(--admin-muted); font-size: .84rem; line-height: 1.6; }
.media-manage-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.media-manage-choices button { display: grid; gap: 7px; border: 1px solid var(--admin-line); border-radius: 13px; background: rgba(255,255,255,.025); color: #fff; padding: 17px; text-align: left; cursor: pointer; }
.media-manage-choices button:hover { border-color: var(--admin-accent); background: rgba(232,117,45,.07); }
.media-manage-choices button.is-danger { border-color: rgba(255,116,103,.28); }
.media-manage-choices button.is-danger:hover { border-color: rgba(255,116,103,.65); background: rgba(150,35,25,.14); }
.media-manage-choices button:disabled { opacity: .55; cursor: wait; }
.media-manage-choices span { color: var(--admin-muted); font-size: .72rem; line-height: 1.5; }
.media-manage-result { margin-top: 16px; border: 1px solid var(--admin-line); border-radius: 10px; background: rgba(255,255,255,.025); padding: 12px 14px; color: #eee; font-size: .76rem; line-height: 1.5; }

.preferences-shell { max-width: 900px; }
.preferences-form { max-width: 680px; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); padding: clamp(22px, 4vw, 34px); }
.preference-fieldset { display: grid; gap: 9px; margin: 0; border: 0; padding: 0; }
.preference-fieldset legend { color: #fff; font-size: 1.2rem; font-weight: 850; }
.preference-fieldset > p { margin: 0 0 11px; color: var(--admin-muted); font-size: .8rem; line-height: 1.55; }
.preference-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.preference-options label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 9px; border: 1px solid var(--admin-line); border-radius: 11px; background: rgba(255,255,255,.025); padding: 13px; cursor: pointer; }
.preference-options label:has(input:checked) { border-color: var(--admin-accent); background: rgba(232,117,45,.07); }
.preference-options input { width: 17px; min-height: 17px; margin-top: 1px; accent-color: var(--admin-accent); }
.preference-options span { display: grid; gap: 4px; min-width: 0; }
.preference-options strong { font-size: .76rem; }
.preference-options small { color: var(--admin-muted); font-size: .68rem; }

.reference-shell { max-width: 1180px; }
.reference-heading { margin-bottom: 25px; }
.reference-layout { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); align-items: start; gap: 20px; }
.reference-capture-panel, .reference-timeline { border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); padding: clamp(20px, 3vw, 28px); }
.reference-capture-panel { position: sticky; top: 92px; }
.reference-panel-heading h2 { margin: 5px 0 6px; font-size: 1.55rem; letter-spacing: -.035em; }
.reference-panel-heading p { margin: 0; color: var(--admin-muted); font-size: .78rem; line-height: 1.55; }
.reference-form { display: grid; gap: 17px; margin-top: 23px; }
.reference-form > label { display: grid; gap: 7px; color: #fff; font-size: .74rem; font-weight: 800; }
.reference-form > label > span small { color: var(--admin-muted); font-size: .65rem; font-weight: 650; }
.reference-form input[type="text"], .reference-form textarea { width: 100%; border: 1px solid var(--admin-line); border-radius: 10px; background: #111113; color: #fff; padding: 11px 12px; font: inherit; font-size: .78rem; }
.reference-form input:focus, .reference-form textarea:focus { outline: 2px solid rgba(232,117,45,.38); border-color: var(--trip-accent, var(--admin-accent)); }
.reference-type-options { display: grid; gap: 8px; margin: 0; border: 0; padding: 0; }
.reference-type-options legend { margin-bottom: 8px; color: #fff; font-size: .74rem; font-weight: 800; }
.reference-type-options label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; border: 1px solid var(--admin-line); border-radius: 11px; background: rgba(255,255,255,.02); padding: 11px; cursor: pointer; }
.reference-type-options label:has(input:checked) { border-color: var(--trip-accent, var(--admin-accent)); background: rgba(232,117,45,.07); }
.reference-type-options input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--trip-accent, var(--admin-accent)); }
.reference-type-options span { display: grid; gap: 3px; }
.reference-type-options strong { font-size: .74rem; }
.reference-type-options small { color: var(--admin-muted); font-size: .66rem; line-height: 1.45; }
.reference-photo-field { display: grid; gap: 8px; }
.reference-photo-field > span { color: #fff; font-size: .74rem; font-weight: 800; }
.reference-photo-field > span small { color: var(--admin-muted); font-size: .65rem; font-weight: 650; }
.reference-photo-choice { display: grid; align-content: start; gap: 6px; border: 1px solid var(--admin-line); border-radius: 11px; background: rgba(255,255,255,.02); padding: 12px; cursor: pointer; }
.reference-photo-choice--primary { border-color: rgba(232,117,45,.55); background: rgba(232,117,45,.07); }
.reference-photo-choice strong { color: #fff; font-size: .73rem; }
.reference-photo-choice small { color: var(--admin-muted); font-size: .64rem; line-height: 1.45; }
.reference-photo-choice input { width: 100%; border: 1px dashed var(--admin-line); border-radius: 8px; background: #111113; padding: 8px; color: var(--admin-muted); font-size: .66rem; }
.reference-photo-note { color: var(--admin-muted); font-size: .64rem; line-height: 1.5; }
.reference-photo-field > input[type="file"] { width: 100%; max-width: 100%; color: #fff; font-size: .75rem; }
.reference-sync-panel { display: grid; justify-items: start; gap: 8px; border: 1px solid var(--admin-line); border-radius: 11px; padding: 12px; background: rgba(255,255,255,.025); }
.reference-sync-panel strong { color: #fff; font-size: .76rem; }
.reference-sync-panel small { color: var(--admin-muted); font-size: .68rem; line-height: 1.45; }
.reference-location-status { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; border: 1px solid var(--admin-line); border-radius: 11px; background: rgba(255,255,255,.025); padding: 12px; }
.reference-location-status > span { color: #b0b0b5; font-size: .65rem; line-height: 1.4; }
.reference-location-status > div { display: grid; gap: 3px; }
.reference-location-status strong { font-size: .74rem; }
.reference-location-status small { color: var(--admin-muted); font-size: .66rem; line-height: 1.45; }
.reference-location-status[data-state="locating"] > span { color: #f7c86a; animation: reference-pulse 1s ease-in-out infinite; }
.reference-location-status[data-state="ready"] > span { color: #70d69b; }
.reference-location-status[data-state="error"] > span { color: #ff7467; }
@keyframes reference-pulse { 50% { opacity: .3; } }
.reference-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.reference-actions button:disabled { opacity: .55; cursor: wait; }
.reference-online-note { margin: -3px 0 0; color: var(--admin-muted); font-size: .65rem; line-height: 1.5; }
.reference-online-note strong { color: #eee; }
.reference-day-groups { display: grid; gap: 22px; margin-top: 24px; }
.reference-day-group { display: grid; gap: 11px; }
.reference-day-group > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--admin-line); padding-bottom: 10px; }
.reference-day-group > header span { color: var(--trip-accent, var(--admin-accent)); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.reference-day-group > header h3 { margin: 3px 0 0; font-size: 1rem; }
.reference-day-group > header > small { color: var(--admin-muted); font-size: .68rem; }
.reference-cards { display: grid; gap: 10px; }
.reference-card { display: grid; grid-template-columns: 132px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--admin-line); border-radius: 13px; background: rgba(255,255,255,.025); }
.reference-card > img { width: 100%; height: 100%; min-height: 150px; object-fit: cover; }
.reference-card__body { display: grid; align-content: start; gap: 9px; padding: 15px; }
.reference-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--admin-muted); font-size: .65rem; }
.reference-card__meta > span { color: var(--trip-accent, var(--admin-accent)); font-weight: 850; text-transform: uppercase; }
.reference-card h4 { margin: 0; font-size: 1rem; }
.reference-card p { margin: 0; color: #e7e7e9; font-size: .73rem; line-height: 1.55; }
.reference-card__location { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 13px; }
.reference-card__location a, .reference-card__location span { color: #fff; font-size: .68rem; font-weight: 800; text-underline-offset: 3px; }
.reference-card__location small { color: var(--admin-muted); font-size: .64rem; }
.reference-card form { margin-top: 2px; }
.reference-delete { border: 0; background: transparent; color: #ff9a91; padding: 0; font-size: .65rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

@media (max-width: 960px) {
    .content-editor-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, .85fr); }
    .visit-outline-item > a { grid-template-columns: 1fr; }
    .visit-outline-item > a > span { grid-row: auto; }
    .media-inbox-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .trip-admin-list { grid-template-columns: 1fr; }
    .trip-editor-grid { grid-template-columns: minmax(0, 1fr) 290px; }
    .reference-layout { grid-template-columns: 1fr; }
    .reference-capture-panel { position: static; }
}

@media (max-width: 720px) {
    .admin-auth-body { padding: 14px; place-items: start center; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-intro { gap: 30px; border-right: 0; border-bottom: 1px solid var(--admin-line); }
    .auth-intro h1 { font-size: 2.35rem; }
    .auth-intro, .auth-panel { padding: 30px 24px; }
    .form-grid--two { grid-template-columns: 1fr; }
    .date-label-modes { grid-template-columns: 1fr; }
    .admin-header { padding: 0 18px; }
    .admin-header nav { gap: 13px; }
    .admin-sync-indicator { margin-right: 12px; padding: 6px 8px; }
    .admin-user { display: none; }
    .admin-shell { width: min(100% - 30px, 1180px); padding-top: 38px; }
    .dashboard-heading { align-items: flex-start; }
    .dashboard-heading h1 { font-size: 3.3rem; }
    .dashboard-layout { grid-template-columns: 1fr; }
    .dashboard-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .summary-stat { display: grid; justify-items: start; padding: 15px; }
    .summary-note { grid-column: 1 / -1; }
    .admin-dialog { padding: 10px; }
    .admin-dialog__panel { max-height: calc(100vh - 20px); }
    .site-choice-grid { grid-template-columns: 1fr; }
    .editor-heading { align-items: flex-start; }
    .trip-editor-grid { grid-template-columns: 1fr; }
    .editor-side { position: static; grid-template-columns: 1fr; }
    .editor-preview-actions { justify-content: flex-start; }
    .preview-unavailable { text-align: left; }
    .placement-grid { grid-template-columns: 1fr; }
    .content-editor-grid { grid-template-columns: 1fr; }
    .content-edit-panel { position: static; }
    .media-editor-grid { grid-template-columns: 1fr; }
    .media-inbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .preference-options { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .admin-header nav > a[href="/admin/"] { display: none; }
    .admin-sync-indicator { margin-right: 6px; padding: 5px 7px; font-size: .65rem; }
    .dashboard-heading { display: grid; }
    .trip-admin-card__media { min-height: 180px; }
    .trip-admin-card__actions { flex-wrap: wrap; }
    .coming-next { width: 100%; margin-left: 0; }
    .field-info::after { left: 50%; top: calc(100% + 8px); transform: translate(-50%, 4px); }
    .field-info:hover::after, .field-info:focus-visible::after, .field-info.is-open::after { transform: translate(-50%, 0); }
    .content-edit-panel .field-info::after { right: auto; left: 50%; transform: translate(-50%, 4px); }
    .content-edit-panel .field-info:hover::after, .content-edit-panel .field-info:focus-visible::after, .content-edit-panel .field-info.is-open::after { transform: translate(-50%, 0); }
    .placement-screen--card { grid-template-columns: 1fr; }
    .placement-screen--card .placement-screen__image { min-height: 105px; }
    .journey-outline__heading { align-items: flex-start; }
    .day-outline-card__header { padding: 15px; }
    .day-outline-card__header { grid-template-columns: minmax(0, 1fr); }
    .day-outline-card__header > .order-controls { justify-self: start; }
    .visit-outline-item { padding: 12px 15px 12px 18px; }
    .content-item-form { padding: 20px; }
    .media-inbox-grid { grid-template-columns: 1fr; }
    .media-inbox-heading { align-items: flex-start; }
    .media-inbox-heading__actions { display: grid; justify-items: end; }
    .media-selection-toolbar { align-items: flex-start; }
    .media-selection-toolbar { display: grid; }
    .media-selection-actions { justify-content: flex-start; }
    .media-manage-choices { grid-template-columns: 1fr; }
    .reference-card { grid-template-columns: 1fr; }
    .reference-card > img { height: 190px; min-height: 0; }
}

/* Admin instructions */
.instructions-shell { max-width: 1060px; }
.instructions-intro { max-width: 720px; margin-bottom: 30px; }
.instructions-intro h1 { margin: 8px 0 14px; font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; letter-spacing: -.055em; }
.instructions-intro p { margin: 0; color: var(--admin-muted); line-height: 1.65; }
.instructions-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; }
.dashboard-heading > .instructions-actions { margin-top: 0; }
.instructions-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.instructions-nav a { border: 1px solid var(--admin-line); border-radius: 999px; padding: 8px 12px; text-decoration: none; font-size: .8rem; font-weight: 700; }
.instructions-nav a:hover, .instructions-nav a:focus-visible { border-color: var(--admin-accent); }
.instructions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.instructions-card, .instructions-optional { min-width: 0; border: 1px solid var(--admin-line); border-radius: var(--admin-radius); background: var(--admin-panel); padding: clamp(20px, 3vw, 28px); }
.instructions-card { scroll-margin-top: 86px; }
.instructions-number { color: var(--admin-accent); font-size: .76rem; font-weight: 850; letter-spacing: .12em; }
.instructions-card h2, .instructions-optional h2 { margin: 9px 0 16px; font-size: 1.35rem; }
.instructions-card ol, .instructions-card ul { display: grid; gap: 12px; margin: 0; padding-left: 21px; color: var(--admin-muted); line-height: 1.55; font-size: .9rem; }
.instructions-card li::marker { color: var(--admin-accent); font-weight: 750; }
.instructions-card strong { color: var(--admin-text); }
.instructions-tip { margin: 21px 0 0; border-left: 2px solid var(--admin-accent); padding: 2px 0 2px 13px; color: var(--admin-muted); font-size: .85rem; line-height: 1.55; }
.instructions-optional { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 18px; }
.instructions-optional p { max-width: 690px; margin: 0; color: var(--admin-muted); line-height: 1.6; font-size: .9rem; }
.instructions-optional .secondary-button { flex: 0 0 auto; }
@media (max-width: 760px) {
    .instructions-grid { grid-template-columns: 1fr; }
    .instructions-optional { display: grid; }
    .instructions-optional .secondary-button { justify-self: start; }
}

.reference-form select { width: 100%; border: 1px solid var(--admin-line); border-radius: 10px; background: #111113; color: #fff; padding: 11px 12px; font: inherit; font-size: .78rem; }

.reference-assign-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin: 8px 0; }
.reference-assign-form label { display: grid; gap: 5px; color: #fff; font-size: .7rem; }
.reference-assign-form select { border: 1px solid var(--admin-line); border-radius: 8px; background: #111113; color: #fff; padding: 9px; font: inherit; }

.visit-story-field input[type="text"] { width: 100%; min-height: 40px; border: 1px solid var(--admin-line); border-radius: 8px; background: #111113; color: #fff; padding: 9px; font: inherit; }
.visit-story-field[hidden] { display: none; }
/* Narrative Story preview and edit accordion */
.visit-story-live-preview { margin-top: 14px; }
.visit-story-live-preview iframe { display: block; width: 100%; height: 390px; border: 1px solid var(--admin-line); border-radius: 12px; background: #171719; }
.visit-story-live-preview [data-story-preview-unsaved] { display: block; margin-top: 8px; color: #ffb27d; font-size: .68rem; font-weight: 750; }
.visit-story-live-preview [hidden] { display: none; }
.visit-story-edit-details { margin-top: 12px; border-top: 1px solid var(--admin-line); padding-top: 10px; }
.visit-story-edit-details summary { width: fit-content; color: #ffb27d; font-size: .74rem; font-weight: 800; cursor: pointer; }
.visit-story-edit-details summary:focus-visible { outline: 2px solid var(--admin-accent); outline-offset: 4px; }
@media (max-width: 520px) { .visit-story-live-preview iframe { height: 340px; } }

/* PWA offline entry */
.offline-home { max-width: 680px; padding-top: clamp(65px, 13vh, 140px); }
.offline-home h1 { font-size: clamp(2.7rem, 8vw, 5rem); letter-spacing: -.055em; margin: 10px 0 18px; }
.offline-home p { color: #ddd; line-height: 1.65; }
.offline-home__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.offline-home__note { font-size: .82rem; }
.offline-ready-note { margin: 0 0 22px; color: var(--admin-muted); font-size: .79rem; line-height: 1.5; }
.reference-match-panel, .media-reference-timeline { margin: 18px 0; border: 1px solid var(--admin-line); border-radius: 12px; padding: 17px; background: var(--admin-panel); }
.reference-match-panel h2 { font-size: 1.1rem; }
.reference-match-panel p, .media-reference-timeline p { color: var(--admin-muted); font-size: .82rem; line-height: 1.5; }
.reference-match-panel ul, .media-reference-timeline ul { margin: 10px 0 0; padding-left: 20px; line-height: 1.8; font-size: .8rem; }
.media-reference-timeline time { color: #ffb27d; font-weight: 800; }
.media-reference-suggestion { margin: 8px 0; border-left: 2px solid #E8752D; padding: 7px 9px; background: rgba(232,117,45,.09); color: #fff; font-size: .74rem; line-height: 1.45; }

/* Publication guide and placeable link cards */
.publication-guide { border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-panel-soft); padding: 14px 16px; font-size: .78rem; line-height: 1.55; }
.publication-guide h3 { margin: 0 0 8px; font-size: .9rem; }
.publication-guide ol { margin: 0; padding-left: 20px; color: var(--admin-muted); }
.publication-guide p { margin: 9px 0 0; color: var(--admin-muted); }
.story-affiliate-choice { display: flex; align-items: flex-start; gap: 9px; color: var(--admin-text); font-size: .75rem; cursor: pointer; }
.story-affiliate-choice input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--admin-accent); }
.visit-story-add-form input[type="text"], .visit-story-add-form input[type="url"], .visit-story-edit-details input[type="text"], .visit-story-edit-details input[type="url"] { width: 100%; min-height: 40px; border: 1px solid var(--admin-line); border-radius: 8px; background: var(--admin-panel-soft); color: var(--admin-text); padding: 9px; font: inherit; }
html[data-admin-theme="light"] .visit-story-add-form input[type="text"], html[data-admin-theme="light"] .visit-story-add-form input[type="url"], html[data-admin-theme="light"] .visit-story-edit-details input[type="text"], html[data-admin-theme="light"] .visit-story-edit-details input[type="url"] { background: #fff; }
