:root {
    --bg: #f3f1ed;
    --surface: #ffffff;
    --surface-soft: #f8f7f4;
    --surface-dark: #11100f;
    --surface-dark-soft: #1b1917;
    --text: #171512;
    --text-soft: #6e6962;
    --text-faint: #989187;
    --line: #e5e0d8;
    --line-strong: #d6cfc4;
    --accent: #b9985d;
    --accent-deep: #8d6c35;
    --accent-soft: #f2e9d8;
    --success: #267653;
    --success-soft: #e7f5ee;
    --warning: #9b671f;
    --warning-soft: #fff4df;
    --danger: #a83939;
    --danger-soft: #faeaea;
    --info: #355f91;
    --info-soft: #eaf1fa;
    --shadow-sm: 0 2px 12px rgba(29, 25, 20, .055);
    --shadow-md: 0 16px 44px rgba(29, 25, 20, .1);
    --shadow-lg: 0 28px 80px rgba(15, 13, 10, .2);
    --radius-sm: 10px;
    --radius: 18px;
    --radius-lg: 28px;
    --sidebar-width: 270px;
    --transition: 180ms ease;
    color-scheme: light;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.lightbox-open,
body.sidebar-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }
button { border: 0; }
::selection { background: var(--accent-soft); color: var(--text); }

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.hidden { display: none !important; }
.align-right { text-align: right; }
.text-link { color: var(--accent-deep); font-weight: 700; }
.text-link:hover { text-decoration: underline; }
.back-link { display: inline-flex; margin-bottom: 14px; color: var(--text-soft); font-weight: 700; }
.back-link:hover { color: var(--text); }
.eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--accent-deep);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

/* Brand */
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 1px solid rgba(185, 152, 93, .55);
    border-radius: 50%;
    background: linear-gradient(145deg, #c8aa70, #87652f);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 8px 22px rgba(117,84,34,.2);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}
.brand-copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.16; }
.brand-copy strong { letter-spacing: .14em; }
.brand-copy small { margin-top: 4px; overflow: hidden; color: var(--text-faint); font-size: 10px; letter-spacing: .06em; text-overflow: ellipsis; white-space: nowrap; }

/* Buttons */
.button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    transition: transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
}
.button:hover:not(:disabled) { transform: translateY(-1px); }
.button:active:not(:disabled) { transform: translateY(0); }
.button:focus-visible, .icon-button:focus-visible, .filter-button:focus-visible, .settings-tab:focus-visible { outline: 3px solid rgba(185,152,93,.3); outline-offset: 2px; }
.button:disabled { cursor: not-allowed; opacity: .5; }
.button-primary { background: var(--surface-dark); box-shadow: 0 8px 22px rgba(17,16,15,.14); color: #fff; }
.button-primary:hover:not(:disabled) { background: #28241f; box-shadow: 0 12px 28px rgba(17,16,15,.2); }
.button-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--text); }
.button-secondary:hover:not(:disabled) { border-color: #bdb4a7; box-shadow: var(--shadow-sm); }
.button-ghost { background: transparent; color: var(--text-soft); }
.button-ghost:hover:not(:disabled) { background: var(--surface-soft); color: var(--text); }
.button-danger { background: var(--danger); color: #fff; }
.button-danger:hover:not(:disabled) { background: #8d2b2b; box-shadow: 0 10px 24px rgba(168,57,57,.2); }
.button-small { min-height: 37px; padding: 8px 13px; border-radius: 10px; font-size: 13px; }
.button-full { width: 100%; }
.icon-button { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; background: transparent; color: inherit; cursor: pointer; }
.icon-button:hover { background: rgba(255,255,255,.08); }
.text-button { padding: 0; background: transparent; color: var(--accent-deep); cursor: pointer; font-size: 12px; font-weight: 800; }
.text-button:hover { text-decoration: underline; }
.danger-text { color: var(--danger); }

/* Forms */
.field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.field > span { color: var(--text); font-size: 13px; font-weight: 750; }
.field > span small { color: var(--text-faint); font-weight: 500; }
input, select, textarea {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--line-strong);
    border-radius: 11px;
    background: var(--surface);
    color: var(--text);
    outline: 0;
    transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}
input, select { padding: 10px 13px; }
textarea { min-height: 110px; padding: 12px 13px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #aaa399; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(185,152,93,.13); }
input[type="checkbox"], input[type="radio"] { width: 18px; min-height: 18px; accent-color: var(--surface-dark); }
.field-error { margin: 0; color: var(--danger); font-size: 12px; font-weight: 650; }
.field-hint { color: var(--text-faint); font-size: 11px; }
.form-stack { display: flex; flex-direction: column; gap: 16px; }
.form-grid { display: grid; gap: 20px; }
.form-grid.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-full { grid-column: 1 / -1; }
.nested-grid { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-soft); }
.form-actions { display: flex; justify-content: flex-end; padding-top: 24px; border-top: 1px solid var(--line); }
.checkbox-line { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; }
.checkbox-card {
    display: flex;
    min-height: 76px;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--surface-soft);
    cursor: pointer;
}
.checkbox-card input { flex: 0 0 auto; margin-top: 2px; }
.checkbox-card span { display: flex; flex-direction: column; gap: 4px; }
.checkbox-card strong { font-size: 13px; }
.checkbox-card small { color: var(--text-soft); font-size: 11px; line-height: 1.45; }
.checkbox-card.compact { min-height: auto; }

/* Guest */
.guest-body {
    position: relative;
    display: grid;
    min-height: 100vh;
    grid-template-rows: auto 1fr auto;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 8% 5%, rgba(185,152,93,.16), transparent 28%),
        radial-gradient(circle at 96% 72%, rgba(91,75,54,.11), transparent 26%),
        #eeece7;
}
.ambient { position: fixed; z-index: 0; border-radius: 50%; filter: blur(70px); pointer-events: none; }
.ambient-one { top: 7%; right: -8%; width: 360px; height: 360px; background: rgba(185,152,93,.13); }
.ambient-two { bottom: -8%; left: -6%; width: 300px; height: 300px; background: rgba(38,42,48,.08); }
.guest-header, .guest-main, .guest-footer { position: relative; z-index: 1; }
.guest-header { display: flex; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 30px 0; }
.guest-main { display: grid; width: min(1080px, calc(100% - 32px)); margin: 0 auto; place-items: center; padding: 30px 0 70px; }
.guest-footer { display: flex; width: min(1180px, calc(100% - 40px)); align-items: center; justify-content: space-between; gap: 20px; margin: 0 auto; padding: 24px 0; border-top: 1px solid rgba(82,73,61,.13); color: var(--text-soft); font-size: 12px; }
.guest-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.guest-footer a:hover { color: var(--text); }
.auth-shell { display: grid; width: 100%; max-width: 960px; grid-template-columns: minmax(0, .9fr) minmax(360px, 1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 30px; background: rgba(255,255,255,.79); box-shadow: var(--shadow-lg); backdrop-filter: blur(20px); }
.auth-visual { display: flex; min-height: 620px; flex-direction: column; justify-content: space-between; padding: 48px; background: linear-gradient(145deg, #11100f, #2a2520); color: #fff; }
.auth-visual h1 { max-width: 470px; margin: 12px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(35px, 4vw, 56px); font-weight: 500; letter-spacing: -.035em; line-height: 1.02; }
.auth-visual p { max-width: 430px; margin: 0; color: rgba(255,255,255,.65); font-size: 16px; }
.auth-visual .eyebrow { color: #d1b57e; }
.auth-trust { display: grid; gap: 14px; }
.auth-trust span { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72); font-size: 13px; }
.auth-trust span::before { content: "✓"; color: #d1b57e; font-weight: 900; }
.auth-card { display: flex; min-height: 620px; flex-direction: column; justify-content: center; padding: 54px; }
.auth-card h1 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: 34px; font-weight: 500; }
.auth-card > p, .auth-card-header p { margin: 0 0 28px; color: var(--text-soft); }
.auth-card .button { margin-top: 4px; }
.auth-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; color: var(--text-soft); font-size: 13px; }
.auth-links a { color: var(--accent-deep); font-weight: 700; }
.auth-legal { margin-top: 18px; color: var(--text-faint); font-size: 11px; text-align: center; }
.auth-legal a { text-decoration: underline; }
.form-note { padding: 12px 14px; border-radius: 10px; background: var(--surface-soft); color: var(--text-soft); font-size: 12px; }
.setup-shell { width: 100%; max-width: 900px; }
.setup-card { padding: 40px; border: 1px solid rgba(255,255,255,.8); border-radius: var(--radius-lg); background: rgba(255,255,255,.9); box-shadow: var(--shadow-lg); }
.setup-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 30px; }
.setup-step { padding: 12px; border-radius: 10px; background: var(--surface-soft); color: var(--text-soft); font-size: 12px; font-weight: 750; text-align: center; }
.setup-step.active { background: var(--surface-dark); color: #fff; }

/* Alerts */
.alert {
    position: relative;
    z-index: 30;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    padding: 14px 17px;
    border: 1px solid;
    border-radius: 13px;
    box-shadow: var(--shadow-sm);
    font-weight: 650;
}
.alert button { flex: 0 0 auto; padding: 0 3px; background: transparent; color: inherit; cursor: pointer; font-size: 22px; }
.alert-success { border-color: #b9decf; background: var(--success-soft); color: #1d6044; }
.alert-error { border-color: #edc1c1; background: var(--danger-soft); color: #8e2f2f; }
.toast-region { position: fixed; z-index: 1000; right: 22px; bottom: 22px; display: grid; width: min(360px, calc(100vw - 40px)); gap: 10px; }
.toast { padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-dark); box-shadow: var(--shadow-md); color: #fff; font-size: 13px; font-weight: 650; animation: toast-in .22s ease; }
.toast.success { background: #18583d; }
.toast.error { background: #852b2b; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* App shell */
.mobile-header { display: none; }
.app-shell { display: grid; min-height: 100vh; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
.sidebar {
    position: fixed;
    z-index: 80;
    inset: 0 auto 0 0;
    display: flex;
    width: var(--sidebar-width);
    flex-direction: column;
    justify-content: space-between;
    padding: 26px 18px 20px;
    background: var(--surface-dark);
    color: #fff;
}
.sidebar .brand-copy small { color: rgba(255,255,255,.43); }
.sidebar-top { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.sidebar-brand { padding: 0 10px 30px; }
.main-nav { display: flex; flex-direction: column; gap: 4px; }
.nav-link {
    display: flex;
    width: 100%;
    min-height: 45px;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    border-radius: 11px;
    background: transparent;
    color: rgba(255,255,255,.61);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    transition: background var(--transition), color var(--transition);
}
.nav-link span { width: 19px; color: rgba(209,181,126,.72); font-size: 17px; text-align: center; }
.nav-link:hover { background: rgba(255,255,255,.055); color: #fff; }
.nav-link.active { background: rgba(209,181,126,.14); color: #fff; }
.nav-link.active span { color: #d5b777; }
.sidebar-bottom { display: grid; gap: 14px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.profile-mini { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; padding: 0 7px; }
.profile-mini > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.profile-mini strong, .profile-mini small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-mini strong { font-size: 12px; }
.profile-mini small { color: rgba(255,255,255,.4); font-size: 10px; }
.avatar { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-deep); font-size: 11px; font-weight: 850; }
.small-avatar { width: 32px; height: 32px; flex-basis: 32px; font-size: 10px; }
.logout-button { border: 0; }
.sidebar-backdrop { display: none; }
.app-main { grid-column: 2; width: 100%; max-width: 1660px; min-width: 0; margin: 0 auto; padding: 38px 42px 70px; }

/* General page */
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.page-header > div:first-child { min-width: 0; }
.page-header h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(33px, 3.2vw, 48px); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.page-header p { max-width: 760px; margin: 10px 0 0; color: var(--text-soft); }
.gallery-page-header p { line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.page-header-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.panel { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.compact-panel { padding: 21px; }
.panel-heading { margin-bottom: 22px; }
.panel-heading h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; letter-spacing: -.015em; }
.panel-heading p { margin: 7px 0 0; color: var(--text-soft); font-size: 13px; }
.row-between { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.callout { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 22px; padding: 17px 19px; border: 1px solid; border-radius: 14px; }
.callout strong { display: block; margin-bottom: 3px; }
.callout p { margin: 0; color: inherit; opacity: .82; font-size: 13px; }
.callout-warning { border-color: #e9cd9d; background: var(--warning-soft); color: #77501a; }
.callout-success { border-color: #b9decf; background: var(--success-soft); color: #1d6044; }
.callout-neutral { border-color: var(--line); background: var(--surface-soft); color: var(--text-soft); }
.temporary-password { margin: 6px 0 0 !important; color: var(--text) !important; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 17px !important; font-weight: 800; letter-spacing: .04em; }
.secure-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #bad7c9; border-radius: 999px; background: var(--success-soft); color: var(--success); font-size: 12px; font-weight: 800; }
.search-bar { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: center; gap: 10px; margin-bottom: 18px; }
.media-filter-bar { grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) auto auto; }
.empty-inline { padding: 24px; border: 1px dashed var(--line-strong); border-radius: 13px; background: var(--surface-soft); color: var(--text-soft); text-align: center; }
.empty-inline.large { padding: 50px 24px; }
.empty-state { display: grid; min-height: 390px; place-items: center; align-content: center; padding: 60px 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); text-align: center; }
.empty-state h2 { max-width: 660px; margin: 8px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3vw, 40px); font-weight: 500; line-height: 1.16; }
.empty-state p { max-width: 570px; margin: 0 0 24px; color: var(--text-soft); }
.empty-state.compact { min-height: 260px; }
.empty-icon { display: grid; width: 76px; height: 76px; place-items: center; margin-bottom: 24px; border: 1px solid #d8c69f; border-radius: 50%; background: var(--accent-soft); color: var(--accent-deep); font-family: Georgia, serif; font-size: 34px; }

/* Dashboard */
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 25px; }
.metric-card { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card span { color: var(--text-soft); font-size: 12px; font-weight: 750; }
.metric-card strong { display: block; margin-top: 7px; font-family: Georgia, serif; font-size: 38px; font-weight: 500; line-height: 1; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; }
.quick-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.quick-action { display: flex; min-height: 118px; flex-direction: column; justify-content: space-between; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); transition: border var(--transition), transform var(--transition), box-shadow var(--transition); }
.quick-action:hover { transform: translateY(-2px); border-color: #cbbda7; box-shadow: var(--shadow-sm); }
.quick-action b { font-size: 25px; font-weight: 500; }
.quick-action span { font-size: 13px; font-weight: 800; }
.activity-list { display: grid; gap: 2px; }
.activity-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.activity-row:last-child { border-bottom: 0; }
.activity-icon { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-deep); font-size: 11px; }
.activity-row span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.activity-row strong { font-size: 12px; }
.activity-row small { overflow: hidden; color: var(--text-faint); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

/* Cards and galleries */
/* Gallery copy is intentionally never line-clamped: titles and descriptions must remain fully readable. */
.gallery-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
    align-items: stretch;
}
.gallery-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(188,168,136,.52);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,247,242,.98) 100%);
    box-shadow: 0 16px 32px rgba(54,38,18,.08);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.gallery-card:hover {
    transform: translateY(-4px);
    border-color: rgba(169,140,84,.56);
    box-shadow: 0 22px 44px rgba(54,38,18,.14);
}
.gallery-cover {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #201d19;
}
.gallery-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.gallery-card:hover .gallery-cover img { transform: scale(1.03); }
.cover-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 180px;
    place-items: center;
    align-content: center;
    gap: 5px;
    background: linear-gradient(145deg, #191715, #302a25);
    color: #fff;
}
.cover-placeholder b { font-family: Georgia, serif; font-size: 48px; font-weight: 500; color: #d3b677; }
.cover-placeholder small { color: rgba(255,255,255,.56); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.privacy-badge { position: absolute; top: 13px; right: 13px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(12,11,10,.56); backdrop-filter: blur(10px); color: #fff; font-size: 10px; font-weight: 800; }
.gallery-card-body {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 20px 22px;
}
.gallery-card-body > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gallery-card h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.18;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}
.gallery-card p {
    display: block;
    overflow: visible;
    margin: 0;
    color: var(--text-soft);
    font-size: 12px;
    line-height: 1.62;
    white-space: pre-line;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}
.media-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: var(--text-faint);
    font-size: 11px;
}
.media-counts span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(198,186,164,.46);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
}
.admin-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; align-items: stretch; }
.admin-gallery-card { overflow: hidden; border: 1px solid rgba(188,168,136,.52); border-radius: 20px; background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(249,246,241,.98) 100%); box-shadow: 0 16px 32px rgba(54,38,18,.08); }
.admin-gallery-cover { position: relative; aspect-ratio: 16 / 8.8; overflow: hidden; background: #25211c; }
.admin-gallery-cover img { width: 100%; height: 100%; object-fit: cover; }
.admin-gallery-body { padding: 18px; }
.admin-gallery-body h2 { margin: 0; font-family: Georgia, serif; font-size: 23px; font-weight: 500; line-height: 1.2; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.admin-gallery-body p { margin: 7px 0 14px; color: var(--text-soft); font-size: 12px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.admin-gallery-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; color: var(--text-faint); font-size: 11px; }
.card-actions { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 14px; border-top: 1px solid var(--line); }

/* Tables */
.table-panel { padding: 0; overflow: hidden; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 17px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; white-space: nowrap; }
th { background: var(--surface-soft); color: var(--text-soft); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
td { font-size: 12px; }
tbody tr:hover { background: #fcfbf9; }
tbody tr:last-child td { border-bottom: 0; }
.table-person { display: inline-flex; align-items: center; gap: 10px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 22px; border-top: 1px solid var(--line); }
.pagination a, .pagination span { display: grid; min-width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); font-size: 12px; font-weight: 750; }
.pagination .active { border-color: var(--surface-dark); background: var(--surface-dark); color: #fff; }

/* Status and switches */
.status-badge { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 850; }
.status-active { background: var(--success-soft); color: var(--success); }
.status-inactive { background: var(--danger-soft); color: var(--danger); }
.large-badge { padding: 8px 12px; font-size: 11px; }
.switch { position: relative; display: inline-flex; cursor: pointer; }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch-track { display: block; width: 48px; height: 27px; padding: 3px; border-radius: 999px; background: #d2cdc4; transition: background var(--transition); }
.switch-track span { display: block; width: 21px; height: 21px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.2); transition: transform var(--transition); }
.switch input:checked + .switch-track { background: var(--success); }
.switch input:checked + .switch-track span { transform: translateX(21px); }
.switch input:focus-visible + .switch-track { outline: 3px solid rgba(185,152,93,.3); outline-offset: 2px; }
.access-switch-list { display: grid; }
.access-switch-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.access-switch-row:last-child { border-bottom: 0; }
.access-switch-row > span:first-of-type { display: flex; flex-direction: column; }
.access-switch-row strong { font-size: 13px; }
.access-switch-row small { color: var(--text-faint); font-size: 11px; }
.access-switch-row.is-saving { opacity: .55; pointer-events: none; }
.user-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .55fr); gap: 20px; margin-bottom: 20px; }
.detail-sidebar { display: grid; align-content: start; gap: 16px; }
.detail-list { margin: 0; }
.detail-list > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: var(--text-soft); font-size: 11px; }
.detail-list dd { margin: 0; font-size: 11px; font-weight: 800; text-align: right; }
.stacked-actions { display: grid; gap: 9px; }
.bulk-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -4px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.bulk-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.user-selection-list { display: grid; gap: 7px; }
.user-selection-row { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); cursor: pointer; }
.user-selection-row:hover { border-color: #cdbfa9; }
.user-selection-row.has-access { background: #f4faf7; }
.user-selection-row > input { width: 17px; min-height: 17px; }
.user-selection-name { display: flex; min-width: 0; flex-direction: column; }
.user-selection-name strong, .user-selection-name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-selection-name small { color: var(--text-soft); font-size: 11px; }
.access-state { color: var(--text-soft); font-size: 11px; font-weight: 750; }
.has-access .access-state { color: var(--success); }
.favorite-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.favorite-admin-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.favorite-admin-card img, .favorite-admin-card > .cover-placeholder { width: 100%; height: 125px; min-height: 125px; object-fit: cover; }
.favorite-admin-card > span:last-child { display: flex; min-width: 0; flex-direction: column; padding: 10px; }
.favorite-admin-card strong, .favorite-admin-card small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.favorite-admin-card strong { font-size: 11px; }
.favorite-admin-card small { color: var(--text-faint); font-size: 9px; }

/* Upload and admin media */
.upload-panel { margin-bottom: 20px; }
.upload-concurrency { flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: var(--surface-soft); color: var(--text-soft); font-size: 10px; font-weight: 800; }
.upload-zone { display: grid; min-height: 290px; place-items: center; align-content: center; padding: 34px; border: 2px dashed #cfc6b8; border-radius: 18px; background: var(--surface-soft); text-align: center; transition: border var(--transition), background var(--transition), transform var(--transition); }
.upload-zone.is-dragging { transform: scale(.997); border-color: var(--accent); background: var(--accent-soft); }
.upload-zone.is-disabled { opacity: .55; }
.upload-zone-icon { display: grid; width: 62px; height: 62px; place-items: center; margin-bottom: 14px; border-radius: 50%; background: var(--surface-dark); color: #fff; font-size: 27px; }
.upload-zone h3 { margin: 0; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.upload-zone p { margin: 7px 0 18px; color: var(--text-soft); }
.upload-zone-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.upload-options { margin-top: 14px; }
.upload-dashboard { margin-top: 22px; }
.upload-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 13px; }
.upload-summary > div:first-child { display: flex; flex-direction: column; }
.upload-summary small { color: var(--text-soft); }
.upload-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.progress-track { width: 100%; margin-bottom: 16px; }
progress { width: 100%; height: 8px; overflow: hidden; border: 0; border-radius: 999px; background: #e9e5de; appearance: none; }
progress::-webkit-progress-bar { border-radius: 999px; background: #e9e5de; }
progress::-webkit-progress-value { border-radius: 999px; background: var(--surface-dark); transition: width .15s linear; }
progress::-moz-progress-bar { border-radius: 999px; background: var(--surface-dark); }
.upload-queue { display: grid; max-height: 520px; overflow: auto; border: 1px solid var(--line); border-radius: 13px; }
.upload-item { display: grid; grid-template-columns: 34px minmax(0, 1fr) minmax(90px, 160px) 90px; align-items: center; gap: 12px; padding: 11px 13px; border-bottom: 1px solid var(--line); background: var(--surface); }
.upload-item:last-child { border-bottom: 0; }
.upload-item-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: var(--surface-soft); color: var(--text-soft); font-size: 12px; }
.upload-item-copy { display: flex; min-width: 0; flex-direction: column; }
.upload-item-copy strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.upload-item-copy small { color: var(--text-faint); font-size: 9px; }
.upload-item progress { height: 6px; }
.upload-item-status { color: var(--text-soft); font-size: 10px; font-weight: 750; text-align: right; }
.upload-item.is-complete .upload-item-status { color: var(--success); }
.upload-item.is-failed .upload-item-status { color: var(--danger); }
.upload-item.is-recoverable { background: #fff8e8; }
.upload-item.is-recoverable .upload-item-icon { background: #f6e5b8; color: #8a5a00; }
.upload-item.is-recoverable .upload-item-status { color: #8a5a00; }
.admin-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 13px; }
.admin-media-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.admin-media-thumb { position: relative; display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #201d19; color: #d8bd85; font-size: 32px; }
.admin-media-thumb img { width: 100%; height: 100%; object-fit: cover; }
.admin-media-thumb small { position: absolute; top: 8px; right: 8px; padding: 4px 7px; border-radius: 999px; background: rgba(0,0,0,.55); color: #fff; font-size: 8px; font-weight: 850; }
.admin-media-info { display: flex; min-width: 0; flex-direction: column; padding: 11px; }
.admin-media-info strong, .admin-media-info small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-media-info strong { font-size: 11px; }
.admin-media-info small { color: var(--text-faint); font-size: 9px; }
.admin-media-actions { display: flex; flex-wrap: wrap; gap: 9px; padding: 10px 11px; border-top: 1px solid var(--line); }
.media-library-panel { min-height: 360px; }
.media-library-card details { border-top: 1px solid var(--line); }
.media-card-details summary { padding: 10px 11px; color: var(--accent-deep); cursor: pointer; font-size: 11px; font-weight: 800; list-style: none; }
.media-card-details summary::-webkit-details-marker { display: none; }
.media-detail-actions { display: grid; gap: 9px; padding: 0 11px 12px; }
.inline-select-form { display: grid; gap: 7px; }
.inline-select-form select { min-height: 38px; padding: 7px 9px; font-size: 11px; }

/* Settings */
.settings-tabs { display: flex; overflow-x: auto; gap: 5px; margin-bottom: 18px; padding: 5px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.settings-tab { min-height: 39px; flex: 1 0 auto; padding: 8px 16px; border-radius: 9px; background: transparent; color: var(--text-soft); cursor: pointer; font-size: 12px; font-weight: 800; }
.settings-tab.active { background: var(--surface-dark); color: #fff; }
.settings-panel { display: none; }
.settings-panel.active { display: block; }
.settings-panel > * + * { margin-top: 18px; }
.form-panel { padding: 30px; }
.settings-split { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 18px; }
.code-block { position: relative; overflow: hidden; border-radius: 12px; background: #181715; color: #e7e2d8; }
.code-block pre { max-width: 100%; margin: 0; overflow: auto; padding: 20px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; line-height: 1.6; }
.copy-code { position: absolute; top: 9px; right: 9px; z-index: 2; padding: 6px 9px; border-radius: 7px; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; font-size: 9px; font-weight: 800; }
.settings-test-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.settings-test-card .panel-heading { margin: 0; }
.backup-list { display: grid; }
.backup-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.backup-row:last-child { border-bottom: 0; }
.backup-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; background: var(--surface-soft); color: var(--accent-deep); }
.backup-row > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.backup-row strong, .backup-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.backup-row strong { font-size: 12px; }
.backup-row small { color: var(--text-faint); font-size: 10px; }
.backup-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }
.button-restore { border-color: rgba(157,122,62,.42); background: var(--accent-soft); color: var(--accent-deep); }
.button-restore:hover:not(:disabled) { border-color: rgba(157,122,62,.72); background: #f1e7d4; box-shadow: var(--shadow-sm); }
.backup-row.is-legacy { opacity: .82; }
.backup-archive-path { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 12px; margin: -4px 0 16px; padding: 12px 14px; border: 1px solid rgba(188,168,136,.45); border-radius: 13px; background: var(--surface-soft); }
.backup-archive-path > span { color: var(--text-faint); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.backup-archive-path code { min-width: 0; overflow-wrap: anywhere; color: var(--text); font-size: 11px; font-weight: 750; }
.backup-archive-path small { grid-column: 2; color: var(--text-faint); font-size: 9px; }
.restore-backup-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 18px; align-items: start; }
.restore-backup-card { display: grid; gap: 16px; }
.restore-backup-card h2 { margin: 0; overflow-wrap: anywhere; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.restore-backup-card p { margin: 6px 0 0; color: var(--text-soft); font-size: 11px; line-height: 1.55; }
.restore-backup-icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(169,140,84,.3); border-radius: 16px; background: var(--accent-soft); color: var(--accent-deep); font-size: 25px; }
.restore-backup-facts { display: grid; margin: 0; border-top: 1px solid var(--line); }
.restore-backup-facts > div { display: grid; grid-template-columns: minmax(110px,.45fr) minmax(0,1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.restore-backup-facts dt { color: var(--text-faint); font-size: 10px; }
.restore-backup-facts dd { margin: 0; color: var(--text); font-size: 10px; font-weight: 750; text-align: right; overflow-wrap: anywhere; }
.restore-confirm-panel .form-actions { justify-content: flex-end; }

/* System */
.status-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.status-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-sm); }
.status-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--text-faint); box-shadow: 0 0 0 5px rgba(152,145,135,.12); }
.status-card h2 { margin: 0; font-size: 13px; }
.status-card p { margin: 3px 0 0; color: var(--text-soft); font-size: 11px; }
.status-card > strong { font-size: 10px; text-transform: uppercase; }
.status-ok .status-dot { background: var(--success); box-shadow: 0 0 0 5px rgba(38,118,83,.12); }
.status-ok > strong { color: var(--success); }
.status-notice .status-dot { background: var(--warning); box-shadow: 0 0 0 5px rgba(155,103,31,.12); }
.status-notice > strong { color: var(--warning); }
.status-error { border-color: #e8baba; background: #fffafa; }
.status-error .status-dot { background: var(--danger); box-shadow: 0 0 0 5px rgba(168,57,57,.12); }
.status-error > strong { color: var(--danger); }
.guidance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.guidance-grid > div { padding: 16px; border-radius: 13px; background: var(--surface-soft); }
.guidance-grid strong { display: block; margin-bottom: 5px; }
.guidance-grid p { margin: 0; color: var(--text-soft); font-size: 12px; }
.danger-zone { margin-top: 20px; border-color: #e7bbbb; }

/* Gallery browser */
.gallery-toolbar { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding: 10px; border: 1px solid rgba(229,224,216,.88); border-radius: 13px; background: rgba(243,241,237,.88); backdrop-filter: blur(18px); }
.filter-group { display: flex; flex-wrap: wrap; gap: 5px; }
.filter-button { min-height: 36px; padding: 7px 13px; border-radius: 9px; background: transparent; color: var(--text-soft); cursor: pointer; font-size: 11px; font-weight: 800; }
.filter-button.active { background: var(--surface-dark); color: #fff; }
.gallery-total { color: var(--text-soft); font-size: 11px; font-weight: 750; }
.media-masonry { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 10px; align-items: start; }
.media-date-divider { grid-column: 1 / -1; display: flex; min-width: 0; align-items: center; gap: 10px; margin: 14px 0 2px; padding: 10px 2px 8px; border-bottom: 1px solid var(--line); }
.media-date-divider:first-child { margin-top: 0; }
.media-date-divider-marker { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 9px; background: var(--surface-soft); color: var(--accent-deep); font-size: 12px; }
.media-date-divider-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.media-date-divider-copy strong { color: var(--text); font-family: Georgia, serif; font-size: 17px; font-weight: 500; line-height: 1.1; }
.media-date-divider-copy small { color: var(--text-faint); font-size: 8px; font-weight: 750; letter-spacing: .02em; }
.media-date-divider.is-undated { opacity: .72; }
.media-tile { position: relative; width: 100%; aspect-ratio: 1 / 1; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(44, 36, 28, .08); border-radius: 10px; background: linear-gradient(145deg, #1f1b17, #342d27); box-shadow: 0 8px 22px rgba(22, 18, 13, .08); cursor: zoom-in; isolation: isolate; content-visibility: auto; contain: layout paint style; contain-intrinsic-size: 180px 180px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.media-tile::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.22), transparent 34%); opacity: 0; transition: opacity .18s ease; pointer-events: none; }
.media-tile img,
.media-tile > .cover-placeholder { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.media-tile:hover,
.media-tile:focus-visible { transform: translateY(-1px); border-color: rgba(161, 131, 84, .28); box-shadow: 0 14px 28px rgba(22, 18, 13, .14); }
.media-tile:hover::before,
.media-tile:focus-visible::before { opacity: 1; }
.media-tile:hover img,
.media-tile:focus-visible img { transform: scale(1.03); }
.media-tile:focus-visible { outline: 2px solid rgba(161, 131, 84, .55); outline-offset: 2px; }
.media-tile.is-video::after { content: "▶"; position: absolute; inset: 50% auto auto 50%; z-index: 3; display: grid; width: 38px; height: 38px; place-items: center; transform: translate(-50%, -50%); border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(12,11,10,.54); color: #fff; font-size: 15px; backdrop-filter: blur(8px); }
.tile-favorite { position: absolute; z-index: 4; top: 8px; right: 8px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(12,11,10,.5); color: #fff; cursor: pointer; font-size: 17px; backdrop-filter: blur(8px); }
.tile-favorite.active { background: rgba(255,255,255,.92); color: #a64d58; }
.tile-type { position: absolute; z-index: 4; left: 8px; bottom: 8px; padding: 3px 6px; border-radius: 999px; background: rgba(12,11,10,.52); color: #fff; font-size: 7px; font-weight: 850; letter-spacing: .04em; }
.gallery-loading { display: grid; min-height: 160px; place-items: center; align-content: center; gap: 12px; color: var(--text-soft); }
.gallery-loading p { margin: 0; font-size: 12px; }
.spinner { display: inline-block; width: 26px; height: 26px; border: 2px solid rgba(23,21,18,.17); border-top-color: var(--accent-deep); border-radius: 50%; animation: spin .75s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.load-sentinel { height: 2px; }
.protected-media { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }

/* Lightbox */
.lightbox { position: fixed; z-index: 2000; inset: 0; background: rgba(8,7,6,.97); color: #fff; }
.lightbox[hidden] { display: none; }
.lightbox-bar { position: absolute; z-index: 4; top: 0; right: 0; left: 0; display: flex; min-height: 68px; align-items: center; justify-content: space-between; padding: max(12px, env(safe-area-inset-top)) 20px 12px; background: linear-gradient(to bottom, rgba(0,0,0,.7), transparent); }
.lightbox-counter { color: rgba(255,255,255,.68); font-size: 12px; font-weight: 750; }
.lightbox-actions { display: flex; gap: 9px; }
.lightbox-close, .lightbox-favorite { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; font-size: 27px; }
.lightbox-favorite { font-size: 23px; }
.lightbox-favorite.active { background: #fff; color: #a64d58; }
.lightbox-stage { position: absolute; inset: 0; display: grid; place-items: center; padding: 72px 82px 76px; touch-action: pan-y; }
.lightbox-stage img, .lightbox-stage video { max-width: 100%; max-height: calc(100vh - 150px); border-radius: 6px; box-shadow: 0 20px 80px rgba(0,0,0,.45); object-fit: contain; }
.lightbox-stage video { width: min(1180px, 100%); background: #000; }
.lightbox-loader { display: grid; place-items: center; }
.lightbox-loader .spinner { border-color: rgba(255,255,255,.2); border-top-color: #fff; }
.lightbox-nav { position: absolute; z-index: 3; top: 50%; display: grid; width: 50px; height: 58px; place-items: center; transform: translateY(-50%); border-radius: 12px; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 42px; line-height: 1; }
.lightbox-nav:hover { background: rgba(255,255,255,.14); }
.lightbox-prev { left: 18px; }
.lightbox-next { right: 18px; }
.lightbox-caption { position: absolute; right: 20px; bottom: max(16px, env(safe-area-inset-bottom)); left: 20px; overflow: hidden; color: rgba(255,255,255,.55); font-size: 11px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }

/* Legal/error */
.content-card { width: 100%; max-width: 820px; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-md); }
.content-card h1 { margin-top: 0; font-family: Georgia, serif; font-size: 38px; font-weight: 500; }
.content-card h2 { margin-top: 28px; font-family: Georgia, serif; font-weight: 500; }
.content-card p, .content-card li { color: var(--text-soft); }
.error-code { color: var(--accent-deep); font-size: 12px; font-weight: 850; letter-spacing: .15em; }

@media (max-width: 1180px) {
    :root { --sidebar-width: 235px; }
    .app-main { padding-inline: 28px; }
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .media-masonry { grid-template-columns: repeat(auto-fill, minmax(152px, 1fr)); gap: 9px; }
}

@media (max-width: 900px) {
    .mobile-header { position: sticky; z-index: 75; top: 0; display: flex; min-height: 68px; align-items: center; justify-content: space-between; padding: 10px 16px; background: var(--surface-dark); color: #fff; }
    .mobile-header .brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
    .mobile-header .brand-copy small { color: rgba(255,255,255,.45); }
    .app-shell { display: block; }
    .sidebar { width: min(310px, 86vw); transform: translateX(-105%); box-shadow: var(--shadow-lg); transition: transform .24s ease; }
    body.sidebar-open .sidebar { transform: translateX(0); }
    .sidebar-backdrop { position: fixed; z-index: 70; inset: 0; display: block; visibility: hidden; background: rgba(0,0,0,.4); opacity: 0; transition: opacity .24s ease, visibility .24s ease; }
    body.sidebar-open .sidebar-backdrop { visibility: visible; opacity: 1; }
    .app-main { max-width: none; padding: 28px 20px 60px; }
    .page-header { align-items: flex-start; flex-direction: column; }
    .page-header-actions { width: 100%; justify-content: flex-start; }
    .user-detail-grid, .settings-split { grid-template-columns: 1fr; }
    .status-overview { grid-template-columns: 1fr; }
    .auth-shell { max-width: 580px; grid-template-columns: 1fr; }
    .auth-visual { min-height: 310px; padding: 35px; }
    .auth-card { min-height: auto; padding: 40px 35px; }
    .guidance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    body { font-size: 14px; }
    .guest-header { width: calc(100% - 30px); padding: 20px 0; }
    .guest-main { width: calc(100% - 22px); padding: 10px 0 40px; }
    .guest-footer { width: calc(100% - 30px); align-items: flex-start; flex-direction: column; }
    .auth-visual { min-height: 250px; padding: 28px; }
    .auth-visual h1 { font-size: 35px; }
    .auth-trust { display: none; }
    .auth-card { padding: 30px 23px; }
    .setup-card { padding: 26px 20px; }
    .setup-steps { grid-template-columns: 1fr; }
    .app-main { padding: 24px 13px 50px; }
    .page-header { margin-bottom: 22px; }
    .page-header h1 { font-size: 34px; }
    .page-header-actions .button { flex: 1 1 auto; }
    .panel, .form-panel { padding: 20px 15px; border-radius: 15px; }
    .form-grid.two-columns { grid-template-columns: 1fr; }
    .field-full { grid-column: auto; }
    .metric-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
    .metric-card { padding: 16px; }
    .metric-card strong { font-size: 30px; }
    .quick-actions { grid-template-columns: 1fr; }
    .quick-action { min-height: 86px; }
    .search-bar, .media-filter-bar { grid-template-columns: 1fr; }
    .gallery-card-grid, .admin-gallery-grid { grid-template-columns: 1fr; }
    .gallery-toolbar { align-items: flex-start; flex-direction: column; }
    .filter-group { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .filter-button { flex: 0 0 auto; }
    .media-masonry { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 7px; }
    .media-tile { border-radius: 8px; }
    .lightbox-stage { padding: 70px 8px 72px; }
    .lightbox-stage img, .lightbox-stage video { max-height: calc(100vh - 145px); }
    .lightbox-nav { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); width: 46px; height: 46px; border-radius: 50%; }
    .lightbox-prev { left: 18px; }
    .lightbox-next { right: 18px; }
    .lightbox-caption { right: 80px; left: 80px; }
    .upload-zone { min-height: 240px; padding: 26px 16px; }
    .upload-zone-actions { width: 100%; }
    .upload-zone-actions .button { width: 100%; }
    .upload-summary { align-items: flex-start; flex-direction: column; }
    .upload-item { grid-template-columns: 28px minmax(0, 1fr) 70px; }
    .upload-item progress { grid-column: 2 / -1; }
    .admin-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .admin-media-actions { gap: 7px; }
    .bulk-toolbar { align-items: flex-start; flex-direction: column; }
    .bulk-toolbar > div, .bulk-toolbar .button { width: 100%; }
    .user-selection-row { grid-template-columns: auto auto minmax(0, 1fr); }
    .user-selection-row .access-state, .user-selection-row .status-badge { grid-column: 3; justify-self: start; }
    .settings-test-card, .callout, .row-between { align-items: flex-start; flex-direction: column; }
    .backup-row { grid-template-columns: auto minmax(0, 1fr); }
    .backup-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
    .backup-row .button { width: 100%; }
    .restore-backup-layout { grid-template-columns: 1fr; }
    .status-card { grid-template-columns: auto minmax(0, 1fr); }
    .status-card > strong { grid-column: 2; }
    .toast-region { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
}

@media (max-width: 390px) {
    .metric-grid { grid-template-columns: 1fr; }
    .admin-media-grid { grid-template-columns: 1fr; }
    .media-masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* View-specific refinements */
.app-body { background: var(--bg); }
.card-heading { margin-bottom: 25px; }
.card-heading h1, .card-heading h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 34px; font-weight: 500; letter-spacing: -.025em; line-height: 1.1; }
.card-heading h2 { font-size: 29px; }
.card-heading p { margin: 8px 0 0; color: var(--text-soft); }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 78px; }
.password-field button { position: absolute; top: 50%; right: 8px; min-height: 32px; padding: 5px 9px; transform: translateY(-50%); border-radius: 8px; background: var(--surface-soft); color: var(--text-soft); cursor: pointer; font-size: 10px; font-weight: 800; }
.password-field button:hover { color: var(--text); }
.form-row-between { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--text-soft); font-size: 12px; }
.auth-divider { position: relative; margin: 25px 0; color: var(--text-faint); font-size: 10px; font-weight: 750; text-align: center; text-transform: uppercase; }
.auth-divider::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: var(--line); }
.auth-divider span { position: relative; padding: 0 12px; background: var(--surface); }
.auth-alternative { display: grid; gap: 8px; text-align: center; }
.auth-alternative p { margin: 0; color: var(--text-soft); font-size: 12px; }
.auth-alternative small { color: var(--text-faint); font-size: 10px; }
.auth-card-wide { width: min(620px, 100%); min-height: auto; border: 1px solid rgba(255,255,255,.75); border-radius: var(--radius-lg); background: rgba(255,255,255,.88); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.centered { display: block; text-align: center; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.setup-grid { display: grid; width: 100%; max-width: 1120px; grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr); align-items: center; gap: 64px; }
.setup-intro h1 { margin: 10px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 68px); font-weight: 500; letter-spacing: -.045em; line-height: .99; }
.setup-intro > p { max-width: 500px; color: var(--text-soft); font-size: 16px; }
.setup-principles { display: grid; gap: 10px; margin-top: 28px; }
.setup-principles span { display: flex; align-items: center; gap: 10px; color: var(--text-soft); font-size: 13px; font-weight: 700; }
.setup-principles span::before { content: "✓"; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-deep); }
.check-list { display: grid; gap: 7px; margin-bottom: 22px; }
.check-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.check-row > div { display: flex; flex-direction: column; }
.check-row strong { font-size: 11px; }
.check-row small { color: var(--text-faint); font-size: 9px; }
.check-row.is-ok .status-dot { background: var(--success); box-shadow: 0 0 0 4px rgba(38,118,83,.12); }
.check-row.is-error { border-color: #e7baba; background: #fffafa; }
.check-row.is-error .status-dot { background: var(--danger); box-shadow: 0 0 0 4px rgba(168,57,57,.12); }

.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.stat-card { display: flex; min-height: 145px; flex-direction: column; justify-content: center; padding: 21px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-sm); transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.stat-card:hover { transform: translateY(-2px); border-color: #cdbfa9; box-shadow: var(--shadow-md); }
.stat-card > span { color: var(--text-soft); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.stat-card > strong { margin: 7px 0 5px; font-family: Georgia, serif; font-size: 39px; font-weight: 500; line-height: 1; }
.stat-card > small { color: var(--text-faint); font-size: 10px; }
.quick-actions { margin-bottom: 20px; }
.quick-action { position: relative; display: grid; min-height: 135px; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; }
.quick-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--surface-dark); color: #fff; font-size: 20px; }
.quick-action > div { display: flex; min-width: 0; flex-direction: column; }
.quick-action > div strong { font-size: 13px; }
.quick-action > div small { margin-top: 4px; color: var(--text-soft); font-size: 10px; }
.quick-action > b { font-size: 21px; }
.activity-row { grid-template-columns: auto minmax(0, 1fr); }
.activity-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px var(--accent-soft); }
.activity-row > div { display: flex; min-width: 0; flex-direction: column; }
.activity-row > div small { color: var(--text-faint); font-size: 10px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 16px 0; }
.metric-row span { display: flex; flex-direction: column; padding: 9px; border-radius: 9px; background: var(--surface-soft); color: var(--text-faint); font-size: 9px; text-align: center; }
.metric-row strong { color: var(--text); font-size: 15px; }
.icon-link { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--text-soft); }
.icon-link:hover { border-color: var(--line-strong); color: var(--text); }
.settings-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .42fr); align-items: start; gap: 20px; }
.settings-grid-wide { grid-template-columns: minmax(0, 1fr) minmax(290px, .42fr); }
.danger-panel { border-color: #e7bbbb; background: #fffafa; }
.error-card, .legal-card { width: 100%; max-width: 840px; }
.favorites-panel, .media-section, .system-guidance { margin-top: 20px; }
.smtp-fields { display: block; }
.gallery-browser { min-height: 320px; }
.premium-empty { box-shadow: var(--shadow-sm); }
.media-library-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }

@media (max-width: 1050px) {
    .stat-grid { grid-template-columns: repeat(2, 1fr); }
    .setup-grid { grid-template-columns: 1fr; gap: 30px; }
    .setup-intro { text-align: center; }
    .setup-intro > p { margin-inline: auto; }
    .setup-principles { max-width: 430px; margin-inline: auto; text-align: left; }
}
@media (max-width: 900px) {
    .settings-grid, .settings-grid-wide { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .form-row-between { align-items: flex-start; flex-direction: column; }
    .auth-card-wide { border-radius: 20px; }
    .setup-grid { gap: 22px; }
    .setup-intro h1 { font-size: 42px; }
    .stat-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
    .stat-card { min-height: 120px; padding: 16px; }
    .quick-action { min-height: 98px; grid-template-columns: auto minmax(0, 1fr) auto; }
}
@media (max-width: 390px) {
    .stat-grid { grid-template-columns: 1fr; }
}

/* SELECT 1.2 – refined public account experience */
.guest-body-premium {
    background:
        radial-gradient(circle at 7% 7%, rgba(185, 152, 93, .15), transparent 27%),
        radial-gradient(circle at 93% 72%, rgba(44, 61, 68, .09), transparent 26%),
        linear-gradient(145deg, #f5f1ea, #ece6dd);
}

.guest-body-premium::before {
    position: fixed;
    z-index: 0;
    inset: 0;
    background-image:
        linear-gradient(rgba(62, 52, 41, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(62, 52, 41, .025) 1px, transparent 1px);
    background-size: 46px 46px;
    content: "";
    mask-image: linear-gradient(180deg, rgba(0,0,0,.55), transparent 80%);
    pointer-events: none;
}

.guest-header {
    display: flex;
    width: min(1180px, calc(100% - 40px));
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto;
    padding: 18px 0;
}

.guest-header .brand-mark {
    position: relative;
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    font-size: 19px;
}

.guest-header .brand-mark::after {
    position: absolute;
    inset: 4px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    content: "";
}

.guest-header .brand-copy strong { font-size: 12px; font-weight: 850; letter-spacing: .18em; }
.guest-header .brand-copy small { font-size: 8px; letter-spacing: .08em; }

.guest-home-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #6f675e;
    font-size: 10px;
    font-weight: 750;
    transition: color var(--transition);
}

.guest-home-link span { color: var(--accent-deep); font-size: 15px; }
.guest-home-link:hover { color: var(--text); }

.guest-main {
    display: grid;
    width: min(1160px, calc(100% - 32px));
    margin: 0 auto;
    place-items: center;
    padding: 18px 0 58px;
}

.guest-alert { width: min(820px, 100%); }

.guest-footer {
    display: flex;
    width: min(1180px, calc(100% - 40px));
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto;
    padding: 22px 0;
    border-top: 1px solid rgba(82,73,61,.13);
    color: var(--text-soft);
    font-size: 9px;
}

.guest-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }

.auth-shell-premium {
    display: grid;
    width: 100%;
    max-width: 1080px;
    grid-template-columns: minmax(400px, .94fr) minmax(430px, 1.06fr);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 30px;
    background: rgba(255,253,249,.9);
    box-shadow: 0 34px 100px rgba(24,20,16,.2);
    backdrop-filter: blur(24px) saturate(125%);
}

.auth-shell-register { max-width: 1140px; grid-template-columns: minmax(390px, .82fr) minmax(580px, 1.18fr); }

.auth-visual-premium {
    position: relative;
    display: flex;
    min-height: 675px;
    flex-direction: column;
    justify-content: space-between;
    padding: 34px;
    overflow: hidden;
    background: #151310;
    color: #fff;
    isolation: isolate;
}

.auth-shell-register .auth-visual-premium { min-height: 770px; }

.auth-visual-image,
.auth-visual-shade {
    position: absolute;
    z-index: -3;
    inset: 0;
}

.auth-visual-image img { width: 100%; height: 100%; object-fit: cover; }
.auth-shell-login .auth-visual-image img { object-position: center 46%; }
.auth-shell-register .auth-visual-image img { object-position: center; }
.auth-shell-forgot .auth-visual-image img { object-position: center 40%; }
.auth-shell-reset .auth-visual-image img { object-position: center; }

.auth-visual-shade {
    z-index: -2;
    background:
        linear-gradient(180deg, rgba(12,12,11,.46) 0%, rgba(15,13,11,.1) 34%, rgba(13,11,9,.86) 100%),
        linear-gradient(90deg, rgba(9,8,7,.3), transparent 65%);
}

.auth-visual-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.auth-visual-private {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.27);
    border-radius: 999px;
    background: rgba(17,15,13,.24);
    color: rgba(255,255,255,.8);
    font-size: 7px;
    font-weight: 820;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.auth-visual-private i {
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    background: #2b7658;
    color: #fff;
    font-size: 6px;
    font-style: normal;
}

.auth-visual-label { color: rgba(255,255,255,.72); font-size: 8px; font-weight: 850; letter-spacing: .2em; }

.auth-visual-copy { margin-top: auto; padding-top: 110px; }
.auth-visual-copy .eyebrow { color: #dec393; font-size: 8px; }
.auth-visual-copy h2 {
    max-width: 450px;
    margin: 10px 0 14px;
    font-family: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif;
    font-size: clamp(31px, 3.4vw, 46px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.auth-visual-copy p { max-width: 430px; margin: 0; color: rgba(255,255,255,.63); font-size: 11px; line-height: 1.7; }

.auth-visual-bottom {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.16);
}

.auth-mini-gallery { display: flex; align-items: center; padding-left: 8px; }
.auth-mini-gallery span {
    width: 42px;
    height: 42px;
    margin-left: -8px;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.78);
    border-radius: 50%;
    background: #655d54;
    box-shadow: 0 6px 18px rgba(0,0,0,.22);
}
.auth-mini-gallery img { width: 100%; height: 100%; object-fit: cover; }

.auth-visual-facts { display: flex; gap: 19px; }
.auth-visual-facts > span { display: flex; flex-direction: column; }
.auth-visual-facts strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.auth-visual-facts small { margin-top: 2px; color: rgba(255,255,255,.49); font-size: 5px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }

.auth-panel { display: grid; min-width: 0; background: rgba(255,253,249,.96); }

.auth-shell-premium .auth-card {
    display: flex;
    width: 100%;
    min-height: 675px;
    flex-direction: column;
    justify-content: center;
    padding: 48px clamp(36px, 5vw, 62px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.auth-shell-register .auth-card { min-height: 770px; padding-top: 38px; padding-bottom: 38px; }
.auth-shell-premium .auth-card-wide { max-width: none; }

.auth-shell-premium .card-heading { margin-bottom: 23px; }
.auth-shell-premium .card-heading h1 {
    margin: 0;
    font-family: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif;
    font-size: clamp(29px, 3vw, 36px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.06;
}

.auth-shell-premium .card-heading p { max-width: 520px; margin: 9px 0 0; color: var(--text-soft); font-size: 11px; line-height: 1.65; }
.auth-shell-premium .eyebrow { font-size: 8px; letter-spacing: .16em; }
.auth-shell-premium .form-stack { gap: 14px; }
.auth-shell-premium .form-grid { gap: 14px; }
.auth-shell-premium .field { gap: 6px; }
.auth-shell-premium .field > span { font-size: 10px; font-weight: 790; }
.auth-shell-premium input,
.auth-shell-premium select,
.auth-shell-premium textarea { min-height: 45px; border-color: #ded7cd; border-radius: 11px; background: #fff; font-size: 12px; }
.auth-shell-premium input::placeholder { color: #b0a89e; }
.auth-shell-premium input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(185,152,93,.12); }
.auth-shell-premium .password-field button { right: 7px; min-height: 29px; background: #f4f1ec; font-size: 8px; }

.auth-shell-premium .button {
    min-height: 47px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 820;
}

.auth-shell-premium .button-primary { box-shadow: 0 12px 28px rgba(17,16,15,.17); }
.auth-shell-premium .button-primary span { font-size: 15px; font-weight: 400; }
.auth-shell-premium .button-secondary { background: #fff; }

.auth-shell-premium .form-row-between { color: var(--text-soft); font-size: 9px; }
.auth-session-note { display: inline-flex; align-items: center; gap: 6px; }
.auth-session-note i { width: 6px; height: 6px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px rgba(38,118,83,.1); }

.auth-shell-premium .text-link { font-size: 9px; }
.auth-shell-premium .auth-divider { margin: 21px 0; font-size: 8px; }
.auth-shell-premium .auth-divider span { background: rgba(255,253,249,.96); }
.auth-shell-premium .auth-alternative { gap: 7px; }
.auth-shell-premium .auth-alternative p { font-size: 9px; }
.auth-shell-premium .auth-alternative small { font-size: 7px; line-height: 1.5; }

.auth-consent { min-height: 63px; padding: 12px; border-radius: 12px; background: #f7f4ef; }
.auth-consent span { display: block; color: var(--text-soft); font-size: 9px; line-height: 1.55; }
.auth-consent a { color: var(--accent-deep); font-weight: 740; }

.auth-form-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid #e8e1d7;
    background: #f7f4ef;
    font-size: 7px;
    text-align: center;
}
.auth-form-note span { display: grid; width: 16px; height: 16px; flex: 0 0 16px; place-items: center; border-radius: 50%; background: #e5f3eb; color: var(--success); font-size: 6px; font-weight: 900; }

.auth-back-link {
    display: inline-flex;
    align-self: center;
    align-items: center;
    gap: 7px;
    margin-top: 24px;
    color: var(--text-soft);
    font-size: 9px;
    font-weight: 760;
}
.auth-back-link span { color: var(--accent-deep); font-size: 14px; }
.auth-back-link:hover { color: var(--text); }

/* Keep legal/error cards independent from the premium auth shell. */
.guest-main > .legal-card,
.guest-main > .error-card,
.guest-main > .auth-card:not(.auth-card-wide) {
    width: 100%;
    max-width: 840px;
    min-height: auto;
    padding: 38px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 26px;
    background: rgba(255,255,255,.9);
    box-shadow: var(--shadow-lg);
}

@media (max-width: 960px) {
    .auth-shell-premium,
    .auth-shell-register {
        max-width: 640px;
        grid-template-columns: 1fr;
    }
    .auth-visual-premium,
    .auth-shell-register .auth-visual-premium { min-height: 330px; padding: 28px; }
    .auth-visual-copy { padding-top: 60px; }
    .auth-visual-copy h2 { max-width: 520px; font-size: 35px; }
    .auth-visual-copy p { max-width: 520px; }
    .auth-visual-bottom { margin-top: 22px; }
    .auth-shell-premium .auth-card,
    .auth-shell-register .auth-card { min-height: auto; padding: 38px 42px; }
}

@media (max-width: 680px) {
    .guest-header { width: calc(100% - 28px); min-height: 69px; padding: 13px 0; }
    .guest-header .brand-mark { width: 36px; height: 36px; flex-basis: 36px; }
    .guest-header .brand-copy small { display: none; }
    .guest-home-link { font-size: 8px; }
    .guest-main { width: calc(100% - 20px); padding: 6px 0 36px; }
    .guest-footer { width: calc(100% - 28px); align-items: flex-start; flex-direction: column; }
    .auth-shell-premium { border-radius: 22px; }
    .auth-visual-premium,
    .auth-shell-register .auth-visual-premium { min-height: 275px; padding: 23px; }
    .auth-visual-copy { padding-top: 44px; }
    .auth-visual-copy h2 { margin-bottom: 10px; font-size: 29px; }
    .auth-visual-copy p { font-size: 9px; }
    .auth-visual-bottom { margin-top: 17px; padding-top: 14px; }
    .auth-mini-gallery span { width: 35px; height: 35px; }
    .auth-visual-facts { gap: 12px; }
    .auth-visual-facts strong { font-size: 14px; }
    .auth-shell-premium .auth-card,
    .auth-shell-register .auth-card { padding: 30px 22px; }
    .auth-shell-premium .card-heading h1 { font-size: 29px; }
    .auth-shell-premium .form-grid.two-columns { grid-template-columns: 1fr; }
    .guest-main > .legal-card,
    .guest-main > .error-card,
    .guest-main > .auth-card:not(.auth-card-wide) { padding: 27px 21px; border-radius: 20px; }
}

@media (max-width: 420px) {
    .guest-header .brand-copy { display: none; }
    .auth-visual-private { font-size: 6px; }
    .auth-visual-label { display: none; }
    .auth-visual-bottom { align-items: flex-start; flex-direction: column; gap: 12px; }
    .auth-visual-facts { width: 100%; justify-content: space-between; }
}

/* Global smart scroll-to-top control */
.scroll-top-button {
    --scroll-top-size: 50px;
    position: fixed;
    z-index: 88;
    left: max(18px, env(safe-area-inset-left));
    bottom: max(18px, env(safe-area-inset-bottom));
    display: grid;
    width: var(--scroll-top-size);
    height: var(--scroll-top-size);
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    background: rgba(17, 16, 15, .94);
    box-shadow: 0 14px 38px rgba(15, 13, 10, .24), inset 0 1px 0 rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 13px, 0) scale(.92);
    visibility: hidden;
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
    transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.75,.25,1), visibility 180ms ease, box-shadow 180ms ease, background 180ms ease;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.scroll-top-button.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) scale(1);
    visibility: visible;
}

.scroll-top-button:hover {
    background: #171512;
    box-shadow: 0 18px 44px rgba(15, 13, 10, .3), inset 0 1px 0 rgba(255, 255, 255, .1);
    transform: translate3d(0, -2px, 0) scale(1.025);
}

.scroll-top-button:active { transform: translate3d(0, 0, 0) scale(.97); }
.scroll-top-button:focus-visible { outline: 3px solid rgba(185, 152, 93, .42); outline-offset: 4px; }

.scroll-top-progress,
.scroll-top-arrow {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
}

.scroll-top-progress svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.scroll-top-track,
.scroll-top-indicator {
    fill: none;
    stroke-width: 1.35;
}
.scroll-top-track { stroke: rgba(255, 255, 255, .14); }
.scroll-top-indicator {
    stroke: var(--accent);
    stroke-linecap: round;
    transition: stroke-dashoffset 90ms linear;
}

.scroll-top-arrow svg { width: 21px; height: 21px; }
.scroll-top-arrow path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* In the desktop app shell the control belongs to the content canvas, not on top of the sidebar. */
body.app-body .scroll-top-button { left: calc(var(--sidebar-width) + 22px); }

@media (max-width: 900px) {
    body.app-body .scroll-top-button { left: max(14px, env(safe-area-inset-left)); }
    .scroll-top-button {
        --scroll-top-size: 48px;
        left: max(14px, env(safe-area-inset-left));
        bottom: max(14px, env(safe-area-inset-bottom));
    }
}

@media (max-width: 390px) {
    .scroll-top-button { --scroll-top-size: 46px; }
}

@media (hover: none), (pointer: coarse) {
    .scroll-top-button:hover { transform: translate3d(0, 0, 0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-top-button,
    .scroll-top-indicator { transition: none; }
}

@media print {
    .scroll-top-button { display: none !important; }
}

/* SELECT 1.2.3 – robust SMTP administration */
.mail-health-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.mail-health-card.is-ready { border-color: #b9decf; background: linear-gradient(135deg, #fbfffd, #f5fbf8); }
.mail-health-card.is-incomplete { border-color: #ead1a7; background: linear-gradient(135deg, #fffdf8, #fff9ef); }
.mail-health-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: var(--surface-dark);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}
.mail-health-card.is-ready .mail-health-icon { background: var(--success); }
.mail-health-card.is-incomplete .mail-health-icon { background: var(--warning); }
.mail-health-copy h2 { margin: 2px 0 4px; font-size: 16px; }
.mail-health-copy p { max-width: 760px; margin: 0; color: var(--text-soft); font-size: 11px; line-height: 1.55; }
.mail-health-meta { display: flex; gap: 7px; }
.mail-health-meta span { display: flex; min-width: 88px; flex-direction: column; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.72); color: var(--text-faint); font-size: 8px; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.mail-health-meta strong { color: var(--text); font-size: 10px; }

.mail-settings-form { overflow: hidden; }
.provider-preset {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin: 4px 0 24px;
    padding: 14px 16px;
    border: 1px solid #d9c9ad;
    border-radius: 13px;
    background: linear-gradient(135deg, #fbf8f1, #f7f1e7);
}
.provider-preset-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: #201f1d; color: #fff; font-family: Georgia, serif; font-size: 18px; }
.provider-preset strong { font-size: 12px; }
.provider-preset p { margin: 3px 0 0; color: var(--text-soft); font-size: 10px; line-height: 1.5; }
.provider-badge { padding: 5px 8px; border-radius: 999px; background: rgba(157,118,57,.11); color: #795c30; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }

.mail-settings-group { padding: 20px 0; border-top: 1px solid var(--line); }
.mail-settings-group:first-of-type { border-top: 0; }
.settings-group-title { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.settings-group-title > span { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: var(--surface-dark); color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.settings-group-title > div { display: flex; flex-direction: column; }
.settings-group-title strong { font-size: 12px; }
.settings-group-title small { margin-top: 2px; color: var(--text-faint); font-size: 9px; }
.nested-grid { margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); }
.secret-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.secret-state { display: inline-flex; min-height: 39px; align-items: center; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: 9px; font-weight: 800; white-space: nowrap; }
.secret-state.is-saved { border-color: #b9decf; color: var(--success); background: #f7fcf9; }
.secret-state.is-missing { border-color: #ead1a7; color: var(--warning); background: #fffaf1; }
.mail-save-actions { display: flex; align-items: center; gap: 14px; }
.mail-save-actions > span { color: var(--text-faint); font-size: 9px; line-height: 1.45; }

.mail-test-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mail-test-card { position: relative; overflow: hidden; }
.mail-test-number { position: absolute; top: 13px; right: 15px; color: rgba(45,42,38,.08); font-family: Georgia, serif; font-size: 52px; line-height: 1; pointer-events: none; }
.mail-test-card .panel-heading { position: relative; z-index: 1; padding-right: 40px; }
.mail-test-form { display: grid; gap: 12px; }

.mail-diagnostic-panel { border-color: #d8d0c4; }
.diagnostic-summary { display: inline-flex; align-items: center; padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.diagnostic-summary.is-ok { background: var(--success-soft); color: var(--success); }
.diagnostic-summary.is-warning { background: var(--warning-soft, #fff7e6); color: var(--warning); }
.diagnostic-summary.is-error { background: var(--danger-soft); color: var(--danger); }
.mail-diagnostic-list { display: grid; gap: 8px; }
.mail-diagnostic-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.mail-diagnostic-row .diagnostic-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--text-faint); box-shadow: 0 0 0 4px rgba(152,145,135,.1); }
.mail-diagnostic-row.is-ok .diagnostic-dot { background: var(--success); box-shadow: 0 0 0 4px rgba(38,118,83,.11); }
.mail-diagnostic-row.is-error { border-color: #e7bbbb; background: #fffafa; }
.mail-diagnostic-row.is-error .diagnostic-dot { background: var(--danger); box-shadow: 0 0 0 4px rgba(168,57,57,.11); }
.mail-diagnostic-row.is-notice .diagnostic-dot { background: var(--warning); box-shadow: 0 0 0 4px rgba(155,103,31,.11); }
.mail-diagnostic-row > div { display: flex; min-width: 0; flex-direction: column; }
.mail-diagnostic-row strong { font-size: 11px; }
.mail-diagnostic-row small { margin-top: 2px; color: var(--text-soft); font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.mail-diagnostic-row > b { color: var(--text-faint); font-size: 8px; }
.mail-diagnostic-row.is-ok > b { color: var(--success); }
.mail-diagnostic-row.is-error > b { color: var(--danger); }
.mail-security-note { margin-top: 18px; }

@media (max-width: 760px) {
    .mail-health-card { grid-template-columns: auto minmax(0, 1fr); padding: 15px; }
    .mail-health-meta { grid-column: 1 / -1; width: 100%; }
    .mail-health-meta span { flex: 1; }
    .provider-preset { grid-template-columns: auto minmax(0, 1fr); }
    .provider-badge { grid-column: 2; justify-self: start; }
    .mail-test-grid { grid-template-columns: 1fr; }
    .secret-input-row { grid-template-columns: 1fr; }
    .secret-state { justify-content: center; }
    .mail-save-actions { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
    .mail-health-icon { width: 34px; height: 34px; }
    .mail-health-copy h2 { font-size: 14px; }
    .provider-preset { padding: 12px; }
    .provider-preset-mark { width: 34px; height: 34px; }
    .nested-grid { padding: 13px; }
    .mail-diagnostic-row { grid-template-columns: auto minmax(0, 1fr); }
    .mail-diagnostic-row > b { grid-column: 2; }
}

/* SELECT 1.3.0 — shared locale, accessibility and compact-premium refinements */
:where(a, button, input, select, textarea, summary, [role="button"]):focus-visible {
    outline: 3px solid rgba(185, 152, 93, .42);
    outline-offset: 3px;
}

.guest-header-actions,
.mobile-header-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.language-picker { position: relative; z-index: 110; flex: 0 0 auto; }
.language-picker-toggle {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 10px;
    border: 1px solid rgba(55, 46, 38, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .72);
    color: var(--text);
    cursor: pointer;
    box-shadow: 0 5px 18px rgba(25, 21, 17, .055);
    transition: border-color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}
.language-picker-toggle:hover,
.language-picker.is-open .language-picker-toggle {
    border-color: rgba(141, 108, 53, .38);
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.language-picker-toggle svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform var(--transition); }
.language-picker.is-open .language-picker-toggle svg { transform: rotate(180deg); }
.language-code { font-size: 10px; font-weight: 850; letter-spacing: .09em; }
.language-picker-menu {
    position: absolute;
    z-index: 1200;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    width: 176px;
    overflow: hidden;
    padding: 5px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 22px 54px rgba(21, 17, 13, .17);
    color: var(--text);
    backdrop-filter: blur(18px);
}
.language-picker-menu[hidden] { display: none; }
.language-picker-menu a {
    display: flex;
    min-height: 41px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 720;
}
.language-picker-menu a:hover,
.language-picker-menu a:focus-visible { background: var(--surface-soft); }
.language-picker-menu a[aria-current="true"] { background: var(--accent-soft); color: var(--accent-deep); }
.language-picker-menu small { color: var(--text-faint); font-size: 8px; font-weight: 850; letter-spacing: .1em; }

.sidebar-language { padding: 0 7px; }
.sidebar-language .language-picker { width: 100%; }
.sidebar-language .language-picker-toggle { width: 100%; justify-content: space-between; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.055); color: #fff; box-shadow: none; }
.sidebar-language .language-picker-toggle:hover,
.sidebar-language .language-picker.is-open .language-picker-toggle { border-color: rgba(209,181,126,.35); background: rgba(255,255,255,.09); }
.sidebar-language .language-picker-menu { top: auto; right: auto; bottom: calc(100% + 8px); left: 0; width: 100%; }
.mobile-header .language-picker-toggle { min-width: 42px; min-height: 42px; border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.075); color: #fff; box-shadow: none; }
.mobile-header .language-picker-toggle:hover,
.mobile-header .language-picker.is-open .language-picker-toggle { background: rgba(255,255,255,.13); }
.mobile-header .language-picker-menu { top: calc(100% + 10px); }

.page-header h1 { font-size: clamp(28px, 2.5vw, 39px); }
.card-heading h1,
.card-heading h2 { font-size: clamp(27px, 2.4vw, 32px); }
.content-card h1 { font-size: clamp(29px, 3vw, 35px); }
.auth-card h1 { font-size: clamp(28px, 3vw, 32px); }

@media (max-width: 900px) {
    .sidebar { padding-top: max(22px, env(safe-area-inset-top)); padding-bottom: max(18px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
    .mobile-header { padding-top: max(10px, env(safe-area-inset-top)); }
}

@media (max-width: 680px) {
    .guest-header-actions { gap: 7px; }
    .guest-home-link { max-width: 150px; line-height: 1.25; }
    .page-header h1 { font-size: 30px; }
    .language-picker-menu { position: fixed; top: max(68px, calc(env(safe-area-inset-top) + 58px)); right: 12px; width: min(210px, calc(100vw - 24px)); }
    .sidebar-language .language-picker-menu { position: absolute; top: auto; right: auto; bottom: calc(100% + 8px); left: 0; width: 100%; }
}

@media (max-width: 390px) {
    .guest-header-actions .guest-home-link { max-width: 118px; font-size: 9px; }
    .mobile-header .brand-copy small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* R2 endpoint: editable but constrained server-side to official Cloudflare hosts. */
.r2-endpoint-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.r2-endpoint-row .button { white-space: nowrap; }
@media (max-width: 720px) {
    .r2-endpoint-row { grid-template-columns: 1fr; }
    .r2-endpoint-row .button { width: 100%; }
}

/* Resilient Cloudflare R2 browser-direct diagnostics */
.r2-browser-result {
    display: none;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid var(--border, #ddd5c9);
    border-radius: 12px;
    background: var(--surface-soft, #faf8f4);
}
.r2-browser-result:not(:empty) {
    display: grid;
    gap: 4px;
}
.r2-browser-result strong {
    font-size: 13px;
}
.r2-browser-result small {
    line-height: 1.45;
}
.r2-browser-result.is-ok {
    border-color: rgba(39, 124, 82, .28);
    background: rgba(39, 124, 82, .07);
}
.r2-browser-result.is-error {
    border-color: rgba(185, 59, 59, .28);
    background: rgba(185, 59, 59, .07);
}
.r2-browser-result.is-working {
    border-color: rgba(153, 111, 35, .25);
    background: rgba(153, 111, 35, .06);
}
.r2-server-test-details {
    margin-top: 14px;
    border-top: 1px solid var(--border, #e0d8cc);
    padding-top: 12px;
}
.r2-server-test-details summary {
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    margin-bottom: 10px;
}
.r2-server-test-details form {
    margin-bottom: 7px;
}

/* SELECT 1.4.0 · nested gallery folders */
/* Folder/subgallery titles and descriptions are intentionally fully expanded on every viewport. */
.admin-folder-breadcrumbs,
.gallery-folder-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    margin: 0 0 14px;
    padding: 7px 9px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    scrollbar-width: thin;
}
.folder-crumb {
    flex: 0 0 auto;
    appearance: none;
    border: 0;
    border-radius: 8px;
    padding: 7px 9px;
    background: transparent;
    color: var(--text-soft);
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}
.folder-crumb:hover:not(:disabled), .folder-crumb:focus-visible:not(:disabled) { background: var(--surface-soft); color: var(--text); }
.folder-crumb.active, .folder-crumb:disabled { color: var(--text); background: rgba(188,145,66,.10); cursor: default; opacity: 1; }
.folder-crumb-separator { flex: 0 0 auto; color: var(--text-faint); font-size: 13px; }

.gallery-folder-manager { margin-bottom: 20px; }
.folder-manager-heading { align-items: flex-start; }
.folder-create-details { position: relative; flex: 0 0 auto; }
.folder-create-details > summary { list-style: none; cursor: pointer; user-select: none; }
.folder-create-details > summary::-webkit-details-marker { display: none; }
.folder-create-details[open] > summary { opacity: .75; }
.folder-inline-form {
    display: grid;
    gap: 10px;
    width: min(390px, calc(100vw - 64px));
    margin-top: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: var(--shadow-md);
}
.folder-create-details .folder-inline-form { position: absolute; z-index: 45; right: 0; top: 100%; }
.folder-inline-form label { display: grid; gap: 5px; }
.folder-inline-form label > span { font-size: 10px; font-weight: 800; }
.folder-inline-form label small { color: var(--text-faint); font-weight: 500; }
.folder-inline-form input, .folder-inline-form textarea { width: 100%; }
.compact-folder-form { position: static; width: min(560px, 100%); margin: 10px 0 0; box-shadow: none; background: var(--surface-soft); }
.current-folder-tools { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.current-folder-tools details > summary { cursor: pointer; font-size: 11px; font-weight: 800; }
.current-folder-tools form { margin: 0; }
.folder-empty-inline { margin-top: 4px; }

.admin-folder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
    align-items: stretch;
}
.admin-folder-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(188,168,136,.52);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(249,246,241,.98) 100%);
    box-shadow: 0 16px 32px rgba(54,38,18,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.admin-folder-card:hover { transform: translateY(-3px); box-shadow: 0 22px 42px rgba(54,38,18,.14); border-color: rgba(169,140,84,.54); }
.admin-folder-cover {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(145deg, #eee7da, #ddd1bd);
}
.admin-folder-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.admin-folder-card:hover .admin-folder-cover img { transform: scale(1.03); }
.admin-folder-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(70,56,35,.42); font-size: 46px; }
.admin-folder-badge { position: absolute; left: 10px; top: 10px; padding: 5px 7px; border-radius: 999px; background: rgba(18,17,15,.78); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.admin-folder-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    padding: 14px 15px 16px;
}
.admin-folder-title { overflow: visible; color: var(--text); font-family: Georgia, serif; font-size: 20px; line-height: 1.2; text-decoration: none; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.admin-folder-body p { margin: 0; color: var(--text-faint); font-size: 11px; font-weight: 700; }
.admin-folder-body small { display: block; overflow: visible; color: var(--text-soft); font-size: 11px; line-height: 1.58; white-space: pre-line; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.admin-folder-body .text-link { margin-top: 4px; font-size: 11px; }
.gallery-media-details { margin-top: 2px; }
.folder-move-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.folder-move-form select { min-width: 0; }
.media-cover-actions { display: flex; flex-wrap: wrap; gap: 7px 12px; }

.gallery-folder-section { margin: 0 0 20px; }
.gallery-folder-heading { display: flex; align-items: baseline; gap: 9px; margin: 0 0 12px; }
.gallery-folder-heading strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.gallery-folder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
    align-items: stretch;
}
.gallery-folder-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(188,168,136,.52);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(250,247,242,.98) 100%);
    color: var(--text);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 16px 32px rgba(54,38,18,.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gallery-folder-card:hover, .gallery-folder-card:focus-visible { transform: translateY(-3px); border-color: rgba(169,140,84,.54); box-shadow: 0 22px 42px rgba(54,38,18,.14); outline: none; }
.gallery-folder-cover {
    position: relative;
    display: block;
    min-height: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(145deg, #eee7da, #d9ccb8);
}
.gallery-folder-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.gallery-folder-card:hover .gallery-folder-cover img, .gallery-folder-card:focus-visible .gallery-folder-cover img { transform: scale(1.03); }
.gallery-folder-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(70,56,35,.40); font-size: 34px; }
.gallery-folder-badge { position: absolute; left: 10px; top: 10px; padding: 5px 7px; border-radius: 999px; background: rgba(18,17,15,.76); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .10em; text-transform: uppercase; }
.gallery-folder-copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding: 16px 16px 0;
    overflow: visible;
}
.gallery-folder-copy strong { overflow: visible; font-family: Georgia, serif; font-size: 20px; font-weight: 500; line-height: 1.22; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.gallery-folder-copy small { color: var(--text-faint); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.gallery-folder-description { display: block; overflow: visible; color: var(--text-soft); font-size: 11px; line-height: 1.58; white-space: pre-line; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
.gallery-folder-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 14px 16px 16px auto;
    border: 1px solid rgba(189,172,141,.58);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--gold-dark);
    font-size: 17px;
    box-shadow: 0 8px 18px rgba(65,49,27,.06);
}

@media (max-width: 760px) {
    .folder-manager-heading { gap: 10px; }
    .folder-create-details { width: 100%; }
    .folder-create-details > summary { width: 100%; text-align: center; }
    .folder-create-details .folder-inline-form { position: static; width: 100%; }
    .admin-folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .admin-folder-body { padding: 12px; }
    .admin-folder-title { font-size: 18px; }
    .gallery-folder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .gallery-folder-copy { padding: 13px 13px 0; }
    .gallery-folder-copy strong { font-size: 18px; }
    .gallery-folder-arrow { width: 38px; height: 38px; margin: 12px 13px 13px auto; }
    .folder-move-form { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .gallery-folder-grid, .admin-folder-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .admin-folder-cover, .gallery-folder-cover { aspect-ratio: 16 / 10; }
    .admin-folder-breadcrumbs, .gallery-folder-breadcrumbs { margin-left: -2px; margin-right: -2px; }
    .current-folder-tools { align-items: stretch; flex-direction: column; gap: 9px; }
}

/* People, tagging and intelligent media metadata */
.people-stat-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:0 0 18px; }
.people-stat-card { display:flex; min-height:102px; flex-direction:column; justify-content:center; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:var(--shadow-sm); transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition); }
.people-stat-card:hover { transform:translateY(-2px); border-color:var(--line-strong); box-shadow:var(--shadow-md); }
.people-stat-card span { color:var(--text-soft); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.people-stat-card strong { margin-top:3px; font-family:Georgia,"Times New Roman",serif; font-size:30px; line-height:1; }
.people-stat-card small { margin-top:7px; color:var(--accent-deep); font-weight:700; }
.people-stat-card.accent { background:linear-gradient(145deg,var(--surface),var(--accent-soft)); }
.people-admin-filters { margin-bottom:16px; }
.people-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.person-card { overflow:hidden; border:1px solid var(--line); border-radius:17px; background:var(--surface); box-shadow:var(--shadow-sm); transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition); }
.person-card:hover { transform:translateY(-3px); border-color:var(--line-strong); box-shadow:var(--shadow-md); }
.person-card-cover { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(145deg,#e9e4dc,#f7f4ef); }
.person-card-cover img { width:100%; height:100%; object-fit:cover; transition:transform 320ms ease; }
.person-card:hover .person-card-cover img { transform:scale(1.025); }
.person-placeholder { display:grid; width:100%; height:100%; place-items:center; background:radial-gradient(circle at 30% 20%,#f7f2e9,#d9d1c5); color:var(--accent-deep); font-family:Georgia,"Times New Roman",serif; font-size:48px; }
.person-placeholder.large { min-height:260px; font-size:72px; }
.person-placeholder.hero { font-size:86px; }
.person-featured-badge { position:absolute; top:11px; left:11px; padding:5px 8px; border:1px solid rgba(255,255,255,.5); border-radius:999px; background:rgba(17,16,15,.76); backdrop-filter:blur(8px); color:#fff; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.person-card-body { padding:14px 15px 15px; }
.person-card-title-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.person-card-title-row strong { font-family:Georgia,"Times New Roman",serif; font-size:19px; }
.person-favorite-mark { color:#9d4c4c; font-size:16px; }
.person-role { display:block; margin-top:2px; color:var(--text-soft); }
.person-badges,.media-meta-badges { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.person-badge,.tag-badge { display:inline-flex; min-height:23px; align-items:center; padding:3px 8px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); font-size:10px; font-weight:750; }
.person-badge.favorite { border-color:#efd8d8; background:#fff1f1; color:#8f4444; }
.person-badge.featured { border-color:#e7d6b6; background:var(--accent-soft); color:var(--accent-deep); }
.person-badge.muted { background:#efefed; color:#77736d; }
.person-badge.mini,.tag-badge.mini { min-height:20px; padding:2px 6px; font-size:9px; }
.tag-badge { border-color:#dce3e8; background:#f3f7f9; color:#4b6575; }
.person-meta-line,.person-card-description { margin:9px 0 0; color:var(--text-soft); font-size:12px; }
.person-card-description { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; min-height:37px; }
.person-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:13px; padding-top:11px; border-top:1px solid var(--line); color:var(--text-faint); font-size:11px; }

.person-form { display:grid; gap:16px; }
.person-form-primary-grid { display:grid; grid-template-columns:250px minmax(0,1fr); gap:22px; }
.person-cover-editor { display:flex; flex-direction:column; gap:10px; }
.person-cover-preview { position:relative; display:grid; place-items:center; overflow:hidden; aspect-ratio:4/5; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); cursor:pointer; isolation:isolate; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.person-cover-preview:hover,.person-cover-preview:focus-visible { border-color:rgba(168,126,52,.5); box-shadow:var(--shadow-md); outline:none; }
.person-cover-preview.is-dragover { transform:translateY(-2px); border-color:var(--accent-deep); box-shadow:var(--shadow-md); }
.person-cover-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.person-cover-preview:hover img { transform:scale(1.012); }
.person-cover-drop-hint { position:absolute; z-index:3; right:8px; bottom:8px; padding:5px 7px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(14,13,12,.64); color:rgba(255,255,255,.92); backdrop-filter:blur(7px); font-size:8px; font-weight:850; letter-spacing:.01em; opacity:.75; transition:opacity .18s ease, transform .18s ease; }
.person-cover-preview:hover .person-cover-drop-hint,.person-cover-preview.is-dragover .person-cover-drop-hint,.person-cover-preview.is-empty .person-cover-drop-hint { opacity:1; transform:translateY(-1px); }
.person-cover-upload-progress { position:absolute; z-index:6; inset:0; display:grid; place-items:center; align-content:center; gap:10px; padding:16px; background:rgba(17,15,13,.84); color:#fff; backdrop-filter:blur(8px); cursor:wait; }
.person-cover-upload-progress i { position:relative; display:block; width:min(78%,220px); height:5px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.16); }
.person-cover-upload-progress i::after { content:''; position:absolute; inset:0; width:var(--person-cover-progress,0%); border-radius:inherit; background:#fff; transition:width .12s linear; }
.person-cover-upload-progress b { max-width:90%; text-align:center; font-size:9px; font-weight:800; line-height:1.4; }
.person-cover-preview.is-uploading .person-cover-drop-hint { opacity:0; }
.person-cover-editor small { color:var(--text-faint); font-size:11px; line-height:1.45; }
.person-form-main-fields { display:grid; align-content:start; gap:14px; }
.person-form label,.person-detail-content label,.filter-sheet label { display:flex; min-width:0; flex-direction:column; gap:6px; }
.person-form label>span,.person-detail-content label>span,.filter-sheet label>span,.autocomplete-field>span { color:var(--text); font-size:11px; font-weight:800; }
.person-category-fieldset,.person-visibility-fields { padding:0; border:0; }
.person-category-fieldset legend,.person-visibility-fields legend { margin-bottom:8px; font-size:11px; font-weight:800; }
.person-category-fieldset legend small { color:var(--text-faint); font-weight:500; }
.person-category-options,.visibility-checkbox-grid { display:flex; flex-wrap:wrap; gap:7px; }
.category-choice,.toggle-choice,.visibility-checkbox-grid label { display:inline-flex!important; flex-direction:row!important; align-items:center; gap:7px!important; padding:8px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); cursor:pointer; }
.category-choice:has(input:checked),.toggle-choice:has(input:checked),.visibility-checkbox-grid label:has(input:checked) { border-color:#cab17e; background:var(--accent-soft); }
.category-choice input,.toggle-choice input,.visibility-checkbox-grid input { width:15px; height:15px; margin:0; accent-color:var(--accent-deep); }
.person-toggle-row { display:flex; gap:8px; flex-wrap:wrap; }
.inline-field { margin-top:9px; }
.inline-field small { display:block; margin-top:5px; color:var(--text-faint); }
.person-more-details { padding:0; }
.person-more-details>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; cursor:pointer; list-style:none; }
.person-more-details>summary::-webkit-details-marker { display:none; }
.person-more-details>summary>span:first-child { display:flex; flex-direction:column; }
.person-more-details>summary strong { font-family:Georgia,"Times New Roman",serif; font-size:21px; }
.person-more-details>summary small { color:var(--text-soft); }
.details-chevron { font-size:24px; transition:transform var(--transition); }
.person-more-details[open] .details-chevron { transform:rotate(180deg); }
.person-detail-content { padding:0 20px 20px; border-top:1px solid var(--line); }
.form-grid.two-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:18px; }
.span-two { grid-column:1/-1; }
.relationship-details { margin-top:20px; padding:18px; border:1px solid #e6d7bd; border-radius:15px; background:linear-gradient(145deg,#fffdfa,#f8f2e7); }
.section-heading-compact h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.section-heading-compact p { margin:4px 0 0; color:var(--text-soft); font-size:12px; }
.person-visibility-fields { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.sticky-form-actions { position:sticky; z-index:8; bottom:12px; display:flex; justify-content:flex-end; gap:9px; padding:11px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); box-shadow:var(--shadow-md); }
.compact-media-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.media-cover-form { padding:7px 9px; }
.compact-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:18px; }

/* Autocomplete & token inputs */
.autocomplete-field { position:relative; }
.token-input { display:flex; min-height:44px; flex-wrap:wrap; align-items:center; gap:5px; padding:5px 8px; border:1px solid var(--line-strong); border-radius:11px; background:var(--surface); }
.token-input.compact { min-height:38px; }
.token-input:focus-within { border-color:#bca36e; box-shadow:0 0 0 3px rgba(185,152,93,.13); }
.token-input input { min-width:130px; flex:1 1 140px; padding:4px!important; border:0!important; box-shadow:none!important; background:transparent!important; }
.token-list { display:flex; flex-wrap:wrap; gap:4px; }
.input-token { padding:4px 7px; border:1px solid #d9e0e4; border-radius:999px; background:#f3f7f9; color:#405966; cursor:pointer; font-size:10px; font-weight:750; }
.input-token.person { border-color:#e4d5ba; background:var(--accent-soft); color:var(--accent-deep); }
.autocomplete-results { position:absolute; z-index:50; top:calc(100% + 5px); left:0; right:0; max-height:260px; overflow:auto; padding:5px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow-md); }
.autocomplete-results button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border-radius:8px; background:transparent; cursor:pointer; text-align:left; }
.autocomplete-results button:hover { background:var(--surface-soft); }
.autocomplete-results button span { font-weight:750; }
.autocomplete-results button small,.autocomplete-empty { color:var(--text-faint); font-size:10px; }
.autocomplete-empty { display:block; padding:10px; }

/* Bulk media metadata */
.panel-heading-actions { display:flex; align-items:center; gap:13px; }
.bulk-select-all { display:flex; align-items:center; gap:6px; color:var(--text-soft); font-size:11px; font-weight:700; cursor:pointer; }
.metadata-bulk-toolbar { position:sticky; z-index:9; top:10px; display:grid; grid-template-columns:auto minmax(190px,1.2fr) minmax(100px,.5fr) minmax(160px,.7fr) minmax(150px,.7fr) auto auto; gap:8px; align-items:center; margin:0 0 14px; padding:10px; border:1px solid #d9c69e; border-radius:14px; background:rgba(255,251,243,.95); backdrop-filter:blur(10px); box-shadow:var(--shadow-md); }
.bulk-toolbar-count { min-width:72px; }
.bulk-toolbar-count strong { display:block; font-size:18px; }
.bulk-toolbar-count span { color:var(--text-faint); font-size:9px; text-transform:uppercase; }
.bulk-tag-input { min-width:0; }
[data-bulk-folder] { display:none; }
[data-bulk-folder].is-needed { display:block; }
.admin-media-card { position:relative; }
.media-select-control { position:absolute; z-index:5; top:8px; left:8px; display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:8px; background:rgba(255,255,255,.9); box-shadow:var(--shadow-sm); }
.media-select-control input { width:16px; height:16px; margin:0; accent-color:var(--accent-deep); }
.admin-media-card.is-selected { outline:3px solid rgba(185,152,93,.3); outline-offset:2px; }
.moment-badge { position:absolute; right:8px; bottom:8px; display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:rgba(255,255,255,.9); color:#974d4d; }
.media-meta-badges { margin-top:7px; }

/* Upload metadata */
.upload-metadata-panel { margin-top:14px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface-soft); }
.upload-metadata-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.upload-metadata-heading strong { display:block; }
.upload-metadata-heading small { display:block; margin-top:2px; color:var(--text-faint); }
.upload-metadata-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }

/* Tagging mode */
.tagging-stats-inline { display:flex; gap:8px; margin:-2px 0 15px; flex-wrap:wrap; }
.tagging-stats-inline span { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--text-soft); font-size:11px; }
.tagging-stats-inline strong { color:var(--text); }
.tagging-app { padding:0; overflow:visible; }
.tagging-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); }
.tagging-toolbar-filters { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:8px; }
.segmented-control { display:inline-flex; padding:3px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.segmented-control button { padding:7px 10px; border-radius:7px; background:transparent; color:var(--text-soft); cursor:pointer; font-size:11px; font-weight:750; }
.segmented-control button.active { background:var(--surface-dark); color:#fff; }
.segmented-control button:disabled { cursor:wait; opacity:.58; }
.tagging-media-type-filter button { display:inline-flex; align-items:center; gap:5px; }
.tagging-media-type-filter button small { display:inline-grid; min-width:18px; height:18px; padding:0 5px; place-items:center; border-radius:999px; background:rgba(0,0,0,.07); color:inherit; font-size:8px; font-weight:850; line-height:1; }
.tagging-media-type-filter button.active small { background:rgba(255,255,255,.15); }
.tagging-workspace { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); min-height:600px; }
.tagging-preview { display:grid; min-height:600px; place-items:center; overflow:hidden; border-right:1px solid var(--line); background:#151412; }
.tagging-preview img,.tagging-preview video { width:100%; height:100%; max-height:76vh; object-fit:contain; }
.tagging-video-poster { position:relative; display:grid; width:100%; height:100%; min-height:380px; place-items:center; overflow:hidden; }
.tagging-video-poster img { grid-area:1/1; }
.tagging-video-poster span { grid-area:1/1; align-self:end; z-index:2; width:min(92%,620px); margin:18px; padding:9px 11px; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(13,12,11,.72); color:#fff; font-size:10px; line-height:1.45; text-align:center; backdrop-filter:blur(7px); }
.tagging-editor { display:flex; min-width:0; flex-direction:column; gap:15px; padding:20px; }
.tagging-file-meta strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.quick-person-create { display:flex; gap:8px; }
.quick-person-create input { min-width:0; flex:1; }
.tagging-quick-flags { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.tagging-quick-flags button { display:flex; align-items:center; gap:8px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); cursor:pointer; font-size:11px; font-weight:750; }
.tagging-quick-flags button.active { border-color:#bfa46e; background:var(--accent-soft); color:var(--accent-deep); }
.tagging-tag-field { position:relative; }
.tagging-field-hint { display:block; margin-top:6px; color:var(--text-faint); font-size:9px; line-height:1.45; }
.tagging-field-hint strong { color:var(--text-soft); }
.tagging-quick-section { display:grid; gap:7px; }
.tagging-section-label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tagging-section-label strong { font-size:10px; }
.tagging-section-label small { color:var(--text-faint); font-size:8px; text-align:right; }
.tagging-quick-flags button { min-height:48px; }
.tagging-quick-copy { display:grid; min-width:0; flex:1; gap:1px; text-align:left; }
.tagging-quick-copy strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.tagging-quick-copy small { color:var(--text-faint); font-size:8px; font-weight:700; }
.tagging-quick-flags button.active .tagging-quick-copy small { color:inherit; opacity:.72; }
.tagging-quick-flags button.is-disabled,.tagging-quick-flags button:disabled { cursor:not-allowed; opacity:.46; }
.tagging-save-status { display:flex; align-items:center; gap:9px; padding:10px 11px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.tagging-save-status-icon { display:grid; width:25px; height:25px; flex:0 0 auto; place-items:center; border-radius:8px; background:var(--surface); color:var(--text-faint); font-size:12px; font-weight:900; }
.tagging-save-status>span:last-child { display:grid; gap:1px; min-width:0; }
.tagging-save-status strong { font-size:9px; }
.tagging-save-status small { color:var(--text-faint); font-size:8px; line-height:1.35; }
.tagging-save-status[data-state=dirty] { border-color:#dbcba9; background:#fbf7ee; }
.tagging-save-status[data-state=dirty] .tagging-save-status-icon { background:var(--accent-soft); color:var(--accent-deep); }
.tagging-save-status[data-state=saving] .tagging-save-status-icon { animation:tagging-pulse 1s ease-in-out infinite; }
.tagging-save-status[data-state=saved] { border-color:#cbd8ca; background:#f5f8f4; }
.tagging-save-status[data-state=saved] .tagging-save-status-icon { color:#476548; }
.tagging-save-status[data-state=error] { border-color:#e1bcbc; background:#fff7f7; }
.tagging-save-status[data-state=error] .tagging-save-status-icon { color:#9b3f3f; }
@keyframes tagging-pulse { 0%,100% { opacity:.45; transform:scale(.92); } 50% { opacity:1; transform:scale(1); } }
kbd { padding:2px 5px; border:1px solid var(--line-strong); border-radius:5px; background:var(--surface); box-shadow:inset 0 -1px 0 rgba(0,0,0,.07); color:var(--text-soft); font-size:9px; }
.tagging-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:8px; margin-top:auto; }
.keyboard-hints { display:flex; flex-wrap:wrap; gap:5px 9px; color:var(--text-faint); font-size:9px; }

/* People visitor experience */
.people-page-header { margin-bottom:16px; }
.people-browser { position:relative; }
.people-filter-shell { position:sticky; z-index:12; top:8px; margin-bottom:16px; padding:10px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.94); backdrop-filter:blur(12px); box-shadow:var(--shadow-sm); }
.people-category-chips { display:flex; gap:6px; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
.people-category-chips::-webkit-scrollbar { display:none; }
.people-filter-chip { display:inline-flex; flex:0 0 auto; align-items:center; gap:7px; padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--text-soft); cursor:pointer; font-size:11px; font-weight:750; }
.people-filter-chip strong { min-width:18px; padding:1px 5px; border-radius:999px; background:var(--surface-soft); color:var(--text-faint); font-size:9px; }
.people-filter-chip.active { border-color:#c8ad77; background:var(--accent-soft); color:var(--accent-deep); }
.people-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(160px,220px); gap:7px; align-items:center; }
.people-search-box,.gallery-search-box { display:flex; min-width:0; align-items:center; gap:7px; padding:0 10px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); }
.people-search-box input,.gallery-search-box input { width:100%; min-width:0; padding:9px 0!important; border:0!important; box-shadow:none!important; background:transparent!important; }
.people-more-button [data-filter-count] { display:grid; min-width:18px; height:18px; place-items:center; border-radius:999px; background:var(--surface-dark); color:#fff; font-size:9px; }
.active-filter-row { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.active-filter-token { padding:4px 7px; border:1px solid #d8c8a9; border-radius:999px; background:var(--accent-soft); color:var(--accent-deep); cursor:pointer; font-size:10px; font-weight:750; }
.people-load-more-wrap { display:flex; justify-content:center; margin-top:18px; }
.filter-sheet { position:fixed; z-index:1000; inset:0; }
.filter-sheet-backdrop { position:absolute; inset:0; background:rgba(17,16,15,.42); backdrop-filter:blur(3px); }
.filter-sheet-panel { position:absolute; top:50%; left:50%; width:min(560px,calc(100% - 28px)); max-height:min(720px,calc(100vh - 40px)); overflow:auto; transform:translate(-50%,-50%); border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:var(--shadow-lg); }
.filter-sheet-header,.filter-sheet-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; border-bottom:1px solid var(--line); }
.filter-sheet-header h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:23px; }
.filter-sheet-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:17px; }
.filter-sheet-body .autocomplete-field { grid-column:1/-1; }
.filter-sheet-footer { justify-content:flex-end; border-top:1px solid var(--line); border-bottom:0; }

.person-profile-hero { margin-bottom:18px; }
.person-profile-hero-grid { display:grid; grid-template-columns:minmax(240px,360px) minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:var(--shadow-sm); }
.person-profile-cover { min-height:390px; background:var(--surface-soft); }
.person-profile-cover img { width:100%; height:100%; object-fit:cover; }
.person-profile-intro { display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,5vw,54px); }
.person-profile-intro h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,4vw,55px); line-height:1; }
.profile-badges { margin:13px 0; }
.person-profile-role { margin:0 0 4px; color:var(--text); font-size:16px; font-weight:750; }
.person-profile-location { margin:0 0 13px; color:var(--text-soft); }
.person-profile-description { max-width:720px; color:var(--text-soft); font-size:15px; }
.person-profile-intro .secure-pill { align-self:flex-start; margin-top:12px; }
.person-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.person-info-card { padding:20px; border:1px solid var(--line); border-radius:17px; background:var(--surface); box-shadow:var(--shadow-sm); }
.person-info-card.span-two { grid-column:1/-1; }
.person-info-card h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:24px; }
.person-info-card p { color:var(--text-soft); }
.rich-person-story { color:var(--text-soft); line-height:1.75; }
.person-media-browser { overflow:visible; }
.person-memory-tile { display:flex; flex-direction:column; gap:5px; }
.person-memory-tile .media-tile-open { position:relative; display:block; width:100%; padding:0; overflow:hidden; border-radius:13px; background:#e9e5df; cursor:pointer; }
.person-memory-tile img { width:100%; height:auto; }
.person-memory-meta { display:block; padding:0 3px; overflow:hidden; color:var(--text-faint); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.key-moment-badge { position:absolute; left:8px; bottom:8px; padding:4px 7px; border-radius:999px; background:rgba(17,16,15,.76); color:#fff; font-size:9px; font-weight:800; }

/* Intelligent filters inside a gallery */
.gallery-people-filters { margin:0 0 14px; padding:10px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.gallery-people-filter-top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.gallery-context-switch { display:flex; align-items:center; gap:7px; color:var(--text-faint); font-size:10px; }
.gallery-context-switch strong { color:var(--text); }
.gallery-context-switch a { color:var(--accent-deep); font-weight:750; }
.gallery-meta-category-chips { display:flex; gap:6px; margin-top:8px; overflow-x:auto; }
.gallery-meta-category-chips button { flex:0 0 auto; padding:6px 9px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); cursor:pointer; font-size:10px; font-weight:750; }
.gallery-meta-category-chips button.active { border-color:#c6a96f; background:var(--accent-soft); color:var(--accent-deep); }
.gallery-meta-advanced { display:grid; grid-template-columns:1.2fr 1fr .7fr 90px auto; gap:7px; margin-top:8px; }
.gallery-meta-advanced input { min-width:0; }
.tile-meta-overlay { position:absolute; z-index:4; right:8px; bottom:34px; left:8px; overflow:hidden; padding:5px 7px; border-radius:8px; background:rgba(17,16,15,.58); backdrop-filter:blur(5px); color:#fff; font-size:9px; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity .18s ease, transform .18s ease; }
.media-tile:hover .tile-meta-overlay, .media-tile:focus-visible .tile-meta-overlay { opacity:1; transform:translateY(0); }
@media (hover: none) { .tile-meta-overlay { display: none; } }

@media (max-width:1180px) {
    .people-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .people-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .metadata-bulk-toolbar { grid-template-columns:auto minmax(180px,1fr) minmax(100px,.5fr) minmax(150px,.8fr); }
    .metadata-bulk-toolbar .button,.metadata-bulk-toolbar .text-button,[data-bulk-folder] { align-self:stretch; }
    .compact-media-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:820px) {
    .people-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .people-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
    .person-form-primary-grid,.person-profile-hero-grid,.tagging-workspace { grid-template-columns:1fr; }
    .person-cover-editor { max-width:360px; }
    .person-profile-cover { min-height:0; aspect-ratio:4/3; }
    .tagging-toolbar { align-items:flex-start; flex-direction:column; }
    .tagging-toolbar-filters { width:100%; }
    .tagging-preview { min-height:380px; border-right:0; border-bottom:1px solid var(--line); }
    .upload-metadata-grid,.form-grid.two-cols,.person-story-grid,.filter-sheet-body { grid-template-columns:1fr; }
    .span-two,.person-info-card.span-two,.filter-sheet-body .autocomplete-field { grid-column:auto; }
    .metadata-bulk-toolbar { position:relative; top:auto; grid-template-columns:1fr; }
    .gallery-people-filter-top,.gallery-meta-advanced { grid-template-columns:1fr; }
    .gallery-context-switch { justify-content:space-between; }
    .people-search-row { grid-template-columns:minmax(0,1fr) auto; }
    .people-search-row select { grid-column:1/-1; }
    .compact-media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .filter-sheet-panel { top:auto; bottom:0; left:0; width:100%; max-height:86vh; transform:none; border-radius:22px 22px 0 0; }
}
@media (max-width:520px) {
    .people-stat-grid { gap:8px; }
    .people-stat-card { min-height:84px; padding:12px; }
    .people-stat-card strong { font-size:25px; }
    .people-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .person-card-body { padding:10px; }
    .person-card-title-row strong { font-size:16px; }
    .person-card-description { display:none; }
    .person-card-footer { align-items:flex-start; flex-direction:column; }
    .person-form-primary-grid { gap:14px; }
    .person-cover-editor { max-width:none; }
    .person-cover-preview { aspect-ratio:16/10; }
    .person-more-details>summary,.person-detail-content { padding-left:14px; padding-right:14px; }
    .tagging-editor { padding:14px; gap:12px; }
    .tagging-toolbar-filters { flex-direction:column; align-items:stretch; }
    .tagging-toolbar-filters .segmented-control { width:100%; }
    .tagging-toolbar-filters .segmented-control button { min-width:0; flex:1; justify-content:center; }
    .tagging-section-label { align-items:flex-start; flex-direction:column; gap:2px; }
    .tagging-section-label small { text-align:left; }
    .tagging-quick-flags,.tagging-actions { grid-template-columns:1fr 1fr; }
    .tagging-quick-flags button { min-height:52px; padding:9px; }
    .tagging-save-status { align-items:flex-start; }
    .gallery-meta-advanced { display:flex; overflow-x:auto; }
    .gallery-meta-advanced>* { min-width:150px; flex:0 0 150px; }
    .gallery-meta-advanced .text-button { min-width:auto; flex:0 0 auto; }
    .compact-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* People admin interaction polish */
.person-card-admin { position:relative; }
.person-drag-handle { position:absolute; z-index:6; top:9px; right:9px; display:grid; width:29px; height:29px; place-items:center; border:1px solid rgba(255,255,255,.78); border-radius:9px; background:rgba(255,255,255,.92); box-shadow:var(--shadow-sm); color:var(--text-soft); cursor:grab; font-weight:900; letter-spacing:-2px; }
.person-drag-handle:active { cursor:grabbing; }
.person-card-admin.is-dragging { opacity:.5; transform:scale(.985); }
.person-card-admin.is-drag-target { outline:2px solid rgba(185,152,93,.5); outline-offset:3px; }
.quick-person-toggle { align-self:flex-start; margin-top:6px; }
.quick-person-create { display:grid; grid-template-columns:minmax(130px,1fr) minmax(130px,.8fr); gap:8px; margin-top:8px; padding:10px; border:1px solid #dfcfaf; border-radius:12px; background:var(--accent-soft); }
.quick-person-create>input,.quick-person-create>select { min-width:0; }
.quick-person-favorite { display:flex!important; flex-direction:row!important; align-items:center; gap:7px!important; padding:7px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.quick-person-favorite input { width:15px; height:15px; margin:0; accent-color:var(--accent-deep); }
.quick-person-actions { grid-column:1/-1; display:flex; align-items:center; gap:10px; }
.person-media-actions { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:7px 9px; border-top:1px solid var(--line); }
.person-media-actions form { margin:0; padding:0; }
.admin-media-card.is-key-moment { outline:2px solid rgba(185,152,93,.28); outline-offset:1px; }
.admin-media-thumb .key-moment-badge { bottom:7px; left:7px; }

@media (max-width:820px) {
    .quick-person-create { grid-template-columns:1fr; }
    .quick-person-actions { grid-column:auto; flex-wrap:wrap; }
    .person-media-actions { align-items:flex-start; flex-direction:column; }
}
.similar-person-hint { margin-top:2px; padding:8px 10px; border:1px solid #dfcfaf; border-radius:9px; background:var(--accent-soft); color:var(--accent-deep); font-size:10px; line-height:1.45; }
.similar-person-hint strong { margin-right:4px; }
.similar-person-hint small { display:block; margin-top:3px; color:var(--text-soft); }
.people-moments-section { margin-top:20px; overflow:visible; }
.people-moments-count { color:var(--text-faint); font-family:inherit; font-size:12px; font-weight:650; }
.people-moments-grid { margin-top:4px; }
.people-moment-tile .media-tile-open { position:relative; display:block; width:100%; padding:0; overflow:hidden; border-radius:13px; background:#e9e5df; cursor:pointer; }
.people-moment-tile img { width:100%; height:auto; }

/* SELECT Watermark Center -------------------------------------------------- */
.has-select-watermark { position: relative; }
.select-watermark-layer { position: absolute; z-index: 8; inset: 0; overflow: hidden; pointer-events: none; user-select: none; }
.select-watermark-mark { position: absolute; display: block; max-width: 88%; overflow: hidden; color: rgba(255,255,255,.76); font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight: 780; letter-spacing: .08em; line-height: 1.15; text-shadow: 0 1px 3px rgba(0,0,0,.58), 0 0 1px rgba(0,0,0,.95); text-overflow: ellipsis; white-space: nowrap; }
.select-watermark-layer.watermark-subtle .select-watermark-mark { right: 3.2%; bottom: 3.4%; padding: .34em .58em; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: rgba(13,12,11,.22); backdrop-filter: blur(3px); font-size: clamp(7px, 1.2vw, 13px); opacity: .72; }
.select-watermark-layer.watermark-normal .select-watermark-mark { left: 50%; top: 50%; width: min(76%, 720px); transform: translate(-50%,-50%) rotate(-18deg); font-size: clamp(12px, 2.3vw, 32px); text-align: center; opacity: .58; }
.select-watermark-layer.watermark-normal .select-watermark-mark[data-watermark-index="0"] { top: 27%; opacity: .34; }
.select-watermark-layer.watermark-normal .select-watermark-mark[data-watermark-index="1"] { top: 50%; opacity: .60; }
.select-watermark-layer.watermark-normal .select-watermark-mark[data-watermark-index="2"] { top: 73%; opacity: .34; }
.select-watermark-layer.watermark-tile .select-watermark-mark { font-size: clamp(6px, .85vw, 10px); }
.select-watermark-layer.watermark-tile.watermark-normal .select-watermark-mark { width: 84%; font-size: clamp(7px, 1vw, 12px); }
.select-watermark-layer.watermark-folder .select-watermark-mark { font-size: 7px; }
/* Lightbox protection: keep the watermark above both the low-res placeholder and
   the high-res image/video. The full image uses z-index:2, so the lightbox watermark
   must live in its own higher layer. */
.select-watermark-layer.watermark-lightbox { inset: 0; z-index: 8; border-radius: inherit; }
.select-watermark-layer.watermark-lightbox.watermark-subtle .select-watermark-mark { right: 2.5%; bottom: 2.5%; font-size: clamp(10px, 1.3vw, 16px); }
.select-watermark-layer.watermark-lightbox.watermark-normal .select-watermark-mark { font-size: clamp(16px, 3vw, 38px); }
.lightbox-media-shell { position: relative; display: grid; max-width: 100%; max-height: calc(100vh - 150px); place-items: center; overflow: hidden; border-radius: 6px; }
.lightbox-media-shell > img, .lightbox-media-shell > video { max-width: 100%; max-height: calc(100vh - 150px); }
.lightbox-media-shell > video { width: min(1180px, 100%); }

.watermark-page-header { margin-bottom: 15px; }
.watermark-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.watermark-stat { display: flex; min-width: 0; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: var(--shadow-sm); }
.watermark-stat span { color: var(--text-faint); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.watermark-stat strong { font-family: Georgia,serif; font-size: 25px; font-weight: 500; line-height: 1.05; }
.watermark-stat small { color: var(--text-soft); font-size: 9px; }
.watermark-workspace { display: grid; grid-template-columns: minmax(250px, .76fr) minmax(0, 1.7fr); gap: 12px; align-items: start; }
.watermark-tree-panel { position: sticky; top: 14px; max-height: calc(100vh - 28px); overflow: hidden; }
.watermark-tree-panel .panel-heading { margin-bottom: 10px; }
.watermark-tree-search { display: grid; grid-template-columns: 22px 1fr; align-items: center; margin-bottom: 9px; padding: 0 8px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.watermark-tree-search span { color: var(--text-faint); text-align: center; }
.watermark-tree-search input { min-width: 0; border: 0; padding: 9px 4px; background: transparent; box-shadow: none; font-size: 11px; }
.watermark-tree { max-height: calc(100vh - 225px); overflow: auto; padding-right: 3px; scrollbar-width: thin; }
.watermark-tree-gallery { margin-bottom: 7px; }
.watermark-tree-row { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; gap: 7px; align-items: center; min-height: 45px; padding: 7px 8px; border: 1px solid transparent; border-radius: 10px; color: inherit; text-decoration: none; transition: background .16s ease,border-color .16s ease,transform .16s ease; }
.watermark-tree-row:hover { border-color: var(--border); background: rgba(255,255,255,.8); }
.watermark-tree-row.active { border-color: rgba(160,119,45,.34); background: #fff; box-shadow: var(--shadow-sm); }
.watermark-tree-row.folder { position: relative; margin-left: calc((var(--tree-depth,0) + 1) * 10px); min-height: 39px; padding-block: 5px; }
.watermark-tree-row.folder .watermark-tree-line { position: absolute; left: -6px; top: -9px; bottom: 50%; width: 7px; border-bottom: 1px solid rgba(123,111,93,.22); border-left: 1px solid rgba(123,111,93,.22); border-radius: 0 0 0 5px; }
.watermark-tree-icon { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; background: #f0ebe3; color: var(--gold-dark); font-size: 10px; }
.watermark-tree-copy { display: flex; min-width: 0; flex-direction: column; gap: 1px; }
.watermark-tree-copy strong { overflow: hidden; font-size: 10px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.watermark-tree-copy small { overflow: hidden; color: var(--text-faint); font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.watermark-mode-badge { min-width: 40px; padding: 4px 6px; border-radius: 999px; background: #eeeae4; color: #645d54; font-size: 7px; font-weight: 850; text-align: center; text-transform: uppercase; }
.watermark-mode-badge.mode-subtle, .watermark-effective-pill.mode-subtle { background: #f7efe0; color: #835f22; }
.watermark-mode-badge.mode-normal, .watermark-effective-pill.mode-normal { background: #1b1916; color: #fff; }
.watermark-mode-badge.mode-off, .watermark-effective-pill.mode-off { background: #efeeec; color: #716b64; }
.watermark-tree-row.tree-filter-dimmed { opacity: .55; }
.tree-filter-hidden { display: none !important; }
.watermark-editor-column { display: grid; gap: 12px; min-width: 0; }
.watermark-editor-heading { gap: 12px; }
.watermark-effective-pill { display: flex; min-width: 82px; flex-direction: column; gap: 1px; align-items: center; justify-content: center; padding: 7px 9px; border-radius: 10px; text-align: center; }
.watermark-effective-pill b { font-size: 9px; }
.watermark-effective-pill small { font-size: 6.5px; opacity: .72; text-transform: uppercase; letter-spacing: .06em; }
.watermark-breadcrumbs { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: -2px 0 12px; color: var(--text-faint); font-size: 8px; }
.watermark-breadcrumbs a { color: inherit; text-decoration: none; }
.watermark-breadcrumbs a.active { color: var(--text); font-weight: 800; }
.watermark-form { display: grid; gap: 12px; }
.watermark-mode-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.watermark-mode-option { position: relative; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; min-height: 70px; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.55); cursor: pointer; transition: border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease; }
.watermark-mode-option:hover { transform: translateY(-1px); background: #fff; }
.watermark-mode-option.active { border-color: rgba(151,110,38,.48); background: #fff; box-shadow: var(--shadow-sm); }
.watermark-mode-option input { position: absolute; opacity: 0; pointer-events: none; }
.watermark-mode-option .mode-option-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #f1ede7; color: var(--gold-dark); font-size: 15px; font-weight: 800; }
.watermark-mode-option.active .mode-option-icon { background: #181613; color: #fff; }
.watermark-mode-option > span:last-child { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.watermark-mode-option strong { font-size: 10px; }
.watermark-mode-option small { color: var(--text-soft); font-size: 8px; line-height: 1.35; }
.watermark-mode-option.inherit { grid-column: 1 / -1; min-height: 58px; }
.watermark-text-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; }
.watermark-text-row.is-disabled .field { opacity: .55; }
.watermark-inherit-note { display: flex; min-width: 180px; flex-direction: column; gap: 2px; padding: 9px 11px; border: 1px dashed var(--border); border-radius: 10px; background: #f8f5f0; }
.watermark-inherit-note strong { font-size: 9px; }
.watermark-inherit-note span { color: var(--text-soft); font-size: 8px; }
.watermark-descendant-option { margin: 0; }
.watermark-form-actions { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding-top: 2px; border-top: 1px solid var(--border); }
.watermark-effective-source { display: flex; min-width: 0; flex-direction: column; gap: 1px; }
.watermark-effective-source span { color: var(--text-faint); font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.watermark-effective-source strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.watermark-effective-source small { color: var(--text-soft); font-size: 8px; }
.watermark-preview-canvas { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: #d8d1c8; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); }
.watermark-preview-scene { position: relative; min-height: 290px; overflow: hidden; background: linear-gradient(180deg,#cbd7dc 0 52%,#826d53 52%); }
.watermark-preview-sky { position: absolute; inset: 0; background: radial-gradient(circle at 73% 22%,rgba(255,249,218,.9) 0 4%,rgba(255,249,218,0) 5%),linear-gradient(180deg,rgba(216,230,235,.9),rgba(180,201,207,.74)); }
.watermark-preview-mountain { position: absolute; bottom: 31%; width: 55%; height: 48%; background: linear-gradient(145deg,#6f736c,#3f4743); clip-path: polygon(0 100%,45% 10%,100% 100%); opacity: .86; }
.watermark-preview-mountain.one { left: -7%; }
.watermark-preview-mountain.two { right: -4%; width: 68%; height: 55%; background: linear-gradient(145deg,#8e8a7a,#4f554d); }
.watermark-preview-ground { position: absolute; right: 0; bottom: 0; left: 0; height: 36%; background: linear-gradient(180deg,#7c684e,#473f34); }
.watermark-preview-caption { position: absolute; z-index: 2; left: 13px; bottom: 12px; display: flex; flex-direction: column; padding: 7px 9px; border-radius: 9px; background: rgba(16,14,12,.48); color: #fff; backdrop-filter: blur(6px); }
.watermark-preview-caption b { font-size: 9px; letter-spacing: .12em; }
.watermark-preview-caption small { font-size: 7px; opacity: .76; }
.watermark-preview-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 9px; }
.watermark-preview-notes > div { display: flex; flex-direction: column; gap: 3px; padding: 9px 10px; border-radius: 10px; background: #f7f4ef; }
.watermark-preview-notes strong { font-size: 9px; }
.watermark-preview-notes span { color: var(--text-soft); font-size: 8px; line-height: 1.42; }
.watermark-policy-mini { display: inline-flex; gap: 5px; align-items: center; padding: 5px 8px; border-radius: 999px; background: #f5f1eb; color: var(--text-soft); font-size: 8px; font-weight: 750; }
.watermark-policy-mini b { color: var(--text); }

@media (max-width: 980px) {
    .watermark-workspace { grid-template-columns: 1fr; }
    .watermark-tree-panel { position: static; max-height: none; }
    .watermark-tree { max-height: 340px; }
    .watermark-preview-notes { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .watermark-stat-grid { grid-template-columns: 1fr 1fr; }
    .watermark-stat:last-child { grid-column: 1 / -1; }
    .watermark-mode-options { grid-template-columns: 1fr; }
    .watermark-mode-option.inherit { grid-column: auto; }
    .watermark-text-row { grid-template-columns: 1fr; }
    .watermark-inherit-note { min-width: 0; }
    .watermark-form-actions { align-items: stretch; flex-direction: column; }
    .watermark-form-actions .button { width: 100%; }
    .watermark-preview-scene { min-height: 220px; }
    .lightbox-media-shell { max-height: calc(100vh - 145px); }
}

.watermark-settings-link-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--border); border-radius:11px; background:#f8f5f0; }
.watermark-settings-link-card > span:nth-child(2) { display:flex; min-width:0; flex-direction:column; gap:2px; }
.watermark-settings-link-card strong { font-size:10px; }
.watermark-settings-link-card small { color:var(--text-soft); font-size:8px; line-height:1.4; }
.watermark-settings-link-card em { color:var(--text-faint); font-size:8px; font-style:normal; font-weight:750; }
.upload-heading-meta { display:flex; flex-wrap:wrap; gap:7px; align-items:center; justify-content:flex-end; }
.select-watermark-layer { z-index:2; }
.tile-type, .tile-meta-overlay, .gallery-folder-badge { z-index:3; }
.media-tile.is-video::after { z-index:3; }
@media (max-width:680px) { .watermark-settings-link-card { grid-template-columns:34px minmax(0,1fr); } .watermark-settings-link-card .button, .watermark-settings-link-card em { grid-column:1/-1; width:100%; } .upload-heading-meta { justify-content:flex-start; } }

/* Gallery & folder custom preview covers */
.gallery-cover-manager {
    display: grid;
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
    padding: 22px;
    overflow: hidden;
}
.gallery-cover-manager-copy { min-width: 0; }
.gallery-cover-manager-copy h2 { margin: 4px 0 7px; font-family: Georgia, serif; font-size: 24px; font-weight: 500; line-height: 1.12; }
.gallery-cover-manager-copy > p { max-width: 560px; margin: 0; color: var(--text-soft); font-size: 11px; line-height: 1.6; }
.gallery-cover-source-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; }
.gallery-cover-source-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--text-soft); font-size: 9px; font-weight: 850; letter-spacing: .02em; }
.gallery-cover-source-badge.source-custom { border-color: rgba(38,122,83,.2); background: var(--success-soft); color: var(--success); }
.gallery-cover-source-badge.source-media { border-color: rgba(168,126,52,.2); background: var(--accent-soft); color: var(--accent-deep); }
.gallery-cover-source-badge.source-automatic { background: var(--surface-soft); color: var(--text-soft); }
.gallery-cover-source-badge.source-none { border-style: dashed; color: var(--text-faint); }
.gallery-cover-tech { color: var(--text-faint); font-size: 9px; font-weight: 700; }
.gallery-cover-manager-ui { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(230px, .92fr); align-items: center; gap: 17px; min-width: 0; }
.gallery-cover-preview { position: relative; display: grid; width: 100%; aspect-ratio: 16 / 9.2; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, #201d19, #342e28); box-shadow: var(--shadow-sm); cursor: pointer; isolation: isolate; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.gallery-cover-preview:hover, .gallery-cover-preview:focus-visible { border-color: rgba(168,126,52,.48); box-shadow: var(--shadow-md); outline: none; }
.gallery-cover-preview.is-dragover { transform: translateY(-2px); border-color: var(--accent-deep); box-shadow: var(--shadow-md); }
.gallery-cover-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: object-position .18s ease, transform .28s ease, opacity .18s ease; }
.gallery-cover-preview:hover img { transform: scale(1.012); }
.gallery-cover-placeholder { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 4px; color: #fff; }
.gallery-cover-placeholder b { color: #d3b677; font-family: Georgia, serif; font-size: 42px; font-weight: 500; }
.gallery-cover-placeholder small { color: rgba(255,255,255,.48); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.gallery-cover-drop-hint { position: absolute; z-index: 2; right: 9px; bottom: 9px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(12,11,10,.62); color: rgba(255,255,255,.85); backdrop-filter: blur(8px); font-size: 8px; font-weight: 850; opacity: .78; transition: opacity .18s ease, transform .18s ease; }
.gallery-cover-preview:hover .gallery-cover-drop-hint, .gallery-cover-preview.is-dragover .gallery-cover-drop-hint { opacity: 1; transform: translateY(-1px); }
.gallery-cover-preview.is-empty .gallery-cover-drop-hint { opacity: 1; }
.gallery-cover-progress { position: absolute; z-index: 5; inset: 0; display: grid; place-items: center; align-content: center; gap: 11px; background: rgba(17,15,13,.82); backdrop-filter: blur(8px); color: #fff; }
.gallery-cover-progress i { position: relative; display: block; width: min(72%, 250px); height: 5px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.16); }
.gallery-cover-progress i::after { content: ''; position: absolute; inset: 0; width: var(--cover-progress, 0%); border-radius: inherit; background: #fff; transition: width .12s linear; }
.gallery-cover-progress b { font-size: 10px; font-weight: 800; }
.gallery-cover-controls { display: grid; align-content: center; gap: 12px; min-width: 0; }
.gallery-cover-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.gallery-cover-help { display: block; color: var(--text-faint); font-size: 9px; line-height: 1.55; }
.cover-focus-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-soft); transition: opacity .18s ease; }
.cover-focus-control.is-disabled { opacity: .45; pointer-events: none; }
.cover-focus-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.cover-focus-copy strong { font-size: 10px; font-weight: 850; }
.cover-focus-copy small { color: var(--text-faint); font-size: 8px; line-height: 1.35; }
.cover-focus-grid { display: grid; grid-template-columns: repeat(3, 17px); grid-template-rows: repeat(3, 17px); gap: 3px; flex: 0 0 auto; }
.cover-focus-point { display: grid; width: 17px; height: 17px; padding: 0; place-items: center; border: 1px solid #d8d1c6; border-radius: 5px; background: var(--surface); cursor: pointer; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.cover-focus-point:hover, .cover-focus-point:focus-visible { transform: scale(1.08); border-color: var(--accent-deep); outline: none; }
.cover-focus-point span { display: block; width: 4px; height: 4px; border-radius: 50%; background: #b5ab9e; }
.cover-focus-point.active { border-color: var(--accent-deep); background: var(--accent-soft); }
.cover-focus-point.active span { width: 6px; height: 6px; background: var(--accent-deep); }

@media (max-width: 980px) {
    .gallery-cover-manager { grid-template-columns: 1fr; align-items: stretch; }
    .gallery-cover-manager-copy > p { max-width: none; }
}
@media (max-width: 680px) {
    .gallery-cover-manager { gap: 16px; padding: 15px; }
    .gallery-cover-manager-copy h2 { font-size: 21px; }
    .gallery-cover-manager-ui { grid-template-columns: 1fr; gap: 12px; }
    .gallery-cover-preview { aspect-ratio: 16 / 9.4; border-radius: 13px; }
    .gallery-cover-actions .button { flex: 1 1 auto; }
    .cover-focus-control { grid-template-columns: minmax(0, 1fr) auto; }
}

/* Gallery performance: instant low-res preview + seamless high-res swap */
.media-tile { contain: paint; }
.media-tile img { background: #25211d; }
.lightbox-media-shell.is-image { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.lightbox-media-shell.is-image > .lightbox-preview-placeholder,
.lightbox-media-shell.is-image > .lightbox-full-image,
.lightbox-media-shell.is-image > .lightbox-media-loader { grid-column: 1; grid-row: 1; }
.lightbox-preview-placeholder { z-index: 1; max-width: 100%; max-height: calc(100vh - 150px); filter: blur(7px); opacity: .62; transform: scale(1.008); transition: opacity .18s ease, filter .18s ease; }
.lightbox-preview-placeholder.is-hidden { filter: blur(0); opacity: 0; }
.lightbox-full-image { z-index: 2; max-width: 100%; max-height: calc(100vh - 150px); opacity: 0; transition: opacity .16s ease; }
.lightbox-full-image.is-ready { opacity: 1; }
.lightbox-media-loader { z-index: 9; display: grid; place-items: center; align-self: center; justify-self: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(8,7,6,.34); backdrop-filter: blur(8px); }
.lightbox-media-loader .spinner { width: 22px; height: 22px; border-color: rgba(255,255,255,.22); border-top-color: #fff; }
.lightbox-inline-error { position: absolute; z-index: 9; right: 16px; bottom: 16px; left: 16px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(12,11,10,.72); color: rgba(255,255,255,.88); font-size: 10px; text-align: center; backdrop-filter: blur(10px); }
@media (max-width: 760px) {
    .lightbox-preview-placeholder, .lightbox-full-image { max-height: calc(100vh - 145px); }
}

/* SELECT 1.4.0 – per-user trusted device access */
.status-pending { background: var(--warning-soft); color: var(--warning); }
.device-list-summary { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; }
.device-management-panel { margin-bottom: 20px; scroll-margin-top: 24px; }
.device-policy-panel .access-switch-row { padding-bottom: 0; }
.device-counts { display: flex; flex-wrap: wrap; gap: 8px; }
.device-count-chip { display: grid; min-width: 76px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); text-align: center; }
.device-count-chip strong { font-size: 18px; line-height: 1.1; }
.device-count-chip small { color: var(--text-soft); font-size: 10px; }
.device-count-chip.has-pending { border-color: #e9cd9d; background: var(--warning-soft); color: var(--warning); }
.device-table-wrap { margin-top: 8px; border: 1px solid var(--line); border-radius: 13px; }
.device-table th, .device-table td { white-space: normal; }
.device-table td { min-width: 140px; }
.device-table td:nth-child(2) { min-width: 230px; }
.device-table td strong, .device-table td small { display: block; }
.device-table td small { margin-top: 3px; color: var(--text-soft); font-size: 10px; line-height: 1.4; }
.device-row-pending { background: #fffaf0; }
/* SELECT 1.4.2 – exact device deep-link focus for approval-required emails */
.device-row { scroll-margin-top: 92px; transition: background var(--transition), box-shadow var(--transition); }
.device-row:target { background: var(--warning-soft); box-shadow: inset 4px 0 0 var(--warning); }
.device-status-note { margin-top: 7px !important; }
.device-ua { margin-top: 7px; max-width: 330px; }
.device-ua summary { color: var(--accent-deep); cursor: pointer; font-size: 10px; font-weight: 750; }
.device-ua code { display: block; overflow-wrap: anywhere; margin-top: 5px; padding: 7px 8px; border-radius: 8px; background: var(--surface-soft); color: var(--text-soft); font-size: 9px; line-height: 1.45; white-space: normal; }
.device-actions { min-width: 126px !important; }
.device-actions form { display: inline-block; }
.device-reset-zone { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); }
.device-reset-zone > div { display: flex; max-width: 680px; flex-direction: column; }
.device-reset-zone strong { font-size: 12px; }
.device-reset-zone small { color: var(--text-soft); font-size: 10px; }
.device-reset-zone button:disabled { cursor: not-allowed; opacity: .45; }

@media (max-width: 680px) {
    .device-counts { width: 100%; }
    .device-count-chip { flex: 1 1 78px; }
    .device-reset-zone { align-items: stretch; flex-direction: column; }
    .device-reset-zone form, .device-reset-zone .button { width: 100%; }
}

/* SELECT 1.4.1 – per-user login security alerts */
.login-alert-panel { scroll-margin-top: 24px; }
.login-alert-form { gap: 12px; }
.login-alert-toggle { margin: 0; }
.login-alert-preview { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px dashed #d9cdb8; border-radius: 11px; background: #fbf8f2; }
.login-alert-preview > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-deep); font-size: 13px; }
.login-alert-preview > div { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.login-alert-preview strong { font-size: 10px; }
.login-alert-preview small { overflow-wrap: anywhere; color: var(--text-soft); font-size: 9px; line-height: 1.4; }
.device-ip-link { color: var(--accent-deep); text-decoration: none; text-underline-offset: 2px; }
.device-ip-link:hover, .device-ip-link:focus-visible { text-decoration: underline; }

/* SELECT 1.4.1 – honest image loading feedback.
   The bar is intentionally indeterminate: normal <img> loading does not expose a reliable byte percentage. */
.smart-image-loader { pointer-events: none; }
.smart-image-loader-track { position: relative; display: block; overflow: hidden; height: 3px; border-radius: 999px; background: rgba(255,255,255,.18); }
.smart-image-loader-bar { position: absolute; top: 0; bottom: 0; left: -48%; width: 48%; border-radius: inherit; background: rgba(255,255,255,.88); animation: select-image-loading 1.05s cubic-bezier(.4,0,.2,1) infinite; }
.smart-image-loader-copy { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smart-image-loader.is-complete .smart-image-loader-bar { left: 0; width: 100%; animation: none; transition: left .12s ease, width .12s ease; }
.smart-image-loader.is-error .smart-image-loader-bar { animation-duration: 1.8s; opacity: .58; }
@keyframes select-image-loading { 0% { left: -48%; } 55% { left: 58%; } 100% { left: 105%; } }

.media-tile > img { opacity: 0; transform: scale(1.015); transition: opacity .2s ease, transform .3s ease; }
.media-tile.is-image-ready > img { opacity: 1; transform: scale(1); }
.media-tile:hover.is-image-ready > img,
.media-tile:focus-visible.is-image-ready > img { transform: scale(1.03); }
.smart-image-loader-tile { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 10px; background: linear-gradient(145deg, #24201c, #332d27); color: rgba(255,255,255,.72); }
.smart-image-loader-tile .smart-image-loader-track { background: rgba(255,255,255,.13); }
.smart-image-loader-tile .smart-image-loader-copy { font-size: 7px; font-weight: 760; letter-spacing: .025em; }
.media-tile.is-image-ready .smart-image-loader-tile { opacity: 0; transition: opacity .22s ease; }
.media-tile.is-image-error .smart-image-loader-tile { background: linear-gradient(145deg, #2a2520, #3a332c); }

/* Overrides the older spinner-only lightbox loader while preserving z-index > watermark. */
.lightbox-media-loader.smart-image-loader-lightbox { z-index: 9; display: flex; width: min(300px, calc(100vw - 52px)); height: auto; min-height: 0; align-self: center; justify-self: center; flex-direction: column; gap: 9px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(8,7,6,.58); color: rgba(255,255,255,.82); backdrop-filter: blur(10px); box-shadow: 0 10px 36px rgba(0,0,0,.2); }
.lightbox-media-loader.smart-image-loader-lightbox .smart-image-loader-copy { color: rgba(255,255,255,.78); font-size: 10px; line-height: 1.35; text-align: center; }
.lightbox-media-loader.smart-image-loader-lightbox.is-slow .smart-image-loader-copy { white-space: normal; }
.lightbox-media-loader.smart-image-loader-lightbox.is-complete { opacity: 0; transition: opacity .22s ease; }

@media (prefers-reduced-motion: reduce) {
    .smart-image-loader-bar { left: 0; width: 62%; animation: none; opacity: .78; }
    .media-tile > img { transition: opacity .12s ease; }
}

/* SELECT 1.4.3 – video duplicate protection + safer bulk media deletion */
.media-select-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.media-select-tools [data-select-videos] { font-weight:750; }
.upload-item.is-duplicate { background:var(--success-soft); }
.upload-item.is-duplicate .upload-item-icon { background:#d9efe4; color:var(--success); }
.upload-item.is-duplicate .upload-item-status { color:var(--success); }
@media (max-width:760px) {
    .media-select-tools { width:100%; justify-content:flex-start; }
    .media-select-tools [data-select-videos] { padding-left:0; }
}


/* Lukas-Teissl Consulting credit */
.consulting-credit {
    position: relative;
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(88, 76, 61, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .42);
    color: var(--text-soft);
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(37, 31, 25, .045);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.consulting-credit:hover {
    transform: translateY(-1px);
    border-color: rgba(148, 112, 54, .26);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 12px 30px rgba(37, 31, 25, .08);
}
.consulting-credit:focus-visible {
    outline: 2px solid var(--accent-deep);
    outline-offset: 3px;
}
.consulting-credit-mark {
    display: grid;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(145deg, #1e1b18, #3a3129);
    color: #e3c38b;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}
.consulting-credit-mark span {
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .08em;
}
.consulting-credit-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
    line-height: 1.15;
}
.consulting-credit-copy small {
    overflow: hidden;
    color: var(--text-faint);
    font-size: 8px;
    font-weight: 720;
    letter-spacing: .055em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.consulting-credit-copy strong {
    color: var(--text);
    font-size: 10.5px;
    font-weight: 790;
    letter-spacing: .01em;
    white-space: nowrap;
}
.consulting-credit-copy strong span {
    color: var(--text-faint);
    font-weight: 620;
}
.consulting-credit-arrow {
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border-radius: 50%;
    background: rgba(148, 112, 54, .09);
    color: var(--accent-deep);
    font-size: 11px;
    transition: transform .22s ease, background .22s ease;
}
.consulting-credit:hover .consulting-credit-arrow {
    transform: translate(1px, -1px);
    background: rgba(148, 112, 54, .15);
}

.guest-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
}
.guest-footer .consulting-credit { justify-self: center; }
.guest-footer nav { justify-self: end; }

@media (max-width: 820px) {
    .guest-footer {
        grid-template-columns: 1fr auto;
        gap: 14px 18px;
    }
    .guest-footer .consulting-credit {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: stretch;
        width: 100%;
        max-width: 520px;
    }
    .guest-footer-copyright { grid-column: 1; grid-row: 2; }
    .guest-footer nav { grid-column: 2; grid-row: 2; }
}

@media (max-width: 520px) {
    .guest-footer {
        display: flex;
        align-items: stretch;
        gap: 13px;
    }
    .guest-footer .consulting-credit {
        width: 100%;
        padding: 9px;
    }
    .guest-footer nav { justify-self: auto; }
    .consulting-credit-copy small { font-size: 7.5px; letter-spacing: .035em; }
    .consulting-credit-copy strong { font-size: 9.5px; }
}

@media (max-width: 360px) {
    .consulting-credit { gap: 8px; }
    .consulting-credit-mark { width: 29px; height: 29px; flex-basis: 29px; }
    .consulting-credit-arrow { width: 22px; height: 22px; flex-basis: 22px; }
    .consulting-credit-copy small { white-space: normal; }
    .consulting-credit-copy strong { white-space: normal; }
}


/* SELECT 1.4.41 — global premium programming credit in app/backoffice */
.app-main {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
.app-content {
    width: 100%;
    min-width: 0;
    flex: 1 0 auto;
}
.app-footer {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: clamp(34px, 5vw, 72px);
    padding-top: 18px;
    border-top: 1px solid rgba(88, 76, 61, .12);
    color: var(--text-faint);
}
.app-footer::before {
    position: absolute;
    top: -1px;
    left: 0;
    width: min(180px, 34vw);
    height: 1px;
    background: linear-gradient(90deg, rgba(171, 132, 69, .72), rgba(171, 132, 69, 0));
    content: "";
}
.app-footer-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}
.app-footer-mini-mark {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid rgba(171, 132, 69, .26);
    border-radius: 9px;
    background: linear-gradient(145deg, #faf8f5, #f0ebe4);
    color: var(--accent-deep);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 700;
}
.app-footer-identity-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
    line-height: 1.15;
}
.app-footer-identity-copy small {
    color: var(--text-faint);
    font-size: 7.5px;
    font-weight: 820;
    letter-spacing: .12em;
}
.app-footer-identity-copy strong {
    overflow: hidden;
    color: var(--text-soft);
    font-size: 10px;
    font-weight: 680;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-footer-admin-badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid rgba(87, 113, 94, .18);
    border-radius: 999px;
    background: rgba(67, 118, 82, .055);
    color: #55745e;
    font-size: 7.5px;
    font-weight: 780;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}
.app-footer .consulting-credit {
    flex: 0 1 auto;
    padding: 7px 9px;
    border-color: rgba(88, 76, 61, .10);
    background: rgba(255, 255, 255, .3);
    box-shadow: none;
}
.app-footer .consulting-credit:hover {
    border-color: rgba(148, 112, 54, .24);
    background: rgba(255, 255, 255, .7);
    box-shadow: 0 10px 28px rgba(37, 31, 25, .065);
}
.backoffice-footer .consulting-credit-mark {
    background: linear-gradient(145deg, #171512, #342b23);
}

@media (max-width: 760px) {
    .app-footer {
        align-items: stretch;
        flex-direction: column;
        gap: 11px;
        margin-top: 30px;
        padding-top: 15px;
    }
    .app-footer-identity { min-height: 30px; }
    .app-footer .consulting-credit {
        width: 100%;
        justify-content: flex-start;
    }
    .app-footer .consulting-credit-arrow { margin-left: auto; }
}

@media (max-width: 420px) {
    .app-footer-identity { gap: 8px; }
    .app-footer-admin-badge { margin-left: auto; }
    .app-footer .consulting-credit-copy small { white-space: normal; }
    .app-footer .consulting-credit-copy strong { white-space: normal; }
}

/* SELECT 1.4.8 · stable, human-friendly media IDs */
.gallery-search-stack { min-width: 0; }
.media-id-search-hint {
    display: block;
    margin: 5px 3px 0;
    color: var(--text-faint);
    font-size: 8.5px;
    font-weight: 650;
    letter-spacing: .015em;
    line-height: 1.35;
}
.media-reference-badge {
    appearance: none;
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    background: rgba(13,12,11,.66);
    box-shadow: 0 3px 12px rgba(0,0,0,.15);
    color: #fff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1;
    white-space: nowrap;
    cursor: copy;
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.media-reference-badge:hover,
.media-reference-badge:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.42);
    background: rgba(13,12,11,.84);
    box-shadow: 0 5px 16px rgba(0,0,0,.22);
}
.media-reference-badge:focus-visible { outline: 2px solid rgba(255,255,255,.88); outline-offset: 2px; }
.tile-type.media-reference-badge {
    left: 8px;
    bottom: 8px;
    padding: 4px 7px;
    font-size: 7.5px;
    letter-spacing: .045em;
}
.lightbox-caption {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.lightbox-media-reference {
    flex: 0 0 auto;
    padding: 5px 8px;
    font-size: 8.5px;
}
.lightbox-caption-label {
    min-width: 0;
    overflow: hidden;
    color: rgba(255,255,255,.62);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-media-reference {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: 5px;
    margin: 0 0 5px;
    padding: 4px 7px;
    border: 1px solid #e2d8c7;
    border-radius: 999px;
    background: #f8f3ea;
    color: #775a2d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .045em;
    cursor: copy;
}
.admin-media-reference:hover,
.admin-media-reference:focus-visible { border-color: #cdb485; background: #f4ead9; color: #5d431f; }
.tagging-media-reference {
    display: inline-flex;
    width: fit-content;
    margin: 5px 0 0;
    padding: 4px 7px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--accent-deep);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .04em;
}

@media (max-width: 520px) {
    .media-id-search-hint { margin-top: 4px; font-size: 8px; }
    .tile-type.media-reference-badge { left: 6px; bottom: 6px; padding: 3px 5px; font-size: 6.6px; }
    .lightbox-caption { right: 12px; left: 12px; gap: 6px; }
    .lightbox-media-reference { padding: 4px 6px; font-size: 7.5px; }
    .lightbox-caption-label { font-size: 9px; }
}
.people-search-stack { min-width: 0; }

/* SELECT 1.4.9 · freely manageable tags + configurable tagging quick actions */
.tag-manager-header .page-header-actions { align-items:center; }
.tag-manager-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:-8px 0 18px; }
.tag-manager-summary article { display:grid; gap:2px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
.tag-manager-summary span { color:var(--text-soft); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tag-manager-summary strong { font-family:Georgia,serif; font-size:27px; font-weight:500; line-height:1; }
.tag-manager-summary small { color:var(--text-faint); font-size:9px; }
.tag-manager-panel { margin-bottom:18px; }
.tag-manager-panel-heading { align-items:flex-start; gap:18px; }
.tag-manager-panel-heading .eyebrow { display:block; margin-bottom:5px; }
.tag-manager-safe-note { flex:0 0 auto; max-width:270px; padding:7px 10px; border:1px solid rgba(83,132,85,.24); border-radius:999px; background:rgba(83,132,85,.08); color:#496c4c; font-size:9px; font-weight:800; text-align:center; }
.quick-action-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:11px; }
.quick-action-admin-card { display:grid; gap:12px; min-width:0; padding:14px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(180deg,var(--surface),var(--surface-soft)); }
.quick-action-admin-card.is-inactive { opacity:.72; }
.quick-action-preview-row { display:flex; align-items:center; justify-content:space-between; gap:9px; }
.quick-action-preview { display:inline-flex; align-items:center; gap:8px; min-width:0; padding:8px 10px; border:1px solid rgba(185,152,93,.32); border-radius:11px; background:var(--accent-soft); color:var(--accent-deep); }
.quick-action-preview kbd,.tagging-quick-flags kbd { display:grid; width:20px; height:20px; place-items:center; border:1px solid rgba(107,83,43,.22); border-radius:6px; background:rgba(255,255,255,.7); box-shadow:0 1px 1px rgba(0,0,0,.05); font-family:inherit; font-size:9px; font-weight:900; }
.quick-action-preview strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.status-pill { padding:5px 7px; border-radius:999px; font-size:8px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.status-pill.active { background:rgba(83,132,85,.1); color:#476b49; }
.status-pill.inactive { background:rgba(100,94,85,.09); color:var(--text-faint); }
.quick-action-behavior { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 9px; border-radius:9px; background:rgba(0,0,0,.025); }
.quick-action-behavior span { color:var(--text-faint); font-size:9px; }
.quick-action-behavior strong { overflow:hidden; max-width:58%; font-size:9px; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.quick-action-edit-form { display:grid; gap:9px; }
.quick-action-edit-form .field,.quick-action-create-form .field { gap:4px; }
.quick-action-edit-form .field>span,.quick-action-create-form .field>span { font-size:9px; }
.quick-action-edit-form input,.quick-action-edit-form select,.quick-action-create-form input,.quick-action-create-form select { min-height:38px; font-size:11px; }
.quick-action-mini-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:8px; }
.quick-action-active { font-size:10px; }
.quick-action-create-box { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); gap:22px; margin-top:18px; padding:18px; border:1px dashed rgba(185,152,93,.42); border-radius:16px; background:rgba(185,152,93,.055); }
.quick-action-create-box h3 { margin:4px 0 5px; font-family:Georgia,serif; font-size:20px; font-weight:500; }
.quick-action-create-box p { margin:0; color:var(--text-soft); font-size:10px; line-height:1.55; }
.quick-action-create-form { display:grid; grid-template-columns:1.25fr .42fr 1.15fr 1.15fr .55fr; gap:8px; align-items:end; }
.quick-action-create-form .quick-action-active { grid-column:1 / -1; }
.quick-action-create-form .button { grid-column:1 / -1; justify-self:start; }
.tag-manager-search { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.tag-manager-search input { min-width:210px; }
.tag-create-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; margin-bottom:15px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.tag-admin-list { display:grid; gap:7px; }
.tag-admin-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(270px,.9fr) auto; gap:9px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.tag-admin-identity { display:flex; align-items:center; min-width:0; gap:9px; }
.tag-admin-icon { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border-radius:9px; background:var(--accent-soft); color:var(--accent-deep); font-size:13px; font-weight:900; }
.tag-admin-identity div { display:grid; min-width:0; gap:2px; }
.tag-admin-identity strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.tag-admin-identity small { color:var(--text-faint); font-size:9px; }
.tag-rename-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.tag-rename-form input { min-height:36px; font-size:10px; }
.tag-manager-limit-note { margin:12px 0 0; color:var(--text-faint); font-size:9px; }
.tagging-quick-flags { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.tagging-quick-flags button { min-width:0; }
.tagging-quick-flags button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tagging-quick-empty { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; padding:10px; border:1px dashed rgba(185,152,93,.45); border-radius:11px; color:var(--text); text-decoration:none; }
.tagging-quick-empty>span { grid-row:1/3; display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:var(--accent-soft); color:var(--accent-deep); font-size:18px; }
.tagging-quick-empty strong { font-size:10px; }
.tagging-quick-empty small { color:var(--text-faint); font-size:9px; }

@media (max-width: 900px) {
    .quick-action-create-box { grid-template-columns:1fr; }
    .quick-action-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tag-admin-row { grid-template-columns:1fr; }
    .tag-admin-row>form:last-child .button { width:100%; }
}
@media (max-width: 680px) {
    .tag-manager-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .tag-manager-summary article { padding:10px; border-radius:11px; }
    .tag-manager-summary strong { font-size:22px; }
    .tag-manager-summary small { display:none; }
    .tag-manager-panel-heading { flex-direction:column; }
    .tag-manager-safe-note { max-width:none; }
    .quick-action-admin-grid { grid-template-columns:1fr; }
    .quick-action-create-form { grid-template-columns:1fr; }
    .quick-action-create-form .quick-action-active,.quick-action-create-form .button { grid-column:auto; }
    .tag-manager-search { width:100%; }
    .tag-manager-search input { width:100%; min-width:0; }
    .tag-create-row { grid-template-columns:1fr; }
    .tag-create-row .button { width:100%; }
    .tag-rename-form { grid-template-columns:1fr auto; }
    .tagging-quick-flags { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 390px) {
    .tag-manager-summary { grid-template-columns:1fr; }
    .tag-manager-summary article { grid-template-columns:1fr auto; align-items:center; }
    .tag-manager-summary small { display:block; grid-column:1 / -1; }
    .tag-rename-form { grid-template-columns:1fr; }
    .tag-rename-form .button { width:100%; }
}

/* SELECT 1.4.14 · reversible Tagging Mode navigation */
.tagging-actions { grid-template-columns:minmax(96px,.8fr) minmax(118px,1fr) minmax(160px,1.35fr); }
.tagging-back-button { white-space:nowrap; }
.tagging-back-button:disabled { cursor:not-allowed; opacity:.42; }
@media (max-width: 680px) {
    .tagging-actions { grid-template-columns:1fr 1fr; }
    .tagging-actions [data-tagging-save] { grid-column:1 / -1; min-height:46px; }
}
@media (max-width: 390px) {
    .tagging-actions { gap:7px; }
    .tagging-actions .button { padding-left:9px; padding-right:9px; font-size:10px; }
}

/* SELECT 1.4.15 · persistent Tagging Mode checkpoint + high-volume workflow helpers */
.tagging-continuity {
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto;
    gap:10px 14px;
    align-items:center;
    padding:10px 14px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(185,152,93,.075),rgba(185,152,93,.025));
}
.tagging-continuity-status { display:flex; align-items:center; min-width:0; gap:9px; }
.tagging-continuity-icon { display:grid; width:30px; height:30px; flex:0 0 auto; place-items:center; border:1px solid rgba(83,132,85,.18); border-radius:10px; background:rgba(83,132,85,.09); color:#4e7350; font-size:12px; font-weight:900; }
.tagging-continuity-status>div { display:grid; min-width:0; gap:2px; }
.tagging-continuity-status strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.tagging-continuity-status small { color:var(--text-faint); font-size:8.5px; line-height:1.35; }
.tagging-continuity-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.tagging-continuity-actions .button { min-height:34px; }
.tagging-series-mode { grid-column:1 / -1; display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:8px; align-items:center; padding:9px 10px; border:1px solid rgba(185,152,93,.24); border-radius:11px; background:rgba(255,255,255,.58); }
.tagging-series-mode>span { display:grid; gap:1px; min-width:0; }
.tagging-series-mode>span strong { font-size:9.5px; }
.tagging-series-mode>span small { color:var(--text-faint); font-size:8px; line-height:1.35; }
.tagging-series-mode .toggle-choice.compact { min-height:34px; padding:7px 9px; border-radius:9px; background:var(--surface); font-size:9px; white-space:nowrap; }
[data-copy-previous]:disabled { opacity:.45; cursor:not-allowed; }

@media (max-width: 900px) {
    .tagging-continuity { grid-template-columns:1fr; }
    .tagging-continuity-actions { justify-content:flex-start; }
    .tagging-series-mode { grid-column:auto; grid-template-columns:1fr 1fr; }
    .tagging-series-mode>span { grid-column:1 / -1; }
}
@media (max-width: 680px) {
    .tagging-continuity { padding:10px; gap:9px; }
    .tagging-continuity-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
    .tagging-continuity-actions .button { width:100%; padding-left:8px; padding-right:8px; }
    .tagging-series-mode { grid-template-columns:1fr; padding:9px; }
    .tagging-series-mode>span { grid-column:auto; }
    .tagging-series-mode .toggle-choice.compact { width:100%; }
    .tagging-continuity-status strong { white-space:normal; }
}
@media (max-width: 390px) {
    .tagging-continuity-actions { grid-template-columns:1fr; }
}

/* SELECT 1.4.17 · compact premium people directory */
/* Scope every visual override to the visitor people page so the admin people
   cards and person profile pages keep their existing editing layout. */
.people-page-header {
    align-items:center;
    gap:14px;
    margin-bottom:10px;
}
.people-page-header .eyebrow {
    margin-bottom:3px;
    font-size:8px;
    letter-spacing:.13em;
}
.people-page-header h1 {
    font-size:clamp(24px,2.1vw,31px);
    line-height:1;
}
.people-page-header p {
    margin-top:5px;
    font-size:10.5px;
    line-height:1.4;
}
.people-page-header .secure-pill {
    gap:5px;
    padding:5px 8px;
    font-size:8.5px;
}

.people-browser .people-filter-shell {
    top:6px;
    margin-bottom:10px;
    padding:7px;
    border-radius:11px;
    box-shadow:0 2px 10px rgba(29,25,20,.045);
}
.people-browser .people-category-chips {
    gap:4px;
    padding-bottom:5px;
}
.people-browser .people-filter-chip {
    min-height:25px;
    gap:5px;
    padding:3px 7px;
    border-radius:8px;
    font-size:8.5px;
    line-height:1.2;
}
.people-browser .people-filter-chip strong {
    min-width:15px;
    padding:1px 4px;
    font-size:7.5px;
}
.people-browser .people-search-row {
    grid-template-columns:minmax(0,1fr) auto minmax(125px,165px);
    gap:5px;
}
.people-browser .people-search-box {
    min-height:31px;
    gap:5px;
    padding:0 8px;
    border-radius:8px;
    font-size:10px;
}
.people-browser .people-search-box input {
    min-height:29px;
    padding:4px 0!important;
    font-size:10px;
}
.people-browser .people-search-stack .media-id-search-hint {
    margin:2px 2px 0;
    font-size:7.5px;
    line-height:1.25;
}
.people-browser .people-more-button,
.people-browser [data-people-sort] {
    min-height:31px;
    padding:5px 9px;
    border-radius:8px;
    font-size:9px;
}
.people-browser [data-people-sort] {
    height:31px;
}
.people-browser .active-filter-row {
    gap:4px;
    margin-top:5px;
}
.people-browser .active-filter-token {
    padding:3px 6px;
    font-size:8px;
}

/* Compact contact-sheet style directory. At common desktop widths this shows
   roughly 7–10 people per row instead of large catalogue cards. */
.people-browser .people-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
    gap:8px;
    align-items:stretch;
}
.people-browser .person-card {
    min-width:0;
    overflow:hidden;
    border:1px solid #ded8cf;
    border-radius:11px;
    background:var(--surface);
    box-shadow:0 1px 5px rgba(29,25,20,.04);
    transition:transform 150ms ease,border-color 150ms ease,box-shadow 150ms ease;
}
.people-browser .person-card:hover {
    transform:translateY(-2px);
    border-color:#cbbdA6;
    box-shadow:0 7px 18px rgba(29,25,20,.085);
}
.people-browser .person-card-cover {
    aspect-ratio:1/1;
    border-bottom:1px solid var(--line);
    background:linear-gradient(145deg,#ebe6df,#f8f6f2);
}
.people-browser .person-card-cover::after {
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:28%;
    background:linear-gradient(180deg,transparent,rgba(18,16,14,.08));
    pointer-events:none;
}
.people-browser .person-card-cover img {
    transform:scale(1.001);
}
.people-browser .person-card:hover .person-card-cover img {
    transform:scale(1.035);
}
.people-browser .person-placeholder {
    font-size:30px;
}
.people-browser .person-featured-badge {
    top:6px;
    left:6px;
    padding:3px 5px;
    border-radius:6px;
    font-size:6.5px;
    letter-spacing:.08em;
}
.people-browser .person-card-body {
    display:flex;
    min-width:0;
    min-height:73px;
    flex-direction:column;
    padding:7px 8px 8px;
}
.people-browser .person-card-title-row {
    min-width:0;
    gap:5px;
}
.people-browser .person-card-title-row a {
    min-width:0;
    overflow:hidden;
}
.people-browser .person-card-title-row strong {
    display:block;
    overflow:hidden;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:11px;
    font-weight:800;
    letter-spacing:-.01em;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.people-browser .person-favorite-mark {
    flex:0 0 auto;
    font-size:10px;
}
.people-browser .person-role {
    margin-top:2px;
    overflow:hidden;
    color:var(--text-faint);
    font-size:7.5px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.people-browser .person-badges {
    max-height:17px;
    gap:3px;
    margin-top:5px;
    overflow:hidden;
}
.people-browser .person-badge {
    min-height:16px;
    padding:1px 5px;
    border-radius:5px;
    font-size:6.8px;
    line-height:1;
    white-space:nowrap;
}
.people-browser .person-meta-line {
    margin:4px 0 0;
    overflow:hidden;
    color:var(--text-faint);
    font-size:7.5px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.people-browser .person-card-description {
    display:none;
}
.people-browser .person-card-footer {
    min-width:0;
    margin-top:auto;
    padding-top:5px;
    border-top:0;
    color:var(--text-faint);
    font-size:7.5px;
    line-height:1.1;
}
.people-browser .person-card-footer > span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.people-browser .person-card-footer .text-link {
    display:grid;
    width:20px;
    height:20px;
    flex:0 0 20px;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--surface-soft);
    color:transparent;
    font-size:0;
    text-decoration:none;
}
.people-browser .person-card-footer .text-link::after {
    content:"→";
    color:var(--accent-deep);
    font-size:10px;
    font-weight:850;
}
.people-browser .person-card-footer .text-link:hover {
    border-color:#cbb789;
    background:var(--accent-soft);
    text-decoration:none;
}
.people-browser .people-load-more-wrap {
    margin-top:10px;
}
.people-browser .people-load-more-wrap .button {
    min-height:31px;
    padding:6px 11px;
    border-radius:8px;
    font-size:9px;
}
.people-browser .gallery-loading {
    min-height:70px;
    padding:12px;
    font-size:9px;
}

/* Keep the secondary memories area visually quieter so the people grid stays
   the focus of the page. */
.people-browser .people-moments-section {
    margin-top:14px;
    padding:14px;
    border-radius:13px;
}
.people-browser .people-moments-section .panel-heading {
    margin-bottom:9px;
}
.people-browser .people-moments-section .eyebrow {
    margin-bottom:3px;
    font-size:8px;
}
.people-browser .people-moments-section .panel-heading h2 {
    font-size:18px;
}
.people-browser .people-moments-section .panel-heading p {
    margin-top:3px;
    font-size:9px;
}
.people-browser .people-moments-count {
    font-size:9px;
}
.people-browser .people-moments-grid {
    grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
    gap:7px;
}
.people-browser .people-moment-tile .media-tile-open {
    border-radius:9px;
}

@media (min-width:1500px) {
    .people-browser .people-grid {
        grid-template-columns:repeat(auto-fill,minmax(138px,1fr));
    }
}
@media (max-width:820px) {
    .people-page-header {
        align-items:flex-start;
        gap:7px;
        margin-bottom:8px;
    }
    .people-page-header .page-header-actions {
        width:auto;
    }
    .people-browser .people-filter-shell {
        position:relative;
        top:auto;
    }
    .people-browser .people-search-row {
        grid-template-columns:minmax(0,1fr) auto;
    }
    .people-browser [data-people-sort] {
        grid-column:1/-1;
    }
    .people-browser .people-grid {
        grid-template-columns:repeat(auto-fill,minmax(122px,1fr));
        gap:7px;
    }
}
@media (max-width:520px) {
    .people-page-header h1 {
        font-size:23px;
    }
    .people-page-header p {
        font-size:9.5px;
    }
    .people-browser .people-filter-shell {
        margin-bottom:8px;
        padding:6px;
    }
    .people-browser .people-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
    }
    .people-browser .person-card {
        border-radius:9px;
    }
    .people-browser .person-card-body {
        min-height:66px;
        padding:6px;
    }
    .people-browser .person-card-title-row strong {
        font-size:9.5px;
    }
    .people-browser .person-badges {
        margin-top:4px;
    }
    .people-browser .person-badge {
        padding:1px 4px;
        font-size:6.2px;
    }
    .people-browser .person-meta-line,
    .people-browser .person-card-footer {
        font-size:6.8px;
    }
    .people-browser .person-card-footer .text-link {
        width:18px;
        height:18px;
        flex-basis:18px;
    }
    .people-browser .people-moments-section {
        padding:10px;
    }
    .people-browser .people-moments-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
    }
}
@media (max-width:380px) {
    .people-browser .people-grid,
    .people-browser .people-moments-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* SELECT 1.4.18 · per-user Viewing Analytics */
.viewing-analytics-panel {
    margin-bottom: 20px;
    padding: 22px;
    scroll-margin-top: 22px;
    overflow: hidden;
}
.analytics-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.analytics-hero-copy { min-width:0; max-width:980px; }
.analytics-hero-copy .eyebrow { margin-bottom:4px; }
.analytics-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.analytics-title-row h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:500; line-height:1.1; letter-spacing:-.015em; }
.analytics-hero-copy p { margin:7px 0 0; color:var(--text-soft); font-size:12px; line-height:1.55; }
.analytics-hero-copy p strong { color:var(--text); }
.analytics-hero-actions { flex:0 0 auto; }
.analytics-live-badge,
.analytics-last-badge { display:inline-flex; min-height:27px; align-items:center; gap:6px; padding:4px 9px; border:1px solid #cfe8da; border-radius:999px; background:var(--success-soft); color:var(--success); font-size:10px; font-weight:850; letter-spacing:.02em; white-space:nowrap; }
.analytics-live-badge i { width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px rgba(38,118,83,.12); animation:selectAnalyticsPulse 1.8s infinite; }
.analytics-live-badge.small { min-height:23px; padding:3px 7px; font-size:9px; }
.analytics-last-badge { border-color:var(--line); background:var(--surface-soft); color:var(--text-soft); }
@keyframes selectAnalyticsPulse { 0%,100% { opacity:1; } 50% { opacity:.45; } }

.analytics-range-bar { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:12px 0 13px; }
.analytics-range-bar > span { margin-right:2px; color:var(--text-faint); font-size:9px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.analytics-range-chip { display:inline-flex; min-height:29px; align-items:center; padding:5px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--text-soft); font-size:10px; font-weight:800; transition:var(--transition); }
.analytics-range-chip:hover { border-color:var(--line-strong); color:var(--text); }
.analytics-range-chip.is-active { border-color:var(--surface-dark); background:var(--surface-dark); color:#fff; }
.analytics-range-bar > small { margin-left:auto; color:var(--text-faint); font-size:9px; }

.analytics-kpi-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
.analytics-kpi { display:flex; min-width:0; min-height:92px; flex-direction:column; justify-content:center; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-soft); }
.analytics-kpi-primary { border-color:#d9c8a8; background:linear-gradient(145deg,#fff,var(--accent-soft)); }
.analytics-kpi > span { overflow:hidden; color:var(--text-soft); font-size:8px; font-weight:850; letter-spacing:.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.analytics-kpi > strong { margin:4px 0 3px; overflow:hidden; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:500; line-height:1.05; text-overflow:ellipsis; white-space:nowrap; }
.analytics-kpi > small { color:var(--text-faint); font-size:8.5px; line-height:1.35; }
.analytics-kpi .analytics-kpi-date { font-size:18px; }

.analytics-empty-state { display:flex; align-items:center; gap:13px; margin-top:12px; padding:20px; border:1px dashed var(--line-strong); border-radius:13px; background:var(--surface-soft); }
.analytics-empty-state > span { display:grid; width:36px; height:36px; flex:0 0 36px; place-items:center; border-radius:50%; background:var(--surface); box-shadow:var(--shadow-sm); font-size:18px; }
.analytics-empty-state strong { display:block; font-size:12px; }
.analytics-empty-state p { margin:3px 0 0; color:var(--text-soft); font-size:10px; }

.analytics-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:10px; margin-top:12px; }
.analytics-subpanel,
.analytics-section-block { min-width:0; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.analytics-subpanel { padding:13px; }
.analytics-section-block { margin-top:10px; padding:14px; }
.analytics-subheading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.analytics-subheading .eyebrow { margin-bottom:2px; font-size:8px; }
.analytics-subheading h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:500; letter-spacing:-.01em; }
.analytics-subheading p { margin:3px 0 0; color:var(--text-faint); font-size:9px; }
.analytics-subheading > small { color:var(--text-faint); font-size:9px; white-space:nowrap; }
.analytics-muted { margin:4px 0; color:var(--text-faint); font-size:10px; }

.analytics-day-list { display:flex; flex-direction:column; gap:5px; }
.analytics-day-row { display:grid; grid-template-columns:38px minmax(80px,1fr) 72px 55px; align-items:center; gap:8px; min-height:26px; }
.analytics-day-row time { color:var(--text-faint); font-size:9px; font-weight:750; }
.analytics-day-row progress,
.analytics-progress-line progress { width:100%; height:6px; overflow:hidden; border:0; border-radius:999px; background:var(--surface-soft); appearance:none; }
.analytics-day-row progress::-webkit-progress-bar,
.analytics-progress-line progress::-webkit-progress-bar { border-radius:999px; background:var(--surface-soft); }
.analytics-day-row progress::-webkit-progress-value,
.analytics-progress-line progress::-webkit-progress-value { border-radius:999px; background:var(--surface-dark); }
.analytics-day-row progress::-moz-progress-bar,
.analytics-progress-line progress::-moz-progress-bar { border-radius:999px; background:var(--surface-dark); }
.analytics-day-row strong { font-size:9px; text-align:right; }
.analytics-day-row small { color:var(--text-faint); font-size:8px; text-align:right; }

.analytics-gallery-list { display:flex; flex-direction:column; }
.analytics-gallery-row { display:grid; grid-template-columns:26px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:39px; padding:6px 0; border-bottom:1px solid var(--line); }
.analytics-gallery-row:last-child { border-bottom:0; }
.analytics-gallery-icon { display:grid; width:24px; height:24px; place-items:center; border-radius:7px; background:var(--surface-soft); color:var(--accent-deep); font-size:11px; }
.analytics-gallery-row > span { min-width:0; }
.analytics-gallery-row strong { display:block; overflow:hidden; font-size:10px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.analytics-gallery-row small { display:block; margin-top:2px; overflow:hidden; color:var(--text-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-gallery-time { text-align:right; }
.analytics-gallery-time strong { font-size:9px; }

.analytics-top-media-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.analytics-media-card { display:grid; min-width:0; grid-template-columns:62px minmax(0,1fr); gap:9px; padding:7px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.analytics-media-thumb { position:relative; display:grid; width:62px; height:62px; place-items:center; overflow:hidden; border-radius:8px; background:#e9e5df; color:var(--text-soft); }
.analytics-media-thumb img { width:100%; height:100%; object-fit:cover; }
.analytics-media-thumb > span { font-size:18px; }
.analytics-media-thumb b { position:absolute; top:4px; left:4px; padding:2px 4px; border-radius:5px; background:rgba(17,16,15,.78); color:#fff; font-size:7px; }
.analytics-media-thumb em { position:absolute; right:4px; bottom:4px; padding:2px 4px; border-radius:5px; background:rgba(255,255,255,.9); color:var(--text); font-size:6.5px; font-style:normal; font-weight:850; text-transform:uppercase; }
.analytics-media-card-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; }
.analytics-media-card-copy > strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-media-card-copy > small { margin-top:1px; overflow:hidden; color:var(--text-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-media-mini-stats { display:flex; flex-wrap:wrap; gap:3px 7px; margin-top:5px; color:var(--text-faint); font-size:7.5px; }
.analytics-media-mini-stats b { color:var(--text); font-size:8px; }
.analytics-progress-line { margin-top:5px; }
.analytics-progress-line progress { display:block; height:4px; }
.analytics-progress-line small { display:block; margin-top:2px; color:var(--text-faint); font-size:7px; }

.analytics-table-wrap { border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.analytics-table { min-width:760px; font-size:9px; }
.analytics-table th { padding:7px 8px; color:var(--text-faint); font-size:7px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.analytics-table td { padding:7px 8px; vertical-align:middle; }
.analytics-table td > strong { display:block; max-width:250px; overflow:hidden; font-size:9px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.analytics-table td > small { display:block; max-width:260px; margin-top:2px; overflow:hidden; color:var(--text-faint); font-size:7.5px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.analytics-count-pill { display:inline-flex; min-height:23px; align-items:center; padding:3px 7px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); font-size:8px; font-weight:800; white-space:nowrap; }
.analytics-recent-table-wrap { max-height:600px; overflow:auto; }
.analytics-media-log-table { min-width:1040px; }
.analytics-log-media { display:flex; min-width:170px; align-items:center; gap:7px; }
.analytics-log-thumb { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; overflow:hidden; border-radius:7px; background:var(--surface-soft); color:var(--text-soft); }
.analytics-log-thumb img { width:100%; height:100%; object-fit:cover; }
.analytics-log-media > span:last-child { min-width:0; }
.analytics-log-media strong { display:block; overflow:hidden; max-width:170px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-log-media small { display:block; max-width:180px; overflow:hidden; color:var(--text-faint); font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-type-pill { display:inline-flex; padding:3px 6px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); font-size:7px; font-weight:800; text-transform:uppercase; }

.analytics-details { margin-top:10px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.analytics-details > summary { display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; cursor:pointer; list-style:none; }
.analytics-details > summary::-webkit-details-marker { display:none; }
.analytics-details > summary span { display:flex; flex-direction:column; }
.analytics-details > summary strong { font-size:11px; }
.analytics-details > summary small { margin-top:2px; color:var(--text-faint); font-size:8.5px; }
.analytics-details > summary b { display:grid; min-width:25px; height:25px; place-items:center; border-radius:8px; background:var(--surface-soft); font-size:9px; }
.analytics-details[open] > summary { border-bottom:1px solid var(--line); }
.analytics-details .analytics-table-wrap { border:0; border-radius:0; }

.analytics-accuracy-note { display:flex; align-items:flex-start; gap:9px; margin-top:10px; padding:9px 11px; border:1px solid #dce5ef; border-radius:10px; background:#f5f8fb; }
.analytics-accuracy-note > span { display:grid; width:19px; height:19px; flex:0 0 19px; place-items:center; border-radius:50%; background:var(--info); color:#fff; font-family:Georgia,serif; font-size:11px; font-weight:700; }
.analytics-accuracy-note p { margin:0; color:#536372; font-size:8.5px; line-height:1.5; }
.analytics-accuracy-note strong { color:#263b4e; }

.user-analytics-table { min-width:1000px; }
.user-table-identity { display:flex; min-width:0; flex-direction:column; }
.user-table-identity small { max-width:210px; overflow:hidden; margin-top:1px; color:var(--text-faint); font-size:9px; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.analytics-list-metric { display:flex; min-width:100px; flex-direction:column; line-height:1.2; }
.analytics-list-metric > strong { font-size:12px; }
.analytics-list-metric > small { margin-top:2px; color:var(--text-soft); font-size:8px; white-space:nowrap; }
.analytics-list-metric > span { margin-top:2px; color:var(--text-faint); font-size:7.5px; }
.analytics-list-metric.compact > strong { font-size:9px; }
.analytics-list-metric.compact > small { font-size:7.5px; }

@media (max-width: 1320px) {
    .analytics-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .analytics-top-media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 980px) {
    .analytics-dashboard-grid { grid-template-columns:1fr; }
    .analytics-top-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .analytics-range-bar > small { width:100%; margin-left:0; }
}
@media (max-width: 680px) {
    .viewing-analytics-panel { padding:13px; }
    .analytics-hero { flex-direction:column; gap:10px; }
    .analytics-hero-actions { width:100%; }
    .analytics-hero-actions .button { width:100%; }
    .analytics-title-row h2 { font-size:21px; }
    .analytics-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    .analytics-kpi { min-height:84px; padding:9px; }
    .analytics-kpi > strong { font-size:19px; }
    .analytics-top-media-grid { grid-template-columns:1fr; }
    .analytics-media-card { grid-template-columns:55px minmax(0,1fr); }
    .analytics-media-thumb { width:55px; height:55px; }
    .analytics-day-row { grid-template-columns:35px minmax(55px,1fr) 65px; }
    .analytics-day-row small { display:none; }
}

/* SELECT 1.4.20 — Admin Viewing Analytics media inspector */
.analytics-media-card-button { width:100%; border:1px solid var(--line); font:inherit; text-align:left; cursor:pointer; appearance:none; transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease; }
.analytics-media-card-button:hover { transform:translateY(-1px); border-color:#cfc6ba; background:#fff; box-shadow:0 8px 22px rgba(28,24,20,.07); }
.analytics-media-card-button:focus-visible,
.analytics-log-thumb-button:focus-visible { outline:2px solid #96713b; outline-offset:2px; }
.analytics-media-card-button .analytics-media-thumb::after { content:'↗'; position:absolute; top:50%; left:50%; display:grid; width:25px; height:25px; place-items:center; transform:translate(-50%,-50%) scale(.85); border:1px solid rgba(255,255,255,.32); border-radius:50%; background:rgba(12,11,10,.68); color:#fff; font-size:10px; opacity:0; backdrop-filter:blur(7px); transition:opacity .15s ease, transform .15s ease; }
.analytics-media-card-button:hover .analytics-media-thumb::after,
.analytics-media-card-button:focus-visible .analytics-media-thumb::after { opacity:1; transform:translate(-50%,-50%) scale(1); }
.analytics-log-thumb-button { position:relative; padding:0; border:0; cursor:pointer; appearance:none; }
.analytics-thumb-expand { position:absolute; right:2px; bottom:2px; display:grid; width:13px; height:13px; place-items:center; border-radius:4px; background:rgba(12,11,10,.78); color:#fff; font-size:6px; opacity:0; transition:opacity .14s ease; }
.analytics-log-thumb-button:hover .analytics-thumb-expand,
.analytics-log-thumb-button:focus-visible .analytics-thumb-expand { opacity:1; }

.analytics-media-lightbox { position:fixed; z-index:5000; inset:0; padding:10px; background:rgba(7,7,7,.94); color:#fff; backdrop-filter:blur(14px); }
.analytics-media-lightbox[hidden] { display:none; }
.analytics-lightbox-shell { display:grid; width:100%; height:calc(100dvh - 20px); grid-template-columns:minmax(0,1fr) minmax(320px,370px); overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:#0a0a0a; box-shadow:0 28px 100px rgba(0,0,0,.48); }
.analytics-lightbox-visual { position:relative; min-width:0; min-height:0; overflow:hidden; background:radial-gradient(circle at 50% 45%,#242321 0,#111 42%,#070707 100%); }
.analytics-lightbox-toolbar { position:absolute; z-index:8; top:0; right:0; left:0; display:flex; min-height:66px; align-items:center; justify-content:space-between; gap:18px; padding:12px 14px 14px 18px; background:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,.28),transparent); pointer-events:none; }
.analytics-lightbox-toolbar > * { pointer-events:auto; }
.analytics-lightbox-toolbar > div:first-child { display:flex; min-width:0; flex-direction:column; gap:2px; }
.analytics-lightbox-context { color:rgba(255,255,255,.58); font-size:8px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.analytics-lightbox-toolbar strong { color:#fff; font-size:10px; }
.analytics-lightbox-toolbar-actions { display:flex; gap:7px; }
.analytics-lightbox-icon { display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; font-size:15px; backdrop-filter:blur(9px); transition:background .14s ease,transform .14s ease; }
.analytics-lightbox-icon:hover { background:rgba(255,255,255,.15); transform:translateY(-1px); }
.analytics-lightbox-icon.is-active { background:#fff; color:#111; }
.analytics-lightbox-close { font-size:23px; font-weight:300; line-height:1; }
.analytics-lightbox-stage { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; padding:70px 72px 58px; touch-action:pan-y; }
.analytics-lightbox-stage.is-actual-size { display:block; overflow:auto; text-align:center; touch-action:pan-x pan-y; }
.analytics-lightbox-stage.is-actual-size .analytics-lightbox-image-shell { display:inline-block; min-width:max-content; min-height:max-content; }
.analytics-lightbox-stage.is-actual-size .analytics-lightbox-image { width:auto; max-width:none; height:auto; max-height:none; }
.analytics-lightbox-image-shell,
.analytics-lightbox-video-shell { position:relative; display:grid; max-width:100%; max-height:100%; place-items:center; overflow:hidden; border-radius:8px; }
.analytics-lightbox-image-shell { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.analytics-lightbox-preview,
.analytics-lightbox-image { grid-column:1; grid-row:1; max-width:100%; max-height:calc(100dvh - 148px); object-fit:contain; border-radius:7px; box-shadow:0 22px 72px rgba(0,0,0,.4); user-select:none; }
.analytics-lightbox-preview { z-index:1; filter:blur(8px); opacity:.55; transform:scale(1.01); transition:opacity .18s ease,filter .18s ease; }
.analytics-lightbox-preview.is-hidden { opacity:0; filter:blur(0); }
.analytics-lightbox-preview.is-fallback { opacity:1; filter:blur(0); transform:none; }
.analytics-lightbox-image { z-index:2; opacity:0; transition:opacity .17s ease; }
.analytics-lightbox-image.is-ready { opacity:1; }
.analytics-lightbox-video-player { display:block; width:min(1180px,100%); max-width:100%; max-height:calc(100dvh - 148px); border-radius:8px; background:#000; box-shadow:0 22px 72px rgba(0,0,0,.4); }
.analytics-lightbox-loader { position:absolute; z-index:5; top:50%; left:50%; display:flex; align-items:center; gap:8px; padding:8px 10px; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.12); border-radius:9px; background:rgba(0,0,0,.58); color:rgba(255,255,255,.78); font-size:8px; backdrop-filter:blur(9px); }
.analytics-lightbox-loader .spinner { width:16px; height:16px; border-color:rgba(255,255,255,.2); border-top-color:#fff; }
.analytics-lightbox-fallback-note { position:absolute; z-index:6; right:10px; bottom:10px; left:10px; padding:8px 10px; border:1px solid rgba(255,255,255,.12); border-radius:8px; background:rgba(0,0,0,.68); color:rgba(255,255,255,.78); font-size:8px; text-align:center; backdrop-filter:blur(8px); }
.analytics-lightbox-media-error { display:flex; max-width:390px; align-items:flex-start; gap:11px; padding:15px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.06); color:#fff; }
.analytics-lightbox-media-error > span { display:grid; width:31px; height:31px; flex:0 0 31px; place-items:center; border-radius:9px; background:rgba(255,255,255,.08); font-size:16px; }
.analytics-lightbox-media-error strong { display:block; font-size:11px; }
.analytics-lightbox-media-error small { display:block; margin-top:4px; color:rgba(255,255,255,.58); font-size:8.5px; line-height:1.45; }
.analytics-lightbox-nav { position:absolute; z-index:7; top:50%; display:grid; width:42px; height:54px; place-items:center; transform:translateY(-50%); border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(0,0,0,.38); color:#fff; cursor:pointer; font-size:31px; line-height:1; backdrop-filter:blur(8px); transition:background .14s ease,transform .14s ease; }
.analytics-lightbox-nav:hover { background:rgba(255,255,255,.12); transform:translateY(-50%) scale(1.03); }
.analytics-lightbox-prev { left:14px; }
.analytics-lightbox-next { right:14px; }
.analytics-lightbox-caption { position:absolute; z-index:6; right:72px; bottom:14px; left:72px; display:flex; min-width:0; align-items:center; justify-content:center; gap:8px; color:rgba(255,255,255,.66); font-size:8px; pointer-events:none; }
.analytics-lightbox-caption strong { max-width:42%; overflow:hidden; padding:3px 6px; border:1px solid rgba(255,255,255,.12); border-radius:6px; background:rgba(0,0,0,.36); color:#fff; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; backdrop-filter:blur(6px); }
.analytics-lightbox-caption span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.analytics-lightbox-insights { min-width:0; min-height:0; display:flex; flex-direction:column; border-left:1px solid #ddd6cc; background:#f8f6f2; color:var(--text); }
.analytics-lightbox-insights-scroll { flex:1; overflow:auto; padding:25px 22px 18px; overscroll-behavior:contain; }
.analytics-lightbox-insights .eyebrow { color:#8b6a38; }
.analytics-lightbox-insights h2 { margin:5px 0 0; font-family:Georgia,'Times New Roman',serif; font-size:22px; font-weight:500; letter-spacing:-.035em; }
.analytics-lightbox-filename { margin:4px 0 0; overflow:hidden; color:var(--text-faint); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.analytics-lightbox-primary { margin-top:19px; padding:15px 16px; border:1px solid #ded6cb; border-radius:13px; background:#fff; box-shadow:0 8px 24px rgba(64,48,30,.045); }
.analytics-lightbox-primary span { display:block; color:#8b6a38; font-size:7.5px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.analytics-lightbox-primary strong { display:block; margin-top:4px; font-family:Georgia,'Times New Roman',serif; font-size:29px; font-weight:500; letter-spacing:-.04em; }
.analytics-lightbox-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:8px; }
.analytics-lightbox-metric { min-width:0; padding:9px 10px; border:1px solid #e1dad0; border-radius:9px; background:rgba(255,255,255,.65); }
.analytics-lightbox-metric span { display:block; color:var(--text-faint); font-size:7px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.analytics-lightbox-metric strong { display:block; margin-top:3px; overflow:hidden; font-size:9px; line-height:1.35; text-overflow:ellipsis; }
.analytics-lightbox-video { margin-top:14px; padding:12px; border:1px solid #ddd6cb; border-radius:11px; background:#fff; }
.analytics-lightbox-video-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.analytics-lightbox-video-heading strong { font-size:10px; }
.analytics-lightbox-video-heading span { color:#8b6a38; font-size:8px; font-weight:800; }
.analytics-lightbox-progress { height:5px; margin-top:8px; overflow:hidden; border-radius:999px; background:#eee9e1; }
.analytics-lightbox-progress i { display:block; height:100%; border-radius:inherit; background:#1b1a18; }
.analytics-lightbox-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:8px; }
.analytics-lightbox-video-grid .analytics-lightbox-metric { padding:7px 8px; background:#faf8f5; }
.analytics-lightbox-meta { margin-top:14px; border-top:1px solid #ddd6cc; }
.analytics-lightbox-meta > div { display:grid; grid-template-columns:82px minmax(0,1fr); gap:9px; padding:8px 0; border-bottom:1px solid #e7e1d8; }
.analytics-lightbox-meta > div > span { color:var(--text-faint); font-size:7.5px; }
.analytics-lightbox-meta > div > strong,
.analytics-lightbox-meta > div > a { overflow:hidden; color:var(--text); font-size:8.5px; font-weight:750; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.analytics-lightbox-meta > div > a { text-decoration:underline; text-underline-offset:2px; }
.analytics-lightbox-shortcuts { margin:10px 0 0; color:var(--text-faint); font-size:7.5px; line-height:1.5; text-align:center; }
.analytics-lightbox-side-actions { display:flex; flex-wrap:wrap; gap:6px; padding:11px 14px max(11px,env(safe-area-inset-bottom)); border-top:1px solid #ddd6cc; background:#fff; }
.analytics-lightbox-side-actions .button { flex:1 1 auto; min-width:0; padding-inline:9px; font-size:8px; }

@media (max-width: 980px) {
    .analytics-lightbox-shell { grid-template-columns:minmax(0,1fr) 310px; }
    .analytics-lightbox-stage { padding-inline:58px; }
}
@media (max-width: 760px) {
    .analytics-media-lightbox { padding:0; background:#080808; }
    .analytics-lightbox-shell { height:100dvh; grid-template-columns:1fr; grid-template-rows:minmax(52dvh,1fr) minmax(250px,42dvh); border:0; border-radius:0; }
    .analytics-lightbox-visual { min-height:0; }
    .analytics-lightbox-insights { border-top:1px solid #ddd6cc; border-left:0; }
    .analytics-lightbox-insights-scroll { padding:14px 14px 10px; }
    .analytics-lightbox-insights h2 { font-size:18px; }
    .analytics-lightbox-primary { margin-top:10px; padding:10px 12px; }
    .analytics-lightbox-primary strong { font-size:23px; }
    .analytics-lightbox-stage { padding:59px 43px 38px; }
    .analytics-lightbox-preview,
    .analytics-lightbox-image,
    .analytics-lightbox-video-player { max-height:calc(58dvh - 92px); }
    .analytics-lightbox-nav { top:52%; width:34px; height:42px; border-radius:10px; font-size:25px; }
    .analytics-lightbox-prev { left:5px; }
    .analytics-lightbox-next { right:5px; }
    .analytics-lightbox-caption { right:44px; bottom:8px; left:44px; gap:5px; }
    .analytics-lightbox-toolbar { min-height:55px; padding:8px 9px 10px 12px; }
    .analytics-lightbox-icon { width:34px; height:34px; }
    .analytics-lightbox-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .analytics-lightbox-side-actions { padding:8px 10px max(8px,env(safe-area-inset-bottom)); }
}
@media (max-width: 430px) {
    .analytics-lightbox-shell { grid-template-rows:minmax(48dvh,1fr) minmax(280px,46dvh); }
    .analytics-lightbox-stage { padding-inline:35px; }
    .analytics-lightbox-preview,
    .analytics-lightbox-image,
    .analytics-lightbox-video-player { max-height:calc(54dvh - 92px); }
    .analytics-lightbox-metric { padding:7px 8px; }
    .analytics-lightbox-video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .analytics-lightbox-meta > div { grid-template-columns:72px minmax(0,1fr); }
}

/* SELECT 1.4.21 — intelligent person-cover focal point editor */
.person-cover-preview.is-focusable-cover { cursor: grab; touch-action: none; user-select: none; }
.person-cover-preview.is-positioning { cursor: grabbing; border-color: var(--accent-deep); box-shadow: 0 12px 34px rgba(52,42,30,.15); }
.person-cover-preview.is-positioning img,
.person-cover-preview.is-focusable-cover:hover img { transform: none; }
.person-cover-focus-guide { position:absolute; z-index:2; top:6.5%; left:20%; width:60%; height:35%; border:1px dashed rgba(255,255,255,.68); border-radius:48% 48% 42% 42%; box-shadow:0 0 0 1px rgba(15,13,11,.13), inset 0 0 24px rgba(255,255,255,.025); pointer-events:none; opacity:.64; transition:opacity .18s ease, transform .18s ease; }
.person-cover-focus-guide::before { content:"Kopfzone"; position:absolute; top:6px; left:50%; transform:translateX(-50%); padding:2px 6px; border-radius:999px; background:rgba(12,11,10,.5); color:rgba(255,255,255,.88); font-size:7px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(5px); }
.person-cover-focus-guide i { position:absolute; top:43%; left:50%; width:7px; height:7px; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.9); border-radius:50%; box-shadow:0 0 0 3px rgba(0,0,0,.14); }
.person-cover-preview.is-positioning .person-cover-focus-guide { opacity:.95; transform:scale(1.015); }
.person-cover-positioner { display:grid; gap:7px; padding:9px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,var(--surface),var(--surface-soft)); transition:opacity .18s ease, filter .18s ease; }
.person-cover-positioner.is-disabled { opacity:.42; filter:grayscale(.25); pointer-events:none; }
.person-cover-positioner-head { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:8px; }
.person-cover-positioner-head > div { display:flex; min-width:0; flex-direction:column; gap:1px; }
.person-cover-positioner-head strong { font-size:9px; font-weight:850; line-height:1.25; }
.person-cover-positioner-head small { color:var(--text-faint); font-size:7.5px; line-height:1.35; }
.person-cover-positioner-head > span { flex:0 0 auto; padding:3px 6px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--accent-deep); font-size:7px; font-weight:850; font-variant-numeric:tabular-nums; }
.person-cover-focus-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.person-focus-smart,.person-focus-reset { min-height:28px; padding:5px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); cursor:pointer; font-size:8px; font-weight:800; transition:border-color .15s ease,background .15s ease,transform .15s ease; }
.person-focus-smart { border-color:#d9c9aa; background:var(--accent-soft); color:var(--accent-deep); }
.person-focus-smart:hover,.person-focus-reset:hover,.person-focus-smart:focus-visible,.person-focus-reset:focus-visible { transform:translateY(-1px); border-color:var(--accent-deep); outline:none; }
.person-focus-smart.is-working { opacity:.68; cursor:wait; }
.person-cover-focus-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
.person-cover-focus-point { position:relative; display:grid; min-height:24px; padding:0; place-items:center; border:1px solid #d9d2c7; border-radius:7px; background:rgba(255,255,255,.72); cursor:pointer; transition:transform .14s ease,border-color .14s ease,background .14s ease; }
.person-cover-focus-point:hover,.person-cover-focus-point:focus-visible { transform:translateY(-1px); border-color:var(--accent-deep); outline:none; }
.person-cover-focus-point span { width:4px; height:4px; border-radius:50%; background:#aaa093; box-shadow:0 0 0 0 rgba(157,117,50,0); transition:all .14s ease; }
.person-cover-focus-point.active { border-color:var(--accent-deep); background:var(--accent-soft); }
.person-cover-focus-point.active span { width:6px; height:6px; background:var(--accent-deep); box-shadow:0 0 0 3px rgba(157,117,50,.13); }
.person-cover-crop-previews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:5px; padding-top:1px; }
.person-cover-crop-previews figure { margin:0; }
.crop-preview { position:relative; display:block; width:100%; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#ebe6df; }
.crop-preview.crop-profile { aspect-ratio:4/5; }
.crop-preview.crop-square { aspect-ratio:1/1; }
.crop-preview.crop-mobile { aspect-ratio:4/3; }
.crop-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.crop-preview i { position:absolute; z-index:2; right:3px; bottom:3px; padding:2px 4px; border-radius:4px; background:rgba(10,9,8,.6); color:#fff; font-size:6px; font-style:normal; font-weight:800; letter-spacing:.03em; backdrop-filter:blur(4px); }
.person-cover-keyboard-help { color:var(--text-faint); font-size:7px; line-height:1.35; text-align:center; }
@media (max-width:820px) {
    .person-cover-positioner { padding:8px; }
    .person-cover-positioner-head small { font-size:8px; }
    .person-focus-smart,.person-focus-reset { min-height:31px; font-size:8.5px; }
}

/* SELECT 1.4.22 — resilient analytics video playback + chronological navigation */
.analytics-lightbox-loader { pointer-events:none; }
.analytics-lightbox-nav:disabled { opacity:.24; cursor:default; transform:translateY(-50%); }
.analytics-lightbox-nav:disabled:hover { background:rgba(0,0,0,.38); transform:translateY(-50%); }
.analytics-lightbox-video-player { min-width:min(340px,100%); }
.analytics-lightbox-video-player.is-ready { outline:1px solid rgba(255,255,255,.035); }
.analytics-lightbox-video-fallback { position:relative; display:grid; width:min(720px,100%); max-width:100%; max-height:100%; place-items:center; overflow:hidden; border-radius:10px; background:#050505; box-shadow:0 22px 72px rgba(0,0,0,.4); }
.analytics-lightbox-video-fallback-image { display:block; width:100%; max-width:100%; max-height:calc(100dvh - 148px); object-fit:contain; opacity:.82; }
.analytics-lightbox-video-fallback-card { position:absolute; right:12px; bottom:12px; left:12px; display:grid; gap:5px; padding:11px 12px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(8,8,8,.82); color:#fff; text-align:left; backdrop-filter:blur(12px); }
.analytics-lightbox-video-fallback-card strong { font-size:10px; }
.analytics-lightbox-video-fallback-card small { color:rgba(255,255,255,.64); font-size:8px; line-height:1.45; }
.analytics-lightbox-video-fallback-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:2px; }
.analytics-lightbox-video-fallback-actions button,
.analytics-lightbox-video-fallback-actions a { display:inline-flex; min-height:28px; align-items:center; justify-content:center; padding:5px 9px; border:1px solid rgba(255,255,255,.16); border-radius:7px; background:rgba(255,255,255,.09); color:#fff; cursor:pointer; font:inherit; font-size:8px; font-weight:800; text-decoration:none; }
.analytics-lightbox-video-fallback-actions button:hover,
.analytics-lightbox-video-fallback-actions a:hover { background:rgba(255,255,255,.16); }
@media (max-width:760px) {
    .analytics-lightbox-video-fallback-image { max-height:calc(58dvh - 92px); }
    .analytics-lightbox-video-fallback-card { right:7px; bottom:7px; left:7px; padding:8px 9px; }
}

/* SELECT 1.4.23 — CSP-safe person cover focus shared by admin and visitor views.
   The application intentionally keeps style-src 'self'. Therefore dynamic focal
   points are represented as external CSS classes instead of inline style="" data. */
.person-card-cover img,
.person-profile-cover img,
.person-cover-preview img,
.crop-preview img {
    object-position:var(--person-focus-x,50%) var(--person-focus-y,20%);
}
.person-cover-positioner-head > span.is-unsaved { border-color:#d7b979; background:#fff9ed; }
.person-cover-positioner-head > span.is-saving { border-color:#cbbd9f; color:#7b6441; }
.person-cover-positioner-head > span.is-error { border-color:#d9a09a; background:#fff3f1; color:#943c34; }
[data-person-visitor-preview][aria-busy="true"] { opacity:.62; pointer-events:none; }
.person-focus-x-0{--person-focus-x:0%;}
.person-focus-x-1{--person-focus-x:1%;}
.person-focus-x-2{--person-focus-x:2%;}
.person-focus-x-3{--person-focus-x:3%;}
.person-focus-x-4{--person-focus-x:4%;}
.person-focus-x-5{--person-focus-x:5%;}
.person-focus-x-6{--person-focus-x:6%;}
.person-focus-x-7{--person-focus-x:7%;}
.person-focus-x-8{--person-focus-x:8%;}
.person-focus-x-9{--person-focus-x:9%;}
.person-focus-x-10{--person-focus-x:10%;}
.person-focus-x-11{--person-focus-x:11%;}
.person-focus-x-12{--person-focus-x:12%;}
.person-focus-x-13{--person-focus-x:13%;}
.person-focus-x-14{--person-focus-x:14%;}
.person-focus-x-15{--person-focus-x:15%;}
.person-focus-x-16{--person-focus-x:16%;}
.person-focus-x-17{--person-focus-x:17%;}
.person-focus-x-18{--person-focus-x:18%;}
.person-focus-x-19{--person-focus-x:19%;}
.person-focus-x-20{--person-focus-x:20%;}
.person-focus-x-21{--person-focus-x:21%;}
.person-focus-x-22{--person-focus-x:22%;}
.person-focus-x-23{--person-focus-x:23%;}
.person-focus-x-24{--person-focus-x:24%;}
.person-focus-x-25{--person-focus-x:25%;}
.person-focus-x-26{--person-focus-x:26%;}
.person-focus-x-27{--person-focus-x:27%;}
.person-focus-x-28{--person-focus-x:28%;}
.person-focus-x-29{--person-focus-x:29%;}
.person-focus-x-30{--person-focus-x:30%;}
.person-focus-x-31{--person-focus-x:31%;}
.person-focus-x-32{--person-focus-x:32%;}
.person-focus-x-33{--person-focus-x:33%;}
.person-focus-x-34{--person-focus-x:34%;}
.person-focus-x-35{--person-focus-x:35%;}
.person-focus-x-36{--person-focus-x:36%;}
.person-focus-x-37{--person-focus-x:37%;}
.person-focus-x-38{--person-focus-x:38%;}
.person-focus-x-39{--person-focus-x:39%;}
.person-focus-x-40{--person-focus-x:40%;}
.person-focus-x-41{--person-focus-x:41%;}
.person-focus-x-42{--person-focus-x:42%;}
.person-focus-x-43{--person-focus-x:43%;}
.person-focus-x-44{--person-focus-x:44%;}
.person-focus-x-45{--person-focus-x:45%;}
.person-focus-x-46{--person-focus-x:46%;}
.person-focus-x-47{--person-focus-x:47%;}
.person-focus-x-48{--person-focus-x:48%;}
.person-focus-x-49{--person-focus-x:49%;}
.person-focus-x-50{--person-focus-x:50%;}
.person-focus-x-51{--person-focus-x:51%;}
.person-focus-x-52{--person-focus-x:52%;}
.person-focus-x-53{--person-focus-x:53%;}
.person-focus-x-54{--person-focus-x:54%;}
.person-focus-x-55{--person-focus-x:55%;}
.person-focus-x-56{--person-focus-x:56%;}
.person-focus-x-57{--person-focus-x:57%;}
.person-focus-x-58{--person-focus-x:58%;}
.person-focus-x-59{--person-focus-x:59%;}
.person-focus-x-60{--person-focus-x:60%;}
.person-focus-x-61{--person-focus-x:61%;}
.person-focus-x-62{--person-focus-x:62%;}
.person-focus-x-63{--person-focus-x:63%;}
.person-focus-x-64{--person-focus-x:64%;}
.person-focus-x-65{--person-focus-x:65%;}
.person-focus-x-66{--person-focus-x:66%;}
.person-focus-x-67{--person-focus-x:67%;}
.person-focus-x-68{--person-focus-x:68%;}
.person-focus-x-69{--person-focus-x:69%;}
.person-focus-x-70{--person-focus-x:70%;}
.person-focus-x-71{--person-focus-x:71%;}
.person-focus-x-72{--person-focus-x:72%;}
.person-focus-x-73{--person-focus-x:73%;}
.person-focus-x-74{--person-focus-x:74%;}
.person-focus-x-75{--person-focus-x:75%;}
.person-focus-x-76{--person-focus-x:76%;}
.person-focus-x-77{--person-focus-x:77%;}
.person-focus-x-78{--person-focus-x:78%;}
.person-focus-x-79{--person-focus-x:79%;}
.person-focus-x-80{--person-focus-x:80%;}
.person-focus-x-81{--person-focus-x:81%;}
.person-focus-x-82{--person-focus-x:82%;}
.person-focus-x-83{--person-focus-x:83%;}
.person-focus-x-84{--person-focus-x:84%;}
.person-focus-x-85{--person-focus-x:85%;}
.person-focus-x-86{--person-focus-x:86%;}
.person-focus-x-87{--person-focus-x:87%;}
.person-focus-x-88{--person-focus-x:88%;}
.person-focus-x-89{--person-focus-x:89%;}
.person-focus-x-90{--person-focus-x:90%;}
.person-focus-x-91{--person-focus-x:91%;}
.person-focus-x-92{--person-focus-x:92%;}
.person-focus-x-93{--person-focus-x:93%;}
.person-focus-x-94{--person-focus-x:94%;}
.person-focus-x-95{--person-focus-x:95%;}
.person-focus-x-96{--person-focus-x:96%;}
.person-focus-x-97{--person-focus-x:97%;}
.person-focus-x-98{--person-focus-x:98%;}
.person-focus-x-99{--person-focus-x:99%;}
.person-focus-x-100{--person-focus-x:100%;}
.person-focus-y-0{--person-focus-y:0%;}
.person-focus-y-1{--person-focus-y:1%;}
.person-focus-y-2{--person-focus-y:2%;}
.person-focus-y-3{--person-focus-y:3%;}
.person-focus-y-4{--person-focus-y:4%;}
.person-focus-y-5{--person-focus-y:5%;}
.person-focus-y-6{--person-focus-y:6%;}
.person-focus-y-7{--person-focus-y:7%;}
.person-focus-y-8{--person-focus-y:8%;}
.person-focus-y-9{--person-focus-y:9%;}
.person-focus-y-10{--person-focus-y:10%;}
.person-focus-y-11{--person-focus-y:11%;}
.person-focus-y-12{--person-focus-y:12%;}
.person-focus-y-13{--person-focus-y:13%;}
.person-focus-y-14{--person-focus-y:14%;}
.person-focus-y-15{--person-focus-y:15%;}
.person-focus-y-16{--person-focus-y:16%;}
.person-focus-y-17{--person-focus-y:17%;}
.person-focus-y-18{--person-focus-y:18%;}
.person-focus-y-19{--person-focus-y:19%;}
.person-focus-y-20{--person-focus-y:20%;}
.person-focus-y-21{--person-focus-y:21%;}
.person-focus-y-22{--person-focus-y:22%;}
.person-focus-y-23{--person-focus-y:23%;}
.person-focus-y-24{--person-focus-y:24%;}
.person-focus-y-25{--person-focus-y:25%;}
.person-focus-y-26{--person-focus-y:26%;}
.person-focus-y-27{--person-focus-y:27%;}
.person-focus-y-28{--person-focus-y:28%;}
.person-focus-y-29{--person-focus-y:29%;}
.person-focus-y-30{--person-focus-y:30%;}
.person-focus-y-31{--person-focus-y:31%;}
.person-focus-y-32{--person-focus-y:32%;}
.person-focus-y-33{--person-focus-y:33%;}
.person-focus-y-34{--person-focus-y:34%;}
.person-focus-y-35{--person-focus-y:35%;}
.person-focus-y-36{--person-focus-y:36%;}
.person-focus-y-37{--person-focus-y:37%;}
.person-focus-y-38{--person-focus-y:38%;}
.person-focus-y-39{--person-focus-y:39%;}
.person-focus-y-40{--person-focus-y:40%;}
.person-focus-y-41{--person-focus-y:41%;}
.person-focus-y-42{--person-focus-y:42%;}
.person-focus-y-43{--person-focus-y:43%;}
.person-focus-y-44{--person-focus-y:44%;}
.person-focus-y-45{--person-focus-y:45%;}
.person-focus-y-46{--person-focus-y:46%;}
.person-focus-y-47{--person-focus-y:47%;}
.person-focus-y-48{--person-focus-y:48%;}
.person-focus-y-49{--person-focus-y:49%;}
.person-focus-y-50{--person-focus-y:50%;}
.person-focus-y-51{--person-focus-y:51%;}
.person-focus-y-52{--person-focus-y:52%;}
.person-focus-y-53{--person-focus-y:53%;}
.person-focus-y-54{--person-focus-y:54%;}
.person-focus-y-55{--person-focus-y:55%;}
.person-focus-y-56{--person-focus-y:56%;}
.person-focus-y-57{--person-focus-y:57%;}
.person-focus-y-58{--person-focus-y:58%;}
.person-focus-y-59{--person-focus-y:59%;}
.person-focus-y-60{--person-focus-y:60%;}
.person-focus-y-61{--person-focus-y:61%;}
.person-focus-y-62{--person-focus-y:62%;}
.person-focus-y-63{--person-focus-y:63%;}
.person-focus-y-64{--person-focus-y:64%;}
.person-focus-y-65{--person-focus-y:65%;}
.person-focus-y-66{--person-focus-y:66%;}
.person-focus-y-67{--person-focus-y:67%;}
.person-focus-y-68{--person-focus-y:68%;}
.person-focus-y-69{--person-focus-y:69%;}
.person-focus-y-70{--person-focus-y:70%;}
.person-focus-y-71{--person-focus-y:71%;}
.person-focus-y-72{--person-focus-y:72%;}
.person-focus-y-73{--person-focus-y:73%;}
.person-focus-y-74{--person-focus-y:74%;}
.person-focus-y-75{--person-focus-y:75%;}
.person-focus-y-76{--person-focus-y:76%;}
.person-focus-y-77{--person-focus-y:77%;}
.person-focus-y-78{--person-focus-y:78%;}
.person-focus-y-79{--person-focus-y:79%;}
.person-focus-y-80{--person-focus-y:80%;}
.person-focus-y-81{--person-focus-y:81%;}
.person-focus-y-82{--person-focus-y:82%;}
.person-focus-y-83{--person-focus-y:83%;}
.person-focus-y-84{--person-focus-y:84%;}
.person-focus-y-85{--person-focus-y:85%;}
.person-focus-y-86{--person-focus-y:86%;}
.person-focus-y-87{--person-focus-y:87%;}
.person-focus-y-88{--person-focus-y:88%;}
.person-focus-y-89{--person-focus-y:89%;}
.person-focus-y-90{--person-focus-y:90%;}
.person-focus-y-91{--person-focus-y:91%;}
.person-focus-y-92{--person-focus-y:92%;}
.person-focus-y-93{--person-focus-y:93%;}
.person-focus-y-94{--person-focus-y:94%;}
.person-focus-y-95{--person-focus-y:95%;}
.person-focus-y-96{--person-focus-y:96%;}
.person-focus-y-97{--person-focus-y:97%;}
.person-focus-y-98{--person-focus-y:98%;}
.person-focus-y-99{--person-focus-y:99%;}
.person-focus-y-100{--person-focus-y:100%;}

/* ========================================================================== */
/* SELECT 1.4.24 · Private Link Packages                                      */
/* ========================================================================== */
.button-share{background:#8a6327;color:#fff;border-color:#8a6327}.button-share:hover{background:#74521f;border-color:#74521f;color:#fff}
.share-media-picker-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid #d8c7a8;background:#fff8ea;border-radius:14px;box-shadow:0 7px 24px rgba(79,57,24,.06)}
.share-media-picker-banner>div{display:grid;gap:2px}.share-media-picker-banner .eyebrow{font-size:9px}.share-media-picker-banner strong{font-size:14px}.share-media-picker-banner small{color:#83796f}

.share-admin-header{align-items:flex-end}.share-admin-header h1{margin-bottom:4px}.share-admin-guide{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;border:1px solid var(--border,#e4ded6);border-radius:14px;background:#fff}
.share-admin-guide div{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.share-admin-guide div strong{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;font-size:11px}.share-admin-guide i{color:#b7aea4;font-style:normal}
.share-package-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.share-package-card{padding:16px;border:1px solid #e2dcd4;background:#fff;border-radius:16px;box-shadow:0 8px 28px rgba(41,31,19,.055)}
.share-package-card-top,.share-package-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.share-package-card-top small{color:#8d847b}.share-package-card h2{font-size:20px;margin:10px 0 2px}.share-package-card h2 a{color:inherit;text-decoration:none}.share-package-recipient{font-size:12px;color:#796f64;margin:0 0 12px}
.share-state{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border:1px solid #ddd5cb;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:#f7f4f0}.share-state.success{background:#eef7ef;border-color:#cbe4ce;color:#225b2d}.share-state.danger{background:#fff0ee;border-color:#efc7c0;color:#8c3026}.share-state.notice{background:#fff7e7;border-color:#ead4a6;color:#7b5b1f}.share-state.muted{background:#f4f2ef;color:#6f675f}
.share-package-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.share-package-metrics div{padding:8px;border:1px solid #eee9e2;border-radius:10px;background:#faf9f7}.share-package-metrics strong{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.05}.share-package-metrics span{display:block;margin-top:3px;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#928980;font-weight:800}
.share-package-security-row{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.share-package-security-row span{padding:4px 7px;background:#f7f4f0;border-radius:999px;font-size:9px;color:#5f574f}.share-package-card-actions{justify-content:flex-start}

.share-selected-panel{padding:14px}.share-selected-strip{display:flex;gap:7px;overflow:auto;padding:2px 0 4px}.share-selected-thumb{position:relative;flex:0 0 72px;height:82px;border-radius:10px;overflow:hidden;border:1px solid #e2dbd2;background:#f4f1ed}.share-selected-thumb img{width:100%;height:100%;object-fit:cover}.share-selected-thumb>span{display:grid;place-items:center;height:100%;font-size:22px}.share-selected-thumb small{position:absolute;left:4px;bottom:4px;padding:2px 5px;border-radius:6px;background:rgba(10,9,8,.75);color:#fff;font-size:7px}.share-selected-more{display:grid;place-items:center;flex:0 0 72px;height:82px;border:1px dashed #d4cabe;border-radius:10px;font-weight:800;color:#80622d}
.share-form-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.share-form-panel{display:grid;align-content:start;gap:12px;padding:18px}.share-form-panel h2{margin:-2px 0 2px}.share-form-panel label>span{display:block;margin-bottom:5px;font-size:11px;font-weight:800}.share-form-panel label>span small{font-weight:500;color:#9a9188}.share-security-panel{grid-row:span 1}.share-security-callout{display:grid;gap:2px;padding:10px 12px;border-left:3px solid #9a7132;background:#fbf6ed;border-radius:8px;font-size:11px}.share-security-callout span{color:#6f655b;line-height:1.45}
.share-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-option-grid.compact{grid-template-columns:1fr 1fr}.share-option-card{display:flex!important;align-items:flex-start;gap:9px;padding:10px;border:1px solid #e3ddd5;border-radius:11px;background:#fbfaf8;cursor:pointer}.share-option-card input{margin:2px 0 0;flex:none}.share-option-card span{margin:0!important;display:grid!important;gap:2px}.share-option-card strong{font-size:11px}.share-option-card small{font-size:9px!important;line-height:1.4;color:#877d73!important}
.share-link-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:12px;border:1px solid #dfd8cf;background:#fff;border-radius:12px}.share-link-bar>div{min-width:0}.share-link-bar span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#8c8176;font-weight:900}.share-link-bar code{display:block;max-width:100%;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#493c2c}
.share-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.share-title-line h1{margin:0}.share-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 0 12px}.share-stats-grid>div{padding:12px;border:1px solid #e2dcd4;background:#fff;border-radius:12px}.share-stats-grid span,.share-stats-grid small{display:block}.share-stats-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#8a6327}.share-stats-grid strong{display:block;margin:4px 0 2px;font-family:Georgia,serif;font-size:19px;line-height:1.1}.share-stats-grid small{font-size:8px;color:#91877d}
.share-admin-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);gap:12px;margin:0 0 12px}.share-admin-columns.analytics-columns{grid-template-columns:1fr 1fr}.share-config-panel,.share-control-panel,.share-analytics-panel,.share-media-manage-panel{padding:16px}.share-control-stack{display:grid;gap:7px}.share-bound-device-box{display:grid;gap:3px;margin-top:12px;padding:12px;border:1px solid #e2dbd2;background:#faf8f5;border-radius:11px}.share-bound-device-box span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8a6327;font-weight:900}.share-bound-device-box strong{font-size:12px}.share-bound-device-box small{font-size:9px;color:#8d8378}.share-current-rules{display:flex;flex-wrap:wrap;gap:6px}.share-current-rules span{padding:5px 8px;background:#f5f2ed;border-radius:8px;font-size:9px;color:#756b61}
.share-manage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:7px}.share-manage-item{position:relative;display:grid!important;gap:4px;padding:6px;border:1px solid #e2ddd6;border-radius:10px;background:#fff;cursor:pointer}.share-manage-item input{position:absolute;top:9px;left:9px;z-index:2}.share-manage-thumb{height:82px;border-radius:7px;overflow:hidden;background:#f1eeea;display:grid;place-items:center}.share-manage-thumb img{width:100%;height:100%;object-fit:cover}.share-manage-item strong{font-size:9px}.share-manage-item small{font-size:8px;color:#8d8379}.share-manage-item:has(input:not(:checked)){opacity:.42;border-style:dashed}.share-media-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.share-media-form-footer small{font-size:9px;color:#8c8277}
.share-data-table{width:100%;border-collapse:collapse;font-size:10px}.share-data-table th{padding:8px;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#8e857c;border-bottom:1px solid #ddd6ce}.share-data-table td{padding:9px 8px;border-bottom:1px solid #ece7e1;vertical-align:top}.share-data-table td small{display:block;margin-top:2px;font-size:8px;color:#958b81}.share-data-table code{font-size:9px;color:#725525}
.share-media-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:8px}.share-media-stat-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:9px;padding:7px;border:1px solid #e5dfd7;border-radius:11px;background:#fff}.share-media-stat-thumb{height:64px;border-radius:8px;overflow:hidden;background:#f1eeea;display:grid;place-items:center}.share-media-stat-thumb img{width:100%;height:100%;object-fit:cover}.share-media-stat-card>div:last-child{min-width:0}.share-media-stat-card strong{display:block;font-size:11px}.share-media-stat-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;color:#8f857b}.share-media-stat-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.share-media-stat-metrics span{padding:3px 5px;border-radius:6px;background:#f5f2ee;font-size:8px}.share-media-stat-metrics b{font-size:9px}
.share-event-list{display:grid;gap:0}.share-event-row{display:grid;grid-template-columns:28px minmax(120px,1fr) minmax(100px,.7fr) minmax(115px,.8fr) auto;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #eee9e3;font-size:9px}.share-event-row:last-child{border-bottom:0}.share-event-row.security{grid-template-columns:28px 1fr auto auto}.share-event-list.security .share-event-row{grid-template-columns:28px 1fr auto auto}.share-event-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f4f1ed;font-weight:900}.share-event-row.is-blocked .share-event-icon{background:#fff0ee;color:#9e392d}.share-event-row strong,.share-event-row small{display:block}.share-event-row small{margin-top:2px;color:#948a80}.share-event-row code{font-size:8px;color:#725525}.share-event-row time{font-size:8px;color:#8f867c;white-space:nowrap}

/* Public share viewer */
.share-body{margin:0;background:#0e0d0c;color:#f5f1ea;min-height:100vh;font-family:Arial,Helvetica,sans-serif}.share-body *{box-sizing:border-box}.share-viewer-root{min-height:100vh;padding-bottom:40px;background:radial-gradient(circle at 20% 0%,rgba(171,125,55,.12),transparent 32%),#0e0d0c}.share-topbar{height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(18px,4vw,62px);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(14,13,12,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.share-logo{display:flex;align-items:center;gap:8px}.share-logo>span,.share-brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#b88b45;color:#111;font-family:Georgia,serif;font-size:20px}.share-logo strong{font-family:Georgia,serif;font-size:18px;letter-spacing:.04em}.share-logo small{padding-left:8px;border-left:1px solid rgba(255,255,255,.15);font-size:9px;color:#a9a099;text-transform:uppercase;letter-spacing:.08em}.share-security-chip{display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:9px;color:#bdb5ac}.share-security-chip span{color:#6bc079}
.share-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:1480px;margin:0 auto;padding:48px clamp(18px,4vw,62px) 28px}.share-hero .eyebrow{color:#c59a57}.share-hero h1{margin:6px 0 6px;font-family:Georgia,serif;font-size:clamp(32px,4vw,58px);font-weight:500;line-height:1.02}.share-recipient{margin:0 0 9px;color:#c8bcae;font-size:13px}.share-message{max-width:760px;margin:0;color:#afa79e;font-size:13px;line-height:1.6}.share-count{display:grid;text-align:right}.share-count strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.share-count span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#978e84}
.share-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;max-width:1480px;margin:0 auto;padding:0 clamp(18px,4vw,62px)}.share-media-card{appearance:none;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:12px;overflow:hidden;background:#171513;color:inherit;text-align:left;cursor:zoom-in;transition:transform .18s ease,border-color .18s ease,background .18s ease}.share-media-card:hover{transform:translateY(-2px);border-color:rgba(197,154,87,.45);background:#1d1a17}.share-media-visual{position:relative;display:block;aspect-ratio:4/5;background:#191715;overflow:hidden}.share-media-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.share-media-card:hover img{transform:scale(1.025)}.share-media-placeholder{display:grid;place-items:center;height:100%;font-size:30px;color:#8a8177}.share-video-badge{position:absolute;left:7px;top:7px;padding:4px 6px;border-radius:6px;background:rgba(0,0,0,.68);font-size:7px;font-weight:900;letter-spacing:.07em}.share-grid-watermark{position:absolute;left:8px;right:8px;bottom:8px;text-align:center;font-size:7px;letter-spacing:.04em;color:rgba(255,255,255,.72);text-shadow:0 1px 3px #000;pointer-events:none}.share-media-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 9px}.share-media-meta strong{font-size:9px;letter-spacing:.04em}.share-media-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;color:#877f76}
.share-register-cta{max-width:1020px;margin:60px auto 26px;padding:34px 28px;text-align:center;border:1px solid rgba(197,154,87,.28);border-radius:20px;background:linear-gradient(145deg,rgba(197,154,87,.12),rgba(255,255,255,.025))}.share-register-cta .eyebrow{color:#c59a57}.share-register-cta h2{margin:8px 0;font-family:Georgia,serif;font-size:30px;font-weight:400}.share-register-cta p{max-width:700px;margin:0 auto 18px;color:#b6ada4;font-size:12px;line-height:1.6}.share-cta-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.share-body .button-primary{background:#c39650;border-color:#c39650;color:#100e0b}.share-body .button-primary:hover{background:#d1a762;border-color:#d1a762;color:#100e0b}.share-body .button-secondary,.share-body .button-ghost{background:transparent;border-color:rgba(255,255,255,.16);color:#eee9e2}.share-footer{display:flex;justify-content:center;gap:8px;padding:20px;color:#716a63;font-size:9px}.share-footer strong{font-family:Georgia,serif;color:#9b9188}
.share-empty{max-width:700px;margin:20px auto;padding:40px;text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:16px}.share-empty h2{font-family:Georgia,serif;font-weight:400}.share-empty p{color:#9c938b}
.share-lightbox[hidden]{display:none}.share-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(3,3,3,.96);display:grid;place-items:center}.share-lightbox-stage{position:relative;width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 54px}.share-lightbox-content{position:relative;display:grid;place-items:center;min-height:0;padding:52px 72px 18px;overflow:hidden}.share-lightbox-image,.share-lightbox-video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 70px rgba(0,0,0,.42)}.share-lightbox-video{background:#000}.share-lightbox-close,.share-lightbox-nav{position:absolute;z-index:8;border:1px solid rgba(255,255,255,.14);background:rgba(20,19,18,.78);color:#fff;backdrop-filter:blur(10px);cursor:pointer}.share-lightbox-close{right:18px;top:18px;width:40px;height:40px;border-radius:11px;font-size:24px}.share-lightbox-nav{top:50%;width:44px;height:60px;margin-top:-30px;border-radius:11px;font-size:30px}.share-lightbox-nav.previous{left:18px}.share-lightbox-nav.next{right:18px}.share-lightbox-nav:disabled{opacity:.2;cursor:default}.share-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;border-top:1px solid rgba(255,255,255,.08);background:#0c0b0a}.share-lightbox-footer>div:first-child{display:flex;align-items:center;gap:10px}.share-lightbox-footer strong{font-size:9px}.share-lightbox-footer span{font-size:9px;color:#827a72}.share-lightbox-actions a{color:#c89a53;font-size:10px;text-decoration:none}.share-lightbox-watermark{position:absolute;z-index:5;left:50%;bottom:72px;transform:translateX(-50%);max-width:70%;padding:5px 9px;border-radius:6px;background:rgba(0,0,0,.32);font-size:8px;color:rgba(255,255,255,.68);pointer-events:none;white-space:nowrap}.share-loader{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#171513;color:#bfb6ad;font-size:10px}.share-loader:before{content:"";width:12px;height:12px;border:2px solid #5f574f;border-top-color:#c59750;border-radius:50%;animation:shareSpin .75s linear infinite}@keyframes shareSpin{to{transform:rotate(360deg)}}.share-media-error,.share-video-fallback-copy{display:grid;justify-items:center;gap:10px;max-width:420px;text-align:center}.share-media-error>strong{display:grid;place-items:center;width:42px;height:42px;border:1px solid #6b3a32;border-radius:50%;color:#d26f5f}.share-media-error p,.share-video-fallback-copy p{color:#bdb4aa;font-size:12px}.share-video-fallback{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%}.share-video-fallback>img{max-width:100%;max-height:76vh;object-fit:contain;opacity:.52;border-radius:5px}.share-video-fallback-copy{position:absolute;padding:18px;border-radius:14px;background:rgba(12,11,10,.86);backdrop-filter:blur(9px)}.share-lightbox-open{overflow:hidden}
.share-gate-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(185,139,69,.14),transparent 35%),#0e0d0c}.share-gate-card{display:grid;justify-items:center;width:min(460px,100%);padding:34px 30px;text-align:center;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#151311;box-shadow:0 24px 80px rgba(0,0,0,.25)}.share-gate-card .share-brand-mark{margin-bottom:18px}.share-gate-card .eyebrow{color:#c49750}.share-gate-card h1{margin:8px 0 10px;font-family:Georgia,serif;font-size:31px;font-weight:400}.share-gate-card p{margin:0 0 18px;color:#b1a89f;font-size:12px;line-height:1.6}.share-gate-card>small{margin-top:16px;color:#736c65;font-size:9px}.share-gate-error{width:100%;margin:0 0 12px;padding:9px 10px;border:1px solid #6a3932;border-radius:9px;background:#271512;color:#e7aaa0;font-size:10px}.share-pin-form{display:grid;gap:8px;width:100%;text-align:left}.share-pin-form label{font-size:9px;font-weight:800;color:#a89e94}.share-pin-form input{width:100%;height:46px;padding:0 12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:#0f0e0d;color:#fff;font-size:18px;letter-spacing:.08em;text-align:center}

@media (max-width:1100px){.share-stats-grid{grid-template-columns:repeat(3,1fr)}.share-admin-columns,.share-admin-columns.analytics-columns{grid-template-columns:1fr}.share-form-layout{grid-template-columns:1fr}.share-package-metrics{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.share-media-picker-banner{align-items:flex-start;flex-direction:column}.share-admin-guide{overflow:auto}.share-admin-guide div{white-space:nowrap}.share-stats-grid{grid-template-columns:repeat(2,1fr)}.share-option-grid,.share-option-grid.compact{grid-template-columns:1fr}.share-media-form-footer{align-items:flex-start;flex-direction:column}.share-event-row,.share-event-list.security .share-event-row{grid-template-columns:26px 1fr auto}.share-event-row>div:nth-of-type(3),.share-event-row>time{grid-column:2/-1}.share-topbar{height:58px}.share-logo small{display:none}.share-security-chip{font-size:8px}.share-hero{padding-top:30px;align-items:flex-start}.share-count{display:none}.share-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.share-media-meta span{display:none}.share-media-visual{aspect-ratio:4/5}.share-register-cta{margin:38px 14px 18px;padding:25px 18px}.share-lightbox-content{padding:58px 12px 62px}.share-lightbox-nav{top:auto;bottom:64px;width:42px;height:46px}.share-lightbox-nav.previous{left:12px}.share-lightbox-nav.next{right:12px}.share-lightbox-footer{padding:0 12px}.share-lightbox-watermark{bottom:62px;max-width:90%;font-size:7px}.share-package-grid{grid-template-columns:1fr}.share-link-bar{align-items:flex-start}.share-link-bar code{max-width:70vw}}
@media (max-width:430px){.share-stats-grid{grid-template-columns:1fr 1fr}.share-media-grid{padding-left:10px;padding-right:10px}.share-hero{padding-left:14px;padding-right:14px}.share-topbar{padding:0 14px}.share-security-chip{padding:5px 7px}.share-media-meta{padding:7px}.share-media-meta strong{font-size:8px}}


/* 1.4.25 — neutral video fallback covers */
.video-fallback-cover{position:absolute;inset:0;z-index:1;display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:10px;overflow:hidden;background:linear-gradient(155deg,#171411 0%,#241d18 48%,#3a2f26 100%);color:#fff;pointer-events:none}
.video-fallback-cover::before{content:"";position:absolute;inset:-18% auto auto -18%;width:78%;height:78%;background:radial-gradient(circle,rgba(198,151,80,.36),rgba(198,151,80,0) 70%);filter:blur(6px);opacity:.95}
.video-fallback-cover::after{content:"";position:absolute;inset:auto -12% -28% 34%;width:72%;height:72%;background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,0) 68%)}
.video-fallback-top,.video-fallback-bottom,.video-fallback-play{position:relative;z-index:1}
.video-fallback-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.video-fallback-badge,.video-fallback-state{display:inline-flex;align-items:center;min-height:22px;padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(9,8,7,.34);backdrop-filter:blur(8px);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.video-fallback-state{font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.78)}
.video-fallback-play{align-self:center;display:grid;place-items:center;width:68px;height:68px;margin:auto;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(9,8,7,.28);backdrop-filter:blur(10px);box-shadow:0 14px 30px rgba(0,0,0,.22)}
.video-fallback-play>span{margin-left:4px;color:#fff;font-size:26px;line-height:1}
.video-fallback-bottom{display:grid;gap:3px;align-self:end}
.video-fallback-title{display:block;overflow:hidden;font-size:12px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.25)}
.video-fallback-meta{display:block;overflow:hidden;font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.74);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.video-fallback-cover.is-compact{padding:9px}
.video-fallback-cover.is-compact .video-fallback-play{width:56px;height:56px}
.video-fallback-cover.is-compact .video-fallback-play>span{font-size:22px}
.video-fallback-cover.is-compact .video-fallback-title{font-size:11px}
.video-fallback-cover.is-compact .video-fallback-meta{font-size:8px}
.media-tile.has-video-fallback::after{display:none}
.media-tile.has-video-fallback>img,.person-memory-tile .media-tile-open>img,.share-media-visual>img{position:relative;z-index:2}
.media-tile.has-video-fallback.is-image-ready .video-fallback-cover,.person-memory-tile .media-tile-open.is-image-ready .video-fallback-cover,.share-media-visual.is-image-ready .video-fallback-cover{opacity:0;transform:scale(1.025);transition:opacity .18s ease,transform .22s ease}
.person-memory-tile .media-tile-open.has-video-fallback{position:relative;background:linear-gradient(155deg,#171411,#2d251f)}
.person-memory-tile .media-tile-open.has-video-fallback>img{display:block;width:100%;height:auto}
.share-media-visual.has-video-fallback{position:relative;background:linear-gradient(155deg,#171411,#2d251f)}
.share-media-visual.has-video-fallback>img{position:relative;z-index:2}
.share-media-visual.has-video-fallback.is-image-ready .video-fallback-cover{opacity:0;transform:scale(1.02)}
.share-video-fallback{position:relative;display:grid;place-items:center;max-width:100%;max-height:100%}
.share-video-fallback>.video-fallback-cover{position:absolute;inset:0;border-radius:8px}
.share-video-fallback>img{position:relative;z-index:1;max-width:100%;max-height:76vh;object-fit:contain;opacity:.42;border-radius:5px}
@media (max-width:760px){.video-fallback-play{width:58px;height:58px}.video-fallback-play>span{font-size:22px}.video-fallback-title{font-size:11px}}


/* 1.4.26 — compact, adaptive private-link lightbox */
.share-lightbox{padding:clamp(14px,3vw,42px);background:rgba(5,5,5,.90);backdrop-filter:blur(12px);overscroll-behavior:contain}
.share-lightbox-stage{width:min(1260px,calc(100vw - 64px));height:min(82vh,800px);height:min(82dvh,800px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#0c0b0a;box-shadow:0 30px 110px rgba(0,0,0,.62);grid-template-rows:minmax(0,1fr) 50px}
.share-lightbox-content{min-height:0;padding:22px 70px 18px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.035),transparent 48%),#080808}
.share-lightbox-image,.share-lightbox-video{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 18px 58px rgba(0,0,0,.42)}
.share-lightbox-image{opacity:1;transform:none;transition:opacity .18s ease,transform .22s ease}
.share-lightbox-image.is-loading{opacity:0;transform:scale(.992)}
.share-lightbox-image.is-loaded{opacity:1;transform:none}
.share-lightbox-video{background:#050505;opacity:.92;transition:opacity .18s ease}
.share-lightbox-video.is-loaded{opacity:1}
.share-lightbox-close,.share-lightbox-expand{position:absolute;top:12px;z-index:10;display:grid;width:40px;height:40px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(18,17,16,.82);color:#fff;backdrop-filter:blur(10px);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:background .16s ease,border-color .16s ease,transform .16s ease}
.share-lightbox-close{right:12px;font-size:24px}
.share-lightbox-expand{right:60px;font-size:17px}
.share-lightbox-close:hover,.share-lightbox-expand:hover{border-color:rgba(197,154,87,.52);background:rgba(32,28,24,.94);transform:translateY(-1px)}
.share-lightbox-nav{top:50%;width:42px;height:58px;margin-top:-29px;border-radius:12px}
.share-lightbox-nav.previous{left:14px}.share-lightbox-nav.next{right:14px}
.share-lightbox-footer{height:50px;padding:0 16px;background:rgba(12,11,10,.98)}
.share-lightbox-watermark{bottom:66px}
.share-lightbox.is-portrait .share-lightbox-content{padding-right:86px;padding-left:86px}
.share-lightbox.is-portrait .share-lightbox-image,.share-lightbox.is-portrait .share-lightbox-video{max-width:min(100%,680px)}
.share-lightbox.is-square .share-lightbox-image,.share-lightbox.is-square .share-lightbox-video{max-width:min(100%,820px)}
.share-lightbox.is-expanded{padding:8px;background:rgba(3,3,3,.97);backdrop-filter:none}
.share-lightbox.is-expanded .share-lightbox-stage{width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);max-width:none;max-height:none;border-radius:14px}
.share-lightbox.is-expanded .share-lightbox-content{padding:52px 70px 20px}
.share-lightbox.is-expanded .share-lightbox-image,.share-lightbox.is-expanded .share-lightbox-video{max-width:100%;max-height:100%}
@media (min-width:1500px) and (min-height:900px){.share-lightbox-stage{width:min(1320px,calc(100vw - 96px));height:min(80dvh,820px)}}
@media (max-width:760px){.share-lightbox{padding:6px;background:rgba(3,3,3,.95);backdrop-filter:blur(8px)}.share-lightbox-stage{width:calc(100vw - 12px);height:min(90vh,760px);height:min(90dvh,760px);max-height:calc(100dvh - 12px);border-radius:15px;grid-template-rows:minmax(0,1fr) 48px}.share-lightbox-content{padding:52px 10px 58px}.share-lightbox.is-portrait .share-lightbox-content{padding-right:10px;padding-left:10px}.share-lightbox-close,.share-lightbox-expand{top:9px;width:38px;height:38px}.share-lightbox-close{right:9px}.share-lightbox-expand{right:55px}.share-lightbox-nav{top:auto;bottom:56px;width:40px;height:44px;margin-top:0}.share-lightbox-nav.previous{left:9px}.share-lightbox-nav.next{right:9px}.share-lightbox-footer{height:48px;padding:0 10px}.share-lightbox-watermark{bottom:58px}.share-lightbox.is-expanded{padding:3px}.share-lightbox.is-expanded .share-lightbox-stage{width:calc(100vw - 6px);height:calc(100dvh - 6px);border-radius:12px}.share-lightbox.is-expanded .share-lightbox-content{padding:50px 8px 56px}}
@media (max-height:620px) and (min-width:761px){.share-lightbox{padding:12px}.share-lightbox-stage{height:calc(100dvh - 24px)}.share-lightbox-content{padding-top:16px;padding-bottom:12px}.share-lightbox-close,.share-lightbox-expand{top:8px}.share-lightbox-watermark{bottom:60px}}


/* 1.4.27 — compact 128-bit secret share URLs */
.share-link-bar .share-short-link-security{display:inline-flex;margin-left:7px;padding:2px 6px;border:1px solid #dfd2bc;border-radius:999px;background:#fbf6ec;color:#8c632a;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:none;vertical-align:middle}
.share-link-bar code{font-size:11px;font-weight:650;letter-spacing:.01em;color:#2f281f}
@media (max-width:620px){.share-link-bar .share-short-link-security{display:none}.share-link-bar code{max-width:62vw;font-size:10px}}


/* 1.4.28 — admin deletion for private link packages */
.share-package-card-actions .share-package-delete-form{display:inline-flex;margin:0}.share-package-card-actions .share-package-delete-form .button{white-space:nowrap}.share-delete-danger-zone{margin-top:5px;padding-top:8px;border-top:1px solid #ead8d3}
@media(max-width:560px){.share-package-card-actions{align-items:stretch;flex-wrap:wrap}.share-package-card-actions>a,.share-package-card-actions>button,.share-package-card-actions .share-package-delete-form{flex:1 1 auto}.share-package-card-actions .share-package-delete-form .button{width:100%}}


/* 1.4.29 — custom named secret share links */
.share-link-label{display:inline-flex;max-width:240px;margin-left:5px;padding:2px 6px;border:1px solid #ded5c9;border-radius:999px;background:#f7f4ef;color:#5f554a;font-size:8px;font-weight:800;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.share-link-identity-box{display:grid;gap:8px;padding:12px;border:1px solid #e2dbd2;border-radius:12px;background:linear-gradient(145deg,#fbfaf8,#f6f2ed)}
.share-slug-input{display:flex;align-items:center;overflow:hidden;border:1px solid var(--line-strong);border-radius:10px;background:#fff}
.share-slug-input>span{align-self:stretch;display:flex;align-items:center;padding:0 10px;border-right:1px solid var(--line);background:#f6f2ed;color:#8a7d6f;font-size:11px;font-weight:800;white-space:nowrap}
.share-slug-input input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.share-link-identity-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.share-link-identity-actions small{max-width:760px;color:#8b8177;font-size:9px;line-height:1.45;text-align:right}
.share-link-preview{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px dashed #d7c9b6;border-radius:9px;background:#fff}
.share-link-preview>span{flex:0 0 auto;color:#8a6327;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.share-link-preview code{min-width:0;overflow:hidden;color:#4d453d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.share-package-link-label{display:block;margin-top:-2px;color:#957958;font-size:9px;font-weight:750}
@media (max-width:760px){.share-link-identity-actions{align-items:flex-start;flex-direction:column}.share-link-identity-actions small{text-align:left}.share-link-preview{align-items:flex-start;flex-direction:column}.share-link-preview code{width:100%}}


/* 1.4.30 — complete private-link statistics reset */
.share-usage-reset-zone{display:grid;gap:7px;margin-top:7px;padding:12px;border:1px solid #e2d7c7;border-radius:11px;background:linear-gradient(145deg,#fbf8f2,#f6f1e8)}
.share-usage-reset-copy{display:grid;gap:3px;margin-bottom:2px}.share-usage-reset-copy>span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#976b2d}.share-usage-reset-copy>strong{font-size:12px}.share-usage-reset-copy>small,.share-reset-hint{color:#80766c;font-size:9px;line-height:1.45}.share-reset-hint{display:block;padding-top:2px}.share-usage-reset-zone .button-primary{background:#171513;border-color:#171513;color:#fff}.share-usage-reset-zone .button-primary:hover{background:#2a2520;border-color:#2a2520}


/* 1.4.31 — custom share aliases without suffix */
.share-vanity-security-note{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #dfcba9;border-radius:9px;background:#fff9ef;color:#6f5735;font-size:9px;line-height:1.45}
.share-vanity-security-note strong{flex:0 0 auto;color:#8a6327;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.share-vanity-security-note.hidden{display:none}

/* 1.4.32 — private link analytics lightbox */
.share-media-stat-button{appearance:none;width:100%;border:1px solid #e4ddd4;text-align:left;font:inherit;color:inherit;cursor:zoom-in;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.share-media-stat-button:hover,.share-media-stat-button:focus-visible{transform:translateY(-1px);border-color:#c7a46e;box-shadow:0 10px 24px rgba(44,34,23,.09);outline:none}
.share-media-stat-thumb{position:relative}
.share-analytics-expand{position:absolute;right:6px;bottom:6px;display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:7px;background:rgba(17,16,15,.66);color:#fff;font-size:10px;backdrop-filter:blur(7px)}
.share-media-event-row{grid-template-columns:minmax(190px,1.45fr) minmax(90px,.55fr) minmax(180px,1fr) auto!important;align-items:center}
.share-event-media-trigger{appearance:none;display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:zoom-in}
.share-event-media-trigger:hover .share-event-media-copy strong,.share-event-media-trigger:focus-visible .share-event-media-copy strong{color:#966c2e;text-decoration:underline;text-underline-offset:2px}
.share-event-media-trigger:focus-visible{outline:2px solid rgba(161,131,84,.55);outline-offset:3px;border-radius:8px}
.share-event-thumb{position:relative;display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border:1px solid #e5ded6;border-radius:9px;background:#f2efeb;color:#725b39}
.share-event-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.share-event-thumb>i{position:absolute;right:3px;bottom:3px;display:grid;width:15px;height:15px;place-items:center;border-radius:5px;background:rgba(17,16,15,.72);color:#fff;font-size:7px;font-style:normal}
.share-event-media-copy{display:grid;min-width:0;gap:2px}.share-event-media-copy strong,.share-event-media-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:920px){.share-media-event-row{grid-template-columns:minmax(170px,1fr) auto!important}.share-media-event-row>div:nth-of-type(2){grid-column:1/-1}.share-media-event-row>time{grid-column:auto!important}}


/* 1.4.33 — person merge */
.merge-person-panel{display:grid;gap:16px}
.merge-person-form{display:grid;gap:12px;align-items:end}
.merge-person-form label{display:grid;gap:8px}
.merge-person-form select{max-width:100%;min-width:320px}
@media (min-width: 920px){.merge-person-panel{grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);align-items:end}.merge-person-form{justify-self:end;width:100%;max-width:520px}}


/* 1.4.34 — premium analytics lightbox */
.analytics-media-lightbox{
    padding:18px;
    background:
        radial-gradient(circle at 18% 18%, rgba(196,164,95,.13), transparent 22%),
        radial-gradient(circle at 80% 10%, rgba(255,255,255,.08), transparent 20%),
        linear-gradient(180deg, rgba(7,7,8,.96), rgba(3,3,4,.98));
}
.analytics-lightbox-shell,
.analytics-lightbox-layout{
    display:grid;
    width:100%;
    height:calc(100dvh - 36px);
    grid-template-columns:minmax(0,1fr) clamp(340px, 27vw, 430px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:26px;
    background:linear-gradient(180deg, rgba(17,17,18,.98), rgba(8,8,9,.98));
    box-shadow:0 40px 120px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.04);
}
.analytics-lightbox-visual,
.analytics-lightbox-viewer{
    position:relative;
    min-width:0;
    min-height:0;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 38%, rgba(58,53,47,.85) 0, rgba(17,17,17,.92) 42%, rgba(7,7,7,.98) 100%);
}
.analytics-lightbox-viewer::after,
.analytics-lightbox-visual::after{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(to bottom, rgba(255,255,255,.03), transparent 18%, transparent 82%, rgba(0,0,0,.24));
}
.analytics-lightbox-toolbar{
    min-height:74px;
    padding:16px 18px 16px 22px;
    background:linear-gradient(to bottom, rgba(4,4,5,.86), rgba(4,4,5,.35), transparent);
}
.analytics-lightbox-context{font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.62)}
.analytics-lightbox-toolbar strong{font-size:12px;font-weight:700;letter-spacing:.02em}
.analytics-lightbox-toolbar-actions{gap:10px}
.analytics-lightbox-icon{
    width:40px;height:40px;border-radius:14px;
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.075);
    box-shadow:0 10px 25px rgba(0,0,0,.24);
}
.analytics-lightbox-icon:hover{background:rgba(255,255,255,.16)}
.analytics-lightbox-close{font-size:26px}
.analytics-lightbox-stage{
    inset:0;
    padding:88px 94px 84px;
}
.analytics-lightbox-stage.is-actual-size{padding:88px 30px 84px}
.analytics-lightbox-image-shell,
.analytics-lightbox-video-shell{
    max-width:min(100%, 1120px);
    max-height:100%;
    padding:14px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
    box-shadow:0 28px 100px rgba(0,0,0,.44);
    backdrop-filter:blur(2px);
}
.analytics-lightbox-preview,
.analytics-lightbox-image,
.analytics-lightbox-video-player{
    max-width:min(100%, 1040px);
    max-height:calc(100dvh - 248px);
    border-radius:18px;
    box-shadow:0 24px 72px rgba(0,0,0,.34);
}
.analytics-lightbox-video-player{background:#050505}
.analytics-lightbox-loader{
    padding:10px 14px;
    border-radius:999px;
    background:rgba(5,5,5,.72);
    box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.analytics-lightbox-nav{
    width:52px;height:68px;border-radius:18px;font-size:34px;
    background:rgba(9,9,10,.46);
}
.analytics-lightbox-nav:hover{background:rgba(255,255,255,.14)}
.analytics-lightbox-prev{left:20px}
.analytics-lightbox-next{right:20px}
.analytics-lightbox-caption{
    right:96px;left:96px;bottom:24px;gap:10px;
}
.analytics-lightbox-caption strong,
.analytics-lightbox-caption span{
    display:inline-flex;align-items:center;justify-content:center;
    max-width:46%;min-height:34px;padding:7px 12px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    background:rgba(0,0,0,.38);
    backdrop-filter:blur(10px);
}
.analytics-lightbox-caption strong{font-size:8.5px}
.analytics-lightbox-caption span{font-size:8px;color:rgba(255,255,255,.7)}
.analytics-lightbox-insights{
    border-left:1px solid rgba(183,164,127,.24);
    background:linear-gradient(180deg, #faf8f4 0%, #f5f1e9 100%);
}
.analytics-lightbox-insights-scroll{padding:30px 24px 18px}
.analytics-lightbox-insights h2{font-size:28px;line-height:1.02}
.analytics-lightbox-filename{margin-top:7px;font-size:9px}
.analytics-lightbox-primary{
    margin-top:18px;padding:18px 18px 16px;border-radius:18px;
    border:1px solid #e6ddcf;
    background:linear-gradient(180deg,#fff 0%, #fcfaf7 100%);
    box-shadow:0 16px 40px rgba(99,75,42,.08);
}
.analytics-lightbox-primary strong{font-size:34px}
.analytics-lightbox-metrics{gap:8px;margin-top:10px}
.analytics-lightbox-metric{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.84);box-shadow:0 8px 18px rgba(77,59,34,.04)}
.analytics-lightbox-metric span{font-size:7.2px;letter-spacing:.08em}
.analytics-lightbox-video-grid .analytics-lightbox-metric{background:#fdfbf8}
.analytics-lightbox-meta{margin-top:16px}
.analytics-lightbox-meta > div{grid-template-columns:92px minmax(0,1fr);padding:10px 0}
.analytics-lightbox-meta > div > span{font-size:7.6px;letter-spacing:.04em;text-transform:uppercase}
.analytics-lightbox-meta > div > strong,
.analytics-lightbox-meta > div > a{font-size:9px}
.analytics-lightbox-shortcuts{
    margin:14px 0 0;padding:10px 12px;border-radius:12px;
    background:rgba(139,106,56,.08);color:#6f5732;border:1px solid rgba(139,106,56,.12);
}
.analytics-lightbox-side-actions{
    gap:8px;padding:14px 16px max(14px, env(safe-area-inset-bottom));
    border-top:1px solid #e4dccf;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);
}
.analytics-lightbox-side-actions .button{padding-inline:12px;font-size:8.2px;border-radius:12px}
@media (max-width: 1100px){
    .analytics-media-lightbox{padding:12px}
    .analytics-lightbox-shell,
    .analytics-lightbox-layout{height:calc(100dvh - 24px);grid-template-columns:minmax(0,1fr) 350px}
    .analytics-lightbox-stage{padding:84px 78px 76px}
    .analytics-lightbox-caption{right:80px;left:80px}
}
@media (max-width: 760px){
    .analytics-media-lightbox{padding:0;background:#090909}
    .analytics-lightbox-shell,
    .analytics-lightbox-layout{height:100dvh;grid-template-columns:1fr;grid-template-rows:minmax(50dvh, 1fr) minmax(290px, 44dvh);border-radius:0;border:0}
    .analytics-lightbox-insights{border-left:0;border-top:1px solid #e4dccf}
    .analytics-lightbox-stage{padding:66px 54px 58px}
    .analytics-lightbox-stage.is-actual-size{padding:66px 16px 58px}
    .analytics-lightbox-image-shell,
    .analytics-lightbox-video-shell{padding:10px;border-radius:20px}
    .analytics-lightbox-preview,
    .analytics-lightbox-image,
    .analytics-lightbox-video-player{max-height:calc(50dvh - 122px);border-radius:14px}
    .analytics-lightbox-toolbar{min-height:60px;padding:10px 12px 12px 14px}
    .analytics-lightbox-icon{width:36px;height:36px;border-radius:12px}
    .analytics-lightbox-nav{width:38px;height:48px;border-radius:14px;font-size:27px}
    .analytics-lightbox-prev{left:8px}.analytics-lightbox-next{right:8px}
    .analytics-lightbox-caption{right:46px;left:46px;bottom:10px;gap:6px}
    .analytics-lightbox-caption strong,
    .analytics-lightbox-caption span{min-height:28px;padding:5px 8px}
    .analytics-lightbox-insights-scroll{padding:16px 14px 12px}
    .analytics-lightbox-insights h2{font-size:22px}
    .analytics-lightbox-primary{padding:12px 14px 13px}.analytics-lightbox-primary strong{font-size:27px}
    .analytics-lightbox-meta > div{grid-template-columns:74px minmax(0,1fr)}
    .analytics-lightbox-side-actions{padding:10px 12px max(10px, env(safe-area-inset-bottom))}
}
@media (max-width: 430px){
    .analytics-lightbox-shell,
    .analytics-lightbox-layout{grid-template-rows:minmax(47dvh, 1fr) minmax(315px, 47dvh)}
    .analytics-lightbox-stage{padding-inline:38px}
    .analytics-lightbox-preview,
    .analytics-lightbox-image,
    .analytics-lightbox-video-player{max-height:calc(47dvh - 116px)}
    .analytics-lightbox-metrics,
    .analytics-lightbox-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* 1.4.35 — person media transfer */
.person-media-transfer-bar{display:grid;grid-template-columns:auto minmax(360px,1fr) auto;gap:12px;align-items:end;margin:0 0 14px;padding:12px;border:1px solid #ded6cb;border-radius:14px;background:linear-gradient(180deg,#fbfaf8,#f6f2ec)}
.person-media-transfer-selection{display:flex;flex-wrap:wrap;align-items:center;gap:8px;align-self:center}
.person-media-selected-count{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;background:#ede7dd;color:#745c34;font-size:9px;font-weight:850;white-space:nowrap}
.person-media-transfer-target{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(220px,1fr);gap:8px}
.person-media-transfer-target label{display:grid;gap:4px}.person-media-transfer-target label>span{color:var(--text-faint);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.person-media-transfer-target input,.person-media-transfer-target select{height:38px;min-width:0;padding:0 10px;border-radius:9px;background:#fff}
.person-media-transfer-actions{display:flex;gap:7px;justify-content:flex-end}
.person-media-transfer-actions .button{white-space:nowrap}
.person-media-transfer-hint{grid-column:1/-1;color:var(--text-faint);font-size:8.5px;line-height:1.45}
.person-transfer-media-card{position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.person-transfer-media-card.is-selected-for-transfer{border-color:#a98548;box-shadow:0 0 0 2px rgba(169,133,72,.17),0 10px 26px rgba(75,55,27,.08);transform:translateY(-1px)}
.person-media-transfer-check{position:absolute;z-index:8;top:7px;left:7px;display:flex!important;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(17,16,15,.72);color:#fff;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 5px 14px rgba(0,0,0,.14)}
.person-media-transfer-check input{position:absolute;opacity:0;pointer-events:none}
.person-media-transfer-check span{display:grid;width:15px;height:15px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:9px;color:transparent;background:rgba(255,255,255,.06)}
.person-media-transfer-check small{font-size:7.5px;font-weight:800;letter-spacing:.02em;color:rgba(255,255,255,.82)}
.person-media-transfer-check:has(input:checked){background:#9a743a;border-color:#c9a96d}.person-media-transfer-check:has(input:checked) span{color:#fff;background:rgba(255,255,255,.14)}
@media(max-width:1180px){.person-media-transfer-bar{grid-template-columns:1fr}.person-media-transfer-target{grid-template-columns:1fr 1.2fr}.person-media-transfer-actions{justify-content:flex-start}.person-media-transfer-hint{grid-column:auto}}
@media(max-width:680px){.person-media-transfer-target{grid-template-columns:1fr}.person-media-transfer-actions{display:grid;grid-template-columns:1fr}.person-media-transfer-actions .button{width:100%}.person-media-transfer-selection{align-items:flex-start}.person-media-transfer-check small{display:none}}


/* 1.4.36 — admin timezone normalization */
.share-header-actions{flex-wrap:wrap;justify-content:flex-end}
.admin-timezone-pill{display:flex;align-items:center;gap:6px;min-height:42px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(43,33,20,.05);color:var(--text-soft);white-space:nowrap}
.admin-timezone-pill>i{display:grid;width:23px;height:23px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent-deep);font-style:normal;font-size:11px}
.admin-timezone-pill>span{font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.admin-timezone-pill>strong{font-size:8.5px;font-weight:800;color:var(--text)}
@media(max-width:920px){.share-header-actions{justify-content:flex-start}.admin-timezone-pill{order:-1;flex:1 1 100%;width:100%;white-space:normal}.admin-timezone-pill>strong{overflow-wrap:anywhere}}

/* 1.4.37 — global screen-capture deterrence for protected viewer media */
html.select-screen-protection,
html.select-screen-protection body { -webkit-touch-callout:none; }
html.select-screen-protection .protected-media,
html.select-screen-protection .share-media-visual,
html.select-screen-protection .share-lightbox-content,
html.select-screen-protection .person-card-cover,
html.select-screen-protection .gallery-card-cover { position:relative; isolation:isolate; }
html.select-screen-protection .protected-media img,
html.select-screen-protection .protected-media video,
html.select-screen-protection .share-media-visual img,
html.select-screen-protection .share-lightbox-content img,
html.select-screen-protection .share-lightbox-content video {
    -webkit-user-select:none!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
}
html.select-screen-protection video::-webkit-media-controls-picture-in-picture-button,
html.select-screen-protection video::-webkit-media-controls-download-button,
html.select-screen-protection video::-webkit-media-controls-fullscreen-button { display:none!important; }
.select-privacy-curtain[hidden] { display:none!important; }
.select-privacy-curtain {
    position:fixed;
    z-index:2147483647;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
    background:#070706;
    color:#f7f3eb;
    text-align:center;
}
.select-privacy-curtain::before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 38%,rgba(177,139,73,.16),transparent 30%);
}
.select-privacy-curtain > div { position:relative; display:grid; gap:8px; max-width:520px; }
.select-privacy-curtain strong { font-family:Georgia,"Times New Roman",serif; font-size:clamp(21px,3vw,34px); font-weight:500; }
.select-privacy-curtain span { color:rgba(255,255,255,.58); font-size:11px; line-height:1.55; }
html.select-screen-curtain-active .protected-media,
html.select-screen-curtain-active .share-media-visual,
html.select-screen-curtain-active .share-lightbox-content { visibility:hidden!important; }
@media print {
    html.select-screen-protection body * { visibility:hidden!important; }
    html.select-screen-protection body::before {
        content:"SELECT · PRIVATER BEREICH — Drucken ist für geschützte Medien deaktiviert.";
        visibility:visible!important;
        position:fixed;
        inset:0;
        display:grid;
        place-items:center;
        padding:40px;
        background:#fff;
        color:#111;
        font:700 18px/1.5 Arial,sans-serif;
        text-align:center;
    }
}

/* 1.4.38 — private link password + one-person access */
.share-personal-access{display:grid;gap:10px;margin:10px 0 12px;padding:12px;border:1px solid #dfd6ca;border-radius:14px;background:linear-gradient(145deg,#fff,#faf7f1)}
.share-personal-access-toggle{display:flex!important;align-items:flex-start;gap:10px;padding:10px;border:1px solid rgba(161,131,84,.24);border-radius:11px;background:#f8f1e4;cursor:pointer}
.share-personal-access-toggle input{margin-top:2px}
.share-personal-access-toggle span{display:grid;gap:3px}
.share-personal-access-toggle strong{font-size:11px}
.share-personal-access-toggle small{color:#7d7164;font-size:9px;line-height:1.45}
.share-password-box{display:grid;gap:9px;padding:12px;border:1px solid #e3ddd5;border-radius:11px;background:#fff}
.share-password-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.share-password-heading>div{display:grid;gap:2px}
.share-password-heading>div>span{color:#8b6a38;font-size:7.5px;font-weight:900;letter-spacing:.11em}
.share-password-heading strong{font-size:12px}
.share-password-heading small{max-width:680px;color:#867b70;font-size:8.5px;line-height:1.5}
.share-password-state{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 8px;border-radius:999px;background:#f1eee9;color:#7b7269;font-size:8px;font-weight:850;text-transform:uppercase}
.share-password-state.is-active{background:#eaf6ed;color:#28743a}
.share-password-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px;align-items:center}
.share-password-input-row.compact{grid-template-columns:minmax(0,1fr) auto}
.share-password-input-row input{min-width:0}
.share-password-actions{display:flex;flex-wrap:wrap;gap:7px}
.share-password-strength{display:grid;grid-template-columns:minmax(0,180px) 1fr;gap:8px;align-items:center;color:#81776d;font-size:8px}
.share-password-strength i{position:relative;display:block;height:5px;overflow:hidden;border-radius:999px;background:#eee9e2}
.share-password-strength i:after{content:"";display:block;width:0;height:100%;border-radius:inherit;background:#b44141;transition:width .18s ease,background .18s ease}
.share-password-strength[data-score="1"] i:after{width:20%}
.share-password-strength[data-score="2"] i:after{width:40%;background:#bd7836}
.share-password-strength[data-score="3"] i:after{width:60%;background:#a78a3d}
.share-password-strength[data-score="4"] i:after{width:80%;background:#538c4a}
.share-password-strength[data-score="5"] i:after{width:100%;background:#23753c}
.share-personal-gate-note{display:grid;gap:4px;width:100%;margin:4px 0 8px;padding:10px 12px;border:1px solid rgba(197,154,87,.28);border-radius:10px;background:rgba(197,154,87,.09);text-align:left}
.share-personal-gate-note strong{color:#c59a57;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.share-personal-gate-note span{color:#b8afa5;font-size:9px;line-height:1.45}
@media(max-width:760px){.share-password-input-row{grid-template-columns:1fr 1fr}.share-password-input-row input{grid-column:1/-1}.share-password-heading{flex-direction:column}.share-password-strength{grid-template-columns:1fr}.share-password-mode-row{grid-template-columns:1fr!important}}


/* 1.4.39 — static watermark policy: dynamic forensic overlay removed */
.select-forensic-watermark{display:none!important}

/* SELECT 1.4.40 — global responsive + performance layer */
:root{
    --select-page-pad:clamp(14px,3vw,42px);
    --select-card-gap:clamp(8px,1.2vw,14px);
    --select-touch:42px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden}
button,a,input,select,textarea,summary{touch-action:manipulation}
img,video{height:auto}
.app-main{padding-left:max(var(--select-page-pad),env(safe-area-inset-left));padding-right:max(var(--select-page-pad),env(safe-area-inset-right));padding-bottom:max(64px,calc(44px + env(safe-area-inset-bottom)))}
.page-header{gap:clamp(14px,2.2vw,28px);margin-bottom:clamp(18px,2.2vw,28px)}
.page-header h1{font-size:clamp(28px,3vw,39px);text-wrap:balance}
.page-header p,.panel-heading p{max-width:72ch}
.panel{padding:clamp(16px,2vw,26px)}
.panel-heading{margin-bottom:clamp(14px,1.8vw,22px)}
.row-between,.panel-heading.row-between{min-width:0;gap:12px}
.form-grid,.upload-metadata-grid,.person-story-grid{gap:clamp(10px,1.4vw,18px)}
input,select,textarea{max-width:100%}
textarea{field-sizing:content;min-height:96px}
.button,.icon-button,.filter-button,.settings-tab{touch-action:manipulation}
.main-nav,.settings-tabs,.gallery-toolbar,.gallery-meta-category-chips,.people-filter-row{scrollbar-width:thin}
.settings-tabs{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.settings-tab{scroll-snap-align:start}

/* Grids stay compact while adapting fluidly. */
.admin-media-grid,.media-library-grid{grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:var(--select-card-gap)}
.admin-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:var(--select-card-gap)}
.people-card-grid,.people-card-grid-admin{gap:var(--select-card-gap)}
.share-package-grid{grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:var(--select-card-gap)}
.share-manage-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.favorite-admin-grid{gap:var(--select-card-gap)}
.analytics-top-media-grid{gap:var(--select-card-gap)}

/* Long admin datasets: GPU/memory friendly off-screen rendering. */
@supports (content-visibility:auto){
    .admin-media-card,.admin-gallery-card,.person-card,.share-package-card,.share-media-stat-card,.share-event-row,.analytics-day-row,.analytics-gallery-row,.activity-row,.favorite-admin-card{
        content-visibility:auto;
        contain-intrinsic-size:auto 180px;
    }
}

/* Horizontal data areas never break the viewport. */
.table-wrap,.analytics-table-wrap,.analytics-recent-table-wrap,[class$="-table-wrap"],.settings-tabs,.gallery-toolbar,.share-current-rules{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
}
.analytics-table,.analytics-media-log-table{min-width:680px}

/* Touch/coarse pointers: remove decorative motion and keep interaction instant. */
@media (hover:none),(pointer:coarse){
    .button:hover:not(:disabled),.media-tile:hover,.share-media-card:hover,.person-card:hover,.admin-media-card:hover,.admin-gallery-card:hover{transform:none!important}
    .media-tile:hover img,.share-media-card:hover img{transform:none!important}
}

@media (max-width:1100px){
    .app-main{padding-top:30px}
    .page-header{align-items:flex-start}
    .analytics-dashboard-grid,.share-admin-columns,.share-admin-columns.analytics-columns,.share-form-layout,.settings-grid,.settings-grid-wide{grid-template-columns:1fr}
    .share-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tagging-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}
}

@media (max-width:900px){
    :root{--select-page-pad:clamp(13px,3vw,22px)}
    .mobile-header{
        min-height:62px;
        padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));
        padding-top:max(8px,env(safe-area-inset-top));
        box-shadow:0 8px 30px rgba(0,0,0,.12);
    }
    .mobile-header .brand{gap:9px}.mobile-header .brand-mark{width:36px;height:36px;flex-basis:36px;font-size:18px}
    .mobile-header .brand-copy strong{font-size:11px}.mobile-header-actions{gap:6px}
    .sidebar{
        width:min(320px,88vw);
        height:100dvh;
        padding-left:max(14px,env(safe-area-inset-left));
        padding-right:14px;
        padding-bottom:max(16px,env(safe-area-inset-bottom));
        will-change:transform;
    }
    .app-main{padding-top:22px}
    .page-header{flex-direction:column;align-items:stretch}
    .page-header-actions{width:100%;justify-content:flex-start}
    .page-header-actions>.button,.page-header-actions>form{max-width:100%}
    .person-form-primary-grid,.person-profile-hero-grid,.tagging-workspace,.settings-split,.user-detail-grid,.share-form-layout,.share-admin-columns{grid-template-columns:1fr}
    .tagging-preview{min-height:min(56dvh,520px);border-right:0}
    .metadata-bulk-toolbar,.bulk-toolbar{position:static;grid-template-columns:1fr 1fr}
    .filter-sheet-panel{width:min(620px,calc(100% - 24px))}
    .guest-main{padding-top:16px}
}

@media (max-width:760px){
    :root{--select-page-pad:13px;--select-touch:40px}
    body{font-size:14px}
    .app-main{padding-top:18px;padding-bottom:max(52px,calc(36px + env(safe-area-inset-bottom)))}
    .page-header{gap:12px;margin-bottom:17px}
    .page-header .back-link{margin-bottom:9px}
    .page-header h1{font-size:clamp(27px,8vw,33px);line-height:1.04}
    .page-header p{margin-top:7px;font-size:12px;line-height:1.55}
    .page-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .page-header-actions>.button,.page-header-actions>form,.page-header-actions>form>.button{width:100%}
    .panel,.form-panel{padding:15px 13px;border-radius:15px}
    .panel-heading h2{font-size:21px}.panel-heading p{font-size:11px;line-height:1.5}
    .eyebrow{margin-bottom:5px;font-size:9px;letter-spacing:.12em}
    .button{min-height:40px;padding:9px 13px;border-radius:10px;font-size:12px}
    .button-small{min-height:36px;padding:7px 10px;font-size:11px}
    .icon-button{width:40px;height:40px}
    input,select,textarea{min-height:43px;border-radius:10px;font-size:16px} /* Prevent iOS input zoom. */
    textarea{min-height:88px}
    input[type="checkbox"],input[type="radio"]{width:18px;min-height:18px;font-size:initial}
    .field>span,label>span{font-size:11px}
    .form-grid.two-columns,.form-grid.two-cols,.upload-metadata-grid,.person-story-grid,.filter-sheet-body{grid-template-columns:1fr}
    .form-actions,.sticky-form-actions{gap:7px;flex-wrap:wrap;padding-top:15px}
    .form-actions>.button,.sticky-form-actions>.button{flex:1 1 140px}

    /* Keep media/person browsing visually dense on phones. */
    .admin-media-grid,.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .people-card-grid,.people-card-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .admin-gallery-grid,.gallery-card-grid,.share-package-grid{grid-template-columns:1fr;gap:9px}
    .admin-media-card{border-radius:11px}.admin-media-info{padding:8px}.admin-media-info strong{font-size:10px}.admin-media-info small{font-size:8px}
    .admin-media-thumb small{top:5px;right:5px;padding:3px 5px;font-size:7px}
    .media-detail-actions{gap:6px}.media-detail-actions .button,.media-detail-actions select{font-size:10px}
    .share-manage-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
    .share-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.share-stats-grid>div{padding:9px}
    .share-media-stats-grid{grid-template-columns:1fr}
    .share-event-row,.share-media-event-row{gap:8px}

    /* Uploads remain readable without wasting vertical space. */
    .upload-zone{min-height:190px;padding:22px 12px}.upload-zone-icon{width:50px;height:50px;font-size:21px}.upload-zone h3{font-size:21px}.upload-zone p{font-size:11px}
    .upload-zone-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.upload-zone-actions .button{width:100%}
    .upload-summary{gap:10px}.upload-controls{width:100%}.upload-controls .button{flex:1 1 120px}
    .upload-queue{max-height:58dvh}
    .upload-item{grid-template-columns:28px minmax(0,1fr) auto;gap:7px;padding:9px}
    .upload-item progress{grid-column:2/-1;width:100%}.upload-item-status{font-size:8px}

    /* Filters/toolbars become scrollable or stack, never overflow. */
    .gallery-toolbar{gap:8px;padding-bottom:2px}.filter-group{flex-wrap:nowrap;overflow-x:auto;max-width:100%}
    .filter-button{min-height:36px;flex:0 0 auto;padding:7px 10px;font-size:10px}
    .gallery-people-filter-top,.gallery-meta-advanced,.people-search-row{grid-template-columns:1fr}
    .gallery-context-switch{justify-content:space-between;gap:8px}
    .settings-tabs{margin-inline:-2px;padding:4px}.settings-tab{min-height:36px;padding:7px 11px;font-size:10px}
    .metadata-bulk-toolbar,.bulk-toolbar{grid-template-columns:1fr}

    /* Tagging / people editor. */
    .tagging-preview{min-height:42dvh;max-height:58dvh}
    .tagging-toolbar{gap:8px}.tagging-toolbar-filters{display:flex;width:100%;overflow-x:auto;padding-bottom:2px}.tagging-toolbar-filters>*{flex:0 0 auto}
    .person-cover-editor{max-width:100%}.person-cover-positioner{padding:10px}.person-cover-crop-previews{gap:6px}
    .person-linked-media-panel .compact-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

    /* Analytics: compact but still legible. */
    .analytics-hero{gap:10px}.analytics-hero-actions{width:100%}.analytics-range-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
    .analytics-range-chip{flex:0 0 auto}.analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.analytics-kpi{padding:10px}
    .analytics-dashboard-grid{gap:8px}.analytics-section-block,.analytics-subpanel{padding:12px}
    .analytics-table,.analytics-media-log-table{min-width:620px}

    /* Premium analytics lightbox: image first, compact detail sheet below. */
    .analytics-lightbox-shell,.analytics-lightbox-layout{grid-template-rows:minmax(49dvh,1fr) minmax(300px,45dvh)}
    .analytics-lightbox-stage{padding:62px 42px 48px}
    .analytics-lightbox-preview,.analytics-lightbox-image,.analytics-lightbox-video-player{max-height:calc(49dvh - 110px)}
    .analytics-lightbox-insights-scroll{padding:14px 13px 10px}
    .analytics-lightbox-metrics{gap:6px}.analytics-lightbox-metric{padding:8px}
    .analytics-lightbox-primary{margin-top:9px}

    /* Auth/guest stays premium but loads/renders cheaply on phones. */
    .guest-header{width:calc(100% - 24px);padding:12px 0}.guest-main{width:calc(100% - 20px);padding:12px 0 34px}.guest-footer{width:calc(100% - 24px);gap:12px;padding:18px 0}
    .auth-shell,.auth-shell-premium,.auth-shell-register{width:100%;grid-template-columns:1fr;border-radius:20px}
    .auth-visual,.auth-visual-premium,.auth-shell-register .auth-visual-premium{min-height:220px;padding:20px}
    .auth-visual-copy h2{font-size:27px}.auth-card,.auth-shell-premium .auth-card,.auth-shell-register .auth-card{min-height:0;padding:25px 18px}
    .auth-shell-premium .card-heading h1{font-size:27px}
    .auth-mini-gallery{display:none}

    /* Expensive blur effects are reduced on small GPUs. */
    .sidebar-backdrop,.filter-sheet-backdrop{backdrop-filter:none}
    .analytics-media-lightbox{backdrop-filter:none}
}

@media (max-width:480px){
    .mobile-header .brand-copy small{display:none}
    .page-header-actions{grid-template-columns:1fr}
    .panel{padding:13px 11px}
    .admin-media-grid,.media-library-grid,.people-card-grid,.people-card-grid-admin{gap:6px}
    .person-card-body{padding:8px}.person-card-title-row strong{font-size:14px}
    .share-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .share-form-panel,.share-config-panel,.share-control-panel,.share-analytics-panel,.share-media-manage-panel{padding:12px}
    .share-link-bar{gap:7px}.share-link-bar code{max-width:100%;font-size:9px;word-break:break-all}
    .upload-zone-actions{grid-template-columns:1fr}
    .analytics-kpi-grid{grid-template-columns:1fr 1fr}
    .analytics-lightbox-shell,.analytics-lightbox-layout{grid-template-rows:minmax(45dvh,1fr) minmax(330px,49dvh)}
    .analytics-lightbox-stage{padding-inline:34px}.analytics-lightbox-caption{right:38px;left:38px}
    .analytics-lightbox-preview,.analytics-lightbox-image,.analytics-lightbox-video-player{max-height:calc(45dvh - 105px)}
    .guest-header .brand-copy{display:none}
}

@media (max-width:340px){
    .admin-media-grid,.media-library-grid{grid-template-columns:1fr}
    .people-card-grid,.people-card-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
    .page-header h1{font-size:26px}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* 1.4.41 — compact premium galleries admin page */
.admin-gallery-page-header{margin-bottom:14px}
.admin-gallery-page-header .page-header-actions{gap:10px}
.admin-gallery-search{
    align-items:center;
    gap:10px;
    margin-bottom:16px;
    padding:10px 12px;
    border:1px solid rgba(193,179,155,.52);
    border-radius:18px;
    background:linear-gradient(180deg,#fffdfb 0%,#f9f6f0 100%);
    box-shadow:0 8px 24px rgba(53,41,24,.05);
}
.admin-gallery-search label{flex:1 1 340px}
.admin-gallery-search input[type="search"]{height:44px;padding-inline:16px;border-radius:14px;background:#fff;border:1px solid rgba(193,179,155,.55)}
.admin-gallery-grid-compact{
    grid-template-columns:repeat(auto-fill,minmax(min(238px,100%),1fr));
    gap:14px;
}
.admin-gallery-card-compact{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(196,183,160,.55);
    border-radius:22px;
    background:linear-gradient(180deg,#ffffff 0%,#fbf8f2 100%);
    box-shadow:0 14px 34px rgba(63,48,30,.07);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.admin-gallery-card-compact:hover{transform:translateY(-3px);border-color:rgba(169,140,84,.58);box-shadow:0 24px 44px rgba(63,48,30,.14)}
.admin-gallery-card-compact .admin-gallery-cover{
    display:block;
    aspect-ratio:5 / 4.2;
    min-height:180px;
    background:linear-gradient(145deg,#211d18,#383026);
}
.admin-gallery-card-compact .admin-gallery-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}
.admin-gallery-card-compact:hover .admin-gallery-cover img{transform:scale(1.03)}
.admin-gallery-card-compact .status-badge{
    top:11px;
    left:11px;
    right:auto;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(10,10,10,.56);
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.admin-gallery-body-compact{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    gap:12px;
    padding:15px 15px 16px;
}
.admin-gallery-copy h2{
    margin:0;
    overflow:visible;
    font-family:Georgia,serif;
    font-size:20px;
    line-height:1.18;
    text-overflow:clip;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
}
.admin-gallery-copy p{
    display:block;
    overflow:visible;
    margin:6px 0 0;
    min-height:0;
    color:var(--text-soft);
    font-size:11px;
    line-height:1.58;
    white-space:pre-line;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
}
.admin-gallery-copy p.is-muted{color:var(--text-faint)}
.admin-gallery-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin:0;
}
.admin-gallery-metrics span{
    min-width:0;
    padding:9px 7px;
    border:1px solid rgba(198,187,168,.45);
    border-radius:12px;
    background:#fff;
    font-size:9px;
    line-height:1.25;
    overflow-wrap:anywhere;
    box-shadow:0 4px 12px rgba(66,48,25,.03);
}
.admin-gallery-metrics strong{font-size:14px;line-height:1.05}
.admin-gallery-folder-metric{
    border-color:rgba(169,140,84,.42)!important;
    background:linear-gradient(180deg,#fffdf8 0%,#f7f0e3 100%)!important;
}
.admin-gallery-folder-metric strong{color:var(--accent-deep)}
.admin-gallery-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid rgba(199,187,167,.45);
}
.admin-gallery-actions .button,
.admin-gallery-actions .icon-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 10px;
    border-radius:12px;
    font-size:10px;
    font-weight:800;
    white-space:nowrap;
}
.admin-gallery-actions .button-primary{grid-column:span 2}
.admin-gallery-actions .button-secondary{grid-column:span 1}
.admin-gallery-actions .icon-link{border:1px solid var(--line);background:var(--surface-soft);color:var(--text)}
.admin-gallery-actions .icon-link:hover{background:#f6f1e8}
@media (max-width: 980px){
    .admin-gallery-grid-compact{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px}
}
@media (max-width: 720px){
    .admin-gallery-search{padding:10px;gap:8px}
    .admin-gallery-search .button,.admin-gallery-search .text-link{width:100%;justify-content:center}
    .admin-gallery-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .admin-gallery-card-compact .admin-gallery-cover{aspect-ratio:16 / 10;min-height:145px}
    .admin-gallery-body-compact{padding:12px 12px 13px;gap:10px}
    .admin-gallery-copy h2{font-size:17px}
    .admin-gallery-copy p{min-height:0;font-size:10px}
    .admin-gallery-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .admin-gallery-metrics span{padding:8px 5px;font-size:8px}
    .admin-gallery-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
    .admin-gallery-actions .button-primary,.admin-gallery-actions .button-secondary{grid-column:span 1}
}
@media (max-width: 480px){
    .admin-gallery-page-header .page-header-actions{width:100%}
    .admin-gallery-page-header .page-header-actions .button{flex:1 1 calc(50% - 5px);justify-content:center}
    .admin-gallery-grid-compact{grid-template-columns:1fr}
    .admin-gallery-card-compact .admin-gallery-cover{aspect-ratio:16 / 10;min-height:170px}
    .admin-gallery-search input[type="search"]{height:42px}
}

/* SELECT Backoffice — public life curation */
.public-life-admin-header .page-header-actions { flex-wrap: wrap; }
.public-life-safety {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 15px 17px;
    border: 1px solid rgba(38,118,83,.18);
    border-radius: 15px;
    background: linear-gradient(100deg, var(--success-soft), #fff 68%);
}
.public-life-safety-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #fff; color: var(--success); box-shadow: var(--shadow-sm); }
.public-life-safety strong { display: block; margin-bottom: 2px; font-size: 12px; }
.public-life-safety p { margin: 0; color: var(--text-soft); font-size: 10px; line-height: 1.5; }
.public-life-safety-state { padding: 6px 9px; border: 1px solid rgba(38,118,83,.16); border-radius: 999px; color: var(--success); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.public-life-admin-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.public-life-admin-stats article { display: flex; min-height: 118px; flex-direction: column; justify-content: center; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow-sm); }
.public-life-admin-stats span { color: var(--accent-deep); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.public-life-admin-stats strong { margin: 7px 0 2px; font-family: Georgia, "Times New Roman", serif; font-size: 31px; font-weight: 500; line-height: 1; }
.public-life-admin-stats small { color: var(--text-faint); font-size: 9px; }
.public-life-category-panel,
.public-life-published-panel,
.public-life-library-panel { margin-bottom: 18px; }
.public-life-category-create { margin: 0 0 16px; padding: 16px; border: 1px solid rgba(185,152,93,.24); border-radius: 15px; background: var(--accent-soft); }
.public-life-category-list { display: grid; gap: 8px; }
.public-life-category-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.public-life-category-card.is-archived { opacity: .72; }
.public-life-category-card > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 13px 14px; cursor: pointer; list-style: none; }
.public-life-category-card > summary::-webkit-details-marker { display: none; }
.public-life-category-card[open] > summary { border-bottom: 1px solid var(--line); background: var(--surface-soft); }
.public-life-category-icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(185,152,93,.22); border-radius: 11px; background: var(--accent-soft); color: var(--accent-deep); font-size: 17px; }
.public-life-category-summary { display: flex; min-width: 0; flex-direction: column; }
.public-life-category-summary strong { font-size: 12px; }
.public-life-category-summary small { color: var(--text-faint); font-size: 9px; }
.public-life-category-chevron { color: var(--text-faint); transition: transform var(--transition); }
.public-life-category-card[open] .public-life-category-chevron { transform: rotate(180deg); }
.status-pill { padding: 5px 8px; border-radius: 999px; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.status-pill.status-active { background: var(--success-soft); color: var(--success); }
.status-pill.status-muted { background: var(--surface-soft); color: var(--text-faint); }
.public-life-category-form { padding: 16px; }
.public-life-category-form.is-create { padding: 0; }
.public-life-category-form label,
.public-life-media-form label,
.public-life-bulk-category { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.public-life-category-form label > span,
.public-life-media-form label > span,
.public-life-bulk-category > span { color: var(--text-soft); font-size: 9px; font-weight: 800; }
.public-life-category-core { display: grid; grid-template-columns: 90px minmax(180px,1fr) 120px 140px; gap: 10px; }
.public-life-translation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.public-life-translation-grid > div { display: grid; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }
.public-life-translation-grid > div > strong { color: var(--accent-deep); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.public-life-category-form input,
.public-life-category-form select,
.public-life-category-form textarea,
.public-life-media-form input,
.public-life-media-form select,
.public-life-media-form textarea { min-height: 38px; padding: 8px 10px; border-radius: 9px; font-size: 11px; }
.public-life-category-form textarea,
.public-life-media-form textarea { min-height: 66px; }
.public-life-category-form .form-actions { padding-top: 13px; }
.public-life-mini-search { display: flex; align-items: center; gap: 7px; width: min(360px,100%); }
.public-life-mini-search input { min-height: 37px; font-size: 11px; }
.public-life-published-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.public-life-published-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow-sm); }
.public-life-admin-thumb { position: relative; display: grid; aspect-ratio: 16/10; place-items: center; overflow: hidden; background: #1d1a17; color: rgba(255,255,255,.55); }
.public-life-admin-thumb img { width: 100%; height: 100%; object-fit: cover; }
.public-life-admin-thumb small { position: absolute; left: 8px; bottom: 8px; padding: 4px 6px; border-radius: 6px; background: rgba(17,16,15,.7); color: #fff; font-size: 7px; font-weight: 800; backdrop-filter: blur(5px); }
.public-life-admin-thumb b { position: absolute; top: 8px; right: 8px; padding: 4px 6px; border-radius: 999px; background: rgba(17,16,15,.72); color: #e0c69b; font-size: 6px; letter-spacing: .1em; }
.public-life-media-form { display: grid; gap: 9px; padding: 13px; }
.public-life-media-filename { display: flex; min-width: 0; flex-direction: column; padding-bottom: 3px; }
.public-life-media-filename strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.public-life-media-filename small { color: var(--text-faint); font-size: 8px; }
.public-life-media-options { display: grid; grid-template-columns: 1fr 1fr 80px; align-items: end; gap: 8px; padding: 8px; border-radius: 9px; background: var(--surface-soft); }
.public-life-media-options .check-label { display: flex; flex-direction: row; align-items: center; gap: 6px; color: var(--text-soft); font-size: 9px; font-weight: 750; }
.public-life-media-options .check-label input { width: 16px; min-height: 16px; }
.public-life-order input { width: 100%; }
.public-life-languages { border-top: 1px solid var(--line); padding-top: 7px; }
.public-life-languages summary { cursor: pointer; color: var(--accent-deep); font-size: 9px; font-weight: 800; }
.public-life-languages > div { display: grid; gap: 8px; margin-top: 9px; }
.public-life-unpublish-form { padding: 0 13px 13px; }
.text-button.danger { color: var(--danger); }
.public-life-library-filter { margin-bottom: 12px; }
.public-life-bulk-form { display: grid; gap: 12px; }
.public-life-bulk-toolbar { position: sticky; z-index: 6; top: 12px; display: grid; grid-template-columns: auto auto minmax(210px,1fr) auto; align-items: end; gap: 10px; padding: 10px 11px; border: 1px solid var(--line-strong); border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 12px 28px rgba(29,25,20,.08); backdrop-filter: blur(12px); }
.public-life-bulk-toolbar.is-bottom { position: static; grid-template-columns: 1fr auto; }
.public-life-selected-count { align-self: center; color: var(--text-soft); font-size: 10px; white-space: nowrap; }
.public-life-selected-count strong { color: var(--text); }
.public-life-bulk-category { display: grid; grid-template-columns: auto minmax(160px,1fr); align-items: center; gap: 8px; }
.public-life-bulk-category select { min-height: 39px; font-size: 11px; }
.public-life-candidate-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.public-life-candidate-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); cursor: pointer; transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.public-life-candidate-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.public-life-candidate-card.is-live { border-color: rgba(38,118,83,.24); }
.public-life-candidate-check { position: absolute; z-index: 3; top: 8px; left: 8px; width: 18px; min-height: 18px; }
.public-life-candidate-visual { position: relative; display: grid; aspect-ratio: 1/1; place-items: center; overflow: hidden; background: #eeeae4; }
.public-life-candidate-visual img { width: 100%; height: 100%; object-fit: cover; }
.public-life-candidate-visual > i { color: var(--text-faint); font-style: normal; }
.public-life-candidate-type { position: absolute; right: 6px; bottom: 6px; padding: 3px 5px; border-radius: 5px; background: rgba(17,16,15,.7); color: #fff; font-size: 6px; font-weight: 900; letter-spacing: .08em; }
.public-life-candidate-checkmark { position: absolute; top: 6px; right: 6px; display: none; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--surface-dark); color: #fff; font-size: 10px; }
.public-life-candidate-card:has(.public-life-candidate-check:checked) { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(185,152,93,.13); }
.public-life-candidate-card:has(.public-life-candidate-check:checked) .public-life-candidate-checkmark { display: grid; }
.public-life-candidate-copy { display: flex; min-width: 0; flex-direction: column; padding: 8px; }
.public-life-candidate-copy strong { font-size: 9px; }
.public-life-candidate-copy small { overflow: hidden; color: var(--text-faint); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.public-life-candidate-copy b { margin-top: 4px; color: var(--success); font-size: 6px; letter-spacing: .045em; }
.public-life-candidate-copy b.is-draft { color: var(--warning); }
.guest-life-link { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-deep); font-size: 11px; font-weight: 800; }
.guest-life-link:hover { color: var(--text); }

@media (max-width: 1180px) {
    .public-life-candidate-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .public-life-published-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .public-life-admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-life-category-core { grid-template-columns: 80px 1fr 100px; }
    .public-life-category-core label:last-child { grid-column: 1/-1; }
    .public-life-candidate-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .public-life-bulk-toolbar { position: static; grid-template-columns: 1fr 1fr; align-items: center; }
    .public-life-bulk-category { grid-column: 1/-1; }
}
@media (max-width: 650px) {
    .public-life-safety { grid-template-columns: auto 1fr; }
    .public-life-safety-state { grid-column: 1/-1; width: fit-content; }
    .public-life-admin-stats { gap: 7px; }
    .public-life-admin-stats article { min-height: 96px; padding: 13px; }
    .public-life-admin-stats strong { font-size: 25px; }
    .public-life-category-card > summary { grid-template-columns: auto minmax(0,1fr) auto; }
    .public-life-category-card .status-pill { display: none; }
    .public-life-category-core,
    .public-life-translation-grid { grid-template-columns: 1fr; }
    .public-life-category-core label:last-child { grid-column: auto; }
    .public-life-published-grid { grid-template-columns: 1fr; }
    .public-life-media-options { grid-template-columns: 1fr 1fr; }
    .public-life-order { grid-column: 1/-1; }
    .public-life-candidate-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
    .public-life-bulk-toolbar { grid-template-columns: 1fr; }
    .public-life-bulk-category { grid-column: auto; grid-template-columns: 1fr; }
    .public-life-mini-search { width: 100%; }
}
@media (max-width: 410px) {
    .public-life-candidate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.share-public-life-link {
    position: fixed;
    z-index: 40;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(224,198,155,.2);
    border-radius: 999px;
    background: rgba(17,16,15,.86);
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
    color: #d8c39d;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}
.share-public-life-link:hover { border-color: rgba(224,198,155,.42); color: #fff; }

/* Admin Public Life — Compact Premium V2 (2026-08-21)
   Scoped to the public-life administration only. */
.public-life-admin-header {
    align-items: center;
    gap: 18px;
    margin-bottom: 11px;
}
.public-life-admin-header h1 { font-size: clamp(25px, 2.4vw, 33px); line-height: 1; }
.public-life-admin-header p { max-width: 760px; margin-top: 6px; font-size: 10.5px; line-height: 1.5; }
.public-life-admin-header .eyebrow { font-size: 7px; }
.public-life-admin-header .page-header-actions { gap: 6px; }
.public-life-admin-header .button { min-height: 36px; padding: 7px 11px; font-size: 9px; }

.public-life-safety {
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 9px;
    margin-bottom: 9px;
    padding: 9px 11px;
    border-radius: 12px;
}
.public-life-safety-icon { width: 28px; height: 28px; font-size: 10px; }
.public-life-safety strong { margin-bottom: 1px; font-size: 10px; }
.public-life-safety p { font-size: 8.5px; line-height: 1.38; }
.public-life-safety-state { padding: 4px 7px; font-size: 6px; letter-spacing: .08em; }

.public-life-admin-nav {
    position: sticky;
    z-index: 8;
    top: 8px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 5px;
    margin-bottom: 9px;
    padding: 5px;
    border: 1px solid rgba(185,152,93,.18);
    border-radius: 13px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 9px 24px rgba(29,25,20,.055);
    backdrop-filter: blur(16px);
}
.public-life-admin-nav a {
    display: flex;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border-radius: 9px;
    color: var(--text-soft);
    transition: background var(--transition), color var(--transition);
}
.public-life-admin-nav a:hover { background: var(--accent-soft); color: var(--text); }
.public-life-admin-nav a > span { color: var(--accent-deep); font-size: 6px; font-weight: 900; letter-spacing: .1em; }
.public-life-admin-nav a > strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.public-life-admin-nav a > b { margin-left: auto; padding: 2px 5px; border-radius: 999px; background: var(--surface-dark); color: #fff; font-size: 6px; }

.public-life-admin-stats {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 6px;
    margin-bottom: 10px;
}
.public-life-admin-stats article {
    min-height: 72px;
    padding: 10px 12px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(29,25,20,.035);
}
.public-life-admin-stats span { font-size: 6px; letter-spacing: .1em; }
.public-life-admin-stats strong { margin: 4px 0 0; font-size: 23px; }
.public-life-admin-stats small { margin-top: 2px; font-size: 7px; }

.public-life-category-panel,
.public-life-published-panel,
.public-life-library-panel {
    scroll-margin-top: 66px;
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 15px;
}
.public-life-category-panel .panel-heading,
.public-life-published-panel .panel-heading,
.public-life-library-panel .panel-heading { margin-bottom: 11px; }
.public-life-category-panel .panel-heading h2,
.public-life-published-panel .panel-heading h2,
.public-life-library-panel .panel-heading h2 { font-size: 20px; }
.public-life-category-panel .panel-heading p,
.public-life-published-panel .panel-heading p,
.public-life-library-panel .panel-heading p { margin-top: 4px; font-size: 9.5px; line-height: 1.45; }
.public-life-category-panel .eyebrow,
.public-life-published-panel .eyebrow,
.public-life-library-panel .eyebrow { font-size: 6px; }

.public-life-category-create { margin-bottom: 9px; padding: 11px; border-radius: 11px; }
.public-life-category-list { gap: 5px; }
.public-life-category-card { border-radius: 10px; }
.public-life-category-card > summary {
    grid-template-columns: auto minmax(0,1fr) auto auto;
    gap: 8px;
    padding: 8px 9px;
}
.public-life-category-icon { width: 30px; height: 30px; border-radius: 8px; font-size: 13px; }
.public-life-category-summary strong { font-size: 10px; }
.public-life-category-summary small { font-size: 7px; }
.public-life-category-card .status-pill { padding: 4px 6px; font-size: 6px; }
.public-life-category-chevron { font-size: 10px; }
.public-life-category-form { padding: 11px; }
.public-life-category-core { grid-template-columns: 72px minmax(150px,1fr) 90px 110px; gap: 6px; }
.public-life-translation-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 7px; }
.public-life-translation-grid > div { gap: 5px; padding: 7px; border-radius: 8px; }
.public-life-translation-grid > div > strong { font-size: 6.5px; }
.public-life-category-form label,
.public-life-media-form label,
.public-life-bulk-category { gap: 3px; }
.public-life-category-form label > span,
.public-life-media-form label > span,
.public-life-bulk-category > span { font-size: 7.5px; }
.public-life-category-form input,
.public-life-category-form select,
.public-life-category-form textarea,
.public-life-media-form input,
.public-life-media-form select,
.public-life-media-form textarea {
    min-height: 34px;
    padding: 6px 8px;
    border-radius: 7px;
    font-size: 9.5px;
}
.public-life-category-form textarea,
.public-life-media-form textarea { min-height: 52px; }
.public-life-category-form .form-actions { padding-top: 8px; }

.public-life-mini-search { gap: 5px; width: min(300px,100%); }
.public-life-mini-search input { min-height: 34px; font-size: 9.5px; }
.public-life-mini-search .button { min-height: 34px; }

.public-life-published-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.public-life-published-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
    box-shadow: 0 6px 18px rgba(29,25,20,.035);
}
.public-life-published-card[open] { border-color: rgba(185,152,93,.3); box-shadow: 0 10px 28px rgba(29,25,20,.07); }
.public-life-published-summary {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    list-style: none;
}
.public-life-published-summary::-webkit-details-marker { display: none; }
.public-life-published-summary .public-life-admin-thumb { grid-column: 1 / -1; }
.public-life-admin-thumb { aspect-ratio: 16 / 9; }
.public-life-admin-thumb small { left: 6px; bottom: 6px; padding: 3px 5px; font-size: 6px; }
.public-life-admin-thumb b { top: 6px; right: 6px; padding: 3px 5px; font-size: 5px; }
.public-life-published-meta {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1px 0 9px 10px;
}
.public-life-published-meta > strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.public-life-published-meta > small { margin-top: 1px; color: var(--text-faint); font-size: 6.5px; }
.public-life-published-meta > span { margin-top: 4px; color: var(--success); font-size: 6px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.public-life-published-meta > span i { margin-right: 3px; font-size: 5px; font-style: normal; }
.public-life-published-edit {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 9px;
    padding: 5px 7px;
    border: 1px solid var(--line);
    border-radius: 7px;
    color: var(--text-soft);
    font-size: 7px;
    font-weight: 800;
    white-space: nowrap;
}
.public-life-published-edit i { font-style: normal; transition: transform var(--transition); }
.public-life-published-card[open] .public-life-published-edit i { transform: rotate(180deg); }
.public-life-published-editor { border-top: 1px solid var(--line); background: var(--surface-soft); }
.public-life-media-form { gap: 6px; padding: 10px; }
.public-life-media-edit-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 6px; }
.public-life-media-options { grid-template-columns: 1fr 1fr 64px; gap: 5px; padding: 6px; border-radius: 7px; }
.public-life-media-options .check-label { gap: 4px; font-size: 7px; }
.public-life-media-options .check-label input { width: 14px; min-height: 14px; }
.public-life-languages { padding-top: 5px; }
.public-life-languages summary { font-size: 7.5px; }
.public-life-languages > div { gap: 5px; margin-top: 6px; }
.public-life-unpublish-form { padding: 0 10px 9px; }
.public-life-unpublish-form .text-button { font-size: 7.5px; }

.public-life-library-filter { margin-bottom: 8px; }
.public-life-library-filter input,
.public-life-library-filter select { min-height: 34px; font-size: 9.5px; }
.public-life-bulk-form { gap: 8px; }
.public-life-bulk-toolbar {
    top: 58px;
    grid-template-columns: auto auto minmax(190px,1fr) auto;
    gap: 7px;
    padding: 7px 8px;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(29,25,20,.06);
}
.public-life-bulk-toolbar.is-bottom { grid-template-columns: 1fr auto; }
.public-life-bulk-toolbar .button { min-height: 34px; padding: 6px 9px; font-size: 8px; }
.public-life-selected-count { font-size: 8px; }
.public-life-bulk-category { grid-template-columns: auto minmax(145px,1fr); gap: 6px; }
.public-life-bulk-category select { min-height: 34px; font-size: 9px; }
.public-life-candidate-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 5px; }
.public-life-candidate-card { border-radius: 9px; }
.public-life-candidate-card:hover { transform: translateY(-1px); }
.public-life-candidate-check { top: 5px; left: 5px; width: 15px; min-height: 15px; }
.public-life-candidate-type { right: 4px; bottom: 4px; padding: 2px 4px; font-size: 5px; }
.public-life-candidate-checkmark { top: 4px; right: 4px; width: 20px; height: 20px; font-size: 8px; }
.public-life-candidate-copy { padding: 6px; }
.public-life-candidate-copy strong { font-size: 7.5px; }
.public-life-candidate-copy small { font-size: 6px; }
.public-life-candidate-copy b { margin-top: 3px; font-size: 5px; }

@media (max-width: 1280px) {
    .public-life-translation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-life-candidate-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 980px) {
    .public-life-admin-header { align-items: flex-start; }
    .public-life-admin-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .public-life-category-core { grid-template-columns: 70px 1fr 90px; }
    .public-life-category-core label:last-child { grid-column: 1 / -1; }
    .public-life-published-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-life-candidate-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .public-life-admin-header { gap: 10px; margin-bottom: 9px; }
    .public-life-admin-header h1 { font-size: 25px; }
    .public-life-admin-header p { font-size: 9.5px; }
    .public-life-admin-header .page-header-actions { width: 100%; justify-content: stretch; }
    .public-life-admin-header .page-header-actions .button { flex: 1 1 0; justify-content: center; }
    .public-life-safety { grid-template-columns: auto minmax(0,1fr); }
    .public-life-safety p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .public-life-safety-state { grid-column: 1 / -1; width: fit-content; }
    .public-life-admin-nav {
        grid-template-columns: repeat(3, minmax(112px,1fr));
        margin-right: -8px;
        margin-left: -8px;
        padding: 5px 8px;
        overflow-x: auto;
        border-inline: 0;
        border-radius: 0;
        scrollbar-width: none;
    }
    .public-life-admin-nav::-webkit-scrollbar { display: none; }
    .public-life-admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
    .public-life-admin-stats article { min-height: 62px; padding: 8px 10px; }
    .public-life-admin-stats strong { font-size: 20px; }
    .public-life-category-panel,
    .public-life-published-panel,
    .public-life-library-panel { padding: 11px; }
    .public-life-category-panel .panel-heading h2,
    .public-life-published-panel .panel-heading h2,
    .public-life-library-panel .panel-heading h2 { font-size: 18px; }
    .public-life-category-card > summary { grid-template-columns: auto minmax(0,1fr) auto; }
    .public-life-category-card .status-pill { display: none; }
    .public-life-category-core,
    .public-life-translation-grid { grid-template-columns: 1fr; }
    .public-life-category-core label:last-child { grid-column: auto; }
    .public-life-published-grid { grid-template-columns: 1fr; }
    .public-life-published-summary { grid-template-columns: minmax(0,1fr) auto; }
    .public-life-published-summary .public-life-admin-thumb { aspect-ratio: 16 / 8.5; }
    .public-life-media-edit-grid { grid-template-columns: 1fr; }
    .public-life-media-options { grid-template-columns: 1fr 1fr; }
    .public-life-order { grid-column: 1 / -1; }
    .public-life-mini-search { width: 100%; }
    .public-life-bulk-toolbar { position: static; grid-template-columns: 1fr 1fr; }
    .public-life-bulk-category { grid-column: 1 / -1; }
    .public-life-candidate-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
}
@media (max-width: 420px) {
    .public-life-admin-header .page-header-actions { display: grid; grid-template-columns: 1fr; }
    .public-life-candidate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-life-bulk-toolbar { grid-template-columns: 1fr; }
    .public-life-bulk-category { grid-column: auto; grid-template-columns: 1fr; }
}

/* SELECT 1.4.43 — intelligent video poster/frame + focal-point editor */
.button-poster {
    border-color: rgba(157,117,50,.28);
    background: linear-gradient(135deg, #fffaf1, #f5ead8);
    color: var(--accent-deep);
}
.button-poster:hover { border-color: rgba(157,117,50,.48); background: #fff8ea; color: #6d4c1c; }
.video-poster-page-header { align-items: center; margin-bottom: 12px; }
.video-poster-page-header h1 { font-size: clamp(27px, 2.5vw, 36px); }
.video-poster-page-header p { max-width: 800px; font-size: 10.5px; line-height: 1.5; }
.video-poster-editor { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 10px; align-items: start; }
.poster-editor-summary {
    position: sticky;
    top: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}
.poster-editor-summary-preview { position: relative; display: grid; aspect-ratio: 4/5; place-items: center; overflow: hidden; background: #171512; color: rgba(255,255,255,.44); }
.poster-editor-summary-preview img { width: 100%; height: 100%; object-fit: cover; }
.poster-editor-empty-mark { font-size: 28px; }
.poster-editor-summary-badge { position: absolute; left: 7px; bottom: 7px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(17,16,15,.72); color: #e0c69b; font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(7px); }
.poster-editor-summary-copy { display: flex; min-width: 0; flex-direction: column; padding: 11px; }
.poster-editor-summary-copy .eyebrow { font-size: 6px; }
.poster-editor-summary-copy > strong { margin-top: 4px; font-size: 10px; }
.poster-editor-summary-copy > small { overflow: hidden; margin-top: 2px; color: var(--text-faint); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.poster-editor-summary-copy > p { margin: 8px 0 0; color: var(--text-soft); font-size: 8px; }
.poster-editor-summary-facts { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.poster-editor-summary-facts span { padding: 3px 5px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); color: var(--text-soft); font-size: 6px; font-weight: 800; }
.poster-editor-workspace { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(360px,.97fr); gap: 10px; min-width: 0; }
.poster-source-panel,
.poster-focus-panel { min-width: 0; margin: 0; padding: 14px; border-radius: 15px; }
.poster-editor-section-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 12px; margin-bottom: 10px; }
.poster-editor-section-head h2 { margin: 3px 0 3px; font-size: 19px; }
.poster-editor-section-head p { max-width: 650px; margin: 0; color: var(--text-soft); font-size: 9px; line-height: 1.45; }
.poster-editor-section-head .eyebrow { font-size: 6px; }
.poster-editor-time,
.poster-focus-coordinates { display: inline-flex; min-height: 29px; align-items: center; padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); color: var(--accent-deep); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 8px; font-weight: 850; white-space: nowrap; }
.poster-focus-coordinates b { font-weight: 850; }
.poster-video-shell { position: relative; display: grid; aspect-ratio: 16/9; place-items: center; overflow: hidden; border-radius: 12px; background: #070706; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); }
.poster-video-shell video { width: 100%; height: 100%; object-fit: contain; background: #070706; }
.poster-video-status { position: absolute; top: 7px; left: 7px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(17,16,15,.66); color: rgba(255,255,255,.72); font-size: 6px; font-weight: 800; letter-spacing: .04em; pointer-events: none; backdrop-filter: blur(7px); }
.poster-timeline { margin-top: 10px; }
.poster-timeline input[type="range"] { width: 100%; accent-color: var(--accent-deep); cursor: pointer; }
.poster-timeline-labels { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 1px; color: var(--text-faint); font-size: 6px; }
.poster-timeline-labels strong { color: var(--text); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 7px; }
.poster-timeline-labels span:last-child { justify-self: end; }
.poster-seek-tools { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 4px; margin-top: 8px; }
.poster-seek-tools button,
.poster-ratio-tabs button,
.poster-smart-actions button { min-height: 29px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--text-soft); cursor: pointer; font-size: 7px; font-weight: 800; transition: border-color var(--transition), background var(--transition), color var(--transition), transform var(--transition); }
.poster-seek-tools button:hover,
.poster-ratio-tabs button:hover,
.poster-smart-actions button:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--text); transform: translateY(-1px); }
.poster-source-actions { display: grid; grid-template-columns: 1.15fr .85fr; gap: 6px; margin-top: 10px; }
.poster-source-actions .button { min-height: 38px; justify-content: center; font-size: 8px; }
.poster-file-button { cursor: pointer; }
.poster-source-help { margin: 7px 0 0; color: var(--text-faint); font-size: 7px; line-height: 1.4; }
.poster-focus-toolbar { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; margin-bottom: 8px; }
.poster-ratio-tabs,
.poster-smart-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.poster-ratio-tabs button.active { border-color: var(--accent-deep); background: var(--accent-soft); color: var(--accent-deep); }
.poster-smart-actions { justify-content: flex-end; }
.poster-smart-actions button:first-child { border-color: rgba(157,117,50,.26); background: #fff9ef; color: var(--accent-deep); }
.poster-focus-stage { position: relative; display: grid; width: min(100%, 430px); max-height: 500px; margin: 0 auto; place-items: center; overflow: hidden; border: 1px solid rgba(77,65,52,.17); border-radius: 14px; background: #171512; box-shadow: 0 15px 36px rgba(29,25,20,.09); cursor: grab; touch-action: none; user-select: none; outline: none; transition: aspect-ratio .22s ease; }
.poster-focus-stage.ratio-4-5 { aspect-ratio: 4/5; }
.poster-focus-stage.ratio-1-1 { aspect-ratio: 1/1; }
.poster-focus-stage.ratio-16-9 { aspect-ratio: 16/9; width: 100%; }
.poster-focus-stage.is-dragging { cursor: grabbing; box-shadow: 0 17px 44px rgba(29,25,20,.15); }
.poster-focus-stage:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.poster-focus-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.poster-focus-empty { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 5px; padding: 20px; color: rgba(255,255,255,.52); text-align: center; }
.poster-focus-empty[hidden] { display: none; }
.poster-focus-empty span { color: #d9bf94; font-size: 27px; }
.poster-focus-empty strong { color: rgba(255,255,255,.82); font-size: 10px; }
.poster-focus-empty small { max-width: 250px; color: rgba(255,255,255,.42); font-size: 7px; line-height: 1.45; }
.poster-focus-safe-zone { position: absolute; z-index: 3; top: 8%; left: 21%; width: 58%; height: 38%; border: 1px dashed rgba(255,255,255,.65); border-radius: 48% 48% 42% 42%; box-shadow: 0 0 0 1px rgba(0,0,0,.14); pointer-events: none; opacity: .72; }
.poster-focus-safe-zone i { position: absolute; top: 45%; left: 50%; width: 7px; height: 7px; transform: translate(-50%,-50%); border: 1px solid #fff; border-radius: 50%; box-shadow: 0 0 0 3px rgba(0,0,0,.18); }
.poster-focus-safe-zone small { position: absolute; top: 5px; left: 50%; transform: translateX(-50%); padding: 2px 5px; border-radius: 999px; background: rgba(10,9,8,.5); color: rgba(255,255,255,.8); font-size: 5px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.poster-focus-crosshair { position: absolute; z-index: 4; top: var(--poster-focus-y, 50%); left: var(--poster-focus-x, 50%); width: 17px; height: 17px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.92); border-radius: 50%; box-shadow: 0 0 0 3px rgba(157,117,50,.38), 0 2px 7px rgba(0,0,0,.25); pointer-events: none; }
.poster-focus-crosshair::before,
.poster-focus-crosshair::after { position: absolute; background: rgba(255,255,255,.9); content: ""; }
.poster-focus-crosshair::before { top: 50%; left: -5px; right: -5px; height: 1px; }
.poster-focus-crosshair::after { top: -5px; bottom: -5px; left: 50%; width: 1px; }
.poster-focus-drag-hint { position: absolute; z-index: 4; right: 7px; bottom: 7px; padding: 4px 6px; border-radius: 999px; background: rgba(17,16,15,.58); color: rgba(255,255,255,.67); font-size: 5.5px; font-weight: 800; letter-spacing: .04em; pointer-events: none; backdrop-filter: blur(6px); }
.poster-preview-strip { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: 6px; margin-top: 9px; }
.poster-preview-strip figure { min-width: 0; margin: 0; }
.poster-preview-frame { position: relative; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #171512; }
.poster-preview-frame.ratio-4-5 { aspect-ratio: 4/5; }
.poster-preview-frame.ratio-1-1 { aspect-ratio: 1/1; }
.poster-preview-frame.ratio-16-9 { aspect-ratio: 16/9; }
.poster-preview-frame img { width: 100%; height: 100%; object-fit: cover; }
.poster-preview-frame > span { color: rgba(255,255,255,.34); font-size: 15px; }
.poster-preview-frame > span[hidden] { display: none; }
.poster-preview-strip figcaption { margin-top: 3px; color: var(--text-faint); font-size: 6px; font-weight: 750; text-align: center; }
.poster-editor-savebar { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }
.poster-editor-save-copy { display: flex; min-width: 0; flex-direction: column; }
.poster-editor-save-copy span { color: var(--accent-deep); font-size: 7px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.poster-editor-save-copy small { margin-top: 2px; color: var(--text-faint); font-size: 6.5px; }
.poster-editor-save-actions { display: flex; gap: 5px; }
.poster-editor-save-actions .button { min-height: 36px; padding: 7px 10px; font-size: 8px; }

@media (max-width: 1180px) {
    .video-poster-editor { grid-template-columns: 170px minmax(0,1fr); }
    .poster-editor-workspace { grid-template-columns: 1fr; }
    .poster-focus-stage { width: min(100%, 520px); }
    .poster-preview-strip { width: min(100%, 620px); margin-inline: auto; }
}
@media (max-width: 820px) {
    .video-poster-page-header { align-items: flex-start; }
    .video-poster-editor { grid-template-columns: 1fr; }
    .poster-editor-summary { position: static; display: grid; grid-template-columns: 90px minmax(0,1fr); }
    .poster-editor-summary-preview { aspect-ratio: 1/1; }
    .poster-editor-summary-copy { justify-content: center; }
    .poster-editor-workspace { gap: 8px; }
    .poster-source-panel,
    .poster-focus-panel { padding: 11px; }
    .poster-editor-section-head h2 { font-size: 17px; }
    .poster-source-actions { grid-template-columns: 1fr 1fr; }
    .poster-focus-toolbar { grid-template-columns: 1fr; }
    .poster-smart-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
    .video-poster-page-header .page-header-actions { width: 100%; }
    .video-poster-page-header .button { width: 100%; justify-content: center; }
    .poster-editor-summary { grid-template-columns: 74px minmax(0,1fr); border-radius: 12px; }
    .poster-editor-section-head { grid-template-columns: 1fr; gap: 5px; }
    .poster-editor-time,
    .poster-focus-coordinates { width: fit-content; min-height: 25px; }
    .poster-video-shell { border-radius: 9px; }
    .poster-seek-tools { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .poster-source-actions { grid-template-columns: 1fr; }
    .poster-focus-stage { width: 100%; border-radius: 11px; }
    .poster-focus-stage.ratio-4-5 { max-height: 68dvh; }
    .poster-preview-strip { grid-template-columns: .8fr .8fr 1.4fr; gap: 4px; }
    .poster-editor-savebar { position: sticky; z-index: 8; bottom: 7px; grid-template-columns: 1fr; padding: 8px; border: 1px solid var(--line-strong); border-radius: 11px; background: rgba(255,255,255,.94); box-shadow: 0 10px 30px rgba(29,25,20,.11); backdrop-filter: blur(12px); }
    .poster-editor-save-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .poster-editor-save-actions .button { width: 100%; justify-content: center; }
}
.poster-custom-badge {
    position: absolute;
    z-index: 3;
    right: 7px;
    bottom: 7px;
    display: inline-flex;
    min-height: 19px;
    align-items: center;
    padding: 3px 6px;
    border: 1px solid rgba(224,198,155,.24);
    border-radius: 999px;
    background: rgba(20,17,14,.76);
    color: #e0c69b;
    font-size: 5.5px;
    font-weight: 900;
    letter-spacing: .08em;
    pointer-events: none;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}
.public-life-poster-link {
    display: flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    margin: 9px 10px 0;
    padding: 6px 9px;
    border: 1px solid rgba(185,152,93,.24);
    border-radius: 8px;
    background: var(--accent-soft);
    color: var(--accent-deep);
    font-size: 8px;
    font-weight: 850;
}
.public-life-poster-link:hover { border-color: rgba(185,152,93,.42); color: var(--text); }

/* SELECT 1.4.44 — Smart Storage optimization */
.smart-storage-badge {
    border-color: rgba(39,118,82,.2) !important;
    background: rgba(39,118,82,.055) !important;
    color: #3f6f50 !important;
}
.smart-storage-options {
    display: grid;
    grid-template-columns: minmax(260px,1.1fr) minmax(250px,1fr) minmax(250px,1fr);
    align-items: stretch;
    gap: 9px;
}
.smart-storage-options > * { margin: 0 !important; }
.callout-success {
    border-color: rgba(39,118,82,.18);
    background: rgba(39,118,82,.055);
}
.callout-success strong { color: #3f6f50; }
.storage-saving-badge {
    display: inline-flex;
    width: fit-content;
    min-height: 20px;
    align-items: center;
    margin-top: 5px;
    padding: 3px 6px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 6.5px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.storage-saving-badge.is-optimized {
    border-color: rgba(39,118,82,.18);
    background: rgba(39,118,82,.07);
    color: #3f6f50;
}
.storage-saving-badge.is-running {
    border-color: rgba(185,152,93,.22);
    background: rgba(185,152,93,.08);
    color: #8b6b34;
}
.storage-saving-badge.is-efficient {
    border-color: rgba(88,76,61,.12);
    background: rgba(88,76,61,.045);
    color: var(--text-faint);
}
.storage-optimizer-status .status-pill { align-self: center; }
@media (max-width: 980px) {
    .smart-storage-options { grid-template-columns: 1fr 1fr; }
    .smart-storage-options > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .smart-storage-options { grid-template-columns: 1fr; }
    .smart-storage-options > :first-child { grid-column: auto; }
}

/* SELECT 1.4.44 — Smart Storage settings */
.smart-storage-settings-card {
    margin-top: 14px;
    padding: 15px;
    border: 1px solid rgba(185,152,93,.2);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(245,240,232,.78), rgba(255,255,255,.92));
}
.smart-storage-settings-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.smart-storage-settings-head h3 { margin: 3px 0 4px; font-size: 15px; }
.smart-storage-settings-head p { max-width: 760px; margin: 0; color: var(--text-soft); font-size: 9.5px; line-height: 1.5; }
.smart-storage-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.smart-storage-settings-card .compact-callout { margin-top: 10px; }
@media (max-width: 700px) {
    .smart-storage-settings-head { flex-direction: column; gap: 8px; }
    .smart-storage-settings-grid { grid-template-columns: 1fr; }
}

/* SELECT Smart Storage Pro — retroactive image/video optimization */
.storage-pro-root {
    display: grid;
    gap: 12px;
}
.storage-pro-header {
    align-items: center;
    gap: 18px;
    margin-bottom: 12px;
}
.storage-pro-header h1 { font-size: clamp(27px, 2.7vw, 36px); line-height: 1; }
.storage-pro-header p { max-width: 790px; margin-top: 6px; font-size: 10.5px; line-height: 1.55; }
.storage-pro-header .page-header-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.storage-pro-header .button { min-height: 36px; padding: 7px 11px; font-size: 8.5px; }

.storage-pro-safety {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(38,118,83,.18);
    border-radius: 13px;
    background: linear-gradient(105deg, rgba(38,118,83,.07), rgba(255,255,255,.82) 72%);
}
.storage-pro-safety.is-paused { border-color: rgba(174,120,31,.2); background: linear-gradient(105deg, rgba(174,120,31,.08), rgba(255,255,255,.82) 72%); }
.storage-pro-safety-mark {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(25,34,29,.07);
    color: var(--success);
    font-size: 11px;
    font-weight: 900;
}
.storage-pro-safety.is-paused .storage-pro-safety-mark { color: var(--warning); }
.storage-pro-safety strong { display: block; margin-bottom: 1px; font-size: 10.5px; }
.storage-pro-safety p { margin: 0; color: var(--text-soft); font-size: 8.5px; line-height: 1.45; }
.storage-pro-safety > span:last-child {
    padding: 5px 8px;
    border: 1px solid rgba(38,118,83,.16);
    border-radius: 999px;
    color: var(--success);
    font-size: 6px;
    font-weight: 900;
    letter-spacing: .11em;
    white-space: nowrap;
}

.storage-pro-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}
.storage-pro-stats article {
    display: flex;
    min-height: 80px;
    flex-direction: column;
    justify-content: center;
    padding: 11px 13px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--surface);
    box-shadow: 0 7px 20px rgba(29,25,20,.035);
}
.storage-pro-stats article > span { color: var(--accent-deep); font-size: 6px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.storage-pro-stats strong { margin: 4px 0 1px; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; line-height: 1; }
.storage-pro-stats small { color: var(--text-faint); font-size: 7px; }
.storage-pro-stats-note { margin: -5px 2px 0; color: var(--text-faint); font-size: 7px; line-height: 1.4; }

.storage-pro-grid {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr);
    gap: 10px;
}
.storage-pro-root .panel {
    margin: 0;
    padding: 15px;
    border-radius: 15px;
}
.storage-pro-root .panel-heading { margin-bottom: 11px; }
.storage-pro-root .panel-heading h2 { font-size: 20px; }
.storage-pro-root .panel-heading p { margin-top: 4px; font-size: 9px; line-height: 1.45; }
.storage-pro-root .eyebrow { font-size: 6px; }

.storage-profile-form { display: grid; gap: 9px; }
.storage-profile-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.storage-profile-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 118px;
    flex-direction: column;
    padding: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface-soft);
    cursor: pointer;
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.storage-profile-card:hover { transform: translateY(-1px); border-color: var(--line-strong); box-shadow: var(--shadow-sm); }
.storage-profile-card.is-selected { border-color: rgba(185,152,93,.48); background: linear-gradient(145deg, rgba(185,152,93,.095), #fff 66%); box-shadow: 0 0 0 2px rgba(185,152,93,.09); }
.storage-profile-card input { position: absolute; opacity: 0; pointer-events: none; }
.storage-profile-check { position: absolute; top: 9px; right: 9px; display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: transparent; font-size: 8px; }
.storage-profile-card.is-selected .storage-profile-check { border-color: var(--accent); background: var(--surface-dark); color: #fff; }
.storage-profile-card strong { max-width: calc(100% - 24px); font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: 500; }
.storage-profile-card small { margin-top: 6px; color: var(--text-soft); font-size: 8px; line-height: 1.45; }
.storage-profile-card b { margin-top: auto; padding-top: 9px; color: var(--accent-deep); font-size: 6.5px; letter-spacing: .08em; text-transform: uppercase; }
.storage-profile-advanced { border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); }
.storage-profile-advanced > summary { padding: 9px 11px; cursor: pointer; color: var(--text-soft); font-size: 8px; font-weight: 800; list-style-position: inside; }
.storage-profile-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 0 10px 10px; }
.storage-profile-fields > label { display: grid; gap: 3px; }
.storage-profile-fields > label > span { color: var(--text-soft); font-size: 7px; font-weight: 800; }
.storage-profile-fields > label > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.storage-profile-fields input,
.storage-profile-fields select { min-height: 33px; padding: 6px 8px; border: 0; background: transparent; font-size: 9px; }
.storage-profile-fields i { padding-right: 8px; color: var(--text-faint); font-size: 6.5px; font-style: normal; }
.storage-original-default {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 8px;
    align-items: start;
    padding: 9px 10px;
    border: 1px solid rgba(174,120,31,.16);
    border-radius: 9px;
    background: rgba(174,120,31,.045);
}
.storage-original-default input { width: 16px; min-height: 16px; margin-top: 1px; }
.storage-original-default span { display: grid; gap: 2px; }
.storage-original-default strong { font-size: 8.5px; }
.storage-original-default small { color: var(--text-soft); font-size: 7px; line-height: 1.4; }

.storage-capability-list { display: grid; gap: 5px; }
.storage-capability-list article {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface-soft);
}
.storage-capability-list article > span { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 8px; background: #fff; color: var(--text-soft); font-size: 6px; font-weight: 900; letter-spacing: .05em; }
.storage-capability-list article strong { display: block; font-size: 8.5px; }
.storage-capability-list article small { display: block; margin-top: 1px; color: var(--text-faint); font-size: 6.5px; line-height: 1.35; }
.storage-capability-list article > i { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; font-size: 8px; font-style: normal; }
.storage-capability-list article.is-ready > i { background: var(--success-soft); color: var(--success); }
.storage-capability-list article.is-blocked > i { background: var(--danger-soft); color: var(--danger); }
.storage-browser-worker {
    display: grid;
    gap: 7px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid rgba(185,152,93,.18);
    border-radius: 10px;
    background: linear-gradient(130deg, rgba(185,152,93,.06), #fff 70%);
}
.storage-browser-worker > div:first-child { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: 7px; }
.storage-browser-worker > div:first-child .storage-worker-dot { grid-row: 1 / span 2; }
.storage-browser-worker strong { font-size: 9px; }
.storage-browser-worker small { color: var(--text-soft); font-size: 7px; line-height: 1.35; }
.storage-worker-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--text-faint); box-shadow: 0 0 0 4px rgba(100,94,86,.07); }
.storage-browser-worker.is-running .storage-worker-dot { background: var(--accent); animation: storagePulse 1.25s ease-in-out infinite; }
.storage-browser-worker.is-success .storage-worker-dot { background: var(--success); }
.storage-browser-worker.is-error .storage-worker-dot { background: var(--danger); }
.storage-browser-worker.is-waiting .storage-worker-dot { background: var(--warning); }
.storage-worker-progress { height: 4px; overflow: hidden; border-radius: 999px; background: var(--line); }
.storage-worker-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent-deep), var(--accent)); transition: width .25s ease; }
.storage-worker-actions { display: flex; gap: 5px; }
.storage-worker-actions .button { min-height: 32px; padding: 5px 8px; font-size: 7px; }
@keyframes storagePulse { 50% { transform: scale(.72); opacity: .58; } }

.storage-pro-batch-panel { display: grid; gap: 9px; }
.storage-candidate-pill { padding: 5px 8px; border: 1px solid rgba(185,152,93,.2); border-radius: 999px; background: var(--accent-soft); color: var(--accent-deep); font-size: 7px; font-weight: 850; white-space: nowrap; }
.storage-batch-form { display: grid; grid-template-columns: minmax(150px,.75fr) minmax(150px,.75fr) 1.2fr 1.1fr auto; align-items: end; gap: 7px; }
.storage-batch-form > label:not(.check-label) { display: grid; gap: 3px; }
.storage-batch-form > label > span { color: var(--text-soft); font-size: 7px; font-weight: 800; }
.storage-batch-form select { min-height: 34px; padding: 6px 8px; font-size: 9px; }
.storage-batch-check { min-height: 34px; align-items: center; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); font-size: 7px; }
.storage-batch-check input { width: 14px; min-height: 14px; }
.storage-batch-form .button { min-height: 34px; padding: 6px 10px; font-size: 8px; }

.storage-batch-list { display: grid; gap: 5px; }
.storage-batch-row { display: grid; grid-template-columns: minmax(230px,1.5fr) minmax(110px,.75fr) auto auto; align-items: center; gap: 9px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.storage-batch-main { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; min-width: 0; }
.storage-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--text-faint); }
.storage-batch-row.is-running .storage-status-dot,
.storage-batch-row.is-queued .storage-status-dot { background: var(--accent); }
.storage-batch-row.is-success .storage-status-dot { background: var(--success); }
.storage-batch-row.is-error .storage-status-dot { background: var(--danger); }
.storage-batch-main strong { display: block; font-size: 8px; }
.storage-batch-main small { display: block; overflow: hidden; color: var(--text-faint); font-size: 6.5px; text-overflow: ellipsis; white-space: nowrap; }
.storage-batch-meter { height: 4px; overflow: hidden; border-radius: 999px; background: var(--line); }
.storage-batch-meter i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.storage-batch-saving { color: var(--success); font-size: 7px; font-weight: 800; white-space: nowrap; }
.storage-batch-row > b { padding: 4px 6px; border-radius: 999px; background: var(--surface); color: var(--text-soft); font-size: 6px; white-space: nowrap; }

.storage-filter-form,
.storage-job-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 5px; }
.storage-filter-form input { width: min(220px,100%); }
.storage-filter-form input,
.storage-filter-form select,
.storage-job-filter select { min-height: 33px; padding: 6px 8px; font-size: 8.5px; }
.storage-selection-form { display: grid; gap: 8px; }
.storage-selection-toolbar {
    position: sticky;
    z-index: 6;
    top: 10px;
    display: grid;
    grid-template-columns: auto auto minmax(150px,.6fr) auto auto;
    align-items: center;
    gap: 7px;
    padding: 7px 8px;
    border: 1px solid var(--line-strong);
    border-radius: 10px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 9px 24px rgba(29,25,20,.06);
    backdrop-filter: blur(12px);
}
.storage-selection-toolbar .check-label { font-size: 7px; }
.storage-selection-toolbar > span { color: var(--text-soft); font-size: 8px; white-space: nowrap; }
.storage-selection-toolbar select { min-height: 32px; padding: 5px 7px; font-size: 8px; }
.storage-selection-toolbar .button { min-height: 32px; padding: 5px 8px; font-size: 7.5px; }
.storage-candidate-grid { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 5px; }
.storage-candidate-card { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); cursor: pointer; transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.storage-candidate-card:hover { transform: translateY(-1px); border-color: var(--line-strong); box-shadow: var(--shadow-sm); }
.storage-candidate-card > input { position: absolute; z-index: 4; top: 5px; left: 5px; width: 15px; min-height: 15px; }
.storage-candidate-thumb { position: relative; display: grid; aspect-ratio: 1 / 1; place-items: center; overflow: hidden; background: #ece8e2; color: var(--text-faint); }
.storage-candidate-thumb img { width: 100%; height: 100%; object-fit: cover; }
.storage-candidate-thumb > i { font-style: normal; }
.storage-candidate-thumb > b { position: absolute; right: 4px; bottom: 4px; padding: 2px 4px; border-radius: 5px; background: rgba(17,16,15,.72); color: #fff; font-size: 5px; letter-spacing: .07em; }
.storage-candidate-thumb > em { position: absolute; top: 4px; right: 4px; display: none; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--surface-dark); color: #fff; font-size: 7px; font-style: normal; }
.storage-candidate-card:has(> input:checked) { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(185,152,93,.12); }
.storage-candidate-card:has(> input:checked) .storage-candidate-thumb > em { display: grid; }
.storage-candidate-copy { display: flex; min-width: 0; flex-direction: column; padding: 6px; }
.storage-candidate-copy strong { overflow: hidden; font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.storage-candidate-copy small { margin-top: 1px; color: var(--text-faint); font-size: 6px; }
.storage-candidate-copy > span { margin-top: 3px; color: var(--text-soft); font-size: 5.5px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.storage-candidate-card.is-success .storage-candidate-copy > span { color: var(--success); }
.storage-candidate-card.is-error .storage-candidate-copy > span { color: var(--danger); }

.storage-job-list { display: grid; gap: 5px; }
.storage-job-row { display: grid; grid-template-columns: 38px minmax(0,1fr) auto auto auto; align-items: center; gap: 8px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.storage-job-thumb { display: grid; width: 38px; height: 38px; place-items: center; overflow: hidden; border-radius: 7px; background: #eae6df; color: var(--text-faint); font-size: 10px; }
.storage-job-thumb img { width: 100%; height: 100%; object-fit: cover; }
.storage-job-copy { min-width: 0; }
.storage-job-copy strong { display: block; overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.storage-job-copy small { display: block; margin-top: 1px; overflow: hidden; color: var(--text-faint); font-size: 6.5px; text-overflow: ellipsis; white-space: nowrap; }
.storage-job-copy > div { height: 3px; margin-top: 5px; overflow: hidden; border-radius: 999px; background: var(--line); }
.storage-job-copy > div i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.storage-job-row.is-success .storage-job-copy > div i { background: var(--success); }
.storage-job-row.is-error .storage-job-copy > div i { background: var(--danger); }
.storage-job-size { color: var(--text-soft); font-size: 7px; white-space: nowrap; }
.storage-job-row > b { padding: 4px 6px; border-radius: 999px; background: var(--surface); color: var(--text-soft); font-size: 6px; }
.storage-job-row form .text-button { font-size: 7px; }

@media (max-width: 1280px) {
    .storage-pro-grid { grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); }
    .storage-profile-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-batch-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-batch-form .button { grid-column: 1 / -1; }
    .storage-candidate-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
@media (max-width: 940px) {
    .storage-pro-grid { grid-template-columns: 1fr; }
    .storage-pro-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-batch-row { grid-template-columns: minmax(0,1fr) auto; }
    .storage-batch-meter { grid-column: 1 / -1; }
    .storage-candidate-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .storage-selection-toolbar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-selection-toolbar .button { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
    .storage-pro-header { align-items: flex-start; }
    .storage-pro-header .page-header-actions { width: 100%; }
    .storage-pro-header .page-header-actions form { flex: 1 1 0; }
    .storage-pro-header .page-header-actions .button { width: 100%; }
    .storage-pro-safety { grid-template-columns: auto minmax(0,1fr); }
    .storage-pro-safety > span:last-child { grid-column: 1 / -1; width: fit-content; }
    .storage-pro-root .panel { padding: 11px; }
    .storage-profile-cards { display: flex; margin-right: -8px; margin-left: -8px; padding: 0 8px 4px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
    .storage-profile-cards::-webkit-scrollbar { display: none; }
    .storage-profile-card { flex: 0 0 min(76vw,260px); scroll-snap-align: start; }
    .storage-profile-fields { grid-template-columns: 1fr; }
    .storage-batch-form { grid-template-columns: 1fr; }
    .storage-filter-form,
    .storage-job-filter { width: 100%; justify-content: stretch; }
    .storage-filter-form > *,
    .storage-job-filter > * { flex: 1 1 130px; }
    .storage-candidate-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .storage-job-row { grid-template-columns: 34px minmax(0,1fr) auto; }
    .storage-job-thumb { width: 34px; height: 34px; }
    .storage-job-size { grid-column: 2; }
    .storage-job-row > b { grid-column: 3; grid-row: 1; }
    .storage-job-row form { grid-column: 2 / -1; }
}
@media (max-width: 420px) {
    .storage-pro-stats { gap: 5px; }
    .storage-pro-stats article { min-height: 68px; padding: 9px; }
    .storage-pro-stats strong { font-size: 20px; }
    .storage-worker-actions { display: grid; grid-template-columns: 1fr; }
    .storage-candidate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-selection-toolbar { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .storage-worker-dot,
    .storage-profile-card,
    .storage-candidate-card { animation: none !important; transition: none !important; }
}

.poster-batch-page {
    display: grid;
    gap: 1rem;
}

.poster-batch-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .85fr);
    gap: 1rem;
}

.poster-batch-hero,
.poster-batch-sidecard,
.poster-batch-preview-panel {
    overflow: hidden;
}

.poster-batch-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: .25rem 0 1rem;
}

.poster-batch-stat-grid article,
.poster-batch-metrics div,
.poster-batch-breakdown div {
    border: 1px solid rgba(122, 143, 168, .18);
    background: rgba(245, 249, 255, .82);
    border-radius: 16px;
    padding: .8rem .9rem;
    display: grid;
    gap: .2rem;
}

.poster-batch-stat-grid strong,
.poster-batch-metrics strong,
.poster-batch-breakdown strong {
    font-size: 1.15rem;
}

.poster-batch-stat-grid span,
.poster-batch-metrics span,
.poster-batch-breakdown span {
    color: var(--color-text-soft);
    font-size: .82rem;
}

.poster-batch-controls {
    display: grid;
    gap: .85rem;
}

.check-label {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: .94rem;
    color: var(--color-text-soft);
}

.poster-batch-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.poster-batch-help {
    margin: 0;
    color: var(--color-text-soft);
    font-size: .86rem;
}

.poster-batch-progress-wrap {
    display: grid;
    gap: .7rem;
    padding: .95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(245, 249, 255, .9), rgba(238, 245, 252, .76));
    border: 1px solid rgba(122, 143, 168, .18);
}

.poster-batch-progress-head,
.poster-batch-counters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

.poster-batch-counters {
    justify-content: flex-start;
}

.poster-batch-counters span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .86rem;
    color: var(--color-text-soft);
}

.poster-batch-progress {
    position: relative;
    width: 100%;
    height: 11px;
    border-radius: 999px;
    background: rgba(24, 60, 102, .08);
    overflow: hidden;
}

.poster-batch-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #68a4ff, #2766dd);
}

.poster-batch-log {
    min-height: 2.8rem;
    padding: .8rem .9rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .8);
    color: var(--color-text-soft);
    font-size: .9rem;
    line-height: 1.45;
}

.poster-batch-feature-list {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: .55rem;
    color: var(--color-text-soft);
}

.poster-batch-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}

.poster-batch-preview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 1rem;
}

.poster-batch-current,
.poster-batch-device-previews {
    display: grid;
    gap: .85rem;
}

.poster-batch-file {
    display: grid;
    gap: .15rem;
}

.poster-batch-file small {
    color: var(--color-text-soft);
}

.poster-batch-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.poster-batch-comparison figure,
.poster-batch-device-previews figure {
    margin: 0;
    display: grid;
    gap: .45rem;
}

.poster-batch-comparison figcaption,
.poster-batch-device-previews figcaption {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-soft);
}

.poster-batch-shot,
.poster-batch-device {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(122, 143, 168, .18);
    background: linear-gradient(180deg, rgba(244, 248, 253, .96), rgba(235, 242, 250, .86));
    min-height: 190px;
    display: grid;
    place-items: center;
}

.poster-batch-shot img,
.poster-batch-device img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.poster-batch-device-desktop {
    min-height: 190px;
}

.poster-batch-device-mobile {
    min-height: 260px;
}

.poster-batch-shot span,
.poster-batch-device span {
    color: var(--color-text-soft);
    font-size: .9rem;
    text-align: center;
    padding: 0 1rem;
}

.poster-batch-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

@media (max-width: 1080px) {
    .poster-batch-grid,
    .poster-batch-preview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .poster-batch-stat-grid,
    .poster-batch-breakdown,
    .poster-batch-metrics,
    .poster-batch-comparison {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .poster-batch-stat-grid,
    .poster-batch-breakdown,
    .poster-batch-metrics,
    .poster-batch-comparison {
        grid-template-columns: 1fr;
    }

    .poster-batch-action-row,
    .poster-batch-progress-head {
        align-items: stretch;
        flex-direction: column;
    }
}

/* SELECT Public Life — exact video ordering */
.public-life-admin-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.public-life-order-panel {
    scroll-margin-top: 66px;
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 15px;
}

.public-life-order-panel .panel-heading {
    align-items: center;
    margin-bottom: 10px;
}

.public-life-order-panel .panel-heading h2 {
    font-size: 20px;
}

.public-life-order-panel .panel-heading p {
    max-width: 760px;
    margin-top: 4px;
    font-size: 9.5px;
    line-height: 1.45;
}

.public-life-order-panel .eyebrow {
    font-size: 6px;
}

.public-life-order-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.public-life-videos-first-toggle {
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface-soft);
}

.public-life-videos-first-toggle > span {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.public-life-videos-first-toggle strong {
    color: var(--text);
    font-size: 8px;
}

.public-life-videos-first-toggle small {
    color: var(--text-faint);
    font-size: 6px;
}

.public-life-order-save-state {
    display: inline-flex;
    min-width: 88px;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--text-faint);
    font-size: 7px;
    font-weight: 850;
    letter-spacing: .04em;
    white-space: nowrap;
}

.public-life-order-save-state.is-saving {
    border-color: rgba(185,152,93,.24);
    background: var(--accent-soft);
    color: var(--accent-deep);
}

.public-life-order-save-state.is-saved {
    border-color: rgba(38,118,83,.18);
    background: var(--success-soft);
    color: var(--success);
}

.public-life-order-save-state.is-error {
    border-color: rgba(184,72,65,.18);
    background: rgba(184,72,65,.07);
    color: var(--danger);
}

.public-life-order-list {
    display: grid;
    gap: 5px;
}

.public-life-order-item {
    display: grid;
    grid-template-columns: 34px 24px 86px minmax(0, 1fr) auto 30px;
    min-width: 0;
    align-items: center;
    gap: 8px;
    min-height: 66px;
    padding: 6px 7px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface);
    box-shadow: 0 5px 16px rgba(29,25,20,.025);
    transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.public-life-order-item:hover {
    border-color: var(--line-strong);
    box-shadow: var(--shadow-sm);
}

.public-life-order-item.is-dragging {
    opacity: .55;
    border-color: rgba(185,152,93,.42);
    box-shadow: 0 12px 28px rgba(29,25,20,.11);
}

.public-life-order-item.is-drag-over {
    border-color: var(--accent);
    background: var(--accent-soft);
}

.public-life-order-item.is-moved {
    animation: life-order-pulse .34s ease;
}

@keyframes life-order-pulse {
    0% { transform: scale(.99); }
    55% { transform: scale(1.008); }
    100% { transform: scale(1); }
}

.public-life-order-position {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: var(--surface-dark);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
}

.public-life-order-drag {
    display: grid;
    width: 22px;
    height: 30px;
    place-items: center;
    align-content: center;
    gap: 3px;
    cursor: grab;
    touch-action: none;
}

.public-life-order-drag:active {
    cursor: grabbing;
}

.public-life-order-drag i {
    display: block;
    width: 13px;
    height: 1px;
    border-radius: 2px;
    background: var(--text-faint);
}

.public-life-order-drag:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 5px;
}

.public-life-order-thumb {
    position: relative;
    display: grid;
    width: 86px;
    height: 52px;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    background: #1b1916;
    color: rgba(255,255,255,.58);
}

.public-life-order-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.public-life-order-thumb b {
    position: absolute;
    top: 4px;
    right: 4px;
    padding: 2px 4px;
    border-radius: 999px;
    background: rgba(17,16,15,.74);
    color: #e0c69b;
    font-size: 4.5px;
    letter-spacing: .08em;
}

.public-life-order-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.public-life-order-copy strong {
    overflow: hidden;
    color: var(--text);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-life-order-copy small {
    overflow: hidden;
    color: var(--text-faint);
    font-size: 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-life-order-copy em {
    width: fit-content;
    padding: 2px 4px;
    border-radius: 5px;
    background: var(--surface-soft);
    color: var(--text-soft);
    font-size: 6px;
    font-style: normal;
}

.public-life-order-actions {
    display: inline-flex;
    gap: 4px;
}

.public-life-order-actions button,
.public-life-order-edit {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: var(--surface-soft);
    color: var(--text-soft);
    font-size: 11px;
    cursor: pointer;
}

.public-life-order-actions button:hover,
.public-life-order-edit:hover {
    border-color: var(--line-strong);
    background: #fff;
    color: var(--accent-deep);
}

.public-life-order-actions button:disabled {
    opacity: .25;
    cursor: default;
}

.public-life-order-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid var(--line);
}

.public-life-order-footer > span {
    color: var(--text-faint);
    font-size: 7.5px;
}

.public-life-order-footer > span b {
    color: var(--text);
}

@media (max-width: 850px) {
    .public-life-admin-nav {
        grid-template-columns: repeat(4, minmax(108px, 1fr));
    }

    .public-life-order-panel .panel-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .public-life-order-head-actions {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 620px) {
    .public-life-order-panel {
        padding: 11px;
    }

    .public-life-order-item {
        grid-template-columns: 30px 70px minmax(0, 1fr) auto;
        gap: 6px;
        min-height: 60px;
        padding: 5px;
    }

    .public-life-order-drag {
        display: none;
    }

    .public-life-order-position {
        width: 27px;
        height: 27px;
        font-size: 10px;
    }

    .public-life-order-thumb {
        width: 70px;
        height: 46px;
    }

    .public-life-order-copy strong {
        font-size: 8px;
    }

    .public-life-order-actions {
        display: grid;
        grid-template-columns: repeat(2, 26px);
    }

    .public-life-order-actions button,
    .public-life-order-edit {
        width: 26px;
        height: 26px;
        font-size: 10px;
    }

    .public-life-order-edit {
        grid-column: 4;
        grid-row: 1;
        align-self: end;
        margin-bottom: 1px;
    }

    .public-life-order-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .public-life-order-footer .button {
        width: 100%;
    }

    .public-life-videos-first-toggle {
        flex: 1 1 auto;
    }

    .public-life-order-save-state {
        min-width: 78px;
    }
}
/* SELECT Smart Storage — private Portable FFmpeg runtime */
.storage-capability-list article.is-pending > i {
    background: var(--warning-soft);
    color: var(--warning);
}
.portable-ffmpeg-installer {
    display: grid;
    gap: 7px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid rgba(185, 152, 93, .22);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(255, 250, 240, .88), rgba(255, 255, 255, .9));
}
.portable-ffmpeg-installer.is-ready {
    border-color: rgba(38, 118, 83, .2);
    background: linear-gradient(135deg, rgba(241, 251, 246, .92), rgba(255, 255, 255, .92));
}
.portable-ffmpeg-installer.is-error {
    border-color: rgba(177, 74, 68, .2);
    background: linear-gradient(135deg, rgba(255, 245, 244, .92), rgba(255, 255, 255, .92));
}
.portable-ffmpeg-copy {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}
.portable-ffmpeg-copy .storage-worker-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 4px rgba(185, 152, 93, .1);
}
.portable-ffmpeg-installer[data-state="RUNNING"] .storage-worker-dot,
.portable-ffmpeg-installer[data-state="QUEUED"] .storage-worker-dot {
    animation: storagePulse 1.25s ease-in-out infinite;
}
.portable-ffmpeg-installer.is-ready .storage-worker-dot { background: var(--success); }
.portable-ffmpeg-installer.is-error .storage-worker-dot { background: var(--danger); }
.portable-ffmpeg-copy strong { display: block; font-size: 9px; }
.portable-ffmpeg-copy small { display: block; margin-top: 2px; color: var(--text-soft); font-size: 7px; line-height: 1.4; }
.portable-ffmpeg-progress {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--line);
}
.portable-ffmpeg-progress i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent-deep), var(--accent));
    transition: width .3s ease;
}
.portable-ffmpeg-installer.is-ready .portable-ffmpeg-progress i { background: linear-gradient(90deg, #2e7d55, #58a576); }
.portable-ffmpeg-installer.is-error .portable-ffmpeg-progress i { background: var(--danger); }
.portable-ffmpeg-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.portable-ffmpeg-actions > small {
    color: var(--text-faint);
    font-size: 6px;
    line-height: 1.35;
}
@media (max-width: 620px) {
    .portable-ffmpeg-actions { align-items: stretch; flex-direction: column; }
    .portable-ffmpeg-actions .button { width: 100%; }
}

/* Portable FFmpeg self-healing installer diagnostics */
.portable-ffmpeg-installer.is-stalled {
    border-color: rgba(214, 142, 61, .38);
    background: linear-gradient(180deg, rgba(255, 249, 239, .95), rgba(255, 253, 249, .98));
}
.portable-ffmpeg-installer.is-stalled .storage-worker-dot {
    background: #d58a2d;
    box-shadow: 0 0 0 4px rgba(213, 138, 45, .10);
}
.portable-ffmpeg-diagnostic {
    display: block;
    margin-top: 4px;
    color: var(--text-faint);
    font-size: 6.5px;
    line-height: 1.45;
    word-break: break-word;
}
.portable-ffmpeg-installer.is-error .portable-ffmpeg-diagnostic {
    color: #9f655e;
}

/* Smart Storage Health & Savings Center */
.storage-health-card {
    display: grid;
    gap: 10px;
    margin-top: 9px;
    padding: 14px;
    border: 1px solid rgba(83, 119, 97, .20);
    border-radius: 15px;
    background: linear-gradient(115deg, rgba(55,128,86,.07), rgba(255,255,255,.88) 66%);
    box-shadow: 0 8px 24px rgba(29,25,20,.04);
}
.storage-health-card.is-attention { border-color: rgba(174,120,31,.22); background: linear-gradient(115deg, rgba(174,120,31,.07), rgba(255,255,255,.88) 66%); }
.storage-health-card.is-blocked { border-color: rgba(167,66,54,.24); background: linear-gradient(115deg, rgba(167,66,54,.07), rgba(255,255,255,.88) 66%); }
.storage-health-main { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; }
.storage-health-score { display: grid; width: 62px; height: 62px; place-items: center; align-content: center; border: 1px solid rgba(55,128,86,.18); border-radius: 50%; background: #fff; color: var(--success); font-family: Georgia, "Times New Roman", serif; font-size: 21px; line-height: .9; box-shadow: 0 6px 18px rgba(29,25,20,.05); }
.storage-health-score small { margin-top: 4px; color: var(--text-faint); font-family: inherit; font-size: 7px; }
.storage-health-card.is-attention .storage-health-score { color: var(--warning); border-color: rgba(174,120,31,.22); }
.storage-health-card.is-blocked .storage-health-score { color: var(--danger); border-color: rgba(167,66,54,.22); }
.storage-health-copy h2 { margin: 2px 0 3px; font-size: 18px; }
.storage-health-copy p { max-width: 850px; margin: 0; color: var(--text-soft); font-size: 8.8px; line-height: 1.45; }
.storage-health-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.storage-health-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; }
.storage-health-metrics article { min-width: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.72); }
.storage-health-metrics span { display: block; color: var(--text-faint); font-size: 5.8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.storage-health-metrics strong { display: block; margin-top: 4px; overflow: hidden; color: var(--text); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.storage-health-metrics small { display: block; margin-top: 2px; overflow: hidden; color: var(--text-faint); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.storage-health-details { display: flex; flex-wrap: wrap; gap: 5px; }
.storage-health-details span { padding: 5px 7px; border-radius: 999px; background: var(--surface); color: var(--text-soft); font-size: 6.5px; line-height: 1.25; }
.storage-health-details .is-ok { background: var(--success-soft); color: var(--success); }
.storage-health-details .is-warning { background: rgba(174,120,31,.09); color: var(--warning); }
.storage-health-details .is-error { background: rgba(167,66,54,.09); color: var(--danger); }
.storage-pro-stats.storage-pro-stats-five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.storage-pro-stats article.is-saving { border-color: rgba(55,128,86,.18); background: linear-gradient(135deg, rgba(55,128,86,.055), #fff); }
.storage-pro-stats article.is-saving strong,
.storage-pro-stats article.is-saving small b { color: var(--success); }
.storage-pro-stats article.is-saving small b { font-weight: 850; }
.storage-pro-savings-history { grid-column: 1 / -1; }
.storage-savings-total { padding: 6px 8px; border-radius: 999px; background: var(--success-soft); color: var(--success); font-size: 7px; font-weight: 850; white-space: nowrap; }
.storage-savings-list { display: grid; gap: 5px; }
.storage-saving-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto 18px auto auto; align-items: center; gap: 7px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); }
.storage-saving-type { display: grid; width: 34px; height: 28px; place-items: center; border-radius: 7px; background: var(--surface); color: var(--accent-deep); font-size: 6px; font-weight: 900; letter-spacing: .08em; }
.storage-saving-row > div { min-width: 0; }
.storage-saving-row > div strong { display: block; overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.storage-saving-row > div small { display: block; margin-top: 1px; color: var(--text-faint); font-size: 6px; }
.storage-saving-before,
.storage-saving-after { color: var(--text-soft); font-size: 7px; white-space: nowrap; }
.storage-saving-after { color: var(--text); font-weight: 750; }
.storage-saving-arrow { color: var(--text-faint); font-size: 8px; }
.storage-saving-row > b { display: grid; min-width: 68px; padding: 4px 6px; border-radius: 8px; background: var(--success-soft); color: var(--success); font-size: 7px; text-align: right; }
.storage-saving-row > b small { display: block; margin-top: 1px; color: inherit; font-size: 5.5px; font-weight: 650; }
.storage-job-size { display: grid; justify-items: end; gap: 1px; }
.storage-job-size em { color: var(--success); font-size: 5.5px; font-style: normal; font-weight: 850; }

@media (max-width: 1180px) {
    .storage-health-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .storage-pro-stats.storage-pro-stats-five { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .storage-health-card { padding: 11px; }
    .storage-health-score { width: 52px; height: 52px; font-size: 18px; }
    .storage-health-copy h2 { font-size: 16px; }
    .storage-health-actions { display: grid; grid-template-columns: 1fr; }
    .storage-health-actions .button { width: 100%; }
    .storage-health-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-pro-stats.storage-pro-stats-five { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .storage-saving-row { grid-template-columns: 30px minmax(0,1fr) auto; }
    .storage-saving-type { width: 30px; }
    .storage-saving-before,
    .storage-saving-after,
    .storage-saving-arrow { display: none; }
    .storage-saving-row > b { grid-column: 3; grid-row: 1; }
}
@media (max-width: 420px) {
    .storage-health-main { grid-template-columns: 1fr; }
    .storage-health-score { width: 48px; height: 48px; }
    .storage-health-metrics { grid-template-columns: 1fr 1fr; }
}

/* Slow-network media continuity — visible progress and retry everywhere */
.media-continuation {
    position: relative;
    display: grid;
    gap: 9px;
    width: min(760px, 100%);
    margin: 18px auto 6px;
    padding: 12px 13px 11px;
    border: 1px solid rgba(138, 118, 87, .18);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,245,239,.92));
    box-shadow: 0 10px 26px rgba(45, 37, 27, .055);
}
.media-continuation.hidden { display: none !important; }
.media-continuation-main {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
}
.media-continuation-pulse {
    position: relative;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: rgba(169, 133, 68, .09);
}
.media-continuation-pulse::before,
.media-continuation-pulse i {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #aa8346;
    content: "";
}
.media-continuation-pulse::before { opacity: .22; transform: scale(1.8); }
.media-continuation.is-loading .media-continuation-pulse::before { animation: media-continuation-pulse 1.25s ease-out infinite; }
.media-continuation.is-error .media-continuation-pulse i { background: var(--danger, #a94f49); }
.media-continuation-copy { display: grid; min-width: 0; gap: 2px; }
.media-continuation-copy strong { color: var(--text, #231f1b); font-size: 10.5px; line-height: 1.25; }
.media-continuation-copy small { color: var(--text-faint, #8b8278); font-size: 8.5px; line-height: 1.35; }
.media-continuation-button { min-height: 34px; white-space: nowrap; }
.media-continuation-track {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(69, 59, 46, .09);
}
.media-continuation-track i {
    position: relative;
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ad8549, #d8b778);
    transition: width .28s ease;
}
.media-continuation.is-loading .media-continuation-track i::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    content: "";
    animation: media-continuation-shimmer 1.15s linear infinite;
}
.media-continuation-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-faint, #8b8278);
    font-size: 7px;
    line-height: 1.3;
}
.media-continuation.is-slow { border-color: rgba(190, 145, 74, .32); background: linear-gradient(180deg, #fffdf8, #fbf5e9); }
.media-continuation.is-error { border-color: rgba(169, 79, 73, .25); background: linear-gradient(180deg, #fffafa, #fff5f4); }

.media-network-pending { position: relative; }
.media-network-loader {
    position: absolute;
    z-index: 8;
    right: 7px;
    bottom: 7px;
    left: 7px;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.28);
    box-shadow: 0 1px 7px rgba(0,0,0,.12);
    pointer-events: none;
}
.media-network-loader i {
    display: block;
    width: 38%;
    height: 100%;
    border-radius: inherit;
    background: rgba(255,255,255,.92);
    animation: media-network-slide 1.1s ease-in-out infinite;
}
.media-network-error::after {
    position: absolute;
    z-index: 8;
    right: 7px;
    bottom: 7px;
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(82, 37, 33, .86);
    color: #fff;
    content: "↻";
    font-size: 8px;
    pointer-events: none;
}
@keyframes media-continuation-pulse { from { opacity:.34; transform:scale(1); } to { opacity:0; transform:scale(2.4); } }
@keyframes media-continuation-shimmer { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
@keyframes media-network-slide { 0% { transform:translateX(-110%); } 55%,100% { transform:translateX(265%); } }

@media (max-width: 620px) {
    .media-continuation { width: 100%; margin-top: 12px; padding: 10px; border-radius: 12px; }
    .media-continuation-main { grid-template-columns: auto minmax(0,1fr); gap: 8px; }
    .media-continuation-button { grid-column: 1 / -1; width: 100%; justify-content: center; }
    .media-continuation-pulse { width: 26px; height: 26px; }
    .media-continuation-copy strong { font-size: 10px; }
    .media-continuation-copy small { font-size: 8px; }
    .media-continuation-foot { align-items: flex-start; font-size: 6.5px; }
}
@media (prefers-reduced-motion: reduce) {
    .media-continuation.is-loading .media-continuation-pulse::before,
    .media-continuation.is-loading .media-continuation-track i::after,
    .media-network-loader i { animation: none; }
}
.global-media-network-status {
    position: fixed;
    z-index: 3200;
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 4px 10px;
    width: min(360px, calc(100vw - 28px));
    padding: 10px 11px 8px;
    border: 1px solid rgba(137, 111, 67, .22);
    border-radius: 13px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 15px 38px rgba(37, 30, 22, .16);
    backdrop-filter: blur(14px);
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}
.global-media-network-status.is-visible { opacity: 1; transform: translateY(0); }
.global-media-network-copy { display:grid; min-width:0; gap:1px; }
.global-media-network-copy strong { overflow:hidden; color:#30291f; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.global-media-network-copy small { color:#8b8278; font-size:7px; }
.global-media-network-percent { align-self:center; color:#9b7440; font-size:8px; font-weight:850; }
.global-media-network-track { grid-column:1/-1; height:3px; overflow:hidden; border-radius:999px; background:rgba(62,53,42,.09); }
.global-media-network-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#a77e42,#d8b778); transition:width .25s ease; }
@media(max-width:620px){.global-media-network-status{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);padding:9px 10px 7px}.global-media-network-copy strong{font-size:8.5px}.global-media-network-copy small{font-size:6.5px}}

/* Media Continuation V2 — in-place AJAX loading without page jumps */
.media-continuation {
    width: min(900px, 100%);
    margin: 18px auto 7px;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}
.media-continuation-surface {
    position: relative;
    display: grid;
    gap: 9px;
    padding: 13px 14px 11px;
    overflow: hidden;
    border: 1px solid rgba(132, 111, 78, .18);
    border-radius: 17px;
    background:
        radial-gradient(circle at 6% 0%, rgba(191, 153, 91, .08), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(249,246,240,.94));
    box-shadow: 0 14px 34px rgba(45, 37, 27, .07), inset 0 1px 0 rgba(255,255,255,.82);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease, opacity .22s ease;
}
.media-continuation-main {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto auto;
    align-items: center;
    gap: 10px;
}
.media-continuation-pulse {
    width: 34px;
    height: 34px;
    background: rgba(169, 133, 68, .1);
    box-shadow: inset 0 0 0 1px rgba(169,133,68,.08);
}
.media-continuation-pulse::before,
.media-continuation-pulse i { width: 8px; height: 8px; }
.media-continuation-copy strong { font-size: 11px; letter-spacing: -.005em; }
.media-continuation-copy small { font-size: 8.5px; }
.media-continuation-remaining {
    display: grid;
    min-width: 50px;
    justify-items: center;
    gap: 0;
    padding: 5px 8px;
    border: 1px solid rgba(169,133,68,.14);
    border-radius: 10px;
    background: rgba(169,133,68,.055);
    color: var(--accent-deep, #8f6c39);
    line-height: 1;
}
.media-continuation-remaining[hidden] { display: none !important; }
.media-continuation-remaining b { font-family: Georgia, "Times New Roman", serif; font-size: 14px; font-weight: 600; }
.media-continuation-remaining small { margin-top: 2px; color: var(--text-faint, #8b8278); font-size: 5.5px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.media-continuation-button {
    position: relative;
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 13px;
    overflow: hidden;
    border-color: rgba(62,52,40,.17);
    background: rgba(255,255,255,.78);
    color: var(--text, #231f1b);
    box-shadow: 0 7px 18px rgba(38,31,24,.055);
    white-space: nowrap;
}
.media-continuation-button:hover:not(:disabled) { border-color: rgba(169,133,68,.4); background: #fff; transform: translateY(-1px); }
.media-continuation-button-icon { color: #a77e42; font-size: 13px; transition: transform .2s ease; }
.media-continuation-button-spinner {
    display: none;
    width: 13px;
    height: 13px;
    border: 2px solid rgba(169,133,68,.2);
    border-top-color: #a77e42;
    border-radius: 50%;
    animation: media-continuation-spin .75s linear infinite;
}
.media-continuation.is-loading .media-continuation-button-icon { display: none; }
.media-continuation.is-loading .media-continuation-button-spinner { display: inline-block; }
.media-continuation-track { height: 5px; background: rgba(69,59,46,.085); }
.media-continuation-track i { background: linear-gradient(90deg, #9a7138 0%, #d8b778 72%, #ead5aa 100%); }
.media-continuation-foot { font-size: 7px; }
.media-continuation-skeletons {
    display: none;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 6px;
    padding-top: 1px;
}
.media-continuation.is-loading .media-continuation-skeletons { display: grid; }
.media-continuation-skeletons i {
    position: relative;
    display: block;
    height: 28px;
    overflow: hidden;
    border-radius: 8px;
    background: rgba(73,62,48,.07);
}
.media-continuation-skeletons i::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
    content: "";
    transform: translateX(-100%);
    animation: media-continuation-shimmer 1.05s linear infinite;
}
.media-continuation.is-added .media-continuation-surface { border-color: rgba(52,129,91,.3); box-shadow: 0 15px 36px rgba(45,37,27,.075), 0 0 0 3px rgba(52,129,91,.055); }
.media-continuation.is-added .media-continuation-pulse i { background: #43815e; }
.media-continuation.is-complete .media-continuation-surface { border-color: rgba(52,129,91,.25); background: linear-gradient(180deg, #fbfffc, #f2faf5); }
.media-continuation.is-complete .media-continuation-pulse i { background: #43815e; }
.media-continuation.is-error .media-continuation-surface { border-color: rgba(169,79,73,.3); }
@keyframes media-continuation-spin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
    .media-continuation { width: 100%; margin-top: 12px; }
    .media-continuation-surface { gap: 8px; padding: 11px; border-radius: 14px; }
    .media-continuation-main { grid-template-columns: auto minmax(0,1fr) auto; gap: 8px; }
    .media-continuation-remaining { min-width: 44px; padding: 5px 6px; }
    .media-continuation-button { grid-column: 1 / -1; width: 100%; min-height: 40px; }
    .media-continuation-skeletons { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .media-continuation-skeletons i:last-child { display: none; }
}
@media (max-width: 390px) {
    .media-continuation-main { grid-template-columns: auto minmax(0,1fr); }
    .media-continuation-remaining { display: none; }
    .media-continuation-copy strong { font-size: 10px; }
    .media-continuation-copy small { font-size: 7.5px; }
    .media-continuation-foot { font-size: 6.2px; }
    .media-continuation-skeletons { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .media-continuation-skeletons i:nth-child(n+4) { display: none; }
}

/* SELECT 1.4.47 — Modern AJAX media continuation (no reload, no scroll jump) */
.media-continuation {
    position: relative;
    display: grid;
    width: min(100%, 980px);
    gap: 11px;
    margin: 20px auto 0;
    padding: 15px 16px 13px;
    overflow: hidden;
    border: 1px solid rgba(111, 91, 67, .15);
    border-radius: 20px;
    background:
        radial-gradient(circle at 88% 12%, rgba(185, 152, 93, .10), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(248,245,240,.96));
    box-shadow: 0 18px 48px rgba(35, 29, 23, .07), inset 0 1px 0 rgba(255,255,255,.88);
    scroll-margin-bottom: 28px;
}
.media-continuation::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.44);
    content: "";
    pointer-events: none;
}
.media-continuation.hidden { display: none !important; }
.media-continuation-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto auto;
    align-items: center;
    gap: 11px;
}
.media-continuation-pulse {
    position: relative;
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border: 1px solid rgba(185,152,93,.12);
    border-radius: 14px;
    background: rgba(185,152,93,.09);
}
.media-continuation-pulse::before,
.media-continuation-pulse i,
.media-continuation-pulse b {
    position: absolute;
    border-radius: 50%;
    content: "";
}
.media-continuation-pulse::before {
    width: 19px;
    height: 19px;
    border: 1px solid rgba(185,152,93,.18);
}
.media-continuation-pulse i {
    width: 8px;
    height: 8px;
    background: linear-gradient(145deg, #d7b675, #9d7533);
    box-shadow: 0 0 0 4px rgba(185,152,93,.11);
}
.media-continuation-pulse b {
    width: 29px;
    height: 29px;
    border: 1px solid transparent;
    border-top-color: rgba(185,152,93,.55);
    opacity: 0;
}
.media-continuation.is-loading .media-continuation-pulse b {
    opacity: 1;
    animation: media-continuation-spin .9s linear infinite;
}
.media-continuation-copy { display: grid; min-width: 0; gap: 3px; }
.media-continuation-copy strong {
    overflow: hidden;
    color: var(--text, #231f1b);
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.media-continuation-copy small { color: var(--text-faint, #8b8278); font-size: 8px; line-height: 1.35; }
.media-continuation-remaining {
    display: grid;
    min-width: 54px;
    place-items: center;
    padding: 6px 9px;
    border: 1px solid rgba(111,91,67,.10);
    border-radius: 11px;
    background: rgba(255,255,255,.62);
    line-height: 1;
}
.media-continuation-remaining[hidden] { display: none !important; }
.media-continuation-remaining b { color: var(--text, #231f1b); font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: 500; }
.media-continuation-remaining small { margin-top: 3px; color: var(--text-faint, #8b8278); font-size: 5.5px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.media-continuation-button {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 8px 13px;
    border-radius: 12px;
    white-space: nowrap;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.media-continuation-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 9px 22px rgba(35,29,23,.08); }
.media-continuation-button-arrow { color: var(--accent-deep, #8b6b34); font-size: 13px; transition: transform .18s ease; }
.media-continuation-button:hover .media-continuation-button-arrow { transform: translateX(2px); }
.media-continuation-button-spinner {
    display: none;
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: media-continuation-spin .72s linear infinite;
}
.media-continuation.is-loading .media-continuation-button-arrow { display: none; }
.media-continuation.is-loading .media-continuation-button-spinner { display: inline-block; }
.media-continuation-track {
    position: relative;
    z-index: 1;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(63,53,43,.08);
}
.media-continuation-track i {
    position: relative;
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #8d6b33, #caa963 55%, #e0c995);
    box-shadow: 0 0 18px rgba(185,152,93,.22);
    transition: width .45s cubic-bezier(.2,.78,.25,1);
}
.media-continuation-track b {
    position: absolute;
    inset: 0;
    opacity: 0;
    background: linear-gradient(100deg, transparent 15%, rgba(255,255,255,.66) 48%, transparent 82%);
    transform: translateX(-100%);
}
.media-continuation.is-loading .media-continuation-track b { opacity: 1; animation: media-continuation-sweep 1.25s ease-in-out infinite; }
.media-continuation-foot {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--text-faint, #8b8278);
    font-size: 6.5px;
    font-weight: 750;
    letter-spacing: .015em;
}
.media-continuation-network { display: inline-flex; min-width: 0; align-items: center; gap: 6px; }
.media-continuation-network > i {
    width: 5px;
    height: 5px;
    flex: 0 0 5px;
    border-radius: 50%;
    background: #57a37a;
    box-shadow: 0 0 0 3px rgba(87,163,122,.08);
}
.media-continuation.is-slow .media-continuation-network > i { background: #c69d55; box-shadow: 0 0 0 3px rgba(198,157,85,.10); }
.media-continuation.is-error .media-continuation-network > i { background: #b55c56; box-shadow: 0 0 0 3px rgba(181,92,86,.10); }
.media-continuation-skeletons {
    position: relative;
    z-index: 1;
    display: none;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 7px;
}
.media-continuation-skeletons i {
    display: block;
    height: 44px;
    overflow: hidden;
    border-radius: 9px;
    background: linear-gradient(100deg, rgba(68,56,44,.05) 18%, rgba(255,255,255,.78) 45%, rgba(68,56,44,.05) 72%);
    background-size: 220% 100%;
    animation: media-continuation-skeleton 1.25s linear infinite;
}
.media-continuation.is-loading .media-continuation-skeletons { display: grid; }
.media-continuation.is-added { animation: media-continuation-confirm .72s ease both; }
.media-continuation.is-complete { border-color: rgba(57,130,90,.24); background: linear-gradient(145deg, rgba(247,253,249,.98), rgba(240,249,244,.96)); }
.media-continuation.is-error { border-color: rgba(169,79,73,.25); background: linear-gradient(145deg, #fffafa, #fff5f4); }
.media-continuation.is-slow:not(.is-error) { border-color: rgba(190,145,74,.26); }
.life-media-grid[aria-busy="true"] { contain: layout style; }
.life-media-card.is-new { opacity: 0; transform: translateY(14px) scale(.985); }
.life-media-card { transition: opacity .34s ease, transform .34s ease, border-color .22s ease, box-shadow .22s ease; }
.life-noscript-more { margin-top: 14px; text-align: center; }
.life-noscript-more a { color: var(--landing-gold-light, #e0c69b); font-size: 10px; font-weight: 800; }
@keyframes media-continuation-spin { to { transform: rotate(360deg); } }
@keyframes media-continuation-sweep { to { transform: translateX(100%); } }
@keyframes media-continuation-skeleton { to { background-position: -220% 0; } }
@keyframes media-continuation-confirm {
    0% { box-shadow: 0 18px 48px rgba(35,29,23,.07), 0 0 0 0 rgba(87,163,122,.18); }
    45% { box-shadow: 0 18px 48px rgba(35,29,23,.07), 0 0 0 5px rgba(87,163,122,.08); }
    100% { box-shadow: 0 18px 48px rgba(35,29,23,.07), 0 0 0 0 rgba(87,163,122,0); }
}
@media (max-width: 700px) {
    .media-continuation { width: 100%; gap: 9px; margin-top: 14px; padding: 12px; border-radius: 16px; }
    .media-continuation-main { grid-template-columns: auto minmax(0,1fr) auto; gap: 8px; }
    .media-continuation-pulse { width: 34px; height: 34px; border-radius: 12px; }
    .media-continuation-copy strong { font-size: 10px; white-space: normal; }
    .media-continuation-copy small { font-size: 7.5px; }
    .media-continuation-remaining { min-width: 46px; padding: 5px 7px; }
    .media-continuation-button { grid-column: 1 / -1; width: 100%; min-height: 42px; }
    .media-continuation-skeletons { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .media-continuation-skeletons i { height: 36px; }
    .media-continuation-foot { align-items: flex-start; font-size: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .media-continuation *,
    .life-media-card { animation: none !important; transition: none !important; }
}

/* SELECT 1.4.45 — project/source package analyzer + gallery availability */
.project-package-header { align-items: center; margin-bottom: 11px; }
.project-package-header h1 { font-size: clamp(26px,2.5vw,34px); }
.project-package-header p { max-width: 860px; font-size: 10px; line-height: 1.5; }
.project-package-header .page-header-actions { flex-wrap: wrap; gap: 6px; }
.project-package-callout { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; margin-bottom:9px; padding:11px 12px; border:1px solid rgba(44,108,172,.18); border-radius:13px; background:linear-gradient(105deg,rgba(228,240,255,.82),rgba(255,255,255,.94)); }
.project-package-callout-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:#18283b; color:#fff; font-size:7px; font-weight:900; letter-spacing:.08em; }
.project-package-callout strong { display:block; font-size:10px; }
.project-package-callout p { margin:2px 0 0; color:var(--text-soft); font-size:8.5px; line-height:1.42; }
.project-package-estimate { padding:5px 8px; border-radius:999px; background:#fff; color:var(--accent-deep); font-size:7px; font-weight:900; white-space:nowrap; }
.project-package-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-bottom:9px; }
.project-package-stats article { display:flex; min-height:78px; flex-direction:column; justify-content:center; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 6px 18px rgba(29,25,20,.03); }
.project-package-stats article.is-source { border-color:rgba(44,108,172,.18); background:rgba(228,240,255,.38); }
.project-package-stats article.is-saving { border-color:rgba(38,118,83,.18); background:var(--success-soft); }
.project-package-stats span { color:var(--accent-deep); font-size:6px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.project-package-stats strong { margin:5px 0 2px; font-family:Georgia,"Times New Roman",serif; font-size:23px; font-weight:500; }
.project-package-stats small { color:var(--text-faint); font-size:6.5px; }
.project-package-columns { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:9px; margin-bottom:9px; }
.project-package-panel,.project-package-rules { margin:0; padding:15px; border-radius:15px; }
.project-package-panel .panel-heading,.project-package-rules .panel-heading { margin-bottom:10px; }
.project-package-panel h2,.project-package-rules h2 { font-size:19px; }
.project-package-panel .panel-heading p { margin-top:3px; font-size:8.5px; }
.project-file-table { display:grid; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.project-file-row { display:grid; grid-template-columns:minmax(0,1fr) 86px 72px; align-items:center; gap:8px; min-height:43px; padding:6px 8px; border-bottom:1px solid var(--line); background:var(--surface); }
.project-file-row:last-child { border-bottom:0; }
.project-file-head { min-height:30px; background:var(--surface-soft); color:var(--text-faint); font-size:6px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.project-file-path { display:flex; min-width:0; flex-direction:column; gap:1px; }
.project-file-path code { overflow:hidden; color:var(--text); font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.project-file-path small { color:var(--text-faint); font-size:6px; }
.project-file-row > strong { font-size:7px; text-align:right; }
.project-file-state { padding:3px 5px; border-radius:999px; font-size:5.5px; font-weight:900; text-align:center; text-transform:uppercase; }
.project-file-state.is-included { background:rgba(44,108,172,.08); color:#356da8; }
.project-file-state.is-excluded { background:var(--success-soft); color:var(--success); }
.project-directory-list { display:grid; gap:5px; }
.project-directory-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:8px 9px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.project-directory-list article.is-excluded { border-color:rgba(38,118,83,.16); background:rgba(38,118,83,.035); }
.project-directory-list span { display:flex; min-width:0; flex-direction:column; }
.project-directory-list code { overflow:hidden; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.project-directory-list small { margin-top:1px; color:var(--success); font-size:5.5px; font-weight:800; }
.project-directory-list strong { font-size:7px; white-space:nowrap; }
.project-package-rule-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.project-package-rule-grid article { padding:9px; border-radius:9px; background:var(--surface-soft); }
.project-package-rule-grid article > span { color:var(--accent-deep); font-size:6px; font-weight:900; }
.project-package-rule-grid strong { display:block; margin:4px 0 2px; font-size:8px; }
.project-package-rule-grid p { margin:0; color:var(--text-soft); font-size:6.5px; line-height:1.4; }
.project-package-rule-grid code { font-size:6px; }
.gallery-status-toggle-form { display:inline-flex; }
.gallery-status-toggle,.folder-status-toggle,.folder-mini-toggle { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:4px 7px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); cursor:pointer; font-size:6px; font-weight:850; }
.gallery-status-toggle > span,.folder-status-toggle > span,.folder-mini-toggle > span { position:relative; width:24px; height:13px; flex:0 0 24px; border-radius:999px; background:#c8c2ba; }
.gallery-status-toggle > span::after,.folder-status-toggle > span::after,.folder-mini-toggle > span::after { position:absolute; top:2px; left:2px; width:9px; height:9px; border-radius:50%; background:#fff; content:""; box-shadow:0 1px 3px rgba(0,0,0,.14); transition:transform .16s ease; }
.gallery-status-toggle.is-active,.folder-status-toggle.is-active,.folder-mini-toggle.is-active { border-color:rgba(38,118,83,.2); color:var(--success); }
.gallery-status-toggle.is-active > span,.folder-status-toggle.is-active > span,.folder-mini-toggle.is-active > span { background:#69a97f; }
.gallery-status-toggle.is-active > span::after,.folder-status-toggle.is-active > span::after,.folder-mini-toggle.is-active > span::after { transform:translateX(11px); }
.gallery-availability-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; padding:8px 10px; border:1px solid var(--line); border-radius:11px; background:var(--surface-soft); }
.gallery-availability-bar.is-active { border-color:rgba(38,118,83,.18); background:var(--success-soft); }
.gallery-availability-bar.is-inactive { border-color:rgba(177,119,41,.2); background:var(--warning-soft); }
.gallery-availability-bar > div { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 6px; }
.gallery-availability-bar > div > span { grid-row:1 / 3; color:var(--success); font-size:10px; }
.gallery-availability-bar.is-inactive > div > span { color:var(--warning); }
.gallery-availability-bar strong { font-size:8.5px; }
.gallery-availability-bar small { color:var(--text-soft); font-size:6.5px; }
.folder-status-inline-form { display:inline-flex; }
.admin-folder-card.is-inactive { opacity:.64; border-style:dashed; }
.admin-folder-status-badge { position:absolute; top:6px; right:6px; padding:3px 5px; border-radius:999px; background:rgba(17,16,15,.74); color:#fff; font-size:5px; font-weight:900; letter-spacing:.08em; }
.admin-folder-status-badge.is-active { color:#b8e0c4; }
.admin-folder-status-badge.is-inactive { color:#f2c3ab; }
.admin-folder-card-actions { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:5px; }
.folder-mini-toggle { min-height:24px; padding:3px 5px; }
.folder-mini-toggle > span { width:20px; height:11px; flex-basis:20px; }
.folder-mini-toggle > span::after { width:7px; height:7px; }
.folder-mini-toggle.is-active > span::after { transform:translateX(9px); }
@media (max-width:980px) { .project-package-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.project-package-columns{grid-template-columns:1fr}.project-package-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:650px) { .project-package-header{align-items:flex-start}.project-package-header .page-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.project-package-header .page-header-actions form,.project-package-header .page-header-actions .button{width:100%}.project-package-callout{grid-template-columns:auto 1fr}.project-package-estimate{grid-column:1 / -1;width:fit-content}.project-file-row{grid-template-columns:minmax(0,1fr) 68px}.project-file-head span:last-child,.project-file-state{display:none}.project-package-rule-grid{grid-template-columns:1fr}.gallery-availability-bar{align-items:stretch;flex-direction:column}.gallery-availability-bar .button{width:100%}.admin-folder-card-actions{align-items:stretch;flex-direction:column}.folder-mini-toggle{width:100%;justify-content:center} }

.poster-editor-panel,
.poster-batch-panel {
    display: grid;
    gap: 1rem;
}
.poster-editor-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}
.poster-editor-meta span,
.poster-batch-counter {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem .65rem;
    border: 1px solid rgba(164, 119, 52, .18);
    border-radius: 999px;
    background: rgba(255, 250, 244, .95);
    color: #8a6329;
    font-size: .78rem;
    font-weight: 700;
}
.poster-editor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.poster-preview-card {
    border: 1px solid rgba(164, 119, 52, .12);
    border-radius: 22px;
    background: rgba(255,255,255,.95);
    padding: 1rem;
    display: grid;
    gap: .85rem;
}
.poster-preview-card header,
.poster-batch-summary {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: center;
}
.poster-preview-card header small,
.poster-batch-summary small {
    color: #8f7755;
    font-size: .75rem;
    font-weight: 700;
}
.poster-preview-frame {
    position: relative;
    aspect-ratio: 16 / 10;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, #17110a, #2d2012 55%, #120c06);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 260px;
}
.poster-preview-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.poster-preview-frame span {
    color: rgba(255,255,255,.85);
    font-size: .92rem;
    text-align: center;
    padding: 1rem;
}
.poster-focus-target {
    position: absolute;
    width: 28px;
    height: 28px;
    margin-left: -14px;
    margin-top: -14px;
    border-radius: 999px;
    border: 3px solid rgba(255,255,255,.95);
    box-shadow: 0 0 0 2px rgba(164,119,52,.68);
    background: rgba(164,119,52,.18);
    pointer-events: none;
}
.poster-focus-target.hidden {
    display: none;
}
.poster-editor-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.poster-editor-status {
    color: #6f5838;
    font-weight: 600;
}
.poster-batch-stage {
    display: grid;
    gap: 1rem;
}
.poster-batch-summary {
    padding: .85rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(164, 119, 52, .12);
    background: rgba(255,252,248,.98);
}
@media (max-width: 860px) {
    .poster-editor-grid {
        grid-template-columns: 1fr;
    }
    .poster-editor-actions,
    .poster-preview-card header,
    .poster-batch-summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .poster-preview-frame {
        min-height: 220px;
    }
}


/* SELECT Admin — fast video review player */
.admin-media-thumb { position: relative; }
.admin-video-open-button {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    opacity: 0;
    transition: opacity .16s ease, background .16s ease;
}
.admin-video-open-button::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7,6,5,.02), rgba(7,6,5,.48));
    content: '';
}
.admin-video-open-button span,
.admin-video-open-button b { position: relative; z-index: 1; }
.admin-video-open-button span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding-left: 2px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%;
    background: rgba(17,16,15,.63);
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
    backdrop-filter: blur(8px);
    font-size: 11px;
}
.admin-video-open-button b {
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(17,16,15,.62);
    font-size: 6px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}
.admin-media-thumb:hover .admin-video-open-button,
.admin-video-open-button:focus-visible { opacity: 1; }
.admin-video-open-button:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.media-select-control,
.admin-media-thumb > small,
.admin-media-thumb .poster-custom-badge,
.admin-media-thumb .moment-badge { z-index: 6; }

html.admin-video-viewer-open { overflow: hidden; }
.admin-video-viewer[hidden] { display: none !important; }
.admin-video-viewer {
    position: fixed;
    z-index: 8000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}
.admin-video-viewer-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(8,7,6,.88);
    backdrop-filter: blur(14px);
    cursor: default;
}
.admin-video-viewer-dialog {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(1320px, 100%);
    max-height: calc(100dvh - 36px);
    grid-template-rows: auto minmax(0,1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: #13110f;
    box-shadow: 0 38px 120px rgba(0,0,0,.5);
    color: #fff;
}
.admin-video-viewer-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 13px 10px 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: #171411;
}
.admin-video-viewer-heading { min-width: 0; }
.admin-video-viewer-heading .eyebrow { color: #d4b982; font-size: 6px; }
.admin-video-viewer-heading h2 {
    margin: 3px 0 1px;
    color: #fff;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 20px;
    font-weight: 500;
}
.admin-video-viewer-heading p {
    max-width: 760px;
    margin: 0;
    overflow: hidden;
    color: rgba(255,255,255,.46);
    font-size: 7.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-video-viewer-header-actions { display: flex; gap: 5px; }
.admin-video-nav-button,
.admin-video-close-button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.72);
    cursor: pointer;
    font-size: 15px;
}
.admin-video-close-button { font-size: 21px; line-height: 1; }
.admin-video-nav-button:hover,
.admin-video-close-button:hover { border-color: rgba(224,198,155,.28); background: rgba(224,198,155,.08); color: #fff; }
.admin-video-nav-button:disabled { opacity: .22; cursor: default; }

.admin-video-viewer-main {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 300px;
    overflow: hidden;
}
.admin-video-player-shell {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: min(68dvh, 720px);
    place-items: center;
    overflow: hidden;
    background: #050505;
}
.admin-video-player-shell video {
    width: 100%;
    height: 100%;
    max-height: min(72dvh, 760px);
    object-fit: contain;
    background: #050505;
}
.admin-video-player-loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 30px;
    background: #080706;
    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 750;
    text-align: center;
}
.admin-video-player-loading[hidden] { display: none; }
.admin-video-viewer-sidebar {
    min-width: 0;
    overflow-y: auto;
    border-left: 1px solid rgba(255,255,255,.08);
    background: #171411;
    padding: 11px;
}
.admin-video-quick-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin-bottom: 8px;
}
.admin-video-quick-facts span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 7px 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}
.admin-video-quick-facts b { color: rgba(255,255,255,.35); font-size: 5.5px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-video-quick-facts strong { margin-top: 2px; overflow: hidden; color: rgba(255,255,255,.85); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.admin-video-action-card {
    display: grid;
    gap: 7px;
    margin-top: 7px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
}
.admin-video-action-card header { display: flex; flex-direction: column; gap: 2px; }
.admin-video-action-card header strong { color: #fff; font-size: 9px; }
.admin-video-action-card header small { color: rgba(255,255,255,.38); font-size: 6.5px; line-height: 1.4; }
.admin-video-action-card label { display: flex; flex-direction: column; gap: 3px; }
.admin-video-action-card label > span { color: rgba(255,255,255,.45); font-size: 6px; font-weight: 800; }
.admin-video-action-card select {
    min-height: 34px;
    padding: 5px 8px;
    border-color: rgba(255,255,255,.11);
    background: #211d18;
    color: #fff;
    font-size: 8px;
}
.admin-video-action-card .button { min-height: 34px; font-size: 7px; }
.admin-video-action-card.is-tools { margin-top: 7px; }
.admin-video-action-note { margin: 0; color: rgba(255,255,255,.34); font-size: 6px; line-height: 1.45; }
.admin-video-viewer-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 34px;
    padding: 7px 14px;
    border-top: 1px solid rgba(255,255,255,.08);
    background: #171411;
    color: rgba(255,255,255,.34);
    font-size: 6px;
    letter-spacing: .03em;
}

@media (hover: none), (max-width: 760px) {
    .admin-video-open-button { opacity: 1; }
    .admin-video-open-button b { display: none; }
    .admin-video-open-button::before { background: linear-gradient(180deg, transparent 45%, rgba(7,6,5,.22)); }
    .admin-video-open-button span { width: 34px; height: 34px; font-size: 9px; }
}
@media (max-width: 900px) {
    .admin-video-viewer { padding: 8px; }
    .admin-video-viewer-dialog { max-height: calc(100dvh - 16px); border-radius: 15px; }
    .admin-video-viewer-main { grid-template-columns: 1fr; overflow-y: auto; }
    .admin-video-player-shell { min-height: min(54dvh, 520px); }
    .admin-video-player-shell video { max-height: 56dvh; }
    .admin-video-viewer-sidebar { overflow: visible; border-top: 1px solid rgba(255,255,255,.08); border-left: 0; }
}
@media (max-width: 560px) {
    .admin-video-viewer { padding: 0; }
    .admin-video-viewer-dialog { width: 100%; min-height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
    .admin-video-viewer-header { padding: 9px 9px 8px 11px; }
    .admin-video-viewer-heading h2 { font-size: 16px; }
    .admin-video-viewer-heading p { max-width: 58vw; }
    .admin-video-nav-button,
    .admin-video-close-button { width: 31px; height: 31px; }
    .admin-video-player-shell { min-height: 46dvh; }
    .admin-video-player-shell video { max-height: 48dvh; }
    .admin-video-viewer-sidebar { padding: 8px; }
    .admin-video-quick-facts { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 4px; }
    .admin-video-quick-facts span { padding: 6px 5px; }
    .admin-video-quick-facts b { font-size: 4.8px; }
    .admin-video-quick-facts strong { font-size: 6.5px; }
    .admin-video-action-card { padding: 8px; }
    .admin-video-viewer-footer { padding: 6px 9px; }
    .admin-video-viewer-footer span:last-child { display: none; }
}

/* SELECT Smart Video Poster — server-side background queue */
.poster-background-root { display:grid; gap:9px; }
.poster-background-readiness { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.poster-background-readiness.is-ready { border-color:rgba(38,118,83,.2); background:var(--success-soft); }
.poster-background-readiness.is-warning { border-color:rgba(177,119,41,.2); background:var(--warning-soft); }
.poster-background-readiness-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:9px; background:#fff; color:var(--success); font-size:10px; font-weight:900; }
.poster-background-readiness.is-warning .poster-background-readiness-icon { color:var(--warning); }
.poster-background-readiness strong { display:block; font-size:9px; }
.poster-background-readiness p { margin:2px 0 0; color:var(--text-soft); font-size:7px; line-height:1.4; }
.poster-background-readiness > b { padding:5px 8px; border-radius:999px; background:#fff; color:var(--text-soft); font-size:6px; white-space:nowrap; }
.poster-background-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.poster-background-stats article { min-height:72px; padding:9px 10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.poster-background-stats article.is-running { border-color:rgba(185,152,93,.2); background:var(--accent-soft); }
.poster-background-stats article.is-success { border-color:rgba(38,118,83,.18); background:var(--success-soft); }
.poster-background-stats article.is-error { border-color:rgba(184,72,65,.14); }
.poster-background-stats span { display:block; color:var(--accent-deep); font-size:5.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.poster-background-stats strong { display:block; margin:5px 0 2px; font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:500; }
.poster-background-stats small { color:var(--text-faint); font-size:5.8px; line-height:1.3; }
.poster-background-control-panel,.poster-background-jobs-panel { margin:0; padding:14px; border-radius:14px; }
.poster-background-control-panel .panel-heading,.poster-background-jobs-panel .panel-heading { margin-bottom:9px; }
.poster-background-control-panel h2,.poster-background-jobs-panel h2 { font-size:19px; }
.poster-worker-pill { display:inline-flex; min-height:28px; align-items:center; gap:5px; padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--text-soft); font-size:6px; font-weight:850; }
.poster-worker-pill i { width:6px; height:6px; border-radius:50%; background:var(--text-faint); }
.poster-worker-pill.is-active { border-color:rgba(38,118,83,.2); color:var(--success); }
.poster-worker-pill.is-active i { background:var(--success); box-shadow:0 0 0 4px rgba(38,118,83,.1); animation:storagePulse 1.7s ease-in-out infinite; }
.poster-background-progress-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:4px; color:var(--text-soft); font-size:7px; }
.poster-background-progress { height:8px; overflow:hidden; border-radius:999px; background:var(--surface-soft); }
.poster-background-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--success)); transition:width .35s ease; }
.poster-background-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:9px; }
.poster-background-actions .button { min-height:34px; font-size:7px; }
.poster-background-actions .check-label { min-height:34px; padding:5px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface-soft); }
.poster-background-actions .check-label span { display:flex; flex-direction:column; }
.poster-background-actions .check-label strong { font-size:7px; }
.poster-background-actions .check-label small { color:var(--text-faint); font-size:5.5px; }
.poster-background-note { margin:8px 0 0; padding:7px 8px; border-radius:8px; background:var(--surface-soft); color:var(--text-soft); font-size:6.5px; line-height:1.45; }
.poster-background-job-list { display:grid; gap:4px; }
.poster-background-job { display:grid; grid-template-columns:auto minmax(180px,1fr) auto minmax(100px,.45fr) auto; align-items:center; gap:7px; min-height:43px; padding:6px 7px; border:1px solid var(--line); border-radius:9px; background:var(--surface-soft); }
.poster-background-job.is-running { border-color:rgba(38,118,83,.18); }
.poster-background-job.is-failed { border-color:rgba(184,72,65,.18); }
.poster-background-job-icon { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; background:var(--surface); color:var(--accent-deep); font-size:8px; }
.poster-background-job > div:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.poster-background-job strong { overflow:hidden; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.poster-background-job small { overflow:hidden; color:var(--text-faint); font-size:5.8px; text-overflow:ellipsis; white-space:nowrap; }
.poster-background-job-phase { padding:3px 5px; border-radius:999px; background:var(--accent-soft); color:var(--accent-deep); font-size:5px; font-weight:900; letter-spacing:.06em; }
.poster-background-job-progress { height:5px; overflow:hidden; border-radius:999px; background:var(--surface); }
.poster-background-job-progress i { display:block; height:100%; background:var(--success); }
.poster-background-job > b { min-width:45px; color:var(--text-soft); font-size:5.8px; text-align:right; }
.poster-background-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.poster-background-capabilities article { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; padding:8px 9px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.poster-background-capabilities article > span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:var(--surface-soft); color:var(--accent-deep); font-size:6px; font-weight:900; }
.poster-background-capabilities article.is-ready { border-color:rgba(38,118,83,.16); }
.poster-background-capabilities article.is-warning { border-color:rgba(177,119,41,.18); background:var(--warning-soft); }
.poster-background-capabilities strong { display:block; font-size:7.5px; }
.poster-background-capabilities small { display:block; margin-top:1px; color:var(--text-faint); font-size:5.8px; line-height:1.35; }
@media (max-width:900px){.poster-background-stats{grid-template-columns:repeat(3,minmax(0,1fr));}.poster-background-capabilities{grid-template-columns:1fr}.poster-background-job{grid-template-columns:auto minmax(0,1fr) auto}.poster-background-job-progress{grid-column:2}.poster-background-job>b{grid-column:3;grid-row:2}}
@media (max-width:620px){.poster-background-readiness{grid-template-columns:auto minmax(0,1fr)}.poster-background-readiness>b{grid-column:1/-1;width:fit-content}.poster-background-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.poster-background-control-panel,.poster-background-jobs-panel{padding:10px}.poster-background-actions{align-items:stretch;flex-direction:column}.poster-background-actions>*{width:100%}.poster-background-actions .button{justify-content:center}.poster-background-job{grid-template-columns:auto minmax(0,1fr)}.poster-background-job-phase{grid-column:2;width:fit-content}.poster-background-job-progress{grid-column:1/-1}.poster-background-job>b{grid-column:1/-1;text-align:left}}

/* SELECT — direct media upload inside a person profile */
.person-direct-upload-panel {
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 15px;
    border-color: rgba(185,152,93,.22);
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,246,239,.94));
}
.person-upload-heading { align-items: center; margin-bottom: 10px; }
.person-upload-heading h2 { font-size: 20px; }
.person-upload-heading p { max-width: 790px; margin-top: 4px; font-size: 9.3px; line-height: 1.45; }
.person-upload-lock-badge {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 1px 6px;
    min-width: 150px;
    padding: 7px 9px;
    border: 1px solid rgba(38,118,83,.18);
    border-radius: 10px;
    background: var(--success-soft);
}
.person-upload-lock-badge > span { grid-row: 1 / 3; color: var(--success); font-size: 13px; }
.person-upload-lock-badge b { max-width: 170px; overflow: hidden; color: var(--text); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.person-upload-lock-badge small { color: var(--success); font-size: 5.5px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.person-upload-destination {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    margin-bottom: 8px;
}
.person-upload-destination label { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.person-upload-destination label > span { color: var(--text-soft); font-size: 7.5px; font-weight: 850; }
.person-upload-destination select { min-height: 36px; font-size: 9px; }
.person-upload-destination small { color: var(--text-faint); font-size: 6.2px; }
.person-upload-zone { min-height: 170px; padding: 18px 16px; border-radius: 12px; }
.person-upload-zone h3 { font-size: 16px; }
.person-upload-zone p { max-width: 780px; margin-inline: auto; font-size: 8.5px; line-height: 1.45; }
.person-upload-zone .upload-zone-actions { margin-top: 8px; }
.person-upload-zone .button { min-height: 35px; font-size: 7.5px; }
.person-upload-dashboard { margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--line); }
.person-upload-dashboard .upload-summary { margin-bottom: 7px; }
.person-upload-dashboard > progress { width: 100%; height: 7px; margin-bottom: 7px; accent-color: var(--accent-deep); }
.person-upload-footer-note {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
    padding: 7px 8px;
    border-radius: 8px;
    background: rgba(38,118,83,.045);
    color: var(--text-soft);
}
.person-upload-footer-note > span:first-child { color: var(--success); font-size: 10px; font-weight: 900; }
.person-upload-footer-note p { margin: 0; font-size: 6.5px; line-height: 1.4; }
.person-upload-footer-note .upload-concurrency { white-space: nowrap; }
.person-direct-upload-panel select:disabled { opacity: .56; cursor: not-allowed; }
@media (max-width: 760px) {
    .person-upload-heading { align-items: flex-start; flex-direction: column; }
    .person-upload-lock-badge { width: 100%; }
    .person-upload-destination { grid-template-columns: 1fr; }
    .person-upload-zone { min-height: 150px; padding: 14px 10px; }
    .person-upload-zone .upload-zone-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
    .person-upload-zone .button { width: 100%; justify-content: center; }
    .person-upload-footer-note { grid-template-columns: auto minmax(0,1fr); }
    .person-upload-footer-note .upload-concurrency { grid-column: 1 / -1; width: fit-content; }
}
.person-direct-upload-panel { scroll-margin-top: 14px; }

/* SELECT 1.4.46 — fast perceptual duplicate scanner */
.duplicate-scanner-header { align-items: center; margin-bottom: 11px; }
.duplicate-scanner-header h1 { font-size: clamp(26px,2.5vw,34px); }
.duplicate-scanner-header p { max-width: 860px; font-size: 10px; line-height: 1.5; }
.duplicate-scanner-root { display: grid; gap: 9px; }
.duplicate-intro-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(38,118,83,.18); border-radius:13px; background:linear-gradient(105deg,var(--success-soft),rgba(255,255,255,.94)); }
.duplicate-intro-icon { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:var(--surface-dark); color:#fff; font-size:16px; }
.duplicate-intro-card strong { display:block; font-size:10px; }
.duplicate-intro-card p { margin:2px 0 0; color:var(--text-soft); font-size:8.3px; line-height:1.42; }
.duplicate-cache-badge { display:flex; flex-direction:column; align-items:center; min-width:82px; padding:6px 8px; border:1px solid rgba(38,118,83,.14); border-radius:9px; background:#fff; color:var(--text-soft); font-size:6px; }
.duplicate-cache-badge b { color:var(--success); font-size:13px; }
.duplicate-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.duplicate-stats article { min-height:72px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 5px 16px rgba(29,25,20,.03); }
.duplicate-stats article.is-result { border-color:rgba(185,152,93,.22); background:linear-gradient(145deg,#fff,var(--accent-soft)); }
.duplicate-stats span { display:block; color:var(--accent-deep); font-size:6px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.duplicate-stats strong { display:block; margin:5px 0 2px; font-family:Georgia,"Times New Roman",serif; font-size:23px; font-weight:500; }
.duplicate-stats small { color:var(--text-faint); font-size:6.5px; }
.duplicate-run-panel,.duplicate-results-panel { margin:0; padding:15px; border-radius:15px; }
.duplicate-run-panel .panel-heading,.duplicate-results-panel .panel-heading { margin-bottom:10px; }
.duplicate-run-panel h2,.duplicate-results-panel h2 { font-size:20px; }
.duplicate-run-panel .panel-heading p,.duplicate-results-panel .panel-heading p { max-width:800px; margin-top:4px; font-size:9px; line-height:1.45; }
.duplicate-run-state { display:inline-flex; min-width:76px; min-height:29px; align-items:center; justify-content:center; padding:5px 8px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-faint); font-size:6.5px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.duplicate-run-state.is-running { border-color:rgba(185,152,93,.24); background:var(--accent-soft); color:var(--accent-deep); }
.duplicate-run-state.is-paused { border-color:rgba(177,119,41,.22); background:var(--warning-soft); color:var(--warning); }
.duplicate-run-state.is-done { border-color:rgba(38,118,83,.18); background:var(--success-soft); color:var(--success); }
.duplicate-run-state.is-error { border-color:rgba(184,72,65,.18); background:rgba(184,72,65,.07); color:var(--danger); }
.duplicate-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.duplicate-mode-card { position:relative; display:flex; min-width:0; padding:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; }
.duplicate-mode-card.is-selected { border-color:rgba(185,152,93,.38); background:var(--accent-soft); box-shadow:0 0 0 2px rgba(185,152,93,.08); }
.duplicate-mode-card input { position:absolute; top:9px; right:9px; width:15px; min-height:15px; }
.duplicate-mode-card > span { display:flex; min-width:0; flex-direction:column; padding-right:24px; }
.duplicate-mode-card strong { font-size:9px; }
.duplicate-mode-card small { margin-top:2px; color:var(--text-soft); font-size:6.8px; line-height:1.4; }
.duplicate-mode-card b { width:fit-content; margin-top:6px; padding:3px 5px; border-radius:999px; background:var(--surface-dark); color:#fff; font-size:5px; letter-spacing:.08em; }
.duplicate-actions-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.duplicate-actions-row .button { min-height:34px; padding:6px 10px; font-size:8px; }
.duplicate-progress-wrap { display:grid; gap:5px; margin-top:9px; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-soft); }
.duplicate-progress-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.duplicate-progress-head strong { font-size:7.5px; }
.duplicate-progress-head span { color:var(--text-soft); font-size:6.5px; }
.duplicate-progress { height:6px; overflow:hidden; border-radius:999px; background:#ded9d1; }
.duplicate-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#bb944f,#7c5927); transition:width .18s ease; }
.duplicate-progress-wrap > small { color:var(--text-faint); font-size:6.2px; }
.duplicate-results-list { display:grid; gap:8px; }
.duplicate-group-card { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); box-shadow:0 7px 22px rgba(29,25,20,.035); }
.duplicate-group-card.is-exact { border-color:rgba(38,118,83,.2); }
.duplicate-group-card.is-processing { opacity:.62; pointer-events:none; }
.duplicate-group-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border-bottom:1px solid var(--line); background:var(--surface-soft); }
.duplicate-group-head > div { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 7px; min-width:0; }
.duplicate-group-head > div > small { grid-column:1 / -1; color:var(--text-faint); font-size:6.2px; }
.duplicate-group-head > div > strong { font-size:8px; }
.duplicate-confidence { padding:3px 5px; border-radius:999px; background:var(--warning-soft); color:var(--warning); font-size:5.3px; font-weight:900; letter-spacing:.06em; }
.duplicate-confidence.is-exact { background:var(--success-soft); color:var(--success); }
.duplicate-group-saving { padding:4px 6px; border-radius:999px; background:rgba(38,118,83,.06); color:var(--success); font-size:6px; font-weight:850; white-space:nowrap; }
.duplicate-group-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:6px; padding:7px; }
.duplicate-item { position:relative; display:grid; min-width:0; grid-template-columns:1fr; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; }
.duplicate-item.is-keeper { border-color:rgba(38,118,83,.32); box-shadow:0 0 0 2px rgba(38,118,83,.08); }
.duplicate-item-image { display:grid; aspect-ratio:4/3; place-items:center; overflow:hidden; background:#e9e4dc; }
.duplicate-item-image img { width:100%; height:100%; object-fit:cover; }
.duplicate-item-meta { display:flex; min-width:0; flex-direction:column; padding:6px 7px 4px; }
.duplicate-item-meta strong { overflow:hidden; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.duplicate-item-meta small { margin-top:1px; color:var(--text-faint); font-size:5.8px; }
.duplicate-item-meta em { width:fit-content; margin-top:4px; padding:2px 4px; border-radius:999px; background:var(--surface-soft); color:var(--text-soft); font-size:5.3px; font-style:normal; }
.duplicate-item-choice,.duplicate-item-remove { display:flex; align-items:center; gap:4px; padding:5px 7px; border-top:1px solid var(--line); font-size:5.5px; }
.duplicate-item-choice input,.duplicate-item-remove input { width:13px; min-height:13px; }
.duplicate-item-choice b,.duplicate-item-remove b { font-size:5.5px; letter-spacing:.04em; }
.duplicate-item-choice { color:var(--success); }
.duplicate-item-remove { color:var(--danger); }
.duplicate-item.is-keeper .duplicate-item-remove { color:var(--text-faint); }
.duplicate-group-actions { display:flex; justify-content:flex-end; gap:6px; padding:7px 9px 9px; border-top:1px solid var(--line); }
.duplicate-group-actions .button { min-height:31px; padding:5px 8px; font-size:6.5px; }
@media (max-width:900px) { .duplicate-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.duplicate-group-items{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:650px) { .duplicate-scanner-header{align-items:flex-start}.duplicate-intro-card{grid-template-columns:auto 1fr}.duplicate-cache-badge{grid-column:1 / -1;width:fit-content;flex-direction:row;gap:5px}.duplicate-mode-grid{grid-template-columns:1fr}.duplicate-run-panel,.duplicate-results-panel{padding:11px}.duplicate-group-head{align-items:flex-start;flex-direction:column}.duplicate-group-actions{display:grid;grid-template-columns:1fr}.duplicate-group-actions .button{width:100%}.duplicate-group-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px} }
@media (max-width:390px) { .duplicate-stats{grid-template-columns:1fr 1fr}.duplicate-group-items{grid-template-columns:1fr}.duplicate-actions-row{display:grid;grid-template-columns:1fr}.duplicate-actions-row .button{width:100%} }

/* SELECT 1.4.46 — privacy-first per-user People permissions */
.user-access-stack {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
}
.user-people-access-panel {
    min-width: 0;
    overflow: hidden;
}
.user-people-heading {
    align-items: center;
    gap: 14px;
}
.user-people-heading > div:first-child {
    min-width: 0;
}
.user-people-heading h2 {
    font-size: 22px;
}
.user-people-heading p {
    max-width: 760px;
    margin-top: 4px;
    font-size: 9.5px;
    line-height: 1.48;
}
.user-people-master-state {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--text-faint);
    font-size: 6.5px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
}
.user-people-master-state.is-on {
    border-color: rgba(38,118,83,.18);
    background: var(--success-soft);
    color: var(--success);
}
.user-people-master-state.is-off {
    border-color: rgba(177,119,41,.18);
    background: var(--warning-soft);
    color: var(--warning);
}
.user-people-master-switch {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    padding: 10px 11px;
    border: 1px solid rgba(185,152,93,.22);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,250,240,.8), rgba(255,255,255,.96));
}
.user-people-master-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--surface-dark);
    color: #e0c69b;
    font-size: 12px;
}
.user-people-master-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.user-people-master-copy strong {
    font-size: 9.5px;
}
.user-people-master-copy small {
    color: var(--text-soft);
    font-size: 7px;
    line-height: 1.4;
}
.user-people-privacy-note {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 8px;
    margin-bottom: 9px;
    padding: 8px 9px;
    border: 1px solid rgba(38,118,83,.14);
    border-radius: 10px;
    background: rgba(38,118,83,.04);
}
.user-people-privacy-note > span {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 8px;
    background: #fff;
    color: var(--success);
    font-size: 8px;
}
.user-people-privacy-note strong {
    display: block;
    font-size: 8px;
}
.user-people-privacy-note p {
    margin: 2px 0 0;
    color: var(--text-soft);
    font-size: 6.7px;
    line-height: 1.42;
}
.user-people-toolbar {
    display: grid;
    grid-template-columns: minmax(180px,1fr) auto auto;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
}
.user-people-search {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 9px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--surface);
}
.user-people-search > span {
    color: var(--text-faint);
    font-size: 12px;
}
.user-people-search input {
    width: 100%;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 9px;
    outline: 0;
}
.user-people-count {
    color: var(--text-faint);
    font-size: 7px;
    white-space: nowrap;
}
.user-people-count b {
    color: var(--text);
    font-size: 8px;
}
.user-people-access-list {
    display: grid;
    max-height: 520px;
    gap: 5px;
    overflow-y: auto;
    padding-right: 2px;
    scrollbar-width: thin;
}
.user-person-access-row {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto auto;
    min-width: 0;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    padding: 6px 8px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
    transition: border-color var(--transition), background var(--transition), opacity var(--transition);
}
.user-person-access-row.is-granted {
    border-color: rgba(38,118,83,.2);
    background: linear-gradient(145deg, rgba(38,118,83,.035), #fff 78%);
}
.user-person-access-row.is-saving {
    opacity: .62;
    pointer-events: none;
}
.user-person-access-cover {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    overflow: hidden;
    border-radius: 9px;
    background: var(--surface-dark);
    color: #e0c69b;
}
.user-person-access-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.user-person-access-cover b {
    font-family: Georgia,"Times New Roman",serif;
    font-size: 16px;
    font-weight: 500;
}
.user-person-access-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.user-person-access-copy strong {
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.user-person-access-copy strong i {
    color: #a27635;
    font-size: 7px;
    font-style: normal;
}
.user-person-access-copy small {
    overflow: hidden;
    color: var(--text-faint);
    font-size: 6.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.user-person-access-state {
    display: inline-flex;
    min-width: 64px;
    min-height: 23px;
    align-items: center;
    justify-content: center;
    padding: 3px 6px;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--text-faint);
    font-size: 5.5px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.user-person-access-row.is-granted .user-person-access-state {
    background: var(--success-soft);
    color: var(--success);
}
.user-people-search-state {
    margin-top: 6px;
    color: var(--text-faint);
    font-size: 6.5px;
    line-height: 1.4;
}
.user-people-access-panel.is-module-off .user-person-access-row.is-granted .user-person-access-state::after {
    content: ' · verborgen';
}
.user-people-access-panel.is-master-saving .user-people-master-switch {
    opacity: .65;
    pointer-events: none;
}
@media (max-width: 820px) {
    .user-people-toolbar {
        grid-template-columns: 1fr auto;
    }
    .user-people-toolbar form {
        grid-column: 1 / -1;
        width: fit-content;
    }
}
@media (max-width: 560px) {
    .user-people-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .user-people-master-switch {
        grid-template-columns: auto minmax(0,1fr);
    }
    .user-people-master-switch .switch {
        grid-column: 1 / -1;
        justify-self: end;
    }
    .user-people-toolbar {
        grid-template-columns: 1fr;
    }
    .user-people-toolbar form {
        grid-column: auto;
    }
    .user-person-access-row {
        grid-template-columns: 42px minmax(0,1fr) auto;
        min-height: 54px;
    }
    .user-person-access-cover {
        width: 42px;
        height: 42px;
    }
    .user-person-access-state {
        display: none;
    }
}
.user-people-list-summary {
    display: inline-flex;
    min-width: 54px;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
}
.user-people-list-summary strong { font-size: 8px; }
.user-people-list-summary small { color: var(--text-faint); font-size: 5.5px; }
.user-people-list-summary.is-on strong { color: var(--success); }
.user-people-list-summary.is-off strong { color: var(--text-faint); }

/* SELECT — Professional background duplicate scanner */
.duplicate-background-panel {
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 15px;
    border-color: rgba(41,104,168,.18);
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(236,245,255,.72));
}
.duplicate-background-panel .panel-heading { align-items: center; margin-bottom: 10px; }
.duplicate-background-panel h2 { font-size: 20px; }
.duplicate-background-panel .panel-heading p { max-width: 820px; margin-top: 4px; font-size: 9px; line-height: 1.45; }
.duplicate-background-capability { display:inline-flex; min-height:29px; align-items:center; padding:5px 8px; border:1px solid var(--line); border-radius:999px; font-size:6px; font-weight:900; letter-spacing:.07em; white-space:nowrap; }
.duplicate-background-capability.is-ready { border-color:rgba(38,118,83,.18); background:var(--success-soft); color:var(--success); }
.duplicate-background-capability.is-fallback { border-color:rgba(177,119,41,.2); background:var(--warning-soft); color:var(--warning); }
.duplicate-background-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.duplicate-background-grid article { display:flex; min-height:76px; flex-direction:column; justify-content:center; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.86); }
.duplicate-background-grid article.is-result { border-color:rgba(38,118,83,.16); background:rgba(38,118,83,.035); }
.duplicate-background-grid span { color:var(--accent-deep); font-size:5.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.duplicate-background-grid strong { margin:4px 0 2px; font-size:15px; }
.duplicate-background-grid small { color:var(--text-faint); font-size:6.3px; line-height:1.35; }
.duplicate-background-progress { width:100%; height:8px; margin-top:9px; overflow:hidden; border-radius:999px; background:rgba(44,108,172,.08); }
.duplicate-background-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#78a8e5,#326ead); transition:width .25s ease; }
.duplicate-background-status { display:flex; align-items:center; gap:8px; margin-top:7px; padding:7px 8px; border-radius:8px; background:var(--surface-soft); }
.duplicate-background-status strong { color:var(--accent-deep); font-size:6px; letter-spacing:.08em; }
.duplicate-background-status span { color:var(--text-soft); font-size:7px; }
.duplicate-background-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:9px; }
.duplicate-background-actions .check-label { padding:6px 8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-size:7px; }
.duplicate-professional-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin-top:9px; }
.duplicate-professional-rules span { display:flex; align-items:center; gap:5px; padding:6px 7px; border-radius:8px; background:rgba(255,255,255,.72); color:var(--text-soft); font-size:6.5px; }
.duplicate-professional-rules b { display:grid; width:17px; height:17px; place-items:center; border-radius:50%; background:#1e334b; color:#fff; font-size:5px; }
.duplicate-browser-fallback-panel { border-style:dashed; opacity:.96; }

/* Person media manager — complete photo/video control */
.person-media-head-actions { display:flex; flex-wrap:wrap; gap:5px; }
.person-media-type-filter { display:flex; flex-wrap:wrap; gap:5px; margin:-2px 0 10px; }
.person-media-type-filter a { display:flex; min-height:34px; align-items:center; gap:7px; padding:6px 9px; border:1px solid var(--line); border-radius:999px; background:var(--surface-soft); color:var(--text-soft); }
.person-media-type-filter a strong { font-size:7px; }
.person-media-type-filter a span { display:grid; min-width:18px; height:18px; place-items:center; padding:0 4px; border-radius:999px; background:#fff; color:var(--accent-deep); font-size:5.5px; font-weight:900; }
.person-media-type-filter a.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-deep); }
.person-media-card-meta { display:flex; min-width:0; flex-direction:column; gap:2px; padding:7px 8px 0; }
.person-media-card-meta strong { overflow:hidden; font-size:7.5px; text-overflow:ellipsis; white-space:nowrap; }
.person-media-card-meta small { overflow:hidden; color:var(--text-faint); font-size:6px; text-overflow:ellipsis; white-space:nowrap; }
.person-media-type-badge { position:absolute; top:6px; right:6px; z-index:7; padding:3px 5px; border-radius:999px; background:rgba(17,16,15,.72); color:#fff; font-size:4.5px; font-weight:900; letter-spacing:.07em; }
.person-media-delete-actions { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:6px 7px 7px; padding-top:6px; border-top:1px solid var(--line); }
.person-media-delete-actions form { display:block; }
.person-media-delete-actions .text-button { width:100%; min-height:28px; justify-content:center; border:1px solid var(--line); border-radius:7px; background:var(--surface-soft); font-size:5.8px; }
.person-media-delete-actions .danger-text { border-color:rgba(169,64,49,.16); background:rgba(169,64,49,.045); }
.person-transfer-media-card.is-deleting { opacity:.42; pointer-events:none; filter:grayscale(.4); }
.person-media-pagination { margin-top:10px; }
@media (max-width:900px) { .duplicate-background-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.duplicate-professional-rules{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:620px) { .duplicate-background-panel{padding:11px}.duplicate-background-panel .panel-heading{align-items:flex-start;flex-direction:column}.duplicate-background-grid{grid-template-columns:1fr 1fr}.duplicate-background-actions{align-items:stretch;flex-direction:column}.duplicate-background-actions .button,.duplicate-background-actions .check-label{width:100%}.duplicate-professional-rules{grid-template-columns:1fr 1fr}.person-media-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.person-media-head-actions .button{width:100%}.person-media-delete-actions{grid-template-columns:1fr}.person-media-type-filter{display:grid;grid-template-columns:repeat(3,1fr)}.person-media-type-filter a{justify-content:center} }

/* SELECT Admin Sidebar 2.0 — spacious, grouped, never overlapping */
@media (min-width: 901px) {
    :root { --sidebar-width: 296px; }

    .sidebar {
        display: grid;
        height: 100dvh;
        grid-template-rows: minmax(0, 1fr) auto;
        align-items: stretch;
        justify-content: initial;
        overflow: hidden;
        padding: 22px 15px 14px;
    }

    .sidebar-top {
        display: grid;
        min-height: 0;
        grid-template-rows: auto minmax(0, 1fr);
        overflow: hidden;
    }

    .sidebar-brand {
        flex: 0 0 auto;
        padding: 1px 9px 18px;
    }

    .main-nav {
        display: block;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        margin-right: -5px;
        padding: 1px 6px 16px 0;
        scrollbar-color: rgba(209,181,126,.28) transparent;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        overscroll-behavior: contain;
    }

    .main-nav::-webkit-scrollbar { width: 5px; }
    .main-nav::-webkit-scrollbar-track { background: transparent; }
    .main-nav::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(209,181,126,.25);
    }
    .main-nav::-webkit-scrollbar-thumb:hover { background: rgba(209,181,126,.42); }

    .nav-section {
        display: grid;
        gap: 3px;
        margin: 11px 0 0;
    }
    .nav-section:first-child { margin-top: 0; }

    .nav-section-label {
        display: block;
        padding: 0 12px 4px;
        color: rgba(221,196,146,.45);
        font-size: 7px;
        font-weight: 900;
        letter-spacing: .15em;
        line-height: 1.2;
        text-transform: uppercase;
        user-select: none;
    }

    .main-nav .nav-link {
        min-height: 42px;
        gap: 11px;
        padding: 8px 11px;
        border: 1px solid transparent;
        border-radius: 10px;
        font-size: 12px;
        line-height: 1.2;
    }

    .main-nav .nav-link > span {
        display: grid;
        width: 21px;
        min-width: 21px;
        height: 21px;
        place-items: center;
        font-size: 14px;
        line-height: 1;
    }

    .main-nav .nav-link > .nav-zip-icon {
        font-size: 6px;
        font-weight: 950;
        letter-spacing: .03em;
    }

    .main-nav .nav-link:hover {
        border-color: rgba(255,255,255,.035);
        background: rgba(255,255,255,.06);
    }

    .main-nav .nav-link.active {
        border-color: rgba(209,181,126,.08);
        background: linear-gradient(100deg, rgba(209,181,126,.18), rgba(209,181,126,.105));
        box-shadow: inset 2px 0 0 rgba(217,184,115,.75);
    }

    .sidebar-bottom {
        position: relative;
        z-index: 3;
        display: grid;
        flex: none;
        gap: 7px;
        margin-top: 9px;
        padding: 10px 4px 0;
        border-top: 1px solid rgba(255,255,255,.085);
        background: var(--surface-dark);
        box-shadow: 0 -14px 28px rgba(17,16,15,.72);
    }

    .sidebar-bottom .profile-mini {
        min-height: 48px;
        padding: 6px 7px;
        border: 1px solid rgba(255,255,255,.055);
        border-radius: 11px;
        background: rgba(255,255,255,.025);
    }

    .sidebar-bottom .profile-mini strong { font-size: 11px; }
    .sidebar-bottom .profile-mini small { font-size: 8px; }
    .sidebar-bottom .avatar {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .sidebar-bottom .logout-button {
        min-height: 38px;
        padding: 7px 10px;
        border-radius: 9px;
        font-size: 11px;
    }
}

/* Medium desktop: keep the extra clarity without taking too much content width. */
@media (min-width: 901px) and (max-width: 1180px) {
    :root { --sidebar-width: 278px; }
}

/* Notebook-height adaptation: preserve every action, never overlap the account area. */
@media (min-width: 901px) and (max-height: 900px) {
    .sidebar { padding-top: 16px; padding-bottom: 10px; }
    .sidebar-brand { padding-bottom: 12px; }
    .sidebar-brand .brand-mark {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
        font-size: 18px;
    }
    .sidebar-brand .brand-copy strong { font-size: 11px; }
    .sidebar-brand .brand-copy small { font-size: 7px; }
    .nav-section { margin-top: 7px; gap: 2px; }
    .nav-section-label { padding-bottom: 2px; font-size: 6px; }
    .main-nav .nav-link {
        min-height: 36px;
        padding: 6px 10px;
        font-size: 11px;
    }
    .main-nav .nav-link > span {
        width: 19px;
        min-width: 19px;
        height: 19px;
        font-size: 13px;
    }
    .sidebar-bottom { gap: 5px; margin-top: 6px; padding-top: 7px; }
    .sidebar-bottom .profile-mini { min-height: 42px; padding: 4px 6px; }
    .sidebar-bottom .avatar { width: 30px; height: 30px; flex-basis: 30px; }
    .sidebar-bottom .logout-button { min-height: 34px; padding-block: 5px; }
}

/* Very short desktop windows: labels are decorative, access remains complete through scroll. */
@media (min-width: 901px) and (max-height: 720px) {
    .nav-section-label { display: none; }
    .nav-section { margin-top: 3px; }
    .sidebar-brand { padding-bottom: 8px; }
    .main-nav .nav-link { min-height: 34px; padding-block: 5px; }
    .sidebar-bottom .profile-mini small { display: none; }
}

/* Mobile drawer scrolls as one natural column instead of creating nested scroll areas. */
@media (max-width: 900px) {
    .sidebar {
        display: flex;
        height: 100dvh;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .sidebar-top {
        display: flex;
        min-height: auto;
        flex: 0 0 auto;
        overflow: visible;
    }
    .main-nav {
        display: flex;
        flex: none;
        overflow: visible;
        margin-right: 0;
        padding-right: 0;
        scrollbar-gutter: auto;
    }
    .nav-section { display: grid; gap: 3px; margin-top: 10px; }
    .nav-section:first-child { margin-top: 0; }
    .nav-section-label {
        display: block;
        padding: 0 13px 3px;
        color: rgba(221,196,146,.43);
        font-size: 7px;
        font-weight: 900;
        letter-spacing: .14em;
        text-transform: uppercase;
    }
    .sidebar-bottom {
        flex: 0 0 auto;
        margin-top: 16px;
    }
}

/* SELECT 1.4.48 — manual gallery and subgallery ordering */
.gallery-order-hint {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid rgba(177, 146, 91, .32);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,252,247,.98), rgba(247,241,231,.96));
    box-shadow: 0 10px 26px rgba(64, 47, 25, .06);
}
.gallery-order-hint.is-muted { border-color: var(--line); background: var(--surface-soft); }
.gallery-order-hint-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(177, 146, 91, .28);
    border-radius: 12px;
    background: #fff;
    color: var(--gold-dark);
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(55, 39, 18, .05);
}
.gallery-order-hint > div { min-width: 0; }
.gallery-order-hint strong { display: block; margin-bottom: 2px; font-size: 12px; }
.gallery-order-hint small { display: block; color: var(--text-soft); font-size: 10px; line-height: 1.5; }
.gallery-order-save-state {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid rgba(46, 126, 84, .18);
    border-radius: 999px;
    background: rgba(46, 126, 84, .08);
    color: var(--success);
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}
.gallery-order-save-state.is-saving { border-color: rgba(169,140,84,.24); background: rgba(169,140,84,.10); color: var(--gold-dark); }
.gallery-order-save-state.is-error { border-color: rgba(185,59,59,.24); background: rgba(185,59,59,.08); color: var(--danger); }
.gallery-folder-order-hint { margin-top: 4px; margin-bottom: 14px; }

.admin-gallery-card-compact,
.admin-folder-card { position: relative; }
.gallery-order-controls {
    position: absolute;
    z-index: 12;
    top: 10px;
    right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 12px;
    background: rgba(16, 15, 13, .72);
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 20px rgba(0,0,0,.16);
}
.gallery-order-controls.is-folder { top: 36px; right: 9px; }
.gallery-order-number {
    display: inline-flex;
    min-width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 8px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.88);
    font-size: 9px;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}
.gallery-order-button,
.gallery-order-drag {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: background .16s ease, transform .16s ease, opacity .16s ease;
}
.gallery-order-button:hover:not(:disabled),
.gallery-order-button:focus-visible:not(:disabled),
.gallery-order-drag:hover,
.gallery-order-drag:focus-visible { background: rgba(255,255,255,.24); transform: translateY(-1px); outline: none; }
.gallery-order-button:disabled { opacity: .28; cursor: default; }
.gallery-order-drag { cursor: grab; letter-spacing: -2px; touch-action: none; user-select: none; }
.gallery-order-drag:active { cursor: grabbing; }
[data-ordering-item].is-order-dragging {
    z-index: 20;
    opacity: .56;
    transform: scale(.985);
    outline: 2px solid rgba(169,140,84,.58);
    outline-offset: 3px;
}
[data-ordering-grid].is-order-dragging-grid [data-ordering-item]:not(.is-order-dragging) { transition: transform .12s ease, box-shadow .12s ease; }
[data-ordering-grid].is-order-saving { cursor: progress; }

@media (max-width: 760px) {
    .gallery-order-hint { grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 11px 12px; }
    .gallery-order-save-state { grid-column: 1 / -1; width: fit-content; margin-left: 48px; }
    .gallery-order-controls { top: 8px; right: 8px; gap: 3px; padding: 3px; }
    .gallery-order-controls.is-folder { top: 34px; right: 8px; }
    .gallery-order-number { min-width: 29px; height: 29px; }
    .gallery-order-button, .gallery-order-drag { width: 30px; height: 30px; }
}

/* SELECT 1.4.51 — multilingual gallery/subgallery content editor */
.multilang-editor{
    display:grid;
    gap:16px;
    padding:16px;
    border:1px solid rgba(193,179,155,.52);
    border-radius:18px;
    background:linear-gradient(180deg,#fffdfb 0%,#faf7f1 100%);
}
.multilang-editor-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}
.multilang-editor-heading h2{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:500}
.multilang-editor-heading p{max-width:70ch;margin:6px 0 0;color:var(--text-soft);font-size:11px;line-height:1.55}
.multilang-ready-badge{
    flex:0 0 auto;
    padding:8px 11px;
    border:1px solid rgba(169,140,84,.32);
    border-radius:999px;
    background:rgba(188,145,66,.09);
    color:var(--accent-deep);
    font-size:9px;
    font-weight:850;
    letter-spacing:.11em;
}
.multilang-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.multilang-card{
    display:grid;
    align-content:start;
    gap:12px;
    min-width:0;
    padding:14px;
    border:1px solid rgba(198,187,168,.55);
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 20px rgba(63,48,30,.04);
}
.multilang-card.is-primary{border-color:rgba(169,140,84,.52);background:linear-gradient(180deg,#fff 0%,#fcf8ef 100%)}
.multilang-card>header{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(199,187,167,.42)}
.multilang-card>header>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.multilang-card>header strong{font-size:12px}
.multilang-card>header small{color:var(--text-faint);font-size:9px}
.multilang-code{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--surface-soft);color:var(--accent-deep);font-size:9px;font-weight:900;letter-spacing:.08em}
.multilang-card.is-primary .multilang-code{background:rgba(188,145,66,.14)}
.multilang-card .field{margin:0}
.multilang-card textarea{min-height:118px;resize:vertical}

.folder-multilang-form{
    width:min(780px,calc(100vw - 72px));
    max-height:min(78vh,760px);
    overflow:auto;
    overscroll-behavior:contain;
}
.compact-folder-form.folder-multilang-form{width:min(860px,100%);max-height:none;overflow:visible}
.folder-language-intro{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.folder-language-intro strong{font-family:Georgia,serif;font-size:17px;font-weight:500}
.folder-language-intro small{color:var(--text-soft);font-size:10px;line-height:1.45}
.folder-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.folder-language-card{display:grid;gap:8px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}
.folder-language-card.is-primary{border-color:rgba(169,140,84,.46);background:#fdf9f1}
.folder-language-card>header{display:flex;align-items:center;gap:8px;padding-bottom:7px;border-bottom:1px solid rgba(199,187,167,.38)}
.folder-language-card>header span{display:grid;width:29px;height:29px;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--accent-deep);font-size:8px;font-weight:900}
.folder-language-card>header strong{font-size:11px}
.folder-language-card label{display:grid;gap:5px}
.folder-language-card label>span{font-size:9px;font-weight:800}
.folder-language-card input,.folder-language-card textarea{width:100%}
.folder-language-card textarea{min-height:76px;resize:vertical}

@media (max-width:760px){
    .multilang-editor{padding:13px}
    .multilang-editor-heading{flex-direction:column;gap:10px}
    .multilang-grid,.folder-language-grid{grid-template-columns:1fr}
    .folder-multilang-form,.compact-folder-form.folder-multilang-form{width:100%;max-height:none;overflow:visible}
    .multilang-card textarea{min-height:98px}
}

/* SELECT 1.4.52 · automatic multilingual gallery copy */
.gallery-translation-autofill {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(135px, 190px);
    align-items: center;
    gap: 13px;
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid rgba(169,140,84,.28);
    border-radius: 17px;
    background: linear-gradient(135deg, rgba(251,247,239,.98), rgba(255,255,255,.98));
    box-shadow: 0 10px 26px rgba(55,42,25,.055);
}
.gallery-translation-autofill.is-complete { border-color: rgba(42,126,83,.22); background: linear-gradient(135deg, rgba(242,250,246,.98), #fff); }
.gallery-translation-autofill.is-error { border-color: rgba(185,59,59,.22); background: linear-gradient(135deg, rgba(253,245,244,.98), #fff); }
.gallery-translation-autofill-icon {
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border: 1px solid rgba(169,140,84,.22);
    border-radius: 12px;
    background: rgba(169,140,84,.10);
    color: var(--gold-dark);
    font-family: Georgia, serif;
    font-size: 16px;
    font-weight: 700;
}
.gallery-translation-autofill.is-complete .gallery-translation-autofill-icon { border-color: rgba(42,126,83,.2); background: rgba(42,126,83,.09); color: var(--success); }
.gallery-translation-autofill.is-error .gallery-translation-autofill-icon { border-color: rgba(185,59,59,.18); background: rgba(185,59,59,.08); color: var(--danger); }
.gallery-translation-autofill-copy { min-width: 0; }
.gallery-translation-autofill-copy strong { display: block; margin-bottom: 3px; font-size: 12px; }
.gallery-translation-autofill-copy small { display: block; color: var(--text-soft); font-size: 10px; line-height: 1.5; }
.gallery-translation-autofill-progress { display: grid; gap: 6px; }
.gallery-translation-autofill-progress > span { color: var(--text-soft); font-size: 9px; font-weight: 800; text-align: right; text-transform: uppercase; letter-spacing: .06em; }
.gallery-translation-progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(169,140,84,.12); }
.gallery-translation-progress-track i { display: block; width: 8%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-dark), var(--accent)); transition: width .28s ease; }
.gallery-translation-autofill.is-working .gallery-translation-autofill-icon { animation: galleryTranslationPulse 1.1s ease-in-out infinite; }
@keyframes galleryTranslationPulse { 50% { transform: scale(.92); opacity: .68; } }
@media (max-width: 720px) {
    .gallery-translation-autofill { grid-template-columns: auto minmax(0,1fr); padding: 12px; }
    .gallery-translation-autofill-progress { grid-column: 1 / -1; }
    .gallery-translation-autofill-progress > span { text-align: left; }
}

/* SELECT 1.4.54 · safe upload-batch gallery correction */
.upload-recovery-panel{position:relative;overflow:hidden;border-color:rgba(169,140,84,.3);background:linear-gradient(145deg,rgba(255,252,246,.98),rgba(255,255,255,.99))}
.upload-recovery-panel::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--gold-dark),var(--accent));opacity:.78}
.upload-recovery-heading{align-items:flex-start;gap:18px}
.upload-recovery-shield{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(42,126,83,.2);border-radius:999px;background:rgba(42,126,83,.08);color:var(--success);font-size:9px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.upload-recovery-list{display:grid;gap:12px}
.upload-recovery-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:18px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 8px 24px rgba(43,34,24,.045)}
.upload-recovery-card.is-highlighted{border-color:rgba(169,140,84,.46);box-shadow:0 10px 28px rgba(116,88,42,.08)}
.upload-recovery-card.is-safe{border-color:rgba(42,126,83,.23)}
.upload-recovery-card.is-complete{border-color:rgba(42,126,83,.18);background:rgba(246,251,248,.88)}
.upload-recovery-card.is-blocked{grid-template-columns:1fr;border-color:rgba(185,59,59,.18);background:rgba(253,247,246,.9)}
.upload-recovery-card-main{display:flex;align-items:flex-start;gap:12px;min-width:0}
.upload-recovery-status-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;border:1px solid rgba(169,140,84,.22);background:rgba(169,140,84,.09);color:var(--gold-dark);font-weight:900}
.upload-recovery-card.is-safe .upload-recovery-status-icon,.upload-recovery-card.is-complete .upload-recovery-status-icon{border-color:rgba(42,126,83,.18);background:rgba(42,126,83,.08);color:var(--success)}
.upload-recovery-card.is-blocked .upload-recovery-status-icon{border-color:rgba(185,59,59,.16);background:rgba(185,59,59,.07);color:var(--danger)}
.upload-recovery-copy{min-width:0}
.upload-recovery-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:4px}
.upload-recovery-title-row>strong{font-size:12px}
.upload-recovery-copy>small{display:block;color:var(--text-soft);font-size:9.5px;font-weight:700}
.upload-recovery-copy>p{margin:7px 0 0;color:var(--text-soft);font-size:10.5px;line-height:1.55}
.upload-recovery-copy .upload-recovery-destination{color:var(--success)}
.upload-recovery-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.upload-recovery-badge.current{background:rgba(169,140,84,.12);color:var(--gold-dark)}
.upload-recovery-badge.safe,.upload-recovery-badge.complete{background:rgba(42,126,83,.1);color:var(--success)}
.upload-recovery-badge.blocked{background:rgba(185,59,59,.08);color:var(--danger)}
.upload-recovery-form{display:grid;gap:9px;padding:12px;border:1px solid rgba(169,140,84,.18);border-radius:13px;background:rgba(249,247,242,.72)}
.upload-recovery-form>label:not(.upload-recovery-confirm){display:grid;gap:5px}
.upload-recovery-form>label>span{font-size:9px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.upload-recovery-form select{width:100%}
.upload-recovery-confirm{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.upload-recovery-confirm input{margin-top:2px}
.upload-recovery-confirm span{font-size:8.5px!important;font-weight:700!important;line-height:1.45;text-transform:none!important;letter-spacing:0!important;color:var(--text-soft)}
.upload-recovery-form>small{color:var(--text-soft);font-size:8.5px;line-height:1.4}
@media(max-width:900px){.upload-recovery-card{grid-template-columns:1fr}.upload-recovery-shield{display:none}}
@media(max-width:620px){.upload-recovery-card{padding:12px}.upload-recovery-card-main{gap:9px}.upload-recovery-status-icon{flex-basis:33px;width:33px;height:33px}.upload-recovery-title-row>strong{font-size:11px}}

/* SELECT 1.4.55 · always-visible Upload Correction Center */
.upload-correction-header { align-items: flex-end; }
.upload-correction-case-banner {
    display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px;
    margin: 0 0 18px; padding: 17px 19px; border: 1px solid rgba(122,91,36,.22); border-radius: 18px;
    background: linear-gradient(135deg, rgba(250,244,232,.96), rgba(255,255,255,.96)); box-shadow: 0 12px 30px rgba(41,31,15,.06);
}
.upload-correction-case-icon {
    display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #181611; color: #fff;
    font-size: 19px; box-shadow: 0 8px 18px rgba(24,22,17,.16);
}
.upload-correction-case-banner small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.upload-correction-case-banner strong { display: block; font-size: 18px; letter-spacing: -.025em; }
.upload-correction-case-banner p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.upload-correction-case-state,
.upload-correction-always-visible,
.upload-correction-history-count {
    display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 6px 9px; border-radius: 999px;
    background: rgba(32,112,67,.09); color: #226c43; font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
}
.upload-correction-selector { margin-bottom: 18px; }
.upload-correction-select-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(150px,.4fr) auto; gap: 12px; align-items: end; }
.upload-correction-select-grid .form-field { display: grid; gap: 6px; margin: 0; }
.upload-correction-select-grid .form-field > span { font-size: 9px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; color: var(--muted); }
.upload-correction-select-grid select,
.upload-correction-select-grid input { min-height: 42px; }
.upload-correction-count-field small { margin-top: -2px; color: var(--muted); font-size: 8px; }
.upload-correction-preview-button { min-height: 42px; white-space: nowrap; }
.upload-correction-preview { border-color: rgba(43,111,71,.18); overflow: hidden; }
.upload-correction-preview.is-blocked { border-color: rgba(169,62,54,.22); }
.upload-correction-preview-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.upload-correction-preview-top h2 { margin-bottom: 5px; }
.upload-correction-preview-top p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.upload-correction-confidence { display: grid; gap: 2px; width: min(330px,42%); padding: 10px 12px; border-radius: 13px; border: 1px solid rgba(0,0,0,.08); background: var(--surface-soft); }
.upload-correction-confidence b { font-size: 10px; }
.upload-correction-confidence small { color: var(--muted); font-size: 8.5px; line-height: 1.45; }
.upload-correction-confidence.is-high { border-color: rgba(36,124,74,.22); background: rgba(36,124,74,.07); }
.upload-correction-confidence.is-medium { border-color: rgba(165,116,29,.24); background: rgba(165,116,29,.07); }
.upload-correction-confidence.is-low,
.upload-correction-confidence.is-blocked { border-color: rgba(165,64,54,.23); background: rgba(165,64,54,.07); }
.upload-correction-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0 0 14px; }
.upload-correction-metrics article { display: grid; gap: 3px; min-height: 91px; padding: 12px 13px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-soft); }
.upload-correction-metrics small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.upload-correction-metrics strong { font-size: 15px; letter-spacing: -.02em; }
.upload-correction-metrics span { color: var(--muted); font-size: 8.5px; line-height: 1.4; }
.upload-correction-details-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.7fr); gap: 12px; }
.upload-correction-proof-card,
.upload-correction-safety-card { padding: 15px; border: 1px solid var(--border); border-radius: 15px; background: #fff; }
.upload-correction-samples { display: grid; gap: 7px; margin-top: 10px; }
.upload-correction-sample { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 9px; min-width: 0; padding: 8px 9px; border-radius: 11px; background: var(--surface-soft); }
.upload-correction-sample-type { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: #1d1a16; color: #fff; font-size: 10px; }
.upload-correction-sample div { min-width: 0; }
.upload-correction-sample strong { display: block; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.upload-correction-sample small { display: block; margin-top: 2px; color: var(--muted); font-size: 7.5px; }
.upload-correction-sample time { color: var(--muted); font-size: 7.5px; white-space: nowrap; }
.upload-correction-proof-note { margin: 10px 0 0; color: var(--muted); font-size: 8.5px; line-height: 1.55; }
.upload-correction-safety-card ul { display: grid; gap: 9px; margin: 10px 0 0; padding: 0; list-style: none; }
.upload-correction-safety-card li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: start; }
.upload-correction-safety-card li b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: #191712; color: #fff; font-size: 7px; }
.upload-correction-safety-card li span { color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.upload-correction-execute-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.upload-correction-confirm { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.upload-correction-confirm input { width: 18px; height: 18px; margin-top: 1px; accent-color: #202f26; }
.upload-correction-confirm span { display: grid; gap: 2px; }
.upload-correction-confirm strong { font-size: 10px; }
.upload-correction-confirm small { color: var(--muted); font-size: 8px; }
.upload-correction-execute-button { min-height: 44px; white-space: nowrap; }
.upload-correction-blocked { margin-top: 14px; padding: 12px; border-radius: 12px; background: rgba(165,64,54,.07); }
.upload-correction-blocked strong { font-size: 10px; }
.upload-correction-blocked p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.upload-correction-empty { text-align: center; }
.upload-correction-empty strong { display: block; font-size: 13px; }
.upload-correction-empty p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.upload-correction-history { margin-top: 18px; }
.upload-correction-history-list { display: grid; gap: 8px; }
.upload-correction-history-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 11px 12px; border: 1px solid var(--border); border-radius: 13px; background: #fff; }
.upload-correction-history-item.is-undone { opacity: .72; background: var(--surface-soft); }
.upload-correction-history-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: rgba(36,124,74,.08); color: #247c4a; font-size: 14px; font-weight: 900; }
.upload-correction-history-item.is-undone .upload-correction-history-icon { background: rgba(90,90,90,.08); color: var(--muted); }
.upload-correction-history-copy { min-width: 0; }
.upload-correction-history-copy strong { display: block; font-size: 10px; }
.upload-correction-history-copy small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.upload-correction-history-copy p { margin: 3px 0 0; color: var(--muted); font-size: 8px; }
.upload-correction-undone-note { color: #755b2d !important; }
.upload-correction-undone-badge { padding: 5px 8px; border-radius: 999px; background: rgba(90,90,90,.08); color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }

@media (max-width: 1050px) {
    .upload-correction-select-grid { grid-template-columns: 1fr 1fr; }
    .upload-correction-preview-button { width: 100%; }
    .upload-correction-metrics { grid-template-columns: 1fr 1fr; }
    .upload-correction-details-grid { grid-template-columns: 1fr; }
    .upload-correction-execute-form { grid-template-columns: 1fr; }
    .upload-correction-execute-button { width: 100%; white-space: normal; }
}
@media (max-width: 680px) {
    .upload-correction-case-banner { grid-template-columns: auto 1fr; }
    .upload-correction-case-state { grid-column: 1 / -1; justify-self: start; }
    .upload-correction-select-grid { grid-template-columns: 1fr; }
    .upload-correction-preview-top { display: grid; }
    .upload-correction-confidence { width: 100%; }
    .upload-correction-metrics { grid-template-columns: 1fr; }
    .upload-correction-sample { grid-template-columns: 28px minmax(0,1fr); }
    .upload-correction-sample time { grid-column: 2; }
    .upload-correction-history-item { grid-template-columns: 34px minmax(0,1fr); }
    .upload-correction-history-item > form,
    .upload-correction-history-item > .upload-correction-undone-badge { grid-column: 2; justify-self: start; }
}

/* SELECT 1.4.56 · exact subgallery-to-subgallery Upload Correction */
.upload-correction-select-grid-folders { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.upload-correction-select-grid-folders .upload-correction-preview-button { width: 100%; }
.upload-correction-folder-field small { margin-top: -2px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.upload-correction-folder-alert { margin-top: 12px; }
.upload-correction-route-card {
    display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px;
    margin: 0 0 14px; padding: 11px 13px; border: 1px solid rgba(36,124,74,.16); border-radius: 14px; background: rgba(36,124,74,.045);
}
.upload-correction-route-card > div { min-width: 0; }
.upload-correction-route-card small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.upload-correction-route-card strong { display: block; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.upload-correction-route-card > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: #1d1a16; color: #fff; font-size: 12px; }
.upload-correction-safety-card code { padding: 1px 4px; border-radius: 5px; background: rgba(0,0,0,.055); font-size: .9em; }
@media (max-width: 680px) {
    .upload-correction-select-grid-folders { grid-template-columns: 1fr; }
    .upload-correction-route-card { grid-template-columns: 1fr; }
    .upload-correction-route-card > span { transform: rotate(90deg); }
}

/* SELECT 1.4.57 — Global Travel Archive: user-facing context + request-on-demand notice */
.travel-archive-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 0;
    overflow: hidden;
    margin: 0 0 16px;
    border: 1px solid rgba(195, 164, 105, .34);
    border-radius: 28px;
    background:
        radial-gradient(circle at 14% 12%, rgba(192, 153, 84, .19), transparent 34%),
        linear-gradient(135deg, #12110f 0%, #1c1915 58%, #252018 100%);
    box-shadow: 0 28px 64px rgba(41, 31, 18, .18);
    color: #fff;
    isolation: isolate;
}
.travel-archive-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, #000, transparent 72%);
}
.travel-archive-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 3.7vw, 54px);
}
.travel-archive-kicker {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #d7ba7b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.travel-archive-kicker::before {
    content: "✦";
    font-size: 11px;
}
.travel-archive-copy h2 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 45px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.07;
    text-wrap: balance;
}
.travel-archive-lead {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(13px, 1.15vw, 15px);
    line-height: 1.75;
}
.travel-archive-text {
    max-width: 760px;
    margin: 11px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 12px;
    line-height: 1.72;
}
.travel-archive-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
}
.travel-archive-stat {
    min-width: 0;
    padding: 14px 14px 13px;
    border: 1px solid rgba(211, 181, 119, .18);
    border-radius: 15px;
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.travel-archive-stat strong {
    display: block;
    color: #e0c486;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 25px);
    font-weight: 500;
    line-height: 1.05;
}
.travel-archive-stat span {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.55);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.42;
}
.travel-archive-request {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    padding: 15px 16px;
    border: 1px solid rgba(219, 189, 127, .22);
    border-radius: 17px;
    background: linear-gradient(135deg, rgba(204, 164, 91, .12), rgba(255,255,255,.045));
}
.travel-archive-request-copy {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 11px;
}
.travel-archive-request-copy > span {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 1px solid rgba(220,190,130,.32);
    border-radius: 50%;
    color: #d8b971;
    font-size: 12px;
}
.travel-archive-request-copy strong {
    display: block;
    color: #fff;
    font-size: 11px;
    line-height: 1.35;
}
.travel-archive-request-copy p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.57);
    font-size: 10px;
    line-height: 1.5;
}
.travel-archive-request-button {
    min-height: 42px;
    border-color: rgba(226, 198, 139, .32);
    background: linear-gradient(135deg, #c19c59, #977137);
    box-shadow: 0 11px 24px rgba(0,0,0,.22);
    color: #fff;
    font-size: 11px;
    white-space: nowrap;
}
.travel-archive-request-button:hover:not(:disabled) {
    background: linear-gradient(135deg, #caab6e, #a17b41);
    box-shadow: 0 14px 28px rgba(0,0,0,.28);
}
.travel-archive-visual {
    position: relative;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    margin: 0;
    background: #18140f;
}
.travel-archive-visual::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, #1b1814 0%, rgba(27,24,20,.46) 11%, transparent 34%), linear-gradient(180deg, transparent 58%, rgba(9,8,7,.62) 100%);
}
.travel-archive-visual picture,
.travel-archive-visual img {
    width: 100%;
    height: 100%;
}
.travel-archive-visual img {
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}
.travel-archive-visual figcaption {
    position: absolute;
    z-index: 3;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    background: rgba(12,10,8,.68);
    backdrop-filter: blur(12px);
    color: rgba(255,255,255,.75);
    font-size: 9px;
    line-height: 1.45;
}
.travel-archive-visual figcaption span {
    color: #d8b974;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .13em;
}
.travel-archive-reminder {
    position: sticky;
    z-index: 24;
    top: 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid rgba(184, 150, 86, .30);
    border-radius: 13px;
    background: rgba(252, 249, 243, .94);
    box-shadow: 0 10px 28px rgba(47, 35, 19, .10);
    backdrop-filter: blur(14px);
}
.travel-archive-reminder-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #1b1916;
    color: #d4b575;
    font-size: 10px;
}
.travel-archive-reminder strong {
    min-width: 0;
    color: #544a3b;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.4;
}
.travel-archive-reminder a {
    color: var(--accent-deep);
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}
.travel-archive-reminder a:hover { text-decoration: underline; }

.gallery-card-travel-archive {
    border-color: rgba(174, 138, 74, .58);
    box-shadow: 0 20px 42px rgba(79, 56, 22, .13);
}
.gallery-card-travel-archive .gallery-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 50%, rgba(12,10,8,.58) 100%);
}
.travel-archive-card-badge {
    position: absolute;
    z-index: 3;
    right: 13px;
    bottom: 13px;
    left: 13px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    background: rgba(16,14,12,.69);
    backdrop-filter: blur(11px);
    color: #fff;
}
.travel-archive-card-badge strong {
    color: #e0c17d;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
}
.travel-archive-card-badge span {
    color: rgba(255,255,255,.72);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.25;
}
.travel-archive-card-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 11px 12px;
    border: 1px solid rgba(186, 150, 83, .25);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(242,233,216,.78), rgba(255,255,255,.84));
}
.travel-archive-card-note > span {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 50%;
    background: #1b1916;
    color: #d3b36f;
    font-size: 9px;
}
.travel-archive-card-note strong {
    display: block;
    color: #4b4032;
    font-size: 10px;
    line-height: 1.3;
}
.travel-archive-card-note small {
    display: block;
    margin-top: 3px;
    color: #776c5d;
    font-size: 9px;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .travel-archive-hero { grid-template-columns: minmax(0, 1.12fr) minmax(270px, .88fr); }
    .travel-archive-stats { grid-template-columns: 1fr 1fr; }
    .travel-archive-stat:last-child { grid-column: 1 / -1; }
    .travel-archive-request { grid-template-columns: 1fr; }
    .travel-archive-request-button { width: fit-content; }
}

@media (max-width: 900px) {
    .travel-archive-hero { grid-template-columns: 1fr; border-radius: 23px; }
    .travel-archive-copy { padding: clamp(23px, 5vw, 38px); }
    .travel-archive-visual { min-height: clamp(310px, 58vw, 500px); }
    .travel-archive-visual::before { background: linear-gradient(180deg, #1b1814 0%, rgba(27,24,20,.2) 12%, transparent 40%, rgba(9,8,7,.62) 100%); }
    .travel-archive-reminder { top: 72px; }
}

@media (max-width: 680px) {
    .travel-archive-hero { margin-bottom: 11px; border-radius: 18px; }
    .travel-archive-copy { padding: 21px 17px 18px; }
    .travel-archive-copy h2 { font-size: clamp(27px, 8.3vw, 34px); }
    .travel-archive-lead { margin-top: 13px; font-size: 12px; line-height: 1.62; }
    .travel-archive-text { font-size: 10.5px; line-height: 1.6; }
    .travel-archive-stats { grid-template-columns: 1fr; gap: 7px; margin-top: 17px; }
    .travel-archive-stat,
    .travel-archive-stat:last-child { grid-column: auto; padding: 11px 12px; }
    .travel-archive-stat strong { font-size: 20px; }
    .travel-archive-request { gap: 11px; margin-top: 12px; padding: 12px; }
    .travel-archive-request-button { width: 100%; white-space: normal; }
    .travel-archive-visual { min-height: 330px; }
    .travel-archive-visual figcaption { right: 12px; bottom: 12px; left: 12px; }
    .travel-archive-reminder {
        top: 69px;
        grid-template-columns: auto minmax(0, 1fr);
        margin-bottom: 11px;
        padding: 9px 10px;
        border-radius: 12px;
    }
    .travel-archive-reminder a { grid-column: 2; justify-self: start; }
    .travel-archive-card-badge { right: 10px; bottom: 10px; left: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    .travel-archive-request-button { transition: none; }
}

/* SELECT 1.4.59 – mobile video must never look permanently stuck. */
.lightbox-video-play-overlay,
.share-video-play-overlay,
.life-video-play-overlay {
    position:absolute; z-index:14; inset:50% auto auto 50%; transform:translate(-50%,-50%);
    display:grid; place-items:center; width:64px; height:64px; border:1px solid rgba(255,255,255,.24);
    border-radius:50%; background:rgba(8,7,6,.72); color:#fff; cursor:pointer;
    box-shadow:0 12px 38px rgba(0,0,0,.32); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.lightbox-video-play-overlay span,
.share-video-play-overlay span,
.life-video-play-overlay span { margin-left:4px; font-size:24px; line-height:1; }
.lightbox-video-play-overlay:focus-visible,
.share-video-play-overlay:focus-visible,
.life-video-play-overlay:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media (max-width: 720px) {
    .lightbox-video-play-overlay,
    .share-video-play-overlay,
    .life-video-play-overlay { width:58px; height:58px; }
}

/* SELECT 1.4.61 – intelligent video startup / honest startup-buffer progress */
.select-video-loader-host { position: relative; }
.select-video-loader {
    --select-video-progress: 0%;
    position: absolute;
    z-index: 16;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: grid;
    gap: 9px;
    max-width: 430px;
    margin-inline: auto;
    padding: 12px 13px 11px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    background: rgba(8,7,6,.78);
    color: #fff;
    box-shadow: 0 16px 48px rgba(0,0,0,.34);
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
}
.select-video-loader.is-active { opacity: 1; transform: translateY(0); }
.select-video-loader[hidden] { display: none !important; }
.select-video-loader-head { display: flex; align-items: center; gap: 9px; min-width: 0; }
.select-video-loader-pulse {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: currentColor;
    opacity: .88;
    box-shadow: 0 0 0 0 rgba(255,255,255,.32);
    animation: select-video-loader-pulse 1.35s ease-out infinite;
}
.select-video-loader-labels { display: grid; min-width: 0; gap: 2px; }
.select-video-loader-labels strong { overflow: hidden; font-size: 11px; font-weight: 780; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.select-video-loader-labels small { overflow: hidden; color: rgba(255,255,255,.62); font-size: 8.5px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.select-video-loader-track {
    position: relative;
    overflow: hidden;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
}
.select-video-loader-track i {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--select-video-progress);
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(255,255,255,.58), #fff);
    box-shadow: 0 0 18px rgba(255,255,255,.22);
    transition: width .2s ease;
}
.select-video-loader.is-indeterminate .select-video-loader-track i {
    width: 42%;
    animation: select-video-loader-sweep 1.05s cubic-bezier(.4,0,.2,1) infinite;
}
.select-video-loader-footer { display: flex; min-height: 18px; align-items: center; justify-content: space-between; gap: 10px; }
.select-video-loader-footer > span { color: rgba(255,255,255,.62); font-size: 8px; font-variant-numeric: tabular-nums; }
.select-video-loader-retry {
    pointer-events: auto;
    appearance: none;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: #fff;
    padding: 5px 10px;
    font: inherit;
    font-size: 9px;
    font-weight: 780;
    cursor: pointer;
}
.select-video-loader-retry:hover { background: rgba(255,255,255,.16); }
.select-video-loader.is-error { pointer-events: auto; border-color: rgba(255,255,255,.24); }
.select-video-loader.is-error .select-video-loader-pulse { animation: none; opacity: .58; }
.select-video-loader.is-complete { opacity: .92; }
.select-video-loader.is-complete .select-video-loader-pulse { animation: none; }
@keyframes select-video-loader-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.34); } 70% { box-shadow: 0 0 0 8px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
@keyframes select-video-loader-sweep { 0% { transform: translateX(-115%); } 55% { transform: translateX(115%); } 100% { transform: translateX(260%); } }
@media (max-width: 720px) {
    .select-video-loader { right: 10px; bottom: 10px; left: 10px; gap: 8px; padding: 11px 12px 10px; border-radius: 12px; }
    .select-video-loader-labels strong { font-size: 10px; }
    .select-video-loader-labels small { font-size: 8px; }
    .select-video-loader-track { height: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    .select-video-loader, .select-video-loader-track i { transition: none; }
    .select-video-loader-pulse, .select-video-loader.is-indeterminate .select-video-loader-track i { animation: none; }
    .select-video-loader.is-indeterminate .select-video-loader-track i { width: 55%; }
}


/* SELECT 1.4.68 Smart Video UI — low-data LTE quality control, external CSS for strict CSP */
.select-smart-video-host{position:relative!important;isolation:isolate;overflow:hidden;contain:layout paint}
.select-smart-video-dock{display:block;width:min(100%,680px);margin:10px auto 0;padding:0 10px;box-sizing:border-box}
.select-smart-video-dock .select-smart-video-ui{position:static;inset:auto;z-index:auto;display:block;padding:0;background:none;pointer-events:none;opacity:1;visibility:visible}
.select-smart-video-dock .select-smart-video-ui.is-ready{display:none!important}
.select-smart-video-dock .select-smart-video-panel{width:100%;max-width:100%;margin:0 auto;pointer-events:none}
.select-smart-video-dock .select-smart-video-quality{position:static;top:auto;right:auto;left:auto;bottom:auto;transform:none;display:flex;justify-content:center;max-width:100%;margin:8px auto 0}
.select-smart-video-dock .select-smart-video-quality[hidden]{display:none!important}

.select-smart-video-ui{position:absolute;inset:0;z-index:18;display:flex;align-items:center;justify-content:center;padding:18px;pointer-events:none;opacity:1;visibility:visible;background:radial-gradient(circle at 50% 38%,rgba(13,25,43,.2),rgba(2,6,12,.52));transition:opacity .22s ease,visibility .22s ease;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.select-smart-video-ui[hidden]{display:none!important}
.select-smart-video-ui.is-ready{opacity:0;visibility:hidden}
.select-smart-video-panel{position:relative;width:min(440px,calc(100% - 20px));padding:15px 16px 14px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:linear-gradient(145deg,rgba(6,12,22,.95),rgba(12,23,39,.9));box-shadow:0 22px 64px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);color:#fff;pointer-events:none;overflow:hidden}
.select-smart-video-panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);opacity:.6}
.select-smart-video-top{display:flex;align-items:flex-start;gap:11px;min-width:0}
.select-smart-video-status{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;margin-top:1px;border-radius:50%;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.select-smart-video-spinner{display:block;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:#fff;border-right-color:rgba(255,255,255,.68);animation:selectVideoSpin .72s linear infinite}
.select-smart-video-icon{display:none;align-items:center;justify-content:center;width:20px;height:20px;font-size:11px;font-weight:900;line-height:1;color:#fff}
.select-smart-video-ui.is-action .select-smart-video-spinner,.select-smart-video-ui.is-error .select-smart-video-spinner,.select-smart-video-ui.is-offline .select-smart-video-spinner{display:none}
.select-smart-video-ui.is-action .select-smart-video-icon,.select-smart-video-ui.is-error .select-smart-video-icon,.select-smart-video-ui.is-offline .select-smart-video-icon{display:flex}
.select-smart-video-copy{display:block;min-width:0;flex:1}
.select-smart-video-title{display:block;font-size:13.5px;font-weight:790;line-height:1.28;letter-spacing:-.01em;color:#fff}
.select-smart-video-detail{display:-webkit-box;margin-top:3px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10.7px;line-height:1.38;color:rgba(255,255,255,.73)}
.select-smart-video-elapsed{flex:0 0 auto;margin-top:1px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9.5px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7)}
.select-smart-video-route{display:flex;align-items:center;gap:6px;min-width:0;margin-top:11px}
.select-smart-video-network,.select-smart-video-source{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.065);font-size:9.5px;line-height:1.1;color:rgba(255,255,255,.76)}
.select-smart-video-network{max-width:58%}.select-smart-video-source{margin-left:auto;max-width:48%;color:rgba(255,255,255,.9)}
.select-smart-video-track{position:relative;height:6px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 2px rgba(0,0,0,.2);overflow:hidden}
.select-smart-video-buffer{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,.72),#fff);box-shadow:0 0 14px rgba(255,255,255,.22);transition:width .16s linear}
.select-smart-video-track.is-indeterminate .select-smart-video-buffer{width:34%;animation:selectVideoIndeterminate 1.05s cubic-bezier(.45,0,.55,1) infinite}
.select-smart-video-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:9.7px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.61)}
.select-smart-video-readiness{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-smart-video-percent{flex:0 0 auto;color:rgba(255,255,255,.8)}
.select-smart-video-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.select-smart-video-steps>span{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:6px;min-width:0;color:rgba(255,255,255,.42)}
.select-smart-video-steps i{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);font-style:normal;font-size:8.5px;font-weight:850;transition:background .2s ease,border-color .2s ease,color .2s ease}
.select-smart-video-steps b{position:absolute;z-index:1;left:20px;right:-12px;top:9px;height:1px;background:rgba(255,255,255,.1)}
.select-smart-video-steps>span:last-child b{display:none}
.select-smart-video-steps em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:9px;font-weight:680}
.select-smart-video-steps>span.is-active{color:rgba(255,255,255,.92)}.select-smart-video-steps>span.is-active i{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.15);color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.045)}
.select-smart-video-steps>span.is-done{color:rgba(255,255,255,.72)}.select-smart-video-steps>span.is-done i{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.22);color:#fff}.select-smart-video-steps>span.is-done i:before{content:"✓"}.select-smart-video-steps>span.is-done i{font-size:0}.select-smart-video-steps>span.is-done i:before{font-size:9px}.select-smart-video-steps>span.is-done b{background:rgba(255,255,255,.28)}
.select-smart-video-assurance{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:8px 9px;border-radius:11px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.06);font-size:9.8px;line-height:1.38;color:rgba(255,255,255,.78)}
.select-smart-video-assurance[hidden]{display:none!important}.select-smart-video-assurance.is-warn{background:rgba(255,255,255,.085);color:rgba(255,255,255,.86)}.select-smart-video-assurance.is-ok{background:rgba(255,255,255,.055)}
.select-smart-video-assurance-dot{display:flex;align-items:center;justify-content:center;flex:0 0 17px;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.13);font-size:9px;font-weight:900}.select-smart-video-assurance-text{min-width:0}
.select-smart-video-low-action,.select-smart-video-action{display:none;width:100%;margin-top:11px;padding:10px 13px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:#fff;color:#0b1421;box-shadow:0 8px 24px rgba(0,0,0,.24);font:inherit;font-size:11.5px;font-weight:850;letter-spacing:.005em;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.select-smart-video-low-action{position:relative;padding-left:34px;background:linear-gradient(180deg,#fff,#eef6ff);box-shadow:0 8px 26px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.24);color:#081522}
.select-smart-video-low-action:before{content:"⚡";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;line-height:1}
.select-smart-video-low-action:hover,.select-smart-video-action:hover{transform:translateY(-1px)}.select-smart-video-low-action:active,.select-smart-video-action:active{transform:translateY(0)}.select-smart-video-low-action:focus-visible,.select-smart-video-action:focus-visible{outline:3px solid rgba(255,255,255,.42);outline-offset:2px}
.select-smart-video-ui.has-low-action .select-smart-video-low-action{display:block}
.select-smart-video-ui.is-action .select-smart-video-action{display:block}
.select-smart-video-ui.has-low-action.is-action .select-smart-video-action{margin-top:7px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.075);box-shadow:none;color:rgba(255,255,255,.88)}
.select-smart-video-mini{position:absolute;left:14px;right:14px;bottom:54px;z-index:17;height:4px;border-radius:999px;background:rgba(255,255,255,.17);box-shadow:0 2px 12px rgba(0,0,0,.32);overflow:hidden;opacity:0;transition:opacity .18s ease;pointer-events:none}
.select-smart-video-mini.is-visible{opacity:1}.select-smart-video-mini>span{display:block;height:100%;width:0;border-radius:inherit;background:rgba(255,255,255,.94);transition:width .14s linear}
.select-smart-video-quality{position:absolute;z-index:22;top:12px;right:12px;max-width:calc(100% - 24px);pointer-events:auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;-webkit-font-smoothing:antialiased}
.select-smart-video-quality[hidden]{display:none!important}
.select-smart-video-quality label{display:flex;align-items:center;gap:6px;padding:5px 6px 5px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(7,13,22,.82);box-shadow:0 8px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.select-smart-video-quality label>span{font-size:9px;font-weight:750;letter-spacing:.01em;color:rgba(255,255,255,.58);white-space:nowrap}
.select-smart-video-quality select{min-width:88px;max-width:150px;margin:0;padding:3px 22px 3px 7px;border:0;border-radius:999px;outline:0;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:10px;font-weight:820;line-height:1.2;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.select-smart-video-quality select:focus-visible{outline:2px solid rgba(255,255,255,.72);outline-offset:2px}
@keyframes selectVideoSpin{to{transform:rotate(360deg)}}
@keyframes selectVideoIndeterminate{0%{transform:translateX(-115%)}55%{transform:translateX(125%)}100%{transform:translateX(260%)}}
@media (max-width:640px){.select-smart-video-quality{top:8px;right:8px;max-width:calc(100% - 16px)}.select-smart-video-quality label{gap:4px;padding:4px 5px 4px 7px}.select-smart-video-quality label>span{font-size:8px}.select-smart-video-quality select{min-width:76px;max-width:126px;padding:3px 18px 3px 6px;font-size:9px}.select-smart-video-ui{padding:8px;background:radial-gradient(circle at 50% 38%,rgba(13,25,43,.16),rgba(2,6,12,.48))}.select-smart-video-panel{width:min(390px,calc(100% - 8px));padding:12px 12px 11px;border-radius:16px}.select-smart-video-top{gap:9px}.select-smart-video-status{width:26px;height:26px;flex-basis:26px}.select-smart-video-spinner{width:18px;height:18px}.select-smart-video-title{font-size:12px}.select-smart-video-detail{font-size:9.8px;line-height:1.35}.select-smart-video-elapsed{font-size:8.8px;padding:3px 6px}.select-smart-video-route{margin-top:8px}.select-smart-video-network,.select-smart-video-source{padding:3px 6px;font-size:8.7px}.select-smart-video-track{margin-top:8px}.select-smart-video-meta{font-size:8.8px}.select-smart-video-steps{margin-top:9px;gap:5px}.select-smart-video-steps>span{grid-template-columns:18px minmax(0,1fr);gap:4px}.select-smart-video-steps i{width:18px;height:18px}.select-smart-video-steps b{left:18px;top:8px}.select-smart-video-steps em{font-size:8.2px}.select-smart-video-assurance{margin-top:8px;padding:7px 8px;font-size:9px}.select-smart-video-low-action,.select-smart-video-action{margin-top:9px;padding:9px 11px;font-size:10.7px}.select-smart-video-low-action{padding-left:31px}.select-smart-video-low-action:before{left:11px;font-size:12px}.select-smart-video-mini{left:10px;right:10px;bottom:50px}}
@media (max-width:370px){.select-smart-video-quality label>span{display:none}.select-smart-video-quality select{min-width:72px}.select-smart-video-source{display:none}.select-smart-video-network{max-width:100%}.select-smart-video-steps em{font-size:7.6px}.select-smart-video-assurance{font-size:8.5px}}
@media (max-height:520px) and (orientation:landscape){.select-smart-video-panel{padding:10px 12px}.select-smart-video-route{margin-top:6px}.select-smart-video-steps{display:none}.select-smart-video-assurance{margin-top:7px}.select-smart-video-track{margin-top:7px}.select-smart-video-detail{-webkit-line-clamp:1}.select-smart-video-mini{bottom:44px}}
@media (prefers-reduced-motion:reduce){.select-smart-video-spinner,.select-smart-video-track.is-indeterminate .select-smart-video-buffer{animation:none}.select-smart-video-ui,.select-smart-video-buffer,.select-smart-video-mini,.select-smart-video-low-action,.select-smart-video-action{transition:none}}


/* SELECT 1.4.68 video-status safety fallbacks */
.share-video-start-fallback{position:absolute;z-index:14;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(360px,calc(100% - 28px));white-space:normal;text-align:center;pointer-events:none}
.lightbox-media-loader[data-video-status-fallback="1"]{z-index:14;max-width:min(340px,calc(100vw - 40px));text-align:center}


/* SELECT 1.4.68 CSP-safe video progress buckets */
.select-smart-video-buffer[data-progress="0"],.select-smart-video-mini>span[data-progress="0"]{width:0%}
.select-smart-video-buffer[data-progress="5"],.select-smart-video-mini>span[data-progress="5"]{width:5%}
.select-smart-video-buffer[data-progress="10"],.select-smart-video-mini>span[data-progress="10"]{width:10%}
.select-smart-video-buffer[data-progress="15"],.select-smart-video-mini>span[data-progress="15"]{width:15%}
.select-smart-video-buffer[data-progress="20"],.select-smart-video-mini>span[data-progress="20"]{width:20%}
.select-smart-video-buffer[data-progress="25"],.select-smart-video-mini>span[data-progress="25"]{width:25%}
.select-smart-video-buffer[data-progress="30"],.select-smart-video-mini>span[data-progress="30"]{width:30%}
.select-smart-video-buffer[data-progress="35"],.select-smart-video-mini>span[data-progress="35"]{width:35%}
.select-smart-video-buffer[data-progress="40"],.select-smart-video-mini>span[data-progress="40"]{width:40%}
.select-smart-video-buffer[data-progress="45"],.select-smart-video-mini>span[data-progress="45"]{width:45%}
.select-smart-video-buffer[data-progress="50"],.select-smart-video-mini>span[data-progress="50"]{width:50%}
.select-smart-video-buffer[data-progress="55"],.select-smart-video-mini>span[data-progress="55"]{width:55%}
.select-smart-video-buffer[data-progress="60"],.select-smart-video-mini>span[data-progress="60"]{width:60%}
.select-smart-video-buffer[data-progress="65"],.select-smart-video-mini>span[data-progress="65"]{width:65%}
.select-smart-video-buffer[data-progress="70"],.select-smart-video-mini>span[data-progress="70"]{width:70%}
.select-smart-video-buffer[data-progress="75"],.select-smart-video-mini>span[data-progress="75"]{width:75%}
.select-smart-video-buffer[data-progress="80"],.select-smart-video-mini>span[data-progress="80"]{width:80%}
.select-smart-video-buffer[data-progress="85"],.select-smart-video-mini>span[data-progress="85"]{width:85%}
.select-smart-video-buffer[data-progress="90"],.select-smart-video-mini>span[data-progress="90"]{width:90%}
.select-smart-video-buffer[data-progress="95"],.select-smart-video-mini>span[data-progress="95"]{width:95%}
.select-smart-video-buffer[data-progress="100"],.select-smart-video-mini>span[data-progress="100"]{width:100%}

/* SELECT 1.4.70 – hard mobile lowest-quality-first controls; high quality is explicit opt-in */
.select-smart-video-quality-current,.select-smart-video-quality-quick{display:none}
@media (max-width:820px){
    .select-smart-video-quality{top:auto;right:auto;left:50%;bottom:58px;max-width:calc(100% - 22px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(5,11,20,.88);box-shadow:0 10px 34px rgba(0,0,0,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
    .select-smart-video-quality label{display:none}
    .select-smart-video-quality-current{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-size:9.5px;font-weight:800;white-space:nowrap}
    .select-smart-video-quality-quick{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 11px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:#fff;color:#0b1421;font:inherit;font-size:10px;font-weight:900;line-height:1.1;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 7px 18px rgba(0,0,0,.28)}
    .select-smart-video-quality-quick[hidden]{display:none!important}
    .select-smart-video-quality-quick:active{transform:translateY(1px)}
    .select-smart-video-quality-quick:focus-visible{outline:3px solid rgba(255,255,255,.48);outline-offset:2px}
    .select-video-priority-active .global-media-network-status{display:none!important}
}
@media (max-width:390px){
    .select-smart-video-quality{gap:5px;bottom:56px;padding:4px}
    .select-smart-video-quality-current{min-height:28px;padding:5px 7px;font-size:8.8px}
    .select-smart-video-quality-quick{min-height:30px;padding:6px 9px;font-size:9.4px}
}
@media (max-width:820px){
    .select-video-priority-active .media-continuation{display:none!important}
}

/* SELECT 1.4.73 – simple mobile video start: reassure without covering the video with diagnostics */
@media (max-width:820px){
    .select-smart-video-panel{width:min(330px,calc(100% - 24px));padding:12px 13px 11px;border-radius:15px}
    .select-smart-video-top{align-items:center;gap:9px}
    .select-smart-video-title{font-size:12.5px;line-height:1.25}
    .select-smart-video-detail{margin-top:2px;font-size:9.8px;line-height:1.32;-webkit-line-clamp:2}
    .select-smart-video-elapsed,.select-smart-video-route,.select-smart-video-meta,.select-smart-video-steps,.select-smart-video-assurance{display:none!important}
    .select-smart-video-track{height:3px;margin-top:9px;background:rgba(255,255,255,.13)}
    .select-smart-video-low-action,.select-smart-video-action{margin-top:9px;padding:10px 12px;font-size:10.7px}
}

/* SELECT 1.4.76 – visitor playback is simple by default.
   This server-rendered switch also suppresses the quality UI if an older player script
   is still present in a browser cache, while the admin can re-enable it globally. */
body[data-video-high-quality-enabled="0"] .select-smart-video-quality{display:none!important}
