/* ScriptNest visual system — a bright, creator-first marketplace UI. */

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

:root {
  --ink: #12243b;
  --navy: #12243b;
  --muted: #5d7489;
  --line: #dbe7f1;
  --soft: #f4f8fc;
  --brand: #1194dd;
  --brand-dark: #0875be;
  --brand-soft: #e8f6ff;
  --mint: #1aa981;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: #f4f8fc !important; color: var(--ink); }
h1, h2, h3, h4, .font-display { font-family: 'Space Grotesk', sans-serif; }
.font-mono, code, .mono { font-family: 'JetBrains Mono', monospace; }
::selection { background: #b9e4fb; color: var(--ink); }

/* Site chrome */
header.site-header,
body > header.bg-white\/90 { background: rgba(255,255,255,.92) !important; border-color: var(--line) !important; box-shadow: 0 1px 0 rgba(18,36,59,.02); }
header a { transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.brand-mark { background: linear-gradient(135deg, #159ee9, #0b74c1) !important; color: #fff; box-shadow: 0 8px 18px rgba(17,148,221,.24); }
.site-header nav a { color: #587086; }
.site-header nav a:hover { color: var(--ink); }
.header-search { display: flex; gap: 8px; align-items: center; }
.header-search .input { min-width: 208px; }
.header-search-btn { min-height: 40px; padding: .55rem .9rem; }

/* Accessibility and utilities */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 7px; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
input:focus, textarea:focus, select:focus { outline: none; }

/* Reusable components */
.card { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 7px 25px rgba(33,76,111,.07); }
.card-hover { transition: transform 220ms var(--ease), box-shadow 220ms var(--ease), border-color 220ms var(--ease); }
.card-hover:hover { transform: translateY(-5px); border-color: #a9d9f4; box-shadow: 0 18px 38px rgba(28,91,132,.14); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font-weight: 700; font-size: .875rem; border-radius: 999px; padding: .68rem 1.12rem; transition: all 160ms var(--ease); white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, #17a4ec, #0b78c9); box-shadow: 0 9px 20px rgba(17,148,221,.22); }
.btn-primary:hover { color: #fff; background: linear-gradient(135deg, #0e98de, #086db7); box-shadow: 0 12px 26px rgba(17,148,221,.3); }
.btn-dark { color: #fff; background: var(--navy); box-shadow: 0 9px 20px rgba(18,36,59,.18); }
.btn-dark:hover { color: #fff; background: #1b395a; }
.btn-outline { color: var(--ink); background: #fff; border: 1px solid #cbddea; box-shadow: 0 3px 9px rgba(33,76,111,.04); }
.btn-outline:hover { color: var(--brand-dark); background: #f7fcff; border-color: #8dcced; }
.btn-ghost { color: var(--muted); background: transparent; }
.btn-ghost:hover { color: var(--ink); background: #eaf4fb; }
.btn-danger { color: #c63848; background: #fff0f1; }
.btn-danger:hover { background: #ffe0e4; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

.badge { display: inline-flex; align-items: center; gap: .3rem; font-family: 'JetBrains Mono', monospace; font-size: .68rem; font-weight: 600; letter-spacing: .02em; padding: .28rem .62rem; border-radius: 999px; text-transform: uppercase; }
.badge-mint { background: #e8f9f2; color: #158967; }
.badge-amber { background: #fff7e7; color: #ac650b; }
.badge-red { background: #fff0f1; color: #c63848; }
.badge-slate { background: #e9f0f5; color: #5e768b; }
.badge-brand { background: var(--brand-soft); color: var(--brand-dark); }

.input { width: 100%; border: 1px solid #cbddea; border-radius: 11px; padding: .65rem .88rem; font-size: .875rem; background: #fff; color: var(--ink); transition: border-color 150ms, box-shadow 150ms; }
.input::placeholder { color: #8aa0b2; }
.input:focus { border-color: #58b8ea; box-shadow: 0 0 0 4px rgba(17,148,221,.12); }
.label { display: block; font-size: .8125rem; font-weight: 700; color: var(--ink); margin-bottom: .4rem; }

.term-dots { display: inline-flex; gap: 5px; }
.term-dots span { width: 9px; height: 9px; border-radius: 999px; display: inline-block; }
.term-dots span:nth-child(1) { background: #f15a63; }
.term-dots span:nth-child(2) { background: #f5ae3e; }
.term-dots span:nth-child(3) { background: #28c78c; }
.dot-grid-bg { background-image: radial-gradient(circle, #68bce8 1px, transparent 1px); background-size: 22px 22px; }
.stat-mono { font-family: 'JetBrains Mono', monospace; font-weight: 600; letter-spacing: -.03em; }

/* Homepage hero */
.hero-section { padding: 1.45rem 0 0; }
.hero-shell { position: relative; overflow: hidden; border: 1px solid #c6e5f6; border-radius: 28px; background: linear-gradient(115deg, #d9f2ff 0%, #e8f6ff 46%, #f5fbff 100%); box-shadow: 0 20px 50px rgba(37,117,165,.10); }
.hero-shell::after { content: ''; position: absolute; width: 420px; height: 420px; right: -150px; top: -190px; border-radius: 50%; background: rgba(255,255,255,.37); pointer-events: none; }
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { color: var(--ink); letter-spacing: -.045em; }
.hero-copy > p { color: #49667c; }
.hero-panel { position: relative; z-index: 1; border: 1px solid rgba(167,205,228,.85); border-radius: 21px; background: rgba(255,255,255,.72); padding: 1.15rem; box-shadow: 0 13px 30px rgba(45,104,143,.12); backdrop-filter: blur(8px); }
.hero-panel-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 1rem; }
.hero-panel-live { color: #178a6c; font: 600 .68rem 'JetBrains Mono', monospace; }
.hero-stat { border: 1px solid #c6dce9; border-radius: 14px; background: rgba(244,250,254,.84); padding: .85rem .9rem; box-shadow: 0 4px 12px rgba(54,105,137,.05); }
.hero-stat p:first-child { color: #648095 !important; }
.hero-stat p:last-child { color: var(--ink); }
.hero-workflow { border-color: #c9dfe9 !important; }
.hero-workflow p:last-child { color: #4c677a; }
.hero-trust { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; margin-top: 1.1rem; }
.trust-item { min-height: 77px; padding: .8rem .85rem; border: 1px solid rgba(191,219,234,.9); border-radius: 14px; background: rgba(255,255,255,.67); }
.trust-item strong { display: block; font: 700 .78rem 'Space Grotesk', sans-serif; color: var(--ink); }
.trust-item span { display: block; margin-top: .22rem; color: #698298; font-size: .68rem; line-height: 1.3; }

/* Homepage marketplace */
.marketplace-section { background: #f4f8fc; }
.section-heading h2 { color: var(--ink); }
.section-heading p { color: #6d8395; }
.filters-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.filters-toolbar select { min-width: 180px; width: auto; }
.project-grid { align-items: stretch; }
.project-card { overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.project-thumb { height: 168px !important; background: linear-gradient(135deg, #12243b 0%, #1d5680 55%, #19a4e8 140%) !important; }
.project-thumb img { transition: transform 400ms var(--ease); }
.project-card:hover .project-thumb img { transform: scale(1.035); }
.project-card h3 { color: var(--ink); }
.project-card:hover h3 { color: var(--brand-dark); }
.project-card .project-meta { color: #6d8395; }
.project-card .project-link { color: var(--brand-dark); }

/* How-it-works and lower content */
.how-section { background: linear-gradient(180deg, #eef6fb 0%, #f7fbfe 100%) !important; border-color: var(--line) !important; }
.step-card { position: relative; min-height: 150px; }
.step-card::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 3px; border-radius: 18px 18px 0 0; background: linear-gradient(90deg, #16a1e7, #7ed5f7); opacity: .8; }

/* Account, detail, and form surfaces using existing markup */
main .text-muted { color: var(--muted) !important; }
main .border-line { border-color: var(--line) !important; }
main .bg-slate-50 { background-color: #eef6fb !important; }
main table thead { color: #6a8295; }
main table tbody tr:hover { background: #f7fbfe; }
main textarea, main select { border-color: #cbddea; }

/* Mobile navigation drawer */
#mobileMenu { border-color: var(--line) !important; box-shadow: 0 18px 34px rgba(21,67,100,.13) !important; }
#mobileMenu[data-open="false"] { transform: translateY(-8px); opacity: 0; pointer-events: none; }
#mobileMenu[data-open="true"] { transform: translateY(0); opacity: 1; pointer-events: auto; }
#mobileMenuBtn { border-color: #cbddea !important; }

/* Admin sidebar remains strong and readable against the softer public shell. */
#adminSidebar { box-shadow: 10px 0 30px rgba(18,36,59,.12); }

@media (max-width: 767px) {
  .hero-section { padding-top: .75rem; }
  .hero-shell { border-radius: 22px; }
  .hero-trust { grid-template-columns: 1fr; }
  .filters-toolbar { justify-content: stretch; }
  .filters-toolbar select { flex: 1; min-width: 0; }
  .header-search { gap: 6px; }
  .header-search .input { min-width: 0; }
}
@media (max-width: 520px) {
  .hero-panel { padding: .9rem; }
  .hero-stat { padding: .7rem; }
  .btn { padding-left: .95rem; padding-right: .95rem; }
}

.step-track { position: relative; }
.step-track::after { content: ''; position: absolute; left: 100%; top: 50%; width: 1.25rem; height: 2px; background: var(--line); }
.step-track:last-child::after { display: none; }
.admin-sidebar { background: var(--navy); }

/* Public footer */
.site-footer { background: #f4f8fc; }
.footer-inner { background: #dff3ff; border: 1px solid #c1e4f6; box-shadow: 0 14px 34px rgba(37,117,165,.08); }
.footer-copy { max-width: 38rem; color: #59758a; }
.footer-social { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 999px; color: #fff; background: var(--navy); transition: transform 160ms ease, background 160ms ease; }
.footer-social:hover { color: #fff; background: var(--brand-dark); transform: translateY(-2px); }
.footer-bottom { border-top: 1px solid #bfddec; color: #6b8597; }

/* Admin application shell */
.admin-body { background: #edf4f8 !important; color: var(--ink); }
.admin-main { min-width: 0; background: linear-gradient(180deg, #f7fbfe 0, #edf4f8 42rem); }
.admin-sidebar { width: 274px; flex: 0 0 274px; min-height: 100vh; position: sticky; top: 0; background: linear-gradient(180deg, #122a43 0%, #0d2033 100%) !important; border-right: 1px solid rgba(255,255,255,.08); box-shadow: 12px 0 34px rgba(13,37,59,.12) !important; }
.admin-sidebar .admin-logo-mark { background: linear-gradient(135deg, #20b3f0, #0875be); box-shadow: 0 8px 18px rgba(17,148,221,.25); }
.admin-sidebar nav a { border: 1px solid transparent; color: #aec4d4; transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.admin-sidebar nav a:hover { color: #fff; background: rgba(255,255,255,.075) !important; border-color: rgba(175,224,247,.18); transform: translateX(2px); }
.admin-sidebar nav a.bg-brand-500 { color: #fff; background: linear-gradient(135deg, #19a9ec, #0877c7) !important; border-color: rgba(143,223,255,.26); box-shadow: 0 9px 22px rgba(0,111,180,.28); }
.admin-sidebar .border-white\/10 { border-color: rgba(190,222,239,.15) !important; }
.admin-mobile-topbar { background: rgba(255,255,255,.92) !important; box-shadow: 0 1px 0 rgba(18,36,59,.06), 0 6px 18px rgba(31,82,116,.05); backdrop-filter: blur(10px); }
.admin-mobile-topbar button { border-color: #cbddea !important; color: var(--ink); }
.admin-body .card { box-shadow: 0 7px 24px rgba(33,76,111,.065); }
.admin-body .card:hover { border-color: #b5d9ec; }
.admin-body h1 { color: var(--ink); }
.admin-body table th { font-size: .67rem; letter-spacing: .06em; }
.admin-body table td, .admin-body table th { white-space: nowrap; }
.admin-body main > .p-4 { max-width: 1440px; }

@media (max-width: 767px) {
  #adminSidebar { position: fixed; inset: 0 auto 0 0; width: min(84vw, 300px); max-width: 300px; z-index: 50; transform: translateX(-105%); transition: transform 260ms var(--ease); overflow-y: auto; }
  #adminSidebar[data-open="true"] { transform: translateX(0); }
  #adminOverlay { transition: opacity 220ms var(--ease); opacity: 0; pointer-events: none; }
  #adminOverlay[data-open="true"] { opacity: 1; pointer-events: auto; }
  .admin-body main > .p-4 { padding: 1rem !important; }
  .admin-body .card { border-radius: 16px; }
  .admin-body .grid.grid-cols-2 { gap: .75rem; }
  .admin-body .grid.grid-cols-2 .card { padding: .95rem !important; }
  .admin-body .grid.grid-cols-2 .card p.text-2xl { font-size: 1.25rem; }
}

/* Admin authentication */
.admin-login-page { background: radial-gradient(circle at 18% 16%, #214d70 0, #122a43 34%, #0b1c2d 100%) !important; color: var(--ink); }
.admin-login-page::before { content: ''; position: fixed; inset: 0; pointer-events: none; opacity: .18; background-image: radial-gradient(circle, #9bdcf8 1px, transparent 1px); background-size: 22px 22px; }
.admin-login-card { position: relative; z-index: 1; border: 1px solid #d4e7f2; box-shadow: 0 24px 70px rgba(2,22,40,.34) !important; }
.admin-login-card .admin-logo-mark { background: linear-gradient(135deg, #20b3f0, #0875be); box-shadow: 0 8px 18px rgba(17,148,221,.25); }
.admin-login-card .btn-dark { width: 100%; background: linear-gradient(135deg, #19a9ec, #0877c7); }
.admin-login-card .btn-dark:hover { background: linear-gradient(135deg, #0e98de, #086db7); }
@media (max-width: 420px) {
  .admin-login-card { padding: 1.35rem !important; border-radius: 18px; }
}

/* Project detail */
.detail-page { max-width: 980px; }
.detail-page > a:first-child { color: #6b8497; font-weight: 600; }
.detail-page > a:first-child:hover { color: var(--brand-dark); }
.detail-hero { min-height: 300px; border: 1px solid #b6d9eb; box-shadow: 0 18px 40px rgba(33,76,111,.12); background: linear-gradient(135deg, #122a43, #0e6eaa 68%, #18aae9) !important; }
.detail-hero img { transition: transform 500ms var(--ease); }
.detail-hero:hover img { transform: scale(1.02); }
.detail-page h1 { color: var(--ink); letter-spacing: -.035em; }
.detail-page .detail-description { color: #49667c; background: rgba(255,255,255,.82); }
.detail-actions .btn { min-height: 46px; }
.detail-related { background: rgba(255,255,255,.88); }
@media (max-width: 560px) {
  .detail-page { padding-top: 1.5rem !important; padding-bottom: 2.5rem !important; }
  .detail-hero { min-height: 210px; height: 210px !important; border-radius: 18px; }
  .detail-page h1 { font-size: 1.55rem; line-height: 1.15; }
  .detail-actions .btn { width: 100%; }
}

/* Installer */
.installer-page { background: linear-gradient(135deg, #eaf7ff 0%, #f6fbfe 56%, #e9f5fb 100%) !important; color: var(--ink); }
.installer-page::before { content: ''; position: fixed; inset: 0; pointer-events: none; opacity: .20; background-image: radial-gradient(circle, #69bce7 1px, transparent 1px); background-size: 22px 22px; }
.installer-shell { position: relative; z-index: 1; }
.installer-brand { color: var(--ink); }
.installer-stepper { padding: .85rem 1rem; border: 1px solid #cbe6f4; border-radius: 16px; background: rgba(255,255,255,.68); box-shadow: 0 7px 20px rgba(33,76,111,.06); }
.installer-stepper > div { min-width: 0; }
.installer-stepper > div > span { color: #547087; }
.installer-stepper .bg-brand-500 { background: linear-gradient(135deg, #19a9ec, #0877c7) !important; box-shadow: 0 5px 12px rgba(17,148,221,.22); }
.installer-stepper .bg-slate-200 { background: #e2edf4 !important; color: #70899b !important; }
.installer-card { background: rgba(255,255,255,.94); border-color: #cfe2ed; box-shadow: 0 18px 46px rgba(33,76,111,.10); }
.installer-card h2 { color: var(--ink); letter-spacing: -.025em; }
.installer-card hr { border-color: var(--line); }
.installer-card code { color: var(--brand-dark); }
.installer-card .divide-y > div { border-color: #e4eef4; }
.installer-card .divide-y { border-color: #cfe2ed; }
.installer-card input[type="checkbox"] { width: 1rem; height: 1rem; accent-color: var(--brand); }
@media (max-width: 560px) {
  .installer-page { align-items: flex-start !important; padding-top: 1.25rem !important; padding-bottom: 1.25rem !important; }
  .installer-brand { margin-bottom: 1rem !important; }
  .installer-stepper { padding: .65rem .45rem; margin-bottom: 1rem !important; }
  .installer-stepper > div > span { display: none !important; }
  .installer-stepper > div > div { margin-left: .25rem; margin-right: .25rem; }
  .installer-card { padding: 1.1rem !important; border-radius: 18px; }
  .installer-card form button { width: 100%; }
}

/* Premium project post detail */
.post-page-shell { padding: 2.25rem 1rem 4.5rem; background: linear-gradient(180deg, #f4f8fc 0%, #edf5fa 100%); }
.post-layout { width: min(1180px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.6rem; align-items: start; }
.post-main { min-width: 0; }
.post-backlink { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 .9rem .15rem; color: #627b8f; font-size: .82rem; font-weight: 700; transition: color 160ms ease, transform 160ms ease; }
.post-backlink:hover { color: var(--brand-dark); transform: translateX(-2px); }
.post-hero { position: relative; min-height: 340px; overflow: hidden; border: 1px solid #b9d9ea; border-radius: 24px 24px 14px 14px; background: linear-gradient(135deg, #132b48, #0e78b6 68%, #19b2ef); box-shadow: 0 20px 42px rgba(23,84,122,.17); }
.post-hero > img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; }
.post-hero-shade { position: absolute; inset: auto 0 0; height: 48%; background: linear-gradient(transparent, rgba(11,30,49,.68)); pointer-events: none; }
.post-hero-label { position: absolute; left: 1.15rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .72rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #e9f8ff; background: rgba(8,31,51,.38); backdrop-filter: blur(8px); font: 600 .67rem 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .03em; }
.pulse-dot { width: .45rem; height: .45rem; border-radius: 50%; background: #57e2b5; box-shadow: 0 0 0 4px rgba(87,226,181,.13); }
.post-hero-placeholder { position: relative; min-height: 340px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .85rem; padding: 2rem; overflow: hidden; background-color: #123451; background-image: radial-gradient(circle, rgba(123,214,250,.25) 1px, transparent 1px); background-size: 23px 23px; color: white; text-align: center; }
.post-hero-placeholder::before { content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(29,187,244,.38), transparent 68%); top: -240px; right: -100px; }
.post-hero-placeholder .term-dots { position: absolute; top: 1rem; left: 1rem; }
.post-hero-code { position: relative; color: #a7dced; font: 500 .75rem 'JetBrains Mono', monospace; }
.post-hero-placeholder strong { position: relative; max-width: 620px; font: 700 clamp(1.45rem, 3vw, 2.4rem) 'Space Grotesk', sans-serif; letter-spacing: -.035em; }
.post-content-card { margin-top: .75rem; padding: 1.45rem 1.55rem 1.25rem; border-radius: 14px 14px 22px 22px; border-color: #d1e2ec; box-shadow: 0 15px 34px rgba(33,76,111,.085); }
.post-heading-row { display: flex; justify-content: space-between; gap: 1.25rem; align-items: flex-start; }
.post-category { margin-bottom: .7rem; }
.post-title { margin: 0; max-width: 720px; color: var(--ink); font: 700 clamp(1.55rem, 3vw, 2.15rem)/1.12 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.post-author { margin: .65rem 0 0; color: #7890a1; font-size: .82rem; }
.post-author strong { color: #456279; }
.post-dot { margin: 0 .35rem; color: #b2c4d0; }
.post-stats { display: flex; flex: 0 0 auto; gap: 1.1rem; padding-top: .22rem; color: #6f8797; text-align: center; }
.post-stats span { display: grid; gap: .1rem; min-width: 56px; }
.post-stats strong { color: var(--ink); font: 700 1.08rem 'JetBrains Mono', monospace; }
.post-stats small { font-size: .68rem; }
.post-body { margin: 1.45rem 0 1.25rem; padding-top: 1.2rem; border-top: 1px solid #e1ecf2; }
.post-body p { margin: 0; color: #536d81; font-size: .98rem; line-height: 1.78; white-space: pre-line; }
.post-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.post-actions form { display: contents; }
.post-action-main { min-height: 45px; }
.post-action-demo, .post-action-save { min-height: 45px; }
.post-trust-row { display: flex; flex-wrap: wrap; gap: .7rem 1.15rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #e1ecf2; color: #7590a0; font-size: .72rem; }
.post-trust-row span { display: inline-flex; align-items: center; gap: .35rem; }
.post-trust-row svg { color: var(--mint); }
.post-sidebar { display: grid; gap: 1rem; position: sticky; top: 86px; }
.sidebar-ad { min-height: 250px; padding: .85rem; overflow: hidden; border: 1px solid #c9e0ec; border-radius: 18px; background: linear-gradient(145deg, #d9f3ff, #f4fbff 62%); box-shadow: 0 12px 28px rgba(33,76,111,.08); }
.sidebar-ad-bottom { min-height: 180px; }
.ad-slot-label { display: flex; align-items: center; gap: .35rem; color: #6d8a9c; font: 700 .63rem 'JetBrains Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }
.ad-slot-label svg { color: var(--brand); }
.ad-slot-label span { margin-left: auto; padding: .18rem .35rem; border-radius: 4px; color: #7b9caf; background: rgba(255,255,255,.75); font-size: .57rem; }
.ad-slot-content { margin-top: .7rem; overflow: hidden; border-radius: 11px; }
.ad-slot-content img, .ad-slot-content iframe { max-width: 100%; border: 0; }
.ad-slot-placeholder { min-height: 205px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; margin-top: .7rem; padding: 1rem; border: 1px dashed #97c8df; border-radius: 13px; color: #618096; background: rgba(255,255,255,.62); text-align: center; }
.ad-slot-placeholder strong { color: #2d688b; font: 700 .86rem 'Space Grotesk', sans-serif; }
.ad-slot-placeholder span, .ad-slot-placeholder small { font-size: .68rem; }
.ad-slot-placeholder small { color: #8ca5b4; }
.ad-slot-placeholder.compact { min-height: 130px; }
.recent-posts { padding: 1.1rem; border-radius: 18px; }
.sidebar-heading, .section-heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.sidebar-heading h2, .section-heading-row h2 { display: flex; align-items: center; gap: .45rem; margin: .12rem 0 0; color: var(--ink); font: 700 1.05rem 'Space Grotesk', sans-serif; letter-spacing: -.025em; }
.sidebar-heading h2 svg, .section-heading-row h2 svg { color: var(--brand); }
.eyebrow { margin: 0; color: #78a0b5; font: 700 .61rem 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.sidebar-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.55rem; height: 1.55rem; border-radius: 50%; color: var(--brand-dark); background: var(--brand-soft); font: 700 .67rem 'JetBrains Mono', monospace; }
.recent-post-list { display: grid; gap: .25rem; margin-top: .9rem; }
.recent-post { display: grid; grid-template-columns: 56px minmax(0,1fr) 16px; gap: .7rem; align-items: center; padding: .6rem .4rem; border: 1px solid transparent; border-radius: 12px; color: inherit; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.recent-post:hover, .recent-post.is-current { border-color: #c5e3f1; background: #f1faff; transform: translateX(2px); }
.recent-post.is-current { box-shadow: inset 3px 0 var(--brand); }
.recent-post > svg { color: #9ab0be; }
.recent-post-thumb { width: 56px; height: 43px; overflow: hidden; border-radius: 8px; border: 1px solid #c5deeb; background: linear-gradient(135deg, #123451, #159fd9); }
.recent-post-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.recent-placeholder { position: relative; height: 100%; display: flex; align-items: center; justify-content: center; color: white; }
.recent-placeholder .term-dots { position: absolute; top: .3rem; left: .35rem; transform: scale(.55); transform-origin: top left; }
.recent-post-copy { min-width: 0; display: grid; gap: .23rem; }
.recent-post-copy strong { overflow: hidden; color: var(--ink); font: 700 .76rem/1.2 'Space Grotesk', sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.recent-post-copy small { overflow: hidden; color: #7992a2; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.recent-post-copy small span { color: #b0c1cb; margin: 0 .15rem; }
.empty-sidebar { margin: 1.1rem 0 .25rem; color: #7d95a4; font-size: .8rem; }
.sidebar-cta { padding: 1.15rem; border: 1px solid #c6e6f3; border-radius: 18px; background: linear-gradient(145deg, #d7f2ff, #eefaff); box-shadow: 0 12px 25px rgba(33,76,111,.06); }
.sidebar-cta-icon { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin-bottom: .72rem; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #19a9ec, #0877c7); box-shadow: 0 7px 14px rgba(17,148,221,.2); }
.sidebar-cta strong { display: block; color: var(--ink); font: 700 .92rem 'Space Grotesk', sans-serif; }
.sidebar-cta p { margin: .35rem 0 .75rem; color: #637f92; font-size: .74rem; line-height: 1.5; }
.sidebar-cta a { display: inline-flex; align-items: center; gap: .35rem; color: var(--brand-dark); font-size: .74rem; font-weight: 700; }
.related-projects { margin-top: 1rem; padding: 1.25rem; }
.related-projects .section-heading-row { margin-bottom: .8rem; }
.related-list { display: grid; gap: .55rem; }
.related-project-item { display: grid; grid-template-columns: 46px minmax(0,1fr) 18px; gap: .75rem; align-items: center; padding: .65rem; border: 1px solid #dae8ef; border-radius: 12px; color: inherit; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.related-project-item:hover { border-color: #a9d7ec; background: #f5fbfe; transform: translateX(2px); }
.related-project-item > svg { color: #9ab0be; }
.related-project-thumb { width: 46px; height: 40px; overflow: hidden; border-radius: 8px; border: 1px solid #c6dfeb; background: linear-gradient(135deg, #123451, #159fd9); }
.related-project-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mini-terminal { height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; }
.related-project-copy { min-width: 0; display: grid; gap: .18rem; }
.related-project-copy strong { overflow: hidden; color: var(--ink); font: 700 .8rem 'Space Grotesk', sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.related-project-copy small { overflow: hidden; color: #7890a1; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.related-project-copy small span { color: #b2c3cc; }
@media (max-width: 960px) {
  .post-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 1rem; }
  .post-content-card { padding-inline: 1.15rem; }
  .post-sidebar { top: 78px; }
}
@media (max-width: 760px) {
  .post-page-shell { padding: 1rem .75rem 3rem; }
  .post-layout { display: block; width: 100%; }
  .post-sidebar { position: static; display: grid; margin-top: 1rem; }
  .post-hero, .post-hero > img, .post-hero-placeholder { min-height: 220px; height: 220px; border-radius: 17px; }
  .post-hero-label { left: .75rem; bottom: .75rem; font-size: .59rem; }
  .post-heading-row { display: block; }
  .post-stats { justify-content: flex-start; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid #e1ecf2; text-align: left; }
  .post-stats span { display: flex; align-items: baseline; gap: .35rem; min-width: auto; }
  .post-title { font-size: 1.5rem; }
  .post-body p { font-size: .9rem; line-height: 1.68; }
  .post-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .post-actions .post-action-main { grid-column: 1 / -1; }
  .post-actions .btn, .post-actions form { width: 100%; }
  .post-actions form { display: block; }
  .post-actions .btn { min-height: 44px; }
  .post-trust-row { display: grid; grid-template-columns: 1fr; gap: .5rem; }
  .recent-posts, .sidebar-ad, .sidebar-cta { border-radius: 16px; }
  .related-project-item { grid-template-columns: 42px minmax(0,1fr) 16px; }
  .related-project-thumb { width: 42px; height: 38px; }
}
@media (max-width: 420px) {
  .post-page-shell { padding-inline: .6rem; }
  .post-content-card { padding: 1rem; }
  .post-title { font-size: 1.38rem; }
  .post-author { font-size: .75rem; }
  .post-actions { grid-template-columns: 1fr; }
  .post-actions .post-action-main { grid-column: auto; }
  .post-trust-row { font-size: .67rem; }
}

/* Donation / support checkout */
.donate-page-shell { padding: 2.8rem 1rem 4.5rem; background: linear-gradient(180deg, #f4f8fc 0%, #eef4ff 100%); }
.donate-container { width: min(820px, 100%); margin: 0 auto; }
.donate-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.5rem; }
.donate-page-heading h1 { max-width: 650px; margin: .22rem 0 .35rem; color: var(--ink); font: 700 clamp(1.6rem, 3.4vw, 2.15rem)/1.12 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.donate-page-heading p:not(.eyebrow) { margin: 0; color: #61788b; font-size: .92rem; }
.donate-back-btn { display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; margin-top: .15rem; padding: .55rem .9rem; border: 1px solid #d2e0ea; border-radius: 999px; color: #5e7486; background: rgba(255,255,255,.72); font-size: .75rem; font-weight: 700; box-shadow: 0 4px 10px rgba(33,76,111,.04); transition: all 160ms ease; }
.donate-back-btn:hover { color: var(--brand-dark); border-color: #a5d6ed; background: #fff; transform: translateX(-2px); }
.free-download-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .9rem; margin-bottom: 1.55rem; padding: 1.05rem 1.2rem; border: 2px solid #a9eaf0; border-radius: 19px; background: linear-gradient(105deg, #e9ffff 0%, #eff9ff 64%, #e7f2ff 100%); box-shadow: 0 10px 22px rgba(31,146,174,.08); }
.free-download-icon { display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #11b8cf, #177ee8); box-shadow: 0 8px 17px rgba(17,145,218,.25); }
.free-download-copy { min-width: 0; }
.free-download-copy strong { display: block; color: var(--ink); font: 700 .93rem/1.3 'Space Grotesk', sans-serif; }
.free-download-copy p { margin: .25rem 0 0; color: #5f7b8e; font-size: .75rem; line-height: 1.45; }
.free-download-btn { min-height: 40px; padding-inline: .95rem; font-size: .75rem; }
.donation-card { padding: 1.45rem 1.55rem 1.55rem; border-radius: 22px; box-shadow: 0 16px 36px rgba(33,76,111,.095); }
.donation-minimum { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; padding: 1.05rem 1.15rem; border-left: 4px solid #28ba78; border-radius: 15px; background: linear-gradient(105deg, #e8fff2 0%, #effff8 100%); }
.donation-kicker { display: block; color: #268a68; font: 700 .64rem 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.donation-amount { display: flex; align-items: center; gap: .4rem; margin-top: .25rem; color: #11855e; }
.donation-amount strong { color: #155d49; font: 700 1.62rem 'JetBrains Mono', monospace; letter-spacing: -.06em; }
.donation-amount > span:last-child { font: 700 .88rem 'JetBrains Mono', monospace; }
.usdt-icon-wrap { display: inline-flex; align-items: center; justify-content: center; width: 1.85rem; height: 1.85rem; }
.donation-success-icon { display: inline-flex; color: #25bc78; opacity: .34; }
.donation-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin-bottom: 1.35rem; }
.donation-step { display: flex; align-items: center; gap: .6rem; min-height: 84px; padding: .8rem; border: 1px solid #c8dcf3; border-radius: 12px; background: linear-gradient(135deg, #ecf5ff, #e1edff); }
.donation-step.step-purple { border-color: #ded1f6; background: linear-gradient(135deg, #faf3ff, #f1e9ff); }
.donation-step.step-amber { border-color: #f0dcae; background: linear-gradient(135deg, #fff8e8, #fff0d7); }
.step-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2rem; height: 2rem; border-radius: 7px; color: #247fe0; background: #cfe4ff; }
.step-purple .step-icon { color: #8a43d4; background: #e9d8ff; }
.step-amber .step-icon { color: #c87518; background: #ffe2b2; }
.donation-step strong { display: block; color: var(--ink); font: 700 .76rem 'Space Grotesk', sans-serif; }
.donation-step small { display: block; margin-top: .15rem; color: #60788b; font-size: .63rem; line-height: 1.2; }
.donation-form { display: grid; gap: 1.05rem; }
.donation-field { min-width: 0; }
.donation-label { display: flex; align-items: center; gap: .4rem; margin-bottom: .45rem; color: var(--ink); font-size: .77rem; font-weight: 700; }
.donation-label svg { color: #4d6a7d; }
.donation-label span { color: #758a99; font-weight: 500; }
.donation-input { min-height: 42px; border-radius: 10px; }
.donation-input-wrap { position: relative; }
.donation-input-wrap .donation-input { padding-right: 5.1rem; }
.currency-suffix { position: absolute; top: 50%; right: .85rem; display: inline-flex; align-items: center; gap: .3rem; transform: translateY(-50%); color: #21966f; font: 700 .72rem 'JetBrains Mono', monospace; pointer-events: none; }
.currency-suffix::before { content: ''; width: .95rem; height: .95rem; border-radius: 50%; background: #26a17b; box-shadow: inset 0 0 0 2px rgba(255,255,255,.25); }
.donation-help { display: flex; align-items: center; gap: .28rem; margin: .4rem 0 0; color: #8195a2; font-size: .66rem; }
.donation-help svg { flex: 0 0 auto; }
.inline-usdt { display: inline-flex; vertical-align: middle; width: .9rem; height: .9rem; margin: 0 .1rem; }
.upload-zone { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 134px; padding: 1rem; border: 2px dashed #c4d0d9; border-radius: 12px; color: #657d8c; background: #fbfdff; cursor: pointer; text-align: center; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.upload-zone:hover, .upload-zone:focus-within { border-color: #69bce8; background: #f1faff; }
.upload-zone.has-file { border-color: #38ba8b; background: #effdf7; }
.upload-zone-icon { display: inline-flex; margin-bottom: .35rem; color: #9aabba; }
.upload-zone strong { color: #526c7e; font-size: .74rem; }
.upload-zone small { margin-top: .18rem; color: #8da0ad; font-size: .64rem; }
.upload-zone.has-file .upload-file-label { color: #228360; }
.donation-submit { width: 100%; min-height: 45px; margin-top: .1rem; border-radius: 10px; }
@media (max-width: 640px) {
  .donate-page-shell { padding: 1.35rem .75rem 3rem; }
  .donate-page-heading { align-items: flex-start; gap: .7rem; margin-bottom: 1rem; }
  .donate-page-heading h1 { font-size: 1.5rem; }
  .donate-page-heading p:not(.eyebrow) { font-size: .78rem; }
  .donate-back-btn { padding: .48rem .65rem; font-size: .68rem; }
  .free-download-banner { grid-template-columns: auto minmax(0,1fr); padding: .85rem; gap: .7rem; }
  .free-download-icon { width: 2.35rem; height: 2.35rem; }
  .free-download-copy strong { font-size: .79rem; }
  .free-download-copy p { font-size: .67rem; }
  .free-download-btn { grid-column: 1 / -1; width: 100%; }
  .donation-card { padding: 1rem; border-radius: 18px; }
  .donation-minimum { padding: .9rem; }
  .donation-amount strong { font-size: 1.35rem; }
  .donation-steps { grid-template-columns: 1fr; gap: .5rem; }
  .donation-step { min-height: 60px; padding: .65rem .75rem; }
  .step-icon { width: 1.85rem; height: 1.85rem; }
  .donation-step small { font-size: .62rem; }
}
@media (max-width: 390px) {
  .donate-page-heading h1 { font-size: 1.35rem; }
  .donate-back-btn span { display: none; }
  .donation-minimum { align-items: flex-start; }
  .donation-success-icon { margin-top: .25rem; }
}

/* Free unlock journey */
.unlock-page-shell { padding: 2.8rem 1rem 4.5rem; background: linear-gradient(180deg, #f4f8fc 0%, #eef4ff 100%); }
.unlock-container { width: min(820px, 100%); margin: 0 auto; }
.unlock-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.45rem; }
.unlock-page-heading h1 { margin: .22rem 0 .35rem; color: var(--ink); font: 700 clamp(1.65rem, 3.5vw, 2.25rem)/1.1 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.unlock-subtitle { margin: 0; max-width: 680px; overflow: hidden; color: #5f778a; font-size: .91rem; text-overflow: ellipsis; white-space: nowrap; }
.unlock-back-btn { display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; margin-top: .25rem; padding: .55rem .9rem; border: 1px solid #d2e0ea; border-radius: 999px; color: #5e7486; background: rgba(255,255,255,.72); font-size: .75rem; font-weight: 700; box-shadow: 0 4px 10px rgba(33,76,111,.04); transition: all 160ms ease; }
.unlock-back-btn:hover { color: var(--brand-dark); border-color: #a5d6ed; background: #fff; transform: translateX(-2px); }
.unlock-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin-bottom: 1.3rem; }
.unlock-step { position: relative; display: flex; align-items: center; gap: .65rem; min-height: 84px; padding: .8rem; border: 2px solid #d9e4ed; border-radius: 13px; color: #718495; background: rgba(255,255,255,.63); transition: all 220ms var(--ease); }
.unlock-step::after { content: ''; position: absolute; top: 50%; right: -.85rem; width: .95rem; height: 2px; background: #d2e1eb; }
.unlock-step:last-child::after { display: none; }
.unlock-step.is-active { border-color: #19a9dc; color: var(--ink); background: linear-gradient(135deg, #e8f8ff, #e1f1ff); box-shadow: 0 9px 20px rgba(25,169,220,.1); }
.unlock-step.is-active::after { background: linear-gradient(90deg, #19a9dc, #d2e1eb); }
.unlock-step.is-done { border-color: #54c79e; color: #287b62; background: linear-gradient(135deg, #eafbf4, #f1fff9); }
.unlock-step.is-done::after { background: #54c79e; }
.unlock-step-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.3rem; height: 2.3rem; border-radius: 8px; }
.unlock-step-icon.step-blue { color: #166ec7; background: #cdeaff; }
.unlock-step-icon.step-purple { color: #833bc5; background: #ead7ff; }
.unlock-step-icon.step-amber { color: #bd6818; background: #ffe1b0; }
.unlock-step strong { display: block; color: var(--ink); font: 700 .77rem 'Space Grotesk', sans-serif; }
.unlock-step small { display: block; margin-top: .15rem; color: #6d8391; font-size: .65rem; line-height: 1.25; }
.unlock-warning { display: flex; align-items: flex-start; gap: .6rem; margin-bottom: 1.4rem; padding: .9rem 1rem; border-left: 4px solid #efaa1b; border-radius: 12px; color: #976019; background: linear-gradient(105deg, #fff8df, #fff4c9); font-size: .77rem; line-height: 1.45; box-shadow: 0 6px 16px rgba(190,133,20,.06); }
.unlock-warning svg { flex: 0 0 auto; color: #d78b0c; }
.unlock-warning strong { color: #87520e; }
.unlock-warning.is-reset { border-left-color: #e07533; color: #96532a; background: linear-gradient(105deg, #fff4e8, #fff0db); }
.unlock-card { padding: 1.45rem; border-radius: 22px; box-shadow: 0 17px 38px rgba(33,76,111,.095); }
.unlock-pane { min-width: 0; }
.unlock-player-wrap { position: relative; min-height: 390px; overflow: hidden; border: 1px solid #19263c; border-radius: 14px; background: #111a2d; box-shadow: inset 0 0 0 6px rgba(255,255,255,.04), 0 12px 22px rgba(16,41,65,.16); }
.unlock-player-wrap #ytPlayer { position: relative; z-index: 1; }
.unlock-player-wrap iframe { display: block; width: 100%; height: 100%; min-height: 390px; }
.unlock-player-overlay { position: absolute; z-index: 2; top: .7rem; left: .7rem; pointer-events: none; }
.unlock-live-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .33rem .55rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #e3f8ff; background: rgba(12,28,48,.58); font: 600 .59rem 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: .04em; backdrop-filter: blur(6px); }
.unlock-inline-warning { display: flex; align-items: center; gap: .35rem; margin: .65rem 0 1.2rem; color: #a56818; font-size: .69rem; }
.unlock-inline-warning svg { color: #d78b0c; }
.unlock-progress-block { padding: .95rem 0 .15rem; }
.unlock-progress-heading, .unlock-progress-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.unlock-section-label { display: inline-flex; align-items: center; gap: .4rem; color: #63798b; font: 700 .68rem 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.unlock-section-label svg { color: var(--brand); }
.unlock-progress-heading > strong { color: var(--ink); font: 700 .78rem 'JetBrains Mono', monospace; }
.unlock-progress-track { position: relative; height: 15px; overflow: hidden; margin: .6rem 0 .45rem; border: 1px solid #dceaf1; border-radius: 999px; background: #eef4f8; box-shadow: inset 0 2px 5px rgba(18,36,59,.08); }
.unlock-progress-track::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(135deg, rgba(255,255,255,.16) 0 8px, transparent 8px 16px); opacity: .75; }
.unlock-progress-fill { position: relative; z-index: 1; height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(90deg, #12b5cf 0%, #128fe0 55%, #455fe9 100%); box-shadow: 0 0 14px rgba(27,160,222,.5); transition: width 500ms var(--ease); }
.unlock-progress-fill::after { content: ''; position: absolute; top: 2px; right: 5px; width: 4px; height: calc(100% - 4px); border-radius: 99px; background: rgba(255,255,255,.82); box-shadow: 0 0 8px #fff; }
.unlock-progress-foot { color: #8396a3; font: 500 .67rem 'JetBrains Mono', monospace; }
.unlock-progress-foot span:last-child { display: inline-flex; align-items: center; gap: .28rem; }
.unlock-next-button { width: 100%; min-height: 46px; margin-top: 1.15rem; border-radius: 10px; }
.unlock-next-button.is-locked { color: #94a5b2; background: #f0f4f7; border: 1px solid #e1e9ee; box-shadow: none; cursor: not-allowed; }
.unlock-next-button.is-locked:hover { transform: none; }
.unlock-locked-note { margin: .65rem 0 0; color: #8296a4; font-size: .68rem; text-align: center; }
.unlock-locked-note strong { color: #607c8e; }
.unlock-pane-heading { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1.3rem; padding-bottom: 1rem; border-bottom: 1px solid #e1ecf2; }
.unlock-pane-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 9px; }
.unlock-pane-icon.step-purple { color: #833bc5; background: #ead7ff; }
.unlock-pane-icon.step-amber { color: #bd6818; background: #ffe1b0; }
.unlock-pane-heading h2 { margin: .2rem 0 .25rem; color: var(--ink); font: 700 1.22rem 'Space Grotesk', sans-serif; }
.unlock-pane-heading p:not(.eyebrow) { margin: 0; color: #708798; font-size: .76rem; line-height: 1.45; }
.unlock-check-list { display: grid; gap: .65rem; }
.unlock-check-row { display: flex; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid #dae7ee; border-radius: 12px; cursor: pointer; background: #fbfdff; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; }
.unlock-check-row:hover { border-color: #a9d9ee; background: #f3fbff; transform: translateX(2px); }
.unlock-check-row input { position: absolute; opacity: 0; pointer-events: none; }
.unlock-check-box { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.55rem; height: 1.55rem; border: 1px solid #c5d9e5; border-radius: 7px; color: transparent; background: #fff; transition: all 160ms ease; }
.unlock-check-row.is-checked { border-color: #72cfaa; background: #f0fff8; }
.unlock-check-row.is-checked .unlock-check-box { border-color: #2db47f; color: #fff; background: #2db47f; }
.unlock-check-row > span:last-child { display: grid; gap: .2rem; }
.unlock-check-row strong { color: var(--ink); font-size: .78rem; }
.unlock-check-row small { color: #7a909e; font-size: .68rem; }
.unlock-claim-form { display: grid; gap: 1rem; }
.unlock-upload-zone { min-height: 175px; }
.claim-pane .unlock-next-button { margin-top: 0; }
@media (max-width: 760px) {
  .unlock-page-shell { padding: 1.35rem .75rem 3rem; }
  .unlock-page-heading { margin-bottom: 1rem; }
  .unlock-page-heading h1 { font-size: 1.55rem; }
  .unlock-subtitle { font-size: .77rem; }
  .unlock-back-btn { padding: .48rem .65rem; font-size: .68rem; }
  .unlock-steps { grid-template-columns: 1fr; gap: .5rem; }
  .unlock-step { min-height: 62px; padding: .65rem .75rem; }
  .unlock-step::after { top: auto; right: auto; bottom: -.35rem; left: 50%; width: 2px; height: .35rem; }
  .unlock-step:last-child::after { display: none; }
  .unlock-warning { font-size: .7rem; }
  .unlock-card { padding: 1rem; border-radius: 18px; }
  .unlock-player-wrap { min-height: 205px; border-radius: 12px; }
  .unlock-player-wrap iframe { min-height: 205px; }
  .unlock-live-badge { font-size: .54rem; }
  .unlock-inline-warning { align-items: flex-start; font-size: .64rem; line-height: 1.4; }
  .unlock-progress-heading > strong { font-size: .68rem; }
  .unlock-progress-foot { font-size: .61rem; }
  .unlock-pane-heading h2 { font-size: 1.05rem; }
  .unlock-pane-heading p:not(.eyebrow) { font-size: .7rem; }
}
@media (max-width: 390px) {
  .unlock-page-heading h1 { font-size: 1.38rem; }
  .unlock-back-btn span { display: none; }
  .unlock-warning { padding: .75rem; }
  .unlock-progress-heading, .unlock-progress-foot { gap: .5rem; }
  .unlock-section-label { font-size: .6rem; }
  .unlock-progress-track { height: 13px; }
}

/* Post-timer task proofs */
.tasks-page-shell { padding: 2.8rem 1rem 4.5rem; background: linear-gradient(180deg, #f4f8fc 0%, #eef4ff 100%); }
.tasks-container { width: min(820px, 100%); margin: 0 auto; }
.tasks-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.tasks-page-heading h1 { margin: .22rem 0 .35rem; color: var(--ink); font: 700 clamp(1.7rem, 3.8vw, 2.25rem)/1.1 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.tasks-page-heading p:not(.eyebrow) { margin: 0; max-width: 650px; color: #5f778a; font-size: .88rem; line-height: 1.5; }
.tasks-back-btn { display: inline-flex; align-items: center; gap: .4rem; flex: 0 0 auto; margin-top: .25rem; padding: .55rem .9rem; border: 1px solid #d2e0ea; border-radius: 999px; color: #5e7486; background: rgba(255,255,255,.72); font-size: .75rem; font-weight: 700; box-shadow: 0 4px 10px rgba(33,76,111,.04); transition: all 160ms ease; }
.tasks-back-btn:hover { color: var(--brand-dark); border-color: #a5d6ed; background: #fff; transform: translateX(-2px); }
.tasks-summary { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid #d4e2ea; border-radius: 13px; background: rgba(255,255,255,.72); box-shadow: 0 6px 16px rgba(33,76,111,.04); }
.tasks-summary-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: #118e6c; background: #dcfaed; }
.tasks-summary > div { min-width: 0; display: grid; gap: .16rem; }
.tasks-summary strong { color: var(--ink); font: 700 .78rem 'Space Grotesk', sans-serif; }
.tasks-summary div span { color: #708798; font-size: .69rem; line-height: 1.35; }
.tasks-summary-count { margin-left: auto; color: #5d8097; font: 700 .72rem 'JetBrains Mono', monospace; white-space: nowrap; }
.tasks-form { display: grid; gap: .85rem; padding: 1.15rem; border: 1px solid #d4e3ec; border-radius: 22px; background: rgba(255,255,255,.8); box-shadow: 0 16px 36px rgba(33,76,111,.08); }
.task-proof-card { padding: 1.05rem 1.1rem .95rem; border: 1px solid #c5e8f1; border-radius: 16px; background: linear-gradient(135deg, #eafaff, #f2fbff); }
.task-proof-card.task-tone-purple { border-color: #e5d6f6; background: linear-gradient(135deg, #fbf4ff, #f5efff); }
.task-proof-card.task-tone-amber { border-color: #f1dfbd; background: linear-gradient(135deg, #fff9eb, #fff4dc); }
.task-proof-heading { display: grid; grid-template-columns: 2.6rem minmax(0,1fr); gap: .72rem; align-items: start; }
.task-number { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #11b7d2, #247de5); font: 700 .8rem 'JetBrains Mono', monospace; box-shadow: 0 7px 15px rgba(17,148,221,.2); }
.task-tone-purple .task-number { background: linear-gradient(135deg, #8b3de2, #a45deb); box-shadow: 0 7px 15px rgba(139,61,226,.18); }
.task-tone-amber .task-number { background: linear-gradient(135deg, #ed8e10, #d9681f); box-shadow: 0 7px 15px rgba(220,123,20,.18); }
.task-proof-copy h2 { margin: .1rem 0 .25rem; color: var(--ink); font: 700 .98rem 'Space Grotesk', sans-serif; }
.task-proof-copy p { margin: 0; color: #607989; font-size: .72rem; line-height: 1.45; }
.task-proof-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .48rem; margin: .75rem 0 .55rem 3.32rem; color: #6c8292; font-size: .69rem; }
.task-open-video { display: inline-flex; align-items: center; gap: .3rem; padding: .35rem .6rem; border-radius: 999px; color: #fff; background: #e3454f; font-weight: 700; box-shadow: 0 5px 11px rgba(227,69,79,.17); }
.task-open-video:hover { color: #fff; background: #ca303b; }
.task-upload-zone { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 112px; margin-left: 3.32rem; padding: .75rem; border: 2px dashed rgba(107,162,189,.45); border-radius: 11px; color: #637c8c; background: rgba(255,255,255,.72); cursor: pointer; text-align: center; transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.task-upload-zone:hover, .task-upload-zone:focus-within { border-color: #4dbbd9; background: rgba(255,255,255,.95); transform: translateY(-1px); }
.task-tone-purple .task-upload-zone:hover, .task-tone-purple .task-upload-zone:focus-within { border-color: #a463e0; }
.task-tone-amber .task-upload-zone:hover, .task-tone-amber .task-upload-zone:focus-within { border-color: #e6a34d; }
.task-upload-zone.has-file { border-color: #36b582; background: #effff7; }
.task-upload-icon { display: inline-flex; margin-bottom: .25rem; color: #16adc7; }
.task-tone-purple .task-upload-icon { color: #974ad8; }
.task-tone-amber .task-upload-icon { color: #d97c20; }
.task-upload-zone strong { color: #526d7e; font-size: .72rem; }
.task-upload-zone small { margin-top: .18rem; color: #8a9eaa; font-size: .62rem; }
.task-upload-zone.has-file .task-file-label { color: #238463; }
.task-file-state { margin: .3rem 0 0 3.32rem; color: #8a9eaa; font-size: .62rem; }
.task-upload-zone.has-file + .task-file-state { color: #248364; }
.tasks-submit-btn { width: 100%; min-height: 46px; margin-top: .1rem; border-radius: 10px; }
.tasks-submit-note { display: flex; align-items: center; justify-content: center; gap: .28rem; margin: 0; color: #8297a4; font-size: .65rem; text-align: center; }
.tasks-submit-note svg { color: var(--brand); }

/* Admin free-task proof gallery */
.admin-proof-page { max-width: 1440px; margin: 0 auto; }
.admin-page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.admin-page-heading h1 { margin: .2rem 0 .28rem; }
.admin-page-subtitle { margin: 0; color: #78909f; font-size: .76rem; line-height: 1.45; }
.admin-filter-form { display: flex; gap: .5rem; }
.admin-filter-form .input { min-width: 160px; }
.admin-proof-summary { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid #d5e4eb; border-radius: 14px; background: rgba(255,255,255,.75); }
.admin-proof-summary-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #15a8e7, #0b78c9); }
.admin-proof-summary div { display: grid; gap: .16rem; }
.admin-proof-summary strong { color: var(--ink); font: 700 .82rem 'Space Grotesk', sans-serif; }
.admin-proof-summary div span { color: #7b91a0; font-size: .69rem; }
.admin-proof-summary-badge { margin-left: auto; padding: .32rem .55rem; border-radius: 999px; color: #26779b; background: #e4f5ff; font: 700 .63rem 'JetBrains Mono', monospace; text-transform: uppercase; }
.admin-proof-groups { display: grid; gap: 1rem; }
.admin-proof-group { overflow: hidden; border: 1px solid #d4e3eb; border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 9px 24px rgba(33,76,111,.06); }
.admin-proof-group-head { display: grid; grid-template-columns: minmax(180px,1fr) minmax(200px,1.4fr) auto; gap: 1rem; align-items: center; padding: 1rem 1.1rem; border-bottom: 1px solid #e3edf2; background: #fbfdff; }
.admin-proof-user { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.admin-proof-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #1aafe7, #0874bd); font: 700 .85rem 'Space Grotesk', sans-serif; }
.admin-proof-user div, .admin-proof-project { min-width: 0; display: grid; gap: .18rem; }
.admin-proof-user strong, .admin-proof-project strong { overflow: hidden; color: var(--ink); font: 700 .77rem 'Space Grotesk', sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.admin-proof-user span, .admin-proof-project span { overflow: hidden; color: #7b91a0; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-proof-meta { display: grid; justify-items: end; gap: .3rem; }
.admin-proof-meta small { color: #8b9da8; font: 500 .62rem 'JetBrains Mono', monospace; }
.admin-proof-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .75rem; padding: 1rem 1.1rem; }
.admin-proof-tile { overflow: hidden; border: 1px solid #d7e5ec; border-radius: 13px; color: inherit; background: #fff; transition: transform 180ms var(--ease), border-color 180ms ease, box-shadow 180ms ease; }
.admin-proof-tile:hover { border-color: #8ccde8; box-shadow: 0 10px 20px rgba(33,76,111,.1); transform: translateY(-2px); }
.admin-proof-image { position: relative; aspect-ratio: 4/3; overflow: hidden; background: linear-gradient(135deg, #dceef6, #f6fbfe); }
.admin-proof-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.admin-proof-image > span { position: absolute; top: .45rem; right: .45rem; display: inline-flex; align-items: center; justify-content: center; width: 1.65rem; height: 1.65rem; border-radius: 50%; color: #fff; background: rgba(18,36,59,.72); }
.admin-proof-tile-caption { display: flex; justify-content: space-between; gap: .45rem; padding: .55rem .65rem; }
.admin-proof-tile-caption strong { color: var(--ink); font-size: .7rem; }
.admin-proof-tile-caption small { color: #7f95a2; font-size: .62rem; }
.admin-proof-review-bar { display: flex; align-items: center; justify-content: space-between; gap: .85rem; padding: .85rem 1.1rem; border-top: 1px solid #e3edf2; background: #f9fcfe; }
.admin-proof-review-bar > div:first-child { display: grid; gap: .18rem; }
.admin-proof-review-bar strong { color: var(--ink); font: 700 .74rem 'Space Grotesk', sans-serif; }
.admin-proof-review-bar span { color: #7b91a0; font-size: .64rem; }
.admin-proof-actions { display: flex; align-items: center; gap: .45rem; }
.admin-proof-actions form { display: contents; }
.admin-proof-note { display: flex; align-items: center; gap: .35rem; margin: 0; padding: .75rem 1.1rem; border-top: 1px solid #e3edf2; color: #7b91a0; font-size: .68rem; }
.admin-proof-note svg { color: var(--brand); }
.admin-proof-empty { display: grid; justify-items: center; gap: .45rem; padding: 4rem 1.5rem; color: #86a0af; text-align: center; }
.admin-proof-empty strong { color: var(--ink); font: 700 .9rem 'Space Grotesk', sans-serif; }
.admin-proof-empty p { max-width: 27rem; margin: 0; font-size: .73rem; line-height: 1.5; }
@media (max-width: 760px) {
  .tasks-page-shell { padding: 1.35rem .75rem 3rem; }
  .tasks-page-heading { margin-bottom: 1rem; }
  .tasks-page-heading h1 { font-size: 1.5rem; }
  .tasks-page-heading p:not(.eyebrow) { font-size: .75rem; }
  .tasks-back-btn { padding: .48rem .65rem; font-size: .68rem; }
  .tasks-summary { align-items: flex-start; padding: .75rem; }
  .tasks-summary-count { padding-top: .25rem; font-size: .61rem; }
  .tasks-form { padding: .65rem; border-radius: 18px; }
  .task-proof-card { padding: .85rem; border-radius: 14px; }
  .task-proof-heading { grid-template-columns: 2.35rem minmax(0,1fr); gap: .6rem; }
  .task-number { width: 2.35rem; height: 2.35rem; font-size: .7rem; }
  .task-proof-copy h2 { font-size: .88rem; }
  .task-proof-copy p { font-size: .67rem; }
  .task-proof-actions { margin-left: 0; font-size: .64rem; }
  .task-upload-zone { margin-left: 0; min-height: 105px; }
  .task-file-state { margin-left: 0; }
  .tasks-submit-note { align-items: flex-start; font-size: .6rem; line-height: 1.35; }
  .admin-page-heading { align-items: stretch; flex-direction: column; }
  .admin-filter-form .input { width: 100% !important; }
  .admin-proof-group-head { grid-template-columns: 1fr auto; gap: .7rem; }
  .admin-proof-project { grid-column: 1 / -1; order: 3; padding-top: .55rem; border-top: 1px solid #e4edf2; }
  .admin-proof-meta { justify-items: end; }
  .admin-proof-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); padding: .75rem; gap: .55rem; }
  .admin-proof-review-bar { align-items: stretch; flex-direction: column; padding: .8rem .75rem; }
  .admin-proof-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .admin-proof-actions form, .admin-proof-actions button { width: 100%; }
}
@media (max-width: 390px) {
  .tasks-page-heading h1 { font-size: 1.34rem; }
  .tasks-back-btn span { display: none; }
  .admin-proof-gallery { grid-template-columns: 1fr; }
  .admin-proof-summary { padding: .75rem; }
  .admin-proof-summary-badge { font-size: .57rem; }
}

/* Premium account workspace */
.account-layout { position: relative; align-items: flex-start; gap: 2.25rem !important; }
.account-layout::before { content: ''; position: absolute; inset: 0 0 auto; height: 210px; z-index: -1; border-radius: 28px; background: linear-gradient(135deg, #e8f6ff 0%, #f4f9ff 54%, rgba(255,255,255,0) 100%); pointer-events: none; }
.account-layout > .flex-1 { min-width: 0; }
.account-sidebar { width: 248px; flex: 0 0 248px; padding: 1.2rem .9rem 1.25rem; border: 1px solid #d9e8f1; border-radius: 22px; background: rgba(255,255,255,.86); box-shadow: 0 16px 36px rgba(34,82,116,.08); backdrop-filter: blur(12px); }
.account-sidebar-heading { display: grid; gap: .18rem; padding: .35rem .7rem 1rem; }
.account-sidebar-heading strong { color: var(--ink); font: 700 1.08rem 'Space Grotesk', sans-serif; letter-spacing: -.025em; }
.account-sidebar-kicker { color: #78a0b5; font: 700 .62rem 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.account-nav { display: grid; gap: .28rem; }
.account-nav-link { position: relative; display: flex; align-items: center; gap: .65rem; min-width: 0; padding: .7rem .65rem; border: 1px solid transparent; border-radius: 13px; color: #698094; transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.account-nav-link:hover { color: var(--ink); border-color: #d6e9f3; background: #f6fbff; transform: translateX(2px); }
.account-nav-link.is-active { color: var(--brand-dark); border-color: #b9e3f5; background: linear-gradient(135deg, #e2f6ff, #f4fbff); box-shadow: 0 7px 16px rgba(26,151,214,.1); }
.account-nav-link.is-active::before { content: ''; position: absolute; left: -1px; top: .58rem; bottom: .58rem; width: 3px; border-radius: 0 4px 4px 0; background: linear-gradient(#1ba8eb, #0876c2); }
.account-nav-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.15rem; height: 2.15rem; border-radius: 11px; color: #7692a5; background: #f0f6fa; }
.account-nav-link.is-active .account-nav-icon { color: #fff; background: linear-gradient(135deg, #1aabea, #0877c5); box-shadow: 0 6px 13px rgba(16,145,210,.2); }
.account-nav-copy { display: grid; min-width: 0; gap: .12rem; }
.account-nav-copy strong { color: inherit; font-size: .78rem; line-height: 1.15; }
.account-nav-copy small { color: #91a4b1; font-size: .61rem; line-height: 1.1; }
.account-nav-arrow { margin-left: auto; color: #b0c0c9; opacity: 0; transition: opacity 160ms ease, transform 160ms ease; }
.account-nav-link:hover .account-nav-arrow, .account-nav-link.is-active .account-nav-arrow { opacity: 1; transform: translateX(2px); }
.account-sidebar-divider { height: 1px; margin: 1.15rem .7rem 1rem; background: #e0ebf1; }
.account-support-title { display: block; padding: 0 .7rem; margin-bottom: .55rem; }
.account-support-list { display: grid; gap: .28rem; }
.account-support-link { display: flex; align-items: center; gap: .6rem; padding: .45rem .55rem; border-radius: 12px; color: #637b8c; transition: background 160ms ease, color 160ms ease; }
.account-support-link:hover { color: var(--brand-dark); background: #f3faff; }
.account-support-link > span:last-child { display: grid; gap: .12rem; }
.account-support-link strong { font-size: .72rem; }
.account-support-link small { color: #9aadb9; font-size: .6rem; }
.account-support-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; color: #fff; box-shadow: 0 5px 11px rgba(38,108,153,.16); }
.account-support-icon.is-telegram { background: linear-gradient(135deg, #55b8f5, #2d81d6); }
.account-support-icon.is-youtube { background: linear-gradient(135deg, #fb6268, #d62d39); }
.account-layout h1 { color: var(--ink); letter-spacing: -.045em; }
.account-layout h2 { color: var(--ink); letter-spacing: -.025em; }
.account-layout > .flex-1 > .card { border-color: #d9e7ef; box-shadow: 0 12px 28px rgba(37,86,119,.065); }
.account-layout table { border-collapse: separate; border-spacing: 0; }
.account-layout table thead tr { background: #f7fbfd; }
.account-layout table thead th { padding: .8rem .7rem; color: #7790a0; font-size: .61rem; letter-spacing: .06em; }
.account-layout table tbody td { padding: .85rem .7rem; border-color: #edf2f5; color: #405a6d; }
.account-layout table tbody tr:first-child td { border-top: 1px solid #e9f0f4; }
.account-layout table tbody tr:hover td { background: #f8fcff; }
.account-layout .rounded-2xl.bg-ink { position: relative; overflow: hidden; border: 1px solid rgba(125,215,250,.22); box-shadow: 0 15px 28px rgba(18,36,59,.16); }
.account-layout .rounded-2xl.bg-ink::after { content: ''; position: absolute; width: 190px; height: 190px; right: -65px; top: -75px; border-radius: 50%; background: rgba(45,181,236,.12); pointer-events: none; }
.account-layout .btn { min-height: 42px; }
.account-layout .text-center.py-10, .account-layout .text-center.py-14, .account-layout .text-center.py-16 { border: 1px dashed #c8dde8; border-radius: 16px; background: linear-gradient(145deg, #fbfdff, #f4faff); }
.account-layout input.input, .account-layout select.input, .account-layout textarea.input { background: rgba(255,255,255,.85); }
.account-layout .space-y-8 > .card { border-color: #d9e7ef; box-shadow: 0 12px 28px rgba(37,86,119,.065); }
@media (max-width: 767px) {
  .account-layout { gap: 1rem !important; padding-top: 1.25rem !important; }
  .account-layout::before { height: 150px; border-radius: 20px; }
  .account-sidebar { width: 100%; flex: none; padding: .75rem; border-radius: 18px; }
  .account-sidebar-heading { padding: .2rem .4rem .65rem; }
  .account-sidebar-heading strong { font-size: .95rem; }
  .account-nav { display: flex; gap: .42rem; overflow-x: auto; padding: .05rem .05rem .2rem; scrollbar-width: thin; }
  .account-nav-link { flex: 0 0 auto; min-width: 145px; padding: .55rem .6rem; }
  .account-nav-link.is-active::before { left: .45rem; right: .45rem; top: auto; bottom: -2px; width: auto; height: 3px; }
  .account-nav-copy small, .account-nav-arrow { display: none; }
  .account-nav-icon { width: 1.9rem; height: 1.9rem; }
  .account-support-title, .account-support-list, .account-sidebar-divider { display: none; }
  .account-layout > .flex-1 { width: 100%; }
  .account-layout > .flex-1 > div:first-child { margin-bottom: 1.25rem !important; }
  .account-layout h1 { font-size: 1.55rem; }
  .account-layout table thead th, .account-layout table tbody td { padding: .7rem .55rem; }
}
@media (max-width: 430px) {
  .account-nav-link { min-width: 132px; }
  .account-layout { padding-inline: .75rem !important; }
  .account-layout .rounded-2xl.bg-ink { padding: 1rem; }
}

/* Dashboard and admin polish */
.account-layout > .flex-1 > div:first-child h1 { font-size: clamp(1.55rem, 3vw, 2.05rem); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card { position: relative; overflow: hidden; min-height: 124px; padding: 1.05rem !important; }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card::after { content: ''; position: absolute; width: 96px; height: 96px; right: -28px; bottom: -34px; border-radius: 50%; background: rgba(255,255,255,.45); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card:nth-child(1) { border-color: #bdebd5; background: linear-gradient(145deg, #effdf5, #dcf8e9); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card:nth-child(2) { border-color: #f2dfab; background: linear-gradient(145deg, #fffaf0, #fff3cb); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card:nth-child(3) { border-color: #c7dff3; background: linear-gradient(145deg, #f0f8ff, #deedff); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card:nth-child(4) { border-color: #e5d2f5; background: linear-gradient(145deg, #fcf5ff, #f2e5ff); }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card > div { position: relative; z-index: 1; }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card > p { position: relative; z-index: 1; margin-top: .4rem; font-size: 1.55rem; }
.account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card p.text-xs { color: #71889a; }
.account-layout > .flex-1 > .flex.justify-between.items-center h2 { font-size: 1.08rem; }
.admin-main .admin-page-heading { margin-bottom: 1.15rem; }
.admin-main .admin-page-heading h1 { font-size: clamp(1.5rem, 2.5vw, 2rem); letter-spacing: -.04em; }
.admin-main .admin-page-heading p:not(.eyebrow) { color: #70899a; }
.admin-main .card { border-color: #d7e6ee; box-shadow: 0 12px 28px rgba(34,82,116,.065); }
.admin-main .card h2 { color: var(--ink); }
.admin-main table thead tr { background: #f6fafc; }
.admin-main table tbody tr { transition: background 160ms ease; }
.admin-main table tbody tr:hover { background: #f2faff; }
.admin-main .input { background: #fff; }
.admin-main form > .btn, .admin-main .card form .btn { min-height: 40px; }
.admin-main .grid > .card { min-height: 100%; }
@media (max-width: 767px) {
  .account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card { min-height: 106px; padding: .85rem !important; }
  .account-layout > .flex-1 > .grid.grid-cols-2.lg\:grid-cols-4 > .card > p { font-size: 1.25rem; }
  .admin-main .admin-page-heading h1 { font-size: 1.4rem; }
}

/* Premium download history */
.downloads-page { max-width: 1240px; }
.downloads-page::before { height: 260px; }
.downloads-heading h1 { font-size: clamp(1.65rem, 3vw, 2.2rem); }
.downloads-heading .eyebrow, .downloads-page .eyebrow { color: #7594a8; font: 700 .63rem 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.downloads-section-heading h2 { color: var(--ink); font-size: 1.08rem; letter-spacing: -.025em; }
.download-count-badge { display: inline-flex; align-items: center; padding: .4rem .7rem; border-radius: 999px; color: #0875be; background: #e7f6ff; font: 700 .63rem 'JetBrains Mono', monospace; white-space: nowrap; }
.download-promo { position: relative; overflow: hidden; border: 1px solid rgba(134,213,246,.35); background: linear-gradient(110deg, #3133bd 0%, #7036d9 55%, #db2e8e 120%) !important; box-shadow: 0 14px 30px rgba(91,55,191,.18); }
.download-promo::after { content: ''; position: absolute; width: 210px; height: 210px; right: -45px; top: -95px; border-radius: 50%; border: 1px solid rgba(255,255,255,.24); box-shadow: 0 0 0 18px rgba(255,255,255,.05), 0 0 0 38px rgba(255,255,255,.035); pointer-events: none; }
.download-promo > * { position: relative; z-index: 1; }
.download-promo-icon { color: #fff; background: rgba(255,255,255,.18); box-shadow: 0 7px 15px rgba(18,15,72,.22); }
.download-promo .btn-primary { background: #fff; color: #5b32c8; box-shadow: 0 9px 20px rgba(16,13,80,.16); }
.download-promo .btn-primary:hover { color: #3d2495; background: #f7f5ff; }
.download-project-list { display: grid; gap: .85rem; }
.download-project-card { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding: 1.05rem 1.15rem; border-color: #d5e5ee; box-shadow: 0 10px 23px rgba(37,86,119,.06); transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.download-project-card:hover { transform: translateY(-2px); border-color: #a9d7ea; box-shadow: 0 16px 30px rgba(37,86,119,.1); }
.download-project-main { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.download-project-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 2.8rem; height: 2.8rem; border-radius: 15px; color: #0875be; background: linear-gradient(145deg, #e5f7ff, #d5effd); border: 1px solid #b9e4f4; }
.download-project-title { overflow: hidden; color: var(--ink); font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.download-project-meta { display: flex; gap: 1.3rem; margin-top: .5rem; }
.download-project-meta span { display: grid; gap: .1rem; }
.download-project-meta small { color: #8aa0ad; font: 700 .58rem 'JetBrains Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }
.download-project-meta strong { color: #526c7e; font: 600 .7rem 'JetBrains Mono', monospace; }
.download-project-actions { display: flex; align-items: center; gap: .55rem; flex: 0 0 auto; }
.download-project-actions .btn { min-height: 40px; }
.download-project-actions .btn-outline { color: #4e6a7d; }
.download-history-card { border-color: #d5e5ee !important; box-shadow: 0 12px 27px rgba(37,86,119,.06) !important; }
.download-history-card table thead tr { background: #f5fafc; }
.download-empty { border: 1px dashed #c7dee9; border-radius: 16px; background: linear-gradient(145deg, #fbfdff, #f3faff); }
.download-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.65rem; height: 2.65rem; border-radius: 50%; color: #1b9bdc; background: #e5f6ff; }
.password-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; opacity: 0; visibility: hidden; transition: opacity 180ms ease, visibility 180ms ease; }
.password-modal.is-open { opacity: 1; visibility: visible; }
.password-modal-backdrop { position: absolute; inset: 0; background: rgba(8,29,49,.56); backdrop-filter: blur(5px); }
.password-modal-panel { position: relative; width: min(100%, 430px); padding: 2rem; border: 1px solid rgba(200,231,244,.95); border-radius: 24px; background: #fff; box-shadow: 0 28px 75px rgba(4,28,49,.28); transform: translateY(10px) scale(.97); transition: transform 180ms ease; }
.password-modal.is-open .password-modal-panel { transform: translateY(0) scale(1); }
.password-modal-close { position: absolute; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border: 1px solid #d8e7ee; border-radius: 50%; color: #6e8492; background: #f8fbfd; }
.password-modal-close:hover { color: var(--ink); background: #eef8fc; }
.password-modal-badge { display: inline-flex; align-items: center; justify-content: center; width: 3.3rem; height: 3.3rem; margin-bottom: 1.2rem; border-radius: 17px; color: #fff; background: linear-gradient(135deg, #19aae9, #0876c3); box-shadow: 0 11px 22px rgba(17,148,221,.22); }
.password-display { display: flex; align-items: center; min-height: 56px; padding: .9rem 1rem; border: 1px dashed #8ed0eb; border-radius: 14px; background: #f1faff; color: var(--brand-dark); }
.password-display code { overflow-wrap: anywhere; font: 700 .95rem 'JetBrains Mono', monospace; letter-spacing: .06em; }
.password-copy-button { min-height: 46px; }
.password-modal-note { display: flex; align-items: center; justify-content: center; gap: .3rem; margin: 1rem 0 0; color: #8aa0ad; font-size: .68rem; text-align: center; }
body.password-modal-open { overflow: hidden; }
@media (max-width: 767px) {
  .downloads-page::before { height: 190px; }
  .download-promo { align-items: flex-start; padding: 1rem !important; }
  .download-promo .btn { width: 100%; }
  .download-project-card { align-items: stretch; flex-direction: column; padding: 1rem; gap: 1rem; }
  .download-project-main { align-items: flex-start; }
  .download-project-title { white-space: normal; }
  .download-project-meta { flex-wrap: wrap; gap: .75rem 1rem; }
  .download-project-actions { width: 100%; flex-direction: column; }
  .download-project-actions .btn { width: 100%; }
  .password-modal-panel { padding: 1.5rem; border-radius: 20px; }
}

/* Full-width premium footer */
.site-footer { position: relative; overflow: hidden; width: 100%; background: linear-gradient(180deg, #eef7fc 0%, #e4f1f8 100%); border-top: 1px solid #d4e7f0; }
.site-footer::before { content: ''; position: absolute; width: 520px; height: 520px; left: -230px; bottom: -320px; border-radius: 50%; background: rgba(86,198,241,.14); pointer-events: none; }
.site-footer::after { content: ''; position: absolute; width: 420px; height: 420px; right: -180px; top: -250px; border-radius: 50%; background: rgba(38,131,218,.08); pointer-events: none; }
.footer-shell { position: relative; z-index: 1; width: 100%; }
.footer-container { position: relative; }
.footer-glow { position: relative; overflow: hidden; padding: 2.15rem 2.25rem 1.25rem; border: 1px solid rgba(175,219,237,.95); border-radius: 27px; background: linear-gradient(135deg, rgba(219,244,255,.88), rgba(245,251,255,.9) 58%, rgba(219,239,249,.88)); box-shadow: 0 20px 46px rgba(29,102,140,.10); }
.footer-glow::before { content: ''; position: absolute; width: 280px; height: 280px; right: -115px; bottom: -150px; border-radius: 50%; border: 1px solid rgba(58,163,216,.14); box-shadow: 0 0 0 18px rgba(58,163,216,.05), 0 0 0 38px rgba(58,163,216,.035); pointer-events: none; }
.footer-top, .footer-bottom { position: relative; z-index: 1; }
.footer-brand-mark { width: 2.65rem !important; height: 2.65rem !important; border-radius: 14px !important; box-shadow: 0 10px 20px rgba(17,148,221,.23); }
.footer-kicker, .footer-column-title { color: #7294a8; font: 700 .64rem 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.footer-copy { max-width: 32rem; color: #5d788b; }
.footer-trust-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.footer-trust-row span { display: inline-flex; align-items: center; gap: .35rem; padding: .42rem .62rem; border: 1px solid #c6e4f1; border-radius: 999px; color: #4d849e; background: rgba(255,255,255,.58); font-size: .67rem; font-weight: 700; }
.footer-trust-row svg { color: #1599d8; }
.footer-link-column { min-width: 0; }
.footer-column-title { margin-bottom: .9rem; }
.footer-links { display: grid; gap: .62rem; }
.footer-links a { display: inline-flex; align-items: center; gap: .35rem; width: fit-content; color: #527185; font-size: .79rem; font-weight: 600; transition: color 160ms ease, transform 160ms ease; }
.footer-links a svg { opacity: 0; transition: opacity 160ms ease, transform 160ms ease; }
.footer-links a:hover { color: #0875be; transform: translateX(2px); }
.footer-links a:hover svg { opacity: 1; transform: translateX(2px); }
.footer-social-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.footer-social { display: inline-flex; align-items: center; justify-content: flex-start; gap: .45rem; min-height: 38px; padding: .48rem .62rem; border: 1px solid rgba(192,222,235,.95); border-radius: 12px; color: #557486; background: rgba(255,255,255,.62); box-shadow: 0 5px 12px rgba(43,105,135,.045); font-size: .68rem; font-weight: 700; transition: transform 160ms ease, color 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.footer-social:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg, #1aa9e9, #0876c4); box-shadow: 0 9px 18px rgba(17,148,221,.22); transform: translateY(-2px); }
.footer-social svg { flex: 0 0 auto; }
.footer-social-facebook:hover { background: #1877f2; }
.footer-social-instagram:hover { background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045); }
.footer-social-youtube:hover { background: #e62117; }
.footer-social-linkedin:hover { background: #0a66c2; }
.footer-social-telegram:hover { background: #229ed9; }
.footer-social-github:hover { background: #24292f; }
.footer-social-codester:hover { background: #f0782b; }
.footer-empty-social { color: #7b95a4; font-size: .75rem; line-height: 1.55; }
.footer-built { display: inline-flex; align-items: center; gap: .35rem; color: #6a899a; }
.footer-built svg { color: #1599d8; }
.site-footer .footer-bottom { border-top-color: #c0dfea; }
@media (max-width: 767px) {
  .site-footer { margin-top: 3rem !important; }
  .footer-container { padding: 2.5rem .75rem 1.25rem !important; }
  .footer-glow { padding: 1.45rem 1.15rem 1rem; border-radius: 21px; }
  .footer-top { gap: 1.8rem; }
  .footer-copy { font-size: .78rem; }
  .footer-social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-social { min-height: 40px; }
  .footer-bottom { margin-top: 1.6rem !important; padding-top: 1rem !important; }
}
@media (max-width: 380px) {
  .footer-social { font-size: .62rem; padding-inline: .5rem; }
}

/* Advanced marketplace project cards */
.project-grid { align-items: stretch; }
.project-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 22px; border-color: #d7e6ed; background: #fff; box-shadow: 0 12px 30px rgba(28,83,112,.07); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.project-card:hover { transform: translateY(-5px); border-color: #b6dff0; box-shadow: 0 20px 42px rgba(25,126,177,.16); }
.project-card-media-link { display: block; flex: 0 0 auto; }
.project-thumb { height: 218px; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #082a4b, #116f9b); }
.project-thumb-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 500ms cubic-bezier(.2,.7,.2,1), filter 300ms ease; }
.project-card:hover .project-thumb-image { transform: scale(1.045); filter: saturate(1.08) contrast(1.02); }
.project-thumb-overlay { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: .35rem; padding: .48rem .68rem; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; color: #fff; background: rgba(4,31,55,.62); backdrop-filter: blur(10px); font-size: .68rem; font-weight: 700; opacity: 0; transform: translateY(6px); transition: opacity 180ms ease, transform 180ms ease; }
.project-card:hover .project-thumb-overlay, .project-card:focus-within .project-thumb-overlay { opacity: 1; transform: translateY(0); }
.project-card-body { min-height: 245px; }
.project-card-eyebrow { min-height: 26px; }
.project-type-label { color: #7894a2; font-family: 'JetBrains Mono', monospace; font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.project-card-body h3 a { color: inherit; }
.project-card-body h3 a:hover { color: #1498d4; }
.project-card .project-meta { color: #6d8795; }
.project-card-actions { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.32fr); gap: .55rem; margin-top: auto; }
.project-view-btn, .project-donate-btn { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; min-height: 42px; padding: .65rem .72rem; border-radius: 999px; font-size: .72rem; font-weight: 800; line-height: 1.1; text-align: center; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease; }
.project-view-btn { border: 1px solid #cbdde5; color: #315368; background: #fff; }
.project-view-btn:hover { border-color: #8acbe8; color: #087bbd; background: #f3fbff; transform: translateY(-1px); }
.project-donate-btn { border: 1px solid #119dde; color: #fff; background: linear-gradient(135deg, #19a7e5, #0878ca); box-shadow: 0 9px 18px rgba(16,144,208,.2); }
.project-donate-btn:hover { color: #fff; background: linear-gradient(135deg, #0e94d1, #075fae); box-shadow: 0 12px 24px rgba(16,144,208,.28); transform: translateY(-1px); }
@media (max-width: 767px) {
  .project-thumb { height: auto; aspect-ratio: 16 / 10; }
  .project-card-body { min-height: 0; }
  .project-thumb-overlay { opacity: 1; transform: none; padding: .4rem .58rem; font-size: .62rem; }
  .project-card-actions { grid-template-columns: 1fr; }
  .project-view-btn, .project-donate-btn { min-height: 44px; }
}


/* Exact project thumbnail canvas: 1600 x 800 (2:1) across cards and detail pages. */
.project-thumb{height:auto!important;aspect-ratio:2 / 1!important;overflow:hidden;background:#122a43!important}
.project-thumb-image,.project-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.post-hero{height:auto!important;min-height:0!important;aspect-ratio:2 / 1;overflow:hidden}
.post-hero>img{display:block;width:100%;height:100%;min-height:0!important;object-fit:cover;object-position:center}
.post-hero-placeholder{height:100%;min-height:0!important;aspect-ratio:auto}
@media(max-width:767px){.project-thumb{height:auto!important;aspect-ratio:2 / 1!important}.post-hero{height:auto!important;min-height:0!important;aspect-ratio:2 / 1}.post-hero>img,.post-hero-placeholder{min-height:0!important;height:100%!important}}
/* Dual marketplace: digital subscriptions and apps */
.subscription-marketplace-page,
.subscription-detail-page { background: #fff; }
.subscription-hero { background: radial-gradient(circle at 86% 22%, rgba(113,221,184,.18), transparent 27rem), linear-gradient(135deg, #f8fbfa 0%, #eef6f2 48%, #ffffff 100%); border-bottom: 1px solid var(--line, #e5e7eb); overflow: hidden; }
.subscription-hero .max-w-7xl { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 4rem; align-items: center; }
.subscription-hero-copy { max-width: 650px; }
.subscription-hero h1 { margin: 1.1rem 0 1rem; max-width: 720px; font-family: var(--font-display, ui-sans-serif); font-size: clamp(2.35rem,5vw,4.6rem); line-height: .98; letter-spacing: -.06em; font-weight: 800; color: #10201c; }
.subscription-hero p { max-width: 600px; font-size: 1.07rem; line-height: 1.7; color: #5c6b66; }
.subscription-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.subscription-hero-panel { min-height: 290px; padding: 1.45rem; border: 1px solid rgba(18,48,39,.12); border-radius: 1.25rem; background: rgba(255,255,255,.82); box-shadow: 0 22px 65px rgba(27,71,56,.11); transform: rotate(1.1deg); }
.subscription-hero-panel:before { content: ''; display:block; height: 1px; background: linear-gradient(90deg, #2f946e, transparent); margin: 1.9rem -1.45rem 0; }
.subscription-stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 2.4rem; }
.subscription-stat-grid > div { border:1px solid #e5eee9; border-radius:.8rem; padding:.9rem; background:#fbfdfc; }
.subscription-stat-grid strong { display:block; font-family:var(--font-mono,monospace); font-size:1.4rem; color:#1f8060; }
.subscription-stat-grid small { color:#74827d; font-size:.72rem; }
.subscription-section-heading { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:2rem; }
.subscription-section-heading h2 { margin-top:.35rem; font-family:var(--font-display,ui-sans-serif); font-size:clamp(1.65rem,3vw,2.5rem); font-weight:800; letter-spacing:-.045em; color:#16221f; }
.subscription-filter { display:flex; gap:.55rem; width:min(100%, 510px); }
.subscription-filter .input:first-child { flex:1; }
.subscription-filter .input { min-width:0; }
.subscription-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.35rem; }
.subscription-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #e2e9e6; border-radius:1rem; background:#fff; box-shadow:0 10px 30px rgba(34,57,48,.045); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.subscription-card:hover { transform:translateY(-4px); border-color:#b7d9ca; box-shadow:0 18px 42px rgba(34,91,69,.12); }
.subscription-card-media, .subscription-detail-media { position:relative; display:block; background:linear-gradient(135deg,#dcefe7,#f6faf8); overflow:hidden; }
.subscription-card-media { aspect-ratio:2 / 1; }
.subscription-card-media img, .subscription-detail-media img { width:100%; height:100%; object-fit:cover; display:block; }
.subscription-detail-media { aspect-ratio:2 / 1; border-radius:1.1rem; border:1px solid #dce8e3; }
.subscription-placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#2d956c; background:radial-gradient(circle at 30% 30%,#fff,transparent 48%),linear-gradient(135deg,#d9f2e6,#f8faf9); }
.subscription-placeholder.large { min-height:280px; }
.subscription-type { position:absolute; top:.85rem; right:.85rem; padding:.35rem .65rem; border:1px solid rgba(255,255,255,.72); border-radius:999px; background:rgba(16,32,28,.8); color:#fff; font-size:.7rem; font-weight:700; backdrop-filter:blur(8px); }
.subscription-card-body { display:flex; flex:1; flex-direction:column; padding:1.1rem; }
.subscription-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.75rem; color:#83908b; font-size:.72rem; }
.subscription-card h3 { margin:0 0 .5rem; font-family:var(--font-display,ui-sans-serif); font-size:1.12rem; line-height:1.25; letter-spacing:-.02em; color:#15241f; }
.subscription-card h3 a:hover { color:#23825e; }
.subscription-card-body > p { min-height:3.6rem; margin-bottom:1rem; color:#687771; font-size:.86rem; line-height:1.6; }
.subscription-plan-preview { display:flex; flex-direction:column; gap:.45rem; padding:.75rem 0; border-top:1px solid #edf1ef; border-bottom:1px solid #edf1ef; }
.subscription-plan-preview span { display:flex; justify-content:space-between; gap:.75rem; font-size:.76rem; color:#586963; }
.subscription-plan-preview em { font-style:normal; font-family:var(--font-mono,monospace); font-weight:700; color:#20805d; }
.subscription-card-actions { display:flex; gap:.45rem; margin-top:1rem; }
.subscription-card-actions > * { flex:1; justify-content:center; font-size:.76rem; }
.subscription-detail-grid { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr); gap:2rem; align-items:start; margin-top:1.5rem; }
.post-backlink { display:inline-flex; align-items:center; gap:.45rem; color:#60716a; font-size:.85rem; font-weight:600; }
.post-backlink:hover { color:#20805d; }
.subscription-description { margin-top:1.25rem; padding:1.5rem; }
.subscription-description h1 { margin:.4rem 0 1rem; font-family:var(--font-display,ui-sans-serif); font-size:clamp(1.9rem,4vw,3rem); line-height:1.02; letter-spacing:-.05em; color:#15241f; }
.subscription-description > p { color:#60706a; line-height:1.8; }
.subscription-trust-strip { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.4rem; padding-top:1rem; border-top:1px solid #edf1ef; }
.subscription-trust-strip span { display:inline-flex; align-items:center; gap:.35rem; color:#38745d; font-size:.76rem; font-weight:700; }
.subscription-buy-panel { position:sticky; top:5.8rem; padding:1.35rem; border:1px solid #dce8e3; border-radius:1rem; background:#fbfdfc; box-shadow:0 16px 45px rgba(25,72,53,.08); }
.subscription-buy-heading { padding-bottom:1rem; border-bottom:1px solid #e7efeb; }
.subscription-buy-heading h2 { margin:.2rem 0 .45rem; font-family:var(--font-display,ui-sans-serif); font-size:1.55rem; letter-spacing:-.035em; color:#172923; }
.subscription-buy-heading > span { color:#71807a; font-size:.78rem; line-height:1.5; }
.subscription-features { display:flex; flex-direction:column; gap:.55rem; padding:1rem 0; border-bottom:1px solid #e7efeb; }
.subscription-features strong { margin-bottom:.15rem; color:#22342d; font-size:.8rem; }
.subscription-features div { display:flex; gap:.5rem; align-items:flex-start; color:#60716a; font-size:.79rem; line-height:1.45; }
.subscription-features div svg { color:#2b986d; flex:0 0 auto; margin-top:.1rem; }
.subscription-plans { display:flex; flex-direction:column; gap:.6rem; padding:1rem 0; }
.subscription-plan { display:flex; align-items:center; gap:.7rem; padding:.85rem; border:1px solid #dde8e3; border-radius:.75rem; background:#fff; cursor:pointer; transition:.18s ease; }
.subscription-plan:hover, .subscription-plan.is-selected { border-color:#54ab87; background:#f2fbf6; box-shadow:0 0 0 2px rgba(84,171,135,.12); }
.subscription-plan input { accent-color:#2b936a; }
.subscription-plan span { display:flex; flex-direction:column; min-width:0; flex:1; }
.subscription-plan b { color:#1c3028; font-size:.86rem; }
.subscription-plan small { color:#7a8983; font-size:.7rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.subscription-plan > strong { color:#1e805d; font-family:var(--font-mono,monospace); font-size:.82rem; white-space:nowrap; }
.subscription-order-box { padding:.85rem 0; border-top:1px solid #e7efeb; border-bottom:1px solid #e7efeb; }
.subscription-order-box p { margin-bottom:.45rem; color:#66766f; font-size:.75rem; }
.subscription-order-box > div { display:flex; gap:.45rem; }
.subscription-order-box .input { min-width:0; text-transform:uppercase; font-family:var(--font-mono,monospace); font-size:.75rem; }
.subscription-order-box .btn { font-size:.75rem; }
.subscription-total { display:grid; grid-template-columns:1fr auto; gap:.1rem .75rem; padding-top:1rem; }
.subscription-total small, .subscription-total span { color:#788781; font-size:.72rem; }
.subscription-total strong { grid-column:2; grid-row:1 / span 2; align-self:center; color:#1d805d; font-family:var(--font-mono,monospace); font-size:1.35rem; }
.subscription-total .btn { grid-column:1 / -1; width:100%; justify-content:center; margin-top:.7rem; }
@media (max-width:1024px) { .subscription-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .subscription-hero .max-w-7xl { gap:2rem; } }
@media (max-width:760px) { .subscription-hero .max-w-7xl, .subscription-detail-grid { grid-template-columns:1fr; } .subscription-hero .max-w-7xl { padding-top:3.5rem; padding-bottom:3.5rem; } .subscription-hero-panel { transform:none; } .subscription-section-heading { align-items:stretch; flex-direction:column; } .subscription-filter { width:100%; flex-wrap:wrap; } .subscription-filter .input { flex:1 1 100%; } .subscription-filter select { flex:1; } .subscription-grid { grid-template-columns:1fr; } .subscription-buy-panel { position:static; } .subscription-description { padding:1.1rem; } }
@media (max-width:430px) { .subscription-hero h1 { font-size:2.35rem; } .subscription-hero-actions > * { width:100%; justify-content:center; } .subscription-card-actions { flex-direction:column; } .subscription-card-actions > * { width:100%; } }
/* Wishlist workspace and dual-marketplace homepage bridge */
.subscription-home-section { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.wishlist-layout { align-items: flex-start; }
.wishlist-content { padding: 1.5rem; border: 1px solid #dbe7f1; border-radius: 24px; background: linear-gradient(180deg,#fff 0%,#f9fcff 100%); box-shadow: 0 14px 40px rgba(33,76,111,.06); }
.wishlist-heading h1 { color: var(--ink); letter-spacing: -.045em; }
.wishlist-count-card { display:flex; align-items:center; gap:.65rem; padding:.75rem 1rem; border:1px solid #cfe4f1; border-radius:14px; background:#f3faff; }
.wishlist-count-card strong { color:#087bbd; font:700 1.35rem 'JetBrains Mono',monospace; }
.wishlist-count-card span { color:#668195; font-size:.75rem; }
.wishlist-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; padding:.7rem .85rem; border:1px solid #e0ebf2; border-radius:12px; background:#fbfdff; color:#61798b; font-size:.76rem; font-weight:700; }
.wishlist-toolbar > span { display:inline-flex; align-items:center; gap:.4rem; }
.wishlist-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.wishlist-card { overflow:hidden; transition:transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.wishlist-card:hover { transform:translateY(-4px); border-color:#abd8ef; box-shadow:0 16px 34px rgba(25,126,177,.13); }
.wishlist-card-media { position:relative; display:block; aspect-ratio:2 / 1; overflow:hidden; background:linear-gradient(135deg,#082a4b,#117ca9 70%,#22b4e9); }
.wishlist-card-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform 400ms var(--ease); }
.wishlist-card:hover .wishlist-card-media img { transform:scale(1.04); }
.wishlist-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem; color:#fff; background:linear-gradient(135deg,#123452,#0e84bc); }
.wishlist-status { position:absolute; top:.75rem; left:.75rem; display:inline-flex; align-items:center; gap:.4rem; padding:.34rem .6rem; border-radius:999px; color:#157b60; background:rgba(239,255,248,.92); font-size:.67rem; font-weight:800; }
.wishlist-status i { width:7px; height:7px; border-radius:50%; background:#1bb77c; }
.wishlist-card-body { padding:1.05rem; }
.wishlist-card-meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.7rem; }
.wishlist-type { color:#7890a1; font:600 .62rem 'JetBrains Mono',monospace; text-transform:uppercase; }
.wishlist-card h2 { margin-bottom:.45rem; color:var(--ink); font:700 1.05rem/1.25 'Space Grotesk',sans-serif; letter-spacing:-.025em; }
.wishlist-card h2 a:hover { color:#087bbd; }
.wishlist-card-body > p { min-height:3.1rem; margin-bottom:.85rem; color:#6a8192; font-size:.8rem; line-height:1.55; }
.wishlist-card-stats { display:flex; justify-content:space-between; gap:.5rem; padding:.7rem 0; border-top:1px solid #edf2f5; border-bottom:1px solid #edf2f5; color:#6b8292; font-size:.68rem; }
.wishlist-card-stats span { display:inline-flex; align-items:center; gap:.3rem; }
.wishlist-card-actions { display:flex; gap:.45rem; margin-top:.85rem; }
.wishlist-card-actions form { display:flex; }
.wishlist-view-btn, .wishlist-remove-btn { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; min-height:39px; padding:.55rem .72rem; border-radius:999px; font-size:.72rem; font-weight:800; transition:.16s ease; }
.wishlist-view-btn { flex:1; color:#fff; background:linear-gradient(135deg,#1b9ee1,#0876c4); box-shadow:0 7px 15px rgba(17,148,221,.18); }
.wishlist-view-btn:hover { color:#fff; transform:translateY(-1px); box-shadow:0 10px 20px rgba(17,148,221,.25); }
.wishlist-remove-btn { color:#c24c61; border:1px solid #f0cfd6; background:#fff7f8; }
.wishlist-remove-btn:hover { color:#a93249; border-color:#e9a9b7; background:#fff0f3; }
.wishlist-empty { border:1px dashed #bfd9e8; background:linear-gradient(135deg,#fff,#f3faff); }
.wishlist-empty-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; border-radius:18px; color:#118ecf; background:#e8f6ff; box-shadow:0 8px 18px rgba(17,148,221,.12); }
@media (max-width: 900px) { .wishlist-content { padding:1.15rem; } .wishlist-grid { grid-template-columns:1fr; } }
@media (max-width: 560px) { .wishlist-content { padding:.95rem; border-radius:18px; } .wishlist-heading { align-items:flex-start; flex-direction:column; } .wishlist-count-card { width:100%; justify-content:space-between; } .wishlist-toolbar { align-items:stretch; flex-direction:column; } .wishlist-toolbar .btn { width:100%; } .wishlist-card-actions { flex-direction:column; } .wishlist-card-actions form, .wishlist-remove-btn { width:100%; } }
/* Post social CTAs and optional file information */
.post-social-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin:1rem 0; }
.post-social-btn { display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:52px; padding:.75rem 1rem; border:1px solid transparent; border-radius:14px; color:#fff; font-size:.82rem; font-weight:800; box-shadow:0 9px 18px rgba(35,91,117,.12); transition:transform 160ms ease, box-shadow 160ms ease, filter 160ms ease; }
.post-social-btn:hover { color:#fff; transform:translateY(-2px); filter:saturate(1.08); box-shadow:0 13px 24px rgba(35,91,117,.18); }
.post-social-whatsapp { background:linear-gradient(135deg,#1fc76c,#0ba45a); border-color:#07904e; }
.post-social-google { background:linear-gradient(135deg,#2aaee5,#1484c9); border-color:#0875b7; }
.post-social-youtube { background:linear-gradient(135deg,#ff3838,#e50000); border-color:#c90000; }
.post-file-info { position:relative; margin:1.1rem 0; padding:1.35rem 1.25rem 1.1rem; border:1px solid #9bd8e1; border-radius:18px; background:linear-gradient(135deg,#ecffff 0%,#e7fbff 100%); box-shadow:0 10px 24px rgba(12,133,156,.08); }
.post-file-info-title { display:inline-flex; align-items:center; min-height:34px; margin:-2.25rem 0 .85rem .25rem; padding:.38rem 1.15rem; border:1px solid #9bd8e1; border-radius:999px; color:#152b3c; background:#fff; font:800 .95rem 'Space Grotesk',sans-serif; box-shadow:0 5px 10px rgba(12,133,156,.06); }
.post-file-info-grid { display:grid; }
.post-file-info-row { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(0,1.7fr); align-items:center; gap:1.2rem; min-height:49px; border-bottom:1px dashed #b9e1e7; font-size:.79rem; }
.post-file-info-row:last-child { border-bottom:0; }
.post-file-info-label { display:inline-flex; align-items:center; gap:.55rem; color:#668292; font-weight:700; }
.post-file-info-label svg { color:#5b9fdf; }
.post-file-info-row strong { color:#172b3a; font-weight:800; overflow-wrap:anywhere; }
@media (max-width:760px) { .post-social-links { gap:.55rem; } .post-social-btn { min-height:48px; padding:.65rem .45rem; font-size:.72rem; } .post-file-info { padding:1.15rem .9rem .8rem; } .post-file-info-row { grid-template-columns:1fr; gap:.2rem; padding:.65rem 0; } .post-file-info-row strong { padding-left:1.45rem; } }
@media (max-width:420px) { .post-social-links { grid-template-columns:1fr; } .post-social-btn { min-height:46px; } .post-file-info-title { margin-left:0; font-size:.86rem; } }
/* Responsive sponsor banner system */
.sponsor-banner { width:min(1180px,calc(100% - 2rem)); margin:1.15rem auto; padding:.65rem; border:1px solid #c7e0ea; border-radius:18px; background:linear-gradient(135deg,#f3fcff,#fff); box-shadow:0 10px 28px rgba(23,104,139,.08); overflow:hidden; }
.sponsor-banner-label { display:flex; align-items:center; gap:.45rem; margin:0 .25rem .55rem; color:#547084; font:700 .66rem 'JetBrains Mono',monospace; letter-spacing:.04em; text-transform:uppercase; }
.sponsor-banner-label svg { color:#16a4d8; }
.sponsor-banner-label em { margin-left:auto; padding:.18rem .4rem; border-radius:5px; color:#7d94a2; background:#eaf3f7; font-size:.56rem; font-style:normal; }
.sponsor-banner img { display:block; width:100%; max-height:250px; border-radius:12px; object-fit:cover; }
.sponsor-banner-code { display:flex; align-items:center; justify-content:center; min-height:90px; border-radius:12px; color:#426375; background:#f7fbfd; overflow:auto; }
.sponsor-banner-placeholder { display:flex; align-items:center; justify-content:center; gap:.7rem; min-height:88px; border:1px dashed #b8d4df; border-radius:12px; color:#638193; background:linear-gradient(90deg,#f7fdff,#edf9fd); font-size:.8rem; }
.sponsor-banner-placeholder strong { color:#1f4d63; }
.post-center-banner-wrap { width:100%; margin:1.3rem 0; }
.footer-banner-wrap { margin-top:2.4rem; margin-bottom:0; }
.admin-ad-intro { border-color:#c8e2ef; background:linear-gradient(135deg,#f2fbff,#fff); }
.admin-ad-intro-icon { display:flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; flex:none; border-radius:12px; color:#087dba; background:#def3ff; }
.admin-ad-card { border-color:#dae7ee; box-shadow:0 8px 24px rgba(33,76,111,.05); }
.admin-ad-card:hover { border-color:#a7d8ea; box-shadow:0 13px 30px rgba(33,116,156,.1); }
.admin-switch { position:relative; display:inline-block; width:42px; height:24px; flex:none; }
.admin-switch input { position:absolute; opacity:0; width:0; height:0; }
.admin-switch span { position:absolute; inset:0; cursor:pointer; border-radius:999px; background:#cbd9df; transition:.2s ease; }
.admin-switch span:before { content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.14); transition:.2s ease; }
.admin-switch input:checked + span { background:#19a6da; }
.admin-switch input:checked + span:before { transform:translateX(18px); }
@media (max-width:640px) { .sponsor-banner { width:calc(100% - 1rem); margin:.8rem auto; border-radius:14px; padding:.45rem; } .sponsor-banner img { max-height:180px; border-radius:10px; } .sponsor-banner-placeholder { min-height:72px; flex-direction:column; gap:.25rem; text-align:center; } .post-center-banner-wrap { width:100%; margin:1rem 0; } .footer-banner-wrap { margin-top:1.5rem; } }
/* Comments and star reviews */
.comments-section { margin-top:1.25rem; padding:1.35rem; border-color:#d7e5ec; }
.comments-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #e5eef2; }
.comments-heading h2 { display:flex; align-items:center; gap:.5rem; color:var(--ink); font:700 1.2rem/1.2 'Space Grotesk',sans-serif; }
.comments-heading h2 svg { color:#188fc8; }
.comments-summary { display:grid; justify-items:end; gap:.15rem; min-width:110px; }
.comments-summary strong { color:#142d3f; font:800 1.6rem/1 'Space Grotesk',sans-serif; }
.comments-summary small { color:#78909d; font-size:.68rem; }
.comment-stars { display:inline-flex; gap:.1rem; color:#c5d2d8; }
.comment-stars svg { fill:transparent; stroke:currentColor; }
.comment-stars svg.is-filled { color:#f2ad28; fill:#f2ad28; }
.comment-form { margin-top:1.15rem; padding:1rem; border:1px solid #dceaf0; border-radius:15px; background:#f8fcfe; }
.comment-form-top, .comment-form-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.comment-form textarea { display:block; width:100%; margin: .8rem 0; padding:.8rem .9rem; border:1px solid #cbdfe8; border-radius:11px; outline:none; resize:vertical; color:var(--ink); background:#fff; font-size:.86rem; transition:border-color 160ms ease, box-shadow 160ms ease; }
.comment-form textarea:focus { border-color:#56b9e0; box-shadow:0 0 0 3px rgba(37,169,220,.12); }
.comment-rating { display:flex; flex-direction:row-reverse; gap:.06rem; }
.comment-rating input { position:absolute; opacity:0; pointer-events:none; }
.comment-rating label { cursor:pointer; color:#cad7dc; transition:color 140ms ease, transform 140ms ease; }
.comment-rating label:hover, .comment-rating label:hover ~ label, .comment-rating input:checked ~ label { color:#f2ad28; transform:translateY(-1px); }
.comment-rating label svg { fill:currentColor; stroke:currentColor; }
.emoji-picker { display:flex; flex-wrap:wrap; gap:.25rem; }
.emoji-btn { width:29px; height:29px; border:1px solid #d8e7ec; border-radius:8px; background:#fff; cursor:pointer; font-size:1rem; transition:transform 140ms ease, background 140ms ease; }
.emoji-btn:hover { background:#eefaff; transform:scale(1.12); }
.comment-login-prompt { display:flex; align-items:center; gap:.8rem; margin-top:1.15rem; padding:1rem; border:1px dashed #bdd9e5; border-radius:14px; background:#f7fcff; }
.comment-login-icon { display:flex; align-items:center; justify-content:center; width:2.35rem; height:2.35rem; flex:none; border-radius:11px; color:#168cc3; background:#e0f4fc; }
.comment-login-prompt > div { flex:1; }
.comment-login-prompt strong { color:#23485d; font-size:.86rem; }
.comment-list { display:grid; gap:.75rem; margin-top:1.15rem; }
.comment-item { display:flex; gap:.75rem; padding:.9rem 0; border-bottom:1px solid #e8f0f3; }
.comment-item:last-child { border-bottom:0; }
.comment-avatar, .admin-comment-avatar { display:flex; align-items:center; justify-content:center; flex:none; width:2.25rem; height:2.25rem; border-radius:50%; color:#fff; background:linear-gradient(135deg,#19a9e0,#6955df); font:800 .85rem 'Space Grotesk',sans-serif; }
.comment-copy { min-width:0; flex:1; }
.comment-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.comment-meta strong { color:#203d4d; font-size:.82rem; }
.comment-meta time { color:#91a5ae; font-size:.67rem; }
.comment-stars.small { gap:0; }
.comments-empty { display:grid; justify-items:center; gap:.35rem; padding:1.2rem; color:#8198a4; text-align:center; font-size:.78rem; }
.comments-empty span { display:flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border-radius:50%; color:#5ca8c9; background:#e9f7fc; }
.comment-item p { margin:.42rem 0 0; color:#526d7b; font-size:.82rem; line-height:1.6; overflow-wrap:anywhere; }
.comment-warning-modal[hidden] { display:none; }
.comment-warning-modal { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:1rem; }
.comment-warning-backdrop { position:absolute; inset:0; background:rgba(14,40,57,.46); backdrop-filter:blur(4px); }
.comment-warning-dialog { position:relative; width:min(390px,100%); padding:1.5rem; border:1px solid #f4d8a1; border-radius:18px; background:#fff; box-shadow:0 22px 60px rgba(21,57,77,.25); text-align:center; }
.comment-warning-icon { display:flex; align-items:center; justify-content:center; width:3rem; height:3rem; margin:0 auto .7rem; border-radius:50%; color:#a56700; background:#fff3d7; }
.comment-warning-dialog h3 { margin:0; color:#1d3442; font:800 1.1rem 'Space Grotesk',sans-serif; }
.comment-warning-dialog p { margin:.5rem 0 1rem; color:#667f8c; font-size:.83rem; line-height:1.6; }
.comment-admin-tabs { display:flex; flex-wrap:wrap; gap:.55rem; }
.comment-admin-tab { display:flex; align-items:center; gap:.55rem; padding:.62rem .8rem; border:1px solid #d7e4eb; border-radius:11px; color:#6a8290; background:#fff; font-size:.76rem; font-weight:700; }
.comment-admin-tab strong { min-width:1.35rem; padding:.13rem .28rem; border-radius:99px; color:#5a7481; background:#edf4f7; text-align:center; font-size:.68rem; }
.comment-admin-tab.is-active { border-color:#8bcbe5; color:#087caf; background:#effaff; }
.comment-admin-tab.is-active strong { color:#fff; background:#169bd0; }
.admin-comment-card { border-color:#dbe8ee; }
.admin-comment-card:hover { border-color:#a9d6e8; }
.admin-review-stars { display:flex; gap:.1rem; margin-top:.35rem; color:#cad7dc; }
.admin-review-stars svg { fill:transparent; stroke:currentColor; }
.admin-review-stars svg.is-filled { color:#f2ad28; fill:#f2ad28; }
.admin-comment-text { margin:1rem 0; padding:.8rem .95rem; border-radius:11px; color:#506b79; background:#f7fbfd; font-size:.84rem; line-height:1.65; overflow-wrap:anywhere; }
.admin-comment-actions { display:flex; flex-wrap:wrap; gap:.5rem; padding-top:.8rem; border-top:1px solid #e7eff2; }
@media (max-width:640px) { .comments-section { padding:1rem; } .comments-heading { display:block; } .comments-summary { justify-items:start; grid-template-columns:auto auto auto; align-items:center; margin-top:.8rem; } .comments-summary strong { font-size:1.35rem; } .comment-form-top { display:block; } .comment-rating { justify-content:flex-start; flex-direction:row; margin-top:.55rem; } .comment-form-bottom { align-items:flex-end; flex-direction:column; } .comment-form-bottom .btn { width:100%; } .comment-login-prompt { align-items:flex-start; flex-wrap:wrap; } .comment-login-prompt .btn { width:100%; } .comment-admin-tab { flex:1 1 calc(50% - .55rem); justify-content:space-between; } }

/* Social authentication buttons */
.auth-divider { display:flex; align-items:center; gap:.75rem; margin:1.35rem 0 1rem; color:#8aa0aa; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.auth-divider::before, .auth-divider::after { content:""; height:1px; flex:1; background:#e2edf1; }
.oauth-button-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.oauth-btn { display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:2.85rem; padding:.65rem .8rem; border:1px solid #d7e5eb; border-radius:11px; color:#294756; background:#fff; font-size:.77rem; font-weight:700; text-align:center; transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
.oauth-btn:hover { transform:translateY(-1px); border-color:#9ccfe2; box-shadow:0 8px 18px rgba(37,88,111,.1); }
.oauth-google svg { color:#4285f4; }
.oauth-github { color:#fff; border-color:#172535; background:#182535; }
.oauth-github:hover { color:#fff; border-color:#0d1825; background:#101c2b; box-shadow:0 8px 18px rgba(15,29,45,.2); }
.oauth-github svg { color:#fff; }
@media (max-width:520px) { .oauth-button-grid { grid-template-columns:1fr; } }

/* Subscription checkout */
.payment-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.payment-method-option { display:flex; align-items:center; gap:.7rem; min-height:64px; padding:.85rem; border:1px solid var(--line); border-radius:14px; background:#fff; cursor:pointer; transition:border-color 160ms, box-shadow 160ms, transform 160ms; }
.payment-method-option:hover { border-color:#8dcced; transform:translateY(-1px); box-shadow:0 8px 18px rgba(33,76,111,.08); }
.payment-method-option:has(input:checked) { border-color:#1aa5e7; background:#f1faff; box-shadow:0 0 0 3px rgba(17,148,221,.1); }
.payment-method-option input { accent-color:var(--brand); }
.payment-method-option strong, .payment-method-option small { display:block; }
.payment-method-option small { margin-top:.2rem; color:var(--muted); font-size:.7rem; }
.payment-instructions { padding:1rem; border:1px solid #c6e5f6; border-radius:14px; background:#eefaff; color:#476b7d; font-size:.8rem; }
.payment-instructions > strong { display:flex; align-items:center; gap:.4rem; color:var(--ink); }
.payment-instructions > p { margin-top:.35rem; }
.payment-method-detail { display:none; margin-top:.75rem; padding:.75rem; border-radius:11px; background:#fff; border:1px dashed #b9ddec; }
.payment-method-detail.is-active { display:grid; gap:.25rem; }
.payment-method-detail code { color:#0d6d9e; overflow-wrap:anywhere; }
.payment-method-detail span { white-space:pre-line; }
.coupon-hint { display:flex; align-items:center; padding:0 .7rem; border-radius:11px; background:#edf8f2; color:#198562; font-size:.72rem; font-weight:700; white-space:nowrap; }
.summary-row { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.85rem; }
.summary-row strong { color:var(--ink); text-align:right; }
.summary-total, .checkout-total { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border-radius:13px; background:#f4f8fc; color:var(--muted); font-size:.8rem; }
.summary-total strong, .checkout-total strong { color:var(--ink); text-align:right; }
.checkout-total-primary { background:linear-gradient(135deg,#e8f7ff,#f2fbff); border:1px solid #bce3f5; }
.checkout-total-primary strong { color:var(--brand-dark); }
@media (max-width:600px) { .payment-method-grid { grid-template-columns:1fr; } .coupon-hint { display:none; } .checkout-total { align-items:flex-start; flex-direction:column; gap:.25rem; } }

/* Subscription detail refresh */
.subscription-detail-page { background:linear-gradient(180deg,#fbfdff 0%,#f3f9fd 55%,#fff 100%); }
.subscription-detail-media-premium { min-height:360px; overflow:hidden; position:relative; border:1px solid #cfe3ee; box-shadow:0 20px 45px rgba(23,73,104,.12); background:linear-gradient(135deg,#e9f7ff,#d9eff4 52%,#f5fbf4); }
.subscription-detail-media-premium img { width:100%; height:100%; min-height:360px; object-fit:cover; display:block; }
.subscription-art-fallback { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.55rem; color:#15628a; background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.95),transparent 24%),linear-gradient(135deg,#eaf9ff,#ccecf2 56%,#e6f8ea); }
.subscription-art-fallback span { width:86px; height:86px; border-radius:28px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.65); box-shadow:0 12px 30px rgba(30,111,145,.13); }
.subscription-art-fallback b { font-family:var(--font-display); font-size:1.1rem; }
.subscription-art-fallback small { color:#558496; }
.subscription-media-overlay { position:absolute; inset:auto 1rem 1rem; display:flex; justify-content:space-between; gap:.75rem; align-items:center; }
.subscription-type,.subscription-live-dot { display:inline-flex; align-items:center; gap:.35rem; padding:.48rem .75rem; border-radius:999px; color:#fff; background:rgba(18,47,65,.84); font-size:.7rem; font-weight:800; backdrop-filter:blur(10px); }
.subscription-live-dot { background:rgba(22,139,102,.9); }
.subscription-description { padding:clamp(1.25rem,3vw,2rem); border-color:#dbe9ef; }
.subscription-description h1 { margin-top:1rem; font-family:var(--font-display); font-size:clamp(2rem,4vw,3.15rem); line-height:1.04; letter-spacing:-.045em; }
.subscription-description p { max-width:760px; margin-top:1rem; color:#607786; line-height:1.8; }
.subscription-card-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; color:#708795; font-size:.78rem; }
.subscription-card-meta > span:last-child { display:inline-flex; align-items:center; gap:.3rem; }
.subscription-buy-panel { align-self:start; position:sticky; top:1.25rem; padding:clamp(1.15rem,2vw,1.6rem); border-color:#d6e7ef; box-shadow:0 18px 45px rgba(24,74,99,.1); }
.subscription-step-pill { display:inline-flex; align-items:center; gap:.45rem; color:#0d89c2; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.subscription-step-pill span { color:#7893a1; letter-spacing:.04em; }
.subscription-buy-heading h2 { margin-top:.65rem; font-family:var(--font-display); font-size:1.65rem; letter-spacing:-.03em; }
.subscription-buy-heading p { margin-top:.45rem; color:#738894; font-size:.8rem; line-height:1.55; }
.subscription-section-label { padding-bottom:.5rem; color:#78909c; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.subscription-features { margin:1.25rem 0; padding:1rem; border:1px solid #e0edf2; border-radius:16px; background:#fbfeff; }
.subscription-features > div:not(.subscription-section-label) { display:flex; align-items:flex-start; gap:.5rem; padding:.35rem 0; color:#57717f; font-size:.8rem; }
.subscription-features > div:not(.subscription-section-label) svg { flex:0 0 auto; color:#13a57b; }
.subscription-plan { display:flex; align-items:center; gap:.7rem; padding:1rem; margin-top:.65rem; border:1px solid #dce9ee; border-radius:15px; background:#fff; cursor:pointer; transition:all .16s ease; }
.subscription-plan:hover { border-color:#8dcde7; transform:translateY(-1px); box-shadow:0 9px 20px rgba(24,97,129,.08); }
.subscription-plan.is-selected { border-color:#35ac88; background:linear-gradient(135deg,#f0fff8,#fbffff); box-shadow:0 0 0 3px rgba(53,172,136,.11); }
.subscription-plan input { accent-color:#20a87f; }
.subscription-plan > span { min-width:0; flex:1; }
.subscription-plan b,.subscription-plan small { display:block; }
.subscription-plan b { color:#203c4d; font-size:.86rem; }
.subscription-plan small { margin-top:.25rem; color:#7d909a; font-size:.7rem; line-height:1.35; }
.subscription-plan > strong { color:#138b72; font-size:.84rem; white-space:nowrap; }
.subscription-order-box { margin-top:1.2rem; padding-top:1.1rem; border-top:1px solid #e5eef2; }
.subscription-order-box > p { display:flex; align-items:center; gap:.35rem; color:#647d89; font-size:.76rem; font-weight:700; }
.subscription-coupon-row { display:flex; gap:.5rem; margin-top:.55rem; }
.subscription-coupon-row .input { min-width:0; }
.subscription-coupon-row .btn { flex:0 0 auto; }
.coupon-message { min-height:1.2rem; margin-top:.5rem; font-size:.72rem; }
.coupon-message.is-success { color:#138b72; }
.coupon-message.is-error { color:#c64747; }
.subscription-total { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.15rem; padding-top:1.15rem; border-top:1px solid #e5eef2; }
.subscription-total > div { min-width:0; }
.subscription-total small,.subscription-total strong,.subscription-total span { display:block; }
.subscription-total small { color:#81939b; font-size:.68rem; }
.subscription-total strong { margin-top:.15rem; color:#138b72; font-size:1.35rem; }
.subscription-total span { margin-top:.15rem; color:#6f858f; font-size:.7rem; }
.subscription-total .btn { flex:0 0 auto; }
.subscription-safe-note { display:flex; align-items:center; justify-content:center; gap:.35rem; margin-top:1rem; color:#7b929c; font-size:.68rem; }
.comments-admin-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.25rem 1.35rem; margin-bottom:1.25rem; border:1px solid #dbeaf0; border-radius:20px; background:linear-gradient(135deg,#f8fdff,#effaff 62%,#fbfffc); box-shadow:0 12px 28px rgba(25,85,111,.06); }
.comments-admin-score { min-width:120px; padding:.8rem; text-align:center; border-radius:15px; background:#fff; border:1px solid #dfeef2; }
.comments-admin-score span { display:block; color:#f0ab28; }
.comments-admin-score strong { display:block; margin-top:.15rem; font-family:var(--font-display); font-size:1.5rem; }
.comments-admin-score small { color:#78909b; font-size:.65rem; }
.admin-comment-text { margin:1rem 0; padding:1rem 1.1rem; border-left:3px solid #a9ddec; border-radius:0 12px 12px 0; background:#f7fbfd; color:#506b79; font-size:.88rem; line-height:1.7; }
.admin-review-stars { display:flex; gap:.16rem; margin-top:.4rem; color:#d4dfe4; }
.admin-review-stars .is-filled { color:#f1ad2b; fill:currentColor; }
.admin-comment-actions { display:flex; flex-wrap:wrap; gap:.5rem; padding-top:.9rem; border-top:1px solid #e6eef1; }
.admin-comment-actions form { margin:0; }
@media (max-width:900px) { .subscription-buy-panel { position:static; } }
@media (max-width:620px) { .subscription-detail-media-premium,.subscription-detail-media-premium img,.subscription-art-fallback { min-height:245px; } .subscription-media-overlay { inset:auto .7rem .7rem; } .subscription-type,.subscription-live-dot { padding:.4rem .55rem; font-size:.62rem; } .subscription-total { align-items:stretch; flex-direction:column; } .subscription-total .btn { width:100%; justify-content:center; } .comments-admin-hero { align-items:stretch; flex-direction:column; } .comments-admin-score { text-align:left; } .comments-admin-score strong,.comments-admin-score small { display:inline-block; margin-right:.35rem; } }

/* Payment QR and subscription order history */
.payment-method-preview { width:52px; height:52px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:14px; color:#0f87b9; background:#edf9ff; border:1px solid #cce9f4; }
.payment-method-preview img { width:100%; height:100%; object-fit:cover; }
.payment-method-form-qr { width:72px; height:72px; object-fit:cover; border-radius:12px; border:1px solid #d4e5eb; }
.donation-method-detail { margin-top:.6rem; }
.donation-method-detail > div { display:none; gap:.25rem; }
.donation-method-detail > div.is-active { display:grid; }
.donation-method-detail strong { color:#234656; }
.donation-method-detail code { overflow-wrap:anywhere; color:#0873a0; }
.donation-method-detail span { white-space:pre-line; }
.subscription-history-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1.25rem 1.35rem; border:1px solid #daeaf0; border-radius:20px; background:linear-gradient(135deg,#f7fcff,#effaff 65%,#fbfffd); }
.subscription-history-card { overflow:hidden; border-color:#dcebef; }
.subscription-history-top { display:flex; align-items:center; gap:1rem; padding:1.2rem 1.25rem; }
.subscription-history-thumb { width:76px; height:48px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:12px; color:#1686ae; background:linear-gradient(135deg,#e9f8ff,#e8f9ef); }
.subscription-history-thumb img { width:100%; height:100%; object-fit:cover; }
.subscription-history-price { color:#16866e; font-size:.95rem; white-space:nowrap; }
.subscription-history-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; padding:1rem 1.25rem; background:#f9fcfd; border-top:1px solid #e7f0f2; border-bottom:1px solid #e7f0f2; }
.subscription-history-details span,.subscription-history-details strong { display:block; }
.subscription-history-details span { color:#81949c; font-size:.66rem; text-transform:uppercase; font-weight:800; letter-spacing:.06em; }
.subscription-history-details strong { margin-top:.27rem; color:#294958; font-size:.82rem; }
.subscription-access-note { display:flex; align-items:flex-start; gap:.45rem; padding:.85rem 1.25rem; color:#277866; background:#f0fcf7; font-size:.78rem; line-height:1.5; }
.subscription-access-note.is-expired,.subscription-access-note.is-rejected { color:#af5e48; background:#fff7f1; }
.subscription-access-note.is-pending { color:#9b711b; background:#fffaf0; }
.subscription-orders-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.3rem 1.4rem; margin-bottom:1.25rem; border:1px solid #dbeaf0; border-radius:20px; background:linear-gradient(135deg,#f7fcff,#effaff 62%,#fbfffc); box-shadow:0 12px 28px rgba(25,85,111,.06); }
.subscription-order-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.subscription-order-tab { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.85rem 1rem; border:1px solid #dce9ee; border-radius:14px; background:#fff; color:#607b88; font-size:.8rem; font-weight:700; transition:all .16s ease; }
.subscription-order-tab:hover,.subscription-order-tab.is-active { color:#087eae; border-color:#8fcfe6; background:#effaff; }
.subscription-order-tab strong { display:flex; align-items:center; justify-content:center; width:25px; height:25px; border-radius:999px; background:#f0f6f8; color:#496a78; font-size:.7rem; }
.subscription-order-tab.is-active strong { background:#d7f0fa; color:#087eae; }
.subscription-order-admin-card { border-color:#dbeaf0; }
.order-number { color:#1a6f93; font-family:var(--font-mono); font-size:.75rem; font-weight:800; }
.subscription-order-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:1.1rem; padding:1rem 0; border-top:1px solid #e6eef1; border-bottom:1px solid #e6eef1; }
.admin-order-label { display:block; color:#82959d; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.subscription-order-admin-grid strong { display:block; margin-top:.25rem; color:#2e4a57; font-size:.8rem; }
.admin-order-note { margin-top:1rem; padding:.8rem .9rem; border-radius:11px; background:#f8fbfc; color:#637b86; font-size:.78rem; line-height:1.55; }
.payment-proof-link { display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; color:#087eae; font-size:.78rem; font-weight:800; }
.subscription-order-admin-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; padding-top:1rem; border-top:1px solid #e6eef1; }
.order-action-form { display:flex; flex:1 1 280px; align-items:center; gap:.5rem; }
.order-action-form .input { min-width:0; flex:1; }
@media (max-width:700px) { .subscription-history-heading,.subscription-orders-hero { align-items:stretch; flex-direction:column; } .subscription-history-top { align-items:flex-start; flex-wrap:wrap; } .subscription-history-price { margin-left:92px; margin-top:-.4rem; } .subscription-history-details { grid-template-columns:1fr; gap:.65rem; } .subscription-order-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); } .subscription-order-admin-grid { grid-template-columns:1fr; } .order-action-form { align-items:stretch; flex-direction:column; } .order-action-form .btn,.order-action-form .input { width:100%; } }

.donation-method-detail { padding:.8rem; border:1px solid #c9e6f2; border-radius:13px; background:#f7fdff; color:#506f7c; font-size:.78rem; }
.donation-method-detail > div.is-active { gap:.4rem; }
.donation-method-detail strong { color:#234959; }
.donation-method-detail code { display:block; padding:.45rem .55rem; border-radius:8px; color:#0b709d; background:#eaf7fc; overflow-wrap:anywhere; font-size:.72rem; }
.donation-payment-qr { width:132px; height:132px; object-fit:contain; padding:.35rem; border-radius:12px; border:1px solid #d0e5ed; background:#fff; }

/* Final shell alignment safeguards */
html,body { overflow-x:hidden; }
.admin-main { flex:1 1 auto; width:calc(100% - 274px); max-width:none; }
.admin-body main > .p-4 { width:100%; max-width:1440px; margin:0 auto; box-sizing:border-box; }
.subscription-detail-page { width:100%; overflow:hidden; }
.subscription-detail-grid { width:100%; max-width:1160px; margin-left:auto; margin-right:auto; }
@media (max-width:767px) { .admin-main { width:100%; } .admin-body main > .p-4 { max-width:none; } }

/* Prevent purchase summary collisions at every desktop width */
.subscription-total { align-items:flex-start; flex-wrap:wrap; }
.subscription-total > div { flex:1 1 145px; min-width:0; }
.subscription-total .btn { flex:1 1 100%; width:100%; justify-content:center; }

/* Mobile subscription overflow repair */
@media (max-width:760px) {
  .subscription-detail-page { width:100%; max-width:100%; overflow-x:hidden; }
  .subscription-detail-page > .max-w-6xl { width:100%; max-width:100%; padding-left:1rem; padding-right:1rem; box-sizing:border-box; }
  .subscription-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) !important; gap:1rem; width:100%; }
  .subscription-detail-grid > * { min-width:0; max-width:100%; width:100%; }
  .subscription-description p { overflow-wrap:anywhere; word-break:break-word; }
  .subscription-plan { min-width:0; width:100%; box-sizing:border-box; }
  .subscription-plan > span { min-width:0; overflow:hidden; }
  .subscription-plan > strong { font-size:.74rem; }
}

/* Final subscription hero/sidebar separation */
.subscription-detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  column-gap:2.5rem;
  row-gap:1.25rem;
  align-items:start;
  isolation:isolate;
}
.subscription-detail-grid > section,
.subscription-detail-grid > aside { min-width:0; width:100%; position:relative; }
.subscription-detail-media-premium {
  width:100%; max-width:100%; box-sizing:border-box; z-index:0;
  border-radius:18px;
}
.subscription-detail-media-premium img,
.subscription-detail-media-premium .subscription-art-fallback {
  width:100%; max-width:100%; box-sizing:border-box;
}
.subscription-buy-panel {
  width:100%; max-width:100%; box-sizing:border-box;
  margin:0; z-index:2;
}
@media (max-width:1100px) and (min-width:761px) {
  .subscription-detail-grid { grid-template-columns:minmax(0,1fr) minmax(330px,.82fr); column-gap:1.35rem; }
}
@media (max-width:760px) {
  .subscription-detail-grid { grid-template-columns:minmax(0,1fr) !important; column-gap:0; row-gap:1rem; }
}

/* Subscription detail: scripts-style post presentation with preserved checkout sidebar */
.subscription-post-page { background:linear-gradient(180deg,#fbfdff 0%,#f1f8fc 60%,#fff 100%); }
.subscription-post-layout { align-items:start; }
.subscription-post-main { min-width:0; }
.subscription-post-hero { aspect-ratio:2 / 1; min-height:0; border:1px solid #c8e2ec; border-radius:18px; box-shadow:0 16px 36px rgba(33,76,111,.1); }
.subscription-post-hero > img { width:100%; height:100%; min-height:0; object-fit:cover; display:block; }
.subscription-hero-placeholder { height:100%; min-height:0; }
.subscription-post-content-card { margin-top:.75rem; }
.subscription-short-description { color:#486b7d; font-size:1rem; font-weight:600; line-height:1.7; }
.subscription-info-card { margin-top:1.1rem; }
.subscription-post-sidebar { gap:1rem; }
.subscription-purchase-card { position:sticky; top:86px; padding:1.15rem; border:1px solid #cfe5ee; border-radius:18px; background:linear-gradient(180deg,#ffffff,#fbfeff); box-shadow:0 18px 40px rgba(24,86,116,.1); }
.subscription-purchase-card .subscription-buy-heading { padding-bottom:1rem; }
.subscription-purchase-card .subscription-features { margin:1rem 0 0; padding:1rem; border:1px solid #dcecf1; border-radius:15px; background:#f9fdff; }
.subscription-purchase-card .subscription-plans { padding:.95rem 0; }
.subscription-purchase-card .subscription-plan { min-height:66px; margin-top:.6rem; }
.subscription-purchase-card .subscription-order-box { padding:.95rem 0; }
.subscription-sidebar-payments { padding:1rem 0; border-bottom:1px solid #e5eef2; }
.subscription-section-label { color:#738c98; font:800 .67rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.subscription-payment-method-list { display:grid; gap:.5rem; margin-top:.65rem; }
.subscription-payment-method { display:flex; align-items:center; gap:.6rem; padding:.55rem .65rem; border:1px solid #e0edf2; border-radius:12px; background:#fff; }
.subscription-payment-icon { display:inline-flex; align-items:center; justify-content:center; width:1.85rem; height:1.85rem; flex:0 0 auto; border-radius:9px; color:#087fba; background:#eaf8ff; }
.subscription-payment-method strong,.subscription-payment-method small { display:block; }
.subscription-payment-method strong { color:#2c4b5b; font-size:.75rem; }
.subscription-payment-method small { margin-top:.14rem; color:#8298a3; font-size:.65rem; }
.subscription-payment-note { margin-top:.55rem; color:#8499a3; font-size:.67rem; line-height:1.5; }
.subscription-related-card { margin-top:1rem; }
@media (max-width:960px) and (min-width:761px) {
  .subscription-post-layout { grid-template-columns:minmax(0,1fr) 300px; gap:1.1rem; }
  .subscription-purchase-card { padding:1rem; }
  .subscription-purchase-card .subscription-plan { padding:.72rem; }
}
@media (max-width:760px) {
  .subscription-post-page { padding-top:.8rem; }
  .subscription-post-hero { aspect-ratio:2 / 1; min-height:0; }
  .subscription-post-sidebar { margin-top:1rem; }
  .subscription-purchase-card { position:static; padding:1rem; }
  .subscription-post-content-card { padding:1rem; }
  .subscription-short-description { font-size:.9rem; }
  .subscription-payment-method-list { grid-template-columns:1fr; }
}

/* Donation payment method details: visible selected method with account + QR guidance */
.donation-method-detail { display:grid; gap:.65rem; margin-top:.7rem; padding:.9rem; border:1px solid #bfe0ec; border-radius:15px; background:linear-gradient(145deg,#f5fcff,#eefaff); color:#506f7c; font-size:.78rem; box-shadow:0 8px 18px rgba(38,126,157,.06); }
.donation-method-detail > div[hidden] { display:none !important; }
.donation-method-detail > div:not([hidden]) { display:grid; gap:.55rem; }
.donation-method-head { display:flex; align-items:center; justify-content:space-between; gap:.65rem; flex-wrap:wrap; }
.donation-method-head strong { color:#234959; font-size:.82rem; }
.donation-method-head span { padding:.25rem .5rem; border-radius:999px; color:#08739d; background:#dff4fb; font:700 .64rem 'JetBrains Mono',monospace; }
.donation-method-detail code { display:block; padding:.62rem .7rem; border:1px dashed #9bcddd; border-radius:10px; color:#0b709d; background:#eaf7fc; overflow-wrap:anywhere; font-size:.72rem; line-height:1.55; }
.donation-method-instructions { color:#5e7884; line-height:1.55; }
.donation-payment-qr { width:150px; height:150px; object-fit:contain; justify-self:start; padding:.4rem; border-radius:13px; border:1px solid #c5e0e9; background:#fff; box-shadow:0 7px 16px rgba(33,106,131,.08); }
.donation-setup-alert { display:flex; align-items:flex-start; gap:.55rem; margin:0 0 1rem; padding:.75rem .85rem; border:1px solid #f1cf91; border-radius:12px; color:#896319; background:#fff9eb; font-size:.76rem; line-height:1.5; }
@media (max-width:540px) { .donation-method-detail { padding:.78rem; } .donation-payment-qr { width:132px; height:132px; } }


/* Admin workspace header and cache actions */
.admin-desktop-header {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 78px;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid rgba(191, 216, 231, .82);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 26px rgba(31, 82, 116, .055);
  backdrop-filter: blur(14px);
}
.admin-header-kicker { margin: 0 0 .18rem; color: #7590a2; font: 600 .61rem/1 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.admin-header-title { margin: 0; color: var(--ink); font: 700 clamp(1.05rem, 1.5vw, 1.35rem)/1.15 'Space Grotesk', sans-serif; letter-spacing: -.025em; }
.admin-header-actions { flex-wrap: wrap; }
.admin-header-actions form { display: flex; }
.admin-header-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 38px;
  padding: .55rem .78rem;
  border: 1px solid #d0e2ed;
  border-radius: 11px;
  background: rgba(255,255,255,.92);
  color: #4d687c;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.admin-header-action:hover { color: var(--brand-dark); border-color: #8bc9eb; background: #f5fbff; box-shadow: 0 6px 14px rgba(17,148,221,.10); transform: translateY(-1px); }
.admin-header-cache { cursor: pointer; color: #117aa9; background: #eef9ff; border-color: #bfe3f5; }
.admin-header-cache:hover { color: #075c8e; background: #e4f5ff; }
.admin-sidebar-quick-actions { border-color: rgba(190,222,239,.15) !important; }
.admin-sidebar-quick-actions form { margin: 0; }
.admin-sidebar-quick-actions a, .admin-sidebar-quick-actions button { color: #aec4d4; transition: background 160ms ease, color 160ms ease, transform 160ms ease; }
.admin-sidebar-quick-actions a:hover, .admin-sidebar-quick-actions button:hover { color: #fff; background: rgba(255,255,255,.075); transform: translateX(2px); }

@media (max-width: 767px) {
  .admin-desktop-header { display: none !important; }
  .admin-sidebar-quick-actions { display: block; }
}
@media (min-width: 768px) {
  .admin-body .admin-main > .p-4 { padding-top: 1.45rem; }
}
@media (max-width: 900px) and (min-width: 768px) {
  .admin-header-action span { display: none; }
  .admin-header-action { width: 38px; padding-left: 0; padding-right: 0; }
}
@media (max-width: 420px) {
  .admin-mobile-topbar { padding-left: .8rem; padding-right: .8rem; }
  .admin-sidebar-quick-actions { margin-top: 1.25rem; }
}
