:root{--bg:#fafaf9;--card:#fff;--text:#1a1a1a;--muted:#6b6b6b;--border:#e5e5e5;--accent:#2563eb;--accent-light:#dbeafe;--red:#dc2626;--red-light:#fef2f2;--green:#16a34a;--green-light:#f0fdf4;--amber:#d97706;--amber-light:#fffbeb;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.container{max-width:960px;margin:0 auto;padding:24px 20px}.app-header{background:var(--card);border-bottom:1px solid var(--border);padding:12px 0}.app-header .container{display:flex;justify-content:space-between;align-items:center}.app-logo{font-size:1.25rem;font-weight:700;color:var(--accent);text-decoration:none}.app-nav{display:flex;gap:16px}.app-nav a{color:var(--text);text-decoration:none;font-size:.9rem}.app-nav a:hover{color:var(--accent)}h1{font-size:1.5rem}.card,h1{margin-bottom:16px}.card{background:var(--card);border:1px solid var(--border);padding:20px}.btn,.card{border-radius:var(--radius)}.btn{display:inline-block;padding:10px 20px;font-weight:600;font-size:.9rem;border:none;cursor:pointer;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover{background:var(--accent-light)}.btn-danger{background:var(--red);color:#fff}.btn-secondary{background:var(--border);color:var(--text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;margin-bottom:4px;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.form-error{color:var(--red);font-size:.8rem;margin-top:4px}.status-badge{display:inline-block;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:700}.status-draft{background:#f1f5f9;color:#475569}.status-approved{background:var(--green-light);color:var(--green)}.status-failed{background:var(--red-light);color:var(--red)}.status-pending{background:var(--amber-light);color:var(--amber)}.status-published{background:var(--accent-light);color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border)}th{background:#f8fafc;font-weight:600;font-size:.8rem;color:var(--muted)}tr:hover{background:#fafafa}.review-checklist label{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:.9rem}.review-checklist input[type=checkbox]{width:auto}.flex-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mt-16{margin-top:16px}