/* ═══════════════ Φάση 3: dashboard, υπενθυμίσεις, λογιστήριο, backoffice ═══════════════ */

/* Γράφημα μηνών */
.bars { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; align-items: end; height: 220px; padding-top: 8px; border-bottom: 1px solid var(--line); }
.bar-col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; }
.bar { width: 100%; max-width: 44px; border-radius: 10px 10px 4px 4px; background: linear-gradient(180deg, #7DD3FC, var(--sky)); transform-origin: bottom; animation: grow .8s cubic-bezier(.2, 1, .3, 1) both; }
.bar.now { background: linear-gradient(180deg, var(--violet), var(--primary-2)); }
.bar-val { font-size: 12px; font-weight: 800; color: var(--ink); min-height: 16px; }
.bar-label { font-size: 12px; font-weight: 600; color: var(--muted); margin-bottom: -26px; }
.bars + * { margin-top: 18px; }
@keyframes grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (max-width: 720px) { .bars { gap: 4px; } .bar-val { font-size: 10px; } .bar-label { font-size: 10px; } }

/* Μπάρα μέτρησης (μέρες ανά προμηθευτή) */
.meter { display: flex; align-items: center; gap: 10px; }
.meter-track { flex: 1; height: 10px; border-radius: 10px; background: #ECEEF6; overflow: hidden; }
.meter-fill { height: 100%; border-radius: 10px; }
.meter-fill.ok { background: linear-gradient(90deg, #34D399, #10B981); }
.meter-fill.info { background: linear-gradient(90deg, #7DD3FC, var(--sky)); }
.meter-fill.warn { background: linear-gradient(90deg, #FCD34D, #F59E0B); }
.meter strong { min-width: 52px; text-align: right; }

/* Πρόγραμμα υπενθυμίσεων */
.schedule { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.schedule li { padding: 6px 11px; border-radius: 99px; font-size: 12px; font-weight: 700; white-space: nowrap; background: rgba(23, 26, 51, .05); color: var(--muted); }
.schedule li + li::before { content: ''; display: inline-block; width: 14px; height: 2px; margin: 0 8px 3px -14px; background: rgba(23, 26, 51, .15); vertical-align: middle; }
.schedule li.done { background: var(--ok-bg); color: var(--ok-ink); }
.schedule li.next { background: #fff; color: var(--primary-hover); box-shadow: inset 0 0 0 2px #6C5CF5; }
.schedule li.muted { background: rgba(23, 26, 51, .05); color: var(--muted); text-decoration: line-through; }

/* Κολλητή μπάρα ενεργειών στο κάτω μέρος */
.dock { position: sticky; bottom: 16px; z-index: 5; border-radius: 22px; }
.dock > .inner { border-radius: 20px; padding: 14px 18px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }

/* Λογιστήριο */
.cb { width: 20px; height: 20px; accent-color: var(--primary); }
.reg-todo { border: 1px dashed rgba(180, 83, 9, .5); background: #FFFBEB; color: #92400E; }
.reg-done { border: 0; background: var(--ok-bg); color: var(--ok-ink); }

/* Ρυθμίσεις */
.settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; align-items: start; }
.setting-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: 16px; background: rgba(108, 92, 245, .06); }
.setting-row label { display: flex; flex-direction: column; gap: 2px; font-size: 14px; flex: 1 1 200px; }

/* Ιστορικό */
.audit-row { border-radius: 16px; background: var(--glass); border: 1px solid var(--glass-line); }
.audit-row.warn { background: rgba(225, 29, 72, .07); border-color: rgba(225, 29, 72, .25); }
.audit-row summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 12px 14px; cursor: pointer; }
.audit-row summary::-webkit-details-marker { display: none; }
.audit-row summary:hover { background: rgba(255, 255, 255, .7); border-radius: 16px; }
.audit-row .t { width: 48px; flex: none; font-size: 13px; font-weight: 800; color: var(--ink-2); }
.audit-row .dot { width: 12px; height: 12px; flex: none; border-radius: 50%; }
.audit-row .body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.audit-row .kv { margin: 0 14px 12px 76px; padding: 12px 14px; border-radius: 14px; background: rgba(23, 26, 51, .04); }
@media (max-width: 720px) { .audit-row .kv { margin-left: 14px; grid-template-columns: 1fr; } }

/* Banner: κουμπί στην προεπισκόπηση */
.banner-cta { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 99px; background: #fff; color: var(--primary-hover); font-weight: 700; }

@media (prefers-reduced-motion: reduce) { .bar { animation: none; } }
