@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--primary:#7c3aed;--primary-dark:#5b21b6;--primary-light:#ede9fe;--primary-50:rgba(124,58,237,.05);--primary-10:rgba(124,58,237,.1);--primary-15:rgba(124,58,237,.15);--secondary:#06b6d4;--secondary-dark:#0891b2;--accent:#f59e0b;--accent-light:#fef3c7;--success:#10b981;--success-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--info:#3b82f6;--info-light:#dbeafe;--bg:#f5f5f7;--bg-card:#fff;--bg-sidebar:linear-gradient(180deg,#0f0f1a,#1a1a2e 50%,#16162a);--bg-muted:#f0f0f3;--bg-elevated:#fff;--text:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--border:#e4e4e7;--border-subtle:#f0f0f2;--glass-bg:hsla(0,0%,100%,.72);--glass-border:hsla(0,0%,100%,.18);--glass-blur:blur(20px);--glass-bg-dark:hsla(0,0%,100%,.04);--glass-border-dark:hsla(0,0%,100%,.08);--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -2px rgba(0,0,0,.05);--shadow-lg:0 16px 40px -8px rgba(0,0,0,.12),0 8px 16px -4px rgba(0,0,0,.06);--shadow-xl:0 24px 64px -16px rgba(0,0,0,.16);--shadow-focus:0 0 0 3px rgba(124,58,237,.15),0 0 0 1px rgba(124,58,237,.3);--shadow-card:0 1px 3px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.03);--shadow-card-hover:0 8px 24px -4px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.04);--shadow-glow:0 0 20px rgba(124,58,237,.15);--shadow-glow-primary:0 4px 20px rgba(124,58,237,.25);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-display:"Space Grotesk","Inter",sans-serif;--font-mono:"SF Mono","Fira Code",monospace;--ease:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--transition:0.2s var(--ease);--transition-slow:0.35s var(--ease);--transition-spring:0.4s var(--ease-spring)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body,html{overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;font-size:14px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none;background:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}ol,ul{list-style:none}input,select,textarea{font-family:var(--font-sans);outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes entranceFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes glowPulse{0%,to{box-shadow:0 0 15px rgba(124,58,237,.2)}50%{box-shadow:0 0 30px rgba(124,58,237,.35)}}@keyframes borderGlow{0%,to{border-color:rgba(124,58,237,.15)}50%{border-color:rgba(124,58,237,.35)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:13px;transition:all .25s var(--ease);border:none;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;letter-spacing:-.01em}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));pointer-events:none;transition:opacity .25s var(--ease)}.btn:hover:after{opacity:.8}.btn-primary{background:linear-gradient(135deg,#18181b,#27272a);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 hsla(0,0%,100%,.06)}.btn-primary:hover{background:linear-gradient(135deg,#27272a,#3f3f46);box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.15)}.btn-gradient{background:linear-gradient(135deg,var(--primary) 0,#9333ea 40%,var(--secondary) 100%);background-size:200% 200%;color:#fff;box-shadow:0 2px 12px rgba(124,58,237,.3),inset 0 1px 0 hsla(0,0%,100%,.12);animation:gradientShift 4s ease infinite}.btn-gradient:hover{box-shadow:0 6px 24px rgba(124,58,237,.4);transform:translateY(-2px)}.btn-outline{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);border:1.5px solid var(--border);box-shadow:var(--shadow-xs)}.btn-outline:after{display:none}.btn-outline:hover{border-color:var(--primary);background:var(--primary-50);color:var(--primary);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:after{display:none}.btn-ghost:hover{background:var(--bg-muted);color:var(--text)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px rgba(239,68,68,.25)}.btn-danger:hover{box-shadow:0 4px 16px rgba(239,68,68,.35);transform:translateY(-1px)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-xs)}.btn-lg{padding:12px 24px;font-size:14px}.btn-xl{padding:14px 30px;font-size:15px;border-radius:var(--radius-md)}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-icon{padding:8px;border-radius:var(--radius-sm)}.form-group{margin-bottom:18px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px;letter-spacing:-.01em}.form-hint{font-size:12px;color:var(--text-muted);margin-top:5px}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:#fff;transition:all .25s var(--ease);box-shadow:var(--shadow-xs)}.form-input:hover{border-color:#c4c4cc}.form-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.form-input::placeholder{color:#c4c4cc}.form-select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:#fff;transition:all .25s var(--ease);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:var(--shadow-xs);background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}textarea.form-input{resize:vertical;min-height:88px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .3s var(--ease);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(124,58,237,.02),rgba(6,182,212,.02));opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);border-color:rgba(124,58,237,.12)}.card:hover:before{opacity:1}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.01em}.badge-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.badge-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.badge-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.badge-primary{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:var(--primary-dark)}.badge-neutral{background:var(--bg-muted);color:var(--text-muted)}.badge-pro{background:linear-gradient(135deg,#faf5ff,#ede9fe);color:var(--primary);border:1px solid #ddd6fe;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}.table{width:100%;border-collapse:collapse}.table th{padding:12px 18px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;background:linear-gradient(180deg,#fafafa,#f5f5f5);border-bottom:1px solid var(--border)}.table td{padding:14px 18px;font-size:13px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:all .2s var(--ease)}.table tbody tr:hover td{background:linear-gradient(135deg,rgba(124,58,237,.02),rgba(6,182,212,.02))}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl),0 0 0 1px rgba(0,0,0,.05);animation:slideUp .35s var(--ease)}.modal-header{padding:22px 26px 16px;display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em}.modal-close{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:var(--transition);font-size:16px}.modal-close:hover{background:var(--bg-muted);color:var(--text)}.modal-body{padding:0 26px 22px}.modal-footer{padding:16px 26px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:2000;display:flex;flex-direction:column-reverse;gap:8px}.toast{padding:14px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);animation:slideIn .35s var(--ease);display:flex;align-items:center;gap:10px;min-width:300px;border:1px solid transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-success{background:linear-gradient(135deg,rgba(240,253,244,.95),rgba(220,252,231,.95));color:#15803d;border-color:#bbf7d0}.toast-error{background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,93%,94%,.95));color:#b91c1c;border-color:#fecaca}.toast-info{background:hsla(0,0%,100%,.95);color:var(--text);border-color:var(--border);box-shadow:var(--shadow-md)}.empty-state{text-align:center;padding:64px 28px}.empty-state-icon{font-size:44px;margin-bottom:14px;animation:float 3s ease-in-out infinite}.empty-state-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:6px;letter-spacing:-.02em}.empty-state-desc{font-size:13px;color:var(--text-muted);margin-bottom:20px;max-width:300px;margin-left:auto;margin-right:auto;line-height:1.6}.skeleton{background:linear-gradient(90deg,#f0f0f3 25%,#e4e4e7 50%,#f0f0f3 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:24px 0}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:0 0 env(safe-area-inset-bottom,0)}.modal{max-width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overscroll-behavior:contain}.modal-header{padding:18px 20px 14px}.modal-body{padding:0 20px 18px}.modal-footer{padding:14px 20px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table td,.table th{padding:10px 14px;font-size:12px;white-space:nowrap}.toast-container{left:16px;right:16px;bottom:16px}.toast{min-width:auto;width:100%}}@media (max-width:640px){.page-header{flex-direction:column;gap:12px}.empty-state{padding:40px 20px}.empty-state-icon{font-size:36px}.empty-state-title{font-size:15px}.btn{padding:9px 14px;font-size:12px}.btn-lg{padding:10px 20px;font-size:13px}.btn-xl{padding:12px 24px;font-size:14px}.form-group{margin-bottom:14px}}@media (max-width:480px){.form-input,.form-select,textarea.form-input{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}