:root{--c-primary: #6366f1;--c-primary-hover: #4f46e5;--c-secondary: #ec4899;--c-bg-app: #f3f4f6;--c-bg-surface: #ffffff;--c-bg-sidebar: #1e293b;--c-text-primary: #111827;--c-text-secondary: #6b7280;--c-text-inverse: #ffffff;--c-border: #e5e7eb;--c-success: #10b981;--c-danger: #ef4444;--c-warning: #f59e0b;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--space-2: .5rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--transition-fast: .2s ease;--transition-normal: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;position:relative}body{font-family:var(--font-family-base);background-color:var(--c-bg-app);color:var(--c-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul{list-style:none}.container{max-width:1280px;margin:0 auto;padding:0 var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--c-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6);border:1px solid var(--c-border)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--c-border)}.btn-primary{display:inline-flex;justify-content:center;align-items:center;padding:.5rem 1rem;background-color:var(--c-primary);color:var(--c-text-inverse);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast)}.btn-primary:hover{background-color:var(--c-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background-color:var(--c-danger);color:#fff;border:none;padding:.25rem .75rem;border-radius:var(--radius-sm);cursor:pointer}input,select,textarea{width:100%;padding:.5rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;transition:border-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 2px #6366f11a}table{width:100%;border-collapse:collapse}th,td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--c-border)}th{background-color:#f9fafb;font-weight:600;color:var(--c-text-secondary)}tr:hover{background-color:#f9fafb}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.admin-layout[data-v-00acd704]{min-height:100vh;background-color:var(--c-bg-app);display:flex}.login-container[data-v-00acd704]{display:flex;justify-content:center;align-items:center;width:100%;height:100vh;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-secondary) 100%)}.login-card[data-v-00acd704]{width:100%;max-width:400px;background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-header[data-v-00acd704]{text-align:center;margin-bottom:2rem}.login-header h2[data-v-00acd704]{font-size:1.5rem;margin-bottom:.5rem;color:var(--c-text-primary)}.text-secondary[data-v-00acd704]{color:var(--c-text-secondary);font-size:.875rem}.form-group[data-v-00acd704]{margin-bottom:1.5rem}.form-label[data-v-00acd704]{display:block;margin-bottom:.5rem;font-weight:500;color:var(--c-text-primary)}.w-full[data-v-00acd704]{width:100%}.dashboard-wrapper[data-v-00acd704]{display:flex;width:100%;height:100vh;overflow:hidden}.sidebar[data-v-00acd704]{width:260px;background-color:var(--c-bg-sidebar);color:#fff;display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;z-index:20}.sidebar-collapsed[data-v-00acd704]{width:70px}.sidebar-header[data-v-00acd704]{height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.1)}.logo[data-v-00acd704]{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.25rem;white-space:nowrap;overflow:hidden}.logo-icon[data-v-00acd704]{font-size:1.5rem}.nav-menu[data-v-00acd704]{flex:1;padding:1rem 0;overflow-y:auto}.nav-item[data-v-00acd704]{display:flex;align-items:center;padding:.75rem 1.5rem;color:#ffffffb3;transition:all .2s;white-space:nowrap;overflow:hidden}.nav-item[data-v-00acd704]:hover{color:#fff;background-color:#ffffff0d}.nav-item.active[data-v-00acd704]{color:#fff;background-color:var(--c-primary);border-right:3px solid white}.nav-item .icon[data-v-00acd704]{font-size:1.25rem;min-width:24px;display:flex;justify-content:center}.nav-item .label[data-v-00acd704]{margin-left:.75rem}.nav-divider[data-v-00acd704]{height:1px;background-color:#ffffff1a;margin:.5rem 1.5rem}.main-content[data-v-00acd704]{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--c-bg-app)}.top-bar[data-v-00acd704]{height:64px;background-color:var(--c-bg-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;box-shadow:var(--shadow-sm);z-index:10}.menu-toggle[data-v-00acd704]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--c-text-secondary);padding:4px;border-radius:4px}.menu-toggle[data-v-00acd704]:hover{background-color:var(--c-bg-app);color:var(--c-text-primary)}.page-title[data-v-00acd704]{font-size:1.125rem;font-weight:600;color:var(--c-text-primary)}.logout-btn[data-v-00acd704]{background:none;border:1px solid var(--c-border);padding:.4rem 1rem;border-radius:var(--radius-sm);cursor:pointer;color:var(--c-text-primary);font-size:.875rem;transition:all .2s}.logout-btn[data-v-00acd704]:hover{background-color:#fca5a5;border-color:#ef4444;color:#7f1d1d}.content-area[data-v-00acd704]{flex:1;overflow-y:auto;padding:2rem}
