:root { --brand: #0f4c81; --brand-2: #14b8a6; }
body { background: #f6f7fb; }
.navbar-brand strong { color: var(--brand-2); }
.navbar { background: var(--brand) !important; }
.card { border: 0; box-shadow: 0 1px 3px rgba(16, 24, 40, .08); }
.stat .num { font-size: 2rem; font-weight: 700; color: var(--brand); }
.badge-status { text-transform: uppercase; font-size: .7rem; letter-spacing: .03em; }
.pkg-row img { width: 72px; height: 48px; object-fit: cover; border-radius: 4px; }
.guest-wrap { max-width: 420px; margin: 8vh auto; }
.portal-hero { max-width: 960px; margin: 6vh auto; }
.article-preview { max-width: 760px; background: #fff; padding: 2rem; }
code.secret { font-size: .8rem; }

/* Βοηθός */
.chat-msg { margin-bottom: 1rem; max-width: 85%; }
.chat-user { margin-left: auto; }
.chat-user .bubble { background: var(--brand); color: #fff; border-radius: 14px 14px 4px 14px; }
.chat-assistant .bubble { background: #f1f4f8; border-radius: 14px 14px 14px 4px; }
.chat-msg .bubble { padding: .7rem .95rem; white-space: normal; }
.chat-trace { font-size: .75rem; color: #6c7a89; margin-top: .25rem; }
.chat-draft { background: #fff; border: 1px dashed #b8c4d0; border-radius: 8px; padding: .75rem; margin-top: .5rem; }
.chat-draft pre { white-space: pre-wrap; font-family: inherit; margin: 0; }
.chat-typing { color: #6c7a89; font-style: italic; }

/* Διορθώσεις SEO */
.diff-del { background: #fde2e1; text-decoration: line-through; }
.diff-ins { background: #dcf5e3; text-decoration: none; }
.diff-block { border-left: 4px solid; padding: .4rem .75rem; margin-bottom: .5rem; border-radius: 4px; }
.diff-add { border-color: #2e9e5b; background: #f1fbf4; }
.diff-remove { border-color: #d64545; background: #fdf3f3; }
.diff-block pre { white-space: pre-wrap; margin: 0; font-size: .8rem; }
.diff-mark { font-size: .7rem; font-weight: 600; text-transform: none; color: #556; display: block; margin-bottom: .2rem; }

/* Push πακέτων */
.img-choice { display: inline-flex; flex-direction: column; align-items: center; gap: .2rem; margin-right: .5rem; cursor: pointer; font-size: .75rem; }
.img-choice img { width: 96px; height: 64px; object-fit: cover; border-radius: 4px; border: 2px solid transparent; }
.img-choice input:checked + img { border-color: var(--brand); }
.img-choice .noimg { width: 96px; height: 64px; display: flex; align-items: center; justify-content: center; background: #eef2f6; border-radius: 4px; border: 2px solid transparent; }
.img-choice input:checked + .noimg { border-color: var(--brand); }
.img-choice input { position: absolute; opacity: 0; }
