.novel-source-v4{max-width:1600px;margin:0 auto}
.nsv4-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.nsv4-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:#2563eb;margin-bottom:6px}
.nsv4-hero h1{margin:0;font-size:30px;line-height:1.2;color:#0f172a}
.nsv4-hero p{margin:7px 0 0;color:#64748b}
.nsv4-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.nsv4-stat{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:17px 18px;min-height:104px}
.nsv4-stat span{display:block;color:#64748b;font-size:13px;font-weight:600}
.nsv4-stat strong{display:block;font-size:27px;color:#0f172a;line-height:1.1;margin:10px 0 5px}
.nsv4-stat small{color:#94a3b8}
.nsv4-create{display:none;background:#fff;border:1px solid #dbe3ef;border-radius:15px;padding:20px;margin-bottom:18px}
.nsv4-create.is-open{display:block}
.nsv4-create-head strong{font-size:17px;color:#0f172a}
.nsv4-create-head p{margin:5px 0 18px;color:#64748b}
.nsv4-create-grid,.nsv4-edit-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 2fr auto auto;gap:12px;align-items:end}
.nsv4-create-grid label,.nsv4-edit-grid label{display:flex;flex-direction:column;gap:7px}
.nsv4-create-grid label span,.nsv4-edit-grid label span{font-size:12px;font-weight:700;color:#64748b}
.nsv4-create-grid input,.nsv4-edit-grid input{width:100%;min-height:40px;border:1px solid #cfd9e8;border-radius:9px;padding:8px 11px;background:#fff}
.nsv4-check{flex-direction:row!important;align-items:center;white-space:nowrap;padding-bottom:10px}
.nsv4-check input{width:auto!important;min-height:auto!important}
.nsv4-card{background:#fff;border:1px solid #dbe3ef;border-radius:15px;overflow:hidden}
.nsv4-card-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e7edf5}
.nsv4-card-head h2{font-size:17px;margin:0;color:#0f172a}
.nsv4-card-head p{margin:5px 0 0;color:#64748b;font-size:13px}
.nsv4-count{background:#f1f5f9;border-radius:999px;padding:7px 11px;color:#475569;font-size:12px;font-weight:700}
.nsv4-table-wrap{overflow-x:auto}
.nsv4-table{width:100%;border-collapse:collapse}
.nsv4-table th{background:#f8fafc;text-align:left;color:#64748b;font-size:12px;font-weight:700;padding:12px 14px;border-bottom:1px solid #e7edf5;white-space:nowrap}
.nsv4-table td{padding:15px 14px;border-bottom:1px solid #edf1f6;vertical-align:middle;color:#334155}
.nsv4-table tr.is-disabled td{background:#fbfcfe}
.nsv4-source{display:flex;align-items:center;gap:11px;min-width:175px}
.nsv4-source-icon{width:36px;height:36px;border-radius:10px;background:#eef4ff;color:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:800}
.nsv4-source strong{display:block;color:#0f172a}
.nsv4-source code{font-size:11px;color:#2563eb;background:#eff6ff;padding:2px 5px;border-radius:5px}
.nsv4-source div div span{font-size:11px;color:#94a3b8;margin-left:5px}
.nsv4-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:700}
.nsv4-badge.success{background:#ecfdf3;color:#15803d}
.nsv4-badge.success i{width:7px;height:7px;border-radius:50%;background:#22c55e}
.nsv4-badge.muted{background:#f1f5f9;color:#64748b}
.nsv4-mini{font-size:11px;margin-top:5px;color:#64748b}
.nsv4-mini.running{color:#2563eb;font-weight:700}
.nsv4-number{font-size:15px;color:#0f172a}
.nsv4-good{font-weight:700;color:#15803d}
.nsv4-bad{font-weight:700;color:#dc2626}
.nsv4-blocked{display:block;color:#d97706;margin-top:3px}
.nsv4-date{display:block;font-size:13px;color:#0f172a;white-space:nowrap}
.nsv4-table td>small{display:block;color:#94a3b8;margin-top:3px;white-space:nowrap}
.nsv4-empty{color:#94a3b8;font-size:12px}
.nsv4-edit-row{display:none}
.nsv4-edit-row.is-open{display:table-row}
.nsv4-edit-row>td{padding:0!important;background:#f8fafc!important}
.nsv4-edit-panel{padding:18px 20px;border-bottom:1px solid #dbe3ef}
.nsv4-danger{margin-top:16px;padding-top:14px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nsv4-danger strong{display:block;color:#b91c1c;font-size:13px}
.nsv4-danger small{display:block;color:#94a3b8;margin-top:3px}
.nsv4-empty-state{text-align:center!important;padding:45px!important;color:#94a3b8!important}
.btn:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1300px){
.nsv4-summary{grid-template-columns:repeat(3,1fr)}
.nsv4-create-grid,.nsv4-edit-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
.nsv4-hero{align-items:flex-start;flex-direction:column}
.nsv4-summary{grid-template-columns:repeat(2,1fr)}
.nsv4-create-grid,.nsv4-edit-grid{grid-template-columns:1fr}
.nsv4-danger{align-items:flex-start;flex-direction:column}
}
