:root{--color-primary:#0b2a4a;--color-primary-light:#1a4b7c;--color-accent:#2b7de9;--color-accent-hover:#1a6ad4;--color-gold:#d4a853;--color-gold-light:#f0d78c;--color-bg:#f0f4f8;--color-bg-elevated:#fff;--color-bg-dark:#071a2e;--color-bg-footer:#0a1f35;--color-text:#1a2b3c;--color-text-secondary:#5a6b7d;--color-text-muted:#8c9bab;--color-text-inverse:#fff;--color-border:#e2e8f0;--color-border-light:#edf2f7;--shadow-sm:0 1px 3px rgba(11,42,74,.06);--shadow-md:0 4px 20px rgba(11,42,74,.08);--shadow-lg:0 12px 40px rgba(11,42,74,.12);--shadow-card:0 2px 12px rgba(11,42,74,.06);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--header-height:72px;--header-height-mobile:56px;--container-width:1200px;--font-sans:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bp-lg:992px;--bp-md:768px;--bp-sm:576px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{text-decoration:none;color:inherit;transition:color .2s ease}#app{min-height:100vh}.page-container{max-width:var(--container-width);margin:0 auto;padding:40px 24px}.section-title{font-size:24px;font-weight:700;color:var(--color-primary);margin-bottom:24px;letter-spacing:.5px;position:relative;padding-left:16px}.section-title:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:linear-gradient(180deg,var(--color-accent),var(--color-gold));border-radius:2px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-header .section-title{margin-bottom:0}.more-link{color:var(--color-accent);font-size:14px;font-weight:500;display:inline-flex;align-items:center;gap:4px}.more-link:hover{color:var(--color-accent-hover)}.page-banner{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);color:var(--color-text-inverse);padding:48px 24px;margin-bottom:0;position:relative;overflow:hidden}.page-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(43,125,233,.15) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(212,168,83,.1) 0,transparent 40%);pointer-events:none}.page-banner .page-banner-inner{max-width:var(--container-width);margin:0 auto;position:relative;z-index:1}.page-banner h1{font-size:32px;font-weight:700;letter-spacing:1px;margin-bottom:10px}.page-banner p{font-size:15px;opacity:.85;max-width:560px}.panel-card,.surface-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-card);padding:28px}.panel-card h3,.surface-card h3{font-size:18px;font-weight:700;color:var(--color-primary);margin-bottom:8px;letter-spacing:.3px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-header h3{margin-bottom:0}.panel-header a{color:var(--color-accent);font-size:13px;font-weight:500}.panel-header a:hover{color:var(--color-accent-hover)}.page-panel-header{margin-bottom:28px}.page-panel-header h2{font-size:22px;font-weight:700;color:var(--color-primary);margin-bottom:8px;letter-spacing:.3px}.page-panel-header p{color:var(--color-text-secondary);font-size:14px}.paid-badge{background:linear-gradient(135deg,var(--color-gold),#c4922e)}.paid-badge,.points-badge{color:#fff;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--radius-sm)}.points-badge{background:linear-gradient(135deg,#e67e22,#d35400)}.free-badge{background:linear-gradient(135deg,#27ae60,#219a52);color:#fff;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--radius-sm)}.auth-page{min-height:calc(100vh - var(--header-height) - 120px);display:flex;align-items:center;justify-content:center;padding:48px 24px;background:radial-gradient(ellipse at 30% 20%,rgba(43,125,233,.06) 0,transparent 50%),var(--color-bg)}.auth-card{width:440px;max-width:100%;background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:48px 40px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.auth-header{text-align:center;margin-bottom:36px}.auth-header i{font-size:36px;color:var(--color-gold);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:50%;padding:14px;box-shadow:var(--shadow-md)}.auth-header h2{margin:20px 0 8px;color:var(--color-primary);font-size:24px;font-weight:700;letter-spacing:.5px}.auth-header p{color:var(--color-text-secondary);font-size:14px}.auth-footer{display:flex;justify-content:space-between;font-size:13px;margin-top:12px}.auth-footer a{color:var(--color-accent)}.auth-footer a:hover{color:var(--color-accent-hover)}.el-button--primary{background:linear-gradient(135deg,var(--color-accent),var(--color-primary-light));border:none;font-weight:500;letter-spacing:.3px}.el-button--primary:focus,.el-button--primary:hover{background:linear-gradient(135deg,var(--color-accent-hover),var(--color-accent))}.el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:-1px 0 0 0 var(--color-accent)}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:var(--color-accent)}.el-input__inner:focus,.el-textarea__inner:focus{border-color:var(--color-accent)}.el-menu-item.is-active{color:var(--color-accent)!important}.el-menu-item:hover{background-color:rgba(43,125,233,.06)!important}.admin-content .el-table{border-radius:var(--radius-md)}.admin-content .panel-card,.user-content .panel-card{overflow-x:auto}@media(max-width:768px){.admin-content .panel-card .el-table,.user-content .panel-card .el-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.admin-content .el-table th{background:var(--color-bg)!important;color:var(--color-primary);font-weight:600}@media(max-width:768px){:root{--header-height:var(--header-height-mobile)}.page-container{padding:24px 16px}.page-banner{padding:32px 16px}.page-banner h1{font-size:24px;letter-spacing:.5px}.page-banner p{font-size:14px}.section-title{font-size:20px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.auth-page{padding:24px 16px}.auth-card{padding:32px 24px}.panel-card{padding:20px 16px}.page-panel-header h2{font-size:20px}}@media(max-width:576px){.auth-footer{flex-direction:column;align-items:center;gap:8px}}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}