:root{--color-bg: #f5f4ff;--color-bg-soft: #f1f0ff;--color-surface: #ffffff;--color-surface-raised: #f8f8ff;--color-sidebar: #131126;--color-sidebar-2: #1b1935;--color-accent: #6a63ff;--color-accent-strong: #5a4ff5;--color-accent-hover: #7a73ff;--color-accent-soft: rgba(106, 99, 255, .12);--color-accent-teal: #32c78a;--color-text: #1c2440;--color-text-muted: #8a97b7;--color-text-soft: #a9b2cb;--color-border: #e7e9f9;--color-border-strong: #d9dcf0;--color-danger: #ff6a6a;--color-warning: #ffb347;--color-success: #32c78a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 2px 10px rgba(71, 78, 130, .05);--shadow-md: 0 10px 30px rgba(76, 71, 148, .08);--shadow-lg: 0 18px 50px rgba(66, 59, 137, .14);--transition: .18s ease;--font: "Plus Jakarta Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}body{min-height:100vh}app-root{display:block;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8995bd66;border-radius:999px}.surface{background:var(--color-surface);border-radius:var(--radius-md)}.card{background:var(--color-surface);border:1px solid rgba(228,232,248,.9);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card-raised{background:var(--color-surface);border:1px solid rgba(228,232,248,.95);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-teal{color:var(--color-accent-teal)}.page-shell{padding:42px 32px 56px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title{font-size:24px;font-weight:800;letter-spacing:-.04em;color:var(--color-text)}.page-subtitle{margin-top:6px;color:var(--color-text-muted);font-size:14px}.panel-card{background:var(--color-surface);border:1px solid rgba(229,232,247,.95);border-radius:24px;box-shadow:var(--shadow-sm)}.soft-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;font-weight:600}.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:10px 16px;border-radius:14px;border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:700;transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;box-shadow:0 10px 24px #605af247}.btn-ghost{background:var(--color-surface);color:var(--color-accent);border-color:var(--color-border)}.btn-success{background:linear-gradient(135deg,#32c78a,#28a86e);color:#fff;box-shadow:0 8px 20px #32c78a47}.btn-icon{width:40px;height:40px;padding:0;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}input,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;color:var(--color-text);padding:10px 14px;font-size:14px;width:100%;outline:none;transition:border-color var(--transition)}input:focus,textarea:focus{border-color:#6a63ff73;box-shadow:0 0 0 4px #6a63ff14}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}button{font:inherit}@media (max-width: 900px){.page-shell{padding:28px 18px 36px}.page-header{flex-direction:column;align-items:stretch}.page-title{font-size:22px}}@media (max-width: 480px){.page-shell{padding:20px 14px 32px}.page-title{font-size:20px}.panel-card{padding:16px;border-radius:16px}.btn{padding:9px 12px;font-size:13px}}
