[x-cloak] { display: none !important; }

/* ── Sidebar (shared across all archive/index pages) ─────────── */
.sb-sidebar { width: 210px !important; flex-shrink: 0; transition: width 0.2s ease, opacity 0.2s ease; overflow: hidden !important; border-radius: 3px; }
.sb-sidebar.collapsed { width: 0 !important; opacity: 0; pointer-events: none; }
.sb-section { border-bottom: 1px solid #e7e5e0; }
.sb-sidebar .sb-section:last-child { border-bottom: none; }
.sb-section-head { display:flex; align-items:center; justify-content:space-between; padding:0.55rem 0.85rem; font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#aaa; cursor:pointer; }
.sb-section-head:hover { color:#3a6753; }
.sb-section-head i { font-size:0.65rem; transition:transform 0.15s; }
.sb-section-head.collapsed-sec i { transform:rotate(-90deg); }
.sb-list { list-style:none !important; margin:0 !important; padding:0 0 0.5rem !important; }
.sb-list li { display:flex !important; align-items:center; gap:0.45rem; padding:0.28rem 0.85rem; cursor:pointer; color:#555; font-size:0.88rem; }
.sb-list li i.icon { line-height:1; vertical-align:middle; }
.sb-list li:hover { color:#3a6753; }
.sb-list li.active { color:#3a6753; font-weight:600; }
.sb-count { margin-left:auto; font-size:0.75rem; color:#bbb; }
.sb-list li.active .sb-count { color:#3a6753; }

.logo {
    margin-right: 4px !important;
}

.padTop {
    margin-top: 5em;
}
.padTopLess {
    margin-top: 3em;
}

.ui.footer.segment {
    margin: 0;
    padding: 2.5em 0em;
}

.loginForm {
    max-width: 450px;
}


/* color scheme */
.bg-neutral-1 {
    background: #fcf9f4 !important;
}

.bg-neutral-2 {
    background: #f6f3ee !important;
}

.bg-primary-1 {
    background: #3a6753;
}

.no-border{
    border: none !important;
        box-shadow: none !important;

}

.sleek-border {
    border: 1px solid #e7e5e0 !important;
        box-shadow: none !important;
}

.btn-green {
    background-color: #3a6753 !important;
    color: white !important;
}

.sleek-bottom-border{
    border-bottom: 1px solid #e7e5e0 !important;
        box-shadow: none !important;
}

nav.ui.menu {
    min-height: 3.6rem !important;
}

/* ══════════════════════════════════════════════════════════════
   SHARED PREVIEW PANEL — shell, banner, sections, contents
   ══════════════════════════════════════════════════════════════ */

/* Shell */
#detail-panel { position:fixed; right:0; top:0; bottom:0; width:390px; background:#fcf9f4; border-left:1px solid #e7e5e0; box-shadow:-4px 0 20px rgba(0,0,0,.1); overflow-y:auto; transform:translateX(100%); transition:transform .24s cubic-bezier(.4,0,.2,1); z-index:500; display:flex; flex-direction:column; }
#detail-panel.open { transform:translateX(0); }
#panel-overlay { position:fixed; inset:0; background:rgba(30,26,20,.2); z-index:499; display:none; cursor:pointer; }

/* Banner — standardised 120 px across all panel types */
.pp-banner { height:120px; flex-shrink:0; display:flex; align-items:flex-end; padding:0 1.1rem .9rem; position:relative; overflow:hidden; }
.pp-banner-wm { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-size:3.5rem !important; color:rgba(255,255,255,.12) !important; margin:0 !important; line-height:1; pointer-events:none; }
.pp-banner-label { position:relative; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.85); }

/* Head */
.pp-head { padding:.85rem 1rem .8rem; border-bottom:1px solid #e7e5e0; display:flex; align-items:flex-start; gap:.5rem; flex-shrink:0; }
.pp-title { font-size:.93rem; font-weight:700; line-height:1.4; color:#222; flex:1; min-width:0; }
.pp-subtitle { font-size:.78rem; color:#888; margin-top:.25rem; line-height:1.35; }
.pp-close { background:none; border:none; cursor:pointer; color:#bbb; font-size:1rem; padding:0; flex-shrink:0; line-height:1; margin-top:.1rem; }
.pp-close:hover { color:#666; }

/* CTA */
.pp-cta { padding:.9rem 1rem; border-bottom:1px solid #e7e5e0; flex-shrink:0; }

/* Sections */
.panel-sec { padding:.9rem 1rem; border-bottom:1px solid #e7e5e0; flex-shrink:0; }
.panel-sec-title { font-size:.63rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#3a6753; margin-bottom:.65rem; }
.panel-sec-body { font-size:.93rem; }

/* Meta rows */
.meta-row-p { display:flex; margin-bottom:.4rem; gap:.5rem; font-size:.8rem; }
.meta-lbl { color:#999; min-width:112px; flex-shrink:0; font-size:.77rem; }
.meta-val { color:#333; font-weight:500; line-height:1.35; }

/* Helpers */
.pp-empty { font-size:.78rem; color:#bbb; }
.pp-tag { display:inline-block; background:#f0ede8; border-radius:2px; font-size:11px; padding:.12rem .4rem; color:#888; margin:.15rem .2rem .15rem 0; }

/* Contents list (collections panel) */
.pp-item-row { display:flex; align-items:center; gap:.55rem; padding:.4rem 0; border-bottom:1px solid #f0ede8; text-decoration:none; color:inherit; }
.pp-item-row:last-child { border-bottom:none; }
a.pp-item-row:hover { background:#f5f2ec; border-radius:4px; }
.pp-item-icon { width:28px; height:28px; border-radius:2px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.75rem; }
.pp-item-icon i { margin:0 !important; line-height:1; }
.pp-item-title { font-size:.8rem; color:#333; font-weight:500; line-height:1.3; flex:1; min-width:0; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pp-item-badge { font-size:.6rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#aaa; flex-shrink:0; }
.pp-contents-empty { font-size:.8rem; color:#bbb; padding:.3rem 0; }

/* Article panel extras */
.rel-chip { display:inline-flex; align-items:center; gap:.28rem; background:#f0ede8; border:1px solid #e2dfd8; border-radius:3px; padding:.28rem .55rem; font-size:.77rem; color:#3a6753; margin:.18rem .18rem 0 0; cursor:pointer; text-decoration:none; transition:background .12s; }
.rel-chip:hover { background:#e2ddd4; }
.rel-chip i { font-size:.72rem; margin:0 !important; line-height:1; }
.media-chip { display:inline-flex; align-items:center; gap:.28rem; background:#f0ede8; border:1px solid #e2dfd8; border-radius:3px; padding:.28rem .55rem; font-size:.77rem; color:#555; margin:.18rem .18rem 0 0; cursor:pointer; text-decoration:none; transition:background .12s; }
.media-chip:hover { background:#e2ddd4; color:#3a6753; }
.media-chip i { font-size:.72rem; color:#3a6753; margin:0 !important; line-height:1; }
.citation-row { padding:.45rem 0; border-bottom:1px solid #f0ede8; font-size:.78rem; color:#555; line-height:1.5; }
.citation-row:last-child { border-bottom:none; }
.citation-num { font-size:.7rem; font-weight:800; color:#3a6753; margin-right:.3rem; }
.usage-row { display:flex; align-items:center; gap:.5rem; padding:.35rem 0; border-bottom:1px solid #f0ede8; font-size:.79rem; color:#444; }
.usage-row:last-child { border-bottom:none; }
.usage-row i { color:#3a6753; font-size:.82rem; margin:0 !important; line-height:1; flex-shrink:0; width:1rem; text-align:center; }

/* Visual overlay patterns (panel banners + card visuals) */
.vp { position:absolute; inset:0; pointer-events:none; }
/* .vp-grid { background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:22px 22px; }
.vp-dots { background-image:radial-gradient(rgba(255,255,255,.18) 1.5px,transparent 1.5px); background-size:14px 14px; }
.vp-lines { background-image:repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(255,255,255,.07) 20px,rgba(255,255,255,.07) 21px); }
.vp-cross { background-image:repeating-linear-gradient(0deg,transparent,transparent 24px,rgba(255,255,255,.07) 24px,rgba(255,255,255,.07) 25px),repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(255,255,255,.07) 24px,rgba(255,255,255,.07) 25px); } */
.null-badge { display:inline-flex; align-items:center; gap:.2rem; background:#f3f1ed; border:1px solid #e2dfd8; border-radius:2px; padding:.08rem .38rem; font-size:.7rem; color:#bbb; font-style:italic; }

nav.ui.menu .item,
nav.ui.menu .item:before {
    border-left: none !important;
    border-right: none !important;
    background: none !important;
}

#user-dropdown .menu .divider {
    margin: 0 !important;
    padding: 0 !important;
}

#user-dropdown .menu {
    min-width: 160px !important;
}

#user-dropdown .menu .logout-item,
#user-dropdown .menu .logout-item i {
    color: #db2828 !important;
}

.ui.cards .card:hover .header {
    color: #3a6753 !important;
}

/* ── Button icon alignment (global) ─────────────────────────── */
.ui.button i.icon {
    vertical-align: middle !important;
    line-height: 1 !important;
    margin-top: -0.1em !important;
}

/* ═══════════════════════════════════════════════════════════════
   Content Card System  ·  cc-*
   Shared across Articles, Media, Collections, Search
   ═══════════════════════════════════════════════════════════════ */

/* ── Card wrapper ──────────────────────────────────────────────── */
.cc-card { display:flex; border:1px solid #e7e5e0; border-radius:3px; overflow:hidden; background:#fff; cursor:pointer; transition:border-color 0.16s,box-shadow 0.16s; margin-bottom:0.85rem; position:relative; }
.cc-card:hover { border-color:#b5c9be; box-shadow:0 4px 18px rgba(0,0,0,0.07); }
.cc-card:hover .cc-title { color:#3a6753; }

/* ── Visual area (left hero) ──────────────────────────────────── */
.cc-visual { width:260px; flex-shrink:0; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:1rem .9rem .85rem; background-size:cover; background-position:center; }
.cc-visual--sm { width:220px; }
.cc-visual--xs { width:180px; min-height:130px; }
.cc-visual-wm  { position:absolute; top:65%; left:50%; transform:translate(-50%,-60%); font-size:4.5rem !important; color:rgba(255,255,255,0.09) !important; margin:0 !important; }
.cc-visual-badge { position:absolute; top:0.45rem; left:0.45rem; background:rgba(0,0,0,0.28); color:#fff; font-size:0.6rem; font-weight:800; letter-spacing:0.07em; text-transform:uppercase; padding:0.1rem 0.36rem; border-radius:2px; }
.cc-visual-feat  { position:absolute; top:0.45rem; right:0.45rem; display:inline-flex; align-items:center; gap:0.2rem; background:#fff8e1; border:1px solid #ffe082; border-radius:2px; padding:0.1rem 0.45rem; font-size:0.72rem; font-weight:600; color:#b8941a; line-height:1; white-space:nowrap; }
.cc-visual-feat i { font-size:0.65rem; margin:0 0.2rem 0 0 !important; color:#b8941a; line-height:1; }

/* ── Body area (right) ────────────────────────────────────────── */
.cc-body { flex:1; padding:1rem 1.1rem; display:flex; flex-direction:column; min-width:0; }

/* ── Type label ───────────────────────────────────────────────── */
.cc-type { font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.38rem; display:flex; align-items:center; gap:0.3rem; }
.cc-type i.icon { font-size:0.75rem; margin:0 !important; vertical-align:middle; line-height:1; }

/* ── Title ────────────────────────────────────────────────────── */
.cc-title { font-size:.95rem; font-weight:700; color:#1a1a18; line-height:1.35; margin-bottom:.35rem; transition:color 0.14s; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ── Description ──────────────────────────────────────────────── */
.cc-desc { font-size:.8rem; color:#888; line-height:1.6; margin-bottom:.65rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ── Metadata row ─────────────────────────────────────────────── */
.cc-meta { font-size:.75rem; color:#b0a9a0; margin-bottom:.6rem; }
.cc-meta strong { font-weight:600; color:#999; }
.cc-meta i.icon { font-size:0.72rem; margin:0 !important; vertical-align:middle; line-height:1; color:#b0a9a0; }

/* ── Badge row ────────────────────────────────────────────────── */
.cc-badges { display:flex; flex-wrap:wrap; gap:0.4rem 1rem; margin-bottom:.55rem; }
.cc-badge { display:inline-flex; align-items:center; gap:0.22rem; font-size:.75rem; color:#999; }
.cc-badge i.icon { font-size:0.75rem; margin:0 !important; line-height:1; color:#b0a9a0; vertical-align:middle; }

/* ── Tags + updated strip ─────────────────────────────────────── */
.cc-tags-strip { display:flex; align-items:center; gap:0.4rem; flex-wrap:wrap; margin-top:auto; padding-top:0.65rem; border-top:1px solid #f0ede8; }
.cc-tag { display:inline-block; background:#f0ede8; border-radius:2px; font-size:11px; padding:0.12rem 0.4rem; color:#888; }
.cc-updated { margin-left:auto; font-size:12px; color:#ccc; white-space:nowrap; }

/* ── Status badge ─────────────────────────────────────────────── */
.cc-status { margin-left:auto; font-size:0.72rem; font-weight:600; padding:0.1rem 0.45rem; border-radius:2px; white-space:nowrap; }
.cc-status-published { background:#e8f4ee; border:1px solid #b5d9c5; color:#3a6753; }
.cc-status-review    { background:#fff8e1; border:1px solid #ffe082;  color:#b8941a; }
.cc-status-draft     { background:#f3f1ed; border:1px solid #e2dfd8;  color:#888; }
.cc-status-pending   { background:#fff3cd; border:1px solid #ffc107;  color:#856404; }
.cc-status-contested { background:#fdf0f0; border:1px solid #f5b8b8;  color:#c0392b; }

/* ── Footer bar (collections) ─────────────────────────────────── */
.cc-footer { border-top:1px solid #f0ede8; background:#faf8f5; padding:.5rem 1.1rem; display:flex; align-items:center; gap:.5rem; font-size:.72rem; color:#bbb; }

/* ── Match highlight (search) ─────────────────────────────────── */
.cc-match { background:#fdf8ec; border:1px solid #f0e4b8; border-radius:2px; padding:0.22rem 0.65rem; font-size:0.76rem; color:#7a6030; margin-bottom:0.45rem; display:flex; align-items:center; gap:0.4rem; overflow:hidden; }
.cc-match > div { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; }
.cc-match i.icon { font-size:0.72rem; color:#c8a022; margin:0 !important; flex-shrink:0; line-height:1.7; }

/* ══════════════════════════════════════════════════════════════
   MY SUBMISSIONS PAGE  (msp-*)
   ══════════════════════════════════════════════════════════════ */

.msp-page { padding-top:0; padding-bottom:3rem; }

/* Header */
.msp-header { display:flex; justify-content:space-between; align-items:flex-end; margin-top:-0.5em; margin-bottom:1.6rem; flex-wrap:wrap; gap:1rem; }
.msp-title { font-size:1.65rem; font-weight:800; color:#1a1a18; letter-spacing:-0.025em; margin:0; line-height:1.1; }
.msp-subtitle { font-size:0.82rem; color:#aaa; margin-top:0.3rem; line-height:1.5; }

/* Stats row */
.msp-stats { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.msp-stat { background:#fff; border:1px solid #e7e5e0; border-radius:4px; padding:0.7rem 1rem; flex:1; min-width:90px; text-align:center; transition:border-color 0.15s; }
.msp-stat:hover { border-color:#b5c9be; }
.msp-stat-num { font-size:1.5rem; font-weight:800; line-height:1; margin-bottom:0.18rem; color:#2c2c2c; }
.msp-stat-label { font-size:0.65rem; color:#b0a9a0; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }

/* Toolbar */
.msp-toolbar { background:#fff; border:1px solid #e7e5e0; border-radius:4px; padding:0.75rem 1rem; margin-bottom:1.4rem; display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; }
.msp-search-wrap { flex:1; min-width:180px; display:flex; align-items:center; background:#f7f4f0; border:1px solid #e7e5e0; border-radius:3px; padding:0 0.7rem; gap:0.5rem; }
.msp-search-wrap i { color:#bbb; font-size:0.85rem; margin:0; flex-shrink:0; }
.msp-search-wrap input { border:none; background:transparent; outline:none; font-size:0.85rem; color:#333; padding:0.45rem 0; width:100%; }
.msp-search-wrap input::placeholder { color:#bbb; }
.msp-toolbar-sep { width:1px; height:24px; background:#e7e5e0; flex-shrink:0; }

/* Filter buttons */
.msp-filter-btn { display:inline-flex; align-items:center; gap:0.3rem; font-size:0.75rem; font-weight:600; color:#888; padding:0.3rem 0.65rem; border:1px solid #e7e5e0; border-radius:3px; background:#fff; cursor:pointer; transition:all 0.14s; white-space:nowrap; text-decoration:none; }
.msp-filter-btn:hover { border-color:#b5c9be; color:#3a6753; background:#f6faf7; }
.msp-filter-btn.active { border-color:#3a6753; color:#3a6753; background:#f0f7f3; font-weight:700; }
.msp-filter-btn i { font-size:0.72rem; margin:0; }

/* Sort / status selects */
.msp-sort-select { font-size:0.78rem; color:#888; border:1px solid #e7e5e0; border-radius:3px; background:#fff; padding:0.3rem 0.6rem; outline:none; cursor:pointer; font-family:inherit; }
.msp-sort-select:focus { border-color:#b5c9be; }

/* Results label */
.msp-results-label { font-size:0.8rem; color:#b0a9a0; margin-bottom:0.9rem; }
.msp-results-label strong { color:#888; font-weight:600; }

/* Responsive grid */
.msp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
@media (max-width:960px) { .msp-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:580px) { .msp-grid { grid-template-columns:1fr; } }

/* Empty state */
.msp-empty { grid-column:1/-1; text-align:center; padding:4rem 1rem; color:#ccc; display:flex; flex-direction:column; align-items:center; gap:0.75rem; }
.msp-empty i { font-size:2.5rem; margin:0; }
.msp-empty-text { font-size:0.85rem; color:#bbb; }

/* Responsive adjustments */
@media (max-width:700px) {
    .msp-toolbar { flex-direction:column; align-items:stretch; }
    .msp-toolbar-sep { display:none; }
    .msp-stats { gap:0.5rem; }
}

/* ══════════════════════════════════════════════════════════════
   SUBMISSION GRID CARD  (sgc-*)
   ══════════════════════════════════════════════════════════════ */

/* Card shell */
.sgc-card { background:#fff; border:1px solid #e7e5e0; border-radius:5px; overflow:hidden; display:flex; flex-direction:column; transition:border-color 0.16s,box-shadow 0.16s; position:relative; }
.sgc-card:hover { border-color:#b5c9be; box-shadow:0 4px 20px rgba(0,0,0,0.08); }
.sgc-card:hover .sgc-img { transform:scale(1.035); }
.sgc-card:hover .sgc-title { color:#3a6753; }

/* Visual hero */
.sgc-visual { display:block; position:relative; height:220px; overflow:hidden; flex-shrink:0; text-decoration:none; }
.sgc-img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.35s ease; }
.sgc-fallback { width:100%; height:100%; position:relative; display:flex; align-items:center; justify-content:center; }
.sgc-fallback-icon { position:relative; z-index:1; font-size:3rem !important; margin:0 !important; opacity:0.18; color:#fff !important; }

/* Status badge overlay (top-left) */
.sgc-status-badge { position:absolute; top:0.55rem; left:0.55rem; font-size:0.6rem; font-weight:800; letter-spacing:0.07em; text-transform:uppercase; padding:0.15rem 0.5rem; border-radius:2px; pointer-events:none; backdrop-filter:blur(2px); }

/* Type indicator badge (bottom-left) */
.sgc-type-badge { position:absolute; bottom:0.55rem; left:0.55rem; display:inline-flex; align-items:center; gap:0.3rem; font-size:0.62rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:0.15rem 0.5rem; border-radius:2px; background:rgba(255,255,255,0.15); color:rgba(255,255,255,0.92); border:1px solid rgba(255,255,255,0.22); pointer-events:none; backdrop-filter:blur(2px); }

/* Card body */
.sgc-body { flex:1; padding:0.9rem 1rem; display:flex; flex-direction:column; min-width:0; }
.sgc-title-link { text-decoration:none; }
.sgc-title { font-size:0.92rem; font-weight:700; color:#1a1a18; line-height:1.35; margin-bottom:0.4rem; transition:color 0.14s; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sgc-desc { font-size:0.78rem; color:#8a8278; line-height:1.55; margin-bottom:0.65rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* Metadata */
.sgc-meta { margin-bottom:0.5rem; display:flex; flex-direction:column; gap:0.22rem; }
.sgc-meta-item { font-size:0.72rem; color:#b0a9a0; display:flex; align-items:center; gap:0.3rem; }
.sgc-meta-item i { font-size:0.68rem; margin:0 !important; color:#c8c2bb; flex-shrink:0; }
.sgc-meta-file { font-family:'SF Mono','Fira Mono',monospace; letter-spacing:0.01em; color:#a0998f; }

/* Footer */
.sgc-footer { margin-top:auto; padding-top:0.65rem; border-top:1px solid #f0ede8; display:flex; align-items:center; justify-content:space-between; }
.sgc-date { font-size:0.7rem; color:#ccc; display:flex; align-items:center; gap:0.28rem; }
.sgc-date i { font-size:0.65rem; margin:0 !important; }

/* Kebab menu */
.sgc-actions { position:relative; }
.sgc-menu-btn { background:none; border:none; cursor:pointer; padding:0.25rem 0.4rem; color:#ccc; font-size:0.85rem; border-radius:3px; transition:background 0.12s,color 0.12s; line-height:1; }
.sgc-menu-btn:hover { background:#f0ede8; color:#888; }
.sgc-menu-btn i { margin:0 !important; }
.sgc-dropdown { display:none; position:absolute; right:0; bottom:calc(100% + 4px); z-index:100; background:#fff; border:1px solid #e7e5e0; border-radius:4px; box-shadow:0 4px 16px rgba(0,0,0,0.1); min-width:150px; overflow:hidden; }
.sgc-dropdown.open { display:block; }
.sgc-dropdown-item { display:flex; align-items:center; gap:0.5rem; padding:0.5rem 0.85rem; font-size:0.78rem; color:#555; text-decoration:none; transition:background 0.1s; width:100%; background:none; border:none; cursor:pointer; font-family:inherit; text-align:left; }
.sgc-dropdown-item:hover { background:#f7f4f0; color:#333; }
.sgc-dropdown-item--danger:hover { background:#fef0f0; color:#c0392b; }
.sgc-dropdown-item i { font-size:0.72rem; margin:0 !important; color:#bbb; }
.sgc-dropdown-item--danger i { color:inherit; }

/* ══════════════════════════════════════════════════════════════
   FORM FIELDS  (up-*)
   articles/create·edit  ·  media/create·edit  ·  collections/create·edit
   ══════════════════════════════════════════════════════════════ */
.up-section-label { font-size:.63rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#3a6753; margin-bottom:.75rem; }
.up-field { margin-bottom:1.1rem; }
.up-field label { display:block; font-size:.78rem; font-weight:700; color:#555; margin-bottom:.32rem; letter-spacing:.02em; }
.up-field label .req { color:#e08585; }
.up-field label .opt { font-weight:400; color:#bbb; font-size:.72rem; margin-left:.25rem; }
.up-field input[type=text], .up-field input[type=date], .up-field input[type=url],
.up-field textarea, .up-field select { width:100%; border:1px solid #e7e5e0; border-radius:3px; background:#fff; padding:.5rem .7rem; font-size:.88rem; color:#333; outline:none; transition:border-color .15s; font-family:inherit; box-sizing:border-box; }
.up-field input:focus, .up-field textarea:focus, .up-field select:focus { border-color:#3a6753; }
.up-field textarea { resize:vertical; }
.up-field .hint { font-size:.73rem; color:#bbb; margin-top:.25rem; }
.up-two   { display:grid; grid-template-columns:1fr 1fr;     gap:1rem; }
.up-three { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
.up-divider { border:none; border-top:1px solid #e7e5e0; margin:1.5rem 0; }

/* ── Semantic UI multi-select tag pill overrides ─────────────── */
.ui.multiple.search.dropdown .label,
.ui.multiple.dropdown .label { background:#e6f0eb !important; border:1px solid #c2d9cb !important; color:#3a6753 !important; font-weight:500 !important; border-radius:3px !important; font-size:1em !important; padding:.3rem .65rem !important; box-shadow:none !important; }
.ui.multiple.search.dropdown .label .delete.icon,
.ui.multiple.dropdown .label .delete.icon { color:#3a6753 !important; opacity:.55 !important; margin-left:.2rem !important; }
.ui.multiple.search.dropdown .label .delete.icon:hover,
.ui.multiple.dropdown .label .delete.icon:hover { opacity:1 !important; }

/* ── Guide rows (create/edit sidebar hints) ──────────────────── */
.guide-row { display:flex; gap:.5rem; align-items:flex-start; padding:.4rem 0; border-bottom:1px solid #f0ede8; font-size:.78rem; color:#555; line-height:1.45; }
.guide-row:last-child { border-bottom:none; }
.guide-row i { font-size:.78rem; color:#3a6753; margin:0 !important; line-height:1.45; flex-shrink:0; }

/* ── Filter chip bar (archive/index pages) ───────────────────── */
#filter-chips-bar { display:none; align-items:center; gap:0.35rem; flex-wrap:wrap; margin-bottom:0.85rem; }
.filter-chip { display:inline-flex; align-items:center; gap:0.25rem; background:#e6f0eb; border:1px solid #c2d9cb; border-radius:3px; padding:0.15rem 0.5rem; font-size:0.8rem; color:#3a6753; font-weight:500; }
.filter-chip .rm { cursor:pointer; opacity:0.6; font-weight:700; margin-left:0.15rem; color:inherit; text-decoration:none; }
.filter-chip .rm:hover { opacity:1; }

/* ── Article tag chip input ──────────────────────────────────── */
.tag-wrap { display:flex; flex-wrap:wrap; gap:.28rem; align-items:center; border:1px solid #e7e5e0; border-radius:3px; background:#fff; padding:.3rem .45rem; min-height:38px; cursor:text; transition:border-color .15s; box-sizing:border-box; }
.tag-wrap:focus-within { border-color:#3a6753; }
.tag-wrap input { border:none; outline:none; font-size:.88rem; color:#333; background:transparent; min-width:100px; flex:1; padding:.08rem .15rem; font-family:inherit; }
.t-chip { display:inline-flex; align-items:center; gap:.2rem; background:#e6f0eb; border:1px solid #c2d9cb; border-radius:3px; padding:.1rem .4rem; font-size:.77rem; color:#3a6753; font-weight:500; }
.t-chip .rm { cursor:pointer; opacity:.55; font-weight:700; font-size:.8rem; }
.t-chip .rm:hover { opacity:1; }
.rel-chip-tag { display:inline-flex; align-items:center; gap:.25rem; background:#e6f0eb; border:1px solid #c2d9cb; border-radius:3px; padding:.15rem .5rem; font-size:.78rem; color:#3a6753; font-weight:500; }
.rel-chip-tag .rm { cursor:pointer; opacity:.55; font-weight:700; margin-left:.1rem; }
.rel-chip-tag .rm:hover { opacity:1; }
.rel-chips-area { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.4rem; min-height:0; }
.rel-sug { display:inline-flex; align-items:center; gap:.2rem; background:#f6f3ee; border:1px solid #e2dfd8; border-radius:3px; padding:.12rem .45rem; font-size:.73rem; color:#888; cursor:pointer; transition:background .12s,color .12s; }
.rel-sug:hover { background:#e6f0eb; color:#3a6753; border-color:#c2d9cb; }
.rel-sug i { font-size:.65rem; margin:0 !important; line-height:1; vertical-align:middle; }

/* ── Cover image upload widget ───────────────────────────────── */
.cover-up-wrap { border:1px dashed #d0ccc6; border-radius:3px; background:#faf8f4; padding:1.4rem 1rem; cursor:pointer; transition:border-color .15s,background .15s; text-align:center; }
.cover-up-wrap:hover { border-color:#3a6753; background:#f3f8f5; }
.cover-up-wrap.has-img { padding:.75rem; cursor:default; border-style:solid; border-color:#e7e5e0; text-align:left; }
.cover-up-idle { display:flex; flex-direction:column; align-items:center; gap:.2rem; }
.cover-up-idle i { font-size:1.4rem; color:#d0ccc6; margin:0 0 .15rem; }
.cover-up-idle span { font-size:.82rem; color:#888; }
.cover-up-idle small { font-size:.72rem; color:#bbb; }
.cover-up-preview img { width:100%; height:160px; object-fit:cover; display:block; border-radius:2px; }
.cover-up-actions { display:flex; gap:.5rem; margin-top:.55rem; align-items:center; }
.cover-up-change { font-size:.75rem; font-weight:600; color:#3a6753; background:#e6f0eb; border:1px solid #c2d9cb; border-radius:2px; padding:.22rem .65rem; cursor:pointer; }
.cover-up-change:hover { background:#d0e6da; }
.cover-up-remove { font-size:.75rem; font-weight:600; color:#c0392b; background:#fdf0ef; border:1px solid #f5c6c2; border-radius:2px; padding:.22rem .65rem; cursor:pointer; }
.cover-up-remove:hover { background:#fde0dd; }

/* ── Completeness, validation & advanced-toggle (create forms) ─ */
.comp-row { display:flex; align-items:center; gap:.4rem; font-size:.75rem; padding:.25rem 0; color:#555; }
.comp-row i { font-size:.75rem; margin:0 !important; line-height:1; vertical-align:middle; }
.comp-row.ok   i { color:#3a6753; }
.comp-row.warn i { color:#b8941a; }
.comp-row.miss i { color:#db2828; }
.vr-row { display:flex; align-items:center; gap:.4rem; font-size:.78rem; padding:.28rem 0; color:#555; }
.vr-row i { font-size:.75rem; margin:0 !important; line-height:1; vertical-align:middle; }
.vr-row.ok   i { color:#3a6753; }
.vr-row.warn i { color:#b8941a; }
.adv-toggle { display:flex; align-items:center; gap:.45rem; font-size:.78rem; font-weight:700; color:#3a6753; cursor:pointer; border:none; background:none; padding:0; margin-bottom:.75rem; }
.adv-toggle i { font-size:.72rem; margin:0 !important; line-height:1; vertical-align:middle; transition:transform .18s; }
.adv-toggle.open i { transform:rotate(90deg); }

/* ── Type example chips (collection create/edit) ─────────────── */
.type-eg { display:inline-block; background:#f0ede8; border-radius:2px; font-size:.7rem; padding:.1rem .38rem; color:#888; margin:.1rem .1rem 0 0; }

/* ══════════════════════════════════════════════════════════════
   WIZARD  (wiz-*)
   articles/create  ·  media/create  ·  collections/create
   ══════════════════════════════════════════════════════════════ */
.wiz-bar { display:flex; align-items:center; margin-bottom:1.75rem; }
.wiz-step-item { display:flex; flex-direction:column; align-items:center; cursor:pointer; user-select:none; }
.wiz-step-num { width:28px; height:28px; border-radius:50%; border:2px solid #e0ddd8; background:#fff; display:flex; align-items:center; justify-content:center; font-size:.73rem; font-weight:800; color:#bbb; transition:all 0.18s; }
.wiz-step-item.active .wiz-step-num { border-color:#3a6753; background:#3a6753; color:#fff; }
.wiz-step-item.done   .wiz-step-num { border-color:#3a6753; background:#e6f0eb; color:#3a6753; }
.wiz-step-label { font-size:.68rem; font-weight:600; color:#bbb; margin-top:.28rem; white-space:nowrap; letter-spacing:.02em; }
.wiz-step-item.active .wiz-step-label { color:#3a6753; }
.wiz-step-item.done   .wiz-step-label { color:#888; }
.wiz-connector { flex:1; height:2px; background:#e0ddd8; margin:0 0.5rem 1.3rem; transition:background 0.18s; }
.wiz-connector.done { background:#3a6753; }
.wiz-panel { display:none; }
.wiz-panel.active { display:block; }
.wiz-nav { display:flex; justify-content:space-between; align-items:center; margin-top:0.5rem; margin-bottom:1.2rem; }

/* ══════════════════════════════════════════════════════════════
   COLLECTION CONTENT MANAGER  (cm-*)
   collections/create  ·  collections/edit
   ══════════════════════════════════════════════════════════════ */
.cm-panel { display:grid; grid-template-columns:62% 38%; border-top:1px solid #e7e5e0; }
.cm-browser { display:flex; flex-direction:column; border-right:1px solid #e7e5e0; min-height:460px; max-height:530px; }
.cm-selected { display:flex; flex-direction:column; background:#faf8f4; min-height:460px; max-height:530px; overflow-y:auto; }
.cm-search-row { padding:.65rem .8rem .5rem; border-bottom:1px solid #e7e5e0; flex-shrink:0; }
.cm-search-wrap { position:relative; margin-bottom:.45rem; }
.cm-search-icon { position:absolute; left:.58rem; top:50%; transform:translateY(-50%); color:#c0bcb6; font-size:.78rem; pointer-events:none; margin:0 !important; }
.cm-search-input { width:100%; border:1px solid #e0ddd8; border-radius:3px; padding:.4rem .65rem .4rem 1.9rem; font-size:.8rem; color:#333; outline:none; transition:border-color .15s; font-family:inherit; box-sizing:border-box; background:#faf8f4; }
.cm-search-input:focus { border-color:#3a6753; background:#fff; }
.cm-search-input::placeholder { color:#ccc; }
.cm-filter-row { display:flex; gap:.2rem; flex-wrap:wrap; }
.cm-filter-tab { background:none; border:1px solid #e0ddd8; border-radius:2px; font-size:.66rem; font-weight:700; color:#aaa; padding:.16rem .5rem; cursor:pointer; transition:all .12s; letter-spacing:.02em; white-space:nowrap; }
.cm-filter-tab.active { background:#3a6753; border-color:#3a6753; color:#fff; }
.cm-filter-tab:hover:not(.active) { color:#555; border-color:#b0a9a0; }
.cm-grid { flex:1; overflow-y:auto; padding:.55rem; display:grid; grid-template-columns:1fr 1fr; gap:.4rem; align-content:start; }
.cm-grid::-webkit-scrollbar { width:4px; }
.cm-grid::-webkit-scrollbar-thumb { background:#e0ddd8; border-radius:2px; }
.cm-card { border:1.5px solid #e7e5e0; border-radius:4px; background:#fff; overflow:hidden; transition:border-color .15s,box-shadow .15s; display:flex; flex-direction:column; height:150px; }
.cm-card:not(.is-added):hover { border-color:#b5c9be; box-shadow:0 2px 8px rgba(58,103,83,.1); }
.cm-card.is-added { border-color:#3a6753; background:#f8fcf9; }
.cm-card-visual { height:72px; display:flex; align-items:center; justify-content:center; position:relative; flex-shrink:0; }
.cm-card-visual i { font-size:1.3rem; color:rgba(255,255,255,.8); margin:0 !important; }
.cm-card-badge { position:absolute; top:.25rem; left:.25rem; font-size:.53rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.9); background:rgba(0,0,0,.2); border-radius:2px; padding:.04rem .26rem; }
.cm-card-check { position:absolute; top:.25rem; right:.25rem; background:#3a6753; border-radius:50%; width:13px; height:13px; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .15s; }
.cm-card-check i { font-size:.48rem; color:#fff; margin:0 !important; line-height:1; }
.cm-card.is-added .cm-card-check { opacity:1; }
.cm-card-body { padding:.38rem .48rem .32rem; flex:1; }
.cm-card-title { font-size:.72rem; font-weight:700; color:#333; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cm-card-meta { font-size:.62rem; color:#bbb; margin-top:.15rem; }
.cm-card-foot { padding:.28rem .48rem; border-top:1px solid #f0ede8; display:flex; justify-content:flex-end; flex-shrink:0; }
.cm-card.is-added .cm-card-foot { border-top-color:#c9e2d4; background:#f0f8f3; }
.cm-add-btn { font-size:.68rem; font-weight:700; color:#3a6753; background:none; border:1px solid #c2d9cb; border-radius:2px; padding:.16rem .52rem; cursor:pointer; transition:all .12s; display:inline-flex; align-items:center; gap:.2rem; }
.cm-add-btn:hover { background:#3a6753; color:#fff; border-color:#3a6753; }
.cm-add-btn.added { color:#3a6753; border-color:#3a6753; background:#e6f0eb; cursor:default; pointer-events:none; }
.cm-no-results { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2.5rem 1rem; text-align:center; }
.cm-no-results i { font-size:1.7rem; color:#e0ddd8; margin:0 0 .55rem; }
.cm-no-results-title { font-size:.78rem; font-weight:600; color:#bbb; }
.cm-no-results-sub { font-size:.7rem; color:#ccc; margin-top:.28rem; }
.cm-sel-head { padding:.58rem .78rem .38rem; border-bottom:1px solid #e7e5e0; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cm-sel-label { font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#3a6753; }
.cm-sel-badge { background:#3a6753; color:#fff; border-radius:10px; font-size:.62rem; font-weight:800; padding:.08rem .42rem; min-width:1.3rem; text-align:center; }
.cm-sel-list { flex:1; overflow-y:auto; padding:.38rem .42rem; }
.cm-sel-list::-webkit-scrollbar { width:3px; }
.cm-sel-list::-webkit-scrollbar-thumb { background:#e0ddd8; border-radius:2px; }
.cm-sel-item { display:flex; align-items:center; gap:.38rem; padding:.32rem .38rem; border-radius:3px; background:#fff; border:1px solid #e7e5e0; margin-bottom:.25rem; user-select:none; transition:border-color .12s,box-shadow .12s; }
.cm-sel-item.drag-over { border-color:#3a6753; box-shadow:0 0 0 2px rgba(58,103,83,.15); }
.cm-sel-item.dragging { opacity:.3; }
.cm-drag-handle { cursor:grab; color:#d0ccc6 !important; font-size:.8rem; flex-shrink:0; padding:.04rem .08rem; line-height:1; margin:0 !important; }
.cm-drag-handle:hover { color:#888 !important; }
.cm-drag-handle:active { cursor:grabbing; }
.cm-sel-icon { width:20px; height:20px; border-radius:2px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cm-sel-icon i { font-size:.57rem; color:rgba(255,255,255,.85); margin:0 !important; line-height:1; }
.cm-sel-info { flex:1; min-width:0; }
.cm-sel-name { font-size:.7rem; font-weight:600; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cm-sel-type { font-size:.6rem; color:#bbb; }
.cm-sel-rm { background:none; border:none; cursor:pointer; color:#d0ccc6; padding:.06rem; flex-shrink:0; line-height:1; font-size:.7rem; }
.cm-sel-rm:hover { color:#db2828; }
.cm-sel-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2rem .75rem; text-align:center; flex:1; }
.cm-sel-empty i { font-size:1.5rem; color:#e0ddd8; margin:0 0 .5rem; }
.cm-sel-empty-title { font-size:.76rem; font-weight:600; color:#bbb; }
.cm-sel-empty-sub { font-size:.68rem; color:#ccc; margin-top:.25rem; line-height:1.45; }
.cm-sel-foot { padding:.42rem .72rem; border-top:1px solid #e7e5e0; display:flex; gap:.45rem; flex-wrap:wrap; flex-shrink:0; }
.cm-sel-count { display:inline-flex; align-items:center; gap:.22rem; font-size:.7rem; color:#999; }
.cm-sel-count i { font-size:.63rem; margin:0 !important; color:#b0a9a0; line-height:1; }
.cm-sel-count strong { color:#555; font-weight:700; }

/* ══════════════════════════════════════════════════════════════
   MEDIA VIEWER SHARED  (mv-*)
   view-image  ·  view-audio  ·  view-video  ·  view-document  ·  media/show
   ══════════════════════════════════════════════════════════════ */
.mv-wrap  { display:flex; gap:1.4rem; align-items:flex-start; }
.mv-aside { width:220px; flex-shrink:0; }
.mv-main  { flex:1; min-width:0; }
.mv-bread { display:flex; align-items:center; gap:0.4rem; font-size:0.75rem; color:#aaa; margin-bottom:1.2rem; margin-top:-0.6em; flex-wrap:wrap; }
.mv-bread a { color:#3a6753; text-decoration:none; }
.mv-bread a:hover { text-decoration:underline; }
.mv-bread i { font-size:0.62rem; margin:0 !important; line-height:1; color:#ccc; }
.mv-tabs { display:flex; border-bottom:2px solid #e7e5e0; margin-bottom:1.1rem; }
.mv-tab { display:inline-flex; align-items:center; gap:0.4rem; padding:0.5rem 1rem; font-size:0.8rem; font-weight:600; color:#888; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:color 0.13s,border-color 0.13s; }
.mv-tab:hover { color:#3a6753; }
.mv-tab.active { color:#3a6753; border-bottom-color:#3a6753; }
.mv-pane, .mv-tab-pane { display:none; }
.mv-pane.active, .mv-tab-pane.active { display:block; }
.mv-desc, .mv-desc-text { font-size:0.9rem; color:#444; line-height:1.78; }

/* ── Viewer detail sidebar cards ─────────────────────────────── */
.sb-card  { margin:0 0 0.85rem !important; width:100%; }
.sb-sec   { padding:0.8rem 0.9rem; border-bottom:1px solid #e7e5e0; }
.sb-sec:last-child { border-bottom:none; }
.sb-title { font-size:0.6rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:#3a6753; margin-bottom:0.55rem; }
.sb-row   { display:flex; gap:0.4rem; margin-bottom:0.3rem; }
.sb-lbl   { color:#aaa; font-size:0.72rem; flex-shrink:0; width:68px; line-height:1.5; }
.sb-val   { color:#444; font-weight:500; font-size:0.79rem; line-height:1.4; }
.sb-chip  { display:inline-block; background:#f0ede8; border-radius:2px; font-size:0.7rem; padding:0.1rem 0.38rem; color:#888; margin:0.1rem 0.12rem 0 0; }
.sb-chip-g { background:#e6f0eb; color:#3a6753; border:1px solid #c2d9cb; }

/* ── Linked media thumbs & related content cards (show pages) ── */
.art-media-thumb { display:flex; align-items:center; gap:0.5rem; padding:0.32rem 0; border-bottom:1px solid #f0ede8; cursor:pointer; }
.art-media-thumb:last-child { border-bottom:none; }
.art-media-thumb-icon { width:36px; height:28px; border-radius:2px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.art-media-thumb-icon i { font-size:0.8rem; color:rgba(255,255,255,0.75); margin:0 !important; line-height:1; }
.art-media-thumb-label { font-size:0.75rem; color:#444; line-height:1.3; flex:1; min-width:0; }
.art-media-thumb-type { font-size:0.65rem; color:#aaa; }
.art-rel-card { display:flex; gap:0; border:1px solid #e7e5e0; border-radius:3px; overflow:hidden; cursor:pointer; transition:border-color 0.15s; margin-bottom:0.65rem; background:#fff; }
.art-rel-card:hover { border-color:#b5c9be; }
.art-rel-card:hover .art-rel-title { color:#3a6753; }
.art-rel-strip { width:5px; flex-shrink:0; }
.art-rel-body { padding:0.65rem 0.8rem; flex:1; min-width:0; }
.art-rel-kicker { font-size:0.62rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#aaa; margin-bottom:0.18rem; }
.art-rel-title { font-size:0.82rem; font-weight:700; color:#1a1a18; line-height:1.3; margin-bottom:0.2rem; transition:color 0.13s; }
.art-rel-author { font-size:0.72rem; color:#bbb; }

/* ── Transcript block (media viewers) ───────────────────────── */
.mv-transcript { background:#f9f7f4; border:1px solid #e7e5e0; border-radius:3px; padding:1.1rem 1.3rem; }
.mv-transcript p { font-size:0.86rem; color:#444; line-height:1.78; margin-bottom:0.9rem; }
.mv-transcript p:last-child { margin-bottom:0; }

/* ══════════════════════════════════════════════════════════════
   QUALITY CHECK  (qc-*)
   articles/quality-check  ·  media/quality-check
   collections/quality-check  ·  submit/review
   ══════════════════════════════════════════════════════════════ */
.qc-hero { background:linear-gradient(135deg,#f6f3ee 0%,#edf2ef 100%); border-bottom:1px solid #e0ddd8; padding:2.5rem 0 2rem; }
.qc-hero-inner { padding:0 1rem; }
.qc-hero-icon { width:52px; height:52px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e0ddd8; font-size:1.5rem; color:#3a6753; }
.qc-hero-title { font-size:1.55rem; font-weight:800; color:#2c2c2c; margin:0 0 .35rem; letter-spacing:-.02em; }
.qc-hero-sub { font-size:.92rem; color:#777; line-height:1.6; max-width:540px; }
.qc-body { padding:2rem 0; display:flex; gap:2rem; align-items:flex-start; }
.qc-main { flex:1; min-width:0; }
.qc-sidebar { width:260px; flex-shrink:0; position:sticky; top:1.5rem; }
.qc-preview { background:#fff; border:1px solid #e0ddd8; border-radius:4px; overflow:hidden; margin-bottom:2rem; }
.qc-preview-header { padding:.9rem 1.1rem .7rem; border-bottom:1px solid #f0ede8; display:flex; align-items:center; gap:.65rem; }
.qc-preview-body { padding:1.1rem; }
.qc-preview-title { font-size:1rem; font-weight:700; color:#2c2c2c; margin-bottom:.4rem; line-height:1.35; }
.qc-preview-abstract, .qc-preview-desc { font-size:.82rem; color:#777; line-height:1.55; margin-bottom:.9rem; }
.qc-preview-meta { display:flex; flex-wrap:wrap; gap:.65rem; }
.qc-meta-pill { display:inline-flex; align-items:center; gap:.3rem; background:#f6f3ee; border:1px solid #e8e5e0; border-radius:3px; padding:.2rem .6rem; font-size:.72rem; color:#666; }
.qc-meta-pill i { font-size:.72rem; margin:0; color:#aaa; }
.qc-section-label { font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#3a6753; margin-bottom:.85rem; display:flex; align-items:center; gap:.4rem; }
.qc-section-label::after { content:''; flex:1; height:1px; background:#e8e5e0; }
.qc-checklist-card { background:#fff; border:1px solid #e0ddd8; border-radius:4px; overflow:hidden; margin-bottom:2rem; }
.qc-checklist-group { padding:.8rem 1.1rem; border-bottom:1px solid #f4f2ef; }
.qc-checklist-group:last-child { border-bottom:none; }
.qc-checklist-group-label { font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#aaa; margin-bottom:.55rem; }
.qc-field-row { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:#555; padding:.22rem 0; }
.qc-field-row i { font-size:.78rem; margin:0; flex-shrink:0; }
.qc-field-row.present i { color:#3a6753; }
.qc-field-row.missing i { color:#ddd; }
.qc-field-row .qc-field-state { font-size:.7rem; margin-left:auto; }
.qc-field-row.present .qc-field-state { color:#3a6753; }
.qc-field-row.missing .qc-field-state { color:#ccc; }
.qc-issue-row { display:flex; align-items:flex-start; gap:.65rem; padding:.75rem 1rem; border-bottom:1px solid #f4f2ef; background:#fff; }
.qc-issue-row:last-child { border-bottom:none; }
.qc-issue-icon { width:30px; height:30px; border-radius:6px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#fff6f6; color:#db2828; font-size:.9rem; }
.qc-issue-text { font-size:.82rem; color:#555; line-height:1.5; }
.qc-issue-field { font-size:.7rem; font-weight:700; color:#db2828; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.15rem; }
.qc-sug-card { background:#fff; border:1px solid #e0ddd8; border-radius:4px; margin-bottom:.85rem; overflow:hidden; }
.qc-sug-head { display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border-bottom:1px solid #f4f2ef; }
.qc-sug-icon { width:34px; height:34px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.95rem; }
.qc-sug-title { font-size:.88rem; font-weight:700; color:#333; }
.qc-sug-body { padding:.8rem 1rem .9rem; }
.qc-sug-desc { font-size:.82rem; color:#777; line-height:1.5; margin-bottom:.75rem; }
.qc-sug-options { display:flex; flex-wrap:wrap; gap:0.4rem; margin-bottom:0.75rem; }
.qc-sug-opt { border:1px solid #e0ddd8; background:#fafaf8; border-radius:3px; padding:.2rem .65rem; font-size:.75rem; color:#666; cursor:pointer; transition:background .12s,border-color .12s,color .12s; }
.qc-sug-opt:hover { background:#e6f0eb; border-color:#c2d9cb; color:#3a6753; }
.qc-sug-opt.sel  { background:#e6f0eb; border-color:#3a6753; color:#3a6753; font-weight:600; }
.qc-sug-action { display:inline-flex; align-items:center; gap:.35rem; border:1px solid #c2d9cb; background:#e6f0eb; border-radius:3px; padding:.32rem .85rem; font-size:.78rem; font-weight:600; color:#3a6753; cursor:pointer; transition:background .12s; text-decoration:none; }
.qc-sug-action:hover { background:#d6e8de; color:#3a6753; }
.qc-sug-action i { font-size:.78rem; margin:0; }
.qc-ready-card { background:#fff; border:1px solid #e0ddd8; border-radius:4px; overflow:hidden; margin-bottom:1rem; }
.qc-ready-header { padding:.75rem 1rem .55rem; border-bottom:1px solid #f0ede8; background:#fafaf8; }
.qc-ready-body { padding:1rem; }
.qc-ready-row { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:#555; padding:.3rem 0; }
.qc-ready-row i { font-size:.78rem; margin:0; }
.qc-ready-row.ok   i { color:#3a6753; }
.qc-ready-row.miss i { color:#ddd; }
.qc-btn-primary { display:flex; width:100%; align-items:center; justify-content:center; gap:.45rem; background:#3a6753; color:#fff; border:none; border-radius:3px; padding:.75rem 1rem; font-size:.88rem; font-weight:700; cursor:pointer; text-decoration:none; transition:background .15s; margin-bottom:.55rem; }
.qc-btn-primary:hover { background:#2f5443; color:#fff; }
.qc-btn-secondary { display:flex; width:100%; align-items:center; justify-content:center; gap:.45rem; background:#fff; color:#555; border:1px solid #e0ddd8; border-radius:3px; padding:.65rem 1rem; font-size:.85rem; font-weight:600; cursor:pointer; text-decoration:none; transition:background .15s; margin-bottom:.55rem; }
.qc-btn-secondary:hover { background:#f6f3ee; color:#333; }
.qc-ready-row.partial i { color:#b8941a; }
.qc-similar-card { background:#fff; border:1px solid #e0ddd8; border-radius:3px; padding:.7rem .85rem; display:flex; align-items:center; gap:.75rem; margin-bottom:.5rem; }
.qc-similar-card:last-child { margin-bottom:0; }
@media (max-width:720px) {
    .qc-body { flex-direction:column-reverse; }
    .qc-sidebar { width:100%; position:static; }
    .qc-hero-inner { flex-direction:column; gap:1rem; }
}

/* ══════════════════════════════════════════════════════════════
   AUTH PAGES  (auth-*, af-*)
   login  ·  register
   ══════════════════════════════════════════════════════════════ */
.auth-wrap { max-width:820px; margin:1.5rem auto; }
.auth-card { display:flex; border:1px solid #e0ddd8; border-radius:4px; overflow:hidden; box-shadow:0 2px 16px rgba(0,0,0,.07); }
.auth-panel { width:280px; flex-shrink:0; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:2.2rem 1.8rem 1.8rem; }
.auth-panel-wm { position:absolute; top:50%; left:50%; transform:translate(-50%,-60%); font-size:5rem !important; color:rgba(255,255,255,.06) !important; margin:0 !important; }
.auth-panel-top { position:relative; }
.auth-panel-logo { font-size:1.15rem; font-weight:800; color:#fff; letter-spacing:.02em; margin-bottom:.5rem; }
.auth-panel-tagline { font-size:.78rem; color:rgba(255,255,255,.55); line-height:1.6; }
.auth-panel-links { position:relative; display:flex; flex-direction:column; gap:.4rem; }
.auth-panel-link { display:flex; align-items:center; gap:.45rem; font-size:.73rem; color:rgba(255,255,255,.45); line-height:1.45; }
.auth-panel-link i { font-size:.7rem; margin:0 !important; flex-shrink:0; color:rgba(255,255,255,.3); line-height:1.45; }
.auth-panel-steps { position:relative; display:flex; flex-direction:column; gap:.55rem; }
.auth-step { display:flex; align-items:flex-start; gap:.55rem; }
.auth-step-num { width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:800; color:rgba(255,255,255,.7); flex-shrink:0; margin-top:.05rem; }
.auth-step-text { font-size:.73rem; color:rgba(255,255,255,.5); line-height:1.5; }
.auth-form-panel { flex:1; background:#fff; padding:2.2rem 2rem 2rem; display:flex; flex-direction:column; }
.auth-form-title { font-size:1.15rem; font-weight:800; color:#1a1a18; margin:0 0 .3rem; }
.auth-form-sub { font-size:.8rem; color:#999; margin:0 0 1.8rem; line-height:1.5; }
.af-field { margin-bottom:1.1rem; }
.af-field label { display:block; font-size:.75rem; font-weight:700; color:#666; margin-bottom:.3rem; letter-spacing:.02em; }
.af-field .af-input-wrap { position:relative; }
.af-field .af-input-wrap i { position:absolute; top:50%; left:.75rem; transform:translateY(-50%); font-size:.82rem; color:#bbb; margin:0 !important; pointer-events:none; line-height:1; }
.af-field input { width:100%; border:1px solid #e7e5e0; border-radius:3px; background:#f9f8f6; padding:.55rem .75rem .55rem 2.3rem; font-size:.88rem; color:#333; outline:none; transition:border-color .15s,background .15s; font-family:inherit; box-sizing:border-box; }
.af-field input:focus { border-color:#3a6753; background:#fff; }
.af-field input.no-icon { padding-left:.75rem; }
.af-hint { font-size:.7rem; color:#bbb; margin-top:.25rem; }
.af-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; font-size:.78rem; }
.af-check { display:flex; align-items:center; gap:.4rem; color:#666; cursor:pointer; user-select:none; }
.af-check input[type=checkbox] { cursor:pointer; accent-color:#3a6753; width:14px; height:14px; }
.af-forgot { color:#3a6753; text-decoration:none; font-weight:600; font-size:.75rem; }
.af-forgot:hover { text-decoration:underline; }
.af-submit { width:100%; background:#3a6753; color:#fff; border:none; border-radius:3px; padding:.65rem 1rem; font-size:.92rem; font-weight:700; cursor:pointer; letter-spacing:.02em; transition:background .15s; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:.4em; }
.af-submit:hover { background:#2f5544; }
.af-divider { display:flex; align-items:center; gap:.6rem; margin:1.2rem 0; color:#ddd; font-size:.72rem; }
.af-divider::before, .af-divider::after { content:''; flex:1; border-top:1px solid #eee; }
.af-two { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.af-terms { font-size:.72rem; color:#bbb; margin-bottom:1.1rem; line-height:1.55; }
.af-terms a { color:#3a6753; text-decoration:none; font-weight:600; }
.af-terms a:hover { text-decoration:underline; }
.af-footer { margin-top:1.4rem; text-align:center; font-size:.78rem; color:#aaa; }
.af-footer a { color:#3a6753; font-weight:700; text-decoration:none; }
.af-footer a:hover { text-decoration:underline; }
#pw-strength-bar { height:4px; border-radius:2px; background:#eee; margin-top:.3rem; overflow:hidden; }
#pw-strength-fill { height:100%; border-radius:2px; width:0; transition:width .25s,background .25s; }
#pw-strength-label { font-size:.68rem; color:#bbb; margin-top:.2rem; }
.cc-match em { font-style:normal; background:#fce47a; border-radius:1px; padding:0 0.1rem; }

#no-results i {
    width: auto !important;
}

.no-results i.icon {
    width: auto !important;
}

.sub-empty i {
    width: auto !important;
}

#dropzone i {
    width: auto !important;
}

.image_resized {
    height: auto !important;
}

/* Global responsive layer (Semantic UI-first) */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

#desktop-navbar {
    display: block;
}

#mobile-navbar {
    display: none;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

@media only screen and (max-width: 767px) {
    #desktop-navbar {
        display: none !important;
    }

    #mobile-navbar {
        display: block !important;
    }

    .ui.fluid.padded.basic.segment {
        padding-left: 0.9rem !important;
        padding-right: 0.9rem !important;
    }

    nav.ui.menu {
        min-height: 3.2rem !important;
    }

    nav.ui.menu .item {
        padding-top: 0.8rem !important;
        padding-bottom: 0.8rem !important;
    }

    #mobile-nav-dropdown > .menu {
        right: 0 !important;
        left: auto !important;
        min-width: 240px !important;
    }

    #archive-body,
    .mv-wrap,
    .qc-body,
    .auth-card,
    .msp-header {
        flex-direction: column !important;
    }

    #archive-main,
    .mv-main,
    .qc-main,
    .auth-form-panel {
        width: 100% !important;
    }

    #art-sidebar,
    #archive-sidebar,
    #coll-archive-sidebar,
    #srch-sidebar,
    #saved-sidebar,
    #sub-sidebar,
    #prof-sidebar,
    #cd-sidebar,
    #media-health-sidebar,
    #article-health-sidebar,
    #coll-health-sidebar,
    .sb-sidebar,
    .mv-aside,
    .qc-sidebar,
    .auth-panel {
        width: 100% !important;
        max-width: 100% !important;
    }

    .sb-sidebar {
        margin-bottom: 0.9rem !important;
    }

    #archive-body > main,
    #archive-body > #archive-main,
    #search-body > #srch-main,
    #submissions-body > #sub-main {
        order: 1;
        width: 100%;
    }

    #archive-body > #art-sidebar,
    #archive-body > #archive-sidebar,
    #archive-body > #coll-archive-sidebar,
    #search-body > #srch-sidebar,
    #submissions-body > #sub-sidebar {
        order: 2;
        width: 100% !important;
    }

    #search-body,
    #submissions-body {
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
        align-items: flex-start;
    }

    #detail-panel {
        width: 100vw !important;
        max-width: 100vw !important;
        border-left: none !important;
    }

    .pp-banner,
    #panel-banner {
        height: 72px !important;
        padding: 0 0.9rem 0.7rem !important;
    }

    .pp-banner-wm,
    .coll-banner-wm,
    .feat-hero-wm,
    .art-list-visual-wm,
    .cc-visual-wm {
        font-size: 3rem !important;
    }

    .prof-banner-content {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
    }

    .prof-banner-actions {
        position: static !important;
        margin-top: 0.25rem;
    }

    .prof-banner-name {
        font-size: 1.25rem !important;
    }

    .cc-card,
    .art-list-card {
        flex-direction: column !important;
    }

    .cc-visual,
    .cc-visual--sm,
    .cc-visual--xs,
    .art-list-visual {
        width: 100% !important;
        min-height: 150px !important;
    }

    .cc-body,
    .art-list-body {
        padding: 0.85rem 0.9rem !important;
    }

    .cc-updated {
        margin-left: 0 !important;
        width: 100%;
    }

    .ui.pagination.menu {
        flex-wrap: wrap !important;
    }

    .ui.table {
        display: block !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch;
    }

    table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    pre {
        overflow-x: auto;
    }

    .ui.form .fields {
        flex-direction: column !important;
    }

    .ui.form .field {
        width: 100% !important;
    }

    .cm-panel {
        grid-template-columns: 1fr !important;
    }

    .cm-browser,
    .cm-selected {
        min-height: auto !important;
        max-height: none !important;
    }

    .cm-grid,
    .up-two,
    .up-three,
    .af-two {
        grid-template-columns: 1fr !important;
    }

    .auth-wrap {
        margin: 1rem auto !important;
    }

    .auth-panel {
        padding: 1.3rem 1.1rem !important;
    }

    .auth-form-panel {
        padding: 1.3rem 1.1rem 1.2rem !important;
    }

    .msp-toolbar {
        padding: 0.65rem 0.7rem !important;
    }
}