:root {
  color-scheme: light;
  font-family:
    "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
    sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color: #1f2937;
  background:
    radial-gradient(circle at top left, rgba(119, 198, 255, 0.18), transparent 28%),
    radial-gradient(circle at right center, rgba(89, 208, 160, 0.16), transparent 24%),
    linear-gradient(180deg, #f6f8fb 0%, #edf2f7 100%);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --page-max-width: 1200px;
  --surface: rgba(255, 255, 255, 0.92);
  --surface-strong: #ffffff;
  --surface-muted: #f5f7fb;
  --line-soft: rgba(15, 23, 42, 0.08);
  --text-main: #111827;
  --text-secondary: #5b6475;
  --brand: #2684ff;
  --brand-strong: #1d6fe0;
  --success: #11a36a;
  --warning: #f59e0b;
  --danger: #ef4444;
  --shadow-soft: 0 18px 45px rgba(31, 41, 55, 0.08);
}

* {
  box-sizing: border-box;
}

html,
body,
#app {
  min-height: 100%;
  margin: 0;
}

body {
  min-height: 100vh;
}

button,
input,
textarea {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

.page-shell {
  width: min(var(--page-max-width), calc(100vw - 32px));
  margin: 0 auto;
}

.glass-panel {
  background: var(--surface);
  border: 1px solid var(--line-soft);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
}

/* Element Plus Overrides for Flat Modern Style */
.el-dialog, .el-message-box {
  border-radius: 24px !important;
  border: 1px solid rgba(15, 23, 42, 0.05) !important;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.1) !important;
}

.el-message-box__headerbtn, .el-dialog__headerbtn {
  top: 16px !important;
  right: 16px !important;
}

.el-button {
  border-radius: 12px !important;
  font-weight: 600 !important;
}

.el-button--primary {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
}
