/* cay-lop.css - CÂY LỚP THỐNG NHẤT (web/js/cay-lop.js) + «Quyền của tôi» (web/js/quyen-cua-toi.js). Chi khung giao dien, khong doi kieu ban do. */
.cay-lop { margin-bottom: 6px; }
.cl-tim { display: flex; gap: 4px; align-items: center; margin: 2px 0 6px; }
.cl-tim input { flex: 1; min-width: 0; padding: 5px 8px; border: 1px solid var(--line, #d1d5db); border-radius: 6px; font: inherit; font-size: 12.5px; }
.cl-nhom > summary .cl-them { margin-left: auto; font-size: 11px; padding: 1px 8px; }
.cl-nhom > summary { display: flex; align-items: center; gap: 4px; }
.cl-rong { font-size: 12px; padding: 4px 8px 6px 22px; }
.cl-du-an-tieu-de { font-size: 11.5px; font-weight: 600; color: var(--ink-soft, #64748b); text-transform: uppercase; letter-spacing: .03em; margin: 8px 2px 2px; }
.cl-keo { cursor: grab; color: #94a3b8; padding: 0 2px; user-select: none; touch-action: none; font-size: 12px; }
.cl-dang-keo { opacity: .55; }
.cl-dich { box-shadow: inset 0 2px 0 var(--brand, #2563eb); }
.cl-nut { border: 0; background: none; cursor: pointer; padding: 2px; color: #64748b; border-radius: 4px; line-height: 0; }
.cl-nut:hover { background: var(--surface, #f1f5f9); color: var(--ink, #0f172a); }
.cl-nut.cl-nhan.on, .lt-nhan.on { color: var(--brand, #0b3b66); }
.cl-nut.cl-nhan:not(.on), .lt-nhan:not(.on) { opacity: .55; }
.cl-hang.is-err .lt-name { color: #dc2626; }
.cl-info { margin: 0 0 4px 26px; padding: 6px 8px; background: var(--surface, #f8fafc); border: 1px solid var(--line, #e5e7eb); border-radius: 6px; font-size: 11.5px; }
.cl-info dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 8px; margin: 0; }
.cl-info dt { color: #64748b; } .cl-info dd { margin: 0; overflow-wrap: anywhere; }
.lt-item[hidden], .layer-tree details[hidden] { display: none !important; }

/* «Quyền của tôi» */
.qct { font-size: 13px; }
.qct h4 { margin: 12px 0 6px; font-size: 13px; }
.qct-the { border: 1px solid var(--line, #e5e7eb); border-radius: 8px; padding: 8px 10px; margin-bottom: 8px; }
.qct-the p { margin: 4px 0; }
.qct-nhan { display: inline-block; border-radius: 10px; padding: 0 8px; font-size: 11.5px; margin: 1px 2px; background: #e2e8f0; }
.qct-co { background: #dcfce7; color: #166534; } .qct-dk { background: #fef3c7; color: #92400e; } .qct-khong { background: #fee2e2; color: #991b1b; }
.qct table { border-collapse: collapse; width: 100%; font-size: 12px; }
.qct th, .qct td { border-bottom: 1px solid var(--line, #f1f5f9); padding: 3px 4px; text-align: left; vertical-align: top; }
.qct th { color: #64748b; font-weight: 500; }
.qct-ghi { color: var(--ink-soft, #64748b); font-size: 12px; }
.qct-tai-sao input { width: 100%; padding: 6px 8px; border: 1px solid var(--line, #d1d5db); border-radius: 6px; font: inherit; }
.qct-kq { margin-top: 6px; }
.qct-kq li { margin: 4px 0; }
.qct details > summary { cursor: pointer; font-weight: 600; margin: 8px 0 4px; }
