/* =========================================================
   Phase 4.0H — Unified clean UI
   Public + Admin
   ========================================================= */

/* ---------- Public header ---------- */
.site-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--header-bg) 96%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header-inner{width:min(var(--container),calc(100% - 48px));margin:auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--header-text)}
.site-logo,.admin-topbar-logo{width:50px;height:50px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;overflow:hidden}
.site-logo img,.admin-topbar-logo img{max-width:100%;max-height:100%;object-fit:contain}
.site-logo-text,.admin-topbar-logo-text{background:linear-gradient(140deg,var(--brand-strong),var(--brand));color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em}
.site-brand-copy{min-width:0}.site-brand-copy strong{display:block;font-size:var(--site-title-size);line-height:1.25;color:var(--header-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.site-brand-copy small{display:block;color:var(--text-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.site-nav{display:flex;align-items:center;gap:18px}.site-nav a{color:var(--header-text);font-size:12px;font-weight:750;white-space:nowrap}.site-nav a:hover{color:var(--brand)}.site-nav-admin{border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;background:#fff}
.site-nav-toggle{display:none;border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:8px 11px;color:var(--brand-strong);font-weight:800}

/* ---------- Public footer ---------- */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:38px 0;margin-top:44px;border-top:1px solid color-mix(in srgb,var(--footer-text) 15%,transparent)}
.site-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.1fr 1.2fr;gap:30px}
.site-footer-brand strong{display:block;color:color-mix(in srgb,var(--footer-text) 70%,#000);font-size:15px}.site-footer-brand span,.site-footer-brand p{display:block;font-size:11px;margin:3px 0}
.site-footer-links{display:flex;flex-direction:column;gap:5px;font-size:11px}.site-footer-links strong{color:color-mix(in srgb,var(--footer-text) 70%,#000);margin-bottom:4px}.site-footer-links a,.site-footer-links span{color:var(--footer-text)}
.site-footer-copy{font-size:10px;text-align:right;align-self:end}.site-footer-copy p{margin:0 0 5px}

/* ---------- Public common ---------- */
.pub4d-page{padding:28px 0 48px}.pub4d-breadcrumb,.breadcrumb{display:flex;gap:7px;flex-wrap:wrap;align-items:center;color:#7b8a96;font-size:11px;margin-bottom:20px}.pub4d-breadcrumb a,.breadcrumb a{color:#56768e}
.pub4d-kicker,.pub4d-eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#3f7ca6}
.pub4d-page-header{max-width:850px;margin-bottom:24px}.pub4d-page-header h1{font-size:34px;line-height:1.2;margin:4px 0 8px}.pub4d-page-header p{margin:0;color:var(--text-muted)}
.pub4d-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--brand);background:var(--brand);color:#fff!important;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:850}.pub4d-btn:hover{background:var(--brand-strong)}.pub4d-btn-ghost{background:#fff;color:var(--brand-strong)!important;border-color:var(--line-strong)}.pub4d-btn-full{width:100%}
.pub4d-pill,.pub4d-tag{display:inline-flex;align-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:900;padding:5px 8px;letter-spacing:.03em}
.pub4d-muted{color:var(--text-muted)}
.pub4d-heading,.pub4f-results-head,.pub4f-year-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}.pub4d-heading h2,.pub4f-results-head h2,.pub4f-year-heading h2{margin:3px 0 0;font-size:24px}.pub4d-heading>a,.pub4f-results-head>a{font-size:11px;font-weight:850}
.pub4d-section{margin-bottom:30px}

/* ---------- Hero / home ---------- */
.pub4d-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--brand-strong),var(--brand));background-size:cover;background-position:center}.pub4d-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 15%,rgba(255,255,255,.18),transparent 32%);pointer-events:none}
.pub4d-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:52px;align-items:center;min-height:390px;padding-block:46px}.pub4d-hero-copy{max-width:900px}.pub4d-hero .pub4d-eyebrow{color:#b9dcef}.pub4d-hero h1{font-size:clamp(32px,4vw,54px);line-height:1.1;margin:9px 0 7px}.pub4d-hero-th{font-size:18px;font-weight:800;margin:0}.pub4d-hero-sub{max-width:760px;margin:8px 0 0;color:#d8e9f4}
.pub4d-search{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;max-width:800px;margin-top:24px;background:#fff;border-radius:11px;padding:6px 6px 6px 14px;box-shadow:0 18px 35px rgba(0,0,0,.15);color:#718697}.pub4d-search input{border:0;outline:0;padding:10px 4px;min-width:0}.pub4d-search button{border:0;border-radius:8px;background:var(--brand);color:#fff;padding:10px 14px;font-weight:850;cursor:pointer}
.pub4d-quick-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.pub4d-quick-links a{color:#d8edf9;font-size:11px;font-weight:800}
.pub4d-hero-issue{color:#fff;display:flex;flex-direction:column;align-items:center;gap:10px}.pub4d-hero-issue-meta{text-align:center}.pub4d-hero-issue-meta span,.pub4d-hero-issue-meta small{display:block;color:#c5e0ef;font-size:10px}.pub4d-hero-issue-meta strong{display:block;font-size:13px;margin:3px 0}
.pub4d-cover-lg,.pub4d-cover-md,.pub4d-archive-cover,.pub4f-issue-cover,.jv4-issue-cover,.current-cover,.detail-cover,.mini-cover{overflow:hidden;background:linear-gradient(145deg,#0b4d7c,#1374aa);border-radius:7px;box-shadow:0 10px 24px rgba(18,54,82,.15)}
.pub4d-cover-lg{width:185px;aspect-ratio:3/4}.pub4d-cover-md{width:155px;aspect-ratio:3/4}.pub4d-cover-lg img,.pub4d-cover-md img,.pub4d-archive-cover img,.pub4f-issue-cover img,.jv4-issue-cover img,.current-cover img,.detail-cover img,.mini-cover img{width:100%;height:100%;object-fit:cover}
.pub4d-cover-placeholder,.cover-placeholder{width:100%;height:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(150deg,#0a4774,#1680b8);padding:15px}.pub4d-cover-placeholder small{font-size:9px;letter-spacing:.14em}.pub4d-cover-placeholder strong{font-size:24px;margin-top:10px}.pub4d-cover-placeholder span{font-size:10px;margin-top:4px}
.pub4d-stats-wrap{position:relative;z-index:4;margin-top:-18px}.pub4d-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow-md)}.pub4d-stats>div{padding:16px 20px;border-right:1px solid var(--line)}.pub4d-stats>div:last-child{border-right:0}.pub4d-stats strong{display:block;color:var(--brand-strong);font-size:22px}.pub4d-stats span{display:block;font-size:10px;color:var(--text-muted);margin-top:1px}
.pub4d-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;padding-top:26px;padding-bottom:42px}
.pub4d-current-card{display:grid;grid-template-columns:155px minmax(0,1fr) 270px;gap:22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}.pub4d-current-main h3{font-size:23px;margin:7px 0 3px}.pub4d-meta-list{display:flex;gap:11px 20px;flex-wrap:wrap;margin:14px 0}.pub4d-meta-list span{display:flex;flex-direction:column;font-size:10px;color:var(--text-muted)}.pub4d-meta-list b{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:#334b5e;margin-bottom:2px}
.pub4d-section-box{border:1px solid var(--line);border-radius:10px;padding:5px 12px}.pub4d-section-box h4{font-size:12px;margin:9px 0}.pub4d-section-box>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf1f4;font-size:11px}
.pub4d-article-stack{display:flex;flex-direction:column;gap:9px}.pub4d-article-card{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 17px;transition:.16s}.pub4d-article-card:hover{border-color:#b9ccda;box-shadow:0 8px 20px rgba(22,48,72,.06);transform:translateY(-1px)}.pub4d-article-index{width:38px;height:38px;border-radius:9px;background:#eff5f9;display:grid;place-items:center;color:var(--brand);font-weight:900}.pub4d-article-body h3{font-size:15px;line-height:1.5;margin:6px 0 3px}.pub4d-article-body h3 a{color:#1e3548}.pub4d-authors{font-size:11px;color:#667b8b;margin:0}.pub4d-authors a{color:inherit}.pub4d-article-foot{display:flex;gap:11px;flex-wrap:wrap;font-size:9px;color:#7c8b96;margin-top:7px}.pub4d-arrow{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef5fa;color:var(--brand);font-weight:900}
.pub4d-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.pub4d-archive-card{display:grid;grid-template-columns:65px minmax(0,1fr);gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;color:inherit}.pub4d-archive-cover{width:62px;aspect-ratio:3/4}.pub4d-archive-card strong,.pub4d-archive-card small{display:block}.pub4d-archive-card strong{font-size:12px}.pub4d-archive-card small{font-size:9px;color:var(--text-muted)}
.pub4d-sidebar{display:flex;flex-direction:column;gap:14px}.pub4d-side-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm)}.pub4d-side-card h3{font-size:15px;margin:0 0 11px}.pub4d-side-card p{font-size:11px;color:var(--text-muted);line-height:1.7}.pub4d-side-card dl{display:grid;grid-template-columns:78px 1fr;gap:8px 10px;margin:0;font-size:10px}.pub4d-side-card dt{font-weight:850;color:#344c5f}.pub4d-side-card dd{margin:0;color:#6c7d8b;overflow-wrap:anywhere}.pub4d-side-blue{border:0;background:linear-gradient(145deg,var(--brand-strong),var(--brand));color:#fff}.pub4d-side-blue span{font-size:9px;color:#bddded}.pub4d-side-blue a{color:#fff;font-size:11px;font-weight:850}

/* ---------- Issue / article detail ---------- */
.pub4d-issue-hero{display:grid;grid-template-columns:185px minmax(0,1fr);gap:30px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;box-shadow:var(--shadow-sm)}.pub4d-issue-copy h1{font-size:32px;margin:4px 0 7px}.pub4d-issue-title{font-size:16px;font-weight:800;color:#314b5f}.pub4d-issue-desc{font-size:12px;color:#607585;line-height:1.8;max-width:900px}.pub4d-issue-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pub4d-issue-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:24px}.pub4d-sticky-card{position:sticky;top:100px}.pub4d-toc{display:flex;flex-direction:column}.pub4d-toc a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #edf1f4;color:#2d4b60;font-size:10px}.pub4d-toc a:first-child{border-top:0}
.pub4d-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.pub4d-article-detail-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:var(--shadow-sm)}.pub4d-article-detail-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.pub4d-article-number{font-size:9px;color:#87949e;font-weight:900;letter-spacing:.1em}.pub4d-article-detail-card>h1{font-size:31px;line-height:1.36;margin:13px 0 7px}.pub4d-title-en{font-size:14px;color:#71818e;line-height:1.6;margin:0 0 18px}.pub4d-authors-block{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.pub4d-authors-block h2{font-size:13px;margin:0 0 10px}.pub4d-author-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;margin:9px 0}.pub4d-author-avatar,.jv4-author-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eaf3f9;color:var(--brand);font-weight:900}.pub4d-author-card a{font-size:11px;font-weight:850}.pub4d-author-card p{margin:2px 0;color:#768692;font-size:9px}.pub4d-corresponding{display:inline-flex;margin-left:5px;border-radius:999px;padding:2px 6px;background:#eef7fd;color:#276792;font-size:8px;font-weight:900}
.pub4d-reference-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:20px 0}.pub4d-reference-strip>div{background:#fafcfd;padding:11px}.pub4d-reference-strip span,.pub4d-reference-strip strong{display:block}.pub4d-reference-strip span{font-size:8px;color:#7e8d98}.pub4d-reference-strip strong{font-size:10px;color:#2c475b;margin-top:2px}.pub4d-reader-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #cfe0ec;background:#f5fafe;border-radius:11px;padding:15px;margin:20px 0}.pub4d-reader-cta h3{font-size:15px;margin:2px 0}.pub4d-reader-cta p{font-size:10px;margin:0;color:#718593}.pub4d-content-block{border-top:1px solid var(--line);padding-top:21px;margin-top:21px}.pub4d-content-block h2{font-size:20px;margin:3px 0 10px}.pub4d-content-block p{line-height:1.95;color:#344d61}.pub4d-keyword{display:inline-flex;border-radius:999px;background:#edf5fa;color:#28678f;padding:5px 8px;font-size:10px;font-weight:800;margin:0 5px 5px 0}
.pub4e-citation-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.pub4e-citation-head h3{margin:0}.pub4e-citation-head span{font-size:8px;color:#89959e;text-transform:uppercase;letter-spacing:.08em}.pub4d-citation-list{display:flex;flex-direction:column;gap:10px}.pub4d-citation{border-top:1px solid #edf1f4;padding-top:9px}.pub4d-citation:first-child{border-top:0}.pub4e-citation-row{display:flex;justify-content:space-between;gap:8px}.pub4e-copy{border:1px solid var(--line-strong);background:#fff;color:var(--brand);border-radius:6px;padding:3px 7px;font-size:8px;font-weight:900;cursor:pointer}.pub4d-citation p{font-size:9px;line-height:1.65;color:#667987;overflow-wrap:anywhere}.pub4e-export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.pub4e-export-buttons a{display:flex;justify-content:center;align-items:center;border:1px solid var(--line-strong);border-radius:7px;padding:7px;font-size:9px;font-weight:900;background:#fafcfd}

/* ---------- Search / archive / author directory ---------- */
.pub4f-search-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm);margin-bottom:17px}.pub4f-search-primary{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.pub4f-search-primary input{border:0;outline:0;padding:10px 4px;min-width:0}.pub4f-filter-grid{display:grid;grid-template-columns:1.25fr 1fr repeat(5,minmax(100px,.8fr));gap:9px;padding-top:13px}.pub4f-field label,.pub4f-archive-filter label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#526b7e;margin-bottom:4px}.pub4f-field input,.pub4f-field select,.pub4f-archive-filter select{width:100%;height:39px;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#fff;padding:0 9px;font-size:10px}.pub4f-search-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:12px}
.pub4f-browse-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#f0f6fa;border:1px solid #dbe7ef;border-radius:10px;padding:11px 13px;margin-bottom:23px}.pub4f-browse-strip strong{font-size:10px}.pub4f-browse-strip span{font-size:8px;color:#7f8d97}.pub4f-chip-row{display:flex;gap:6px;flex-wrap:wrap}.pub4f-chip-row a{display:inline-flex;border:1px solid #d6e1e9;border-radius:999px;background:#fff;color:#32698e;padding:5px 8px;font-size:8px;font-weight:900}
.pub4f-search-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.pub4f-search-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.pub4f-search-card:hover{border-color:#b9cedd;box-shadow:0 8px 18px rgba(24,55,84,.05)}.pub4f-search-card-top,.pub4f-search-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pub4f-search-card-top{justify-content:space-between}.pub4f-search-meta,.pub4f-views{font-size:8px;color:#7d8b95}.pub4f-search-card h2{font-size:17px;line-height:1.5;margin:8px 0 4px}.pub4d-snippet{font-size:11px;color:#667b8b;line-height:1.75}.pub4f-citation-facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.pub4f-citation-facts span{display:inline-flex;gap:4px;padding:5px 7px;border-radius:7px;background:#f7f9fb;border:1px solid #e6ebef;color:#667a89;font-size:8px}.pub4f-card-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf1f4;padding-top:10px;margin-top:11px}.pub4f-card-actions a{font-size:9px;font-weight:900}.pub4f-pagination{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:22px 0}.pub4f-pagination a,.pub4f-pagination span{min-width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:9px;font-weight:900}.pub4f-pagination a.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pub4f-author-links{display:flex;flex-direction:column}.pub4f-author-links a{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #edf1f4;font-size:9px;color:#3c5669}.pub4f-author-links a:first-child{border-top:0}.pub4f-side-more{display:block;border-top:1px solid var(--line);padding-top:9px;margin-top:9px;font-size:9px;font-weight:900}
.pub4f-archive-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.pub4f-archive-header h1{font-size:34px;margin:4px 0 6px}.pub4f-archive-header p{margin:0;color:var(--text-muted);max-width:760px}.pub4f-archive-summary{display:grid;grid-template-columns:repeat(2,110px);gap:8px}.pub4f-archive-summary>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.pub4f-archive-summary strong{display:block;color:var(--brand);font-size:20px}.pub4f-archive-summary span{font-size:8px;color:var(--text-muted)}
.pub4f-archive-filter{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto auto;gap:9px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px}.pub4f-archive-library{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pub4f-issue-card{display:grid;grid-template-columns:125px minmax(0,1fr);gap:15px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px}.pub4f-issue-cover{position:relative;width:121px;aspect-ratio:3/4}.pub4f-current-badge{position:absolute;top:7px;left:7px;background:var(--brand);color:#fff;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900}.pub4f-issue-body{align-self:center}.pub4f-issue-body h3{font-size:15px;line-height:1.4;margin:7px 0 4px}.pub4f-issue-body p{font-size:9px;color:#788894;margin:3px 0}.pub4f-issue-facts,.pub4f-issue-actions{display:flex;gap:10px;flex-wrap:wrap}.pub4f-issue-facts{margin-top:8px;font-size:8px;color:#6f8291}.pub4f-issue-actions{border-top:1px solid #edf1f4;margin-top:10px;padding-top:9px}.pub4f-issue-actions a{font-size:8px;font-weight:900}
.pub4f-author-search{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:7px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:7px 8px 7px 12px}.pub4f-author-search input{border:0;outline:0;padding:9px 3px;min-width:0}.pub4f-author-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.pub4f-author-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;color:inherit}.pub4f-author-card h3{font-size:12px;margin:0 0 2px}.pub4f-author-card p{font-size:8px;color:#7a8995;margin:2px 0}.pub4f-author-card span,.pub4f-author-card small{display:block;font-size:8px;color:#246992;margin-top:3px}

/* ---------- Reader ---------- */
.reader-page-section{padding:22px 0 0}.reader-page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.reader-page-head h1{font-size:24px;margin:5px 0}.ebook-shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:78vh;background:#20262c}.ebook-sidebar{background:#151a1f;color:#fff;border-right:1px solid #323b44;overflow:auto}.ebook-side-title{padding:12px 13px;border-bottom:1px solid #323b44;font-size:10px;font-weight:900;text-transform:uppercase}.thumb-list{padding:8px;display:flex;flex-direction:column;gap:7px;max-height:82vh;overflow:auto}.thumb-item{border:1px solid #38434c;background:#232b32;color:#fff;border-radius:7px;padding:6px;cursor:pointer}.thumb-item.active{border-color:#58a6d8;background:#263a48}.thumb-item canvas{display:block;margin:auto;max-width:100%}.thumb-item span{display:block;text-align:center;font-size:8px;margin-top:3px}.thumb-loading{font-size:10px;color:#aab6bf;padding:10px}.ebook-main{min-width:0}.ebook-toolbar{height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#2a3239;color:#fff;border-bottom:1px solid #3c4650}.toolbar-group{display:flex;align-items:center;gap:6px}.reader-btn{min-width:32px;height:32px;border:1px solid #4a5762;background:#20272d;color:#fff;border-radius:6px;cursor:pointer}.text-btn{padding:0 9px}.page-indicator{font-size:9px}.page-indicator input{width:48px;height:29px;text-align:center;border:1px solid #56636e;background:#1d242a;color:#fff;border-radius:5px}.zoom-label{font-size:9px;color:#d0d8de}.pdf-stage{height:calc(82vh - 52px);overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:22px;background:#3a4249}.pdf-stage canvas{box-shadow:0 8px 28px rgba(0,0,0,.36);background:#fff}.pdf-loading{color:#d7dee4;padding:30px}.pdf-error{width:100%;height:100%}.pdf-error iframe{width:100%;height:100%;border:0}

/* ---------- Admin topbar ---------- */
.admin-topbar{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.admin-topbar-inner{width:min(1500px,calc(100% - 32px));margin:auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-topbar-brand{display:flex;align-items:center;gap:10px;color:var(--text)}.admin-topbar-logo{width:38px;height:38px}.admin-topbar-brand strong{display:block;font-size:12px;line-height:1.25}.admin-topbar-brand small{display:block;font-size:9px;color:var(--text-muted)}.admin-topbar-actions{display:flex;align-items:center;gap:8px}.admin-topbar-actions a{font-size:10px;font-weight:800;color:#436177}.admin-topbar-user{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#f9fbfc}

/* ---------- Admin shell/sidebar ---------- */
.is-admin{background:#f4f6f8}.admin-shell{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 66px)}
.admin-side{background:#102d46;color:#d9e6ef;padding:18px 12px;position:sticky;top:66px;height:calc(100vh - 66px);overflow:auto}.admin-side-profile{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;padding:0 7px 14px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:13px}.admin-side-avatar{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-weight:900}.admin-side-profile strong,.admin-side-profile span{display:block}.admin-side-profile strong{font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-side-profile span{font-size:8px;color:#a9c0d1;margin-top:2px}
.admin-nav{display:flex;flex-direction:column;gap:15px}.admin-nav-group{display:flex;flex-direction:column;gap:3px}.admin-nav-label{padding:0 9px 4px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#7695ab;font-weight:900}.admin-nav a{display:flex;align-items:center;min-height:34px;padding:7px 9px;border-radius:7px;color:#d3e0e9;font-size:10px;font-weight:750}.admin-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.admin-nav a.active{background:#fff;color:#0e3f63;box-shadow:0 4px 12px rgba(0,0,0,.12)}.admin-nav-secondary{padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.admin-nav-logout{color:#ffcaca!important}
.admin-main{min-width:0;padding:22px 24px 38px}

/* ---------- Admin page heads/cards/stats ---------- */
.admin-page-head,.jv4-admin-head,.admin4g-dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:17px}.admin-page-head h1,.jv4-admin-head h1,.admin4g-dashboard-head h1{font-size:26px;line-height:1.2;margin:2px 0 4px;color:#18344a}.admin-page-head p,.jv4-admin-head p,.admin4g-dashboard-head p{margin:0;color:var(--text-muted);font-size:11px}
.jv4-head-actions,.jv4-control-actions,.admin4g-head-actions,.analytics-actions,.backup-actions,.admin-preview-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.admin-stats,.jv4-kpi-grid,.admin4g-kpi-grid,.seo-kpi-grid,.security-stats,.demo4e-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-stat,.jv4-kpi,.admin4g-kpi,.demo4e-stats>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px;box-shadow:var(--shadow-sm)}.admin-stat span,.jv4-kpi span,.admin4g-kpi span,.demo4e-stats span{display:block;font-size:9px;color:var(--text-muted);font-weight:800}.admin-stat b,.jv4-kpi strong,.admin4g-kpi strong,.demo4e-stats strong{display:block;font-size:23px;color:var(--brand-strong);margin-top:3px}.admin4g-kpi small{display:block;font-size:8px;color:#88959f;margin-top:2px}
.admin4g-eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#3b7da8}
.jv4-section-head,.panel-title-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}.jv4-section-head h2,.panel-title-row h2{font-size:15px;margin:0}.jv4-section-head a{font-size:9px;font-weight:900}
.admin4g-current{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(120deg,#0b486f,#0d6d9f);color:#fff;border-radius:12px;padding:16px 18px;margin-bottom:17px;box-shadow:0 8px 22px rgba(11,72,111,.14)}.admin4g-current .admin4g-eyebrow{color:#b8ddef}.admin4g-current h2{font-size:18px;margin:3px 0}.admin4g-current p{font-size:9px;margin:0;color:#cae2ef}.admin4g-current-actions{display:flex;gap:6px;flex-wrap:wrap}.admin4g-current-actions a{font-size:9px;font-weight:900;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:7px;padding:6px 8px;background:rgba(255,255,255,.08)}
.admin4g-alert{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--warning-soft);border:1px solid #ecd9aa;border-radius:10px;padding:12px 14px;margin-bottom:16px}.admin4g-alert strong{font-size:10px;color:#805f1c}.admin4g-alert span{font-size:9px;color:#7d704f}.admin4g-alert a{font-size:9px;font-weight:900}
.admin4g-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:17px}.admin4g-dashboard-side{display:flex;flex-direction:column;gap:12px}.admin4g-table-wrap{overflow:auto}.admin4g-progress{width:90px;height:5px;background:#eaf0f4;border-radius:999px;overflow:hidden}.admin4g-progress i{display:block;height:100%;background:#318bb9;border-radius:inherit}.admin4g-full-link{display:block;border-top:1px solid var(--line);padding-top:9px;margin-top:9px;font-size:9px;font-weight:900}
.admin4g-status-list,.admin4g-action-list,.source-list,.security-list{display:flex;flex-direction:column}.admin4g-status-list>div,.admin4g-action-list a,.source-list>div,.security-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf1f4;font-size:9px}.admin4g-status-list>div:first-child,.admin4g-action-list a:first-child,.source-list>div:first-child,.security-list>div:first-child{border-top:0}.admin4g-status-list b.ok{color:var(--success)}.admin4g-status-list b.warn{color:var(--warning)}

/* ---------- Admin filters/bulk: clean + no overflow ---------- */
.admin-filter,.admin-filter-wide,.jv4-admin-filter,.advanced-filter,.advanced-filter-6,.activity-filter{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:13px
}
.admin-filter input,.admin-filter select,.admin-filter-wide input,.admin-filter-wide select,.jv4-admin-filter input,.jv4-admin-filter select,.advanced-filter input,.advanced-filter select,.activity-filter input,.activity-filter select{height:39px;padding:0 9px;font-size:10px}
.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;margin:12px 0;background:#f7fafc;border:1px solid var(--line);border-radius:10px}.bulk-label{font-size:9px;font-weight:900;color:#365167;white-space:nowrap}.bulk-select{width:min(360px,100%);min-width:220px;max-width:100%;height:39px;padding:0 9px;font-size:10px}.bulk-btn{min-width:105px;min-height:39px}
.result-bar,.jv4-results{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:11px 0;color:var(--text-muted);font-size:9px}

/* ---------- Admin forms/editors ---------- */
.jv4-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jv4-form-section{padding:16px}.sticky-actions{position:sticky;bottom:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 0;display:flex;gap:7px;justify-content:flex-end}
.jv4-author-editor{display:flex;flex-direction:column;gap:8px}.jv4-author-edit-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafcfd}.jv4-drag-index{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#edf4f8;color:var(--brand);font-weight:900}.jv4-radio,.jv4-check,.check,.switch-line{display:flex;align-items:center;gap:6px;font-size:10px}.remove-author,.inline-delete{border:1px solid #ecc; background:#fff;color:var(--danger);border-radius:7px;padding:6px 8px;cursor:pointer}
.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.color-field{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:center}.color-input{width:42px;height:38px;border:1px solid var(--line);border-radius:7px;padding:2px}.media-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.media-setting{border:1px solid var(--line);border-radius:10px;padding:13px}.media-preview,.logo-preview,.banner-preview{border:1px solid var(--line);border-radius:9px;background:#f5f8fa;display:grid;place-items:center;overflow:hidden;min-height:100px}

/* ---------- Issue workspace ---------- */
.issue-control-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.issue-control-card h2{font-size:16px;margin:0 0 3px}.issue-control-card p{font-size:9px;color:var(--text-muted);margin:0}.issue-warning{margin-bottom:17px;background:#fffdf7;border-color:#eadcae}.issue-check-list{display:grid}.issue-check-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:9px}.issue-sort-list{overflow:hidden}.issue-section-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:15px 0 7px}.issue-section-title h3{font-size:13px;margin:0}.issue-section-title span{font-size:9px;color:var(--text-muted)}.issue-sort-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.issue-sort-row:last-child{border-bottom:0}.issue-sort-number{width:33px;height:33px;display:grid;place-items:center;border-radius:8px;background:#edf5fa;color:var(--brand);font-size:10px;font-weight:900}.issue-sort-main strong,.issue-sort-main small{display:block}.issue-sort-main strong{font-size:10px}.issue-sort-main small{font-size:8px;color:var(--text-muted);margin-top:2px}.issue-sort-actions{display:flex;align-items:center;gap:5px}.jv4-icon-btn{min-width:31px;height:31px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--brand-strong);cursor:pointer}.admin4g-readiness-bar{display:flex;align-items:center;gap:10px;margin:-2px 0 14px}.admin4g-readiness-bar>div{height:6px;flex:1;background:#e8eef2;border-radius:999px;overflow:hidden}.admin4g-readiness-bar i{display:block;height:100%;background:linear-gradient(90deg,#318dbc,#2cb37d)}.admin4g-readiness-bar span{font-size:8px;color:#748593}

/* ---------- Workflow / backup / analytics / seo ---------- */
.admin4g-readiness{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:10px;padding:13px 15px;margin-bottom:15px}.admin4g-readiness.ready{background:var(--success-soft);border:1px solid #cae8d7}.admin4g-readiness.not-ready{background:var(--warning-soft);border:1px solid #ead7a4}.admin4g-readiness span,.admin4g-readiness strong{display:block}.admin4g-readiness span{font-size:8px;color:#75848f}.admin4g-readiness strong{font-size:14px}.admin4g-ready-dot{width:11px;height:11px;border-radius:50%;background:#d8941d;box-shadow:0 0 0 4px rgba(216,148,29,.12)}.admin4g-readiness.ready .admin4g-ready-dot{background:#2aa16a;box-shadow:0 0 0 4px rgba(42,161,106,.12)}
.admin4g-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin4g-workflow>a{display:grid;grid-template-columns:34px 1fr;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;color:inherit}.admin4g-workflow>a>b{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#eaf4fa;color:var(--brand);font-size:10px}.admin4g-workflow strong,.admin4g-workflow span{display:block}.admin4g-workflow strong{font-size:10px}.admin4g-workflow span{font-size:8px;color:var(--text-muted);line-height:1.5;margin-top:2px}
.admin4g-grid-2,.analytics-grid,.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.admin4g-backup-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;background:linear-gradient(125deg,#0b466f,#0c6e9f);color:#fff;border-radius:12px;padding:19px;margin-bottom:15px}.admin4g-backup-hero h2{font-size:18px;margin:3px 0 6px}.admin4g-backup-hero p{font-size:9px;color:#d0e5f0;line-height:1.7;max-width:850px}.admin4g-backup-hero small{font-size:8px;color:#b8d8e8}.admin4g-backup-btn{white-space:nowrap;background:#fff;color:var(--brand);padding:10px 13px;border-radius:8px;font-size:9px;font-weight:900}.admin4g-check-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin4g-check-list>div{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px}.admin4g-check-list b{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eaf4fa;color:var(--brand);font-size:9px}.admin4g-check-list span{font-size:9px;color:#5b7182}
.range-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:13px}.range-tabs a,.range-tabs button{border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 9px;font-size:9px}.bar-chart{display:flex;align-items:end;gap:5px;overflow:auto;min-height:230px;padding:18px 3px 6px}.bar-col{display:grid;grid-template-rows:18px 150px 22px;align-items:end;min-width:24px;flex:1;text-align:center}.bar-value,.bar-col>span{font-size:7px;color:var(--text-muted)}.bar-track{height:150px;display:flex;align-items:end;justify-content:center}.bar-fill{width:min(22px,70%);min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--brand),var(--brand-strong))}
.seo-url-list{display:grid;gap:9px}.seo-url-list>div,.seo-issue-card{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.seo-url-list span{display:block;font-size:8px;font-weight:900;color:var(--text-muted);margin-bottom:4px}.seo-url-list code{font-size:9px;overflow-wrap:anywhere}.seo-issue-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.seo-issue-card b{display:block;font-size:18px;color:var(--brand-strong)}.seo-issue-card span{font-size:9px;color:var(--text-muted)}
.activity-panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.activity-row{display:grid;grid-template-columns:150px 130px 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:9px}.activity-row:last-child{border-bottom:0}.security-attempts{max-height:480px;overflow:auto}.security-attempts>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:9px}

/* ---------- Demo cleanup ---------- */
.demo4e-danger{background:#fffafa!important;border-color:#efc8c8!important}.demo4e-badge{display:inline-flex;border-radius:999px;padding:4px 7px;background:#fde9e9;color:#a63b3b;font-size:8px;font-weight:900;letter-spacing:.06em}.demo4e-danger h2{font-size:16px;margin:6px 0}.demo4e-danger p,.demo4e-list{font-size:10px;color:#6d797f;line-height:1.75}.demo4e-note{font-weight:800;color:#984242!important}.demo4e-confirm{display:flex;gap:6px;align-items:flex-start;font-size:10px;font-weight:800;margin:14px 0 10px}.demo4e-delete{border:0;border-radius:8px;background:var(--danger);color:#fff;padding:9px 12px;font-weight:900;font-size:10px;cursor:pointer}

/* ---------- Login ---------- */
.admin-login-shell{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:28px 0}.admin-login-card{width:min(430px,100%);padding:26px}.admin-login-head{text-align:center;margin-bottom:18px}.admin-login-mark{display:inline-flex;background:#eaf4fa;color:var(--brand);border-radius:999px;padding:5px 9px;font-size:8px;font-weight:900;letter-spacing:.1em}.admin-login-head h1{font-size:24px;margin:8px 0 2px}.admin-login-head p{margin:0;color:var(--text-muted);font-size:10px}.admin-login-back{display:block;text-align:center;margin-top:14px;font-size:9px;font-weight:800}

/* ---------- Admin preview/footer ---------- */
.admin-preview-strip{position:sticky;top:66px;z-index:70;display:flex;justify-content:space-between;gap:13px;align-items:center;padding:9px max(18px,calc((100vw - 1300px)/2));background:#153b59;color:#fff}.admin-preview-strip a{color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:7px;padding:5px 8px;font-size:9px}.admin-footer{display:flex;justify-content:space-between;gap:14px;padding:15px 24px;margin-left:auto;background:#eef2f5;border-top:1px solid var(--line);color:#7b8994;font-size:8px}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .site-nav{gap:12px}.site-nav a{font-size:11px}
  .pub4d-home-grid,.pub4d-issue-layout,.pub4d-article-layout,.pub4f-search-layout{grid-template-columns:1fr}
  .pub4d-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}
  .pub4d-current-card{grid-template-columns:145px minmax(0,1fr)}.pub4d-section-box{grid-column:1/-1}
  .pub4f-filter-grid{grid-template-columns:repeat(4,1fr)}.pub4f-field-wide{grid-column:span 2}
  .pub4f-author-grid{grid-template-columns:repeat(2,1fr)}
  .admin4g-dashboard-grid{grid-template-columns:1fr}.admin4g-dashboard-side{display:grid;grid-template-columns:repeat(2,1fr)}
  .admin-stats,.jv4-kpi-grid,.admin4g-kpi-grid,.seo-kpi-grid,.security-stats,.demo4e-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .site-nav-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;top:72px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch;gap:2px}.site-nav.open{display:flex}.site-nav a{padding:8px 9px;border-radius:7px}.site-nav a:hover{background:#f3f7fa}
  .site-brand-copy strong,.site-brand-copy small{max-width:520px}
  .pub4d-hero-grid{grid-template-columns:1fr}.pub4d-hero-issue{display:none}
  .pub4d-archive-grid{grid-template-columns:repeat(2,1fr)}.pub4f-archive-library{grid-template-columns:1fr}
  .admin-shell{grid-template-columns:1fr}.admin-side{position:relative;top:auto;height:auto;overflow:visible;padding:11px}.admin-side-profile{display:none}.admin-nav{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:8px;overflow:auto}.admin-nav-group{min-width:170px;background:rgba(255,255,255,.04);border-radius:9px;padding:7px}.admin-main{padding:18px 16px 30px}
  .admin4g-workflow{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header-inner{width:min(100% - 28px,var(--container));min-height:72px}.site-brand-copy strong{font-size:14px}.site-brand-copy small:last-child{display:none}.site-logo{width:42px;height:42px}
  .pub4d-hero-grid{min-height:auto;padding-block:34px}.pub4d-hero h1{font-size:32px}.pub4d-search{grid-template-columns:22px 1fr}.pub4d-search button{grid-column:1/-1;width:100%}.pub4d-stats{grid-template-columns:repeat(2,1fr)}.pub4d-stats>div:nth-child(2){border-right:0}.pub4d-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .pub4d-current-card,.pub4d-issue-hero{grid-template-columns:120px 1fr}.pub4d-cover-md,.pub4d-issue-hero .pub4d-cover-lg{width:120px}
  .pub4d-sidebar{grid-template-columns:1fr}.pub4d-sticky-card{position:static}
  .pub4f-filter-grid{grid-template-columns:repeat(2,1fr)}.pub4f-archive-filter{grid-template-columns:1fr 1fr}.pub4f-archive-summary{width:100%;grid-template-columns:repeat(2,1fr)}
  .pub4f-author-grid{grid-template-columns:1fr}
  .ebook-shell{grid-template-columns:1fr}.ebook-sidebar{display:none}.ebook-toolbar{flex-wrap:wrap;height:auto}.pdf-stage{height:72vh}
  .admin-page-head,.jv4-admin-head,.admin4g-dashboard-head,.admin4g-current,.admin4g-backup-hero{align-items:flex-start;flex-direction:column}
  .admin4g-grid-2,.analytics-grid,.seo-grid,.admin4g-check-list,.admin4g-dashboard-side{grid-template-columns:1fr}
  .admin4g-workflow{grid-template-columns:1fr}
  .admin-filter,.admin-filter-wide,.jv4-admin-filter,.advanced-filter,.advanced-filter-6,.activity-filter{grid-template-columns:1fr 1fr}
  .bulk-bar{align-items:stretch}.bulk-select{flex:1;min-width:0}
  .issue-control-card{align-items:flex-start;flex-direction:column}.issue-sort-row{grid-template-columns:36px minmax(0,1fr) auto}.issue-sort-row>.jv4-status{grid-column:2}.issue-sort-actions{grid-column:3;grid-row:1/3}
}
@media(max-width:560px){
  .pub4d-current-card,.pub4d-issue-hero{grid-template-columns:1fr}.pub4d-cover-md,.pub4d-issue-hero .pub4d-cover-lg{width:115px}
  .pub4d-article-card{grid-template-columns:42px minmax(0,1fr)}.pub4d-arrow{display:none}.pub4d-archive-grid{grid-template-columns:1fr}
  .pub4d-article-detail-card{padding:18px}.pub4d-article-detail-card>h1{font-size:25px}.pub4d-reference-strip{grid-template-columns:repeat(2,1fr)}.pub4d-reader-cta{align-items:flex-start;flex-direction:column}
  .pub4f-filter-grid,.pub4f-archive-filter{grid-template-columns:1fr}.pub4f-field-wide{grid-column:auto}.pub4f-search-primary{grid-template-columns:22px 1fr}.pub4f-search-primary .pub4d-btn{grid-column:1/-1}.pub4f-search-actions{flex-direction:column}.pub4f-search-actions>*{width:100%}.pub4f-issue-card{grid-template-columns:92px minmax(0,1fr)}.pub4f-issue-cover{width:88px}.pub4f-author-search{grid-template-columns:22px 1fr}.pub4f-author-search .pub4d-btn,.pub4f-author-search>a{grid-column:1/-1}
  .site-footer-grid{grid-template-columns:1fr}.site-footer-copy{text-align:left}
  .admin-stats,.jv4-kpi-grid,.admin4g-kpi-grid,.seo-kpi-grid,.security-stats,.demo4e-stats{grid-template-columns:1fr}
  .admin-filter,.admin-filter-wide,.jv4-admin-filter,.advanced-filter,.advanced-filter-6,.activity-filter{grid-template-columns:1fr}
  .bulk-bar{flex-direction:column}.bulk-select,.bulk-btn{width:100%;max-width:none}
  .jv4-form-grid{grid-template-columns:1fr}.color-grid,.media-setting-grid{grid-template-columns:1fr}
  .issue-sort-row{grid-template-columns:34px minmax(0,1fr)}.issue-sort-row>.jv4-status{grid-column:2}.issue-sort-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-end}
  .admin-footer{flex-direction:column}
}


/* Phase 4.1 — Release Candidate system check */
.rc41-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:12px;padding:17px 19px;margin-bottom:16px;border:1px solid var(--line)}
.rc41-summary.ready{background:var(--success-soft);border-color:#c8e7d5}.rc41-summary.review{background:var(--warning-soft);border-color:#ead9ad}
.rc41-summary span,.rc41-summary strong,.rc41-summary small{display:block}.rc41-summary>div:first-child>span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#73818c;font-weight:900}.rc41-summary strong{font-size:16px;margin:2px 0}.rc41-summary small{font-size:9px;color:#74838e}
.rc41-score{font-size:29px;font-weight:900;color:var(--brand-strong)}.rc41-score span{display:inline!important;font-size:12px}
.rc41-checks{overflow:hidden}.rc41-check{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.rc41-check:last-child{border-bottom:0}.rc41-dot{width:9px;height:9px;border-radius:50%;background:#b7c2ca}.rc41-dot.ok{background:var(--success)}.rc41-dot.warn{background:#d69220}.rc41-dot.fail{background:var(--danger)}
.rc41-check strong,.rc41-check small{display:block}.rc41-check strong{font-size:10px}.rc41-check small{font-size:8px;color:var(--text-muted);margin-top:2px}.rc41-check>b{font-size:8px;letter-spacing:.06em;color:#6f7f8b}
@media(max-width:600px){.rc41-summary{align-items:flex-start;flex-direction:column}.rc41-check{grid-template-columns:12px 1fr}.rc41-check>b{grid-column:2}}
