:root{color-scheme:light;--canvas: #f9fafb;--panel: #ffffff;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--accent: #3b82f6;--danger: #dc2626;--green: #22c55e;--yellow: #eab308;--red: #ef4444;--shadow: 0 18px 40px rgba(17, 24, 39, .08);font-family:Inter,sans-serif;background:linear-gradient(180deg,#f9fafb,#eef4ff);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}button,input,table{font:inherit}#root{min-height:100vh}.app-shell{margin:0 auto;max-width:1200px;padding:32px 20px 64px}.app-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.app-header h1,.section-copy h2,.page-card h2{margin:0}.nav-bar{display:flex;gap:12px}.nav-link{padding:10px 16px;border-radius:999px;text-decoration:none;color:var(--text);border:1px solid transparent}.nav-link--active{background:var(--accent);color:#fff}.page-body,.feature-stack{display:grid;gap:20px}.pages-actions{display:flex;justify-content:flex-end}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.card-panel,.drop-zone,.page-card,.batch-summary{background:var(--panel);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.card-panel,.batch-summary,.page-card,.drop-zone{padding:24px}.page-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.page-card__header,.page-card__identity{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-card__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.page-card__avatar--fallback,.empty-state__art{display:grid;place-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:var(--accent);font-weight:600}.page-card__avatar--fallback{width:56px;height:56px;border-radius:50%}.page-card__meta{display:grid;gap:12px;margin:20px 0 0}.page-card__meta dt{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase}.page-card__meta dd{margin:4px 0 0}.icon-button,.primary-button{min-height:44px;border-radius:999px;border:1px solid var(--border);background:#fff;cursor:pointer}.primary-button{padding:0 18px;background:var(--accent);color:#fff;border-color:var(--accent)}.primary-button:disabled,.icon-button:disabled{opacity:.6;cursor:not-allowed}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge--eligible{color:#166534;background:#22c55e1a}.status-badge--warning{color:#854d0e;background:#eab30824}.status-badge--blocked{color:#991b1b;background:#ef44441f}.status-dot{width:8px;height:8px;border-radius:999px}.status-dot--eligible{background:var(--green)}.status-dot--warning{background:var(--yellow)}.status-dot--blocked{background:var(--red)}.drop-zone{border-style:dashed;text-align:center;cursor:pointer}.drop-zone--active{border-style:solid;border-color:var(--accent);background:#3b82f60f}.validation-table{width:100%;border-collapse:collapse;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.validation-table th,.validation-table td{padding:16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.issue-list{margin:0;padding-left:18px}.regen-controls,.generation-actions{display:flex;gap:10px;flex-wrap:wrap}.token-usage-panel p{margin:6px 0}.blocked-banner,.error-banner,.error-card{padding:16px 20px;border-radius:20px}.blocked-banner,.error-card{background:#ef44441a;color:#7f1d1d}.error-banner{background:#dc26261a;color:var(--danger)}.empty-state{text-align:center}.oauth-callback-panel{max-width:640px}.oauth-callback-actions{margin-top:16px}.oauth-link-button{align-items:center;display:inline-flex;justify-content:center;min-width:180px;text-decoration:none}.auth-form-wrap{place-items:center}.auth-form-panel{width:min(560px,100%)}.auth-label{font-size:.95rem;font-weight:600;color:var(--muted)}input,select{min-height:44px;border-radius:12px;border:1px solid var(--border);padding:0 12px;background:#fff}.timeline-list{display:grid;gap:12px}.timeline-item{border:1px solid var(--border);border-radius:16px;padding:16px;background:#ffffffb3}.timeline-item p{margin:4px 0}.timeline-diagnostics{color:#7f1d1d;font-family:Consolas,SFMono-Regular,monospace;font-size:.92rem}.empty-state__art{width:80px;height:80px;margin:0 auto 20px;border-radius:24px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:720px){.app-header{flex-direction:column;align-items:start}.nav-bar{width:100%;flex-wrap:wrap}}
