:root {
    --w3-green: #04AA6D;
    --w3-dark: #282A35;
    --w3-light: #f1f1f1;
    --w3-code: #E7E9EB;
    --w3-panel: #D9EEE1;
}
body { font-family: Segoe UI, Arial, sans-serif; background: #ffffff; color: #202124; }
.w3-topbar { background: var(--w3-green); box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.page-shell { padding: 28px 32px; }
.hero-w3 { background: var(--w3-panel); padding: 48px; border-left: 6px solid var(--w3-green); }
.hero-w3 h1 { font-size: clamp(2rem, 5vw, 4rem); font-weight: 800; color: var(--w3-dark); }
.btn-w3 { background: var(--w3-green); color: #fff; border-color: var(--w3-green); }
.btn-w3:hover { background: #059862; color: #fff; border-color: #059862; }
.content-card, .side-card { background:#fff; border:1px solid #e3e3e3; border-radius:6px; padding:24px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.side-card { background:#f7f7f7; }
.list-row { display:flex; justify-content:space-between; gap:18px; border-top:1px solid #e5e5e5; padding:18px 0; }
.list-row:first-of-type { border-top:0; }
.list-row.pinned { background:#f2fbf6; border-left:4px solid var(--w3-green); padding-left:14px; }
.list-row.archived { opacity:.62; }
.tag, .tag:visited { display:inline-block; background:#d9eee1; color:#0b5e3c; padding:3px 8px; border-radius:3px; font-size:.86rem; text-decoration:none; margin:2px 2px 2px 0; }
.tag:hover, .tag.active { background:var(--w3-green); color:#fff; }
.tag-cloud { display:flex; flex-wrap:wrap; gap:4px; }
.stats-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap:12px; }
.stat-card { background:#fff; border:1px solid #ddd; padding:18px; border-radius:6px; text-align:center; }
.stat-card span { display:block; color:var(--w3-green); font-size:2rem; font-weight:800; }
.stat-card small { text-transform:uppercase; color:#666; letter-spacing:.04em; }
.task-tabs { border:1px solid #dee2e6; border-top:0; padding:22px; }
.code-box, pre { background:var(--w3-code); border-left:4px solid var(--w3-green); border-radius:3px; padding:18px; overflow:auto; }
.job-body img { max-width:100%; height:auto; }
.footer { background:#fafafa; }
@media(max-width: 768px) { .page-shell { padding:18px; } .hero-w3 { padding:28px; } .list-row { flex-direction:column; } }
.empty-box { border:1px dashed #b9b9b9; background:#fafafa; padding:22px; border-radius:6px; color:#666; }
.job-card-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; }
.job-card { border:1px solid #e1e1e1; border-radius:6px; padding:18px; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.job-card.pinned { border-left:4px solid var(--w3-green); background:#f8fffb; }
.job-card h3 a { color:var(--w3-dark); text-decoration:none; }
.job-card h3 a:hover { color:var(--w3-green); text-decoration:underline; }
.job-card-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #eee; padding-top:12px; margin-top:12px; }
.validation-summary-errors ul { margin-bottom:0; }

.task-actions { min-width: 196px; }
.task-action-btn { min-width: 92px; text-align: center; }
.source-pills { display:flex; flex-wrap:wrap; gap:4px; }
.badge-source { background:#282A35; color:#fff; }
.contact-config-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:14px; }
.contact-config-row { border:1px solid #e5e5e5; border-radius:6px; padding:14px; background:#fbfbfb; }
.contact-show-check { margin-top:10px; }
.job-meta-line { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.meta-pipe { color:#9a9a9a; margin:0 3px; }
.contact-inline { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px; font-size:.9rem; color:#555; }
.contact-label { font-weight:600; color:#4b4b4b; }
.contact-separator { color:#aaa; margin:0 2px; }
.contact-list li { margin-bottom:6px; }
.footer-grid { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; flex-wrap:wrap; }
.footer-links { display:flex; gap:10px; flex-wrap:wrap; }
.footer-links a { color:#0b5e3c; text-decoration:none; }
.footer-links a:hover { color:var(--w3-green); text-decoration:underline; }
.language-menu { min-width: 220px; }
.language-menu .dropdown-item { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.language-menu .dropdown-item small { color:#666; }
.language-menu .dropdown-item.active small { color:#e8fff5; }
.translation-note { margin-top: 8px; padding: 8px 10px; background:#fff8dc; border-left:4px solid #ffc107; border-radius:4px; color:#4d4210; font-size:.92rem; }
