*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#5865f2;--color-primary-hover:#4752c4;--color-primary-active:#3c45a5;--color-success:#57f287;--color-warning:#fee75c;--color-danger:#ed4245;--color-info:#52ffff;--bg-primary:#313338;--bg-secondary:#2b2d31;--bg-tertiary:#1e1f22;--bg-floating:#111214;--text-primary:#f2f3f5;--text-secondary:#b5bac1;--text-muted:#949ba4;--text-link:#00a8fc;--border-default:#3f4147;--border-light:#42464d;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--transition-fast:.1s ease;--transition-normal:.2s ease;--transition-slow:.3s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;min-height:100vh}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button{background:none;border:none;color:inherit;cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit}input,select,textarea{background-color:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);padding:var(--space-sm) var(--space-md)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);outline:none}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.w-full{width:100%}.h-full{height:100%}.dashboard-layout{display:flex;min-height:100vh}.dashboard-main{flex:1;margin:0 auto;max-width:1200px;padding:var(--space-xl);width:100%}.card{background-color:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--space-sm);justify-content:center;padding:var(--space-sm) var(--space-md);transition:background-color var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-default)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#c23b3e}.btn-sm{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}.btn-lg{font-size:1rem;padding:var(--space-md) var(--space-xl)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;padding:2px var(--space-sm)}.badge-success{background-color:#57f28726;color:var(--color-success)}.badge-warning{background-color:#fee75c26;color:var(--color-warning)}.badge-danger{background-color:#ed424526;color:var(--color-danger)}.badge-info{background-color:#52ffff26;color:var(--color-info)}.badge-primary{background-color:#5865f226;color:var(--color-primary)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .6s linear infinite;border:2px solid var(--border-default);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:1.5rem;width:1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) ease-out}.empty-state{background-color:var(--bg-secondary);border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);padding:var(--space-xl);text-align:center}.app-container[data-v-5d217744]{min-height:100vh;width:100%}
