@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--color-bg:#fff;--color-surface:#fff;--color-surface-hover:#f7f9fc;--color-border:#e6ebf1;--color-border-light:#f0f4f8;--color-text:#1a1f36;--color-text-secondary:#4f566b;--color-text-muted:#a3acb9;--color-primary:#635bff;--color-primary-hover:#5851db;--color-primary-light:#f6f9fc;--color-primary-text:#fff;--color-success:#008f45;--color-success-bg:#e6f6ec;--color-success-text:#008f45;--color-danger:#df1b41;--color-danger-bg:#fff1f3;--color-danger-text:#df1b41;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--color-admin-bg:#fff;--color-admin-surface:#f7f9fc;--color-admin-border:#e6ebf1;--color-admin-text:#1a1f36;--color-admin-text-muted:#4f566b;--color-admin-accent:#635bff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -3px #00000014, 0 4px 10px -4px #0000000a;--shadow-xl:0 20px 50px -5px #0000001a, 0 8px 20px -6px #0000000d;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}input[type=text],input[type=number],input[type=password],input[type=email],input[type=date],input[type=search],textarea,select{width:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 16px}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4f46e51a}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:500;display:block}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-family);font-size:var(--font-size-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:12px 24px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-text)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#059669;transform:translateY(-1px)}.btn-danger{color:var(--color-danger);border:1.5px solid var(--color-danger);background-color:#0000}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-bg)}.btn-ghost{color:var(--color-text-secondary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background-color:#0000}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-sm{font-size:var(--font-size-xs);padding:8px 16px}.btn-lg{font-size:var(--font-size-base);padding:16px 32px}.btn-full{width:100%}.card{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}thead{background-color:var(--color-bg)}th{text-align:left;color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);padding:12px 16px}td{border-bottom:1px solid var(--color-border-light);color:var(--color-text);padding:14px 16px}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background-color:var(--color-surface-hover)}tbody tr:last-child td{border-bottom:none}.badge{font-size:var(--font-size-xs);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-weight:600;display:inline-flex}.badge-success{background-color:var(--color-success-bg);color:var(--color-success-text)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info-text)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes checkmark{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideIn}.animate-scale-in{animation:.3s forwards scaleIn}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.font-semibold{font-weight:600}.font-bold{font-weight:700}@media (max-width:768px){:root{--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px}}
