:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-success-light: #dcfce7;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-warning: #d97706;--color-bg: #f3f4f6;--color-surface: #ffffff;--color-border: #e5e7eb;--color-border-focus: #93c5fd;--color-text: #111827;--color-text-muted: #6b7280;--color-text-light: #9ca3af;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition: .15s ease;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh;font-family:var(--font-sans);font-size:16px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:680px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition),opacity var(--transition);text-decoration:none;white-space:nowrap;font-family:var(--font-sans)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-icon{padding:.4rem;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition),color var(--transition);display:inline-flex;align-items:center;font-family:var(--font-sans)}.btn-icon:hover{background:var(--color-bg);color:var(--color-text)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-control{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition);outline:none}.form-control:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #93c5fd4d}.form-hint{font-size:.8rem;color:var(--color-text-muted)}.form-error{font-size:.8rem;color:var(--color-danger)}.toggle-group{display:flex;align-items:center;gap:.75rem}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--color-border);border-radius:24px;cursor:pointer;transition:background var(--transition)}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform var(--transition)}.toggle input:checked+.toggle-slider{background:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-muted{background:var(--color-bg);color:var(--color-text-muted)}.progress-bar{height:6px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:.5rem}.progress-fill{height:100%;background:var(--color-success);border-radius:999px;transition:width .3s ease}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1rem 0;margin-bottom:2rem}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}@media(max-width:640px){.container{padding:0 .75rem}.card{border-radius:var(--radius);padding:1rem}}
