#app{min-height:100vh}:root{--color-bg-primary: #0a0e14;--color-bg-secondary: #131920;--color-bg-tertiary: #1a2130;--color-bg-elevated: #1e2738;--color-bg-hover: #252f40;--color-accent-primary: #00d4aa;--color-accent-secondary: #00b894;--color-accent-glow: rgba(0, 212, 170, .15);--color-success: #00d4aa;--color-warning: #ffc107;--color-error: #ff6b6b;--color-info: #4fc3f7;--color-text-primary: #e4e8ef;--color-text-secondary: #8892a2;--color-text-muted: #5c6578;--color-border: #2a3545;--color-border-focus: var(--color-accent-primary);--font-sans: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px var(--color-accent-glow);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 20%,rgba(0,212,170,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(0,184,148,.03) 0%,transparent 50%);pointer-events:none;z-index:-1}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}p{color:var(--color-text-secondary)}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-secondary)}input,select,textarea{font-family:inherit;font-size:.9375rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-glow)}input::placeholder{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:inherit;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));color:var(--color-bg-primary)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#ff5252}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{background:#ff6b6b1a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-error);font-size:.875rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.success-message{background:#00d4aa1a;border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-success);font-size:.875rem;margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:500;color:var(--color-text-muted);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-tertiary)}tr:hover td{background:var(--color-bg-hover)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.badge-success{background:#00d4aa26;color:var(--color-success)}.badge-warning{background:#ffc10726;color:var(--color-warning)}.badge-error{background:#ff6b6b26;color:var(--color-error)}.badge-info{background:#4fc3f726;color:var(--color-info)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.pending{background:var(--color-warning)}.status-dot.cloning,.status-dot.syncing{background:var(--color-info);animation:pulse 1.5s infinite}.status-dot.cloned{background:var(--color-success)}.status-dot.error{background:var(--color-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-error{color:var(--color-error);font-size:.8125rem;margin-top:var(--spacing-xs)}.text-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.ml-auto{margin-left:auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}
