html.ams-theme-initializing body {
    visibility: hidden;
}

html.ams-theme-initializing {
    background: #f8fafc;
}

html.ams-dark.ams-theme-initializing {
    background: #0f172a;
}
/* 全局样式 */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    background: var(--ams-bg-gradient);
    background-attachment: fixed;
    color: var(--ams-text);
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

:root {
    /* 基础背景与容�?*/
    --ams-bg: #f8fafc;
    --ams-bg-gradient: radial-gradient(circle at 12% 8%, rgba(37, 99, 235, 0.08), transparent 30%), radial-gradient(circle at 88% 6%, rgba(14, 165, 233, 0.09), transparent 28%), linear-gradient(180deg, #f8fbff 0%, #f1f7ff 45%, #f8fafc 100%);
    --ams-card: #ffffff;
    --ams-card-soft: rgba(255, 255, 255, 0.96);
    --ams-border: #e2e8f0;
    
    /* 文字颜色 */
    --ams-text: #111827;
    --ams-text-body: #374151;
    --ams-muted: #6b7280;
    
    /* 品牌与功能色 */
    --ams-primary: #2563eb;
    --ams-primary-hover: #1d4ed8;
    --ams-success: #10b981;
    --ams-danger: #ef4444;
    --ams-warning: #f59e0b;
    
    /* 导航栏专�?(Brand Dark) */
    --ams-nav-bg: #111827;
    --ams-nav-item-hover: rgba(255, 255, 255, 0.08);
    --ams-nav-item-active: rgba(255, 255, 255, 0.12);
    
    /* 视觉细节 */
    --ams-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    --ams-shadow-lg: 0 18px 42px rgba(15, 23, 42, 0.08);
    --ams-radius: 14px;
    --ams-radius-sm: 10px;
    --ams-control-h: 38px;
    --ams-focus-ring: rgba(37, 99, 235, 0.24);
    --ams-surface-muted: #f8fafc;
}

.text-gray-900 { color: #111827 !important; }
.text-gray-700 { color: #374151 !important; }
.text-gray-600 { color: #4b5563 !important; }
.text-gray-500 { color: #6b7280 !important; }
.text-gray-400 { color: #9ca3af !important; }
.text-gray-300 { color: #d1d5db !important; }
.bg-gray-50 { background-color: #f9fafb !important; }
.bg-gray-100 { background-color: #f3f4f6 !important; }
.border-gray-50 { border-color: #f9fafb !important; }
.border-gray-100 { border-color: #f3f4f6 !important; }
.border-gray-200 { border-color: #e5e7eb !important; }
.font-bold { font-weight: 700 !important; }
.font-semibold { font-weight: 600 !important; }
.font-medium { font-weight: 500 !important; }
.text-xs { font-size: 0.75rem !important; line-height: 1rem !important; }
.text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; }
.text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.text-xl { font-size: 1.25rem !important; line-height: 1.75rem !important; }
.text-4xl { font-size: 2.25rem !important; line-height: 2.5rem !important; }
.flex { display: flex !important; }
.items-center { align-items: center !important; }
.gap-2 { gap: 0.5rem !important; }
.space-y-4 > * + * { margin-top: 1rem !important; }
.mb-6 { margin-bottom: 1.5rem !important; }
.border-dashed { border-style: dashed !important; }
.border-2 { border-width: 2px !important; }
.object-cover { object-fit: cover !important; }
.cursor-zoom-in { cursor: zoom-in; }

.btn,
.badge {
    white-space: nowrap;
}

.card,
.modal-content {
    border-radius: var(--ams-radius);
    border-color: var(--ams-border);
    background: var(--ams-card-soft);
}

.modal {
    z-index: 3100 !important;
}

.modal-backdrop {
    z-index: 3090 !important;
    background-color: #0b1220;
}

.modal-backdrop.show {
    opacity: 0.55;
}

.modal-content {
    background: var(--ams-card-soft);
    border: none;
    box-shadow: var(--ams-shadow-lg);
}

.modal-header {
    border-bottom: 1px solid var(--ams-border);
    padding: 1.25rem 1.5rem;
}

.modal-footer {
    border-top: 1px solid var(--ams-border);
    padding: 1rem 1.5rem;
}

.modal-body {
    padding: 1.5rem;
}

.modal-title {
    font-weight: 600;
}

.card {
    box-shadow: var(--ams-shadow);
    transition: box-shadow 0.2s;
}

.interactive-card:hover,
.capture-room-card:hover {
    box-shadow: var(--ams-shadow-lg);
}

.table-responsive {
    background: var(--ams-card);
    border: 1px solid var(--ams-border);
    border-radius: var(--ams-radius);
}

.table {
    margin-bottom: 0;
}

.table thead th {
    background-color: #f8fafc;
    color: #64748b;
    font-weight: 600;
    font-size: 0.8rem;
}

.assets-table-freeze {
    max-height: calc(100vh - 260px);
    overflow: auto !important;
    position: relative;
}

.assets-table-freeze thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    background-color: #f8fafc !important;
    box-shadow: inset 0 -1px 0 var(--ams-border);
}

.assets-table-freeze thead th:first-child {
    z-index: 51 !important;
}

.form-control,
.form-select {
    border-radius: 10px;
    min-height: var(--ams-control-h);
}

.form-control:not(textarea) {
    height: var(--ams-control-h);
}

.btn {
    border-radius: 10px;
    min-height: var(--ams-control-h);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.btn-sm {
    min-height: 32px;
}

.btn:focus-visible,
.nav-item:focus-visible,
.sidebar-item:focus-visible,
.user-menu-btn:focus-visible,
.mobile-menu-btn:focus-visible,
.sidebar-close:focus-visible,
.dropdown-item:focus-visible,
.form-control:focus,
.form-select:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem var(--ams-focus-ring);
}

.btn-primary {
    background: linear-gradient(135deg, var(--ams-primary), var(--ams-primary-hover));
    border-color: var(--ams-primary);
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, var(--ams-primary-hover), #1e40af);
    border-color: var(--ams-primary-hover);
    color: #ffffff;
}

.btn-outline-secondary {
    color: var(--ams-text-body);
    border-color: var(--ams-border);
    background-color: #ffffff;
}

.btn-outline-secondary:hover {
    background-color: #f9fafb;
    border-color: #d1d5db;
    color: var(--ams-text);
}

.btn-danger {
    background-color: var(--ams-danger);
    border-color: var(--ams-danger);
}

.btn-danger:hover {
    background-color: #dc2626;
    border-color: #dc2626;
}

.btn-outline-danger {
    color: var(--ams-danger);
    border-color: var(--ams-danger);
}

.btn-outline-danger:hover {
    background-color: var(--ams-danger);
    color: #ffffff;
}

.ams-input-compact {
    width: 280px;
    max-width: 100%;
}

.ams-action-link {
    color: var(--ams-primary);
    text-decoration: none;
    font-weight: 500;
}

.ams-action-link:hover {
    color: var(--ams-primary-hover);
    text-decoration: none;
}

.ams-action-link-danger {
    color: var(--ams-danger);
}

.ams-action-link-danger:hover {
    color: #dc2626;
}

.ams-account-org-input {
    max-width: 280px;
}

@media (max-width: 575.98px) {
    .ams-account-org-input {
        width: 100%;
    }
}

/* 顶部工具栏样�?*/
.top-toolbar {
    background: #111827;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 56px;
}

.toolbar-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    gap: 14px;
    min-width: 0;
}

/* 左侧品牌区域 */
.toolbar-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto;
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 8px;
    border-radius: 6px;
    transition: background-color 0.3s;
}

.mobile-menu-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.brand-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: white;
    text-decoration: none;
}

.brand-logo i {
    font-size: 24px;
}

.brand-text {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* 中央导航区域 */
.toolbar-nav {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
}

.nav-group {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    border: none;
    background: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
}

.nav-item:hover {
    color: #ffffff;
    background-color: var(--ams-nav-item-hover);
}

.nav-item.active {
    background-color: var(--ams-nav-item-active);
    color: #ffffff;
}

.nav-item i {
    font-size: 16px;
}

.quick-add-btn {
    background-color: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.quick-add-btn:hover {
    background-color: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
}

/* 下拉菜单样式 */
.nav-dropdown {
    position: relative;
}

.nav-more-dropdown {
    display: none;
}

.toolbar-nav.nav-compact-more .nav-promoted-item {
    display: none;
}

.toolbar-nav.nav-compact-more .nav-more-dropdown {
    display: block;
}

.dropdown-toggle::after {
    display: none;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    border: none;
    padding: 8px 0;
    min-width: 180px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    z-index: 1001;
}

.dropdown-menu.dropdown-menu-end {
    left: auto;
    right: 0;
}

.dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 16px;
    color: #495057;
    text-decoration: none;
    transition: all 0.2s;
    font-size: 14px;
    border: 0;
    background: transparent;
    text-align: left;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
    color: var(--ams-primary);
}

.dropdown-item i {
    font-size: 14px;
    width: 16px;
}

.dropdown-divider {
    margin: 8px 0;
    border-color: #e9ecef;
}

/* 右侧用户区域 */
.toolbar-user {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 1 auto;
    min-width: 0;
}

.theme-toggle-btn-simple {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
    transition: all 0.2s ease;
    cursor: pointer;
}

.theme-toggle-btn-simple:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    transform: translateY(-1px);
}

.theme-toggle-btn-simple:focus-visible {
    outline: 2px solid rgba(122, 162, 255, 0.7);
    outline-offset: 2px;
}

.theme-toggle-icon {
    font-size: 18px;
    transition: transform 0.2s ease, color 0.2s ease;
}

body.ams-light .theme-toggle-btn-simple .theme-toggle-icon {
    color: rgba(255, 255, 255, 0.88);
}

body.ams-dark .theme-toggle-btn-simple .theme-toggle-icon {
    color: #f59e0b;
}

.theme-toggle-icon-sun,
.theme-toggle-icon-moon {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.theme-toggle-icon-sun {
    -webkit-mask-image: url('/static/images/theme-toggle-sun.svg');
    mask-image: url('/static/images/theme-toggle-sun.svg');
}

.theme-toggle-icon-moon {
    -webkit-mask-image: url('/static/images/theme-toggle-moon.svg');
    mask-image: url('/static/images/theme-toggle-moon.svg');
}

.theme-toggle-icon-sun,
.theme-toggle-icon-moon {
    opacity: 1;
    transform: scale(1);
    transform-origin: center;
    transition: opacity 0.24s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-toggle-action {
    width: 100%;
    justify-content: flex-start;
    gap: 10px;
}

 body.ams-light .theme-toggle-action {
    color: #0f172a;
 }

 body.ams-light .theme-toggle-action:hover {
    background: #eff6ff;
    color: #1d4ed8;
 }

.theme-toggle-action .theme-toggle-icon {
    position: relative;
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    overflow: hidden;
    line-height: 1;
}

body.ams-light .theme-toggle-action .theme-toggle-icon-sun,
body.ams-dark .theme-toggle-action .theme-toggle-icon-moon {
    opacity: 0;
    transform: scale(0.7);
}

body.ams-light .theme-toggle-action .theme-toggle-icon-moon,
body.ams-dark .theme-toggle-action .theme-toggle-icon-sun {
    opacity: 1;
    transform: scale(1);
}

.toolbar-user form {
    flex: 0 1 auto;
    min-width: 0;
}

.toolbar-user .form-select {
    max-width: 150px;
    text-overflow: ellipsis;
}

.search-box {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
}

.search-box input {
    width: 200px;
    max-width: 100%;
    padding: 8px 36px 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    background-color: rgba(255, 255, 255, 0.05);
    color: white;
    font-size: 14px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.search-box input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.search-box input:focus {
    outline: none;
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    width: 260px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.05);
}

.search-box i {
    position: absolute;
    right: 12px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.user-avatar {
    width: 32px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #ffffff;
}

.user-details {
    display: flex;
    flex-direction: column;
}

.user-name {
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
}

.user-role {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
}

.user-menu-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    color: rgba(255, 255, 255, 0.85);
    background: none;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s;
    cursor: pointer;
}

.user-menu-btn:hover {
    background-color: var(--ams-nav-item-hover);
    color: #ffffff;
}



/* 移动端侧边栏 */
.mobile-sidebar {
    position: fixed;
    top: 0;
    left: -300px;
    width: 300px;
    height: 100vh;
    height: 100dvh;
    background: white;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1002;
    transition: left 0.3s;
}

.mobile-sidebar.show {
    left: 0;
}

.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: #111827;
    color: white;
}

.sidebar-close {
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 8px;
    border-radius: 6px;
}

.sidebar-close:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.sidebar-content {
    padding: 20px 0;
}

.sidebar-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: #495057;
    text-decoration: none;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    font-size: 15px;
    transition: all 0.2s;
    cursor: pointer;
}

.sidebar-item:hover {
    background-color: #f8f9fa;
    color: var(--ams-primary);
}

.sidebar-item.active {
    background-color: var(--ams-primary);
    color: white;
}

.sidebar-item i {
    font-size: 18px;
    width: 20px;
}

/* 主内容区�?*/
.main-content {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 24px;
    min-height: calc(100vh - 64px);
    box-sizing: border-box;
}

.ams-empty-state {
    text-align: center;
    color: var(--ams-muted);
    padding: 32px 16px;
}

.ams-mobile-card-list {
    display: none;
}

.ams-mobile-asset-card {
    border: 1px solid var(--ams-border);
    border-radius: 16px;
    background: var(--ams-card);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    padding: 12px;
}

.ams-mobile-asset-card + .ams-mobile-asset-card {
    margin-top: 10px;
}

.ams-mobile-asset-title {
    font-weight: 900;
    color: var(--ams-text);
    line-height: 1.35;
    word-break: break-word;
}

.ams-mobile-asset-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    margin-top: 12px;
}

.ams-mobile-asset-meta-item {
    min-width: 0;
}

.ams-mobile-asset-meta-label {
    color: var(--ams-muted);
    font-size: 0.75rem;
    line-height: 1rem;
}

.ams-mobile-asset-meta-value {
    color: var(--ams-text-body);
    font-size: 0.875rem;
    line-height: 1.25rem;
    word-break: break-word;
}

.asset-quantity-value {
    font-weight: 800;
}

.asset-quantity-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    margin-left: 6px;
    padding: 2px 8px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 0 16px 16px 0;
    color: #1d4ed8;
    background: #eff6ff;
    font-size: 0.72rem;
    font-weight: 850;
    vertical-align: middle;
    white-space: nowrap;
}

.ams-mobile-asset-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--ams-border);
}

.ams-mobile-asset-main,
.ams-mobile-asset-head,
.ams-mobile-asset-badges,
.ams-mobile-asset-edit,
.asset-mobile-bottom-bar {
    display: none;
}

.ams-select-touch {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-page-body {
    background:
        radial-gradient(circle at 14% 8%, rgba(37, 99, 235, 0.08), transparent 30%),
        radial-gradient(circle at 90% 12%, rgba(14, 165, 233, 0.08), transparent 28%),
        linear-gradient(180deg, #fbfdff 0%, #f3f8ff 46%, #f8fafc 100%);
}

.admin-page {
    position: relative;
}

.admin-mobile-titlebar {
    display: none;
}

.admin-page-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin: 4px 0 26px;
}

.admin-page-hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: 1.75rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.admin-page-hero p {
    margin: 8px 0 0;
    color: #64748b;
    font-size: 0.94rem;
}

.admin-return-btn {
    background: rgba(255, 255, 255, 0.9);
    border-color: #e2e8f0;
    color: #334155;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.admin-tabs {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.admin-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 20px;
    color: #94a3b8;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 2px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.admin-tab:hover {
    color: #2563eb;
    background: rgba(255, 255, 255, 0.72);
}

.admin-tab.active {
    color: #2563eb;
    background: rgba(255, 255, 255, 0.96);
    border-color: #bfdbfe;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.1);
}

.admin-account-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: 20px;
    margin-bottom: 20px;
}

.admin-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
    padding: 20px;
}

.admin-card-head {
    margin-bottom: 18px;
}

.admin-card-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 800;
}

.admin-card-head p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.55;
}

.admin-inline-form .form-label,
.admin-form-field .form-label {
    margin-bottom: 8px;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 700;
}

.admin-inline-control {
    display: flex;
    gap: 10px;
    align-items: center;
}

.admin-inline-control .form-control {
    flex: 1;
    min-width: 0;
}

.admin-inline-control .btn {
    width: 64px;
    flex: 0 0 auto;
}

.admin-field-hint {
    margin-top: 8px;
    color: #94a3b8;
    font-size: 0.78rem;
}

.admin-create-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 18px;
}

.admin-form-submit {
    grid-column: 1 / -1;
}

.admin-password-control {
    position: relative;
}

.admin-password-control .form-control {
    padding-right: 42px;
}

.admin-password-control i {
    position: absolute;
    top: 50%;
    right: 14px;
    color: #94a3b8;
    transform: translateY(-50%);
    pointer-events: none;
}

.admin-table-wrap {
    overflow: auto;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
}

.admin-org-table-wrap {
    overflow: hidden;
    margin-top: 18px;
}

.admin-table {
    min-width: 560px;
    margin: 0;
    font-size: 0.86rem;
}

.admin-org-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.admin-org-action-col {
    width: 132px;
}

.admin-users-table {
    width: 100%;
    table-layout: fixed;
}

.admin-users-table th:nth-child(1),
.admin-users-table td:nth-child(1) {
    width: 12%;
}

.admin-users-table th:nth-child(2),
.admin-users-table td:nth-child(2) {
    width: 10%;
}

.admin-users-table th:nth-child(3),
.admin-users-table td:nth-child(3) {
    width: 14%;
}

.admin-users-table th:nth-child(4),
.admin-users-table td:nth-child(4) {
    width: 10%;
}

.admin-users-table th:nth-child(5),
.admin-users-table td:nth-child(5) {
    width: 7%;
}

.admin-users-table th:nth-child(6),
.admin-users-table td:nth-child(6) {
    width: 8%;
}

.admin-users-table th:nth-child(7),
.admin-users-table td:nth-child(7) {
    width: 13%;
}

.admin-users-table th:nth-child(8),
.admin-users-table td:nth-child(8) {
    width: 13%;
}

.admin-users-table th:nth-child(9),
.admin-users-table td:nth-child(9) {
    width: 13%;
}

.admin-log-table {
    min-width: 980px;
}

.admin-table thead th {
    padding: 12px 14px;
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    border-bottom: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
}

.admin-table tbody td {
    padding: 13px 14px;
    border-bottom: 1px solid #eef2f7;
    color: #334155;
}

.admin-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-actions {
    text-align: left !important;
    white-space: nowrap;
}

.admin-actions > span {
    margin: 0 9px;
    color: #cbd5e1;
}

.admin-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 0 16px 16px 0;
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.admin-badge-success {
    color: #047857;
    background: #dcfce7;
    border-color: #bbf7d0;
}

.admin-badge-primary {
    color: #1d4ed8;
    background: #dbeafe;
    border-color: #bfdbfe;
}

.admin-badge-danger {
    color: #dc2626;
    background: #fee2e2;
    border-color: #fecaca;
}

.admin-badge-info {
    color: #0369a1;
    background: #e0f2fe;
    border-color: #bae6fd;
}

.admin-badge-warning {
    color: #b45309;
    background: #fef3c7;
    border-color: #fde68a;
}

.admin-badge-muted {
    color: #475569;
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.admin-presence-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    padding: 5px 10px;
    border-radius: 0 16px 16px 0;
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.admin-presence-badge span {
    width: 7px;
    height: 7px;
    border-radius: 0 16px 16px 0;
}

.admin-presence-online {
    color: #047857;
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.admin-presence-online span {
    background: #10b981;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.14);
}

.admin-presence-offline {
    color: #64748b;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.admin-presence-offline span {
    background: #94a3b8;
}

.admin-log-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.admin-log-export-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-log-date-range {
    display: grid;
    grid-template-columns: auto minmax(130px, 1fr) auto minmax(130px, 1fr);
    align-items: center;
    gap: 0;
    min-width: 330px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}

.admin-log-date-range span,
.admin-log-date-range em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 10px;
    color: #94a3b8;
    font-style: normal;
}

.admin-log-date-range .form-control {
    height: 38px;
    min-height: 38px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.86rem;
}

.admin-log-detail {
    max-width: 360px;
    white-space: normal;
    word-break: break-word;
}

.admin-pagination-wrap {
    padding-top: 18px;
}

 body.ams-dark .admin-return-btn {
    background: rgba(12, 22, 38, 0.9);
    border-color: rgba(96, 165, 250, 0.18);
    color: #dbe7ff;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
 }

 body.ams-dark .admin-return-btn:hover {
    background: rgba(18, 31, 52, 0.96);
    border-color: rgba(96, 165, 250, 0.34);
    color: #ffffff;
 }

 body.ams-dark .admin-tab {
    color: #7f95b6;
 }

 body.ams-dark .admin-tab:hover {
    color: #dbe7ff;
    background: rgba(18, 31, 52, 0.76);
 }

 body.ams-dark .admin-tab.active {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.3), rgba(29, 78, 216, 0.22));
    border-color: rgba(96, 165, 250, 0.38);
    box-shadow: 0 16px 32px rgba(5, 11, 22, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.06);
 }

 body.ams-dark .admin-inline-form .form-label,
 body.ams-dark .admin-form-field .form-label {
    color: #cdd9ee;
 }

 body.ams-dark .admin-field-hint,
 body.ams-dark .admin-password-control i {
    color: #7f95b6;
 }

 body.ams-dark .admin-table-wrap {
    border-color: rgba(96, 165, 250, 0.14);
    background: rgba(8, 15, 28, 0.98);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
 }

 body.ams-dark .admin-table {
    background: transparent;
 }

 body.ams-dark .admin-table tbody tr {
    background: rgba(8, 15, 28, 0.72);
 }

 body.ams-dark .admin-table tbody tr:nth-child(odd) {
    background: rgba(9, 17, 31, 0.8);
 }

 body.ams-dark .admin-table tbody,
 body.ams-dark .admin-table tbody tr,
 body.ams-dark .admin-table tbody td {
    background: transparent;
 }

 body.ams-dark .admin-table tbody tr:hover {
    background: rgba(47, 124, 255, 0.12);
 }

 body.ams-dark .admin-actions > span {
    color: rgba(148, 163, 184, 0.28);
 }

 body.ams-dark .admin-badge-success {
    color: #86efac;
    background: rgba(20, 83, 45, 0.36);
    border-color: rgba(74, 222, 128, 0.28);
 }

 body.ams-dark .admin-badge-primary {
    color: #93c5fd;
    background: rgba(30, 64, 175, 0.34);
    border-color: rgba(96, 165, 250, 0.3);
 }

 body.ams-dark .admin-badge-danger {
    color: #fda4af;
    background: rgba(127, 29, 29, 0.34);
    border-color: rgba(251, 113, 133, 0.3);
 }

 body.ams-dark .admin-badge-info {
    color: #7dd3fc;
    background: rgba(12, 74, 110, 0.34);
    border-color: rgba(56, 189, 248, 0.28);
 }

 body.ams-dark .admin-badge-warning {
    color: #fcd34d;
    background: rgba(120, 53, 15, 0.34);
    border-color: rgba(251, 191, 36, 0.3);
 }

 body.ams-dark .admin-badge-muted {
    color: #c6d3e6;
    background: rgba(30, 41, 59, 0.7);
    border-color: rgba(148, 163, 184, 0.2);
 }

 body.ams-dark .admin-presence-online {
    color: #a7f3d0;
    background: rgba(6, 78, 59, 0.38);
    border-color: rgba(52, 211, 153, 0.28);
 }

 body.ams-dark .admin-presence-online span {
    background: #34d399;
    box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.16);
 }

 body.ams-dark .admin-presence-offline {
    color: #c6d3e6;
    background: rgba(15, 23, 42, 0.72);
    border-color: rgba(148, 163, 184, 0.18);
 }

 body.ams-dark .admin-presence-offline span {
    background: #94a3b8;
 }

 body.ams-dark .admin-log-date-range {
    border-color: rgba(96, 165, 250, 0.16);
    background: rgba(10, 18, 32, 0.96);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
 }

 body.ams-dark .admin-log-date-range span,
 body.ams-dark .admin-log-date-range em {
    color: #7f95b6;
 }

 body.ams-dark .admin-log-date-range .form-control {
    color: #dbe7ff;
 }

 body.ams-dark .admin-log-date-range .form-control::-webkit-calendar-picker-indicator {
    filter: invert(0.9) hue-rotate(180deg) brightness(1.1);
 }

 body.ams-dark .admin-page .form-control,
 body.ams-dark .admin-page .form-select {
    background: rgba(10, 18, 32, 0.96);
    border-color: rgba(96, 165, 250, 0.14);
    color: #dbe7ff;
 }

 body.ams-dark .admin-page .form-control:focus,
 body.ams-dark .admin-page .form-select:focus {
    background: rgba(16, 29, 49, 0.98);
    border-color: rgba(56, 189, 248, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(56, 189, 248, 0.12), 0 12px 24px rgba(0, 0, 0, 0.18);
 }

 body.ams-dark .admin-page .text-muted,
 body.ams-dark .admin-page .small.text-muted,
 body.ams-dark .admin-page td.text-muted,
 body.ams-dark .admin-page .text-dark {
    color: #8ca0be !important;
 }

 body.ams-dark .admin-page .text-warning {
    color: #fbbf24 !important;
 }

 body.ams-dark .admin-pagination-wrap .page-link {
    background: rgba(12, 22, 38, 0.9);
    border-color: rgba(148, 163, 184, 0.2);
    color: #c6d3e6;
 }

@media (max-width: 991.98px) {
    .admin-account-grid {
        grid-template-columns: 1fr;
    }

    .admin-log-head {
        display: block;
    }

    .admin-log-export-form {
        margin-top: 16px;
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    body.admin-page-body {
        background: #ffffff;
    }

    body.admin-page-body .top-toolbar {
        display: none;
    }

    body.admin-page-body .main-content {
        min-height: 100vh;
        min-height: 100dvh;
        padding: 0 20px 28px;
    }

    .admin-mobile-titlebar {
        display: grid;
        grid-template-columns: 44px 1fr 44px;
        align-items: center;
        min-height: 58px;
        margin-bottom: 10px;
    }

    .admin-mobile-back {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        width: 44px;
        height: 44px;
        color: #111827;
        text-decoration: none;
        font-size: 1.35rem;
    }

    .admin-mobile-title {
        color: #111827;
        font-size: 1.08rem;
        font-weight: 800;
        text-align: center;
    }

     body.ams-dark.admin-page-body {
        background: linear-gradient(180deg, #050b16 0%, #091326 46%, #070d18 100%);
     }

     body.ams-dark .admin-mobile-titlebar {
        border-bottom: 1px solid rgba(96, 165, 250, 0.14);
        background: rgba(5, 11, 22, 0.92);
        backdrop-filter: blur(14px);
     }

     body.ams-dark .admin-mobile-back,
     body.ams-dark .admin-mobile-title {
        color: #eaf2ff;
     }

    .admin-page-hero {
        display: none;
    }

    .admin-tabs {
        justify-content: center;
        gap: 44px;
        margin-bottom: 24px;
    }

    .admin-tab {
        position: relative;
        min-height: 48px;
        padding: 0 0 10px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #cbd5e1;
        box-shadow: none;
        font-size: 0.98rem;
    }

    .admin-tab.active {
        color: #2563eb;
        background: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    .admin-tab.active::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 3px;
        border-radius: 0 16px 16px 0;
        background: #2563eb;
    }

    .admin-card {
        border-radius: 18px;
        padding: 20px;
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    }

    .admin-card + .admin-card,
    .admin-account-grid + .admin-card {
        margin-top: 20px;
    }

    .admin-card-head {
        margin-bottom: 16px;
    }

    .admin-card-head h2 {
        font-size: 1rem;
    }

    .admin-card-head p {
        font-size: 0.86rem;
    }

    .admin-inline-control {
        gap: 10px;
    }

    .admin-inline-control .btn {
        width: 70px;
        min-height: 48px;
        border-radius: 12px;
    }

    .admin-create-form {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .admin-form-submit .btn {
        min-width: 126px;
        min-height: 48px;
        border-radius: 12px;
    }

    .admin-page .form-control,
    .admin-page .form-select {
        min-height: 46px;
        border-radius: 12px;
        border-color: #e2e8f0;
    }

    .admin-table {
        min-width: 100%;
    }

    .admin-users-table,
    .admin-log-table {
        min-width: 940px;
    }

    .admin-table thead th {
        padding: 11px 12px;
    }

    .admin-table tbody td {
        padding: 13px 12px;
    }

    .admin-actions > span {
        margin: 0 7px;
    }

    .admin-log-export-form {
        display: block;
    }

    .admin-log-date-range {
        min-width: 0;
        width: 100%;
        grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .admin-log-export-form .btn {
        width: 100%;
        margin-top: 10px;
    }
}

/* 资产列表仪表�?*/
.asset-list-page {
    position: relative;
}

.asset-list-page::before {
    content: "";
    position: fixed;
    inset: 56px 0 auto 0;
    height: 260px;
    background:
        radial-gradient(circle at 16% 18%, rgba(59, 130, 246, 0.16), transparent 30%),
        radial-gradient(circle at 86% 12%, rgba(14, 165, 233, 0.12), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, rgba(248, 251, 255, 0) 100%);
    pointer-events: none;
    z-index: -1;
}

.asset-list-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.asset-list-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.75rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.asset-list-subtitle {
    margin-top: 6px;
    color: #64748b;
    font-size: 0.92rem;
}

.asset-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 10px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.asset-list-actions .btn {
    flex: 0 0 auto;
    min-height: 36px;
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    white-space: nowrap;
}

.asset-filter-bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px 10px;
    align-items: stretch;
    margin-bottom: 10px;
}

.asset-filter-bar .form-control,
.asset-filter-bar .form-select,
.asset-filter-bar .btn {
    height: 36px;
    min-height: 36px;
    border-radius: 9px;
    font-size: 0.9rem;
}

.asset-filter-bar .form-control,
.asset-filter-bar .form-select {
    border-color: #e6edf7;
    background-color: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035);
}

.asset-filter-search {
    position: relative;
    min-width: 0;
}

.asset-filter-control {
    width: 100%;
    min-width: 0;
}

.asset-filter-control-search {
    grid-column: span 2;
}

.asset-filter-search i {
    position: absolute;
    top: 50%;
    left: 13px;
    z-index: 2;
    color: #94a3b8;
    transform: translateY(-50%);
}

.asset-filter-search .form-control {
    padding-left: 38px;
}

.asset-reset-btn {
    color: #64748b;
    border: 1px solid #e6edf7;
    background: #ffffff;
}

.asset-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column: span 2;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.asset-search-btn {
    min-width: 0;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.22);
}

.asset-more-filter-btn,
.asset-custom-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #475569;
    border: 1px solid #e6edf7;
    background: rgba(255, 255, 255, 0.94);
    white-space: nowrap;
}

.asset-more-filter-btn.has-active-hidden-filter {
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.22);
    background: #eff6ff;
}

.asset-filter-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 0 16px 16px 0;
    color: #ffffff;
    background: #2563eb;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.asset-filter-more-control {
    display: none;
}

.asset-filter-bar.is-more-open .asset-filter-more-control {
    display: block;
}

.asset-quick-filter-modal .modal-body {
    padding-top: 14px;
}

.asset-quick-filter-tip {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 10px 12px;
    margin-bottom: 10px;
    color: #475569;
    background: #f8fafc;
    border: 1px solid #e6edf7;
    border-radius: 12px;
    font-size: 0.86rem;
}

.asset-quick-filter-list {
    display: grid;
    gap: 8px;
}

.asset-quick-filter-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e6edf7;
    border-radius: 12px;
    background: #ffffff;
}

.asset-quick-filter-order-actions {
    display: inline-flex;
    gap: 6px;
    flex: 0 0 auto;
}

.asset-quick-filter-order-actions .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    border-color: #e6edf7;
}
.asset-search-field-filter {
    min-width: 150px;
}

.asset-dashboard-grid {
    position: relative;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    transition: grid-template-columns 0.22s ease, gap 0.22s ease;
}

.asset-dashboard-grid.is-insight-collapsed {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.asset-insight-panel,
.asset-table-card {
    border: 1px solid rgba(226, 232, 240, 0.86);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
    backdrop-filter: blur(10px);
}

.asset-insight-panel {
    position: sticky;
    top: 56px;
    padding: 18px 12px;
    min-width: 0;
    overflow: visible;
    transition: padding 0.22s ease, border-color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.asset-insight-toggle-btn {
    position: absolute;
    top: 52px;
    right: -12px;
    z-index: 8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(191, 219, 254, 0.9);
    border-radius: 999px;
    color: #2563eb;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.14), 0 0 0 1px rgba(255, 255, 255, 0.76) inset;
    transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.asset-insight-toggle-btn i {
    font-size: 0.92rem;
    line-height: 1;
}

.asset-insight-toggle-btn:hover {
    color: #1d4ed8;
    border-color: rgba(147, 197, 253, 0.95);
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.2), 0 0 0 1px rgba(219, 234, 254, 0.95) inset;
    transform: translateX(1px);
}

.asset-insight-toggle-copy {
    display: none;
}

.asset-insight-content {
    min-width: 0;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.asset-dashboard-grid.is-insight-collapsed .asset-insight-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    padding: 0;
    min-height: 0;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.asset-dashboard-grid.is-insight-collapsed .asset-insight-toggle-btn {
    top: 52px;
    right: auto;
    left: -12px;
    border-radius: 999px;
}

.asset-dashboard-grid.is-insight-collapsed .asset-insight-content {
    width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-8px);
}

.asset-insight-section + .asset-insight-section {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #edf2f7;
}

.asset-insight-title {
    margin: 0 8px 12px;
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 800;
}

.asset-view-row,
.asset-status-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 8px 10px;
    color: #475569;
    text-decoration: none;
    border-radius: 10px;
    font-size: 0.86rem;
}

.asset-view-row strong,
.asset-status-row strong {
    margin-left: auto;
    color: #2563eb;
    font-size: 0.82rem;
}

.asset-view-row.active,
.asset-view-row:hover,
.asset-status-row.active,
.asset-status-row:hover {
    color: #1d4ed8;
    background: #edf5ff;
}

.asset-status-dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 0 16px 16px 0;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.asset-status-dot-2 {
    background: #f97316;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
}

.asset-status-dot-3 {
    background: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.asset-status-dot-4 {
    background: #94a3b8;
    box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.14);
}

.asset-status-dot-other {
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
}

.asset-table-card {
    min-width: 0;
    overflow: hidden;
}

@media (min-width: 992px) {
    .asset-table-card {
        position: sticky;
        top: 56px;
        z-index: 12;
        display: flex;
        flex-direction: column;
        height: calc(100vh - 56px);
        overflow: hidden;
    }

    .asset-table-card .asset-table-scroll {
        position: relative;
        top: auto;
        z-index: auto;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        box-shadow: none;
    }

    .asset-pagination-wrap {
        flex: 0 0 auto;
    }
}

.asset-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 52px;
    padding: 9px 14px 8px;
    background: rgba(255, 255, 255, 0.98);
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.asset-table-toolbar-default {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.asset-table-heading {
    min-width: 0;
}

.asset-table-selection-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.asset-table-selection-toolbar[hidden] {
    display: none !important;
}

.asset-selection-summary {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    color: #1e3a8a;
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.asset-selection-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    color: #ffffff;
    background: #2563eb;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.2);
}

.asset-selection-summary strong {
    color: #1d4ed8;
    font-size: 0.95rem;
}

.asset-selection-scope {
    padding: 3px 7px;
    border-radius: 0 16px 16px 0;
    color: #64748b;
    background: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 600;
}

.asset-selection-actions {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.asset-batch-action {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 5px 10px;
    border-radius: 9px;
    white-space: nowrap;
}

.asset-batch-delete {
    margin-left: 4px;
}

.asset-selection-cancel {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 10px;
    color: #64748b;
    background: rgba(255, 255, 255, 0.86);
    transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.asset-selection-cancel:hover {
    color: #1d4ed8;
    border-color: #93c5fd;
    background: #ffffff;
}

@media (min-width: 768px) {
    .asset-table-toolbar.is-selection-mode {
        border-bottom-color: rgba(37, 99, 235, 0.18);
        background: linear-gradient(90deg, rgba(239, 246, 255, 0.99), rgba(248, 251, 255, 0.98));
        box-shadow: inset 3px 0 0 #2563eb;
    }

    .asset-table-toolbar.is-selection-mode .asset-table-toolbar-default {
        display: none;
    }

}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .asset-batch-action span {
        display: none;
    }

    .asset-batch-action {
        width: 34px;
        padding: 5px;
    }
}

.asset-table-title {
    color: #0f172a;
    margin: 0;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: -0.02em;
}

.asset-table-meta {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 0.75rem;
    line-height: 1.18;
}

.asset-table-tools {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.asset-icon-btn,
.asset-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e8eef6;
    color: #64748b;
    background: #ffffff;
    transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.asset-icon-btn {
    width: 32px;
    height: 32px;
    border-radius: 9px;
}

.asset-mobile-tool-btn {
    display: none;
}

.asset-icon-btn:hover,
.asset-row-action:hover {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #eff6ff;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
}

.asset-table-scroll {
    max-height: calc(100vh - 315px);
    border: 0;
    border-top: 1px solid #edf2f7;
    border-radius: 0;
    background: transparent;
}

.asset-modern-table {
    margin: 0;
    color: #0f172a;
    border-collapse: separate;
    border-spacing: 0;
}

.asset-modern-table thead th {
    height: 48px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf2f7;
    color: #475569;
    background: #fbfdff !important;
    font-size: 0.78rem;
    font-weight: 800;
}

.asset-modern-table tbody td {
    height: 52px;
    padding: 10px 14px;
    border-bottom: 1px solid #f1f5f9;
    color: #1e293b;
    font-size: 0.86rem;
    vertical-align: middle;
    transition: background-color 0.22s ease, box-shadow 0.22s ease;
}

.asset-modern-table tbody tr {
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.asset-modern-table tbody tr:hover {
    background: #f8fbff;
}

.asset-modern-table tbody tr.asset-focus-target {
    background: transparent;
    box-shadow: none;
    position: relative;
    z-index: 1;
}

.asset-modern-table tbody tr.asset-focus-target td {
    background-color: #edf5ff;
    background-image: none;
    box-shadow: inset 0 1px 0 rgba(37, 99, 235, 0.18), inset 0 -1px 0 rgba(37, 99, 235, 0.18);
}

.asset-modern-table tbody tr.asset-focus-target td:first-child {
    box-shadow: inset 3px 0 0 #2563eb, inset 0 1px 0 rgba(37, 99, 235, 0.18), inset 0 -1px 0 rgba(37, 99, 235, 0.18);
}

.asset-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 4px 9px;
    border-radius: 0 16px 16px 0;
    color: #16a34a;
    background: #dcfce7;
    font-size: 0.78rem;
    font-weight: 700;
}

.asset-code-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.asset-code-wrap > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.asset-split-child-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid #fed7aa;
    border-radius: 0 16px 16px 0;
    color: #c2410c;
    background: #fff7ed;
    font-size: 0.7rem;
    font-weight: 900;
    line-height: 1;
}

.asset-structure-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 22px;
    padding: 2px 8px;
    border: 1px solid #dbeafe;
    border-radius: 0 16px 16px 0;
    color: #2563eb;
    background: #eff6ff;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.asset-structure-badge-group {
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.16);
    background: #eff6ff;
}

.asset-structure-badge-child {
    color: #c2410c;
    border-color: #fed7aa;
    background: #fff7ed;
}

.asset-structure-badge-normal {
    color: #475569;
    border-color: #e2e8f0;
    background: #f8fafc;
}

.asset-trajectory-cell {
    max-width: 280px;
    min-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.asset-row-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.asset-inline-form {
    display: inline-flex;
    margin: 0;
}

.asset-row-action-split {
    color: #2563eb;
    border-color: #bfdbfe;
    background: #eff6ff;
}

.ams-mobile-asset-card.asset-focus-target {
    border-color: rgba(37, 99, 235, 0.32);
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 1));
    box-shadow: 0 18px 38px rgba(37, 99, 235, 0.12);
    animation: assetFocusPulse 2.6s ease;
}

.asset-focus-guide {
    position: fixed;
    z-index: 1085;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: min(260px, calc(100vw - 24px));
    padding: 10px 14px;
    border: 1px solid rgba(59, 130, 246, 0.24);
    border-radius: 0 16px 16px 0;
    color: #0f172a;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 38px rgba(37, 99, 235, 0.18);
    backdrop-filter: blur(10px);
    font-size: 0.87rem;
    font-weight: 700;
    pointer-events: none;
    opacity: 0;
    transform: translateY(8px) scale(0.96);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.asset-focus-guide.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.asset-focus-guide i {
    color: #2563eb;
    font-size: 0.95rem;
}

.asset-focus-guide::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 12px;
    height: 12px;
    border-right: 1px solid rgba(59, 130, 246, 0.24);
    border-bottom: 1px solid rgba(59, 130, 246, 0.24);
    background: rgba(255, 255, 255, 0.96);
    transform: translateX(-50%) rotate(45deg);
}

.asset-focus-guide-top::after {
    bottom: -7px;
}

.asset-focus-guide-bottom::after {
    top: -7px;
    transform: translateX(-50%) rotate(225deg);
}

@keyframes assetFocusPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.24);
    }
    35% {
        box-shadow: 0 0 0 10px rgba(37, 99, 235, 0.12);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
    }
}

.asset-row-action {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    text-decoration: none;
}

.asset-pagination-wrap {
    display: flex;
    justify-content: flex-end;
    padding: 16px 18px;
    border-top: 1px solid #edf2f7;
}

.asset-pagination-wrap .pagination {
    margin: 0;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.asset-pagination-wrap .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    min-height: 28px;
    min-width: 28px;
    padding: 0 8px;
    border: 1px solid #e8eef6;
    border-radius: 7px;
    color: #475569;
    font-size: 0.8125rem;
    line-height: 1;
    text-align: center;
    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.035);
}

.asset-pagination-wrap .asset-pagination-control {
    min-width: 52px;
    white-space: nowrap;
}

.asset-pagination-wrap .asset-page-size-item {
    display: flex;
    align-items: center;
}

.asset-page-size-form {
    margin: 0;
}

.asset-pagination-page-size {
    width: auto;
    min-width: 96px;
    height: 28px;
    min-height: 28px;
    padding: 0 28px 0 10px;
    border: 1px solid #e8eef6;
    border-radius: 7px;
    color: #475569;
    background-color: #ffffff;
    font-size: 0.8125rem;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.035);
}

.asset-pagination-page-size:focus {
    border-color: rgba(37, 99, 235, 0.46);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.asset-pagination-wrap .page-item.active .page-link {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

@media (max-width: 1199.98px) {
    .asset-filter-bar {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
    }

    .asset-filter-control-search,
    .asset-filter-actions {
        grid-column: span 2;
    }

    .asset-filter-control,
    .asset-filter-actions,
    .asset-reset-btn,
    .asset-search-btn {
        min-width: 0;
    }
}

@media (max-width: 899.98px) {
    .asset-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asset-filter-control-search,
    .asset-filter-actions {
        grid-column: 1 / -1;
    }

    .asset-filter-control,
    .asset-filter-actions {
        min-width: 0;
    }

    .asset-filter-actions {
        gap: 10px;
    }
}

@media (max-width: 991.98px) {
    .asset-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .asset-dashboard-grid.is-insight-collapsed {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .asset-insight-panel {
        position: static;
    }

    .asset-insight-toggle-btn {
        display: none;
    }

    .asset-insight-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .asset-dashboard-grid.is-insight-collapsed .asset-insight-panel {
        padding: 18px 12px;
        border-color: rgba(226, 232, 240, 0.86);
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
        backdrop-filter: blur(10px);
    }

    .asset-dashboard-grid.is-insight-collapsed .asset-insight-content {
        width: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .asset-insight-section + .asset-insight-section {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

@media (max-width: 767.98px) {
    .asset-list-page {
        padding-bottom: 84px;
    }

    .asset-list-page::before {
        height: 220px;
    }

    .asset-list-hero {
        display: none;
    }

    .asset-list-actions {
        justify-content: flex-start;
    }

    .asset-list-actions .btn {
        flex: 0 0 auto;
    }

    .asset-filter-bar {
        grid-template-columns: 1fr;
        gap: 10px;
        display: none;
        margin: 0 0 12px;
        padding: 12px;
        border: 1px solid rgba(226, 232, 240, 0.86);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
    }

    .asset-filter-bar.is-mobile-filter-open {
        display: grid;
    }

    .asset-filter-bar .form-control,
    .asset-filter-bar .form-select,
    .asset-filter-bar .btn {
        height: 42px;
        min-height: 42px;
    }

    .asset-pagination-wrap .page-link {
        height: 36px;
        min-height: 36px;
    }

    .asset-pagination-page-size {
        height: 36px;
        min-height: 36px;
    }

    .asset-filter-control,
    .asset-filter-actions {
        grid-column: 1 / -1;
        min-width: 0;
    }

    .asset-insight-panel {
        position: static;
        padding: 0;
        min-height: auto;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .asset-insight-toggle-btn {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        justify-content: stretch;
        width: 100%;
        height: auto;
        min-height: 52px;
        padding: 11px 14px;
        border-radius: 16px;
        gap: 12px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    }

    .asset-dashboard-grid.is-insight-collapsed .asset-insight-toggle-btn {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        border-radius: 16px;
    }

    .asset-insight-toggle-btn > i {
        order: 2;
        width: 28px;
        height: 28px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: #eff6ff;
        font-size: 0.95rem;
    }

    .asset-insight-toggle-copy {
        order: 1;
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: flex-start;
        line-height: 1.25;
    }

    .asset-insight-toggle-copy span {
        max-width: 100%;
        color: #0f172a;
        font-size: 0.92rem;
        font-weight: 900;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .asset-insight-toggle-copy small {
        max-width: 100%;
        margin-top: 3px;
        color: #64748b;
        font-size: 0.72rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .asset-insight-content {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 10px;
    }

    .asset-insight-title,
    .asset-view-row span,
    .asset-status-row span {
        white-space: nowrap;
    }

    .asset-view-row,
    .asset-status-row {
        min-width: 0;
    }

    .asset-view-row span,
    .asset-status-row span:nth-child(2) {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .asset-dashboard-grid.is-insight-collapsed .asset-insight-panel {
        position: static;
        width: auto;
        min-height: auto;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    .asset-dashboard-grid.is-insight-collapsed .asset-insight-content {
        display: none;
        width: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .asset-table-scroll {
        display: none;
    }

    .asset-table-card {
        border: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .asset-table-toolbar {
        position: sticky;
        top: 64px;
        z-index: 9;
        margin: 10px 0;
        padding: 12px 10px;
        border: 1px solid rgba(226, 232, 240, 0.9);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
        backdrop-filter: blur(12px);
    }

    .asset-table-selection-toolbar {
        display: none !important;
    }

    .asset-table-title {
        font-size: 1.02rem;
    }

    .asset-table-meta {
        font-size: 0.75rem;
    }

    .asset-table-tools {
        gap: 7px;
    }

    .asset-icon-btn {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .asset-mobile-tool-btn {
        display: inline-flex;
    }

    .ams-mobile-card-list {
        display: block;
    }

    .ams-mobile-asset-card {
        padding: 10px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
    }

    .ams-mobile-asset-card + .ams-mobile-asset-card {
        margin-top: 8px;
    }

    .ams-mobile-asset-main,
    .ams-mobile-asset-head,
    .ams-mobile-asset-badges {
        display: flex;
    }

    .ams-mobile-asset-main {
        align-items: flex-start;
        gap: 10px;
    }

    .ams-mobile-asset-card.is-selected {
        border-color: rgba(37, 99, 235, 0.34);
        background: linear-gradient(180deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.99));
        box-shadow: 0 14px 30px rgba(37, 99, 235, 0.12);
    }

    .ams-mobile-select {
        flex: 0 0 28px;
        min-height: 108px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding-top: 4px;
    }

    .ams-mobile-select input {
        width: 20px;
        height: 20px;
        border-color: #cbd5e1;
    }

    .ams-mobile-asset-visual {
        flex: 0 0 118px;
        width: 118px;
    }

    .ams-mobile-asset-thumb {
        position: relative;
        width: 118px;
        height: 104px;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        color: #94a3b8;
        background: #f1f5f9;
    }

    .ams-mobile-asset-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .ams-mobile-asset-thumb span {
        position: absolute;
        right: 6px;
        bottom: 6px;
        padding: 2px 6px;
        border-radius: 0 16px 16px 0;
        color: #ffffff;
        background: rgba(15, 23, 42, 0.68);
        font-size: 0.68rem;
        font-weight: 800;
    }

    .ams-mobile-asset-edit {
        min-height: 30px;
        margin-top: 7px;
        align-items: center;
        justify-content: center;
        gap: 5px;
        border-radius: 10px;
        color: #2563eb;
        background: #eff6ff;
        font-size: 0.76rem;
        font-weight: 900;
        text-decoration: none;
    }

    .ams-mobile-asset-card.is-selected .ams-mobile-asset-edit {
        display: flex;
    }

    .ams-mobile-asset-info {
        min-width: 0;
        flex: 1 1 auto;
    }

    .ams-mobile-asset-head {
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
    }

    .ams-mobile-asset-title {
        color: #0f172a;
        font-size: 0.96rem;
        letter-spacing: -0.02em;
        min-width: 0;
        flex: 1 1 auto;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .ams-mobile-asset-title .asset-code-wrap,
    .ams-mobile-asset-code-link {
        max-width: 100%;
        white-space: normal;
    }

    .ams-mobile-asset-code-link {
        display: inline-flex;
        align-items: flex-start;
        gap: 6px;
        color: inherit;
        text-decoration: none;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .ams-mobile-asset-code-link:active {
        color: #2563eb;
    }

    .ams-mobile-asset-title .asset-code-wrap > span:first-child,
    .ams-mobile-asset-code-text {
        min-width: 0;
        overflow: visible;
        text-overflow: clip;
    }

    .ams-mobile-more-btn {
        width: 30px;
        height: 30px;
        border: 0;
        border-radius: 0 16px 16px 0;
        color: #0f172a;
        background: transparent;
    }

    .ams-mobile-asset-desc {
        margin-top: 5px;
        color: #334155;
        font-size: 0.86rem;
        font-weight: 750;
        line-height: 1.25;
        word-break: break-word;
    }

    .ams-mobile-asset-badges {
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 7px;
    }

    .ams-mobile-category-badge {
        display: inline-flex;
        align-items: center;
        min-height: 22px;
        padding: 2px 8px;
        border-radius: 0 16px 16px 0;
        color: #2563eb;
        background: #dbeafe;
        font-size: 0.72rem;
        font-weight: 850;
    }

    .ams-mobile-asset-meta {
        grid-template-columns: 1fr 1fr;
        gap: 5px 10px;
        margin-top: 8px;
    }

    .ams-mobile-asset-meta-item:nth-child(3) {
        grid-column: 1 / -1;
    }

    .ams-mobile-asset-meta-label {
        font-size: 0.68rem;
        font-weight: 750;
    }

    .ams-mobile-asset-meta-value {
        color: #334155;
        font-size: 0.75rem;
        font-weight: 700;
    }

    .ams-mobile-asset-details {
        margin-left: 38px;
        margin-top: 8px;
        border-top: 1px solid #e2e8f0;
    }

    .ams-mobile-asset-details summary {
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        color: #64748b;
        font-size: 0.76rem;
        font-weight: 800;
        list-style: none;
    }

    .ams-mobile-asset-details summary::-webkit-details-marker {
        display: none;
    }

    .ams-mobile-asset-details[open] summary i {
        transform: rotate(180deg);
    }

    .ams-mobile-asset-extra {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 0 0 8px;
    }

    .ams-mobile-asset-extra div {
        min-width: 0;
        padding: 8px;
        border-radius: 10px;
        background: #f8fafc;
    }

    .ams-mobile-asset-extra span {
        display: block;
        color: #94a3b8;
        font-size: 0.68rem;
        font-weight: 750;
    }

    .ams-mobile-asset-extra strong {
        display: block;
        margin-top: 2px;
        color: #334155;
        font-size: 0.76rem;
        word-break: break-word;
    }

    .ams-mobile-asset-actions {
        display: none;
    }

    .asset-pagination-wrap {
        margin: 10px 0 4px;
        padding: 12px;
        justify-content: center;
        border: 1px solid rgba(226, 232, 240, 0.86);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
    }

    .asset-pagination-wrap .pagination {
        flex-wrap: wrap;
        justify-content: center;
    }

    .asset-pagination-wrap .page-link {
        min-width: 36px;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .asset-pagination-page-size {
        min-width: 108px;
        height: 36px;
        min-height: 36px;
        font-size: 0.875rem;
    }

    .asset-mobile-bottom-bar {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: 10px;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        min-height: 58px;
        padding: 10px 12px;
        border: 1px solid rgba(226, 232, 240, 0.92);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
        backdrop-filter: blur(16px);
    }

    .asset-mobile-selected {
        flex: 1 1 auto;
        color: #334155;
        font-size: 0.82rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .asset-mobile-selected strong {
        color: #2563eb;
    }

    .asset-mobile-bottom-btn {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0 10px;
        border: 0;
        border-radius: 12px;
        color: #2563eb;
        background: #eff6ff;
        font-size: 0.78rem;
        font-weight: 850;
        text-decoration: none;
        white-space: nowrap;
    }

    .asset-mobile-bottom-btn:disabled {
        color: #94a3b8;
        background: #f1f5f9;
    }
}

@media (max-width: 575.98px) {
    .asset-insight-content {
        grid-template-columns: 1fr;
    }
}

/* 登录 / 认证页面 */
.auth-shell {
    background: var(--ams-bg-gradient);
    background-attachment: fixed;
}

.auth-shell .top-toolbar {
    display: none;
}

.auth-shell .main-content {
    max-width: none;
    min-height: 100vh;
    padding: 0;
}

.auth-page {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    color: #ffffff;
    background: var(--ams-bg-gradient);
}

.auth-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.28) 0%, rgba(2, 6, 23, 0.05) 48%, rgba(2, 6, 23, 0.14) 100%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.18) 0%, transparent 36%, rgba(2, 6, 23, 0.52) 100%);
    opacity: 1;
    pointer-events: none;
}

.auth-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 8%, rgba(37, 99, 235, 0.16), transparent 30%),
        radial-gradient(circle at 88% 6%, rgba(14, 165, 233, 0.14), transparent 28%),
        linear-gradient(90deg, rgba(2, 8, 20, 0.78) 0%, rgba(2, 8, 20, 0.36) 46%, rgba(2, 8, 20, 0.42) 100%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.22) 0%, rgba(2, 6, 23, 0.04) 50%, rgba(2, 6, 23, 0.74) 100%),
        url("/static/images/login-asset-background.png?v=20260510_1935") center center / cover no-repeat;
}

.auth-backdrop::before,
.auth-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
}

.auth-backdrop::before {
    background:
        radial-gradient(circle at 16% 28%, rgba(255, 255, 255, 0.08), transparent 26%),
        radial-gradient(circle at 72% 22%, rgba(96, 165, 250, 0.12), transparent 26%);
    opacity: 1;
}

.auth-backdrop::after {
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.44) 0%, transparent 32%, rgba(2, 6, 23, 0.18) 100%),
        linear-gradient(180deg, transparent 0 56%, rgba(2, 6, 23, 0.72) 100%);
}

.auth-visual {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    padding: clamp(24px, 3vw, 48px);
    display: flex;
    align-items: center;
}

.auth-hero {
    position: relative;
    width: min(100%, 1420px);
    min-height: min(760px, calc(100vh - 80px));
    margin: 0 auto;
}

.auth-hero-copy {
    position: relative;
    z-index: 2;
    width: min(52vw, 690px);
    padding: 6px 0 0 12px;
}

.auth-brand-word {
    font-size: clamp(54px, 7.8vw, 98px);
    line-height: 0.92;
    font-weight: 900;
    letter-spacing: -0.06em;
    text-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
}

.auth-hero-copy h1 {
    margin: 18px 0 12px;
    font-size: clamp(19px, 1.7vw, 26px);
    font-weight: 800;
    letter-spacing: 0.02em;
}

.auth-hero-copy p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(15px, 1.2vw, 19px);
    letter-spacing: 0.08em;
}

.auth-scene {
    position: absolute;
    display: none;
    left: 7%;
    right: 32%;
    bottom: 110px;
    height: 380px;
    pointer-events: none;
}

.auth-person {
    position: absolute;
    left: 4%;
    bottom: 0;
    width: 156px;
    height: 310px;
    border-radius: 58px 58px 18px 18px;
    background:
        radial-gradient(circle at 50% 18%, #d9ab87 0 28px, transparent 29px),
        linear-gradient(100deg, transparent 0 39%, #dbe8f4 40% 70%, transparent 71%),
        linear-gradient(165deg, transparent 0 36%, #9bb7cd 37% 62%, transparent 63%),
        linear-gradient(180deg, transparent 0 31%, #d7e6f3 32% 78%, #18283c 79% 100%);
    filter: drop-shadow(0 24px 30px rgba(0, 0, 0, 0.48));
}

.auth-person::before {
    content: "";
    position: absolute;
    right: -30px;
    top: 130px;
    width: 86px;
    height: 18px;
    border-radius: 18px;
    background: #cfa080;
    transform: rotate(25deg);
}

.auth-person::after {
    content: "";
    position: absolute;
    right: -48px;
    top: 126px;
    width: 36px;
    height: 58px;
    border-radius: 8px;
    background: linear-gradient(180deg, #1289ff, #071a38);
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.18);
    transform: rotate(-12deg);
}

.auth-desk {
    position: absolute;
    left: 21%;
    right: 3%;
    bottom: 4px;
    height: 78px;
    border-radius: 16px 16px 10px 10px;
    background:
        linear-gradient(180deg, rgba(243, 246, 248, 0.84), rgba(147, 158, 170, 0.9)),
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
    box-shadow: 0 24px 44px rgba(0, 0, 0, 0.42);
}

.auth-laptop {
    position: absolute;
    left: 34%;
    bottom: 74px;
    width: 210px;
    height: 126px;
    border-radius: 10px;
    background: linear-gradient(145deg, #eaf6ff, #8ec9ff);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32);
    transform: perspective(500px) rotateX(4deg) rotateY(-11deg);
}

.auth-laptop::after {
    content: "";
    position: absolute;
    left: -16px;
    right: -30px;
    bottom: -18px;
    height: 22px;
    border-radius: 4px 4px 13px 13px;
    background: linear-gradient(180deg, #cad4df, #7c8896);
}

.auth-laptop span {
    position: absolute;
    bottom: 18px;
    width: 14px;
    border-radius: 8px 8px 2px 2px;
    background: #0874ff;
}

.auth-laptop span:nth-child(1) {
    left: 70px;
    height: 34px;
}

.auth-laptop span:nth-child(2) {
    left: 96px;
    height: 54px;
}

.auth-laptop span:nth-child(3) {
    left: 122px;
    height: 78px;
}

.auth-printer {
    position: absolute;
    right: 5%;
    bottom: 68px;
    width: 168px;
    height: 118px;
    border-radius: 24px 24px 14px 14px;
    background: linear-gradient(180deg, #f5f8fb, #bcc8d4);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.38);
}

.auth-printer::before {
    content: "";
    position: absolute;
    left: 36px;
    top: 20px;
    width: 96px;
    height: 18px;
    border-radius: 12px;
    background: #334155;
}

.auth-printer::after {
    content: "";
    position: absolute;
    left: 42px;
    bottom: 18px;
    width: 84px;
    height: 34px;
    border-radius: 8px;
    background: #e8eef5;
}

.auth-binder {
    position: absolute;
    bottom: 71px;
    width: 25px;
    height: 112px;
    border-radius: 4px 4px 2px 2px;
    background: linear-gradient(180deg, #f7f2e8, #b7afa2);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), 0 10px 22px rgba(0, 0, 0, 0.28);
}

.auth-binder-1 {
    right: 28%;
}

.auth-binder-2 {
    right: 24.5%;
}

.auth-binder-3 {
    right: 21%;
}

.auth-floating-card {
    position: absolute;
    display: none;
    z-index: 3;
    width: 170px;
    min-height: 104px;
    padding: 13px 14px;
    border-radius: 12px;
    color: #eaf6ff;
    background: linear-gradient(145deg, rgba(9, 39, 68, 0.82), rgba(10, 82, 139, 0.46));
    border: 1px solid rgba(96, 165, 250, 0.42);
    box-shadow: 0 16px 35px rgba(3, 10, 24, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(12px);
}

.auth-floating-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.16), transparent 42%);
    pointer-events: none;
}

.auth-floating-card-1 {
    left: 31%;
    top: 104px;
}

.auth-floating-card-2 {
    left: 47%;
    top: 98px;
}

.auth-floating-card-3 {
    left: 35%;
    top: 282px;
}

.auth-floating-card-4 {
    left: 52%;
    top: 278px;
}

.auth-floating-title {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
    color: #cfe7ff;
}

.auth-floating-line,
.auth-floating-status {
    position: relative;
    z-index: 1;
    margin-top: 7px;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.82);
}

.auth-floating-status em {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 8px;
    margin-right: 3px;
    border-radius: 0 16px 16px 0;
    background: #22c55e;
    box-shadow: 0 0 12px #22c55e;
}

.auth-mini-chart {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: end;
    gap: 7px;
    height: 34px;
    margin-top: 6px;
}

.auth-mini-chart span {
    flex: 1;
    border-radius: 0 16px 16px 0;
    background: linear-gradient(180deg, #3cc8ff, #0b63f6);
}

.auth-bar-chart {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 5px;
    margin-top: 10px;
}

.auth-bar-chart span {
    height: 28px;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, #53d8ff, #0f68ff);
}

.auth-bar-chart span:nth-child(2) {
    height: 36px;
}

.auth-bar-chart span:nth-child(4) {
    height: 42px;
}

.auth-bar-chart span:nth-child(6) {
    height: 48px;
}

.auth-ring {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 18px;
    width: 42px;
    height: 42px;
    border-radius: 0 16px 16px 0;
    background: conic-gradient(#0b7cff 0 72%, rgba(255, 255, 255, 0.16) 72% 100%);
}

.auth-ring::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: inherit;
    background: rgba(9, 45, 78, 0.92);
}

.auth-feature-strip {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 4;
    width: min(830px, 61%);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 22px 28px;
    border-radius: 12px;
    background: rgba(4, 18, 37, 0.78);
    border: 1px solid rgba(96, 165, 250, 0.18);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(14px);
}

.auth-feature-item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.auth-feature-item i {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 16px 16px 0;
    color: #33a7ff;
    font-size: 24px;
    background: rgba(8, 88, 184, 0.18);
    box-shadow: inset 0 0 0 2px rgba(32, 147, 255, 0.45), 0 0 24px rgba(6, 101, 240, 0.24);
}

.auth-feature-item strong {
    display: block;
    color: #ffffff;
    font-size: 15px;
    margin-bottom: 5px;
}

.auth-feature-item span {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
}

.auth-panel {
    position: absolute;
    z-index: 5;
    top: 50%;
    right: clamp(0px, 3vw, 52px);
    width: clamp(340px, 29vw, 390px);
    padding: 58px 30px 44px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(250, 253, 255, 0.94), rgba(239, 246, 255, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.78);
    box-shadow: 0 30px 80px rgba(2, 6, 23, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.88);
    color: #0f1f36;
    backdrop-filter: blur(22px);
    transform: translateY(-50%);
}

.auth-panel-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px;
}

.auth-theme-toggle {
    flex: none;
    min-width: 118px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid rgba(96, 165, 250, 0.22);
    border-radius: 0 16px 16px 0;
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.98), rgba(231, 239, 255, 0.9));
    color: #1554d7;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.02em;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.auth-theme-toggle:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(232, 241, 255, 0.98));
    border-color: rgba(37, 99, 235, 0.26);
    color: #0f4ed2;
    transform: translateY(-1px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.auth-theme-toggle i {
    font-size: 15px;
}

.auth-theme-toggle-label {
    min-width: 4em;
    text-align: center;
}

.auth-theme-toggle:focus-visible {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.18), 0 12px 26px rgba(15, 23, 42, 0.08);
}

.auth-panel-brand {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 40px;
    color: #17315e;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.auth-panel-brand::after {
    content: "";
    position: absolute;
    left: 10px;
    bottom: -20px;
    width: 48px;
    height: 3px;
    border-radius: 0 16px 16px 0;
    background: linear-gradient(90deg, #177dff, #0b55ff);
    box-shadow: 0 6px 14px rgba(13, 110, 253, 0.24);
}

.auth-panel-logo {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    border-radius: 13px;
    font-size: 27px;
    background: linear-gradient(155deg, #1fa0ff 0%, #0a64ff 58%, #064adf 100%);
    box-shadow: 0 14px 28px rgba(13, 94, 242, 0.3);
}

.auth-panel-brand-text {
    display: grid;
    gap: 5px;
}

.auth-panel-brand-text span {
    display: block;
    line-height: 1;
}

.auth-panel-brand-text strong {
    display: block;
    color: #17315e;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.auth-panel-heading {
    margin-bottom: 24px;
}

.auth-panel-heading h2 {
    margin: 0 0 8px;
    font-size: 21px;
    font-weight: 900;
    color: #0e2545;
}

.auth-panel-heading p {
    margin: 0;
    color: #8a97aa;
    font-size: 13px;
}

.auth-alert {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin-bottom: 16px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 13px;
}

.auth-form {
    display: grid;
    gap: 16px;
}

.auth-field {
    position: relative;
}

.auth-field > i {
    position: absolute;
    top: 50%;
    left: 17px;
    z-index: 2;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 18px;
}

.auth-field .form-control,
.auth-field .form-select {
    height: 50px;
    min-height: 50px;
    padding-left: 50px;
    padding-right: 46px;
    border: 1px solid rgba(226, 232, 240, 0.82);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.92);
    color: #14243b;
    font-weight: 600;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.auth-shell.ams-dark .auth-page {
    color: #e5eefb;
}

.auth-shell.ams-dark .auth-page::before {
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.5) 0%, rgba(2, 6, 23, 0.18) 48%, rgba(2, 6, 23, 0.38) 100%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.3) 0%, transparent 32%, rgba(2, 6, 23, 0.68) 100%);
}

.auth-shell.ams-dark .auth-backdrop {
    background:
        radial-gradient(circle at 12% 8%, rgba(59, 130, 246, 0.2), transparent 30%),
        radial-gradient(circle at 88% 6%, rgba(14, 165, 233, 0.16), transparent 28%),
        linear-gradient(90deg, rgba(2, 8, 20, 0.9) 0%, rgba(2, 8, 20, 0.56) 46%, rgba(2, 8, 20, 0.58) 100%),
        linear-gradient(180deg, rgba(2, 6, 23, 0.26) 0%, rgba(2, 6, 23, 0.06) 50%, rgba(2, 6, 23, 0.8) 100%),
        url("/static/images/login-asset-background.png?v=20260510_1935") center center / cover no-repeat;
}

.auth-shell.ams-dark .auth-backdrop::before {
    background:
        radial-gradient(circle at 16% 28%, rgba(255, 255, 255, 0.06), transparent 26%),
        radial-gradient(circle at 72% 22%, rgba(96, 165, 250, 0.16), transparent 26%);
}

.auth-shell.ams-dark .auth-backdrop::after {
    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.56) 0%, transparent 32%, rgba(2, 6, 23, 0.24) 100%),
        linear-gradient(180deg, transparent 0 56%, rgba(2, 6, 23, 0.8) 100%);
}

.auth-shell.ams-dark .auth-panel {
    background: linear-gradient(180deg, rgba(10, 17, 33, 0.92), rgba(9, 15, 28, 0.88));
    border-color: rgba(148, 163, 184, 0.16);
    box-shadow: 0 30px 80px rgba(2, 6, 23, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    color: #eaf2ff;
}

.auth-shell.ams-dark .auth-panel-brand,
.auth-shell.ams-dark .auth-panel-brand-text strong,
.auth-shell.ams-dark .auth-panel-heading h2 {
    color: #f8fbff;
}

.auth-shell.ams-dark .auth-panel-heading p {
    color: #94a3b8;
}

.auth-shell.ams-dark .auth-panel-brand::after {
    background: linear-gradient(90deg, #38bdf8, #2563eb);
}

.auth-shell.ams-dark .auth-field > i {
    color: #94a3b8;
}

.auth-shell.ams-dark .auth-field .form-control,
.auth-shell.ams-dark .auth-field .form-select {
    border-color: rgba(148, 163, 184, 0.16);
    background-color: rgba(15, 23, 42, 0.72);
    color: #f8fbff;
    box-shadow: 0 12px 24px rgba(2, 6, 23, 0.22);
}

.auth-shell.ams-dark .auth-field .form-control::placeholder {
    color: #94a3b8;
}

.auth-shell.ams-dark .auth-field .form-control:focus,
.auth-shell.ams-dark .auth-field .form-select:focus {
    border-color: rgba(96, 165, 250, 0.5);
    background-color: rgba(15, 23, 42, 0.88);
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.16), 0 12px 24px rgba(2, 6, 23, 0.22);
}

.auth-shell.ams-dark .auth-password-toggle {
    color: #94a3b8;
}

.auth-shell.ams-dark .auth-password-toggle:hover {
    color: #bfdbfe;
    background: rgba(59, 130, 246, 0.14);
}

.auth-shell.ams-dark .auth-theme-toggle {
    border-color: rgba(96, 165, 250, 0.22);
    background: rgba(15, 23, 42, 0.72);
    color: #dbeafe;
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.18);
}

.auth-shell.ams-dark .auth-theme-toggle:hover {
    background: rgba(15, 23, 42, 0.9);
}

.auth-field .form-control::placeholder {
    color: #9aa8ba;
    font-weight: 500;
}

.auth-field .form-control:focus,
.auth-field .form-select:focus {
    border-color: rgba(37, 99, 235, 0.62);
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.13), 0 12px 24px rgba(15, 23, 42, 0.06);
}

.auth-password-toggle {
    position: absolute;
    top: 50%;
    right: 14px;
    z-index: 3;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    color: #7d8da3;
    background: transparent;
    transform: translateY(-50%);
}

.auth-password-toggle:hover {
    color: #0d6efd;
    background: rgba(13, 110, 253, 0.08);
}

.auth-submit {
    width: 100%;
    height: 50px;
    margin-top: 10px;
    border: 0;
    border-radius: 8px;
    font-weight: 800;
    letter-spacing: 0.02em;
    background: linear-gradient(180deg, #0b7cff 0%, #075cf4 100%);
    box-shadow: 0 16px 28px rgba(9, 93, 239, 0.34);
}

.auth-submit:hover {
    background: linear-gradient(180deg, #1b86ff, #064fd7);
    box-shadow: 0 18px 30px rgba(9, 93, 239, 0.4);
}

@media (max-width: 1199.98px) {
    .auth-panel {
        width: 330px;
        padding: 44px 26px 34px;
    }

    .auth-panel-topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .auth-theme-toggle {
        justify-content: center;
    }

    .auth-panel-brand {
        margin-bottom: 20px;
        font-size: 24px;
    }

    .auth-panel-heading {
        margin-bottom: 20px;
    }

    .auth-form {
        gap: 12px;
    }

    .auth-field .form-control,
    .auth-field .form-select {
        height: 48px;
        min-height: 48px;
    }

    .auth-submit {
        height: 46px;
    }

    .auth-floating-card-2,
    .auth-floating-card-4 {
        display: none;
    }

    .auth-feature-strip {
        width: min(760px, 60%);
    }
}

@media (max-width: 991.98px) {
    .auth-visual {
        padding: 24px;
    }

    .auth-hero {
        min-height: auto;
        display: grid;
        gap: 28px;
    }

    .auth-hero-copy {
        width: auto;
        padding: 0;
    }

    .auth-scene,
    .auth-floating-card,
    .auth-feature-strip {
        display: none;
    }

    .auth-panel {
        position: relative;
        top: auto;
        right: auto;
        width: min(100%, 440px);
        margin: 0 auto;
        transform: none;
    }
}

@media (max-width: 575.98px) {
    .auth-visual {
        align-items: stretch;
        padding: 20px 14px;
    }

    .auth-brand-word {
        font-size: 48px;
    }

    .auth-hero-copy h1 {
        font-size: 18px;
    }

    .auth-hero-copy p {
        font-size: 13px;
    }

    .auth-panel {
        padding: 28px 18px 24px;
        border-radius: 18px;
    }

    .auth-panel-brand {
        margin-bottom: 22px;
        font-size: 24px;
    }

    .auth-panel-heading h2 {
        font-size: 24px;
    }
}

/* 资产品类页面深色适配 */
body.ams-dark.category-config-body {
    background:
        radial-gradient(circle at 10% 8%, rgba(59, 130, 246, 0.18), transparent 28%),
        radial-gradient(circle at 88% 6%, rgba(14, 165, 233, 0.12), transparent 24%),
        linear-gradient(180deg, #050b16 0%, #081120 46%, #070d18 100%);
}

body.ams-dark.category-config-body .main-content {
    background: transparent;
}

body.ams-dark.category-config-body .category-config-title,
body.ams-dark.category-config-body .category-mobile-title {
    color: #f4f8ff;
}

body.ams-dark.category-config-body .category-config-subtitle,
body.ams-dark.category-config-body .category-hero-tools,
body.ams-dark.category-config-body .category-stat-label,
body.ams-dark.category-config-body .category-code,
body.ams-dark.category-config-body .category-mobile-meta,
body.ams-dark.category-config-body .text-muted,
body.ams-dark.category-config-body .form-text {
    color: #8ea3c1 !important;
}

body.ams-dark.category-config-body .category-hero-user {
    color: #d6e4fb;
}

body.ams-dark.category-config-body .category-hero-avatar,
body.ams-dark.category-config-body .category-stat-icon,
body.ams-dark.category-config-body .category-thumb {
    background: rgba(47, 124, 255, 0.14);
    color: #8db6ff;
}

body.ams-dark.category-config-body .category-stat-card,
body.ams-dark.category-config-body .category-panel,
body.ams-dark.category-config-body .category-mobile-card {
    background: linear-gradient(180deg, rgba(10, 18, 32, 0.96), rgba(8, 15, 28, 0.94));
    border: 1px solid rgba(96, 165, 250, 0.14);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(16px);
}

body.ams-dark.category-config-body .category-stat-card::after {
    background: rgba(59, 130, 246, 0.12);
}

body.ams-dark.category-config-body .category-search .form-control,
body.ams-dark.category-config-body .category-add-form .form-control,
body.ams-dark.category-config-body .category-filter-btn {
    background: rgba(10, 18, 32, 0.96);
    border-color: rgba(96, 165, 250, 0.16);
    color: #d7e5f8;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

body.ams-dark.category-config-body .category-search .form-control::placeholder,
body.ams-dark.category-config-body .category-search i,
body.ams-dark.category-config-body .drag-handle {
    color: #7f95b6;
}

body.ams-dark.category-config-body .category-filter-btn:hover,
body.ams-dark.category-config-body .drag-handle:hover {
    background: rgba(47, 124, 255, 0.14);
    color: #eaf2ff;
}

body.ams-dark.category-config-body .category-add-btn {
    box-shadow: 0 14px 28px rgba(47, 124, 255, 0.24);
}

body.ams-dark.category-config-body .category-table-wrap {
    background: rgba(8, 15, 28, 0.96);
    border-color: rgba(96, 165, 250, 0.12);
}

body.ams-dark.category-config-body .category-table thead th {
    background: rgba(12, 21, 38, 0.98);
    color: #9db4d6;
    border-bottom-color: rgba(148, 163, 184, 0.14);
}

body.ams-dark.category-config-body .category-table tbody td {
    color: #d3def0;
    border-color: rgba(148, 163, 184, 0.1);
}

body.ams-dark.category-config-body .category-row:hover {
    background: rgba(47, 124, 255, 0.08);
}

body.ams-dark.category-config-body .category-status {
    color: #d8e6fb;
}

body.ams-dark.category-config-body .category-status::before {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.16);
}

body.ams-dark.category-config-body .ams-action-link {
    color: #7eb0ff;
}

body.ams-dark.category-config-body .ams-action-link-danger {
    color: #f87171;
}

body.ams-dark.category-config-body .sortable-ghost {
    background-color: rgba(47, 124, 255, 0.16) !important;
}

body.ams-dark.category-config-body .sortable-chosen {
    background-color: rgba(47, 124, 255, 0.12) !important;
}

body.ams-dark.category-config-body .modal-content {
    background: linear-gradient(180deg, rgba(10, 18, 32, 0.98), rgba(8, 15, 28, 0.96));
    border-color: rgba(96, 165, 250, 0.16);
    color: #e6eefc;
}

body.ams-dark.category-config-body .modal-header,
body.ams-dark.category-config-body .modal-footer {
    border-color: rgba(148, 163, 184, 0.12);
}

body.ams-dark.category-config-body .modal-title,
body.ams-dark.category-config-body .form-label {
    color: #f4f8ff;
}

body.ams-dark.category-config-body .form-control,
body.ams-dark.category-config-body .form-select {
    background: rgba(15, 23, 42, 0.84);
    border-color: rgba(148, 163, 184, 0.18);
    color: #f8fbff;
}

body.ams-dark.category-config-body .form-control::placeholder {
    color: #7f95b6;
}

body.ams-dark.category-config-body .form-control:focus,
body.ams-dark.category-config-body .form-select:focus {
    border-color: rgba(63, 131, 255, 0.54);
    box-shadow: 0 0 0 0.2rem rgba(63, 131, 255, 0.14);
}

body.ams-dark.category-config-body .btn-outline-secondary {
    background: rgba(10, 18, 32, 0.92);
    border-color: rgba(148, 163, 184, 0.2);
    color: #c3d2ea;
}

body.ams-dark.category-config-body .btn-close {
    filter: invert(1) grayscale(100%);
}

body.ams-dark.category-config-body .category-mobile-tab {
    color: #8ea3c1;
}

body.ams-dark.category-config-body .category-mobile-tab.active {
    color: #7eb0ff;
}

body.ams-dark.category-config-body .category-mobile-tab.active::after {
    background: #2f7cff;
}

/* 数据采集页面 */
.capture-page {
    min-height: calc(100vh - 64px);
}

.capture-card {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    padding: 20px 20px 18px;
}

.capture-room-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.capture-form .form-label {
    font-size: 0.9rem;
    color: #495057;
}

.capture-form .form-control {
    border-radius: 8px;
}

.capture-room-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 767.98px) {
    .capture-room-actions {
        grid-template-columns: 1fr;
    }
}

.capture-room-card {
    border-radius: 10px;
    border: 1px solid #e9ecef;
    transition: box-shadow 0.2s ease, transform 0.1s ease, border-color 0.2s ease;
}

.capture-room-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
    border-color: #d0d7de;
    transform: translateY(-1px);
}

.capture-image-grid {
    margin-top: 8px;
}

.capture-image-card {
    border-radius: 10px;
    overflow: hidden;
}

.capture-image-thumb {
    height: 120px;
    object-fit: cover;
}

.capture-image-meta-form .form-control-sm {
    font-size: 0.78rem;
}

.capture-image-meta-form textarea.form-control-sm {
    resize: vertical;
}

.capture-image-card .btn-sm {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

/* 遮罩�?*/
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s;
}

.overlay.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.border-white-10 {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-dark {
    color: #111827 !important;
}

@media (max-width: 1199.98px) {
    .toolbar-container {
        padding: 0 12px;
        gap: 10px;
    }

    .toolbar-brand {
        gap: 10px;
    }

    .brand-logo {
        gap: 7px;
    }

    .brand-logo i {
        font-size: 21px;
    }

    .brand-text {
        font-size: 18px;
    }

    .nav-group {
        gap: 4px;
    }

    .nav-item {
        gap: 5px;
        padding: 6px 9px;
        font-size: 13px;
    }

    .nav-item i {
        font-size: 15px;
    }

    .toolbar-user {
        gap: 8px;
    }

    .theme-toggle-btn-inline {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .search-box input {
        width: 150px;
    }

    .search-box input:focus {
        width: 170px;
    }

    .toolbar-user form {
        max-width: 112px;
    }

    .toolbar-user .form-select {
        max-width: 112px;
        padding-left: 0.65rem;
        padding-right: 1.65rem;
    }

    .user-details {
        display: none;
    }

    .user-menu-btn {
        padding: 6px 8px;
    }
}

@media (max-width: 1024px) {
    .toolbar-container {
        padding: 0 12px;
        gap: 10px;
    }

    .mobile-menu-btn {
        display: block;
    }

    .toolbar-nav {
        display: none;
    }

    .nav-group {
        gap: 6px;
    }

    .nav-item {
        padding: 8px 12px;
        font-size: 13px;
    }

    .toolbar-user {
        gap: 10px;
    }

    .search-box,
    .user-details {
        display: none;
    }

    .toolbar-user form {
        max-width: 132px;
    }

    .toolbar-user .form-select {
        max-width: 132px;
        padding-right: 1.75rem;
    }
}

@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }
    
    .toolbar-nav {
        display: none;
    }
    
    .toolbar-user {
        gap: 15px;
    }
    
    .search-box {
        display: none;
    }
    
    .user-details {
        display: none;
    }
    
    .main-content {
        padding: 15px;
    }

    .btn,
    .btn-sm,
    .form-control,
    .form-select {
        min-height: 44px;
    }

    .auth-page {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }

    .capture-page {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    /* 手机端资产列表页面按钮布局优化 */
    .assets-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 10px;
    }

    .assets-header .btn-group-mobile {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .assets-header .btn-group-mobile .btn {
        flex: 0 0 auto;
        min-width: 80px;
        white-space: nowrap;
    }

    .assets-table-wrapper {
        display: none;
    }

    .ams-mobile-card-list {
        display: block;
    }
}

@media (max-width: 480px) {
    .toolbar-container {
        padding: 0 10px;
    }
    
    .brand-text {
        font-size: 16px;
    }
    
    .toolbar-user {
        gap: 10px;
    }
    
    .main-content {
        padding: 10px;
    }
}

/* 原有样式保持 */
.table-responsive {
    width: 100%;
    overflow-x: auto;
}

.ams-table-scroll {
    max-height: 70vh;
}

/* 资产列表表格在小屏幕时保持完整宽�?*/
.assets-table-wrapper table {
    min-width: 1200px;
}

.card img {
    object-fit: cover;
    height: 160px;
}

/* 字段排序列表样式 */
.column-sortable-list {
    max-height: 400px;
    overflow-y: auto;
}

.column-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    margin-bottom: 8px;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    cursor: move;
    transition: all 0.2s;
}

.column-item:hover {
    background: #e9ecef;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.column-item.dragging {
    opacity: 0.5;
    background: var(--ams-primary);
    color: white;
}

.column-item.drag-over {
    border-top: 3px solid var(--ams-primary);
}

.drag-handle {
    color: #6c757d;
    cursor: grab;
    display: flex;
    align-items: center;
}

.drag-handle:active {
    cursor: grabbing;
}

.column-item .form-check {
    flex: 1;
    margin: 0;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* 深色主题（AMS Dark�?*/
body.ams-dark {
    --ams-bg: #070d18;
    --ams-bg-gradient:
        radial-gradient(circle at 12% 8%, rgba(37, 99, 235, 0.20), transparent 30%),
        radial-gradient(circle at 88% 6%, rgba(14, 165, 233, 0.16), transparent 28%),
        linear-gradient(180deg, #050b16 0%, #091326 42%, #070d18 100%);
    --ams-card: rgba(12, 22, 38, 0.92);
    --ams-card-soft: rgba(14, 25, 43, 0.9);
    --ams-border: rgba(148, 163, 184, 0.22);
    --ams-text: #e6eefc;
    --ams-text-body: #c3d2ea;
    --ams-muted: #8ea3c1;
    --ams-primary: #2f7cff;
    --ams-primary-hover: #1f69f0;
    --ams-nav-bg: rgba(6, 14, 28, 0.94);
    --ams-nav-item-hover: rgba(73, 133, 255, 0.22);
    --ams-nav-item-active: rgba(73, 133, 255, 0.3);
    --ams-shadow: 0 18px 40px rgba(1, 7, 19, 0.5);
    --ams-shadow-lg: 0 26px 56px rgba(0, 6, 18, 0.62);
    --ams-focus-ring: rgba(63, 131, 255, 0.33);
    --ams-surface-muted: rgba(17, 30, 50, 0.8);
}

body.ams-dark .top-toolbar {
    background: var(--ams-nav-bg);
    border-bottom: 1px solid rgba(88, 127, 198, 0.28);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(12px);
}

body.ams-dark .mobile-menu-btn,
body.ams-dark .brand-logo,
body.ams-dark .user-name,
body.ams-dark .user-avatar,
body.ams-dark .user-menu-btn {
    color: #eef4ff;
}

body.ams-dark .theme-toggle-btn-inline {
    border-color: rgba(122, 162, 255, 0.18);
    background: rgba(16, 24, 40, 0.72);
    color: #dbe7ff;
}

body.ams-dark .theme-toggle-btn-inline:hover {
    background: rgba(24, 34, 54, 0.96);
    color: #ffffff;
}

body.ams-dark .theme-toggle-action {
    color: #dbe7ff;
}

body.ams-dark .theme-toggle-action:hover {
    background: rgba(29, 78, 216, 0.18);
}

body.ams-dark .main-content,
body.ams-dark .card,
body.ams-dark .modal-content,
body.ams-dark .table-responsive,
body.ams-dark .asset-more-filter-btn,
body.ams-dark .asset-custom-filter-btn,
body.ams-dark .asset-quick-filter-order-actions .btn {
    background: rgba(10, 18, 32, 0.94);
    border-color: rgba(96, 165, 250, 0.16);
    color: #c5d5ec;
}

body.ams-dark .asset-more-filter-btn.has-active-hidden-filter {
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.42);
    background: rgba(37, 99, 235, 0.22);
}

body.ams-dark .asset-quick-filter-tip,
body.ams-dark .asset-quick-filter-item {
    background: rgba(10, 18, 32, 0.94);
    border-color: rgba(96, 165, 250, 0.16);
    color: #c5d5ec;
}
body.ams-dark .asset-insight-panel,
body.ams-dark .asset-table-card,
body.ams-dark .admin-card,
body.ams-dark .capture-card,
body.ams-dark .capture-room-card,
body.ams-dark .ams-mobile-asset-card,
body.ams-dark .assets-table-wrapper {
    background: var(--ams-card-soft);
    border-color: var(--ams-border);
    box-shadow: var(--ams-shadow);
}

body.ams-dark .assets-table-wrapper {
    overflow: auto;
}

body.ams-dark .table thead th,
body.ams-dark .assets-table-freeze thead th,
body.ams-dark .admin-table thead th,
body.ams-dark .asset-modern-table thead th {
    background: rgba(19, 32, 54, 0.95) !important;
    color: #9db4d6;
    border-color: rgba(148, 163, 184, 0.2);
}

body.ams-dark .assets-table-wrapper table,
body.ams-dark .asset-modern-table {
    background: rgba(8, 15, 28, 0.96);
}

body.ams-dark .asset-modern-table tbody tr {
    background: rgba(8, 15, 28, 0.72);
}

body.ams-dark .asset-modern-table tbody tr:nth-child(odd) {
    background: rgba(9, 17, 31, 0.78);
}

body.ams-dark .table tbody td,
body.ams-dark .admin-table tbody td,
body.ams-dark .asset-modern-table tbody td,
body.ams-dark .asset-modern-table {
    color: var(--ams-text-body);
    border-color: rgba(148, 163, 184, 0.14);
}

body.ams-dark .assets-table-wrapper tbody,
body.ams-dark .asset-modern-table tbody,
body.ams-dark .asset-modern-table tbody tr,
body.ams-dark .asset-modern-table tbody td {
    background: transparent;
}

body.ams-dark .asset-modern-table tbody tr:hover,
body.ams-dark .asset-view-row.active,
body.ams-dark .asset-view-row:hover,
body.ams-dark .asset-status-row.active,
body.ams-dark .asset-status-row:hover {
    background: rgba(47, 124, 255, 0.14);
    color: #d9e7ff;
}

body.ams-dark .asset-modern-table tbody tr:hover td,
body.ams-dark .asset-modern-table tbody tr.asset-focus-target td {
    color: #eaf2ff;
}

body.ams-dark .form-control,
body.ams-dark .form-select,
body.ams-dark .asset-icon-btn,
body.ams-dark .asset-row-action,
body.ams-dark .asset-pagination-wrap .page-link,
body.ams-dark .btn-outline-secondary,
body.ams-dark .asset-reset-btn,
body.ams-dark .column-item {
    background: rgba(12, 22, 38, 0.9);
    border-color: rgba(148, 163, 184, 0.24);
    color: var(--ams-text-body);
}

body.ams-dark .form-control::placeholder {
    color: #7f95b6;
}

body.ams-dark .form-control:focus,
body.ams-dark .form-select:focus {
    background: rgba(16, 29, 49, 0.96);
    border-color: rgba(63, 131, 255, 0.54);
}

body.ams-dark .dropdown-menu,
body.ams-dark .mobile-sidebar {
    background: rgba(9, 18, 33, 0.98);
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 16px 36px rgba(1, 7, 19, 0.62);
}

body.ams-dark .dropdown-item,
body.ams-dark .sidebar-item {
    color: #b9cae5;
}

body.ams-dark .dropdown-item:hover,
body.ams-dark .sidebar-item:hover {
    background-color: rgba(47, 124, 255, 0.14);
    color: #e8f0ff;
}

body.ams-dark .sidebar-item.active,
body.ams-dark .asset-pagination-wrap .page-item.active .page-link {
    background: linear-gradient(135deg, #2f7cff, #1f69f0);
    border-color: #2f7cff;
    color: #ffffff;
}

body.ams-dark .text-gray-900,
body.ams-dark .asset-list-title,
body.ams-dark .asset-table-title,
body.ams-dark .admin-page-hero h1,
body.ams-dark .admin-card-head h2,
body.ams-dark .modal-title {
    color: var(--ams-text) !important;
}

body.ams-dark .text-gray-700,
body.ams-dark .text-gray-600,
body.ams-dark .asset-list-subtitle,
body.ams-dark .asset-table-meta,
body.ams-dark .admin-page-hero p,
body.ams-dark .admin-card-head p,
body.ams-dark .capture-form .form-label,
body.ams-dark .sidebar-item,
body.ams-dark .dropdown-divider,
body.ams-dark .column-item {
    color: var(--ams-muted) !important;
    border-color: rgba(148, 163, 184, 0.18);
}

body.ams-dark .admin-page-body,
body.ams-dark.admin-page-body {
    background:
        radial-gradient(circle at 14% 8%, rgba(37, 99, 235, 0.16), transparent 30%),
        radial-gradient(circle at 90% 12%, rgba(14, 165, 233, 0.14), transparent 28%),
        linear-gradient(180deg, #050b16 0%, #091326 46%, #070d18 100%);
}

body.ams-dark .asset-list-page::before {
    background:
        radial-gradient(circle at 14% 14%, rgba(56, 189, 248, 0.18), transparent 24%),
        radial-gradient(circle at 84% 10%, rgba(59, 130, 246, 0.22), transparent 24%),
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.08), transparent 38%),
        linear-gradient(180deg, rgba(5, 11, 22, 0.96) 0%, rgba(5, 11, 22, 0) 100%);
}

body.ams-dark .asset-list-page .table-responsive {
    background: rgba(8, 15, 28, 0.98);
    border-color: rgba(96, 165, 250, 0.12);
}

body.ams-dark .asset-list-title {
    text-shadow: 0 0 24px rgba(47, 124, 255, 0.18);
}

body.ams-dark .asset-list-subtitle {
    color: #8ca0be;
}

body.ams-dark .asset-list-actions .btn,
body.ams-dark .asset-search-btn {
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

body.ams-dark .asset-filter-bar .form-control,
body.ams-dark .asset-filter-bar .form-select {
    background: rgba(10, 18, 32, 0.96);
    border-color: rgba(96, 165, 250, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 10px 24px rgba(0, 0, 0, 0.18);
}

body.ams-dark .asset-filter-bar .form-control:focus,
body.ams-dark .asset-filter-bar .form-select:focus {
    border-color: rgba(56, 189, 248, 0.5);
    box-shadow: 0 0 0 0.2rem rgba(56, 189, 248, 0.12), 0 12px 24px rgba(0, 0, 0, 0.18);
}

body.ams-dark .asset-filter-search i {
    color: #7890b0;
}

body.ams-dark .asset-reset-btn {
    background: rgba(10, 18, 32, 0.94);
    color: #c5d5ec;
}

body.ams-dark .asset-insight-panel,
body.ams-dark .asset-table-card {
    background: linear-gradient(180deg, rgba(10, 18, 32, 0.96), rgba(8, 15, 28, 0.94));
    border: 1px solid rgba(96, 165, 250, 0.14);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(16px);
}

body.ams-dark .asset-insight-panel {
    padding: 18px 14px;
}

body.ams-dark .asset-insight-toggle-btn {
    color: #8dbbff;
    border-color: rgba(96, 165, 250, 0.26);
    background: rgba(10, 18, 32, 0.96);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32);
}

body.ams-dark .asset-insight-toggle-btn:hover {
    color: #ffffff;
    border-color: rgba(96, 165, 250, 0.72);
    background: linear-gradient(135deg, #2f7cff, #1f69f0);
}

@media (min-width: 992px) {
    body.ams-dark .asset-dashboard-grid.is-insight-collapsed .asset-insight-panel {
        border-color: transparent;
        background: transparent;
        box-shadow: none;
    }
}

body.ams-dark .asset-insight-title {
    color: #d7e5f8;
}

body.ams-dark .asset-insight-section + .asset-insight-section {
    border-top-color: rgba(148, 163, 184, 0.12);
}

body.ams-dark .asset-view-row,
body.ams-dark .asset-status-row {
    color: #aebfd8;
}

body.ams-dark .asset-view-row strong,
body.ams-dark .asset-status-row strong {
    color: #7eb0ff;
}

body.ams-dark .asset-view-row.active,
body.ams-dark .asset-view-row:hover,
body.ams-dark .asset-status-row.active,
body.ams-dark .asset-status-row:hover {
    background: rgba(47, 124, 255, 0.16);
    color: #eef5ff;
}

body.ams-dark .asset-status-dot,
body.ams-dark .asset-status-dot-2,
body.ams-dark .asset-status-dot-3,
body.ams-dark .asset-status-dot-4,
body.ams-dark .asset-status-dot-other {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.03);
}

body.ams-dark .asset-table-toolbar {
    padding: 9px 14px 8px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    background: linear-gradient(180deg, rgba(11, 19, 34, 0.98), rgba(9, 16, 29, 0.94));
}

@media (min-width: 768px) {
    body.ams-dark .asset-table-toolbar.is-selection-mode {
        border-bottom-color: rgba(96, 165, 250, 0.22);
        background: linear-gradient(90deg, rgba(17, 40, 72, 0.98), rgba(10, 22, 40, 0.98));
        box-shadow: inset 3px 0 0 #60a5fa;
    }

}

body.ams-dark .asset-selection-summary {
    color: #dbeafe;
}

body.ams-dark .asset-selection-summary strong {
    color: #93c5fd;
}

body.ams-dark .asset-selection-scope,
body.ams-dark .asset-selection-cancel {
    color: #9db0cc;
    border-color: rgba(96, 165, 250, 0.18);
    background: rgba(8, 15, 28, 0.72);
}

body.ams-dark .asset-selection-cancel:hover {
    color: #dbeafe;
    border-color: rgba(96, 165, 250, 0.42);
    background: rgba(22, 42, 70, 0.92);
}

body.ams-dark .asset-table-title {
    color: #edf4ff;
}

body.ams-dark .asset-table-meta {
    color: #7f95b6;
}

body.ams-dark .asset-icon-btn,
body.ams-dark .asset-row-action,
body.ams-dark .asset-pagination-wrap .page-link {
    background: rgba(11, 19, 34, 0.96);
    border-color: rgba(96, 165, 250, 0.14);
    color: #aebfd8;
}

body.ams-dark .asset-icon-btn:hover,
body.ams-dark .asset-row-action:hover,
body.ams-dark .asset-pagination-wrap .page-link:hover {
    background: rgba(47, 124, 255, 0.16);
    border-color: rgba(96, 165, 250, 0.32);
    color: #eef5ff;
}

body.ams-dark .asset-modern-table {
    background: transparent;
}

body.ams-dark .asset-modern-table thead th {
    background: rgba(12, 21, 38, 0.98) !important;
    color: #9db4d6;
    border-bottom-color: rgba(148, 163, 184, 0.14);
    box-shadow: inset 0 -1px 0 rgba(148, 163, 184, 0.08);
}

body.ams-dark .asset-modern-table tbody td {
    color: #d3def0;
    border-bottom-color: rgba(148, 163, 184, 0.1);
}

body.ams-dark .asset-modern-table tbody tr:hover {
    background: rgba(47, 124, 255, 0.08);
}

body.ams-dark .asset-modern-table tbody tr.asset-focus-target td {
    background-color: #172a46;
    background-image: none;
    box-shadow: inset 0 1px 0 rgba(96, 165, 250, 0.2), inset 0 -1px 0 rgba(96, 165, 250, 0.2);
}

body.ams-dark .asset-modern-table tbody tr.asset-focus-target:hover td {
    background-color: #1a3152;
    background-image: none;
}

body.ams-dark .asset-modern-table tbody tr.asset-focus-target td:first-child {
    box-shadow: inset 3px 0 0 #60a5fa, inset 0 1px 0 rgba(96, 165, 250, 0.2), inset 0 -1px 0 rgba(96, 165, 250, 0.2);
}

body.ams-dark .asset-status-pill {
    color: #86efac;
    background: rgba(22, 101, 52, 0.34);
    border-color: rgba(74, 222, 128, 0.18);
}

body.ams-dark .asset-quantity-value,
body.ams-dark .asset-code-wrap,
body.ams-dark .asset-modern-table .text-center,
body.ams-dark .asset-modern-table .text-end {
    color: #d9e7ff;
}

body.ams-dark .asset-split-child-badge {
    color: #fdba74;
    background: rgba(124, 45, 18, 0.28);
    border-color: rgba(251, 146, 60, 0.22);
}

body.ams-dark .asset-structure-badge-group {
    color: #bfdbfe;
    background: rgba(37, 99, 235, 0.2);
    border-color: rgba(96, 165, 250, 0.2);
}

body.ams-dark .asset-structure-badge-child {
    color: #fdba74;
    background: rgba(124, 45, 18, 0.28);
    border-color: rgba(251, 146, 60, 0.22);
}

body.ams-dark .asset-structure-badge-normal {
    color: #cbd5e1;
    background: rgba(15, 23, 42, 0.56);
    border-color: rgba(148, 163, 184, 0.18);
}

body.ams-dark .asset-pagination-wrap {
    border-top-color: rgba(148, 163, 184, 0.1);
}

body.ams-dark .asset-pagination-wrap .page-item.active .page-link {
    background: linear-gradient(135deg, #2f7cff, #1f69f0);
    border-color: #2f7cff;
    box-shadow: 0 10px 20px rgba(47, 124, 255, 0.24);
}

body.ams-dark .modal-backdrop {
    background-color: #020611;
}

body.ams-dark .auth-panel {
    background: linear-gradient(180deg, rgba(10, 21, 38, 0.92), rgba(8, 18, 33, 0.9));
    border-color: rgba(148, 163, 184, 0.24);
    color: #dce8fb;
}

body.ams-dark .auth-panel-heading h2,
body.ams-dark .auth-panel-brand,
body.ams-dark .auth-panel-brand-text strong {
    color: #e6eefc;
}

body.ams-dark .auth-field .form-control,
body.ams-dark .auth-field .form-select {
    background: rgba(7, 16, 30, 0.86);
    border-color: rgba(148, 163, 184, 0.24);
    color: #deebff;
}

body.ams-dark .auth-field > i,
body.ams-dark .auth-panel-heading p {
    color: #8ea3c1;
}

@media (max-width: 767.98px) {
    body.ams-dark .asset-filter-bar,
    body.ams-dark .asset-insight-toggle-btn,
    body.ams-dark .asset-table-toolbar,
    body.ams-dark .ams-mobile-asset-card,
    body.ams-dark .asset-pagination-wrap,
    body.ams-dark .asset-mobile-bottom-bar {
        background: linear-gradient(180deg, rgba(10, 18, 32, 0.96), rgba(8, 15, 28, 0.94));
        border-color: rgba(96, 165, 250, 0.14);
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    }
    body.ams-dark .asset-insight-toggle-btn > i {
        color: #93c5fd;
        background: rgba(37, 99, 235, 0.18);
    }

    body.ams-dark .asset-insight-panel,
    body.ams-dark .asset-dashboard-grid.is-insight-collapsed .asset-insight-panel,
    body.ams-dark .asset-table-card {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
    }

    body.ams-dark .asset-table-toolbar {
        padding: 12px 10px;
        border: 1px solid rgba(96, 165, 250, 0.14);
    }

    body.ams-dark .asset-insight-toggle-copy span,
    body.ams-dark .ams-mobile-asset-title,
    body.ams-dark .ams-mobile-asset-code-link,
    body.ams-dark .ams-mobile-more-btn {
        color: #edf4ff;
    }

    body.ams-dark .asset-insight-toggle-copy small,
    body.ams-dark .ams-mobile-asset-meta-label,
    body.ams-dark .ams-mobile-asset-details summary,
    body.ams-dark .ams-mobile-asset-extra span {
        color: #8ea3c1;
    }

    body.ams-dark .ams-mobile-asset-desc,
    body.ams-dark .ams-mobile-asset-meta-value,
    body.ams-dark .ams-mobile-asset-extra strong,
    body.ams-dark .asset-mobile-selected {
        color: #cfe0f7;
    }

    body.ams-dark .ams-mobile-asset-thumb,
    body.ams-dark .ams-mobile-asset-extra div,
    body.ams-dark .asset-mobile-bottom-btn:disabled {
        background: rgba(15, 26, 44, 0.96);
    }

    body.ams-dark .ams-mobile-asset-details {
        border-top-color: rgba(148, 163, 184, 0.14);
    }

    body.ams-dark .ams-mobile-category-badge,
    body.ams-dark .ams-mobile-asset-edit,
    body.ams-dark .asset-mobile-bottom-btn {
        color: #8dbbff;
        background: rgba(47, 124, 255, 0.16);
    }

    body.ams-dark .ams-mobile-asset-card.is-selected {
        border-color: rgba(96, 165, 250, 0.34);
        background: linear-gradient(180deg, rgba(20, 37, 64, 0.98), rgba(9, 16, 29, 0.96));
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
    }
}

.dashboard-page-body {
    background:
        radial-gradient(circle at 10% 6%, rgba(37, 99, 235, 0.12), transparent 30%),
        radial-gradient(circle at 92% 12%, rgba(14, 165, 233, 0.14), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, #eef6ff 52%, #f8fafc 100%);
}

.ams-dashboard-page {
    max-width: 1440px;
    margin: 0 auto;
    padding: 4px 4px 28px;
}

.dashboard-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.dashboard-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    color: #2563eb;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.dashboard-hero h1 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.55rem, 2.2vw, 2.1rem);
    font-weight: 850;
    letter-spacing: -0.04em;
}

.dashboard-hero p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.95rem;
}

.dashboard-hero-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-action-btn,
.dashboard-period {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    color: #334155;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.dashboard-action-btn:hover {
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.2);
    transform: translateY(-1px);
}

.dashboard-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.dashboard-summary-card {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 122px;
    padding: 22px;
    border: 1px solid rgba(226, 232, 240, 0.86);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.dashboard-summary-card::after {
    content: "";
    position: absolute;
    inset: auto -28px -42px auto;
    width: 120px;
    height: 120px;
    border-radius: 0 16px 16px 0;
    background: currentColor;
    opacity: 0.08;
}

.dashboard-summary-icon {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    font-size: 1.65rem;
    color: currentColor;
    background: color-mix(in srgb, currentColor 12%, #ffffff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.dashboard-summary-copy {
    min-width: 0;
}

.dashboard-summary-copy span,
.dashboard-summary-copy em {
    display: block;
    color: #64748b;
    font-style: normal;
    font-size: 0.84rem;
    font-weight: 700;
}

.dashboard-summary-copy strong {
    display: block;
    margin-top: 2px;
    color: #0f172a;
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.dashboard-summary-copy div {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.dashboard-summary-copy small {
    font-size: 0.78rem;
    font-weight: 800;
}

.dashboard-summary-copy small.is-positive {
    color: #10b981;
}

.dashboard-summary-copy small.is-negative {
    color: #ef4444;
}

.dashboard-summary-blue { color: #2563eb; }
.dashboard-summary-green { color: #10b981; }
.dashboard-summary-orange { color: #f97316; }
.dashboard-summary-red { color: #ef4444; }

.dashboard-chart-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.95fr) minmax(520px, 1.25fr);
    gap: 18px;
}

.dashboard-chart-card {
    min-height: 372px;
    padding: 22px;
    border: 1px solid rgba(226, 232, 240, 0.88);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 46px rgba(15, 23, 42, 0.07);
}

.dashboard-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.dashboard-card-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 850;
    letter-spacing: -0.02em;
}

.dashboard-card-head p {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 0.82rem;
}

.dashboard-field-select {
    width: 150px;
    min-height: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    background-color: rgba(248, 250, 252, 0.9);
}

.dashboard-donut-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    align-items: center;
    gap: 26px;
}

.dashboard-donut-wrap {
    position: relative;
    width: 220px;
    height: 220px;
    display: grid;
    place-items: center;
}

.dashboard-donut {
    position: relative;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: conic-gradient(#2563eb 0 100%);
    box-shadow: 0 22px 42px rgba(37, 99, 235, 0.14);
}

.dashboard-donut::after {
    content: "";
    position: absolute;
    inset: 48px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.72);
}

.dashboard-donut-center {
    position: absolute;
    z-index: 2;
    text-align: center;
}

.dashboard-donut-center strong {
    display: block;
    color: #0f172a;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.dashboard-donut-center span {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
}

.dashboard-donut-legend {
    display: grid;
    gap: 12px;
}

.dashboard-legend-row {
    display: grid;
    grid-template-columns: 12px minmax(80px, 1fr) auto;
    align-items: center;
    gap: 10px;
    color: #334155;
}

.dashboard-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.dashboard-legend-row strong,
.dashboard-bar-label span {
    color: #334155;
    font-size: 0.88rem;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-legend-row em {
    color: #64748b;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 700;
}

.dashboard-bar-list {
    display: grid;
    gap: 18px;
    padding: 2px 2px 0;
}

.dashboard-bar-row {
    display: grid;
    grid-template-columns: minmax(92px, 140px) minmax(220px, 1fr) 54px;
    align-items: center;
    gap: 14px;
}

.dashboard-bar-label {
    min-width: 0;
}

.dashboard-bar-label em,
.dashboard-bar-count {
    color: #64748b;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 800;
}

.dashboard-bar-track {
    position: relative;
    overflow: hidden;
    height: 16px;
    border-radius: 0 16px 16px 0;
    background: #e8eef7;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

.dashboard-bar-track span {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 8px;
    border-radius: inherit;
    box-shadow: 0 7px 16px rgba(37, 99, 235, 0.24);
}

.dashboard-bar-count {
    text-align: right;
    color: #334155;
}

.dashboard-empty-mini {
    display: grid;
    place-items: center;
    min-height: 150px;
    color: #94a3b8;
    font-weight: 800;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    background: #f8fafc;
}

body.ams-dark.dashboard-page-body {
    background:
        radial-gradient(circle at 12% 6%, rgba(47, 124, 255, 0.2), transparent 30%),
        radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.12), transparent 28%),
        linear-gradient(180deg, #07101f 0%, #0b1424 48%, #060b14 100%);
}

body.ams-dark .dashboard-hero h1,
body.ams-dark .dashboard-card-head h2,
body.ams-dark .dashboard-summary-copy strong,
body.ams-dark .dashboard-donut-center strong,
body.ams-dark .dashboard-bar-count {
    color: #edf4ff;
}

body.ams-dark .dashboard-hero p,
body.ams-dark .dashboard-card-head p,
body.ams-dark .dashboard-summary-copy span,
body.ams-dark .dashboard-summary-copy em,
body.ams-dark .dashboard-donut-center span,
body.ams-dark .dashboard-legend-row em,
body.ams-dark .dashboard-bar-label em {
    color: #8ea3c1;
}

body.ams-dark .dashboard-summary-card,
body.ams-dark .dashboard-chart-card,
body.ams-dark .dashboard-action-btn,
body.ams-dark .dashboard-period {
    border-color: rgba(96, 165, 250, 0.14);
    background: linear-gradient(180deg, rgba(15, 26, 44, 0.94), rgba(9, 17, 31, 0.92));
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.ams-dark .dashboard-action-btn,
body.ams-dark .dashboard-period,
body.ams-dark .dashboard-legend-row strong,
body.ams-dark .dashboard-bar-label span {
    color: #dbe7ff;
}

body.ams-dark .dashboard-field-select {
    background-color: rgba(8, 15, 28, 0.92);
    border-color: rgba(96, 165, 250, 0.16);
    color: #dbe7ff;
}

body.ams-dark .dashboard-donut::after {
    background: #0b1424;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.12);
}

body.ams-dark .dashboard-bar-track {
    background: rgba(30, 41, 59, 0.82);
}

body.ams-dark .dashboard-empty-mini {
    color: #7f95b6;
    border-color: rgba(96, 165, 250, 0.18);
    background: rgba(8, 15, 28, 0.68);
}

@media (max-width: 1199.98px) {
    .dashboard-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-chart-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .dashboard-page-body .top-toolbar,
    .dashboard-page-body .ams-dashboard-page {
        display: none;
    }
}

.dashboard-page-body {
    background:
        radial-gradient(circle at 8% -10%, rgba(47, 124, 255, 0.12), transparent 36%),
        radial-gradient(circle at 92% 4%, rgba(125, 211, 252, 0.2), transparent 34%),
        linear-gradient(180deg, #f3f7fc 0%, #eef4fb 46%, #f7fafc 100%);
}

.ams-dashboard-page {
    max-width: 1500px;
    padding: 2px 6px 34px;
}

.dashboard-hero {
    align-items: center;
    margin: 2px 0 16px;
}

.dashboard-eyebrow {
    color: #2f7cff;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
}

.dashboard-hero h1 {
    color: #162033;
    font-size: 1.8rem;
    font-weight: 850;
}

.dashboard-hero p {
    color: #6b7890;
    font-size: 0.92rem;
}

.dashboard-action-btn,
.dashboard-period {
    min-height: 34px;
    border-color: rgba(203, 213, 225, 0.72);
    border-radius: 0 16px 16px 0;
    background: rgba(255, 255, 255, 0.72);
    color: #536177;
    box-shadow: 0 10px 26px rgba(42, 77, 122, 0.07);
    backdrop-filter: blur(16px);
}

.dashboard-summary-grid {
    gap: 14px;
    margin-bottom: 16px;
}

.dashboard-summary-card {
    min-height: 116px;
    align-items: flex-start;
    gap: 14px;
    padding: 20px 18px 18px;
    border: 1px solid rgba(226, 232, 240, 0.86);
    border-radius: 16px;
    background:
        radial-gradient(circle at 97% 96%, color-mix(in srgb, currentColor 11%, transparent) 0 42px, transparent 43px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.86));
    box-shadow: 0 16px 34px rgba(37, 64, 101, 0.08);
}

.dashboard-summary-card::after {
    inset: auto -18px -34px auto;
    width: 92px;
    height: 92px;
    opacity: 0.08;
}

.dashboard-summary-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    font-size: 1.28rem;
    background: color-mix(in srgb, currentColor 13%, #ffffff);
}

.dashboard-summary-copy span {
    color: #556278;
    font-size: 0.82rem;
    font-weight: 850;
}

.dashboard-summary-copy strong {
    margin-top: 5px;
    color: #111827;
    font-size: 1.78rem;
    font-weight: 900;
    letter-spacing: -0.055em;
}

.dashboard-summary-copy div {
    gap: 7px;
    margin-top: 8px;
}

.dashboard-summary-copy em {
    color: #5f6d82;
    font-size: 0.76rem;
    font-weight: 800;
}

.dashboard-summary-copy small {
    font-size: 0.72rem;
    font-weight: 900;
}

.dashboard-summary-blue { color: #2f6dff; }
.dashboard-summary-green { color: #10b981; }
.dashboard-summary-orange { color: #ff7a21; }
.dashboard-summary-red { color: #f43f5e; }

.dashboard-chart-grid {
    grid-template-columns: minmax(420px, 0.9fr) minmax(560px, 1.1fr);
    gap: 16px;
}

.dashboard-chart-card {
    min-height: 390px;
    padding: 24px;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 40px rgba(36, 61, 93, 0.08);
    backdrop-filter: blur(18px);
}

.dashboard-card-head {
    margin-bottom: 26px;
}

.dashboard-card-head h2 {
    color: #1c2638;
    font-size: 1rem;
    font-weight: 900;
}

.dashboard-card-head p {
    color: #7a8799;
    font-size: 0.78rem;
}

.dashboard-field-select {
    width: 136px;
    height: 32px;
    min-height: 32px;
    border-color: rgba(203, 213, 225, 0.8);
    border-radius: 0 16px 16px 0;
    background-color: rgba(248, 250, 252, 0.78);
    color: #4d5a6f;
    font-size: 0.78rem;
}

.dashboard-donut-layout {
    grid-template-columns: 216px minmax(0, 1fr);
    gap: 24px;
}

.dashboard-donut-wrap,
.dashboard-donut {
    width: 206px;
    height: 206px;
}

.dashboard-donut {
    box-shadow: 0 24px 42px rgba(47, 124, 255, 0.16);
}

.dashboard-donut::after {
    inset: 47px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
}

.dashboard-donut-center strong {
    color: #111827;
    font-size: 1.7rem;
}

.dashboard-donut-center span {
    color: #718096;
}

.dashboard-donut-legend {
    gap: 10px;
}

.dashboard-legend-row {
    grid-template-columns: 10px minmax(90px, 1fr) auto;
    gap: 9px;
    min-height: 30px;
}

.dashboard-legend-row strong,
.dashboard-bar-label span {
    color: #344054;
    font-size: 0.84rem;
    font-weight: 850;
}

.dashboard-legend-row em {
    color: #6b7890;
    font-size: 0.78rem;
}

.dashboard-bar-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.86)),
        radial-gradient(circle at 92% 0%, rgba(47, 124, 255, 0.09), transparent 34%);
}

.dashboard-bar-list {
    gap: 18px;
    padding: 2px 0 0;
}

.dashboard-bar-row {
    display: grid;
    grid-template-columns: minmax(80px, 112px) minmax(260px, 1fr) 64px;
    align-items: center;
    gap: 16px;
}

.dashboard-bar-label {
    min-width: 0;
}

.dashboard-bar-track {
    height: 13px;
    overflow: visible;
    border-radius: 0 16px 16px 0;
    background: linear-gradient(90deg, #edf3f8 0%, #e7eef6 100%);
    box-shadow: none;
}

.dashboard-bar-track::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    transform: translateY(-50%);
    background: transparent;
    z-index: 0;
}

.dashboard-bar-fill {
    z-index: 1;
    width: var(--bar-width);
    min-width: 26px;
    background: linear-gradient(90deg, #2f6dff 0%, #55a4ff 100%);
    box-shadow: none;
}

.dashboard-bar-fill::after {
    content: "";
    position: absolute;
    inset: 1px 3px auto 24%;
    height: 3px;
    border-radius: 0 16px 16px 0;
    background: transparent;
}

.dashboard-bar-count {
    position: absolute;
    left: min(calc(var(--bar-width) + 10px), calc(100% - 38px));
    top: 50%;
    transform: translateY(-50%);
    color: #344054;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
    z-index: 2;
}

.dashboard-bar-percent {
    color: #465467;
    font-size: 0.82rem;
    font-style: normal;
    font-weight: 900;
    text-align: right;
}

body.ams-dark.dashboard-page-body {
    background:
        radial-gradient(circle at 8% -10%, rgba(47, 124, 255, 0.22), transparent 36%),
        radial-gradient(circle at 94% 2%, rgba(56, 189, 248, 0.12), transparent 32%),
        linear-gradient(180deg, #111927 0%, #121b2a 48%, #0d1522 100%);
}

body.ams-dark .dashboard-summary-card,
body.ams-dark .dashboard-chart-card,
body.ams-dark .dashboard-action-btn,
body.ams-dark .dashboard-period {
    border-color: rgba(96, 165, 250, 0.13);
    background:
        radial-gradient(circle at 98% 96%, color-mix(in srgb, currentColor 13%, transparent) 0 42px, transparent 43px),
        linear-gradient(180deg, rgba(25, 35, 52, 0.96), rgba(18, 27, 43, 0.92));
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.ams-dark .dashboard-bar-card {
    background:
        linear-gradient(180deg, rgba(25, 35, 52, 0.96), rgba(18, 27, 43, 0.92)),
        radial-gradient(circle at 92% 0%, rgba(47, 124, 255, 0.16), transparent 34%);
}

body.ams-dark .dashboard-hero h1,
body.ams-dark .dashboard-card-head h2,
body.ams-dark .dashboard-summary-copy strong,
body.ams-dark .dashboard-donut-center strong,
body.ams-dark .dashboard-bar-count {
    color: #f3f7ff;
}

body.ams-dark .dashboard-hero p,
body.ams-dark .dashboard-card-head p,
body.ams-dark .dashboard-summary-copy span,
body.ams-dark .dashboard-summary-copy em,
body.ams-dark .dashboard-donut-center span,
body.ams-dark .dashboard-legend-row em {
    color: #94a3b8;
}

body.ams-dark .dashboard-action-btn,
body.ams-dark .dashboard-period,
body.ams-dark .dashboard-legend-row strong,
body.ams-dark .dashboard-bar-label span,
body.ams-dark .dashboard-bar-percent {
    color: #d6e2f3;
}

body.ams-dark .dashboard-field-select {
    background-color: rgba(15, 23, 42, 0.82);
    border-color: rgba(96, 165, 250, 0.16);
    color: #dbe7ff;
}

body.ams-dark .dashboard-donut::after {
    background: linear-gradient(180deg, rgba(20, 30, 47, 0.98), rgba(15, 23, 38, 0.98));
}

body.ams-dark .dashboard-bar-track {
    background: linear-gradient(90deg, rgba(51, 65, 85, 0.72), rgba(51, 65, 85, 0.42));
}

body.ams-dark .dashboard-bar-track::after {
    background: transparent;
}

body.ams-dark .dashboard-bar-fill {
    background: linear-gradient(90deg, #2f6dff 0%, #60a5fa 100%);
    box-shadow: none;
}

