:root{--color-primary:#ca6f1e;--color-primary-hover:#b0651a;--color-primary-light:#fef7ed;--color-primary-soft:#fffbf5;--color-primary-dark:#9a5517;--color-accent:#c6903a;--color-accent-hover:#b07e2e;--color-text-primary:#1c1917;--color-text-secondary:#78716c;--color-text-tertiary:#a8a29e;--color-text-inverse:#fff;--color-bg:#fafaf9;--color-bg-alt:#f5f5f4;--color-surface:#fff;--color-surface-hover:#fafaf9;--color-border:#e7e5e4;--color-border-light:#f5f5f4;--color-success:#059669;--color-success-light:#ecfdf5;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#0ea5e9;--color-info-light:#f0f9ff;--gradient-primary:#ca6f1e;--gradient-subtle:#fafaf9;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans SC",sans-serif;--font-mono:"SF Mono","Fira Code","Cascadia Code","Consolas",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:1.75;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:9999px;--shadow-xs:0 1px 1px rgba(0,0,0,.03);--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 2px 6px rgba(0,0,0,.05);--shadow-lg:0 4px 12px rgba(0,0,0,.06);--shadow-xl:0 8px 24px rgba(0,0,0,.08);--shadow-primary:0 2px 8px rgba(202,111,30,.18);--tracking-tight:-0.022em;--tracking-normal:0;--tracking-wide:0.02em;--tracking-wider:0.04em;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--navbar-height:48px;--sidebar-width:240px;--content-max-width:1040px;--content-wide-max:1200px;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.page-container{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text-primary)}.navbar{background:hsla(0,0%,100%,.84);border-bottom:1px solid var(--color-border);padding:0 5%;justify-content:space-between;position:sticky;top:0;z-index:var(--z-sticky);height:var(--navbar-height);box-sizing:border-box;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.navbar,.navbar-brand{display:flex;align-items:center}.brand-logo{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);text-decoration:none;letter-spacing:var(--tracking-tight)}.brand-logo span{color:var(--color-accent);font-weight:var(--font-medium)}.nav-links{display:flex;gap:var(--space-8)}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-sm);transition:color var(--transition-base);position:relative;padding:var(--space-1) 0}.nav-link.router-link-active,.nav-link:hover{color:var(--color-primary)}.nav-link.router-link-active:after{width:100%}.nav-link.router-link-active:after,.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;height:2px;background:var(--color-primary);border-radius:1px}.nav-link:after{width:0;transition:width var(--transition-base)}.nav-link:hover:after{width:100%}.nav-actions{gap:var(--space-3)}.nav-actions,.nav-actions>div{display:flex;align-items:center;height:40px}.nav-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--text-sm);text-decoration:none;transition:all var(--transition-base);display:inline-flex;align-items:center}.btn-login{background:var(--color-primary-light);color:var(--color-primary);border:1px solid transparent}.btn-login:hover{background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.btn-admin{background:transparent;color:var(--color-text-secondary);border:none;padding:var(--space-2) var(--space-3)}.btn-admin:hover{color:var(--color-primary);background:var(--color-primary-soft)}.footer{background:var(--color-bg);padding:var(--space-16) 5% var(--space-8);border-top:1px solid var(--color-border);margin-top:auto}.footer-content{max-width:var(--content-max-width);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-10)}.footer-info{min-width:0}.footer-logo{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);letter-spacing:var(--tracking-tight)}.footer-logo span{color:var(--color-accent);font-weight:var(--font-medium)}.footer-info p{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:280px}.footer-links-group h3{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:var(--tracking-wide);text-transform:uppercase}.footer-links{display:flex;flex-direction:column;gap:var(--space-2)}.footer-link{color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;transition:color var(--transition-fast);padding:var(--space-1) 0}.footer-link:hover{color:var(--color-text-primary)}.footer-bottom{max-width:var(--content-max-width);margin:var(--space-12) auto 0;padding-top:var(--space-6);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-xs)}.page-header{text-align:center;margin-bottom:var(--space-16)}.page-header h1{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-4);letter-spacing:var(--tracking-tight)}.page-header p{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:640px;margin:0 auto;letter-spacing:var(--tracking-normal)}.el-button--primary{background:var(--gradient-primary)!important;border:none!important;font-weight:var(--font-medium)!important;transition:all var(--transition-base)!important}.el-button--primary:hover{opacity:.92;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.el-button--primary:active{transform:translateY(0)}.el-input__inner:focus,.el-textarea__inner:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(0,0,0,.06)!important}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:var(--color-primary)!important}.el-pagination.is-background .el-pager li:hover{color:var(--color-primary)!important}.el-dialog{border-radius:var(--radius-xl)!important;overflow:hidden}.el-dialog__header{padding:var(--space-5) var(--space-6)!important;border-bottom:1px solid var(--color-border)!important}.el-dialog__title{font-size:var(--text-lg)!important;font-weight:var(--font-semibold)!important;color:var(--color-text-primary)!important}.el-dialog__body{padding:var(--space-6)!important}.el-table th{font-weight:var(--font-semibold)!important;font-size:var(--text-xs)!important;text-transform:uppercase;letter-spacing:.05em}.el-table__row:hover>td{background-color:var(--color-primary-soft)!important}.el-tag{border-radius:var(--radius-full)!important;font-weight:var(--font-medium)!important}.el-avatar{background:#ca6f1e!important}@media (max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:var(--space-8)}}@media (max-width:768px){.navbar{padding:0 4%;height:48px}.nav-links{display:none}.brand-logo{font-size:var(--text-xl)}.footer-content{grid-template-columns:1fr;gap:var(--space-8);text-align:center}.footer-info p{max-width:100%}.footer-links{align-items:center}.page-header h1{font-size:var(--text-2xl)}.page-header p{font-size:var(--text-base)}}@media (max-width:480px){.navbar{padding:0 3%}.brand-logo{font-size:var(--text-lg)}.nav-btn{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}}