.layout[data-v-f2f95dc7]{display:flex;min-height:100vh}.sidebar[data-v-f2f95dc7]{width:220px;background:linear-gradient(180deg,#7c3aed,#5b21b6);color:#fff;display:flex;flex-direction:column;padding:20px 0;position:fixed;top:0;left:0;bottom:0}.logo[data-v-f2f95dc7]{font-size:20px;font-weight:700;padding:0 20px 24px}.logo span[data-v-f2f95dc7]{font-size:13px;font-weight:400;opacity:.85;margin-left:4px}nav[data-v-f2f95dc7]{flex:1}.nav-item[data-v-f2f95dc7]{display:flex;align-items:center;gap:10px;padding:12px 20px;color:#ffffffd9;font-size:14px;transition:all .15s}.nav-item[data-v-f2f95dc7]:hover{background:#ffffff1a}.nav-item.active[data-v-f2f95dc7]{background:#ffffff2e;color:#fff;font-weight:600}.nav-icon[data-v-f2f95dc7]{font-size:16px}.sidebar-footer[data-v-f2f95dc7]{padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.15)}.user-info[data-v-f2f95dc7]{display:flex;align-items:center;gap:10px}.avatar[data-v-f2f95dc7]{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:600}.user-name[data-v-f2f95dc7]{font-size:14px;font-weight:500}.content[data-v-f2f95dc7]{flex:1;margin-left:220px;padding:24px}:root{--primary: #7c3aed;--primary-light: #a78bfa;--primary-dark: #5b21b6;--bg: #f7f5fb;--card: #ffffff;--text: #1e1b2e;--text-muted: #6b7280;--border: #e5e0f0;--success: #10b981;--danger: #ef4444;--warning: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}#app{min-height:100vh}a{color:var(--primary);text-decoration:none}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000a}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:#fff;border-color:var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.textarea{min-height:80px;resize:vertical}.label{display:block;font-weight:500;margin-bottom:6px;color:var(--text)}.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:#ede9fe;color:var(--primary)}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px}.badge-success{background:#d1fae5;color:#065f46}.badge-failed{background:#fee2e2;color:#991b1b}.badge-pending{background:#fef3c7;color:#92400e}.badge-info{background:#e0e7ff;color:#3730a3}.muted{color:var(--text-muted);font-size:13px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
