/* Module congkhai - Công khai giáo dục (Thông tư 09/2024/TT-BGDĐT) */
.congkhai { --ck-primary: var(--gdnn-primary, #088040); --ck-accent: var(--gdnn-secondary, #D87020); --ck-done: #1b7f3b; --ck-done-bg: #e6f4ea; --ck-pending: #8a6d00; --ck-pending-bg: #fff6d6; --ck-overdue: #b71c1c; --ck-overdue-bg: #fdecea; --ck-na: #9e9e9e; --ck-na-bg: #f5f5f5; }
.congkhai .ck-header { margin-bottom: 20px; }
.congkhai .ck-title { font-size: 26px; margin: 0 0 8px; color: var(--ck-primary); }
.congkhai .ck-intro { font-size: 15px; }
.congkhai .ck-retention { font-size: 13px; }
.congkhai .ck-toolbar { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.congkhai .ck-qr { margin: 8px 0; padding: 10px; border: 1px dashed #ccc; display: inline-block; text-align: center; background: #fff; }
.congkhai .ck-breadcrumb-back { margin: 0 0 6px; font-size: 13px; }
.congkhai .section-title { font-size: 20px; border-left: 4px solid var(--ck-primary); padding-left: 10px; margin: 24px 0 12px; }
.congkhai .section-subtitle { font-size: 16px; margin: 16px 0 8px; }
.congkhai .ck-note { margin-bottom: 8px; }
/* Thẻ nhóm */
.ck-group-col { margin-bottom: 15px; }
.ck-group-card { display: block; height: 100%; min-height: 170px; padding: 14px; border: 1px solid #e0e0e0; border-top: 4px solid var(--ck-primary, #088040); border-radius: 6px; background: #fff; color: #333; text-decoration: none; transition: box-shadow .2s, transform .2s; position: relative; }
.ck-group-card:hover, .ck-group-card:focus { box-shadow: 0 4px 14px rgba(0,0,0,.12); transform: translateY(-2px); text-decoration: none; color: #222; }
.ck-group-code { position: absolute; top: 10px; right: 12px; font-size: 28px; font-weight: 700; color: rgba(8,128,64,.18); }
.ck-group-icon { display: block; font-size: 26px; color: var(--ck-primary, #088040); margin-bottom: 6px; }
.ck-group-title { display: block; font-weight: 700; font-size: 15px; line-height: 1.3; margin-bottom: 4px; }
.ck-group-legal { display: block; font-size: 12px; color: #777; margin-bottom: 8px; }
.ck-group-stats { display: block; font-size: 12px; }
.ck-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; margin: 2px 4px 2px 0; }
.ck-badge-done { background: var(--ck-done-bg, #e6f4ea); color: var(--ck-done, #1b7f3b); }
.ck-badge-missing { background: var(--ck-overdue-bg, #fdecea); color: var(--ck-overdue, #b71c1c); }
.ck-group-A { border-top-color: #088040; } .ck-group-B { border-top-color: #D87020; } .ck-group-C { border-top-color: #1565C0; } .ck-group-D { border-top-color: #6A1B9A; }
.ck-group-E { border-top-color: #C62828; } .ck-group-F { border-top-color: #00838F; } .ck-group-G { border-top-color: #5D4037; } .ck-group-H { border-top-color: #616161; }
/* Bộ lọc */
.ck-filter-form { margin: 10px 0 16px; padding: 10px; background: #f7f9f8; border: 1px solid #e3e8e5; border-radius: 4px; }
.ck-filter-form .form-group { margin-right: 10px; margin-bottom: 6px; }
.ck-filter-form label { margin-right: 4px; font-weight: 600; font-size: 13px; }
/* Ma trận */
.ck-matrix-wrap { margin-bottom: 20px; }
.ck-matrix-scroll { -webkit-overflow-scrolling: touch; }
.ck-matrix { font-size: 13px; min-width: 720px; margin-bottom: 8px; }
.ck-matrix thead th { background: var(--ck-primary, #088040); color: #fff; vertical-align: middle; position: sticky; top: 0; z-index: 1; }
.ck-matrix thead th small { color: rgba(255,255,255,.8); }
.ck-matrix .ck-col-code { width: 80px; } .ck-matrix .ck-col-cycle { width: 110px; } .ck-matrix .ck-col-year { min-width: 130px; }
.ck-matrix .ck-matrix-group th { background: #e9f3ec; font-size: 14px; }
.ck-matrix .ck-matrix-group a { color: var(--ck-primary, #088040); }
.ck-matrix th code { background: transparent; color: #333; font-weight: 700; padding: 0; }
.ck-cell { vertical-align: middle; }
.ck-cell-done { background: var(--ck-done-bg, #e6f4ea); color: var(--ck-done, #1b7f3b); }
.ck-cell-done a { color: var(--ck-done, #1b7f3b); font-weight: 600; }
.ck-cell-pending { background: var(--ck-pending-bg, #fff6d6); color: var(--ck-pending, #8a6d00); }
.ck-cell-overdue { background: var(--ck-overdue-bg, #fdecea); color: var(--ck-overdue, #b71c1c); font-weight: 600; }
.ck-cell-na, .ck-cell-optional { background: var(--ck-na-bg, #f5f5f5); color: var(--ck-na, #9e9e9e); }
.ck-deadline { color: #666; font-weight: 400; }
.ck-legend { font-size: 13px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.ck-legend-item { padding: 2px 8px; border-radius: 3px; }
.ck-legend-stats { margin-left: auto; }
/* Lịch, danh sách */
.ck-schedule-table .ck-row-overdue td:first-child { border-left: 4px solid var(--ck-overdue, #b71c1c); }
.ck-list { margin: 0; }
.ck-list-item { padding: 8px 0; border-bottom: 1px dashed #e0e0e0; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.ck-list-code code { font-weight: 700; }
.ck-list-title { font-weight: 600; flex: 1 1 300px; }
.ck-list-meta { font-size: 12px; color: #777; }
.ck-list-files { width: 100%; }
/* Trang nhóm */
.ck-group-code-big { display: inline-block; background: var(--ck-primary, #088040); color: #fff; padding: 0 12px; border-radius: 4px; margin-right: 6px; }
.ck-legal { color: #555; }
.ck-catalog { margin: 24px 0; padding: 14px 16px; border: 1px solid #e3e8e5; border-radius: 6px; background: #fff; }
.ck-catalog-title { font-size: 17px; margin: 0 0 4px; }
.ck-catalog-title code { font-size: 14px; }
.ck-item { border-top: 1px solid #eee; padding: 12px 0 4px; }
.ck-item-title { font-size: 16px; margin: 0 0 8px; }
.ck-item-meta { margin-bottom: 8px; font-size: 13px; }
.ck-item-meta dt { width: 120px; text-align: left; } .ck-item-meta dd { margin-left: 130px; }
@media (max-width: 767px) { .ck-item-meta dt { width: auto; float: none; } .ck-item-meta dd { margin-left: 0; } }
.ck-item-status-3 { opacity: .85; background: #fafafa; }
.ck-expired-tag { font-size: 12px; color: #8a6d00; background: #fff6d6; padding: 4px 8px; border-radius: 3px; display: inline-block; }
.ck-files { margin-bottom: 6px; }
.ck-pdf-inline iframe { width: 100%; height: 600px; border: 1px solid #ccc; }
.ck-history summary { cursor: pointer; color: var(--ck-primary, #088040); font-size: 13px; }
.ck-empty { font-style: italic; }
/* Chi tiết */
.congkhai-detail .ck-code { font-size: 16px; vertical-align: middle; }
.ck-catalog-line { font-size: 13px; }
.ck-body { font-size: 15px; line-height: 1.7; }
.ck-body table { width: 100%; border-collapse: collapse; margin: 10px 0; } .ck-body table td, .ck-body table th { border: 1px solid #ddd; padding: 4px 8px; }
.ck-verify-list dt { font-weight: 600; font-size: 12px; color: #777; margin-top: 6px; } .ck-verify-list dd { margin: 0; }
.ck-sha { font-size: 10px; word-break: break-all; display: block; }
.ck-file { padding: 6px 0; border-bottom: 1px dashed #e5e5e5; }
.ck-pdf-embed { margin-top: 12px; } .ck-pdf-embed iframe { border: 1px solid #ccc; }
.ck-chart-wrap { position: relative; width: 100%; min-height: 280px; max-height: 420px; }
.ck-total-col { background: #f3f8f4; }
.ck-sample { display: inline-block; margin-bottom: 8px; }
/* Widget đơn vị + block trang chủ */
.ck-widget .ck-list-item { padding: 5px 0; }
.ck-home { margin: 20px 0; }
.ck-home-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.ck-home-head .section-title { margin: 0; }
.ck-home-row { margin-top: 12px; }
.ck-home-col { margin-bottom: 12px; }
.ck-home-card { display: block; height: 100%; min-height: 130px; padding: 12px; border-radius: 6px; border: 1px solid #e0e0e0; border-left: 4px solid var(--ck-primary, #088040); background: #fff; color: #333; text-decoration: none; position: relative; }
.ck-home-card:hover { box-shadow: 0 3px 10px rgba(0,0,0,.1); text-decoration: none; }
.ck-home-code { position: absolute; top: 6px; right: 10px; font-weight: 700; color: rgba(0,0,0,.15); font-size: 22px; }
.ck-home-icon { font-size: 22px; color: var(--ck-primary, #088040); display: block; }
.ck-home-name { display: block; font-weight: 600; font-size: 13px; line-height: 1.3; margin: 4px 0; min-height: 34px; }
.ck-home-count { display: block; font-size: 12px; color: #555; }
.ck-home-warn { display: block; font-size: 11px; color: #b71c1c; margin-top: 4px; }
.ck-home-card.ck-group-A { border-left-color: #088040; } .ck-home-card.ck-group-B { border-left-color: #D87020; } .ck-home-card.ck-group-C { border-left-color: #1565C0; } .ck-home-card.ck-group-D { border-left-color: #6A1B9A; } .ck-home-card.ck-group-E { border-left-color: #C62828; } .ck-home-card.ck-group-F { border-left-color: #00838F; } .ck-home-card.ck-group-G { border-left-color: #5D4037; } .ck-home-card.ck-group-H { border-left-color: #616161; }
/* Tương phản cao / tối */
.high-contrast .ck-cell-done, .high-contrast .ck-cell-pending, .high-contrast .ck-cell-overdue { color: #000; }
body.dark-mode .ck-group-card, body.dark-mode .ck-home-card, body.dark-mode .ck-catalog, body.dark-mode .ck-qr { background: #1e1e1e; color: #ddd; border-color: #444; }
body.dark-mode .ck-filter-form { background: #2a2a2a; border-color: #444; }
/* In */
@media print {
    .ck-toolbar, .ck-filter-form, .ck-qr-toggle, .ck-pdf-embed, .ck-breadcrumb-back, .ck-home-all { display: none !important; }
    .ck-matrix { min-width: 0; font-size: 11px; }
    .ck-cell-done, .ck-cell-pending, .ck-cell-overdue, .ck-cell-na { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .ck-group-card { break-inside: avoid; }
}
