:root {
  --ink: #16162b;
  --muted: #6f6e82;
  --line: #ebeaf0;
  --soft: #faf9fb;
  --pink: #d83e6d;
  --pink-dark: #bd2d59;
  --pink-soft: #fbf1f4;
  --orange: #ad6244;
  --orange-soft: #faf1ed;
  --green: #18875a;
  --green-soft: #eaf8f1;
  --danger: #e6234e;
  --danger-soft: #fff0f3;
  --warning: #8a522c;
  --warning-soft: #fff1e5;
  --shadow: 0 8px 28px rgba(24, 20, 39, 0.05);
  --radius: 12px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: #fff; }
body { min-height: 100vh; margin: 0; color: var(--ink); background: #fff; font-size: 14px; }
turbo-frame { display: block; }
.turbo-progress-bar { height: 3px; background: var(--pink); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; }

.sidebar {
  position: fixed; inset: 0 auto 0 0; z-index: 30; width: 268px; padding: 25px 15px 28px;
  background: linear-gradient(180deg, #fff 0%, #fff 72%, #fcf6f8 100%);
  border-right: 1px solid var(--line); display: flex; flex-direction: column;
}
.brand-lockup { display: flex; align-items: center; gap: 10px; width: fit-content; margin: 0 18px 43px; }
.brand-logo { width: 142px; height: auto; display: block; }
.brand-admin, .session-brand span { padding: 6px 9px; border: 1px solid #ebc5d1; border-radius: 7px; color: var(--pink-dark); background: var(--pink-soft); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.main-navigation { display: grid; gap: 6px; }
.nav-link { min-height: 55px; padding: 0 17px; border-radius: 10px; display: flex; align-items: center; gap: 16px; color: #29283d; font-size: 13px; font-weight: 650; transition: .18s ease; }
.nav-link:hover { background: var(--soft); color: var(--pink); }
.nav-link.is-active { background: #fbf2f5; color: var(--pink); }
.nav-link--expired { color: #754b3b; }
.nav-link--expired .icon { color: #a85b3c; }
.nav-link--expired:hover, .nav-link--expired.is-active { color: #8d472b; background: #faf0eb; }
.nav-link--expired.is-active { box-shadow: inset 3px 0 #b8613f; }
.sidebar-help { margin: auto 7px 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); display: flex; align-items: center; gap: 11px; }
.sidebar-help .help-icon { width: 24px; height: 24px; border: 2px solid var(--pink); border-radius: 50%; display: grid; place-items: center; color: var(--pink); font-weight: 800; }
.sidebar-help span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.sidebar-help strong { font-size: 12px; }.sidebar-help small { color: var(--muted); font-size: 9px; }.sidebar-help .icon { width: 15px; }

.admin-shell { min-height: 100vh; margin-left: 268px; }
.topbar { height: 86px; padding: 0 35px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 24px; background: rgba(255,255,255,.96); }
.top-search { position: relative; width: min(495px, 48vw); }
.top-search .icon, .inline-search .icon { position: absolute; top: 50%; left: 14px; width: 18px; transform: translateY(-50%); color: #56556b; }
.top-search input, .inline-search input { width: 100%; height: 46px; padding: 0 48px 0 43px; border: 1px solid #dfdee7; border-radius: 9px; outline: none; color: var(--ink); background: #fff; }
.top-search input:focus, .inline-search input:focus, input:focus, select:focus, textarea:focus { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(216,62,109,.1); outline: none; }
.top-search kbd { position: absolute; top: 50%; right: 13px; transform: translateY(-50%); border: 0; color: #9391a0; background: none; font-size: 12px; }
.topbar > .button_to { margin-left: auto; }.logout-button { height: 47px; padding: 0 18px; border: 1px solid #e9bdcb; border-radius: 9px; display: inline-flex; align-items: center; gap: 10px; color: var(--pink-dark); background: #fff; font-weight: 700; }
.logout-button:hover { background: var(--pink-soft); }
.admin-identity { margin-left: auto; display: flex; align-items: center; gap: 9px; }
.admin-identity > span { width: 36px; height: 36px; border: 1px solid #e8c4cf; border-radius: 50%; display: grid; place-items: center; color: var(--pink-dark); background: var(--pink-soft); font-size: 10px; font-weight: 850; }
.admin-identity small { display: grid; gap: 2px; color: var(--muted); font-size: 9px; }
.admin-identity strong { color: var(--ink); font-size: 11px; }
.topbar > .admin-identity + .button_to { margin-left: 0; }
.restricted-navigation-label { margin: 15px 10px 2px; padding: 17px 7px 4px; border-top: 1px solid var(--line); color: #a04360; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.sidebar-toggle { display: none; border: 0; background: none; font-size: 23px; }
.main-content { padding: 27px 35px 48px; }

.page-heading { min-height: 56px; margin-bottom: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.page-heading h1 { margin: 0 0 6px; font-size: clamp(25px, 2.1vw, 31px); line-height: 1.15; letter-spacing: -.8px; }
.page-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.page-heading .breadcrumb { margin-bottom: 8px; font-size: 12px; }.breadcrumb a { color: var(--pink); }
.heading-actions, .card-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.button { min-height: 44px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 700; transition: .15s ease; }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button--disabled, .button--disabled:hover { border-color: #dedde6; color: #777483; background: #ecebf0; box-shadow: none; cursor: wait; transform: none; }
.button .icon { width: 18px; }.button--primary { color: #fff; background: var(--pink); box-shadow: 0 7px 15px rgba(166,39,80,.13); }
.button--primary:hover { background: var(--pink-dark); transform: translateY(-1px); }.button--secondary { border-color: #dedde6; color: #343247; background: #fff; }
.button--secondary:hover { border-color: #c6c4d1; background: var(--soft); }.button--danger { border-color: #ffd3dc; color: var(--danger); background: var(--danger-soft); }
.button--wide { width: 100%; }.button--small { min-height: 36px; padding: 0 13px; font-size: 12px; }.button--large { min-height: 52px; padding: 0 22px; font-size: 15px; }
.text-link { color: var(--pink); font-weight: 700; }.text-link:hover { text-decoration: underline; }
.admin-user-link { font-weight: inherit; }.admin-user-link:focus-visible { outline: 2px solid var(--pink); outline-offset: 3px; border-radius: 2px; }

.flash { max-width: 1100px; margin: 0 0 18px; padding: 13px 16px; border: 1px solid #ceeadd; border-radius: 8px; color: #176b4b; background: var(--green-soft); transition: opacity .18s ease, transform .18s ease; }
.flash.is-leaving { opacity: 0; transform: translateY(-5px); }
.flash--alert { border-color: #ffd2dc; color: #a41437; background: var(--danger-soft); }
.error-summary { margin-bottom: 18px; padding: 15px 18px; border: 1px solid #ffc9d5; border-radius: 9px; color: #9f1637; background: var(--danger-soft); }
.error-summary ul { margin: 8px 0 0; padding-left: 20px; }

.data-panel, .panel, .form-card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.table-toolbar { min-height: 63px; padding: 11px 19px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 18px; }
.data-panel { transition: opacity .16s ease; }
turbo-frame[busy] .data-panel, .table-toolbar[aria-busy="true"] { opacity: .62; }
.live-filter-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.toolbar-spacer { flex: 1; }.per-page { display: flex; align-items: center; gap: 12px; color: #525064; white-space: nowrap; }
.per-page select, .field-inline select { height: 39px; padding: 0 36px 0 13px; border: 1px solid #dfdee7; border-radius: 8px; color: var(--ink); background: #fff; }
.inline-search { position: relative; width: min(250px, 28vw); }.inline-search input { height: 39px; padding-right: 12px; font-size: 12px; }
.toolbar-select { height: 39px; padding: 0 31px 0 10px; border: 1px solid #dfdee7; border-radius: 8px; color: #4b495d; background: #fff; font-size: 11px; }
.filter-menu { position: relative; }.filter-menu summary { min-width: 122px; height: 39px; padding: 0 14px; border: 1px solid #dfdee7; border-radius: 8px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 650; list-style: none; }.filter-menu summary .icon { width: 17px; }
.filter-menu summary::-webkit-details-marker { display: none; }.filter-popover { position: absolute; z-index: 20; top: 46px; right: 0; width: 270px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 13px; background: #fff; box-shadow: 0 15px 40px rgba(20,17,35,.12); }
.table-scroll { overflow-x: auto; }.data-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.data-table th { height: 46px; padding: 0 18px; border-bottom: 1px solid var(--line); color: #27263b; text-align: left; font-size: 12px; white-space: nowrap; }
.data-table td { min-height: 72px; padding: 16px 18px; border-bottom: 1px solid #efedf2; vertical-align: middle; font-size: 12px; }
.data-table tbody tr:hover { background: #fffbfc; }.sort-link { display: inline-flex; gap: 8px; color: inherit; }.sort-link span { color: #9795a3; }.sort-link.is-active { color: var(--pink); }
.articles-table .title-cell { min-width: 190px; max-width: 260px; color: #141327; font-weight: 750; line-height: 1.35; }.excerpt-cell { width: 190px; max-width: 190px; color: #333147; line-height: 1.4; }.article-audience-cell { min-width: 125px; display: flex; flex-direction: column; gap: 4px; position: relative; cursor: help; outline: none; }.article-audience-cell > strong { color: var(--pink); }.article-audience-cell > small { color: var(--muted); white-space: nowrap; }.article-audience-cell:focus-visible { border-radius: 5px; box-shadow: 0 0 0 3px rgba(226,52,103,.2); }
.article-audience-popover { position: fixed; z-index: 80; width: 230px; max-height: min(320px, calc(100vh - 20px)); padding: 14px; overflow-y: auto; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: #fff; box-shadow: 0 16px 42px rgba(20,17,35,.18); cursor: default; }.article-audience-popover[hidden] { display: none; }.article-audience-popover > b { display: block; margin-bottom: 10px; font-size: 12px; }.article-audience-popover > small { color: var(--muted); font-size: 11px; white-space: normal; }.article-audience-country-list { display: grid; gap: 2px; }.article-audience-country-list > span { min-height: 30px; padding: 4px 2px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 7px; border-top: 1px solid #f1edf0; }.article-audience-country-list i { font-style: normal; font-size: 16px; }.article-audience-country-list em { overflow: hidden; color: #3d3a4d; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }.article-audience-country-list strong { color: var(--pink); }
.badge { width: fit-content; padding: 7px 10px; border-radius: 7px; display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 650; white-space: nowrap; }
.badge .icon { width: 14px; height: 14px; }
.badge--pink { color: #b92f5b; background: #fbf0f4; }
.badge--orange { color: #97502f; background: #faf0ea; }
.badge--blue { color: #3d628f; background: #edf3f8; }
.badge--green { color: #137a52; background: #e8f7ef; }
.badge--slate { color: #5e6370; background: #f0f1f3; }
.badge--cyan { color: #33727a; background: #ebf5f5; }
.badge--gray { color: #575568; background: #f0eff3; }
.person-cell { display: inline-flex; align-items: center; gap: 10px; min-width: 105px; }.person-cell > span:last-child { display: flex; flex-direction: column; gap: 3px; }.person-cell small { color: var(--muted); }
.avatar { width: 31px; height: 31px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; flex: 0 0 auto; color: var(--pink); background: var(--pink-soft); font-size: 10px; font-weight: 800; }.avatar > img { width: 100%; height: 100%; display: block; object-fit: cover; }.avatar--icon .icon { width: 17px; height: 17px; }
.date-cell { display: grid; grid-template-columns: 18px minmax(72px, 1fr); align-items: center; gap: 8px; max-width: 135px; line-height: 1.35; }.date-cell .icon { width: 16px; color: var(--pink); }
.row-actions { display: flex; align-items: center; gap: 9px; white-space: nowrap; }.row-actions form { display: contents; }
.action { min-height: 36px; padding: 0 12px; border: 1px solid #dedde6; border-radius: 7px; display: inline-flex; align-items: center; gap: 7px; color: #29273b; background: #fff; font-weight: 650; }
.action .icon { width: 15px; }.action:hover { border-color: #c5c3cf; background: var(--soft); }.action--details { border-color: transparent; color: var(--pink); background: var(--pink-soft); }.action--danger { width: 39px; padding: 0; justify-content: center; border-color: transparent; color: var(--danger); background: var(--danger-soft); }
.status-pill { padding: 6px 9px; border-radius: 999px; display: inline-block; font-size: 10px; font-weight: 750; white-space: nowrap; }.status-pill--success { color: var(--green); background: var(--green-soft); }.status-pill--muted { color: #6e6b79; background: #f0eff3; }.status-pill--danger { color: var(--danger); background: var(--danger-soft); }.status-pill--warning { color: #8a522c; background: #fff1e5; }.status-pill--practitioner { color: #9b4b64; background: #f8edf1; }.status-pill--large { padding: 8px 12px; font-size: 12px; }
.page-status-chip { min-height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 750; }.page-status-chip .icon { width: 16px; }
.page-status-chip--success { border-color: #ceeadd; color: var(--green); background: var(--green-soft); }.page-status-chip--degraded { border-color: #e3c3b5; color: var(--warning); background: var(--warning-soft); }.page-status-chip--missing { border-color: #ffd3dc; color: var(--danger); background: var(--danger-soft); }
.table-footer { min-width: 0; min-height: 62px; padding: 11px 19px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }.table-footer p { margin: 0; color: var(--muted); font-size: 12px; }.table-footer > nav { min-width: 0; max-width: 100%; }
.pagination { max-width: 100%; margin: 0; padding: 0 0 3px; display: flex; align-items: center; gap: 8px; overflow-x: auto; list-style: none; scrollbar-width: thin; }.pagination > li { min-width: 37px; height: 37px; border: 1px solid #dfdee7; border-radius: 7px; overflow: hidden; display: grid; place-items: center; flex: 0 0 auto; background: #fff; }.pagination > li > a, .pagination > li > span { width: 100%; height: 100%; padding: 0 9px; display: grid; place-items: center; }.pagination > li.active { border-color: var(--pink); color: #fff; background: var(--pink); }.pagination > li.disabled { color: #aaa8b3; background: #fafafa; }.pagination > li.prev, .pagination > li.next { min-width: 43px; white-space: nowrap; }.page-jump { justify-self: end; }.page-jump select { height: 38px; min-width: 142px; padding: 0 34px 0 13px; border: 1px solid #dfdee7; border-radius: 8px; color: #4a485b; background: #fff; }
.panel-empty-state { min-height: 230px; padding: 35px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--muted); text-align: center; }
.panel-empty-state > .icon { width: 38px; height: 38px; margin-bottom: 13px; color: #9c6779; }
.panel-empty-state strong { color: var(--ink); font-size: 16px; }
.panel-empty-state p { margin: 7px 0 0; }

.users-panel { overflow: hidden; }
.user-role-filters { min-height: 70px; padding: 13px 18px; border-bottom: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: 9px; background: #fcfbfc; }
.user-role-filter { min-height: 42px; padding: 6px 8px 6px 14px; border: 1px solid #e1dfe5; border-radius: 9px; display: inline-flex; align-items: center; gap: 10px; color: #555263; background: #fff; font-size: 11px; font-weight: 700; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.user-role-filter strong { min-width: 27px; padding: 5px 7px; border-radius: 7px; color: #716e7b; background: #f2f1f3; text-align: center; font-size: 10px; }
.user-role-filter:hover { border-color: #c9c5cd; background: #fff; box-shadow: 0 4px 12px rgba(32,27,39,.06); }
.user-role-filter.is-active { border-color: #454150; color: #272432; background: #f5f3f5; box-shadow: inset 0 0 0 1px #454150; }
.user-role-filter--practitioner.is-active { border-color: #c490a1; color: #84415a; background: #faf2f5; box-shadow: inset 0 0 0 1px #c490a1; }
.user-role-filter--adherent.is-active { border-color: #87b8a4; color: #176e4d; background: #eff8f4; box-shadow: inset 0 0 0 1px #87b8a4; }
.user-role-filter--former_adherent.is-active { border-color: #cf9c7e; color: #7b472a; background: #fbf2ed; box-shadow: inset 0 0 0 1px #cf9c7e; }
.users-search { width: min(340px, 34vw); }
.clear-filter-link { color: #696675; font-size: 11px; font-weight: 700; }
.clear-filter-link:hover { color: var(--pink); text-decoration: underline; }
.users-table { min-width: 900px; }
.users-table .user-identity { min-width: 185px; }
.users-table .user-identity-link { color: inherit; text-decoration: none; }
.users-table .user-identity-link:hover strong { color: var(--pink); }
.users-table .clickable-table-row { cursor: pointer; }
.users-table .clickable-table-row:hover > td { background: #fff8fa; }
.users-table .user-email { color: #454253; overflow-wrap: anywhere; }
.users-table .user-email:hover { color: var(--pink); text-decoration: underline; }
.empty-value { color: #aaa7b0; }
.membership-expiration { display: inline-flex; align-items: center; gap: 7px; color: #39705e; font-weight: 700; white-space: nowrap; }
.membership-expiration .icon { width: 16px; }
.membership-expiration--past { color: #985334; }
.users-empty-state { height: 230px; color: var(--muted); text-align: center; }
.users-empty-state > .icon { width: 30px; height: 30px; margin: 0 auto 10px; display: block; color: #9a7180; }
.users-empty-state strong { margin-bottom: 8px; display: block; color: #454252; font-size: 13px; }

.stat-grid { margin-bottom: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 16px; }
.stat-card { --stat-color: var(--pink); --stat-soft: var(--pink-soft); position: relative; min-height: 112px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); display: flex; align-items: center; gap: 14px; overflow: hidden; background: #fff; box-shadow: var(--shadow); transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.stat-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--stat-color); }
.stat-card:hover { border-color: var(--stat-color); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(24,20,39,.09); }
.stat-card--users { --stat-color: #496b8b; --stat-soft: #edf3f7; }
.stat-card--professionals { --stat-color: #9b6246; --stat-soft: #f8f0ec; }
.stat-card--members { --stat-color: #3d796f; --stat-soft: #edf6f3; }
.stat-card--former_members { --stat-color: #985334; --stat-soft: #fbf1eb; }
.stat-card > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.stat-card strong { color: var(--stat-color); font-size: 25px; }
.stat-card small { color: #4f4d60; font-weight: 650; }
.stat-icon { width: 46px; height: 46px; border-radius: 11px; display: grid; place-items: center; color: var(--stat-color); background: var(--stat-soft); }
.stat-arrow { margin-left: auto; width: 16px; color: var(--stat-color); opacity: .65; }
.stat-card--compact { min-height: 94px; padding: 17px; border-color: var(--line); }
.stat-card--compact strong { font-size: 23px; }
.stat-card--compact .stat-icon { width: 42px; height: 42px; border-radius: 10px; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }.panel { overflow: hidden; }.panel-heading, .form-card-heading { padding: 20px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }.panel-heading h2, .form-card-heading h2, .metadata-card h2 { margin: 0 0 4px; font-size: 17px; }.panel-heading p, .form-card-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.compact-list { display: grid; }.compact-row { min-height: 67px; padding: 12px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }.compact-row:last-child { border: 0; }.compact-row:hover { background: #fffbfc; }.compact-main { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 4px; }.compact-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.compact-main small, .compact-row time { color: var(--muted); font-size: 11px; }.empty-state { padding: 30px; color: var(--muted); text-align: center; }

.expired-members-panel { overflow: hidden; border-color: #e5c2b3; border-top: 4px solid #b8613f; box-shadow: 0 12px 32px rgba(119,70,48,.08); }
.expired-panel-heading { min-height: 78px; padding: 16px 20px; border-bottom: 1px solid #ead1c5; display: flex; align-items: center; gap: 13px; background: #fcf5f1; }
.expired-panel-heading h2 { margin: 0 0 4px; color: #563527; font-size: 17px; }
.expired-panel-heading p { margin: 0; color: #8a5a45; font-size: 12px; }
.expired-panel-icon { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; color: #9d4f32; background: #f5e1d7; }
.expired-members-table { min-width: 900px; }
.expired-members-table th, .expired-members-table td { padding-right: 12px; padding-left: 12px; }
.expired-members-table tbody tr:hover { background: #fdf9f7; }
.expired-members-table address { min-width: 145px; max-width: 220px; color: #454254; font-style: normal; line-height: 1.45; }
.expired-members-table .row-actions { min-width: 155px; align-items: stretch; flex-direction: column; }
.expired-members-table .action { justify-content: flex-start; }
.expired-email { color: #8d472b; font-weight: 650; overflow-wrap: anywhere; }
.expired-email:hover { text-decoration: underline; }
.missing-contact { color: #8a8791; font-size: 11px; font-style: italic; }
.expired-date { display: inline-flex; align-items: center; gap: 7px; color: #9b452d; font-weight: 700; white-space: nowrap; }
.expired-date .icon { width: 16px; }
.action--email { border-color: #e6bda9; color: #8d472b; background: #fcf3ee; }
.action--email:hover { border-color: #c87956; background: #f8e7de; }
.action--email.is-disabled { border-color: #e5e2e0; color: #99949a; background: #f6f5f5; cursor: not-allowed; }
.expired-empty-state { min-height: 250px; padding: 35px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #6c544a; text-align: center; }
.expired-empty-state > .icon { width: 38px; height: 38px; margin-bottom: 13px; color: #a85b3c; }
.expired-empty-state strong { color: #563527; font-size: 16px; }
.expired-empty-state p { margin: 6px 0 0; color: var(--muted); }

.record-form { display: grid; gap: 18px; }.form-card { overflow: hidden; }.form-card--narrow { width: min(700px, 100%); padding-bottom: 22px; }.form-grid { padding: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.form-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }.field-group { display: grid; align-content: start; gap: 7px; }.form-card--narrow > .field-group { margin: 22px; }.field-group--wide { grid-column: span 1; }.field-group--span-two { grid-column: span 2; }.field-group--full { grid-column: 1 / -1; }.field-group label, .editor-heading label { color: #302e43; font-size: 12px; font-weight: 750; }.field-group small, .editor-heading small { color: var(--muted); font-size: 11px; }
.article-category-author { min-width: 150px; display: grid; justify-items: start; gap: 7px; }
.article-category-author > small { padding-left: 3px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.field-group input, .field-group select, .field-group textarea, .field-inline select { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #dedde6; border-radius: 8px; color: var(--ink); background: #fff; }.field-group select[multiple] { min-height: 122px; }.field-group textarea { resize: vertical; line-height: 1.5; }
.checkbox-field { grid-template-columns: auto 1fr; align-items: start; }.checkbox-field input { width: 18px; min-height: 18px; margin: 2px 0 0; accent-color: var(--pink); }.checkbox-field span { display: grid; gap: 4px; }
.checkbox-select { position: relative; }
.checkbox-select__button { width: 100%; min-height: 43px; padding: 9px 12px; border: 1px solid #dedde6; border-radius: 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); background: #fff; text-align: left; }
.checkbox-select__button:hover { border-color: #c6c4d1; }.checkbox-select__button:focus { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(216,62,109,.1); outline: none; }.checkbox-select__button .icon { width: 17px; transition: transform .15s ease; }.is-open .checkbox-select__button .icon { transform: rotate(90deg); }
.checkbox-select__panel { position: absolute; z-index: 25; top: calc(100% + 7px); right: 0; left: 0; max-height: 250px; padding: 7px; border: 1px solid #dedde6; border-radius: 10px; overflow-y: auto; background: #fff; box-shadow: 0 15px 38px rgba(24,20,39,.14); }
.checkbox-select__option { min-height: 42px; padding: 8px 10px; border-radius: 7px; display: flex; align-items: center; gap: 11px; cursor: pointer; }.checkbox-select__option:hover { background: var(--pink-soft); }.field-group .checkbox-select__option input { width: 19px; height: 19px; min-height: 19px; margin: 0; padding: 0; flex: 0 0 auto; accent-color: var(--pink); }.checkbox-select__option span { font-size: 13px; font-weight: 600; }
.geocoding-note { min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid #d9e8e1; border-radius: 8px; display: flex; align-items: center; gap: 10px; color: #42695a; background: #f3f8f6; font-size: 12px; line-height: 1.45; }.geocoding-note .icon { width: 18px; flex: 0 0 auto; color: var(--green); }
.social-targets { padding: 20px 22px 12px; display: grid; grid-template-columns: minmax(0, 620px); gap: 13px; }
.social-target { min-height: 74px; padding: 14px; border: 1px solid #dedde6; border-radius: 10px; display: flex; align-items: center; gap: 12px; background: #fff; }
.social-target.is-disabled { color: #777483; background: #fafafa; }
.social-target-copy { min-width: 0; display: grid; flex: 1; gap: 4px; }.social-target-copy small { color: var(--muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-target input { width: 24px; height: 24px; flex: 0 0 auto; accent-color: var(--pink); }
.social-publish-note { margin: 0; padding: 0 22px 20px; color: var(--muted); font-size: 11px; }
.social-mark { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; font-size: 18px; font-weight: 850; }
.social-mark--facebook { color: #315f9e; background: #edf3fa; }
.social-mark--disqus { color: #345f80; background: #edf4f8; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; }.save-status { color: var(--muted); font-size: 11px; }.save-status.is-dirty { color: var(--orange); }
.editor-heading { padding: 0 22px 12px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }.editor-heading > div:first-child { display: grid; gap: 4px; }.editor-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }.image-upload-button { min-height: 39px; padding: 0 15px; border-color: #e7b5c4; color: var(--pink-dark); background: var(--pink-soft); }.image-upload-button:hover { border-color: var(--pink); background: #f8e8ed; }.image-upload-button:disabled { cursor: wait; opacity: .62; }.image-upload-button.is-loading .icon { animation: image-upload-pulse .8s ease-in-out infinite alternate; }.editor-view-switch { padding: 3px; border-radius: 8px; display: flex; background: #f2f1f4; }.editor-view-switch button { height: 33px; padding: 0 13px; border: 0; border-radius: 6px; color: #5f5d70; background: transparent; font-size: 12px; font-weight: 700; }.editor-view-switch button.is-active { color: var(--ink); background: #fff; box-shadow: 0 2px 7px rgba(20,17,35,.08); }
.editor-source { width: calc(100% - 44px); min-height: 520px; margin: 0 22px 22px; padding: 16px; border: 1px solid #dedde6; border-radius: 9px; resize: vertical; }.editor-host, .preview-pane { margin: 0 22px 22px; }.toastui-editor-defaultUI { border-color: #dedde6 !important; border-radius: 9px !important; overflow: hidden; }.toastui-editor-toolbar { background: #faf9fb !important; }.preview-pane { min-height: 600px; border: 1px solid #dedde6; border-radius: 9px; position: relative; overflow: hidden; }.preview-pane iframe, .article-preview-card iframe { width: 100%; height: 650px; border: 0; display: block; background: #fff; }.preview-loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); background: #fff; }.editor-error { min-height: 17px; margin: -10px 22px 18px; color: var(--danger); font-size: 12px; }
.toastui-editor-contents img { display: block !important; width: auto !important; max-width: min(100%, 720px) !important; max-height: 240px !important; margin: 16px auto !important; object-fit: contain; }
.editor-error.is-success { color: var(--green); }
@keyframes image-upload-pulse { to { transform: scale(1.12); } }
.detail-grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(450px,1.25fr); gap: 20px; }.metadata-card { padding-bottom: 4px; }.metadata-list { margin: 0; }.metadata-list > div { min-height: 61px; padding: 13px 22px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 145px 1fr; align-items: center; gap: 15px; }.metadata-list dt { color: var(--muted); font-size: 11px; font-weight: 700; }.metadata-list dd { margin: 0; line-height: 1.45; }.danger-zone { margin: 20px; padding: 16px; border: 1px solid #ffd3dc; border-radius: 9px; display: flex; align-items: center; justify-content: space-between; gap: 15px; background: #fffafb; }.danger-zone p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }.card-actions { padding: 20px; }.empty-card { min-height: 350px; padding: 35px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.empty-card h2 { margin: 15px 0 6px; }.empty-card p { margin: 0 0 20px; color: var(--muted); }
.article-stat-grid { margin-bottom: 20px; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }.article-stat-grid article { min-height: 115px; padding: 18px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }.article-stat-grid span { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }.article-stat-grid strong { margin: 10px 0 6px; color: var(--pink); font-size: 25px; }.article-stat-grid small { margin-top: auto; color: var(--muted); font-size: 10px; line-height: 1.35; }
.avatar-card { margin-bottom: 20px; overflow: visible; }.avatar-card-body { padding: 22px; display: flex; align-items: center; gap: 24px; }.avatar-card-preview { width: 150px; height: 150px; border: 5px solid #fff; border-radius: 50%; overflow: hidden; display: grid; place-items: center; flex: 0 0 auto; background: #f4eef0; box-shadow: 0 0 0 1px #e2dfe4, 0 9px 24px rgba(42,30,40,.1); }.avatar-card-preview img { width: 100%; height: 100%; display: block; object-fit: cover; }.avatar-card-preview--empty span { color: var(--pink); font-size: 36px; font-weight: 800; }.avatar-card-copy { max-width: 650px; display: grid; gap: 8px; }.avatar-card-copy > strong { font-size: 17px; }.avatar-card-copy > p { margin: 0; color: var(--muted); line-height: 1.55; }.avatar-card-actions { margin-top: 8px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }.avatar-card-actions .button_to { margin: 0; }.avatar-hidden-form { display: none; }
.avatar-view-button { width: 100%; height: 100%; padding: 0; border: 0; border-radius: inherit; display: block; overflow: hidden; background: transparent; cursor: zoom-in; }.avatar-view-button:focus-visible { outline: 2px solid var(--pink); outline-offset: 2px; }.avatar-view-button img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .15s ease; }.avatar-view-button:hover img { transform: scale(1.06); }
.image-lightbox { width: min(680px, calc(100% - 30px)); max-height: calc(100vh - 30px); padding: 0; border: 0; border-radius: 16px; overflow: auto; color: var(--ink); background: transparent; box-shadow: 0 28px 80px rgba(18,17,28,.28); }.image-lightbox::backdrop { background: rgba(22,22,31,.66); backdrop-filter: blur(3px); }.image-lightbox__card { position: relative; padding: 24px; display: grid; gap: 13px; background: #fff; }.image-lightbox__card > img { width: min(560px, 100%); max-height: 70vh; margin: 0 auto; border-radius: 12px; display: block; object-fit: contain; background: #f6f4f5; }.image-lightbox__card p { margin: 0; color: var(--muted); text-align: center; font-size: 13px; }.image-lightbox__close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; color: #464452; background: rgba(255,255,255,.94); font-size: 24px; line-height: 1; box-shadow: 0 4px 14px rgba(20,17,35,.12); }
.avatar-crop-dialog { width: min(600px, calc(100% - 28px)); max-height: calc(100vh - 28px); max-height: calc(100dvh - 28px); padding: 0; border: 0; border-radius: 16px; overflow: auto; color: var(--ink); background: transparent; box-shadow: 0 28px 80px rgba(18,17,28,.24); }.avatar-crop-dialog::backdrop { background: rgba(22,22,43,.5); backdrop-filter: blur(2px); }.avatar-crop-dialog-card { position: relative; padding: 25px; background: #fff; }.avatar-crop-loading { position: absolute; z-index: 6; inset: 0; min-height: 280px; border-radius: inherit; display: grid; align-content: center; justify-items: center; gap: 14px; color: var(--pink-dark); background: rgba(255,255,255,.94); backdrop-filter: blur(3px); }.avatar-crop-loading[hidden] { display: none; }.avatar-crop-loading__spinner { width: 46px; height: 46px; border: 4px solid #f1dce2; border-top-color: var(--pink); border-radius: 50%; animation: sync-spin .8s linear infinite; }.avatar-crop-loading strong { font-size: 15px; }.avatar-crop-close { position: absolute; top: 10px; right: 10px; min-width: 44px; min-height: 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; color: #555363; background: #fff; font-size: 23px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }.avatar-crop-heading { padding-right: 45px; }.avatar-crop-heading small { color: var(--pink); font-weight: 750; }.avatar-crop-heading h2 { margin: 3px 0 7px; font-size: 24px; }.avatar-crop-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.avatar-crop-workspace { width: min(360px, 100%); margin: 22px auto 0; }.avatar-crop-viewport { position: relative; width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; touch-action: none; cursor: grab; background: #eee; box-shadow: 0 0 0 8px #f7eef1, 0 0 0 9px #e2cbd2; user-select: none; }.avatar-crop-viewport:active { cursor: grabbing; }.avatar-crop-viewport > img { position: absolute; top: 0; left: 0; max-width: none; transform-origin: 0 0; pointer-events: none; }.avatar-crop-guide { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(15,15,25,.12); pointer-events: none; }.avatar-zoom-control { margin-top: 24px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; color: #454255; font-size: 12px; font-weight: 700; }.avatar-zoom-control input { width: 100%; accent-color: var(--pink); }.avatar-crop-help { margin: 15px 0 0; color: var(--muted); text-align: center; font-size: 11px; }.avatar-crop-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 10px; }
.publication-panel { margin-bottom: 20px; }.publication-list { display: grid; }.publication-row { min-height: 76px; padding: 14px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }.publication-row:last-child { border-bottom: 0; }.publication-copy { min-width: 0; display: grid; flex: 1; gap: 4px; }.publication-copy small { color: var(--muted); font-size: 11px; }.publication-row .button_to { margin: 0; }
.integration-grid { width: 100%; display: grid; gap: 16px; align-items: start; }.integration-card { padding-bottom: 18px; }.integration-heading { min-height: 76px; padding: 17px 20px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }.integration-heading > div { min-width: 0; flex: 1; }.integration-heading h2 { margin: 0 0 4px; font-size: 19px; }.integration-heading p, .integration-state p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }.integration-state { min-height: 0; margin: 14px 20px 12px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 10px; display: flex; align-items: center; background: var(--soft); }.integration-state--connected { gap: 12px; color: var(--green); background: var(--green-soft); }.integration-state--connected > .icon { width: 25px; }.integration-state--connected div { display: grid; gap: 4px; }.integration-state--connected small { color: #477664; font-size: 13px; }.integration-actions { min-height: 45px; padding: 0 20px 12px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }.integration-card > .status-pill { margin: 0 20px 17px; }.callback-box { margin: 0 20px; padding: 13px 14px; border-radius: 8px; display: grid; gap: 6px; color: #5c596b; background: #f6f5f7; font-size: 13px; }.callback-box code { overflow-wrap: anywhere; color: #343143; font-family: var(--mono); font-size: 13px; }.integration-selection { margin: 16px 20px; }.integration-selection h3 { margin: 0 0 5px; font-size: 16px; }.integration-selection > p { margin: 0 0 13px; color: var(--muted); font-size: 13px; }.page-choice { width: 100%; min-height: 58px; margin-bottom: 8px; padding: 10px 13px; border: 1px solid #dedde6; border-radius: 8px; display: flex; align-items: center; gap: 12px; color: var(--ink); background: #fff; text-align: left; }.page-choice:hover { border-color: var(--pink); background: var(--pink-soft); }.page-choice span { display: grid; flex: 1; gap: 3px; }.page-choice small { color: var(--muted); font-size: 13px; }.page-choice .icon { width: 16px; }.inline-alert { padding: 12px; border: 1px solid #ffd2dc; border-radius: 8px; color: #9f1637; background: var(--danger-soft); font-size: 13px; }

.renewal-preferences-card { width: 100%; margin-bottom: 20px; }
.renewal-preferences-card .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.renewal-preferences-card .checkbox-field { min-height: 76px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; align-items: center; background: var(--soft); }
.renewal-preferences-card .checkbox-field input { width: 38px; height: 22px; min-height: 22px; appearance: none; border: 0; border-radius: 999px; position: relative; background: #c8c6ce; cursor: pointer; transition: background .18s ease; }
.renewal-preferences-card .checkbox-field input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(28,25,39,.2); transition: transform .18s ease; }
.renewal-preferences-card .checkbox-field input:checked { background: var(--pink); }
.renewal-preferences-card .checkbox-field input:checked::after { transform: translateX(16px); }
.renewal-preferences-card .checkbox-field label { font-size: 15px; }
.renewal-preferences-card .checkbox-field small { font-size: 13px; line-height: 1.45; }
.professional-audience-card { margin-bottom: 20px; }
.professional-audience-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr); gap: 18px; align-items: stretch; }
.professional-stat-grid { margin: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.professional-country-panel { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.professional-country-panel h3 { margin: 0 0 10px; font-size: 15px; }
.professional-country-panel .muted-copy { margin: 0; color: var(--muted); font-size: 13px; }
.renewal-preferences-card .form-actions { padding: 0 22px; }

.share-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 16px; overflow: auto; color: var(--ink); background: transparent; box-shadow: 0 28px 80px rgba(18,17,28,.24); }
.share-dialog::backdrop { background: rgba(22,22,43,.46); backdrop-filter: blur(2px); }
.share-dialog-card { position: relative; padding: 25px; background: #fff; }
.share-dialog-close { position: absolute; top: 15px; right: 15px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: #555363; background: #fff; font-size: 23px; line-height: 1; }
.share-dialog-close:hover { background: var(--soft); }
.share-dialog-heading { padding-right: 40px; display: flex; align-items: center; gap: 13px; }
.share-dialog-heading p { margin: 0 0 3px; color: var(--green); font-size: 11px; font-weight: 750; }
.share-dialog-heading h2 { margin: 0; font-size: 24px; }
.share-x-mark { width: 45px; height: 45px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: #18181b; font-size: 17px; font-weight: 850; }
.share-preview { margin-top: 20px; border: 1px solid #dedde6; border-radius: 11px; overflow: hidden; background: #fafafa; }
.share-preview > img { width: 100%; height: 245px; display: block; object-fit: cover; background: #f2f1f4; }
.share-preview-placeholder { height: 150px; display: grid; place-items: center; align-content: center; gap: 9px; color: var(--muted); background: #f5f4f6; font-size: 12px; }
.share-preview-placeholder .icon { width: 30px; height: 30px; }
.share-preview-copy { padding: 14px 16px; display: grid; gap: 5px; background: #fff; }
.share-preview-copy strong { line-height: 1.4; }
.share-preview-copy small { color: var(--muted); }
.share-dialog-note { margin: 16px 0 19px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.share-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }
.button--x { color: #fff; background: #18181b; }
.button--x:hover { background: #333338; }

.video-panel { margin-bottom: 22px; overflow: hidden; }
.video-panel-heading { align-items: center; }
.video-panel-heading h2 { margin-top: 6px; }
.video-panel-eyebrow { display: inline-flex; align-items: center; gap: 7px; color: #a82f56; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.video-panel-eyebrow .icon { width: 17px; height: 17px; }
.video-result { padding: 22px; display: grid; grid-template-columns: minmax(220px, 310px) 1fr; gap: 28px; align-items: center; }
.video-result video { width: 100%; max-height: 530px; border-radius: 13px; display: block; background: #1d1c24; box-shadow: 0 12px 32px rgba(28,24,35,.14); }
.video-result-copy h3, .video-progress h3, .video-failure h3, .video-empty h3 { margin: 0 0 7px; font-size: 17px; }
.video-result-copy > p, .video-progress p, .video-failure p, .video-empty p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.video-facts { margin: 18px 0; display: flex; gap: 22px; }
.video-facts div { display: grid; gap: 3px; }
.video-facts dt { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.video-facts dd { margin: 0; font-size: 12px; font-weight: 750; }
.video-panel-actions { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.video-stale-note { margin-top: 15px !important; padding: 10px 12px; border-radius: 8px; color: #7d4c1e !important; background: #fff7e9; }
.video-progress, .video-failure, .video-empty { min-height: 150px; padding: 25px; display: flex; align-items: center; gap: 18px; background: #fcfafb; }
.video-panel--failed { border-color: #efd4dc; }
.video-failure { background: #fffafb; }
.video-progress-icon { width: 55px; height: 55px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; color: #ad355d; background: #f8e9ee; }
.video-progress-icon .icon { width: 25px; height: 25px; }
.video-progress-copy { width: min(650px, 100%); }
.video-progress-track { height: 8px; margin-top: 17px; border-radius: 999px; overflow: hidden; background: #eadfe3; }
.video-progress-track span { height: 100%; min-width: 4px; border-radius: inherit; display: block; background: #c34b73; transition: width .25s ease; }
.video-progress-copy small { margin-top: 6px; display: block; color: var(--muted); font-size: 10px; }
.video-progress-copy .button--disabled { margin-top: 16px; }
.video-cost-note { margin-top: 13px !important; padding: 11px 13px; border: 1px solid #ead9df; border-radius: 8px; color: #5f5360 !important; background: #fbf6f8; }
.video-cost-note strong { color: #5f2f40; }
.video-failure .button, .video-empty .button { margin-top: 16px; }

.session-body { display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 15% 15%, #fff0f5, transparent 35%), linear-gradient(145deg, #fff, #faf8fb); }.session-shell { width: min(430px, 100%); }.session-card { padding: 40px; border: 1px solid var(--line); border-radius: 18px; display: grid; gap: 26px; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(37,21,44,.1); }.session-brand { margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }.session-brand img { width: 190px; height: auto; display: block; }.session-card h1 { margin: 0 0 7px; font-size: 29px; }.session-card p { margin: 0; color: var(--muted); }.session-form { display: grid; gap: 17px; }

@media (max-width: 1400px) {
  .articles-table .row-actions { gap: 6px; }.articles-table .action span { display: none; }.articles-table .action { width: 37px; padding: 0; justify-content: center; }
}
@media (max-width: 1180px) {
  .stat-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid, .detail-grid, .integration-grid { grid-template-columns: 1fr; }
  .article-stat-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 1050px) {
  .admin-identity small { display: none; }
}
@media (max-width: 850px) {
  .sidebar { transform: translateX(-100%); box-shadow: 15px 0 40px rgba(20,17,35,.12); transition: transform .2s ease; }.sidebar.is-open { transform: none; }.admin-shell { margin-left: 0; }.sidebar-toggle { display: block; }.topbar { height: 73px; padding: 0 18px; }.logout-button span, .top-search kbd { display: none; }.logout-button { width: 43px; padding: 0; justify-content: center; }.top-search { width: auto; flex: 1; }.main-content { padding: 23px 18px 40px; }.table-toolbar { align-items: stretch; flex-wrap: wrap; }.toolbar-spacer { display: none; }.inline-search { width: 100%; order: -1; }.user-role-filters { align-items: stretch; }.user-role-filter { flex: 1 1 145px; justify-content: space-between; }.form-grid--three { grid-template-columns: repeat(2, 1fr); }.field-group--wide { grid-column: span 2; }.table-footer { grid-template-columns: minmax(0, 1fr); }.table-footer > nav { width: 100%; justify-self: stretch; }.article-stat-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 580px) {
  .page-heading { flex-direction: column; }.page-heading > .button { width: 100%; }.stat-grid, .form-grid, .form-grid--three, .social-targets, .article-stat-grid { grid-template-columns: 1fr; }.field-group--wide, .field-group--span-two { grid-column: span 1; }.dashboard-grid { grid-template-columns: 1fr; }.per-page span { display: none; }.table-footer { padding-right: 10px; padding-left: 10px; align-items: flex-start; }.pagination { width: 100%; gap: 4px; }.pagination > li { min-width: 34px; height: 34px; }.pagination > li.prev, .pagination > li.next { min-width: 36px; }.page-jump { width: 100%; justify-self: stretch; }.page-jump select { width: 100%; }.editor-heading { align-items: stretch; flex-direction: column; }.editor-actions { align-items: stretch; flex-direction: column; }.image-upload-button { width: 100%; }.editor-view-switch button { flex: 1; }.form-actions { flex-direction: column-reverse; }.form-actions .button { width: 100%; }.metadata-list > div { grid-template-columns: 1fr; gap: 5px; }.danger-zone { align-items: stretch; flex-direction: column; }.session-card { padding: 28px 22px; }.session-brand { align-items: flex-start; flex-direction: column; }.publication-row { align-items: flex-start; flex-wrap: wrap; }.publication-copy { min-width: calc(100% - 55px); }.publication-row .status-pill { margin-left: 49px; }.integration-actions { align-items: stretch; flex-direction: column; }.integration-actions .button, .integration-actions form, .integration-actions form button { width: 100%; }.share-dialog-card { padding: 21px 18px; }.share-preview > img { height: 190px; }.share-dialog-actions { align-items: stretch; flex-direction: column-reverse; }.share-dialog-actions .button { width: 100%; }
}
@media (max-width: 720px) {
  .video-result { grid-template-columns: 1fr; }.video-result video { max-width: 310px; margin: 0 auto; }.video-progress, .video-failure, .video-empty { align-items: flex-start; flex-direction: column; }.video-panel-actions { align-items: stretch; flex-direction: column; }.video-panel-actions .button, .video-panel-actions form, .video-panel-actions form button { width: 100%; }
}
@media (max-width: 580px) {
  .avatar-card-body { align-items: stretch; flex-direction: column; }.avatar-card-preview { width: 130px; height: 130px; }.avatar-card-actions { align-items: stretch; flex-direction: column; }.avatar-card-actions .button, .avatar-card-actions .button_to, .avatar-card-actions .button_to button { width: 100%; }.avatar-crop-dialog { width: calc(100% - 16px); max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px); }.avatar-crop-dialog-card { padding: 22px 17px calc(22px + env(safe-area-inset-bottom)); }.avatar-crop-actions { align-items: stretch; flex-direction: column-reverse; }.avatar-crop-actions .button { width: 100%; }.avatar-crop-actions button { min-height: 44px; }
}
@media (max-height: 480px) and (orientation: landscape) {
  .avatar-crop-dialog { max-height: 100dvh; width: min(720px, calc(100% - 16px)); }.avatar-crop-dialog-card { padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); }.avatar-crop-workspace { width: min(220px, 42vh); margin-top: 8px; }.avatar-crop-heading h2 { margin: 0; font-size: 18px; }.avatar-crop-help { margin-top: 8px; }.avatar-crop-actions { margin-top: 12px; flex-wrap: wrap; }.avatar-crop-actions button { min-height: 44px; }.avatar-consent-choice { flex: 1 1 100%; }
}

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

.disqus-stat-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.disqus-stat-card { min-height: 94px; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); display: flex; align-items: center; gap: 13px; background: #fff; box-shadow: var(--shadow); }
.disqus-stat-card > span:last-child { display: grid; gap: 2px; }
.disqus-stat-card strong { font-size: 23px; }
.disqus-stat-card small { color: var(--muted); font-size: 11px; }
.disqus-stat-icon { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; color: #8b4c61; background: #f8f0f3; }
.disqus-stat-card--warning { border-color: #e3c3b5; }
.disqus-stat-card--warning .disqus-stat-icon { color: #965337; background: #faf0eb; }
.disqus-stat-card--censored .disqus-stat-icon { color: #8a522c; background: #fff1e5; }
.disqus-connection { min-height: 82px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid #d8e8e0; border-radius: var(--radius); display: flex; align-items: center; gap: 14px; background: #f4faf7; box-shadow: var(--shadow); }
.disqus-connection--warning { border-color: #ecd5c7; background: #fff8f2; }
.disqus-connection-icon { width: 43px; height: 43px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--green); background: #dff2e8; }
.disqus-connection--warning .disqus-connection-icon { color: #985b35; background: #f8e7dc; }
.disqus-connection > div { min-width: 0; flex: 1; }
.disqus-connection strong { display: block; margin-bottom: 4px; font-size: 14px; }
.disqus-connection p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.disqus-sync-error { margin-top: 3px; display: block; color: #9a3b30; font-weight: 700; }
.disqus-import-panel { margin-bottom: 18px; overflow: hidden; }
.disqus-archive-panel > summary { min-height: 66px; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.disqus-archive-panel > summary::-webkit-details-marker { display: none; }
.disqus-archive-panel > summary > span:first-child { display: grid; gap: 4px; }
.disqus-archive-panel > summary small { color: var(--muted); font-size: 10px; }
.disqus-archive-panel > summary > span:last-child { color: var(--pink-dark); font-size: 11px; font-weight: 750; }
.disqus-archive-panel[open] > summary { border-bottom: 1px solid var(--line); }
.disqus-import-body { padding: 20px 22px; display: grid; grid-template-columns: minmax(340px, .8fr) minmax(420px, 1.2fr); gap: 28px; align-items: start; }
.disqus-upload-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 13px; }
.disqus-upload-form input[type="file"] { padding: 7px; }
.disqus-import-history { display: grid; gap: 7px; }
.disqus-import-history h3 { margin: 0 0 4px; font-size: 13px; }
.disqus-archive-actions { min-height: 40px; margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.disqus-archive-actions small { color: #8a522c; }
.disqus-import-row { min-height: 45px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; display: grid; grid-template-columns: minmax(150px, 1fr) auto auto auto; align-items: center; gap: 12px; color: #555264; font-size: 10px; background: var(--soft); }
.disqus-import-file { min-width: 0; display: grid; gap: 2px; }
.disqus-import-file strong { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.disqus-import-file small { color: var(--muted); }
.disqus-export { white-space: nowrap; }
.disqus-comments-table { min-width: 1100px; }
.disqus-comments-table td { vertical-align: top; }
.disqus-author-cell { min-width: 145px; max-width: 190px; }
.disqus-author-cell strong, .disqus-author-cell a, .disqus-author-cell small { display: block; }
.disqus-author-cell a { margin-top: 5px; color: var(--pink-dark); overflow-wrap: anywhere; }
.disqus-author-cell small { margin-top: 4px; color: var(--muted); }
.disqus-email { margin-top: 5px; display: grid; gap: 2px; overflow-wrap: anywhere; }
.disqus-email--masked .disqus-email-value { color: #5f5b69; }
.disqus-email--masked small { margin: 0; color: #9a5e39; font-size: 9px; font-weight: 750; line-height: 1.35; }
.metadata-list .disqus-email { margin-top: 0; }
.disqus-message-cell { min-width: 220px; max-width: 420px; line-height: 1.5; }
.disqus-comment-excerpt { margin: 0; color: #353246; line-height: 1.55; }
.disqus-message-cell details summary { color: #29273c; cursor: pointer; }
.disqus-message-cell details[open] summary { margin-bottom: 10px; color: var(--pink-dark); font-weight: 700; }
.disqus-message-full { max-height: 300px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; overflow-y: auto; color: #393649; background: #faf9fb; }
.disqus-message-full p { margin: 0 0 10px; }
.disqus-message-full p:last-child { margin-bottom: 0; }
.disqus-reply-label { margin-top: 7px; display: block; color: #757282; font-size: 10px; }
.disqus-source-cell { min-width: 155px; max-width: 230px; }
.disqus-source-cell strong, .disqus-source-cell > a { margin-top: 7px; display: block; }
.disqus-source-cell strong { line-height: 1.4; }
.disqus-source-cell > a { color: var(--pink-dark); font-size: 11px; font-weight: 700; }
.disqus-comments-table tr.is-removed td { background: #fcfafb; opacity: .72; }
.disqus-row-actions { min-width: 185px; flex-wrap: wrap; }
.action--delete { width: 39px; padding: 0; justify-content: center; border-color: transparent; color: var(--danger); background: var(--danger-soft); }
.action--spam, .button--spam { border-color: #ebc9ad; color: #8b4b24; background: #fff4ea; }
.action--spam:hover, .button--spam:hover { border-color: #d8a47c; background: #fce8d7; }
.action--restore { border-color: #cfe4da; color: var(--green); background: var(--green-soft); }
.action--restore:hover { border-color: #94c8b0; background: #e3f5ec; }
.button--quiet { min-height: 38px; padding: 0 12px; color: #625f70; background: transparent; }
.button--quiet:hover { background: var(--soft); }
.disqus-detail-grid { display: grid; grid-template-columns: minmax(480px, 1.25fr) minmax(300px, .75fr); gap: 20px; align-items: start; }
.disqus-comment-card { min-width: 0; }
.disqus-comment-rendered { min-height: 180px; padding: 25px; color: #29273b; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.disqus-comment-rendered p { margin: 0 0 15px; }
.disqus-comment-rendered p:last-child { margin-bottom: 0; }
.disqus-comment-rendered a { color: var(--pink-dark); text-decoration: underline; }
.disqus-original-copy { margin: 0 22px 20px; border: 1px solid #e4e1e7; border-radius: 9px; overflow: hidden; }
.disqus-original-copy > summary { padding: 13px 15px; color: #625f70; background: #f8f7f9; cursor: pointer; font-size: 11px; font-weight: 750; }
.disqus-original-copy > div { max-height: 280px; padding: 16px; overflow-y: auto; color: #555264; font-size: 12px; line-height: 1.6; }
.disqus-moderation-actions { padding: 18px 22px; border-top: 1px solid var(--line); display: flex; align-items: center; flex-wrap: wrap; gap: 10px; background: #fcfbfc; }
.disqus-moderation-actions form { margin: 0; }
.comment-censor-card { width: min(980px, 100%); }
.comment-censor-toolbar { padding: 18px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: end; flex-wrap: wrap; gap: 10px; background: #fcfbfc; }
.comment-censor-toolbar label { min-width: 230px; display: grid; gap: 5px; color: #454253; font-size: 10px; font-weight: 750; }
.comment-censor-toolbar input { min-height: 38px; padding: 8px 11px; border: 1px solid #dcd9e2; border-radius: 8px; background: #fff; }
.comment-censor-or { align-self: center; color: var(--muted); font-size: 11px; }
.comment-censor-help { margin: 20px 22px 12px; padding: 13px 15px; border-left: 4px solid #bd7449; display: grid; gap: 4px; color: #684a39; background: #fff7f0; font-size: 12px; }
.comment-censor-editor { min-height: 300px; max-height: 58vh; margin: 0 22px; padding: 20px; border: 2px solid #d8d5de; border-radius: 10px; overflow-y: auto; color: #29273b; background: #fff; font-size: 16px; line-height: 1.75; caret-color: var(--pink); }
.comment-censor-editor:focus { border-color: var(--pink); box-shadow: 0 0 0 4px rgba(216,62,109,.09); outline: none; }
.comment-censor-editor p { margin: 0 0 14px; }
.comment-censor-editor a { color: var(--pink-dark); text-decoration: underline; }
.comment-censor-source { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.comment-censor-status { min-height: 18px; margin: 10px 22px 0; color: var(--muted); font-size: 11px; }
.comment-censor-status.is-dirty { color: #8a522c; }
.comment-censor-status.is-error { color: var(--danger); }
.comment-censor-card .form-actions { padding: 18px 22px 22px; }
.integration-credentials { margin: 0 22px 22px; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.integration-credentials > summary { padding: 13px 15px; color: var(--pink-dark); background: #faf8f9; cursor: pointer; font-size: 11px; font-weight: 750; }
.integration-credentials-form { padding: 16px; display: grid; gap: 12px; }
.integration-credentials-form label { display: grid; gap: 6px; color: #454253; font-size: 11px; font-weight: 750; }
.integration-credentials-form input { min-height: 42px; padding: 9px 11px; border: 1px solid #dcd9e2; border-radius: 8px; background: #fff; }
.integration-credentials-form small { color: var(--muted); line-height: 1.5; }
.integration-credentials-form .button { justify-self: start; }

@media (max-width: 1320px) {
  .disqus-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .disqus-import-body { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .disqus-toolbar { align-items: stretch; flex-wrap: wrap; }
  .disqus-toolbar > .toolbar-select { flex: 1 1 150px; }
  .disqus-toolbar .inline-search { width: 100%; order: -1; }
  .disqus-detail-grid { grid-template-columns: 1fr; }
  .disqus-connection { align-items: flex-start; flex-wrap: wrap; }
  .disqus-connection > .button_to, .disqus-connection > .button { margin-left: 57px; }
}

@media (max-width: 580px) {
  .disqus-stat-grid { grid-template-columns: 1fr; }
  .disqus-upload-form { grid-template-columns: 1fr; }
  .disqus-upload-form .button { width: 100%; }
  .disqus-import-row { grid-template-columns: 1fr auto; }
  .disqus-import-row > span:nth-child(2), .disqus-import-row > span:nth-child(3) { display: none; }
  .disqus-export { width: 100%; }
  .disqus-connection > .button_to, .disqus-connection > .button, .disqus-connection > .button_to .button { width: 100%; margin-left: 0; }
  .disqus-moderation-actions { align-items: stretch; flex-direction: column; }
  .disqus-moderation-actions .button, .disqus-moderation-actions form, .disqus-moderation-actions form button { width: 100%; }
  .comment-censor-toolbar { align-items: stretch; flex-direction: column; }
  .comment-censor-toolbar label, .comment-censor-toolbar .button { width: 100%; }
  .comment-censor-or { align-self: center; }
  .comment-censor-editor { margin: 0 14px; padding: 15px; }
  .comment-censor-help { margin-right: 14px; margin-left: 14px; }
}

.avatar-consent-choice { display: flex; align-items: flex-start; gap: 9px; width: 100%; color: var(--text); font-size: 13px; line-height: 1.45; }
.avatar-consent-choice input { margin-top: 3px; flex: 0 0 auto; }

@media (max-width: 760px) {
  .renewal-preferences-card .form-grid { grid-template-columns: 1fr; }
  .renewal-preferences-card .form-actions, .renewal-preferences-card .form-actions .button { width: 100%; }
  .professional-audience-layout { grid-template-columns: 1fr; }
}
/* Keep cancellation available while the portrait is being prepared. */
.avatar-crop-dialog .avatar-crop-close { z-index: 7; }
