:root{--bg:#f6f8fb;--card:#fff;--text:#14213d;--muted:#667085;--line:#e5e7eb;--accent:#2457e6;--danger:#b42318;--success:#067647;--warn:#b54708}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}nav{height:70px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}nav div{display:flex;gap:18px;align-items:center}.brand{font-size:22px;font-weight:800;color:var(--text)}main{max-width:1120px;margin:0 auto;padding:54px 24px 70px}.hero{padding:56px 0 66px;max-width:820px}.hero h1{font-size:clamp(42px,7vw,72px);line-height:1.02;letter-spacing:-.045em;margin:18px 0}.hero p{font-size:18px;max-width:720px}.pill{display:inline-block;border:1px solid #c7d7fe;background:#eef4ff;color:#1849a9;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}.button,button{display:inline-block;border:0;background:var(--accent);color:#fff;padding:12px 17px;border-radius:10px;font-weight:700;cursor:pointer}.button.small{padding:8px 12px}.button.ghost{background:#fff;color:var(--text);border:1px solid var(--line)}.actions{display:flex;gap:10px;margin:24px 0}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,1fr)}.card,.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.auth{max-width:520px;margin:18px auto}.auth h1,.pricing h1{font-size:36px;margin-top:0}.pricing{max-width:620px;margin:auto}.pricing h1{font-size:54px}.pricing small{font-size:18px;color:var(--muted)}label{display:block;font-weight:650;margin:14px 0}input,textarea{width:100%;margin-top:7px;border:1px solid #cfd4dc;border-radius:10px;padding:12px;font:inherit;background:white}.split-links{display:flex;justify-content:space-between;margin-top:20px}.alert{padding:12px 14px;border-radius:10px;margin:16px 0}.alert.error{background:#fef3f2;color:var(--danger)}.alert.success{background:#ecfdf3;color:var(--success)}.alert.warning{background:#fffaeb;color:var(--warn)}.muted{color:var(--muted)}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.stat span{display:block;color:var(--muted)}.stat strong{font-size:30px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap{overflow:auto}.status{font-weight:750}footer{text-align:center;padding:30px;color:var(--muted);border-top:1px solid var(--line);background:white}@media(max-width:760px){.grid.three{grid-template-columns:1fr}.hero h1{font-size:44px}nav{height:auto;padding-top:14px;padding-bottom:14px;align-items:flex-start}nav div{gap:10px;flex-wrap:wrap;justify-content:flex-end}.page-head{align-items:flex-start;gap:14px}}
.grid.four{grid-template-columns:repeat(4,1fr)}.report-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.risk{font-weight:800;background:#f2f4f7;border-radius:999px;padding:6px 10px;white-space:nowrap}.report-item{margin-top:18px}@media(max-width:900px){.grid.four{grid-template-columns:repeat(2,1fr)}}@media print{nav,footer,.actions,.button,button{display:none!important}main{max-width:none;padding:0}.card,.stat{box-shadow:none;break-inside:avoid}body{background:#fff}}

.grid.four{grid-template-columns:repeat(4,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.top-gap{margin-top:20px}.wide{max-width:760px}select{width:100%;margin-top:7px;border:1px solid #cfd4dc;border-radius:10px;padding:12px;background:white}.network-canvas{width:100%;height:580px;overflow:hidden;background:linear-gradient(180deg,#fbfcfe,#f5f7fb);border-radius:12px}.net-edge{stroke:#c8d0dc;stroke-width:1.5}.net-node{fill:#fff;stroke:#2457e6;stroke-width:3}.net-node.manuscript{fill:#eef4ff;stroke:#1849a9}.net-node.self{fill:#fff7ed;stroke:#ea580c}.net-node.retracted{fill:#fef2f2;stroke:#dc2626}.net-label{font-size:11px;fill:#334155}.evidence-row{border-top:1px solid var(--line);padding:18px 0}.evidence-row:first-child{border-top:0}.kpi-list p{padding:9px 0;border-bottom:1px solid var(--line)}details{margin-top:8px}summary{cursor:pointer;color:var(--accent);font-weight:650}
@media(max-width:900px){.grid.four,.grid.two{grid-template-columns:1fr 1fr}}@media(max-width:650px){.grid.four,.grid.two{grid-template-columns:1fr}}

/* Logged-in user badge */
.user-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 14px;
    padding: 6px 11px;
    border-radius: 18px;
    background: #eef3ff;
    color: #243b78;
    font-weight: 600;
    font-size: 14px;
    white-space: nowrap;
}

/* =========================================================
   CiteVerify Research Intelligence Dashboard
   ========================================================= */

.dashboard-hero{
    background:
        radial-gradient(circle at top right,rgba(99,102,241,.35),transparent 30%),
        linear-gradient(135deg,#0f172a 0%,#1e3a8a 52%,#312e81 100%);
    border-radius:26px;
    padding:34px;
    color:#fff;
    margin-bottom:24px;
    box-shadow:0 18px 50px rgba(30,58,138,.16);
    overflow:hidden
}

.dashboard-hero-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px
}

.dashboard-kicker{
    display:inline-block;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#bfdbfe;
    margin-bottom:8px
}

.dashboard-hero h1{
    margin:0;
    font-size:34px;
    line-height:1.15;
    letter-spacing:-.025em;
    color:#fff
}

.dashboard-hero p{
    max-width:680px;
    margin:12px 0 0;
    color:#dbeafe;
    font-size:15px
}

.dashboard-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:24px
}

.dash-primary{
    background:#fff!important;
    color:#1e3a8a!important
}

.dash-secondary{
    background:rgba(255,255,255,.1)!important;
    border:1px solid rgba(255,255,255,.24)!important;
    backdrop-filter:blur(8px)
}

.plan-summary{
    min-width:220px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    border-radius:20px;
    padding:22px;
    backdrop-filter:blur(10px)
}

.plan-summary .plan-label{
    display:block;
    color:#c7d2fe;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em
}

.plan-summary strong{
    display:block;
    font-size:28px;
    margin:4px 0
}

.plan-meta{
    display:block;
    color:#dbeafe;
    font-size:13px;
    margin-bottom:8px
}

.plan-summary a{
    color:#fff;
    font-weight:700;
    font-size:13px
}

.dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:22px
}

.metric-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:20px;
    display:flex;
    gap:15px;
    align-items:center;
    box-shadow:0 7px 24px rgba(15,23,42,.045);
    transition:.2s ease
}

.metric-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 34px rgba(15,23,42,.08)
}

.metric-icon{
    width:48px;
    height:48px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:21px;
    font-weight:800
}

.metric-blue .metric-icon{background:#eff6ff;color:#2563eb}
.metric-green .metric-icon{background:#ecfdf3;color:#16a34a}
.metric-orange .metric-icon{background:#fff7ed;color:#ea580c}
.metric-red .metric-icon{background:#fef2f2;color:#dc2626}

.metric-card span{
    display:block;
    color:var(--muted);
    font-size:13px
}

.metric-card strong{
    display:block;
    font-size:29px;
    margin:2px 0;
    color:#0f172a
}

.metric-card small{
    display:block;
    color:#94a3b8;
    font-size:11px
}

.dashboard-grid{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:20px;
    margin-bottom:20px
}

.dashboard-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:24px;
    box-shadow:0 8px 28px rgba(15,23,42,.045)
}

.card-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    margin-bottom:18px
}

.card-heading h2{
    margin:2px 0 0;
    font-size:20px;
    color:#0f172a
}

.eyebrow{
    display:block;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:800;
    color:#64748b
}

.mini-status{
    background:#ecfdf3;
    color:#047857;
    padding:5px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800
}

.chart-box{
    height:245px;
    position:relative
}

.chart-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:14px
}

.chart-summary div{
    border:1px solid #edf0f4;
    border-radius:12px;
    padding:10px;
    text-align:center
}

.chart-summary b{
    display:block;
    font-size:17px;
    color:#0f172a
}

.chart-summary small{
    color:#64748b
}

.dot{
    width:8px;
    height:8px;
    border-radius:50%;
    display:inline-block;
    margin-right:4px
}

.verified-dot{background:#16a34a}
.review-dot{background:#f59e0b}
.high-dot{background:#dc2626}

.signal-list{
    display:flex;
    flex-direction:column;
    gap:4px
}

.signal-row{
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid #edf0f4
}

.signal-row:last-child{
    border-bottom:0
}

.signal-row span{
    display:block;
    font-weight:700;
    color:#1e293b
}

.signal-row small{
    display:block;
    color:#94a3b8;
    margin-top:2px
}

.signal-row strong{
    font-size:21px
}

.signal-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800
}

.danger-soft{background:#fef2f2;color:#dc2626}
.purple-soft{background:#f5f3ff;color:#7c3aed}
.blue-soft{background:#eff6ff;color:#2563eb}

.author-profile-box{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    margin-top:18px;
    padding:15px 16px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0
}

.author-profile-box span{
    display:block;
    font-weight:700
}

.author-profile-box small{
    display:block;
    color:#64748b
}

.author-profile-box a{
    font-weight:700;
    white-space:nowrap
}

.recent-card{
    margin-top:0
}

.recent-heading{
    align-items:center
}

.text-link{
    font-weight:700;
    font-size:13px
}

.modern-table th{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#64748b;
    background:#f8fafc
}

.modern-table td{
    padding-top:15px;
    padding-bottom:15px
}

.modern-table tbody tr:hover{
    background:#fbfdff
}

.run-chip{
    display:inline-block;
    padding:5px 8px;
    border-radius:8px;
    background:#eef4ff;
    color:#2457e6;
    font-weight:800;
    font-size:12px
}

.sep{
    color:#cbd5e1;
    margin:0 4px
}

.empty-state{
    padding:38px 10px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px
}

.empty-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    background:#eef4ff;
    color:#2457e6;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px
}

.empty-state span{
    color:#64748b;
    margin-bottom:8px
}

@media(max-width:980px){
    .dashboard-stats{
        grid-template-columns:repeat(2,1fr)
    }

    .dashboard-grid{
        grid-template-columns:1fr
    }

    .dashboard-hero-content{
        align-items:flex-start;
        flex-direction:column
    }

    .plan-summary{
        width:100%
    }
}

@media(max-width:640px){
    .dashboard-stats{
        grid-template-columns:1fr
    }

    .dashboard-hero{
        padding:24px 20px;
        border-radius:20px
    }

    .dashboard-hero h1{
        font-size:28px
    }

    .dashboard-actions{
        flex-direction:column
    }

    .dashboard-actions .button{
        width:100%;
        text-align:center
    }

    .chart-summary{
        grid-template-columns:1fr
    }

    .author-profile-box{
        align-items:flex-start;
        flex-direction:column
    }
}

/* ==================================================
   CiteVerify + NPR Publications Branding
   ================================================== */

.brand-with-logo{
    display:inline-flex;
    align-items:center;
    gap:11px;
    font-size:22px;
    font-weight:800;
    color:var(--text);
}

.brand-with-logo img{
    width:42px;
    height:42px;
    object-fit:contain;
    border-radius:10px;
}

.footer-npr{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:5px;
    vertical-align:middle;
}

.footer-npr img{
    width:42px;
    height:30px;
    object-fit:contain;
    vertical-align:middle;
}

@media(max-width:650px){
    .brand-with-logo img{
        width:36px;
        height:36px;
    }

    .footer-npr{
        display:flex;
        justify-content:center;
        margin-top:8px;
    }

    .footer-npr img{
        width:38px;
        height:28px;
    }
}

/* =========================================================
   FINAL FOOTER BRANDING FIX
   ========================================================= */

.site-footer{
    width:100%;
    background:#fff;
    border-top:1px solid #e5e7eb;
    padding:18px 24px;
    text-align:center;
}

.footer-branding{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    color:#667085;
    font-size:13px;
    line-height:1.4;
}

.footer-copy{
    font-weight:600;
    color:#475467;
}

.footer-separator{
    color:#98a2b3;
}

.footer-powered{
    color:#667085;
}

.footer-npr-logo{
    display:block !important;
    width:42px !important;
    height:32px !important;
    max-width:42px !important;
    max-height:32px !important;
    object-fit:contain !important;
    margin:0 3px !important;
    padding:0 !important;
}

.footer-npr-text{
    font-weight:600;
    color:#475467;
}

/* Neutralize old NPR footer rules */
.footer-npr{
    display:inline-flex;
    align-items:center;
    margin:0;
    gap:6px;
}

.footer-npr img{
    width:42px !important;
    height:32px !important;
    max-width:42px !important;
    max-height:32px !important;
    object-fit:contain !important;
}

@media(max-width:650px){
    .site-footer{
        padding:16px;
    }

    .footer-branding{
        font-size:12px;
        gap:5px;
    }

    .footer-npr-logo{
        width:38px !important;
        height:28px !important;
    }
}

/* Final CiteVerify Header Logo Fix */
.brand-with-logo{
    display:flex !important;
    align-items:center !important;
    min-width:220px;
}

.brand-with-logo img{
    display:block !important;
    width:210px !important;
    height:auto !important;
    max-width:210px !important;
    max-height:58px !important;
    object-fit:contain !important;
    border-radius:0 !important;
}

@media(max-width:700px){
    .brand-with-logo{
        min-width:170px;
    }

    .brand-with-logo img{
        width:165px !important;
        max-width:165px !important;
        max-height:50px !important;
    }
}

/* Manuscript batch verification */
.batch-progress-card{
    max-width:720px;
    margin:40px auto;
    text-align:center;
    padding:38px;
}

.verify-progress{
    width:100%;
    height:16px;
    background:#e9eef8;
    border-radius:999px;
    overflow:hidden;
    margin:24px 0 12px;
}

.verify-progress > div{
    height:100%;
    background:linear-gradient(90deg,#2457e6,#6366f1);
    border-radius:999px;
    transition:width .35s ease;
}

/* =========================================================
   CITEVERIFY PUBLIC FOOTER NAVIGATION
   ========================================================= */

.footer-links{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 18px;
    margin:0 0 14px;
    font-size:13px;
    line-height:1.5;
}

.footer-links a{
    color:#475467;
    text-decoration:none;
    font-weight:600;
}

.footer-links a:hover,
.footer-links a:focus{
    text-decoration:underline;
}

@media(max-width:650px){
    .footer-links{
        gap:8px 14px;
        margin-bottom:12px;
        font-size:12px;
    }
}
