/* gDmf: λίγα χρώματα, πάντα με την ίδια σημασία (docs/10). */
:root {
    --gd-ink: #1d2327;
    --gd-muted: #5f6b73;
    --gd-surface: #f6f5f2;
    --gd-card: #ffffff;
    --gd-line: #e2e0da;
    --gd-nav: #1f3a2e;          /* δασικό πράσινο */
    --gd-accent: #2f7d4f;
    --gd-soon: #9aa3a8;
}

html, body { height: 100%; }
body { background: var(--gd-surface); color: var(--gd-ink); font-size: 15px; }

.gd-nav { background: var(--gd-nav); }
.gd-nav .nav-link, .gd-brand, .gd-user { color: #e9efe9; }
.gd-nav .nav-link.active { color: #fff; font-weight: 600; }
.gd-nav .nav-link.disabled { color: rgba(233, 239, 233, .45); }
.gd-brand { font-weight: 700; letter-spacing: .02em; }
.gd-user { font-size: .85rem; opacity: .85; }
.gd-foreas { max-width: 22rem; }
.gd-nav .navbar-toggler { border-color: rgba(255, 255, 255, .4); }
.gd-nav .navbar-toggler-icon { filter: invert(1); }

.gd-main { min-height: calc(100% - 56px); }
.gd-muted { color: var(--gd-muted); }

/* Σύνδεση */
.gd-login { max-width: 380px; margin: 10vh auto; padding: 2rem; background: var(--gd-card); border: 1px solid var(--gd-line); border-radius: 8px; }
.gd-login h1 { font-size: 1.8rem; font-weight: 700; color: var(--gd-nav); margin-bottom: .25rem; }

/* Αρχική: χάρτης αριστερά, θέματα δεξιά (σε κινητό το ένα κάτω από το άλλο) */
.gd-home { display: grid; grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr); height: calc(100vh - 56px); }
.gd-home > * { min-width: 0; }
.gd-map-wrap { position: relative; }
.gd-map { position: absolute; inset: 0; }
.gd-map-title { position: absolute; z-index: 500; left: 56px; top: 12px; background: rgba(255, 255, 255, .92); padding: .4rem .8rem; border-radius: 6px; }
.gd-map-title h1 { font-size: 1.1rem; margin: 0; font-weight: 600; }
.gd-cards { overflow-y: auto; padding: 1rem 1.25rem 2rem; border-left: 1px solid var(--gd-line); }
.gd-cards h2 { font-size: 1.2rem; font-weight: 700; margin: 0; }
.gd-cat { font-size: .95rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.gd-cat-letter { display: inline-block; min-width: 1.6rem; color: var(--gd-muted); }
.gd-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(170px, 100%), 1fr)); gap: .5rem; }
.gd-card { position: relative; background: var(--gd-card); border: 1px solid var(--gd-line); border-radius: 6px; padding: .6rem .7rem; }
.gd-card--on { border-left: 4px solid var(--gd-accent); }
.gd-card--soon { opacity: .7; }
.gd-card-title { font-weight: 600; font-size: .9rem; line-height: 1.25; }
.gd-card-meta { display: flex; justify-content: space-between; margin-top: .35rem; font-size: .78rem; color: var(--gd-muted); }
.gd-badge { padding: 0 .4rem; border-radius: 3px; background: #eceae4; color: var(--gd-muted); }
.gd-badge--on { background: #dcefe3; color: #1d5b37; font-weight: 600; }

@media (max-width: 900px) {
    .gd-home { grid-template-columns: 1fr; height: auto; }
    .gd-map-wrap { height: 55vh; }
    .gd-cards { border-left: 0; border-top: 1px solid var(--gd-line); padding: 1rem; }
    .gd-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gd-map-title { left: 50px; max-width: calc(100% - 110px); }
}
