@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: oklch(.985 .002 247);--bg-secondary: oklch(1 0 0);--bg-card: oklch(1 0 0);--bg-hover: oklch(.965 .003 247);--bg-hover-subtle: oklch(.975 .002 247);--bg-sidebar: oklch(.99 .001 247);--border: oklch(.915 .004 247);--border-subtle: oklch(.94 .003 247);--text-primary: oklch(.145 .015 265);--text-secondary: oklch(.45 .015 265);--text-muted: oklch(.62 .012 265);--text-accent: oklch(.55 .22 270);--accent: oklch(.55 .22 270);--accent-hover: oklch(.48 .22 270);--accent-light: oklch(.94 .06 270);--accent-subtle: oklch(.97 .03 270);--accent-gradient: linear-gradient(135deg, oklch(.55 .22 270), oklch(.65 .2 290));--accent-gradient-hover: linear-gradient(135deg, oklch(.48 .22 270), oklch(.58 .2 290));--success: oklch(.62 .19 145);--success-light: oklch(.94 .06 145);--success-gradient: linear-gradient(135deg, oklch(.62 .19 145), oklch(.55 .18 160));--warning: oklch(.78 .16 75);--warning-light: oklch(.95 .06 75);--warning-gradient: linear-gradient(135deg, oklch(.78 .16 75), oklch(.72 .18 60));--danger: oklch(.63 .2 25);--danger-light: oklch(.94 .06 25);--danger-gradient: linear-gradient(135deg, oklch(.63 .2 25), oklch(.55 .22 15));--info: oklch(.62 .18 240);--info-light: oklch(.94 .06 240);--info-gradient: linear-gradient(135deg, oklch(.62 .18 240), oklch(.55 .2 255));--glow-accent: 0 0 20px oklch(.55 .22 270 / .25);--glow-success: 0 0 20px oklch(.62 .19 145 / .25);--glow-danger: 0 0 20px oklch(.63 .2 25 / .25);--glow-info: 0 0 20px oklch(.62 .18 240 / .25);--shadow-sm: 0 1px 2px oklch(0 0 0 / .04);--shadow-md: 0 2px 8px oklch(0 0 0 / .06), 0 1px 2px oklch(0 0 0 / .04);--shadow-lg: 0 8px 24px oklch(0 0 0 / .08), 0 2px 8px oklch(0 0 0 / .04);--shadow-xl: 0 16px 48px oklch(0 0 0 / .1), 0 4px 12px oklch(0 0 0 / .05);--shadow-accent: 0 4px 14px oklch(.55 .22 270 / .2);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--sidebar-width: 260px;--sidebar-collapsed-width: 68px;--topbar-height: 64px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg-primary: oklch(.13 .015 265);--bg-secondary: oklch(.17 .015 265);--bg-card: oklch(.19 .015 265);--bg-hover: oklch(.23 .015 265);--bg-hover-subtle: oklch(.21 .015 265);--bg-sidebar: oklch(.15 .015 265);--border: oklch(.26 .015 265);--border-subtle: oklch(.22 .015 265);--text-primary: oklch(.93 .01 265);--text-secondary: oklch(.68 .012 265);--text-muted: oklch(.5 .01 265);--text-accent: oklch(.65 .22 270);--accent: oklch(.65 .22 270);--accent-hover: oklch(.72 .22 270);--accent-light: oklch(.25 .08 270);--accent-subtle: oklch(.2 .04 270);--accent-gradient: linear-gradient(135deg, oklch(.65 .22 270), oklch(.72 .2 290));--accent-gradient-hover: linear-gradient(135deg, oklch(.72 .22 270), oklch(.78 .2 290));--success-light: oklch(.22 .07 145);--warning-light: oklch(.22 .06 75);--danger-light: oklch(.22 .07 25);--info-light: oklch(.22 .07 240);--glow-accent: 0 0 20px oklch(.65 .22 270 / .2);--glow-success: 0 0 20px oklch(.62 .19 145 / .2);--glow-danger: 0 0 20px oklch(.63 .2 25 / .2);--glow-info: 0 0 20px oklch(.62 .18 240 / .2);--shadow-sm: 0 1px 2px oklch(0 0 0 / .2);--shadow-md: 0 2px 8px oklch(0 0 0 / .25), 0 1px 2px oklch(0 0 0 / .15);--shadow-lg: 0 8px 24px oklch(0 0 0 / .3), 0 2px 8px oklch(0 0 0 / .2);--shadow-xl: 0 16px 48px oklch(0 0 0 / .35), 0 4px 12px oklch(0 0 0 / .2);--shadow-accent: 0 4px 14px oklch(.65 .22 270 / .15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.modal-open{overflow:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:width var(--transition-slow),background var(--transition-slow)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-logo{padding:24px 20px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;transition:padding var(--transition-slow)}.sidebar.collapsed .sidebar-logo{padding:24px 16px;justify-content:center}.sidebar-logo-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0;box-shadow:var(--shadow-accent);transition:transform var(--transition-base),box-shadow var(--transition-base)}.sidebar-logo-icon:hover{transform:scale(1.05);box-shadow:var(--glow-accent)}.sidebar-logo h1{font-size:17px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;transition:opacity var(--transition-slow),width var(--transition-slow)}.sidebar.collapsed .sidebar-logo h1{opacity:0;width:0}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto;overflow-x:hidden}.nav-section{margin-bottom:4px}.nav-section.active .nav-section-title{color:var(--text-primary);background:var(--bg-hover);border-radius:var(--radius-sm);margin:0 4px;padding:10px 8px 6px}.nav-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:16px 12px 6px;white-space:nowrap;overflow:hidden;transition:opacity var(--transition-slow);display:flex;align-items:center;justify-content:space-between}.sidebar.collapsed .nav-section-title{opacity:0;height:0;padding:0;margin:0}.nav-section-toggle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.nav-section-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-section-toggle svg{width:12px;height:12px;transition:transform var(--transition-base)}.nav-section.collapsed .nav-section-toggle svg{transform:rotate(-90deg)}.nav-section-items{overflow:hidden;transition:max-height var(--transition-slow),opacity var(--transition-slow);max-height:500px;opacity:1}.nav-section.collapsed .nav-section-items{max-height:0;opacity:0}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13.5px;font-weight:450;cursor:pointer;transition:all var(--transition-fast);position:relative;white-space:nowrap;overflow:hidden}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:550;box-shadow:inset 0 0 0 1px #445def1a}.nav-item.active:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--accent-gradient);border-radius:0 3px 3px 0;box-shadow:0 0 8px #445def66}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.7}.nav-item.active svg{opacity:1}.sidebar.collapsed .nav-item{justify-content:center;padding:9px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-item .nav-label{display:none}.sidebar.collapsed .nav-item:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);z-index:200;pointer-events:none}.sidebar-footer{padding:12px;border-top:1px solid var(--border-subtle);margin-top:auto}.sidebar-user{padding:8px 12px;font-size:12px;color:var(--text-muted);margin-bottom:4px;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;transition:opacity var(--transition-slow);background:var(--bg-hover);border-radius:var(--radius-sm);text-align:center}.sidebar.collapsed .sidebar-user{opacity:0;height:0;margin:0;padding:0}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;position:absolute;top:28px;right:-14px;z-index:101;transition:all var(--transition-fast)}.sidebar-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted);transform:scale(1.1)}.sidebar-toggle-btn svg{width:14px;height:14px;transition:transform var(--transition-slow)}.sidebar.collapsed .sidebar-toggle-btn svg{transform:rotate(180deg)}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-slow)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.topbar{height:var(--topbar-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);background:#ffffffbf}[data-theme=dark] .topbar{background:#0c0f16bf}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-user{display:flex;align-items:center;gap:10px}.topbar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;transition:all var(--transition-fast);position:relative;overflow:hidden}.topbar-toggle:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.topbar-toggle:active{transform:translateY(0)}.topbar-toggle svg{width:16px;height:16px;transition:transform var(--transition-base)}.topbar-toggle:hover svg{transform:rotate(15deg)}.topbar-address{font-size:13px;color:var(--text-secondary);font-family:var(--font-mono);padding:5px 12px;background:var(--bg-hover);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.topbar-role{font-size:11px;padding:4px 12px;border-radius:20px;font-weight:600;letter-spacing:.02em;border:1px solid transparent}.topbar-role.superadmin{background:var(--accent-light);color:var(--accent);border-color:#445def26}.topbar-role.admin{background:var(--info-light);color:var(--info);border-color:#008fd226;border-color:oklch(.62 .18 240 / .15)}.hamburger-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.hamburger-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.hamburger-btn svg{width:22px;height:22px}.mobile-sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:150;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-sidebar-overlay .sidebar{position:relative;width:var(--sidebar-width);z-index:151;animation:slideRight .3s cubic-bezier(.16,1,.3,1)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.breadcrumb-item{color:var(--text-muted);transition:color var(--transition-fast);cursor:default}.breadcrumb-item.clickable{cursor:pointer}.breadcrumb-item.clickable:hover{color:var(--accent)}.breadcrumb-item.current{color:var(--text-primary);font-weight:500}.breadcrumb-separator{color:var(--border);font-size:11px;-webkit-user-select:none;user-select:none}.page-content{flex:1;padding:28px;overflow-y:auto;animation:pageIn .4s cubic-bezier(.16,1,.3,1)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;animation:fadeIn .3s ease-out}.page-header h2{font-size:24px;font-weight:700;letter-spacing:-.02em;position:relative}.page-header h2:after{content:"";position:absolute;bottom:-4px;left:0;width:32px;height:3px;background:var(--accent-gradient);border-radius:2px}.page-header h3{font-size:17px;font-weight:600;letter-spacing:-.01em;position:relative}.page-header h3:after{content:"";position:absolute;bottom:-4px;left:0;width:24px;height:2px;background:var(--accent-gradient);border-radius:2px}.section-title{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:18px;margin-top:8px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.section-subtitle{font-size:13px;font-weight:550;color:var(--text-secondary);margin-bottom:14px;margin-top:4px;padding-left:2px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.card-elevated{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.card-elevated:hover{box-shadow:var(--shadow-lg);border-color:var(--border);transform:translateY(-1px)}.card-glass{background:#fff9;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid oklch(1 0 0 / .2);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:all var(--transition-base)}[data-theme=dark] .card-glass{background:#10141b99;border-color:#ffffff0f}.card-glass:hover{box-shadow:var(--shadow-lg);border-color:#ffffff4d;transform:translateY(-1px)}[data-theme=dark] .card-glass:hover{border-color:#ffffff1a}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.card-header h3{font-size:15px;font-weight:600}.stat-group{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.stat-group:hover{box-shadow:var(--shadow-md);border-color:var(--border)}.stat-group-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:16px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.04em}.stat-group-title svg{width:16px;height:16px;opacity:.6}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-bottom:28px;animation:fadeIn .3s ease-out}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:14px}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--border)}.stat-card{animation:statCardIn .4s ease-out both}.stat-grid .stat-card:nth-child(1){animation-delay:0ms}.stat-grid .stat-card:nth-child(2){animation-delay:60ms}.stat-grid .stat-card:nth-child(3){animation-delay:.12s}.stat-grid .stat-card:nth-child(4){animation-delay:.18s}.stat-grid .stat-card:nth-child(5){animation-delay:.24s}.stat-grid .stat-card:nth-child(6){animation-delay:.3s}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:.8}.stat-card.accent-top:after{background:var(--accent-gradient)}.stat-card.success-top:after{background:var(--success-gradient)}.stat-card.info-top:after{background:var(--info-gradient)}.stat-card.warning-top:after{background:var(--warning-gradient)}.stat-card.danger-top:after{background:var(--danger-gradient)}.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-base)}.stat-card:hover .stat-icon{transform:scale(1.1)}.stat-card .stat-icon svg{width:20px;height:20px}.stat-card.accent-top .stat-icon{background:var(--accent-light);color:var(--accent)}.stat-card.success-top .stat-icon{background:var(--success-light);color:var(--success)}.stat-card.info-top .stat-icon{background:var(--info-light);color:var(--info)}.stat-card.warning-top .stat-icon{background:var(--warning-light);color:var(--warning)}.stat-card.danger-top .stat-icon{background:var(--danger-light);color:var(--danger)}.stat-card .stat-text{flex:1;min-width:0}.stat-card .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:500}.stat-card .value{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.stat-card .value.accent{color:var(--accent)}.stat-card .value.success{color:var(--success)}.stat-card .value.info{color:var(--info)}.stat-card .value.warning{color:var(--warning)}.stat-card .value.danger{color:var(--danger)}.stat-card-gradient{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:14px;animation:statCardIn .4s ease-out both}.stat-card-gradient:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:.03;pointer-events:none;transition:opacity var(--transition-base)}.stat-card-gradient:hover:before{opacity:.06}.stat-card-gradient:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--border)}.stat-card-gradient.accent-top:before{background:var(--accent-gradient)}.stat-card-gradient.success-top:before{background:var(--success-gradient)}.stat-card-gradient.info-top:before{background:var(--info-gradient)}.stat-card-gradient.warning-top:before{background:var(--warning-gradient)}.stat-card-gradient.danger-top:before{background:var(--danger-gradient)}.stat-card-gradient:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.stat-card-gradient.accent-top:after{background:var(--accent-gradient)}.stat-card-gradient.success-top:after{background:var(--success-gradient)}.stat-card-gradient.info-top:after{background:var(--info-gradient)}.stat-card-gradient.warning-top:after{background:var(--warning-gradient)}.stat-card-gradient.danger-top:after{background:var(--danger-gradient)}.stat-card-gradient .stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-base)}.stat-card-gradient:hover .stat-icon{transform:scale(1.1)}.stat-card-gradient .stat-icon svg{width:20px;height:20px}.stat-card-gradient.accent-top .stat-icon{background:var(--accent-light);color:var(--accent)}.stat-card-gradient.success-top .stat-icon{background:var(--success-light);color:var(--success)}.stat-card-gradient.info-top .stat-icon{background:var(--info-light);color:var(--info)}.stat-card-gradient.warning-top .stat-icon{background:var(--warning-light);color:var(--warning)}.stat-card-gradient.danger-top .stat-icon{background:var(--danger-light);color:var(--danger)}.stat-card-gradient .stat-text{flex:1;min-width:0;position:relative;z-index:1}.stat-card-gradient .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:500}.stat-card-gradient .value{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}.stat-card-gradient .value.accent{color:var(--accent)}.stat-card-gradient .value.success{color:var(--success)}.stat-card-gradient .value.info{color:var(--info)}.stat-card-gradient .value.warning{color:var(--warning)}.stat-card-gradient .value.danger{color:var(--danger)}.metric-change{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;margin-top:4px}.metric-change.positive{color:var(--success);background:var(--success-light)}.metric-change.negative{color:var(--danger);background:var(--danger-light)}.metric-change svg{width:12px;height:12px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:12px 16px;font-weight:600;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg-hover);position:sticky;top:0;z-index:1}th:first-child{border-radius:var(--radius-sm) 0 0 0}th:last-child{border-radius:0 var(--radius-sm) 0 0}td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;transition:background var(--transition-fast)}tr:nth-child(2n) td{background:var(--bg-hover-subtle)}tr:hover td{background:var(--bg-hover)}tr{transition:background var(--transition-fast)}.table-compact th{padding:8px 12px;font-size:10px}.table-compact td{padding:10px 12px;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:550;font-family:var(--font-sans);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3;opacity:0;transition:opacity var(--transition-fast);border-radius:inherit}.btn:active:not(:disabled):after{opacity:1}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-gradient-hover);box-shadow:var(--glow-accent);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-success{background:var(--success-gradient);color:#fff;box-shadow:0 1px 3px #11a22f4d}.btn-success:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--glow-success)}.btn-danger{background:var(--danger-gradient);color:#fff;box-shadow:0 1px 3px #e946464d}.btn-danger:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:var(--glow-danger)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted);transform:translateY(-1px)}.btn-sm{padding:5px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:13px 28px;font-size:15px;font-weight:600}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.01em;transition:transform var(--transition-fast)}.badge:hover{transform:scale(1.05)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.badge-accent{background:var(--accent-light);color:var(--accent)}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:12.5px;font-weight:550;color:var(--text-secondary);margin-bottom:7px;letter-spacing:.01em}.form-input{width:100%;padding:9px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13.5px;font-family:var(--font-sans);outline:none;transition:all var(--transition-fast)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle),0 1px 2px #0000000a}.form-input::placeholder{color:var(--text-muted)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-input-error{border-color:var(--danger)!important;box-shadow:0 0 0 3px var(--danger-light)!important}.form-input-success{border-color:var(--success)!important;box-shadow:0 0 0 3px var(--success-light)!important}.form-error-text{font-size:12px;color:var(--danger);margin-top:4px}.form-success-text{font-size:12px;color:var(--success);margin-top:4px}.input-group{display:flex;align-items:stretch}.input-group .form-input{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none}.input-group .input-group-addon{display:flex;align-items:center;padding:0 12px;background:var(--bg-hover);border:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted);font-size:13px;white-space:nowrap}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.search-input-wrapper .search-icon svg{width:16px;height:16px}.search-input{width:100%;padding:9px 14px 9px 36px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13.5px;font-family:var(--font-sans);outline:none;transition:all var(--transition-fast)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle),0 1px 2px #0000000a}.search-input:focus+.search-icon,.search-input-wrapper:focus-within .search-icon{color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.search-input-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:0;pointer-events:none}.search-input-clear.visible{opacity:1;pointer-events:auto}.search-input-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-input-clear svg{width:14px;height:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease-out}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalIn .3s cubic-bezier(.16,1,.3,1);position:relative}.modal-lg{max-width:720px}.modal-sm{max-width:360px}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary);transform:rotate(90deg)}.modal-close svg{width:16px;height:16px}.modal h3{font-size:18px;font-weight:650;margin-bottom:20px;letter-spacing:-.01em;padding-right:32px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle)}.toast-container{position:fixed;top:20px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;pointer-events:auto;animation:toastIn .3s ease-out;min-width:280px;max-width:420px;transition:box-shadow var(--transition-fast),opacity var(--transition-base);position:relative;overflow:hidden}.toast:hover{box-shadow:var(--shadow-xl);transform:translate(-2px)}.toast-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-icon svg{width:18px;height:18px}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-warning{border-left:3px solid var(--warning)}.toast-info{border-left:3px solid var(--info)}.toast-message{flex:1;line-height:1.4}.toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.toast-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-dismiss svg{width:14px;height:14px}.toast-progress{position:absolute;bottom:0;left:0;height:2px;border-radius:0 0 0 var(--radius-md);animation:toastProgress 3s linear forwards}.toast-success .toast-progress{background:var(--success)}.toast-error .toast-progress{background:var(--danger)}.toast-warning .toast-progress{background:var(--warning)}.toast-info .toast-progress{background:var(--info)}@keyframes toastProgress{0%{width:100%}to{width:0%}}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:13px;color:var(--text-secondary);gap:12px;flex-wrap:wrap}.pagination-info{display:flex;align-items:center;gap:12px}.pagination-buttons{display:flex;gap:4px;align-items:center}.pagination-buttons button{padding:7px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-sans);font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:34px}.pagination-buttons button:disabled{opacity:.4;cursor:not-allowed}.pagination-buttons button:not(:disabled):hover{background:var(--bg-hover);border-color:var(--text-muted);transform:translateY(-1px)}.pagination-buttons button.active{background:var(--accent-gradient);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-accent)}.pagination-buttons button svg{width:14px;height:14px}.pagination-ellipsis{padding:0 4px;color:var(--text-muted);font-size:12px}.pagination-size{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.pagination-size select{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-family:var(--font-sans);cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.pagination-size select:focus{border-color:var(--accent)}.empty-state{text-align:center;padding:56px 24px;color:var(--text-muted);animation:fadeIn .4s ease-out}.empty-state-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.2;color:var(--text-muted);background:var(--bg-hover);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;border:1px dashed var(--border)}.empty-state-icon svg{width:28px;height:28px}.empty-state p{font-size:14px;margin-top:8px}.empty-state-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.empty-state-desc{font-size:13px;color:var(--text-muted)}.loading-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{display:flex;align-items:center;justify-content:center;min-height:300px;animation:fadeIn .3s ease-out}.loading-page .loading-spinner{width:28px;height:28px;border-width:3px}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-subtle) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px;display:flex;align-items:flex-start;gap:14px}.skeleton-card .skeleton-icon{width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.skeleton-card .skeleton-content{flex:1}.skeleton-card .skeleton-label{height:12px;width:60%;margin-bottom:8px}.skeleton-card .skeleton-value{height:24px;width:40%}.skeleton-table{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.skeleton-table-header{display:flex;gap:16px;padding:12px 16px;background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.skeleton-table-header .skeleton{height:11px;flex:1}.skeleton-table-row{display:flex;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-row .skeleton{height:13px;flex:1}.skeleton-text{height:14px;width:100%}.skeleton-text-short{height:14px;width:60%}.chart-container{width:100%;height:300px;margin-top:16px;border-radius:var(--radius-md);overflow:hidden}.chart-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.chart-card .chart-container{margin-top:0}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.image-grid-item{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);cursor:pointer;position:relative;transition:all var(--transition-base)}.image-grid-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.image-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.image-grid-item:hover img{transform:scale(1.05)}.image-grid-item .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base)}.image-grid-item:hover .overlay{opacity:1}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:36px;text-align:center;cursor:pointer;transition:all var(--transition-base)}.upload-area:hover,.upload-area.drag-over{border-color:var(--accent);background:var(--accent-subtle);transform:scale(1.01)}.upload-area p{color:var(--text-muted);font-size:14px}.form-row{display:flex;gap:14px;align-items:flex-end}.form-row .form-group{flex:1;margin-bottom:0}.detail-grid{display:grid;grid-template-columns:140px 1fr;gap:12px 18px;font-size:13px}.cell-ellipsis{display:inline-block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;cursor:default}.cell-ellipsis:hover{max-width:none;white-space:normal;word-break:break-all}.detail-grid dt{color:var(--text-muted);font-weight:500;padding:4px 0}.detail-grid dd{color:var(--text-primary);font-family:var(--font-mono);font-size:12.5px;word-break:break-all;padding:4px 0}.btn-ripple{position:absolute;border-radius:50%;background:#ffffff4d;animation:ripple .6s ease-out forwards;pointer-events:none}.nav-item.active:before{animation:indicatorSlide .3s cubic-bezier(.34,1.56,.64,1) forwards}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-base);z-index:-1;filter:blur(8px)}.card-glow:hover:before{opacity:.15}.form-input:focus,.search-input:focus,.form-textarea:focus{animation:borderGlow 2s ease-in-out infinite}.badge-pulse{position:relative}.badge-pulse:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--success);animation:dotPulse 2s ease-in-out infinite}.table-row-enter{animation:contentReveal .3s ease-out both}.nav-item:hover svg{transform:scale(1.1);transition:transform var(--transition-fast)}.nav-item svg{transition:transform var(--transition-fast),opacity var(--transition-fast)}.topbar-toggle svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.topbar-toggle:hover svg{transform:rotate(180deg)}.stat-card:hover,.stat-card-gradient:hover{box-shadow:var(--shadow-lg),0 0 0 1px #445def14}.card-enter{animation:contentReveal .4s ease-out both}.card-enter:nth-child(1){animation-delay:0ms}.card-enter:nth-child(2){animation-delay:60ms}.card-enter:nth-child(3){animation-delay:.12s}.card-enter:nth-child(4){animation-delay:.18s}.card-enter:nth-child(5){animation-delay:.24s}.card-enter:nth-child(6){animation-delay:.3s}.section-reveal{animation:contentReveal .5s ease-out both}.section-reveal:nth-child(1){animation-delay:0ms}.section-reveal:nth-child(2){animation-delay:80ms}.section-reveal:nth-child(3){animation-delay:.16s}.section-reveal:nth-child(4){animation-delay:.24s}.section-reveal:nth-child(5){animation-delay:.32s}.toast-exit{animation:slideOutRight .3s ease-in forwards}.modal-overlay-exit{animation:overlayOut .2s ease-in forwards}.modal-exit{animation:modalOut .2s ease-in forwards}.modal-content-stagger>*{animation:contentReveal .3s ease-out both}.modal-content-stagger>*:nth-child(1){animation-delay:50ms}.modal-content-stagger>*:nth-child(2){animation-delay:.1s}.modal-content-stagger>*:nth-child(3){animation-delay:.15s}.modal-content-stagger>*:nth-child(4){animation-delay:.2s}.modal-content-stagger>*:nth-child(5){animation-delay:.25s}.modal-content-stagger>*:nth-child(6){animation-delay:.3s}.page-stagger>*{animation:contentReveal .4s ease-out both}.page-stagger>*:nth-child(1){animation-delay:0ms}.page-stagger>*:nth-child(2){animation-delay:60ms}.page-stagger>*:nth-child(3){animation-delay:.12s}.page-stagger>*:nth-child(4){animation-delay:.18s}.page-stagger>*:nth-child(5){animation-delay:.24s}.page-stagger>*:nth-child(6){animation-delay:.3s}.page-stagger>*:nth-child(7){animation-delay:.36s}.page-stagger>*:nth-child(8){animation-delay:.42s}::-webkit-scrollbar-thumb{transition:background var(--transition-fast)}.image-grid-item .overlay svg{transform:scale(.8);opacity:0;transition:all var(--transition-base)}.image-grid-item:hover .overlay svg{transform:scale(1);opacity:1}.upload-area.drag-over{animation:breathe 1s ease-in-out infinite}.pagination-buttons button.active{animation:scaleIn .2s ease-out}.empty-state-icon{animation:float 4s ease-in-out infinite}.loading-spinner{position:relative}.loading-spinner:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid transparent;border-top-color:#445def4d;animation:spin 1.2s linear infinite reverse}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(24px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes statCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes bgShift{0%{transform:translate(0)}to{transform:translate(-5%,-3%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{box-shadow:var(--shadow-accent)}50%{box-shadow:var(--glow-accent)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}@keyframes modalOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.96)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes overlayOut{0%{opacity:1;-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%)}to{opacity:0;-webkit-backdrop-filter:blur(0px) saturate(100%);backdrop-filter:blur(0px) saturate(100%)}}@keyframes contentReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes indicatorSlide{0%{transform:translateY(-50%) scaleY(0)}to{transform:translateY(-50%) scaleY(1)}}@keyframes dotPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes borderGlow{0%,to{border-color:var(--border)}50%{border-color:var(--accent)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,oklch(.55 .22 270 / .08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,oklch(.7 .18 290 / .06) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,oklch(.6 .15 310 / .04) 0%,transparent 40%);animation:bgShift 20s ease-in-out infinite alternate}[data-theme=dark] .login-page:before{background:radial-gradient(ellipse at 30% 20%,oklch(.55 .22 270 / .12) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,oklch(.7 .18 290 / .08) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,oklch(.6 .15 310 / .06) 0%,transparent 40%)}.login-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:60px 60px;opacity:.4;animation:gridPulse 8s ease-in-out infinite alternate}[data-theme=dark] .login-page:after{opacity:.15}@keyframes gridPulse{0%{opacity:.3}to{opacity:.5}}.login-card{background:#ffffffa6;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid oklch(1 0 0 / .3);border-radius:var(--radius-xl);padding:48px 40px;width:420px;text-align:center;box-shadow:var(--shadow-xl);position:relative;z-index:1;animation:slideUp .5s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .login-card{background:#10141ba6;border-color:#ffffff14}.login-card h1{font-size:30px;font-weight:700;margin-bottom:8px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.03em}.login-card p{color:var(--text-muted);margin-bottom:36px;font-size:14px}.login-card .btn{width:100%;justify-content:center;padding:13px;font-size:15px;font-weight:600;transition:all var(--transition-base)}.login-card .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--glow-accent)}.login-card .btn:active:not(:disabled){transform:translateY(0)}.login-error{margin-top:20px;padding:12px 16px;border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);font-size:13px;animation:shake .4s ease-out;border:1px solid oklch(.63 .2 25 / .2)}.login-toggles{display:flex;justify-content:flex-end;gap:8px;margin-bottom:16px}.login-logo{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;margin:0 auto 20px;box-shadow:var(--glow-accent);animation:float 3s ease-in-out infinite,glowPulse 2s ease-in-out infinite}.web3-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--accent-light);color:var(--accent);border:1px solid oklch(.55 .22 270 / .15);margin-top:20px}.web3-badge svg{width:12px;height:12px}.tabs{display:flex;gap:2px;margin-bottom:24px;border-bottom:2px solid var(--border-subtle);padding-bottom:0;position:relative}.tab{padding:10px 18px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast);display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.tab:hover{color:var(--text-primary);background:var(--bg-hover)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:550}.tab svg{width:14px;height:14px;opacity:.6}.tab.active svg{opacity:1}.action-group{display:flex;gap:4px;align-items:center}.filter-bar{display:flex;gap:8px;align-items:center}.filter-bar .form-input{width:140px}.page-desc{font-size:14px;color:var(--text-muted);margin-top:4px;margin-bottom:20px}.mono{font-family:var(--font-mono);font-size:12px}.mono-sm{font-family:var(--font-mono);font-size:11px}.ellipsis{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ellipsis-sm{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.img-thumb{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.img-thumb-placeholder{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.file-info{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.preview-img{max-width:100%;max-height:300px;border-radius:var(--radius-md);object-fit:contain}.preview-img-lg{max-width:100%;max-height:80vh;border-radius:var(--radius-md)}.form-textarea{width:100%;padding:9px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13.5px;font-family:var(--font-sans);outline:none;resize:vertical;transition:all var(--transition-fast);box-sizing:border-box}.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle),0 1px 2px #0000000a}.form-textarea::placeholder{color:var(--text-muted)}.preview-modal-content{max-width:80vw;max-height:80vh}.stat-card-compact{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.stat-card-compact:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card-compact .label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:500}.stat-card-compact .value{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}@media (max-width: 1024px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .sidebar-logo h1{opacity:0;width:0}.sidebar .nav-section-title{opacity:0;height:0;padding:0;margin:0}.sidebar .nav-item{justify-content:center;padding:9px}.sidebar .nav-item span,.sidebar .nav-item .nav-label{display:none}.sidebar .sidebar-user{opacity:0;height:0;margin:0;padding:0}.sidebar .sidebar-toggle-btn{display:none}.main-content{margin-left:var(--sidebar-collapsed-width)!important}}@media (max-width: 768px){.sidebar{display:none}.hamburger-btn,.mobile-sidebar-overlay{display:flex}.mobile-sidebar-overlay .sidebar{display:flex;width:var(--sidebar-width)}.mobile-sidebar-overlay .sidebar .sidebar-logo h1{opacity:1;width:auto}.mobile-sidebar-overlay .sidebar .nav-section-title{opacity:1;height:auto;padding:16px 12px 6px}.mobile-sidebar-overlay .sidebar .nav-item{justify-content:flex-start;padding:9px 12px}.mobile-sidebar-overlay .sidebar .nav-item span,.mobile-sidebar-overlay .sidebar .nav-item .nav-label{display:inline}.mobile-sidebar-overlay .sidebar .sidebar-user{opacity:1;height:auto;margin-bottom:4px;padding:8px 12px}.main-content{margin-left:0!important}.stat-grid{grid-template-columns:repeat(2,1fr)}.page-content{padding:20px 16px}.login-card{width:90%;padding:32px 24px}.topbar{padding:0 16px}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:18px}.detail-grid{grid-template-columns:120px 1fr}.toast-container{left:16px;right:16px;top:16px}.toast{min-width:auto;max-width:none}.table-responsive-cards{overflow-x:visible}.table-responsive-cards table{display:none}.table-responsive-cards .table-cards{display:flex;flex-direction:column;gap:12px}.table-card-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px}.table-card-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.table-card-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.table-card-value{color:var(--text-primary);text-align:right}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-bar{flex-wrap:wrap}.pagination{flex-direction:column;align-items:stretch;gap:8px}.pagination-buttons{justify-content:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.login-page:before,.login-page:after{animation:none!important}.login-logo,.stat-card,.stat-card-gradient,.page-content,.toast,.modal,.modal-overlay{animation:none!important}}
