/* ════════════════════════════════════════════════════════════════════════
   oroi-legal-transparency-v3.css — Νομική διαφάνεια & provenance (additions)
   ────────────────────────────────────────────────────────────────────────
   DROP-IN ADD-ON. Φόρτωσε ΜΕΤΑ το oroi-provenance-v3.css (που φορτώνεται μετά
   το oroi-v3.css). ΤΕΛΕΥΤΑΙΟ link πριν </head>:
     <link rel="stylesheet" href="/oroi-v3.css">
     <link rel="stylesheet" href="/oroi-provenance-v3.css">
     <link rel="stylesheet" href="/oroi-legal-transparency-v3.css">  ← εδώ

   • ΔΕΝ ξαναορίζει tokens — κληρονομεί από oroi-v3.css.
   • Επεκτείνει το .src σύστημα: +indicative, +missing (νέα), ΕΠΑΝΑΧΡΩΜΑΤΙΖΕΙ
     το .src.pointer/.vcard.pointer σε ουδέτερο ώστε το info-blue να ελευθερωθεί
     για το νέο indicative. Όλα τα υπόλοιπα είναι ΝΕΑ classes.
   • Reference preview: «Όροι Δόμησης — Νομική Διαφάνεια.html».
   ════════════════════════════════════════════════════════════════════════ */

/* ═══ Β · SOURCE CHIP — 2 νέες καταστάσεις + 1 επαναχρωματισμός ═══ */
/* 2 · indicative — ενδεικτικό εύρος ειδικού Π.Δ. (info-blue) [ΝΕΟ] */
.src.indicative{background:var(--info-soft);color:var(--info);border-color:color-mix(in oklch,var(--info) 30%,var(--border));}
/* 4 · honest-pointer — «ορίζει το σχέδιο/ΥΔΟΜ» → ουδέτερο (ΕΠΑΝΑΧΡΩΜΑΤΙΣΜΟΣ
   ώστε το info-blue να μείνει για το indicative· είναι έγκυρη απάντηση, όχι warning) */
.src.pointer{background:var(--surface-2);color:var(--text-2);border-color:var(--border-strong);}
/* 5 · missing — κενό/σφάλμα (dashed neutral) [ΝΕΟ] */
.src.missing{background:transparent;color:var(--text-3);border-style:dashed;border-color:var(--border-strong);}
.src.missing.err{color:var(--coral);border-color:color-mix(in oklch,var(--coral) 36%,var(--border));}

/* authoritative micro-caveat «ενημερωτικό · ΕΨΧ» — «αυθεντικό» ≠ «δεσμευτικό» */
.caveat{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);}
.caveat svg{opacity:.7;flex-shrink:0;}

/* value card — 2 νέες καταστάσεις + pointer επαναχρωματισμός */
.vcard.indicative{background:linear-gradient(180deg,var(--info-soft),transparent 62%);}
.vcard.indicative .vv{color:var(--text-1);font-size:24px;}
.vcard.pointer .vv{color:var(--text-3);}                /* ουδέτερο (όχι info) */
.vcard.missing{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);}
.vcard.missing .vv{color:var(--text-3);font-size:32px;font-weight:300;}
.vcard.missing .vk{color:var(--text-3);}
.vcard .vcav{margin-top:6px;}                            /* slot για το caveat */

/* ═══ Ε · ΦΕΚ ref — missing-PDF variant (honest «μη διαθέσιμο PDF») ═══ */
.fek-ref.na{cursor:default;border-style:dashed;color:var(--text-3);background:transparent;}
.fek-ref.na:hover{border-color:var(--border-strong);color:var(--text-3);}
.fek-ref.na svg{opacity:.4;}

/* ═══ Α · LEGAL BINDING BANNER (δεσμευτικό vs ενημερωτικό) ═══ */
.legal-banner{position:relative;display:flex;gap:15px;align-items:flex-start;padding:16px 20px 16px 18px;border-radius:var(--r-lg);background:color-mix(in oklch,var(--info) 7%,var(--surface));border:1px solid color-mix(in oklch,var(--info) 26%,var(--border));overflow:hidden;}
.legal-banner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--info);}
.legal-banner .li{width:34px;height:34px;border-radius:8px;background:var(--info-soft);color:var(--info);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.legal-banner .lbody{flex:1;min-width:0;}
.legal-banner .lhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.legal-banner .lt{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text-1);}
.legal-banner .perm{font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--info);border:1px solid color-mix(in oklch,var(--info) 30%,var(--border));border-radius:99px;padding:2px 7px;}
.legal-banner .lp{font-size:13px;line-height:1.55;color:var(--text-2);margin-top:6px;max-width:760px;text-wrap:pretty;}
.legal-banner .lp b{color:var(--text-1);font-weight:600;}
.bind-legend{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;}
.bl-cell{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:var(--r);background:var(--surface);border:1px solid var(--border);}
.bl-cell .bl-ic{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bl-cell .bl-k{font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.bl-cell .bl-v{font-size:12px;line-height:1.45;color:var(--text-2);margin-top:3px;}
.bl-cell .bl-v b{color:var(--text-1);font-weight:600;}
.bl-cell.binding{border-color:color-mix(in oklch,var(--accent) 30%,var(--border));}
.bl-cell.binding .bl-ic{background:var(--accent-soft);color:var(--accent-ink);}
.bl-cell.binding .bl-k{color:var(--accent-ink);}
.bl-cell.informative .bl-ic{background:var(--info-soft);color:var(--info);}
.bl-cell.informative .bl-k{color:var(--info);}

/* compact (mobile) — single row + expandable, μη-dismissible */
.legal-compact{border-radius:var(--r-lg);background:color-mix(in oklch,var(--info) 7%,var(--surface));border:1px solid color-mix(in oklch,var(--info) 26%,var(--border));overflow:hidden;}
.legal-compact .lc-row{display:flex;gap:11px;align-items:center;padding:11px 13px;cursor:pointer;}
.legal-compact .lc-ic{width:26px;height:26px;border-radius:6px;background:var(--info-soft);color:var(--info);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.legal-compact .lc-t{flex:1;font-size:12.5px;line-height:1.4;color:var(--text-1);font-weight:600;}
.legal-compact .lc-t span{display:block;font-weight:400;color:var(--text-2);font-size:11.5px;margin-top:1px;}
.legal-compact .lc-x{width:22px;height:22px;border-radius:5px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-3);flex-shrink:0;transition:transform .2s;}
.legal-compact.open .lc-x{transform:rotate(180deg);}
.legal-compact .lc-more{max-height:0;overflow:hidden;transition:max-height .26s ease;}
.legal-compact.open .lc-more{max-height:320px;}
.legal-compact .lc-inner{padding:0 13px 13px 50px;}
.legal-compact .lc-inner p{font-size:12px;line-height:1.55;color:var(--text-2);}
.legal-compact .lc-inner p b{color:var(--text-1);font-weight:600;}
.legal-compact .lc-mini{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.legal-compact .lc-mini .m{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.4;color:var(--text-2);}
.legal-compact .lc-mini .m b{color:var(--text-1);font-weight:600;}
.legal-compact .lc-mini .md{width:7px;height:7px;border-radius:2px;flex-shrink:0;margin-top:5px;}
.legal-compact .lc-mini .md.bind{background:var(--accent);}
.legal-compact .lc-mini .md.info{background:var(--info);}

/* Show full on ≥720px, compact below — προαιρετικός auto-switch.
   Αν τα toggle-άρεις server-side/JS, αφαίρεσέ το. */
@media(max-width:719px){ .legal-banner.auto{display:none;} }
@media(min-width:720px){ .legal-compact.auto{display:none;} }

/* ═══ Γ · DELIMITATION REGIME CHIP (καθεστώς οριοθέτησης, <2.000) ═══ */
.delim-row{display:flex;flex-wrap:wrap;gap:12px;}
.delim{position:relative;display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);min-width:248px;flex:1;max-width:420px;}
.delim .di{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.delim .dbody{flex:1;min-width:0;}
.delim .dn{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--text-1);display:flex;align-items:center;gap:7px;}
.delim .dn .help{width:15px;height:15px;border-radius:50%;border:1px solid var(--border-strong);color:var(--text-3);font-family:var(--mono);font-size:9px;display:inline-flex;align-items:center;justify-content:center;cursor:help;flex-shrink:0;}
.delim .dstate{font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-top:5px;}
.delim .dsub{font-size:11.5px;line-height:1.42;color:var(--text-2);margin-top:6px;}
.delim .dfek{margin-top:9px;}
.delim.ok{border-color:color-mix(in oklch,var(--green) 28%,var(--border));}
.delim.ok .di{background:var(--green-soft);color:var(--green);}
.delim.ok .dstate{color:var(--green);}
.delim.risk{border-color:color-mix(in oklch,var(--amber) 30%,var(--border));background:linear-gradient(180deg,var(--amber-soft),transparent 78%);}
.delim.risk .di{background:var(--amber-soft);color:var(--amber);}
.delim.risk .dstate{color:var(--amber);}
.delim.none{border-color:var(--border-strong);}
.delim.none .di{background:var(--surface-2);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong);}
.delim.none .dstate{color:var(--text-2);}
.delim.unconf{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);}
.delim.unconf .di{background:transparent;color:var(--text-3);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.delim.unconf .dn{color:var(--text-2);}
.delim.unconf .dstate{color:var(--text-3);}
/* Position badge (3-way): match=επιβεβαιωμένη θέση (πράσινο) · mismatch=εντός
   μεγαλύτερου οριοθετημένου (ουδέτερο-θετικό, όχι warning) · miss=χωρίς όριο ΤΕΕ */
.delim.match{border-color:color-mix(in oklch,var(--green) 28%,var(--border));}
.delim.match .di{background:var(--green-soft);color:var(--green);}
.delim.match .dstate{color:var(--green);}
.delim.mismatch{border-color:var(--border-strong);}
.delim.mismatch .di{background:var(--surface-2);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong);}
.delim.mismatch .dstate{color:var(--text-2);}
.delim.miss{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);}
.delim.miss .di{background:transparent;color:var(--text-3);box-shadow:inset 0 0 0 1.5px var(--border-strong);}
.delim.miss .dn{color:var(--text-2);}
.delim.miss .dstate{color:var(--text-3);}

/* ═══ Δ · UNCERTAIN POSITION (geo._coarse) ═══ */
.coarse-banner{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border-radius:var(--r-lg);background:var(--amber-soft);border:1px solid color-mix(in oklch,var(--amber) 30%,var(--border));margin-bottom:18px;}
.coarse-banner .cbi{color:var(--amber);flex-shrink:0;margin-top:1px;}
.coarse-banner .cbt{font-size:13px;line-height:1.5;color:var(--text-2);}
.coarse-banner .cbt b{color:var(--text-1);font-weight:600;font-family:var(--serif);font-size:14px;display:block;margin-bottom:2px;}
.coarse-banner .cbt .geo{font-family:var(--mono);font-size:10px;color:var(--amber);letter-spacing:.03em;margin-top:5px;display:inline-block;}
/* downgrade — desaturated + hatched (ΠΟΤΕ display:none) */
.vgrid.coarse .vcard{background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 7px,color-mix(in oklch,var(--amber) 6%,var(--surface-2)) 7px,color-mix(in oklch,var(--amber) 6%,var(--surface-2)) 14px);border-color:var(--border);}
.vgrid.coarse .vcard .vv,.vgrid.coarse .vcard .vv .u{color:var(--text-3);}
.vcard .approx{position:absolute;top:12px;right:13px;font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--amber);display:inline-flex;align-items:center;gap:3px;}

/* ═══ RESPONSIVE ═══ */
@media(max-width:920px){ .bind-legend{grid-template-columns:1fr;} }

/* ═══ PRINT ═══ */
@media print{
  .legal-banner,.legal-compact,.delim,.coarse-banner{break-inside:avoid;box-shadow:none;}
  .legal-compact .lc-more{max-height:none!important;}   /* εκτύπωσε πλήρες */
}

/* Β · wrapper badge provenance μέσα στο quick-stat κελί (.qa-cell) */
.qa-src{margin-top:7px;display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;line-height:1}
.qa-cell.wide .qa-src{margin-top:8px}
/* Ζώνη Α · per-field ΦΕΚ chip (ΤΕΕ ΕΨΧ) ανά συντελεστή */
.qa-fek{margin-top:7px;line-height:1}
