.admin-layout[data-v-b33425d4]{min-height:100vh;display:flex}.sidebar[data-v-b33425d4]{width:var(--sidebar-width);background:linear-gradient(#1e1e2e 0%,#16162a 100%);flex-direction:column;flex-shrink:0;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand[data-v-b33425d4]{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:24px 20px 20px;display:flex}.brand-icon svg[data-v-b33425d4]{width:40px;height:40px;display:block}.brand-text[data-v-b33425d4]{flex-direction:column;display:flex}.brand-name[data-v-b33425d4]{color:#fff;letter-spacing:-.02em;font-size:17px;font-weight:800}.brand-ver[data-v-b33425d4]{color:#ffffff59;font-size:11px;font-weight:500}.sidebar-nav[data-v-b33425d4]{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex}.nav-item[data-v-b33425d4]{border-radius:var(--radius);color:#ffffff8c;transition:all var(--transition);align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item[data-v-b33425d4]:hover{color:#ffffffd9;background:#ffffff0f}.nav-item.active[data-v-b33425d4]{color:#fff;background:linear-gradient(135deg,#6366f140,#828cf826);font-weight:600}.nav-item.active[data-v-b33425d4]:before{content:"";background:var(--accent);border-radius:3px;width:3px;height:20px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.nav-icon[data-v-b33425d4]{flex-shrink:0;align-items:center;display:flex}.sidebar-footer[data-v-b33425d4]{border-top:1px solid #ffffff0f;flex-direction:column;gap:10px;padding:16px 16px 20px;display:flex}.user-card[data-v-b33425d4]{border-radius:var(--radius);background:#ffffff0a;align-items:center;gap:10px;padding:8px 10px;display:flex}.user-avatar[data-v-b33425d4]{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.user-meta[data-v-b33425d4]{flex-direction:column;display:flex;overflow:hidden}.user-name[data-v-b33425d4]{color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.user-role[data-v-b33425d4]{color:#ffffff59;font-size:11px}.logout-btn[data-v-b33425d4]{justify-content:center;width:100%;font-size:13px}.front-link[data-v-b33425d4]{color:#fff6;border-radius:var(--radius-sm);transition:all var(--transition);justify-content:center;align-items:center;gap:6px;padding:8px;font-size:13px;text-decoration:none;display:flex}.front-link[data-v-b33425d4]:hover{color:#ffffffb3;background:#ffffff0a}.content[data-v-b33425d4]{background:var(--bg);flex:1;min-width:0;padding:32px 36px;overflow-y:auto}:root{--bg:#f0f2f8;--surface:#fff;--ink:#1e1e2e;--muted:#8b8fa3;--border:#e4e7f0;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f126;--accent2:#f59e0b;--accent2-light:#fbbf24;--accent2-glow:#f59e0b26;--success:#10b981;--danger:#ef4444;--danger-bg:#fef2f2;--tag-bg:#f1f3f8;--sidebar-width:240px;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000000a;--shadow:0 4px 16px #0000000f;--shadow-lg:0 8px 30px #00000014;--shadow-xl:0 16px 48px #0000001a;--transition:.2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:14px/1.6 Microsoft YaHei,Noto Sans SC,-apple-system,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c5c9d6;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a5a9b6}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);padding:24px}select,input[type=text],input[type=number],input[type=email],input[type=password],textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);transition:all var(--transition);outline:none;padding:10px 14px;font-family:inherit;font-size:14px}select:hover,input:hover,textarea:hover{border-color:#cdd0db}select:focus,input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{resize:vertical}.btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);white-space:nowrap;letter-spacing:.01em;border:1.5px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 20px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent-light);box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-outline{color:var(--ink);border-color:var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);box-shadow:none}.btn-sm{border-radius:6px;padding:6px 14px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger-bg)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
