:root{--ink:#17211c;--muted:#718078;--line:#e6ebe6;--paper:#f5f7f4;--card:#fff;--accent:#b88b51;--dark:#20352c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.admin-app{min-height:100vh;display:flex}.admin-sidebar{width:256px;flex:0 0 256px;background:var(--dark);color:#fff;padding:25px 16px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;padding:2px 10px 30px;font-weight:800;letter-spacing:.04em}.admin-brand small{display:block;font-size:9px;letter-spacing:.16em;color:#aabbb0;margin-top:3px}.brand-mark{width:36px;height:36px;border:1px solid #d7b47f;color:#d7b47f;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px}.admin-nav{display:grid;gap:2px;overflow-y:auto}.admin-nav-group{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7c9088;margin:14px 12px 4px;font-weight:700}.admin-nav-group:first-child{margin-top:0}.admin-nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;color:#b9c8bf;text-decoration:none;font-size:13px;transition:.2s}.admin-nav-link i{width:18px;text-align:center;color:#8fa498}.admin-nav-link:hover,.admin-nav-link.is-active{background:#31493d;color:#fff}.admin-nav-link.is-active{box-shadow:inset 3px 0 var(--accent)}.admin-sidebar-footer{margin-top:auto;border-top:1px solid #3b5146;padding-top:16px;display:grid;gap:12px}.admin-sidebar-footer a{color:#b9c8bf;text-decoration:none;font-size:12px}.admin-sidebar-footer i{width:20px}.admin-main{min-width:0;flex:1}.admin-topbar{min-height:92px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.admin-eyebrow{font-size:10px;letter-spacing:.16em;color:var(--accent);font-weight:700}.admin-topbar h1{font-size:25px;margin:5px 0 0;font-weight:750}.admin-user{display:flex;align-items:center;gap:10px}.admin-user strong,.admin-user small{display:block}.admin-user strong{font-size:13px}.admin-user small{font-size:11px;color:var(--muted);margin-top:2px}.avatar{width:36px;height:36px;border-radius:50%;background:#dce8df;color:var(--dark);display:grid;place-items:center;font-weight:800}.admin-content{padding:32px 42px 60px;max-width:1600px}.admin-content .table{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.admin-content .table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf8;border-bottom:1px solid var(--line);white-space:nowrap}.admin-content .table td{font-size:13px;vertical-align:middle}.admin-content .card{border:1px solid var(--line);box-shadow:0 8px 28px rgba(31,54,42,.05)}.admin-content .btn-dark{background:var(--dark);border-color:var(--dark)}.admin-content .btn-primary{background:var(--accent);border-color:var(--accent)}.admin-content .form-control,.admin-content .form-select{border-color:#dce4dd;border-radius:7px;padding:.65rem .75rem;font-size:13px}.admin-content label.form-label{font-size:12px;font-weight:700;color:#526158}.admin-content .alert{border:0;border-radius:8px}.admin-content .table-responsive{border-radius:10px}.admin-page-intro{margin-bottom:24px;color:var(--muted)}

/* Form resource (index.php + form.php) */
.admin-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}
.admin-form-actions{margin-top:20px;display:flex;gap:10px}
.admin-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.admin-image-preview img{max-width:220px;max-height:140px;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin-bottom:8px}
.admin-badge-status-draft{background:#e9edea;color:#5c6b62}
.admin-badge-status-pending{background:#fbe8c9;color:#8a5a10}
.admin-badge-status-published{background:#d9f0e0;color:#1f6d3f}
.admin-drag-handle{cursor:grab;color:#9aa9a1}
tr.is-dragging,.admin-repeater-row.is-dragging,.admin-home-section-card.is-dragging{opacity:.4}

/* Gallery field */
.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:12px}
.admin-gallery-item{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fafbfa}
.admin-gallery-item img{width:100%;height:110px;object-fit:cover;border-radius:6px;margin-bottom:6px}

/* Repeater field (process steps) */
.admin-repeater-row{display:flex;align-items:center;gap:8px;background:#fafbfa;border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px}
.admin-repeater-row .form-control{flex:1;min-width:0}
.admin-repeater-handle{cursor:grab;color:#9aa9a1}

/* Danh sách resource: toolbar tìm kiếm/lọc + phân trang */
.admin-list-toolbar{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-left:0;margin-right:0}
.admin-thumb-empty{width:48px;height:48px;border-radius:6px;border:1px dashed var(--line);display:grid;place-items:center;color:#c3cdc6;background:#fafbfa}
.admin-pagination{margin-top:16px}
.admin-pagination .page-link{color:var(--ink);font-size:13px}
.admin-pagination .page-item.active .page-link{background:var(--accent);border-color:var(--accent);color:#fff}

/* /home-sections page */
.admin-home-section-card{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:4px 16px}
.admin-home-section-card summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 0;cursor:pointer}
.admin-home-section-card summary::-webkit-details-marker{display:none}
.admin-home-section-title{flex:1;font-weight:700;display:flex;align-items:center;gap:10px}
.admin-home-section-caret{transition:transform .2s;color:var(--muted)}
.admin-home-section-card[open] .admin-home-section-caret{transform:rotate(180deg)}



/* Trang nội dung: danh sách lặp */
.admin-pagerepeater-row.is-removed{opacity:.45;background:#fff5f5}
.admin-pagerepeater-row.is-removed .row{pointer-events:none}

/* Danh sách tài nguyên: cột gọn, cột tiêu đề rộng */
.admin-sortable-table{table-layout:auto}
.admin-sortable-table th{white-space:nowrap;font-size:13px;color:var(--muted)}
.admin-sortable-table td{vertical-align:middle}
.admin-col-handle{width:28px}.admin-col-id{width:48px;color:var(--muted)}
.admin-col-title{min-width:240px;max-width:420px;font-weight:600}
.admin-col-text{max-width:240px;font-size:13px;color:#4a5651}
.admin-title-link{color:inherit;text-decoration:none}.admin-title-link:hover{text-decoration:underline}
.admin-thumb{width:64px;height:48px;object-fit:cover}

/* Ô chọn ảnh trực quan */
.admin-imgpick{display:inline-block;max-width:100%}
.admin-imgpick-frame{position:relative;width:260px;max-width:100%;aspect-ratio:16/10;border:2px dashed var(--line);border-radius:12px;background:#f6f8f7;display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:border-color .15s}
.admin-imgpick-frame:hover,.admin-imgpick-frame.is-dragover{border-color:#1d6b57}
.admin-imgpick-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.admin-imgpick-empty{display:none;text-align:center;color:var(--muted);font-size:13px;line-height:1.4}
.admin-imgpick-empty i{display:block;font-size:28px;margin-bottom:6px}
.admin-imgpick.is-empty .admin-imgpick-empty{display:block}
.admin-imgpick-overlay{position:absolute;inset:auto 0 0 0;display:flex;gap:6px;justify-content:center;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .15s}
.admin-imgpick-frame:hover .admin-imgpick-overlay,.admin-imgpick-frame:focus-within .admin-imgpick-overlay{opacity:1}
.admin-imgpick.is-empty .admin-imgpick-overlay [data-imgpick-clear]{display:none}
.admin-imgpick-meta{display:block;margin-top:4px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Tóm tắt khối + mục lặp */
.admin-sec-thumb{width:72px;height:48px;border-radius:8px;border:1px solid var(--line);background:#f6f8f7;display:grid;place-items:center;overflow:hidden;color:#b4bfb9;flex:none}
.admin-sec-thumb img{width:100%;height:100%;object-fit:cover}
.admin-sec-name{display:flex;flex-direction:column;gap:2px}.admin-sec-text{font-weight:400;color:var(--muted);font-size:12px}
.admin-pagerepeater-head{list-style:none;display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer}
.admin-pagerepeater-head::-webkit-details-marker{display:none}
.admin-row-thumb{width:56px;height:40px;border-radius:6px;border:1px solid var(--line);background:#f6f8f7;display:grid;place-items:center;overflow:hidden;color:#b4bfb9;flex:none}
.admin-row-thumb img{width:100%;height:100%;object-fit:cover}
.admin-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.admin-row-actions{display:flex;gap:4px;flex:none}
/* Thư viện ảnh */
.admin-gallery,.admin-gallery-new{display:flex;flex-wrap:wrap;gap:12px}
.admin-gallery-item{position:relative;width:170px;display:flex;flex-direction:column;gap:6px}
.admin-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.admin-gallery-item.is-new img{border-style:dashed}
.admin-gallery-remove{position:absolute;top:6px;right:6px}

/* Trình sửa menu */
.admin-menu-row{display:flex;align-items:center;gap:8px;padding:6px 0}
.admin-menu-row.is-child{margin-left:34px;border-left:3px solid var(--line);padding-left:12px}
.admin-menu-row.is-parent{font-weight:600}
.admin-menu-row .form-control{flex:1;min-width:0}
.admin-menu-group.is-removed,.admin-menu-row.is-removed{opacity:.4;background:#fff5f5}

/* Xem trước bố cục ảnh đội ngũ (cùng lưới với .team-mosaic ở web công khai) */
.admin-team-mosaic{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:22px;gap:8px}
.admin-team-slot{position:relative;overflow:hidden;border-radius:6px;background:#eef1ee;display:block}
.admin-team-slot img{width:100%;height:100%;object-fit:cover;display:block}
.admin-team-slot-num{position:absolute;top:6px;left:6px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center}
.admin-team-slot-edit{position:absolute;inset:auto 0 0 0;background:rgba(0,0,0,.6);color:#fff;font-size:12px;text-align:center;padding:4px;opacity:0;transition:opacity .15s}
.admin-team-slot:hover .admin-team-slot-edit{opacity:1}
.admin-team-slot-01{grid-column:1;grid-row:6/span 8}.admin-team-slot-02{grid-column:2;grid-row:3/span 8}
.admin-team-slot-03{grid-column:2;grid-row:11/span 9}.admin-team-slot-04{grid-column:3;grid-row:1/span 11}
.admin-team-slot-05{grid-column:3;grid-row:12/span 9}.admin-team-slot-06{grid-column:4;grid-row:3/span 10}
.admin-team-slot-07{grid-column:4;grid-row:13/span 5}.admin-team-slot-08{grid-column:5;grid-row:6/span 9}
/* ===== Menu quản trị: nhóm đóng/mở, tìm nhanh, ngăn kéo di động ===== */
.admin-sidebar{position:sticky;top:0;height:100vh;align-self:flex-start;width:272px;flex:0 0 272px;padding:22px 14px 16px}
.admin-brand{padding:2px 10px 16px}
.admin-nav-tools{display:flex;gap:6px;margin:0 2px 10px}
.admin-nav-search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:36px;margin:0;padding:0 10px;color:#9db0a5;background:#2a4136;border:1px solid #3b5146;border-radius:8px;cursor:text}
.admin-nav-search:focus-within{background:#243a2f;border-color:var(--accent)}
.admin-nav-search input{flex:1;min-width:0;padding:0;color:#fff;font-size:13px;background:transparent;border:0;outline:0}
.admin-nav-search input::placeholder{color:#8fa498}
.admin-nav-search input::-webkit-search-cancel-button{display:none}
.admin-nav-search kbd{padding:3px 6px;font:600 10px/1 Inter,ui-sans-serif,system-ui,sans-serif;color:#9db0a5;background:transparent;border:1px solid #4a6355;border-radius:4px}
.admin-nav-collapse{flex:none;width:36px;height:36px;color:#9db0a5;background:#2a4136;border:1px solid #3b5146;border-radius:8px;cursor:pointer}
.admin-nav-collapse:hover,.admin-nav-collapse:focus-visible{color:#fff;border-color:var(--accent)}
.admin-nav{flex:1;min-height:0;display:block;margin:0 -6px;padding:0 6px 8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#46604f transparent}
.admin-nav [hidden]{display:none!important}
.admin-nav-top{margin-bottom:2px}
.admin-nav-section{margin-top:4px}
.admin-nav-group{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px 7px;color:#8ea39a;font:700 10.5px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:0;border-radius:6px;cursor:pointer}
.admin-nav-group:hover,.admin-nav-group:focus-visible{color:#fff}
.admin-nav-group i{font-size:10px;transition:transform .2s}
.admin-nav-section:not(.is-open) .admin-nav-group i{transform:rotate(-90deg)}
.admin-nav-items{display:none;gap:2px}
.admin-nav-section.is-open .admin-nav-items,.admin-nav.is-searching .admin-nav-items{display:grid}
.admin-nav-row{display:flex;align-items:center;gap:2px}
.admin-nav-row .admin-nav-link{flex:1;min-width:0}
.admin-nav-link span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-nav-link.is-parent{color:#fff}
.admin-nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.admin-nav-caret{flex:none;width:30px;height:34px;color:#8fa498;background:transparent;border:0;border-radius:6px;cursor:pointer}
.admin-nav-caret:hover,.admin-nav-caret:focus-visible{color:#fff;background:#2e463a}
.admin-nav-caret i{font-size:10px;transition:transform .2s}
.admin-nav-item:not(.is-open) .admin-nav-caret i{transform:rotate(-90deg)}
.admin-nav-children{display:none;gap:1px;margin:2px 0 5px 22px;padding-left:8px;border-left:1px solid #3b5146}
.admin-nav-item.is-open .admin-nav-children,.admin-nav.is-searching .admin-nav-children{display:grid}
.admin-nav-child{padding:7px 10px;font-size:12.5px}
.admin-nav-child i{width:16px;font-size:12px}
.admin-nav-badge{flex:none;min-width:20px;padding:2px 6px;color:#fff;font-size:11px;font-weight:700;line-height:1.2;text-align:center;background:var(--accent);border-radius:10px}
.admin-nav-empty{margin:14px 12px;color:#8fa498;font-size:12.5px}
.admin-sidebar-footer{margin-top:10px;padding-top:12px;gap:8px}
.admin-topbar{position:sticky;top:0;z-index:30;gap:14px}
.admin-title{flex:1;min-width:0}
.admin-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-eyebrow a{color:inherit;text-decoration:none}
.admin-eyebrow a:hover{text-decoration:underline}
.admin-topbar-actions{display:flex;flex:none;align-items:center;gap:10px}
.admin-add-btn,.admin-view-site{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.admin-menu-toggle{display:none;flex:none;width:42px;height:42px;align-items:center;justify-content:center;color:var(--ink);font-size:18px;background:#fff;border:1px solid var(--line);border-radius:9px;cursor:pointer}
.admin-nav-overlay{position:fixed;inset:0;z-index:1045;background:rgba(10,20,15,.5)}
@media(max-width:991px){
.admin-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1050;width:300px;max-width:88vw;height:auto;flex:none;transform:translateX(-102%);transition:transform .22s ease}
body.admin-nav-open .admin-sidebar{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}
body.admin-nav-open{overflow:hidden}
.admin-menu-toggle{display:inline-flex}
.admin-topbar{min-height:72px;padding:0 16px}
.admin-content{padding:20px 16px 50px}
}
@media(max-width:700px){
.admin-view-site span,.admin-user>span:last-child{display:none}
.admin-topbar h1{font-size:19px}
.admin-topbar-actions{gap:8px}
}
@media(max-width:420px){.admin-add-btn span{display:none}}
@media(prefers-reduced-motion:reduce){.admin-sidebar,.admin-nav-group i,.admin-nav-caret i{transition:none}}
.admin-topbar .btn-primary{color:#fff;background:var(--accent);border-color:var(--accent)}.admin-topbar .btn-primary:hover,.admin-topbar .btn-primary:focus-visible,.admin-topbar .btn-primary.show{color:#fff;background:#a37840;border-color:#a37840}.admin-topbar .btn-outline-secondary{color:var(--ink);border-color:#cfd8d1}.admin-topbar .btn-outline-secondary:hover{color:var(--ink);background:#f1f4f1;border-color:#b9c5bc}.admin-topbar .dropdown-menu{border-color:var(--line);box-shadow:0 12px 32px rgba(31,54,42,.14);font-size:13px}
/* Trang Cấu hình: thanh nhảy nhanh tới từng nhóm */
.admin-settings-nav{position:sticky;top:92px;z-index:20;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:6px;margin:0 0 6px;padding:10px 0 12px;background:var(--paper)}
.admin-settings-nav a{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;color:var(--ink);font-size:12.5px;font-weight:600;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;transition:.15s}
.admin-settings-nav a:hover,.admin-settings-nav a:focus-visible{color:#fff;background:var(--dark);border-color:var(--dark)}
.admin-settings-nav small{color:var(--muted);font-size:11px}
.admin-settings-nav a:hover small,.admin-settings-nav a:focus-visible small{color:#cfe0d6}
.admin-settings-group{scroll-margin-top:150px}
@media(max-width:991px){.admin-settings-nav{top:72px}.admin-settings-group{scroll-margin-top:130px}}
.admin-page-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.admin-block-data{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#f3f6f3;border:1px dashed #cdd8d0;border-radius:8px}

/* Nút ? "ô này hiện ở đâu trên website" + khung chú thích dưới nhãn */
.admin-help-btn{border:0;background:transparent;color:var(--muted);padding:0 4px;margin-left:4px;line-height:1;font-size:.95rem;cursor:pointer;border-radius:50%;vertical-align:baseline}
.admin-help-btn:hover,.admin-help-btn[aria-expanded="true"]{color:var(--accent)}
.admin-help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.admin-help-note{display:block;margin:2px 0 8px;padding:8px 12px;background:#f4f8f5;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-size:.85rem;font-weight:400;line-height:1.5;color:var(--ink)}
.admin-help-note[hidden]{display:none}
.admin-help-note .admin-help-text,.admin-help-note .admin-help-where{display:block}
.admin-help-note .admin-help-where{color:var(--muted);margin-top:2px}
.admin-help-places{margin:4px 0 0;padding-left:18px}
.admin-help-link{display:inline-block;margin-top:4px;margin-right:12px;font-size:.82rem;font-weight:600;color:var(--dark);text-decoration:none}
.admin-help-link:hover{text-decoration:underline}
.admin-help-places .admin-help-link{margin:0 0 0 6px}
.admin-block-where{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:#f4f8f5;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:.88rem}
.admin-block-where > i{color:var(--accent)}
.admin-block-where .admin-help-link{margin:0}
.admin-field-unused .form-control{background:#f1f3f1;opacity:.7}
.admin-field-unused .form-label{color:var(--muted)}

/* Popup xem trước khối trên website */
.admin-preview{width:min(1240px,96vw);height:90vh;max-width:none;max-height:none;padding:0;border:0;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.admin-preview[open]{display:flex;flex-direction:column}
.admin-preview::backdrop{background:rgba(16,28,22,.6)}
.admin-preview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 16px;background:var(--paper);border-bottom:1px solid var(--line)}
.admin-preview-path{color:var(--muted);font-size:.85rem;flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.admin-preview-actions .btn.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.admin-preview-stage{position:relative;flex:1;min-height:0;background:#e9edea;display:flex;justify-content:center}
.admin-preview-stage iframe{border:0;width:100%;height:100%;background:#fff}
.admin-preview-stage.is-mobile iframe{width:390px;max-width:100%;box-shadow:0 0 0 1px var(--line),0 8px 30px rgba(0,0,0,.2)}
.admin-preview-stage iframe[hidden]{display:none}
.admin-preview-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:24px;text-align:center;color:var(--muted);pointer-events:none}
.admin-preview-msg[hidden]{display:none}
@media (max-width:700px){.admin-preview{width:100vw;height:100vh;border-radius:0}.admin-preview-bar{padding:8px 12px}}

/* Xem trước bố cục ghép ảnh (collage-preview.php): ô trống, bố cục có vị trí riêng từng ô, ghép ảnh 6 ô của trang Đội ngũ/Giới thiệu */
.admin-team-slot.is-empty{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#f1f4f1,#f1f4f1 8px,#e8ede9 8px,#e8ede9 16px);border:1.5px dashed #b7c2bb;color:var(--muted)}
.admin-team-slot.is-empty:hover{border-color:var(--accent);color:var(--accent)}
.admin-collage-add{font-size:13px}
.admin-collage-abs{position:relative;width:100%;max-width:1000px;margin:0 auto;background:#f6f8f6;border-radius:8px}
.admin-collage-abs .admin-team-slot{position:absolute;top:var(--t);left:var(--l);width:var(--w);height:var(--h);border-radius:3px}
.admin-collage-abs .admin-team-slot-num{top:3px;left:3px;font-size:10px;min-width:18px;height:18px;border-radius:9px}
.admin-collage-abs .admin-team-slot-edit{display:none}
.admin-teampage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,110px);gap:10px;max-width:760px}
.admin-teampage-slot-a{grid-column:1;grid-row:1}.admin-teampage-slot-b{grid-column:2;grid-row:1/3}.admin-teampage-slot-c{grid-column:3;grid-row:1}
.admin-teampage-slot-d{grid-column:1;grid-row:2}.admin-teampage-slot-e{grid-column:3;grid-row:2/4}.admin-teampage-slot-f{grid-column:1/3;grid-row:3}

/* Trang Cấu hình: nhóm chia thành các khối thông tin (tiêu đề + mô tả + nút xem trước trên website) */
.admin-settings-block{background:#f8faf8;border:1px solid var(--line);border-radius:12px;padding:16px 18px 18px;margin-bottom:16px}
.admin-settings-block.is-plain{background:transparent;border:0;padding:0}
.admin-settings-block-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.admin-settings-block-title{font-size:1rem;font-weight:700;margin:0 0 2px;color:var(--dark)}
.admin-settings-block-hint{font-size:.85rem;color:var(--muted);margin:0;max-width:60ch}
.admin-settings-block-actions{display:flex;flex-wrap:wrap;gap:8px}
.admin-settings-block-actions .admin-help-link{margin:0;font-size:.82rem;font-weight:600}

/* Nhãn ô luôn nằm riêng một dòng phía trên (nhãn ngắn từng bị xếp cùng dòng và rớt xuống đáy khung chọn ảnh) */
.admin-form .form-label,.admin-home-section-card .form-label,.admin-pagerepeater .form-label{display:block}

/* Nhân bản trang: thẻ trang có hàng nút, hộp thoại nhập tên + đường dẫn */
.admin-page-card{display:flex;flex-direction:column}
.admin-page-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px 14px;border-top:1px dashed var(--line)}
.admin-clone-dialog{width:min(520px,94vw);padding:24px;border:0;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.admin-clone-dialog::backdrop{background:rgba(16,28,22,.6)}

/* Thống kê truy cập */
.admin-stats-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px}
.admin-stats-toolbar .btn.is-active{background:var(--dark);color:#fff;border-color:var(--dark)}
.admin-stats-custom{display:flex;align-items:center;gap:6px}
.admin-stats-custom .form-control{width:auto}
.admin-stat-card{padding:14px 16px}
.admin-stat-value{font-size:1.9rem;font-weight:700;line-height:1.2;color:var(--dark)}
.admin-stat-change{display:inline-block;font-size:.78rem;font-weight:600;padding:1px 8px;border-radius:999px;background:#eef1ee;color:var(--muted)}
.admin-stat-change.is-up{background:#d9f0e0;color:#1f6d3f}.admin-stat-change.is-down{background:#fbe3e0;color:#a33a2c}
.admin-stats-legend{display:flex;gap:14px;font-size:.82rem;color:var(--muted)}.admin-stats-legend span{display:inline-flex;align-items:center;gap:6px}
.admin-stats-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.admin-stats-swatch.is-pv{background:#cfe3d6}.admin-stats-swatch.is-uv{background:#1d6b57}
.admin-stats-chart{width:100%;height:auto;display:block}
.admin-stats-chart .grid{stroke:#e6ebe6;stroke-width:1}.admin-stats-chart .tick{fill:#718078;font-size:11px}
.admin-stats-chart .bar{fill:#cfe3d6}.admin-stats-chart .line{fill:none;stroke:#1d6b57;stroke-width:2.2;stroke-linejoin:round}.admin-stats-chart .dot{fill:#1d6b57}
.admin-stats-chart .hit{fill:transparent}.admin-stats-chart .hit:hover{fill:rgba(29,107,87,.07)}
.admin-stats-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:3px;font-size:.9rem}
.admin-stats-meter{height:8px;border-radius:6px;background:#eef1ee;margin-bottom:12px;overflow:hidden}.admin-stats-meter i{display:block;height:100%;border-radius:6px;background:#1d6b57}
.admin-stats-meter i.src-search{background:#3b82f6}.admin-stats-meter i.src-social{background:#e0782a}.admin-stats-meter i.src-ads{background:#b88b51}.admin-stats-meter i.src-referral{background:#8a6fc9}.admin-stats-meter i.src-direct{background:#1d6b57}.admin-stats-meter i.dev{background:#3f7df0}
.admin-stats-minibar{display:block;height:8px;border-radius:6px;background:#eef1ee;overflow:hidden}.admin-stats-minibar i{display:block;height:100%;background:#1d6b57}
.admin-stats-bar-col{width:22%;min-width:70px}
.admin-stats-hours{width:100%;height:auto;display:block}.admin-stats-hours .bar{fill:#cfe3d6}.admin-stats-hours .bar.is-peak{fill:#1d6b57}.admin-stats-hours .tick{fill:#718078;font-size:10px}
.admin-stats-note{background:#f8faf8}
