:root {
    --color-bg: #0f1115;
    --color-surface: #171a21;
    --color-border: #2a2f3a;
    --color-text: #e8eaed;
    --color-muted: #9aa1ac;
    --color-accent: #5b8cff;
    --color-success: #3ecf8e;
    --color-danger: #ff5c5c;
    --color-warning: #f2b84b;
    --radius: 10px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    line-height: 1.5;
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

.site-header {
    border-bottom: 1px solid var(--color-border);
    padding: 16px 0;
}
.header-inner { display: flex; justify-content: space-between; align-items: center; }
.logo { color: var(--color-text); font-weight: 700; text-decoration: none; font-size: 1.1rem; }
nav a { color: var(--color-muted); text-decoration: none; margin-left: 18px; font-size: 0.92rem; }
nav a:hover { color: var(--color-text); }
.btn-nav { color: var(--color-accent) !important; }
.lang-switch { margin-left: 18px; }
.lang-switch a { margin: 0 3px; }

main { padding: 40px 0; min-height: 60vh; }

.flash-messages { margin-bottom: 24px; }
.flash { padding: 10px 14px; border-radius: var(--radius); margin-bottom: 8px; font-size: 0.9rem; }
.flash-success { background: rgba(62,207,142,0.12); color: var(--color-success); }
.flash-danger { background: rgba(255,92,92,0.12); color: var(--color-danger); }
.flash-warning { background: rgba(242,184,75,0.12); color: var(--color-warning); }
.flash-info { background: rgba(91,140,255,0.12); color: var(--color-accent); }

.card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 20px;
    margin-bottom: 16px;
}

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }

.project-card { display: block; text-decoration: none; color: inherit; }
.project-card img { width: 100%; height: 150px; object-fit: cover; border-radius: var(--radius) var(--radius) 0 0; background: #222; }
.project-card .card-body { padding: 14px 4px; }
.project-card h3 { margin: 0 0 6px; font-size: 1.05rem; }
.project-card p { margin: 0; color: var(--color-muted); font-size: 0.88rem; }

.badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 0.75rem; margin-top: 8px; }
.badge-basic_verified { background: rgba(91,140,255,0.15); color: var(--color-accent); }
.badge-nis2_ready { background: rgba(62,207,142,0.15); color: var(--color-success); }
.badge-full_audit { background: rgba(242,184,75,0.15); color: var(--color-warning); }

.filters { display: flex; gap: 10px; margin-bottom: 24px; flex-wrap: wrap; }
.filters a { padding: 6px 12px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-muted); text-decoration: none; font-size: 0.85rem; }
.filters a.active { background: var(--color-accent); color: white; border-color: var(--color-accent); }

form .field { margin-bottom: 16px; }
form label { display: block; margin-bottom: 6px; font-size: 0.9rem; color: var(--color-muted); }
form input[type=text], form input[type=email], form input[type=password], form input[type=url],
form textarea, form select {
    width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--color-border);
    background: #0d0f13; color: var(--color-text); font-size: 0.95rem;
}
form textarea { min-height: 120px; resize: vertical; }
form .hint { font-size: 0.8rem; color: var(--color-muted); margin-top: 4px; }

.btn {
    display: inline-block; padding: 10px 18px; border-radius: 8px; border: none;
    background: var(--color-accent); color: white; font-size: 0.95rem; cursor: pointer; text-decoration: none;
}
.btn-secondary { background: transparent; border: 1px solid var(--color-border); color: var(--color-text); }
.btn-danger { background: var(--color-danger); }
.btn-sm { padding: 6px 12px; font-size: 0.85rem; }

.status-pill { padding: 2px 10px; border-radius: 999px; font-size: 0.75rem; }
.status-draft { background: #333; }
.status-pending_review { background: rgba(242,184,75,0.2); color: var(--color-warning); }
.status-published { background: rgba(62,207,142,0.2); color: var(--color-success); }
.status-rejected { background: rgba(255,92,92,0.2); color: var(--color-danger); }
.status-suspended { background: #444; }

.scan-findings { list-style: none; padding: 0; margin: 12px 0; }
.finding { padding: 6px 0; font-size: 0.88rem; border-bottom: 1px solid var(--color-border); }
.finding:last-child { border-bottom: none; }
.finding-icon { display: inline-block; width: 1.4em; text-align: center; }
.finding-pass .finding-icon { color: var(--color-success); }
.finding-fail .finding-icon { color: var(--color-danger); }
.finding-warn .finding-icon { color: var(--color-warning); }
.finding-info .finding-icon { color: var(--color-muted); }

.site-footer { border-top: 1px solid var(--color-border); padding: 24px 0; color: var(--color-muted); font-size: 0.82rem; }
.disclaimer { max-width: 700px; }

#pitch-chat-widget { border: 1px solid var(--color-border); border-radius: var(--radius); padding: 14px; background: var(--color-surface); margin-top: 20px; }
#pitch-chat-log { max-height: 260px; overflow-y: auto; margin-bottom: 10px; }
#pitch-chat-log .msg { margin-bottom: 8px; font-size: 0.9rem; }
#pitch-chat-log .msg-user { color: var(--color-text); }
#pitch-chat-log .msg-bot { color: var(--color-muted); }
#pitch-chat-form { display: flex; gap: 8px; }
#pitch-chat-form input { flex: 1; }
