:root {
    --tblr-bg-surface: #fff;
    --tblr-body-color: #27364b;
    --tblr-emphasis-color: #182433;
    --tblr-secondary: #718096;
    --tblr-primary: #16baaa;
    --tblr-primary-lt: #e8f8f5;
    --tblr-font-monospace: ui-monospace, SFMono-Regular, Consolas, monospace;
    --admin-sidebar-width: 240px;
    --admin-border: #e6eaf0;
    --admin-page: #f5f7fb;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--admin-page); color: var(--tblr-body-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; }
body.pear-modal-open { overflow: hidden; }
a { color: inherit; }
.page { min-height: 100vh; display: flex; }
.page-wrapper { min-width: 0; flex: 1; display: flex; flex-direction: column; margin-left: var(--admin-sidebar-width); }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--admin-sidebar-width); z-index: 30; overflow-y: auto; color: #d8e2ef; background: #202d3b; box-shadow: 2px 0 18px rgb(15 23 42 / 12%); }
.admin-sidebar .container-fluid { min-height: 100%; padding: 22px 16px; }
.navbar-brand { display: block; margin: 0 0 26px; padding: 0 8px; }
.navbar-brand a { color: #fff; text-decoration: none; }
.brand-link { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; }
.brand-mark { display: inline-grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: #16baaa; color: #fff; box-shadow: 0 6px 14px rgb(22 186 170 / 28%); }
.navbar-nav { display: grid; gap: 4px; padding: 0; margin: 0; list-style: none; }
.nav-section-label { margin: 20px 8px 6px; color: #8094a8; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.nav-link { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 11px; border-radius: 8px; color: #bccbd9; text-decoration: none; transition: background .18s ease, color .18s ease; }
.nav-link:hover, .nav-link.active { color: #fff; background: rgb(22 186 170 / 18%); }
.nav-link.active { box-shadow: inset 3px 0 #16baaa; }
.nav-link-icon { display: inline-flex; width: 20px; color: currentColor; }
.nav-link-icon svg, .btn svg, .alert svg, .modal-title svg { width: 17px; height: 17px; stroke-width: 1.9; }
.nav-link-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-topbar { min-height: 68px; display: flex; align-items: center; padding: 0 28px; background: #fff; border-bottom: 1px solid var(--admin-border); }
.admin-menu-toggle { display: none; }
.admin-topbar .container-fluid { width: 100%; display: flex; align-items: center; gap: 16px; }
.admin-topbar form { margin-left: auto; }
.page-body { flex: 1; padding: 26px 28px 40px; }
.container-xl, .container-fluid { width: 100%; margin: 0 auto; }
.container-xl { max-width: 1480px; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.page-title { margin: 3px 0 6px; color: #1f2937; font-size: 25px; line-height: 1.25; font-weight: 700; }
.text-secondary { color: var(--tblr-secondary) !important; }
.small { font-size: 12px; }
.fw-semibold { font-weight: 600; }
.fw-bold { font-weight: 700; }
.card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--admin-border); border-radius: 10px; box-shadow: 0 4px 16px rgb(15 23 42 / 4%); }
.card-header, .card-footer { padding: 16px 20px; border-color: var(--admin-border); background: #fff; }
.card-body { padding: 20px; }
.card-title { margin: 0; font-size: 17px; font-weight: 700; }
.row { display: flex; flex-wrap: wrap; margin: -8px; }
.row > * { width: 100%; padding: 8px; }
.row-cards { row-gap: 0; }
.col, .col-xl { flex: 1 0 0%; }
.col-auto { width: auto; flex: 0 0 auto; }
.col-6 { width: 50%; }.col-12 { width: 100%; }
.col-sm-6 { width: 50%; }.col-md-2 { width: 16.6667%; }.col-md-3 { width: 25%; }.col-md-4 { width: 33.3333%; }.col-md-5 { width: 41.6667%; }.col-md-6 { width: 50%; }.col-md-7 { width: 58.3333%; }.col-md-8 { width: 66.6667%; }.col-md-9 { width: 75%; }
.col-lg-2 { width: 16.6667%; }.col-lg-3 { width: 25%; }.col-lg-6 { width: 50%; }.col-lg-7 { width: 58.3333%; }.col-xl-2 { width: 16.6667%; }.col-xl-3 { width: 25%; }.col-xl-4 { width: 33.3333%; }.col-xl-6 { width: 50%; }.col-xl-8 { width: 66.6667%; }
.d-flex { display: flex !important; }.d-grid { display: grid !important; }.d-none { display: none !important; }.d-block { display: block !important; }.d-print-none { display: block; }
.align-items-center { align-items: center !important; }.align-items-end { align-items: flex-end !important; }.justify-content-between { justify-content: space-between !important; }.justify-content-end { justify-content: flex-end !important; }.flex-wrap { flex-wrap: wrap !important; }.ms-auto { margin-left: auto !important; }.me-auto { margin-right: auto !important; }
.gap-1 { gap: 4px !important; }.gap-2 { gap: 8px !important; }.gap-3 { gap: 12px !important; }.gap-4 { gap: 16px !important; }
.m-0 { margin: 0 !important; }.m-3 { margin: 16px !important; }.mb-0 { margin-bottom: 0 !important; }.mb-1 { margin-bottom: 4px !important; }.mb-2 { margin-bottom: 8px !important; }.mb-3 { margin-bottom: 16px !important; }.mt-1 { margin-top: 4px !important; }.mt-2 { margin-top: 8px !important; }.mt-3 { margin-top: 16px !important; }.ms-1 { margin-left: 4px !important; }.ms-2 { margin-left: 8px !important; }.p-0 { padding: 0 !important; }.p-2 { padding: 8px !important; }.p-3 { padding: 16px !important; }.p-4 { padding: 24px !important; }.py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }.py-4 { padding-top: 24px !important; padding-bottom: 24px !important; }.py-5 { padding-top: 48px !important; padding-bottom: 48px !important; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 0 14px; border: 1px solid transparent; border-radius: 7px; font: inherit; font-size: 13px; font-weight: 600; line-height: 1; text-decoration: none; cursor: pointer; transition: filter .16s ease, background .16s ease, border-color .16s ease; }
.btn:hover { filter: brightness(.96); }.btn:disabled { cursor: not-allowed; opacity: .55; }.btn-sm { min-height: 30px; padding: 0 10px; font-size: 12px; }.btn-primary { background: #16baaa; border-color: #16baaa; color: #fff; }.btn-success { background: #2fb344; border-color: #2fb344; color: #fff; }.btn-danger { background: #d63939; border-color: #d63939; color: #fff; }.btn-warning { background: #f59f00; border-color: #f59f00; color: #fff; }.btn-outline-primary { color: #109e91; border-color: #16baaa; background: #fff; }.btn-outline-secondary { color: #607083; border-color: #cbd5e1; background: #fff; }.btn-outline-danger { color: #d63939; border-color: #e6a3a3; background: #fff; }.btn-outline-success { color: #258c37; border-color: #9bd5a5; background: #fff; }.btn-outline-warning { color: #b26a00; border-color: #f0c26e; background: #fff; }.btn-link { border: 0; background: none; color: #0e9f91; }.btn-icon { width: 36px; padding: 0; }
.btn-close { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 7px; background: transparent; cursor: pointer; position: relative; }.btn-close::before, .btn-close::after { content: ""; position: absolute; left: 9px; top: 15px; width: 14px; height: 2px; background: #738297; transform: rotate(45deg); }.btn-close::after { transform: rotate(-45deg); }.btn-close:hover { background: #f0f3f7; }
.form-label { display: block; margin-bottom: 6px; color: #526274; font-size: 12px; font-weight: 600; }.form-control, .form-select { display: block; width: 100%; min-height: 38px; padding: 8px 11px; border: 1px solid #d7dee8; border-radius: 7px; outline: 0; background: #fff; color: #26364a; font: inherit; font-size: 13px; }.form-control:focus, .form-select:focus { border-color: #16baaa; box-shadow: 0 0 0 3px rgb(22 186 170 / 12%); }.form-control-sm, .form-select-sm { min-height: 31px; padding: 5px 8px; font-size: 12px; }.form-control-lg { min-height: 44px; font-size: 15px; }.form-hint { margin-top: 5px; color: #8492a6; font-size: 11px; }.form-check { display: flex; align-items: center; gap: 8px; min-height: 24px; }.form-check-input { width: 16px; height: 16px; margin: 0; accent-color: #16baaa; }.form-check-label { font-size: 13px; }.form-switch .form-check-input { width: 32px; border-radius: 999px; }
.input-group { display: flex; width: 100%; }.input-group > * { border-radius: 0; }.input-group > :first-child { border-radius: 7px 0 0 7px; }.input-group > :last-child { border-radius: 0 7px 7px 0; }.input-group-text { display: flex; align-items: center; padding: 0 11px; border: 1px solid #d7dee8; background: #f7f9fb; color: #738297; }.input-icon { position: relative; }.input-icon .form-control { padding-left: 34px; }.input-icon-addon { position: absolute; z-index: 1; top: 0; bottom: 0; left: 10px; display: inline-flex; align-items: center; color: #8290a2; }
.table-responsive { width: 100%; overflow-x: auto; }.table { width: 100%; border-collapse: collapse; color: inherit; font-size: 13px; }.table th, .table td { padding: 11px 12px; border-bottom: 1px solid #edf0f4; text-align: left; vertical-align: middle; }.table th { color: #607083; font-weight: 700; font-size: 12px; white-space: nowrap; }.table-hover tbody tr:hover { background: #f8fbfb; }.table-sm th, .table-sm td { padding: 7px 9px; }.table-vcenter th, .table-vcenter td { vertical-align: middle; }.text-end { text-align: right !important; }.text-center { text-align: center !important; }.text-nowrap { white-space: nowrap !important; }.text-wrap { white-space: normal !important; }.text-danger { color: #d63939 !important; }.text-success { color: #2fb344 !important; }.text-warning { color: #b26a00 !important; }.text-dark { color: #182433 !important; }.w-100 { width: 100% !important; }
.badge { display: inline-flex; align-items: center; min-height: 22px; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }.bg-green-lt, .bg-success-lt { background: #e9f8ed; color: #258c37; }.bg-blue-lt, .bg-primary-lt { background: #e8f8f5; color: #0e9f91; }.bg-red-lt { background: #fff0f0; color: #c52d2d; }.bg-yellow-lt, .bg-orange-lt { background: #fff6df; color: #9a6500; }.bg-azure-lt { background: #eaf5ff; color: #1877ba; }.bg-secondary-lt { background: #eef1f5; color: #607083; }.text-bg-secondary { background: #eef1f5; color: #607083; }
.alert { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border: 1px solid transparent; border-radius: 8px; font-size: 13px; }.alert-success { background: #eaf8ed; border-color: #b9e5c1; color: #237c33; }.alert-danger { background: #fff0f0; border-color: #f0bcbc; color: #b52d2d; }.alert-warning { background: #fff7e3; border-color: #f4d48c; color: #8d5e00; }.alert-info { background: #eaf5ff; border-color: #b9daf5; color: #216b9c; }.alert-dismissible { padding-right: 42px; position: relative; }.alert-dismissible .btn-close { position: absolute; right: 7px; top: 7px; }
.list-group { display: flex; flex-direction: column; padding: 0; margin: 0; list-style: none; }.list-group-item { padding: 12px 14px; border-bottom: 1px solid #edf0f4; background: #fff; }.list-group-item:last-child { border-bottom: 0; }
.modal { position: fixed; z-index: 1050; inset: 0; display: none; overflow-x: hidden; overflow-y: auto; padding: 24px; outline: 0; }.modal.show { display: block; }.modal-dialog { position: relative; width: auto; max-width: 540px; min-height: calc(100% - 48px); margin: 0 auto; display: flex; align-items: center; }.modal-dialog.modal-lg { max-width: 800px; }.modal-dialog.modal-xl { max-width: 1180px; }.modal-dialog.modal-md { max-width: 540px; }.modal-dialog-scrollable .modal-content { max-height: calc(100vh - 48px); }.modal-dialog-centered { align-items: center; }.modal-content { width: 100%; overflow: hidden; border: 1px solid var(--admin-border); border-radius: 12px; background: #fff; box-shadow: 0 22px 70px rgb(15 23 42 / 25%); }.modal-header, .modal-footer { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--admin-border); }.modal-header { justify-content: space-between; }.modal-footer { justify-content: flex-end; border-top: 1px solid var(--admin-border); border-bottom: 0; }.modal-body { padding: 20px; overflow: auto; }.modal-title { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-size: 17px; font-weight: 700; }.modal-blur { backdrop-filter: blur(2px); }.pear-modal-backdrop { position: fixed; z-index: 1040; inset: 0; background: rgb(15 23 42 / 48%); }
.dropdown { position: relative; }.dropdown-menu { position: absolute; z-index: 1070; top: calc(100% + 5px); right: auto; min-width: 190px; display: none; padding: 6px; border: 1px solid var(--admin-border); border-radius: 9px; background: #fff; box-shadow: 0 16px 35px rgb(15 23 42 / 15%); }.dropdown-menu.show { display: block; }.dropdown-menu-end { right: 0; }.dropdown-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: #42536a; font: inherit; font-size: 13px; text-align: left; text-decoration: none; cursor: pointer; }.dropdown-item:hover { background: #edf8f6; color: #0e9f91; }.dropdown-divider { height: 1px; margin: 6px 0; background: #edf0f4; }
.nav-tabs { display: flex; gap: 4px; padding: 0; margin: 0; list-style: none; border-bottom: 1px solid var(--admin-border); }.nav-tabs .nav-link { min-height: 40px; padding: 0 12px; border-radius: 6px 6px 0 0; color: #718096; background: transparent; }.nav-tabs .nav-link.active { color: #0e9f91; background: #edf8f6; box-shadow: inset 0 -2px #16baaa; }.tab-content { min-width: 0; }.tab-pane { display: none; }.tab-pane.show, .tab-pane.active { display: block; }
.collapse { display: none; }.collapse.show { display: block; }.navbar-toggler { display: none; }.spinner-border { display: inline-block; width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pear-spin .65s linear infinite; }.spinner-border-sm { width: .8rem; height: .8rem; }
.admin-sidebar .collapse { display: block; }
.page-titlebar, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.empty-state { padding: 22px; border: 1px dashed #ced8e4; border-radius: 8px; background: #fbfcfd; color: #8090a3; text-align: center; }.border { border: 1px solid var(--admin-border) !important; }.rounded { border-radius: 8px !important; }.h-100 { height: 100% !important; }.position-relative { position: relative !important; }.overflow-auto { overflow: auto !important; }.sticky-top { position: sticky; top: 0; z-index: 5; }
.config-section-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--admin-border); }.config-section-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; color: #718096; border-bottom: 2px solid transparent; text-decoration: none; font-size: 13px; font-weight: 600; }.config-section-tabs a:hover, .config-section-tabs a.active { color: #0e9f91; border-bottom-color: #16baaa; }
@keyframes pear-spin { to { transform: rotate(360deg); } }
@media (max-width: 991px) { :root { --admin-sidebar-width: 0px; }.admin-sidebar { transform: translateX(-100%); transition: transform .2s ease; }.admin-sidebar.show { transform: translateX(0); }.admin-sidebar .collapse:not(.show) { display: none; }.admin-sidebar .collapse.show, .admin-sidebar.show .collapse { display: block; }.page-wrapper { margin-left: 0; }.navbar-toggler { display: inline-flex; }.admin-menu-toggle { display: inline-flex; }.page-body { padding: 20px 16px 32px; }.col-lg-2, .col-lg-3, .col-lg-6, .col-lg-7, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-6, .col-xl-8 { width: 50%; } }
@media (max-width: 767px) { .admin-topbar { padding: 0 16px; }.page-title { font-size: 22px; }.col-sm-6, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-lg-2, .col-lg-3, .col-lg-6, .col-lg-7, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-6, .col-xl-8 { width: 100%; }.modal { padding: 12px; }.modal-dialog { min-height: calc(100% - 24px); }.modal-dialog-scrollable .modal-content { max-height: calc(100vh - 24px); }.page-header { flex-direction: column; } }
