:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--success-color: #10b981;--error-color: #ef4444;--warning-color: #f59e0b;--background: #f8fafc;--surface: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border: #e2e8f0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5}.container{max-width:1200px;margin:0 auto;padding:1rem}.nav{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 0}.nav-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}.nav-brand{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-decoration:none}.nav-links{display:flex;gap:1rem;align-items:center}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:.375rem;transition:all .2s}.nav-link:hover{background:var(--background);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s;text-decoration:none}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--background)}.btn-success{background:var(--success-color);color:#fff}.btn-danger{background:var(--error-color);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border-radius:.5rem;border:1px solid var(--border);padding:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.25rem;font-weight:600}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-input{width:100%;padding:.625rem;font-size:1rem;border:1px solid var(--border);border-radius:.375rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color)}.form-error{color:var(--error-color);font-size:.875rem;margin-top:.25rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px}.status-draft{background:#f1f5f9;color:#64748b}.status-scanning{background:#fef3c7;color:#d97706}.status-processing{background:#dbeafe;color:#2563eb}.status-ready{background:#d1fae5;color:#059669}.status-failed{background:#fee2e2;color:#dc2626}.grid{display:grid;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.loading{display:flex;align-items:center;justify-content:center;padding:2rem}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-weight:600;background:var(--background)}.table tr:hover{background:var(--background)}
