:root{--primary:#004AAD;--accent:#F4B400;--bg:#f7f9fc;--text:#111}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
.container{max-width:960px;margin:0 auto;padding:16px}
.topbar{background:#fff;border-bottom:1px solid #e6e8ef}.topbar .brand{color:var(--primary);font-weight:700}
nav a{margin-left:12px;color:var(--primary);text-decoration:none}
.card{background:#fff;border:1px solid #e6e8ef;border-radius:8px;padding:16px;margin:16px 0}
.card.narrow{max-width:480px;margin:32px auto}
.form label{display:block;margin:12px 0}
input,button{font-size:16px;padding:10px;border-radius:6px;border:1px solid #cfd4e2}
.btn{background:#fff;color:#111;border:1px solid #cfd4e2;cursor:pointer}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.alert{padding:10px;border:1px solid #f5c6cb;background:#f8d7da;color:#721c24;border-radius:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.footer{padding:24px 0;border-top:1px solid #e6e8ef;color:#667}
canvas{touch-action:none}

/* PDF viewer responsive sizing */
.pdf-viewer-wrap { width: 100%; }
.pdf-viewer-iframe { width: 100%; height: 60vh; min-height: 420px; border: 1px solid #ccc; }
@media (max-width: 768px) {
	.pdf-viewer-iframe { height: calc(100vh - 200px); min-height: 320px; }
}
