/* Admin panel - scoped visual layer */
.admin-page-title { align-items: center; margin-bottom: 18px; padding: 12px 14px; }
.admin-page-title .header-title { padding-block: 8px; }
.admin-page-title .header-title::before { inset-block: 8px; }
.admin-page-title h1 { margin: 3px 0 2px; font-family: var(--font-main-bolder); letter-spacing: -.5px; }
.admin-page-title .header-title p { margin: 2px 0 0; font-size: .76rem; }
.admin-eyebrow, .admin-section-kicker { color: var(--primary); font: 700 .68rem/1.4 var(--font-main-bold); letter-spacing: .08em; text-transform: uppercase; }
.admin-eyebrow { display: inline-flex; align-items: center; gap: 6px; }
.admin-page-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 12px 28px color-mix(in srgb, var(--primary) 24%, transparent); font-size: 1.35rem; }
.admin-panel-card { border: 1px solid var(--border); border-radius: 22px; background: var(--surface-solid); box-shadow: var(--ui-shadow, 0 12px 30px rgba(15,23,42,.06)); overflow: hidden; }
.admin-panel-card > .card-body { padding: 0; }
.admin-panel-tabs { display: flex; gap: 4px; padding: 12px 16px 0; border-bottom: 1px solid var(--border); background: var(--surface-alt); }
.admin-panel-tabs .nav-link { display: inline-flex; align-items: center; gap: 8px; border: 0; border-bottom: 2px solid transparent; padding: 13px 14px 12px; color: var(--muted); background: transparent; font: 700 .78rem var(--font-main-bold); transition: var(--ui-transition, 220ms ease); }
.admin-panel-tabs .nav-link:hover { color: var(--primary); }
.admin-panel-tabs .nav-link.active { color: var(--primary); border-bottom-color: var(--primary); background: var(--surface-solid); }
.admin-panel-tabs .nav-link i { font-size: 1rem; }
.admin-panel-content { padding: 26px; min-height: 310px; }
.admin-resource-head { gap: 18px; margin-bottom: 22px; }
.admin-resource-head h2 { margin: 5px 0 3px; font: 700 1.15rem var(--font-main-bolder); }
.admin-resource-head p { margin: 0; color: var(--muted); font-size: .76rem; }
.admin-primary-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 39px; padding: 0 14px; border: 0; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-2)); box-shadow: 0 10px 20px color-mix(in srgb, var(--primary) 20%, transparent); font: 700 .76rem var(--font-main-bold); transition: transform var(--ui-transition, 220ms ease), box-shadow var(--ui-transition, 220ms ease); }
.admin-primary-btn:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 14px 25px color-mix(in srgb, var(--primary) 28%, transparent); }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 16px; }
.admin-resource-panel .datatable-wrapper { width: 100%; }
.admin-resource-panel .datatable-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface-alt) 35%, transparent); }
.admin-resource-panel .datatable-dropdown { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .7rem; }
.admin-resource-panel .datatable-selector { width: 72px; min-height: 36px; padding: 0 9px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: var(--surface-solid); font-size: .75rem; }
.admin-resource-panel .datatable-search { width: min(310px, 100%); position: relative; }
.admin-resource-panel .datatable-search::before { content: "\\f52a"; position: absolute; inset-inline-start: 11px; inset-block-start: 50%; z-index: 1; color: var(--muted); font: 1rem/1 "bootstrap-icons"; transform: translateY(-50%); pointer-events: none; }
.admin-resource-panel .datatable-input { width: 100%; min-height: 37px; padding: 8px 12px 8px 35px; border: 1px solid var(--border); border-radius: 11px; outline: 0; color: var(--text); background: var(--surface-solid); font-size: .7rem !important; }
.admin-resource-panel .datatable-input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.admin-resource-panel .datatable-container { border: 0; }
.admin-resource-panel .datatable-table { width: 100%; min-width: 620px; margin: 0; color: var(--text); border-collapse: separate; border-spacing: 0; }
.admin-resource-panel .datatable-table thead th { height: 46px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--border); background: var(--surface-alt); color: var(--muted); font: 700 .7rem var(--font-main-bold); white-space: nowrap; }
.admin-resource-panel .datatable-table tbody td { min-height: 58px; padding: 11px 12px; border: 0; border-bottom: 1px solid var(--border); color: var(--text); background: var(--surface-solid); font-size: .75rem; vertical-align: middle; }
.admin-resource-panel .datatable-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--surface-alt) 25%, var(--surface-solid)); }
.admin-resource-panel .datatable-table tbody tr:hover td { background: color-mix(in srgb, var(--primary-soft) 38%, var(--surface-solid)); }
.admin-resource-panel .datatable-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; }
.admin-resource-panel .datatable-info { color: var(--muted) !important; font-size: .7rem !important; }
.admin-resource-panel .datatable-pagination-list { display: flex; align-items: center; gap: 5px; }
.admin-resource-panel .datatable-pagination-list li a { min-width: 31px; height: 31px; display: grid; place-items: center; padding: 0 7px; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); background: var(--surface-solid); font-size: .7rem; }
.admin-resource-panel .datatable-pagination-list li.active a, .admin-resource-panel .datatable-pagination-list li a:hover { color: #fff; border-color: var(--primary); background: var(--primary); }
.admin-resource-panel .table .btn { width: 31px; height: 31px; padding: 0; border-radius: 9px; }
.admin-resource-panel .modal-content { border: 1px solid var(--border); border-radius: 20px; background: var(--surface-solid); color: var(--text); box-shadow: 0 24px 70px rgba(15,23,42,.2); }
.admin-resource-panel .modal-header { padding: 20px 22px 8px; }
.admin-resource-panel .modal-title { font: 700 1rem var(--font-main-bolder); }
.admin-resource-panel .modal-body { padding: 14px 22px 22px; }
.admin-resource-panel .form-label { margin-bottom: 6px; color: var(--muted); font: 700 .72rem var(--font-main-bold); }
.admin-resource-panel .form-control, .admin-resource-panel .form-select { min-height: 40px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: var(--surface-alt); font-size: .78rem; }
.admin-resource-panel .form-control:focus, .admin-resource-panel .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 13%, transparent); }
.admin-overview { display: grid; gap: 22px; }
.admin-welcome { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px; border: 1px solid color-mix(in srgb, var(--primary) 15%, var(--border)); border-radius: 18px; background: linear-gradient(120deg, color-mix(in srgb, var(--primary) 9%, var(--surface-solid)), var(--surface-solid)); }
.admin-welcome h2 { margin: 8px 0 5px; font: 700 1.25rem var(--font-main-bolder); }
.admin-welcome p { margin: 0; color: var(--muted); font-size: .78rem; }
.admin-welcome-icon, .admin-empty-icon { width: 52px; height: 52px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 17px; color: var(--primary); background: var(--primary-soft); font-size: 1.35rem; }
.admin-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.admin-feature-card { display: grid; grid-template-columns: auto 1fr; column-gap: 11px; align-items: center; padding: 15px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-solid); }
.admin-feature-card strong { font: 700 .8rem var(--font-main-bold); }
.admin-feature-card > span:last-child { grid-column: 2; color: var(--muted); font-size: .68rem; }
.admin-feature-icon { grid-row: span 2; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; font-size: 1rem; }
.admin-feature-icon.blue { color: var(--primary); background: var(--primary-soft); } .admin-feature-icon.violet { color: #7c3aed; background: #f3e8ff; } .admin-feature-icon.teal { color: #0f9f92; background: #dff8f3; }
.admin-empty-state { display: grid; justify-items: center; text-align: center; padding: 46px 20px; }
.admin-empty-state h3 { margin: 14px 0 5px; font: 700 1rem var(--font-main-bolder); }
.admin-empty-state p { margin: 0; color: var(--muted); font-size: .76rem; }
@media (max-width: 700px) { .admin-panel-content { padding: 18px 14px; } .admin-panel-tabs { overflow-x: auto; padding-inline: 8px; } .admin-panel-tabs .nav-link { padding-inline: 10px; } .admin-panel-tabs .nav-link span { display: none; } .admin-resource-head { align-items: flex-start; flex-direction: column; } .admin-feature-grid { grid-template-columns: 1fr; } .admin-welcome { align-items: flex-start; } }
