/* ZERO GRAVITY — εμφάνιση
   Από το λογότυπο: μαύρο σε λευκό, βαριά κεφαλαία, αραιωμένες μικρές ετικέτες.
   Χρώμα μόνο όπου έχει λειτουργία. */

:root{
  --ink:#0a0a0a;
  --paper:#faf9f6;
  --card:#fff;
  --line:#e4e1d9;
  --line2:#efece5;
  --mute:#7d786e;
  --ok:#17603f;
  --warn:#8c2f1f;
  --amber:#9a6412;
  --r:10px;
  --pad:16px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  padding-bottom:env(safe-area-inset-bottom);
}
a{color:inherit}
img{max-width:100%;display:block}

/* ── Λογότυπο ── */
.brand-name{display:block;font-weight:800;font-size:16px;letter-spacing:-.02em;line-height:1}
.brand-sub{display:block;font-size:8.5px;letter-spacing:.36em;color:var(--mute);margin-top:4px}

/* ── Πάνω μπάρα ── */
.top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px var(--pad);background:var(--card);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;
}
.top-brand{text-decoration:none}
.top-user{text-align:right;line-height:1.2}
.top-name{display:block;font-size:14px;font-weight:650}
.tag{display:inline-block;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-top:2px}

/* ── Πλοήγηση ── */
.nav{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:61px;z-index:19}
.nav-in{display:flex;gap:2px;overflow-x:auto;padding:0 10px;scrollbar-width:none}
.nav-in::-webkit-scrollbar{display:none}
.nav-a{
  flex:0 0 auto;padding:13px 11px;font-size:13.5px;font-weight:600;color:var(--mute);
  text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;
}
.nav-a.on{color:var(--ink);border-bottom-color:var(--ink)}

/* ── Διάταξη ── */
.wrap{max-width:860px;margin:0 auto;padding:18px var(--pad) 40px}
.h1{font-size:25px;font-weight:800;letter-spacing:-.025em;margin:4px 0 2px}
.sub{color:var(--mute);font-size:14px;margin:0 0 18px}
.h2{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);
    font-weight:700;margin:30px 0 10px}
.h2.flush{margin-top:0}
.muted{color:var(--mute);font-size:14px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.nowrap{white-space:nowrap}

/* ── Πλακίδια ── */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.tiles-2{grid-template-columns:repeat(2,1fr)}
@media(min-width:620px){.tiles{grid-template-columns:repeat(4,1fr)}.tiles-2{grid-template-columns:repeat(2,1fr)}}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.tile-l{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-weight:700}
.tile-v{font-size:27px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;line-height:1}
.tile-s{font-size:12px;color:var(--mute);margin-top:5px;line-height:1.4}

/* ── Λίστες ── */
.list{list-style:none;margin:0;padding:0}
.row{
  display:flex;align-items:center;gap:12px;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--ink);
  border-radius:0 var(--r) var(--r) 0;padding:12px 14px;margin-bottom:8px;
}
.row-cover{border-left-color:var(--amber)}
.row-main{flex:1;min-width:0}
.row-t{font-size:15px}
.row-t b{font-variant-numeric:tabular-nums}
.row-s{font-size:13px;color:var(--mute);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-act{flex:0 0 auto}

.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--r);
       padding:22px 16px;text-align:center;color:var(--mute);font-size:14px}

/* ── Κάρτες και φόρμες ── */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:14px 0}
.stack{display:flex;flex-direction:column;gap:13px}
.grid2{display:grid;grid-template-columns:1fr;gap:13px}
@media(min-width:520px){.grid2{grid-template-columns:1fr 1fr}}

.field{display:block}
.field>span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
            color:var(--mute);font-weight:700;margin-bottom:6px}
.field input,.field select,.inline-form input{
  width:100%;font:inherit;font-size:16px;padding:12px 13px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),
  linear-gradient(135deg,var(--mute) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.field input:focus,.field select:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.field small{display:block;font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.45}
.field-inline{display:flex;align-items:center;gap:10px}
.field-inline>span{margin:0;white-space:nowrap}
.select.mini,select.mini{font-size:13px;padding:7px 28px 7px 9px;width:auto}

.check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--mute)}
.check input{width:19px;height:19px;accent-color:var(--ink)}

/* ── Κουμπιά ── */
.btn{
  display:inline-block;font:inherit;font-size:15px;font-weight:700;cursor:pointer;
  padding:12px 20px;border:1px solid var(--ink);border-radius:8px;
  background:var(--ink);color:#fff;text-decoration:none;text-align:center;
}
.btn:active{transform:translateY(1px)}
.btn-block{display:block;width:100%}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-warn{background:#fff;color:var(--warn);border-color:var(--warn)}
.btn-sm{font-size:13px;padding:8px 13px;border-radius:7px}
.btn-xs{font-size:12px;padding:6px 10px;border-radius:6px;font-weight:600}
.inline{display:inline}
.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline-form input{max-width:260px}
.cta{display:flex;flex-direction:column;gap:9px;margin-top:26px}

/* ── Σημειώσεις ── */
.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--mute);
      border-radius:0 8px 8px 0;padding:13px 15px;font-size:14.5px;margin:14px 0;line-height:1.5}
.note-ok{border-left-color:var(--ok)}
.note-bad{border-left-color:var(--warn)}

.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
       padding:3px 7px;border-radius:4px;border:1px solid var(--line);color:var(--mute);background:var(--paper)}
.b-ok{color:var(--ok);border-color:#bcd9c9}
.b-warn{color:var(--amber);border-color:#e4d2ad}
.b-bad{color:var(--warn);border-color:#e2c3bd}
.b-off{color:var(--mute)}

/* ── Πίνακες ── */
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);
     border-radius:var(--r);overflow:hidden;font-size:14px;margin:10px 0;display:block;overflow-x:auto}
.tbl thead th{
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:700;
  text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card)
}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .n{text-align:right;font-variant-numeric:tabular-nums}
.tbl tr.off td{opacity:.5}

.kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:14.5px}
.kv:last-child{border-bottom:0}
.kv span{color:var(--mute)}

/* ── Καρτέλες και φίλτρα ── */
.tabs{display:flex;gap:6px;margin:14px 0}
.tab{flex:1;text-align:center;padding:10px;font-size:13.5px;font-weight:650;text-decoration:none;
     border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--mute)}
.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.filters{margin:12px 0}
.filters-box{display:flex;flex-direction:column;gap:13px}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card)}
.seg-i{flex:1;text-align:center;cursor:pointer}
.seg-i input{position:absolute;opacity:0;pointer-events:none}
.seg-i span{display:block;padding:10px 4px;font-size:13px;font-weight:650;color:var(--mute)}
.seg-i.on span{background:var(--ink);color:#fff}

/* ── Ημερολόγιο ── */
.mnav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 10px}
.mnav-t{font-size:16px;font-weight:800;letter-spacing:-.01em}
.mnav-b{width:40px;height:40px;display:grid;place-items:center;font-size:20px;text-decoration:none;
        border:1px solid var(--line);border-radius:8px;background:var(--card)}

.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--line2);
     border:1px solid var(--line);border-radius:var(--r);padding:3px;overflow:hidden}
.cal-h{background:var(--card);text-align:center;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
       color:var(--mute);font-weight:700;padding:7px 0}
.cal-d{background:var(--card);min-height:62px;padding:4px 4px 5px;position:relative}
.cal-off{background:var(--paper);opacity:.5}
.cal-n{font-size:11px;font-weight:700;color:var(--mute);text-align:right;line-height:1}
.cal-today .cal-n{color:#fff;background:var(--ink);border-radius:4px;display:inline-block;
                  padding:2px 5px;float:right;margin:-1px -1px 0 0}
.cal-has{box-shadow:inset 0 -2px 0 var(--ink)}
.cal-items{margin-top:4px;display:flex;flex-direction:column;gap:2px;clear:both}
.chip{font-size:9.5px;line-height:1.3;background:var(--paper);border-left:2px solid var(--ink);
      padding:2px 3px;border-radius:0 3px 3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip b{font-variant-numeric:tabular-nums}
.chip i{display:block;font-style:normal;color:var(--mute);font-size:9px}
.chip-ok{border-left-color:var(--ok)}
.chip-warn{border-left-color:var(--amber)}
.chip-off{border-left-color:var(--line);color:var(--mute)}
.chip-more{text-align:center;color:var(--mute);border-left-color:transparent;background:transparent;font-weight:700}
@media(min-width:620px){.cal-d{min-height:92px}.chip{font-size:11px}.chip i{font-size:10px}}

.legend{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:12.5px;color:var(--mute);margin:12px 0}
.dot{width:9px;height:9px;border-radius:2px;display:inline-block;margin-left:10px}
.dot:first-child{margin-left:0}
.d-ok{background:var(--ok)}.d-warn{background:var(--amber)}.d-off{background:var(--line)}

/* ── Υποσέλιδο ── */
.foot{text-align:center;padding:24px 16px 36px;font-size:13px;color:var(--mute);display:flex;
      gap:10px;justify-content:center;border-top:1px solid var(--line);margin-top:20px}
.foot a{color:var(--mute)}

/* ── Οθόνες σύνδεσης ── */
.auth-body{display:grid;place-items:center;min-height:100svh;padding:22px 16px;background:var(--paper)}
.auth{width:100%;max-width:380px}
.auth-logo{width:190px;margin:0 auto 10px;mix-blend-mode:multiply}
.auth .brand{text-align:center;margin-bottom:14px}
.auth-title{font-size:22px;font-weight:800;letter-spacing:-.02em;text-align:center;margin:0 0 6px}
.auth .muted{text-align:center;margin:0 0 16px}
.auth .stack{margin-top:16px}
.auth-alt{text-align:center;margin-top:18px;font-size:14px}
.auth-alt a{color:var(--mute)}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
