/* PolitePaul custom styles */
* { box-sizing: border-box; }

/* Flash messages */
.flash-success { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; padding:.75rem 1rem; border-radius:.5rem; margin-bottom:1rem; }
.flash-error   { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:.75rem 1rem; border-radius:.5rem; margin-bottom:1rem; }
.flash-info    { background:#eff6ff; border:1px solid #bfdbfe; color:#1e40af; padding:.75rem 1rem; border-radius:.5rem; margin-bottom:1rem; }

/* Feed card */
.feed-card { background:#fff; border-radius:.75rem; border:1px solid #e5e7eb; padding:1.25rem; transition:box-shadow .15s; }
.feed-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); }

/* Form inputs */
.form-input  { display:block; width:100%; border:1px solid #d1d5db; border-radius:.5rem; padding:.5rem .75rem; font-size:.875rem; outline:none; transition:border-color .15s, box-shadow .15s; }
.form-input:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.15); }
.form-label  { display:block; font-size:.875rem; font-weight:500; color:#374151; margin-bottom:.25rem; }

/* Buttons */
.btn-primary   { display:inline-block; background:#2563eb; color:#fff; font-weight:500; padding:.5rem 1.25rem; border-radius:.5rem; border:none; cursor:pointer; font-size:.875rem; transition:background .15s; text-decoration:none; }
.btn-primary:hover { background:#1d4ed8; }
.btn-secondary { display:inline-block; background:#f3f4f6; color:#374151; font-weight:500; padding:.5rem 1.25rem; border-radius:.5rem; border:none; cursor:pointer; font-size:.875rem; transition:background .15s; text-decoration:none; }
.btn-secondary:hover { background:#e5e7eb; }
.btn-danger    { display:inline-block; background:#ef4444; color:#fff; font-weight:500; padding:.5rem 1rem; border-radius:.5rem; border:none; cursor:pointer; font-size:.875rem; transition:background .15s; text-decoration:none; }
.btn-danger:hover { background:#dc2626; }

/* XPath editor */
#xpath-preview { font-family: monospace; }

/* Visual selector highlight */
.pp-highlight { outline: 2px solid #2563eb !important; background: rgba(37,99,235,0.08) !important; cursor: pointer !important; }
.pp-selected  { outline: 3px solid #2563eb !important; background: rgba(37,99,235,0.15) !important; }

/* Feed builder tabs */
.tab-btn { border-bottom: 2px solid transparent; color: #6b7280; transition: color .15s, border-color .15s; }
.tab-btn:hover { color: #111827; }
.tab-btn.active { border-bottom-color: #2563eb; color: #2563eb; }

/* Prose-like content */
.prose p { margin-bottom:1rem; }
.prose h2 { font-size:1.25rem; font-weight:700; margin-top:2rem; margin-bottom:.75rem; }
.prose ul { list-style:disc; padding-left:1.5rem; }
.prose li { margin-bottom:.5rem; }
