.jnj-wrap{max-width:1280px;margin:0 auto;padding:14px 0}
.jnj-card{background:#fff;border:1px solid #d9e3ef;border-radius:16px;padding:20px;box-shadow:0 6px 18px rgba(28,51,84,.06);margin:0 0 18px}
.jnj-card h2,.jnj-card h3{margin-top:0}
.jnj-grid{display:grid;gap:18px}.jnj-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.jnj-grid-main{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start}
.jnj-meta{display:flex;gap:16px;flex-wrap:wrap;background:#f7fafc;border:1px solid #e6edf5;padding:12px;border-radius:12px;margin-bottom:14px}
.jnj-field{padding:14px 0;border-bottom:1px solid #edf2f7}.jnj-field:last-child{border-bottom:0}.jnj-field h4{margin:0 0 8px;font-size:15px}.jnj-value{line-height:1.7;word-break:break-word}
.jnj-score-list{display:grid;gap:12px;margin:14px 0 18px}.jnj-score-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center;padding:10px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fbfdff}
.jnj-score-row label{font-weight:600}.jnj-score-row select,.jnj-filter-form select,.jnj-score-form textarea{width:100%;padding:10px 12px;border:1px solid #cfd8e3;border-radius:10px;background:#fff}
.jnj-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.jnj-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:10px;border:1px solid #0d6efd;background:#0d6efd;color:#fff;text-decoration:none;cursor:pointer;font-weight:600;transition:all .2s ease}.jnj-btn:hover{opacity:.96;transform:translateY(-1px)}.jnj-btn-secondary{background:#fff;color:#0d6efd}
.jnj-inline-form{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}.jnj-check{display:flex;gap:8px;align-items:flex-start;font-size:14px}.jnj-help{color:#566577;font-size:14px;margin-top:10px}
.jnj-notice{padding:12px 14px;border-radius:10px;margin-bottom:16px}.jnj-notice-success{background:#ecfdf3;border:1px solid #b7ebc6;color:#146c2e}.jnj-notice-error{background:#fff2f2;border:1px solid #f0c4c4;color:#8d1f1f}
.jnj-summary-box,.jnj-lock-box{background:#f8fbff;border:1px solid #d6e5f5;border-radius:12px;padding:14px}.jnj-lock-box{margin:14px 0 0}.jnj-lock-box-warning{background:#fff8e8;border-color:#f0d48b}
.jnj-table{width:100%;border-collapse:collapse;margin:14px 0}.jnj-table th,.jnj-table td{border:1px solid #dce5ef;padding:8px;text-align:left}.jnj-table th{background:#f2f7fb}.jnj-summary-notes{margin-top:12px;padding-top:12px;border-top:1px solid #dce5ef}
.jnj-progress-card{background:linear-gradient(180deg,#fbfdff 0,#f7fbff 100%)}.jnj-progress-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.jnj-progress-header p{margin:.2rem 0 0}.jnj-progress-pill{background:#eaf2ff;color:#0d4fbf;border:1px solid #cfe0ff;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:600}.jnj-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.jnj-progress-stat{background:#fff;border:1px solid #e5eef8;border-radius:14px;padding:14px}.jnj-progress-stat strong{display:block;font-size:24px;line-height:1.2;margin-top:6px}.jnj-progress-label{font-size:13px;color:#546579}.jnj-progress-bar{height:12px;background:#e9f0f8;border-radius:999px;overflow:hidden;margin-top:12px}.jnj-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#0d6efd,#6aa7ff);border-radius:999px}
.jnj-text-line{margin:0 0 8px}.jnj-text-line:last-child{margin-bottom:0}.jnj-inline-link,.jnj-link-url{color:#0d5bd7;text-decoration:underline;word-break:break-all}.jnj-link-card{border:1px solid #dfeaf6;border-radius:14px;padding:14px;background:#fbfdff;margin:0 0 10px}.jnj-link-head{display:flex;gap:12px;align-items:flex-start}.jnj-link-icon{font-size:22px;line-height:1}.jnj-link-type{font-weight:700;margin-bottom:4px}.jnj-preview-wrap{margin-top:12px;border:1px solid #e2ebf5;border-radius:12px;overflow:hidden;background:#fff}.jnj-preview-image,.jnj-preview-video,.jnj-preview-frame{display:block;width:100%}.jnj-preview-image{max-height:360px;object-fit:contain;background:#f8fafc}.jnj-preview-video{max-height:360px;background:#000}.jnj-preview-frame{height:420px;border:0;background:#fff}
@media (max-width:900px){.jnj-grid-2,.jnj-grid-main,.jnj-progress-grid{grid-template-columns:1fr}.jnj-score-row{grid-template-columns:1fr}.jnj-preview-frame{height:320px}}
