@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Lato:wght@300;400;700&display=swap');

:root {
  --color-primary: #475569;
  --color-primary-hover: #64748B;
  --color-primary-pressed: #334155;
  --color-on-primary: #FFFFFF;
  --color-secondary: #64748B;
  --color-on-secondary: #FFFFFF;
  --color-accent: #A16207;
  --color-accent-hover: #CA8A04;
  --color-on-accent: #FFFFFF;
  --color-background: #F8FAFC;
  --color-foreground: #1E293B;
  --color-card: #FFFFFF;
  --color-card-foreground: #1E293B;
  --color-muted: #EAEFF3;
  --color-muted-foreground: #475569;
  --color-border: #E2E8F0;
  --color-destructive: #DC2626;
  --color-on-destructive: #FFFFFF;
  --color-ring: #475569;
  --color-success: #16A34A;
  --color-warning: #CA8A04;
  --color-info: #2563EB;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-hover: 0 8px 16px rgba(71, 85, 105, 0.15);
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --font-heading: 'EB Garamond', 'PingFang SC', 'Microsoft YaHei', serif;
  --font-body: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

[data-theme="dark"] {
  --color-primary: #94A3B8;
  --color-primary-hover: #CBD5E1;
  --color-primary-pressed: #64748B;
  --color-on-primary: #1E293B;
  --color-secondary: #94A3B8;
  --color-on-secondary: #1E293B;
  --color-accent: #CA8A04;
  --color-accent-hover: #EAB308;
  --color-on-accent: #1E293B;
  --color-background: #1E293B;
  --color-foreground: #F1F5F9;
  --color-card: #334155;
  --color-card-foreground: #F1F5F9;
  --color-muted: #475569;
  --color-muted-foreground: #CBD5E1;
  --color-border: #475569;
  --color-destructive: #EF4444;
  --color-on-destructive: #FFFFFF;
  --color-ring: #94A3B8;
  --color-success: #22C55E;
  --color-warning: #EAB308;
  --color-info: #3B82F6;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5);
  --shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.4);
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: var(--font-body);
  background: var(--color-background);
  color: var(--color-foreground);
  transition: background var(--transition-normal), color var(--transition-normal);
}
#app { height: 100vh; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;
}

.stat-card {
  text-align: center;
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}
.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.stat-card .stat-label {
  font-size: 13px;
  color: var(--color-muted-foreground);
  margin-bottom: 4px;
  font-weight: 400;
}
.stat-card .stat-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-primary);
  font-family: var(--font-heading);
}
.stat-tm .stat-value { color: var(--color-success); }
.stat-pt .stat-value { color: var(--color-warning); }
.stat-cp .stat-value { color: #7C3AED; }
.stat-warn .stat-value { color: var(--color-warning); }
.stat-expired .stat-value { color: var(--color-destructive); }

.chart-title {
  font-size: 13px;
  color: var(--color-muted-foreground);
  margin-bottom: 4px;
  text-align: center;
  font-weight: 600;
}

.n-data-table .row-warn180 { background: #FEF9C3; }
.n-data-table .row-warn90 { background: #FED7AA; }
.n-data-table .row-expired { background: #FECACA; }
.n-data-table .row-warn180:hover { background: #FEF08A; }
.n-data-table .row-warn90:hover { background: #FDBA74; }
.n-data-table .row-expired:hover { background: #FCA5A5; }

.n-layout-scroll-container { scrollbar-width: thin; }
.n-back-top { z-index: 9999 !important; }

.asset-card {
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}
.asset-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
  border-color: var(--color-primary);
}

.user-dropdown-trigger {
  transition: background var(--transition-fast);
  border-radius: var(--radius-sm);
}
.user-dropdown-trigger:hover {
  background: var(--color-muted);
}

.sider-logo {
  transition: color var(--transition-normal);
}

.page-title {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 18px;
  color: var(--color-foreground);
}

.footer-text {
  text-align: center;
  color: var(--color-muted-foreground);
  padding: 16px 0;
  font-size: 12px;
  font-family: var(--font-body);
}

@media (max-width: 768px) {
  .n-layout-header { padding: 0 12px !important; height: 48px !important; }
  .n-layout-content .n-layout-scroll-container { padding: 8px 12px !important; }
  .stat-card .stat-value { font-size: 22px; }
  .stat-card .stat-label { font-size: 12px; }
  .n-form-item { margin-right: 0 !important; margin-bottom: 8px !important; width: 100% !important; }
  .n-form-item .n-form-item-control { width: 100% !important; }
  .n-form .n-select, .n-form .n-input { width: 100% !important; }
  .n-card__content { padding: 10px 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
