/* AC Fault Library · εσωτερικές οθόνες, μενού και κάρτες.
   Χρησιμοποιεί τα ίδια tokens με το css/styles.css (--navy, --cyan, --orange, --f-ui)
   και τα ίδια container units (cqw) ώστε να ταιριάζει με την εγκεκριμένη αρχική. */

:root{
  --panel:linear-gradient(180deg,rgba(10,70,125,.55),rgba(4,45,90,.55));
  --panel-line:rgba(80,190,255,.40);
  --chip-bg:rgba(255,255,255,.08);
  --muted:rgba(214,232,255,.72);
  --warn:#ffb547;
}

/* ---- πλαίσιο εσωτερικής οθόνης ---- */
.screen.inner{height:100%;min-height:0}
.vhead{flex:none;display:grid;grid-template-columns:11cqw 1fr 11cqw;align-items:center;gap:2cqw;
  padding:3.4cqw max(16px,3.2cqw) 2.6cqw;border-bottom:.25cqw solid rgba(80,190,255,.22);
  background:linear-gradient(180deg,rgba(3,42,74,.85),rgba(0,27,54,.4))}
.vback,.vmenu{width:11cqw;height:11cqw;border:0;background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer;border-radius:2cqw;padding:0}
.vback svg,.vmenu svg{width:6.6cqw;height:6.6cqw}
.vback[hidden]{display:grid!important;visibility:hidden}
.vtitle{margin:0;text-align:center;font:700 5.2cqw/1.15 var(--f-ui);text-wrap:balance;min-width:0}
.vbody{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:3.6cqw max(16px,3.2cqw) 6cqw;display:flex;flex-direction:column;gap:3cqw}
.vbody > *{min-width:0;flex-shrink:0}

/* ---- κοινά στοιχεία ---- */
.lead{margin:0;font:400 3.6cqw/1.45 var(--f-ui);color:var(--muted)}
.lead b{color:var(--ink);font-weight:500}
.sect{margin:1.6cqw 0 0;font:700 3cqw/1.2 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}
.panel{border-radius:2.8cqw;border:.25cqw solid var(--panel-line);background:var(--panel);
  box-shadow:inset 0 0 2cqw rgba(60,170,255,.14);padding:3.6cqw 4cqw}
.panel h3{margin:0 0 2cqw;font:700 3cqw/1.2 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}
.panel p{margin:0;font:400 3.8cqw/1.5 var(--f-ui)}
.panel ul,.panel ol{margin:0;padding-left:5cqw;display:grid;gap:1.6cqw;font:400 3.8cqw/1.45 var(--f-ui)}
.panel.tip{border-color:rgba(255,160,40,.55);background:linear-gradient(180deg,rgba(120,60,0,.35),rgba(70,35,0,.30))}
.panel.tip h3{color:#ffb547}
.panel.warn{border-color:rgba(255,181,71,.45);background:rgba(255,181,71,.08)}
.panel.warn p{font-size:3.4cqw;color:var(--muted)}
.missing{font:italic 400 3.6cqw/1.45 var(--f-ui);color:var(--muted)}

/* ---- αναζήτηση και φίλτρα ---- */
.sbox{display:flex;align-items:center;gap:2.4cqw;border-radius:3cqw;border:.25cqw solid var(--panel-line);background:rgba(255,255,255,.07);padding:0 3.4cqw}
.sbox svg{width:5.4cqw;height:5.4cqw;flex:none;color:var(--cyan)}
.sbox input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:500 16px/1.2 var(--f-ui);padding:3.4cqw 0;outline:none}
.sbox input::placeholder{color:rgba(214,232,255,.55)}
.sbox:focus-within{border-color:var(--cyan);box-shadow:0 0 0 .4cqw rgba(63,214,255,.25)}
.sclear{border:0;background:none;color:var(--muted);font:500 3.4cqw var(--f-ui);cursor:pointer;padding:2cqw}
.chips{display:flex;gap:1.8cqw;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * max(16px,3.2cqw));padding:0 max(16px,3.2cqw) .6cqw}
.chips::-webkit-scrollbar{display:none}
/* Desktop: πραγματικά χειριστήρια για οριζόντια κύλιση μαρκών. Το κινητό δεν αλλάζει. */
.chiprail{min-width:0}
.chipnav{display:none}
@media (hover:hover) and (pointer:fine){
  .chiprail{display:flex;align-items:center;gap:1.2cqw}
  .chiprail .chips{flex:1;min-width:0;margin:0;padding:0 2px 1.4cqw;scrollbar-width:thin;scrollbar-color:rgba(120,205,255,.7) transparent}
  .chiprail .chips::-webkit-scrollbar{display:block;height:6px}
  .chiprail .chips::-webkit-scrollbar-thumb{border-radius:5px;background:rgba(120,205,255,.7)}
  .chipnav{display:grid;place-items:center;flex:none;min-width:30px;min-height:34px;width:8cqw;height:10cqw;
    padding:0;border:1px solid rgba(150,200,255,.4);border-radius:2cqw;background:rgba(255,255,255,.11);
    color:#fff;font:700 max(22px,5cqw)/1 var(--f-ui);cursor:pointer}
  .chipnav:hover{background:rgba(63,214,255,.25)}
  .chipnav:focus-visible,.chiprail .chips:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
}
.chip{flex:none;border-radius:999px;border:.25cqw solid rgba(150,200,255,.30);background:var(--chip-bg);color:var(--ink);
  font:500 3.4cqw/1 var(--f-ui);padding:2.2cqw 3.6cqw;cursor:pointer;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;padding:1cqw;border-radius:3cqw;background:rgba(0,0,0,.22);border:.25cqw solid rgba(150,200,255,.18)}
.seg button{border:0;border-radius:2.2cqw;background:none;color:var(--muted);font:500 3.2cqw/1.1 var(--f-ui);padding:2.2cqw 1cqw;cursor:pointer}
.seg button[aria-pressed="true"]{background:rgba(63,214,255,.18);color:var(--ink)}
.count{font:500 3.3cqw/1.2 var(--f-ui);color:var(--muted);font-variant-numeric:tabular-nums}

/* ---- λίστες ---- */
.list{list-style:none;margin:0;padding:0;display:grid;gap:2.2cqw}
.row{width:100%;display:grid;grid-template-columns:17cqw 1fr 4cqw;gap:3cqw;align-items:center;text-align:left;cursor:pointer;
  border-radius:2.8cqw;border:.25cqw solid rgba(110,170,230,.30);background:linear-gradient(180deg,rgba(14,52,92,.75),rgba(5,30,60,.75));
  color:var(--ink);padding:2.8cqw 3cqw}
.row:active{filter:brightness(1.15)}
.row .rt{min-width:0}
.row b{display:block;font:500 3.75cqw/1.3 var(--f-ui)}
.row small{display:block;margin-top:.6cqw;font:400 3.1cqw/1.2 var(--f-ui);color:var(--muted)}
.row .chev{width:4cqw;height:4cqw;color:var(--muted)}
.badge{display:grid;place-items:center;min-height:10cqw;border-radius:2cqw;padding:1cqw;text-align:center;overflow-wrap:anywhere;
  font:700 3.8cqw/1.05 var(--f-ui);color:#fff;background:linear-gradient(150deg,#16adff,#00418e)}
.badge.sym{font-size:2.5cqw;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(150deg,#14d6f0,#00546c)}
.badge.user{font-size:2.5cqw;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(150deg,#8ea8c6,#0b466a)}
.dot{position:relative}
.has-note::after{content:"";position:absolute;right:2.2cqw;top:2.2cqw;width:1.8cqw;height:1.8cqw;border-radius:50%;background:var(--orange)}
.row{position:relative}
.ghead{margin:2cqw 0 0;font:700 3.4cqw/1.2 var(--f-ui);color:var(--ink);display:flex;justify-content:space-between;align-items:baseline}
.ghead span{font-weight:400;color:var(--muted);font-size:3cqw}
.empty{padding:6cqw 2cqw;text-align:center;font:400 3.7cqw/1.5 var(--f-ui);color:var(--muted)}

/* ---- μάρκες ---- */
.brandrow{width:100%;display:flex;align-items:center;justify-content:space-between;gap:3cqw;cursor:pointer;text-align:left;
  border-radius:2.8cqw;border:.25cqw solid rgba(110,170,230,.30);background:linear-gradient(150deg,rgba(53,228,106,.22),rgba(0,96,48,.28));
  color:var(--ink);padding:3.6cqw 4cqw;font:500 4cqw/1.2 var(--f-ui)}
.brandrow span{font:400 3.2cqw var(--f-ui);color:var(--muted);white-space:nowrap}

/* ---- λεπτομέρεια κάρτας ---- */
.dhero{display:grid;gap:1.4cqw}
.dhero .tag{font:500 3.1cqw/1.2 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--cyan)}
.dhero .code{font:700 10cqw/1 var(--f-ui);color:#fff;text-shadow:0 0 3cqw rgba(0,150,255,.6)}
.dhero h2{margin:0;font:700 5.4cqw/1.25 var(--f-ui);text-wrap:balance}

/* ---- φόρμες ---- */
.form{display:grid;gap:3cqw}
.form label{display:grid;gap:1.2cqw;font:500 3.3cqw/1.2 var(--f-ui);color:var(--muted)}
.form input,.form textarea{width:100%;border-radius:2.4cqw;border:.25cqw solid var(--panel-line);background:rgba(255,255,255,.07);color:var(--ink);
  font:400 16px/1.4 var(--f-ui);padding:2.8cqw 3.2cqw}
.form textarea{min-height:24cqw;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 .4cqw rgba(63,214,255,.25)}
.btns{display:flex;flex-wrap:wrap;gap:2.4cqw;align-items:center}
.btn{border:0;border-radius:2.6cqw;cursor:pointer;font:700 3.7cqw/1 var(--f-ui);padding:3.4cqw 4.6cqw;color:#fff;
  background:linear-gradient(150deg,#ffa726,#f27400 50%,#9b3200);box-shadow:inset 0 .4cqw 1cqw rgba(255,255,255,.22)}
.btn.blue{background:linear-gradient(150deg,#16adff,#0074dc 50%,#00418e)}
.btn.ghost{background:rgba(255,255,255,.08);border:.25cqw solid rgba(150,200,255,.35);box-shadow:none}
.btn.danger{background:rgba(255,80,80,.12);border:.25cqw solid rgba(255,110,110,.6);color:#ffb3b3;box-shadow:none}
.btn:active{filter:brightness(1.12)}
.status{font:500 3.3cqw/1.3 var(--f-ui);color:var(--cyan)}
.status.err{color:#ffb3b3}
.kv{display:grid;grid-template-columns:1fr auto;gap:2cqw 3cqw;font:400 3.6cqw/1.35 var(--f-ui)}
.kv dt{color:var(--muted)}
.kv dd{margin:0;text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.backup{width:100%;min-height:30cqw;font:400 12px/1.4 ui-monospace,Menlo,monospace;border-radius:2.4cqw;border:.25cqw solid var(--panel-line);background:rgba(0,0,0,.25);color:var(--ink);padding:2.4cqw}
.sponsorcard{display:flex;align-items:center;gap:4cqw}
.sponsorcard img{height:13cqw;width:auto}
.srcs{margin:0;padding-left:5cqw;display:grid;gap:1.8cqw;font:400 3.5cqw/1.45 var(--f-ui)}
.srcs a{color:var(--cyan);overflow-wrap:anywhere}

/* ---- ευχαριστίες ---- */
.thanks{gap:3cqw}
.thank h3.tname{margin:0 0 1.6cqw;font:700 4.6cqw/1.25 var(--f-ui);letter-spacing:0;text-transform:none;color:var(--ink)}
.thank .tcount{margin:0 0 2cqw;font:500 3.8cqw/1.3 var(--f-ui);color:#ffb547}
.thank .tmsg{margin:0;font:italic 400 3.7cqw/1.5 var(--f-ui);color:var(--ink-soft)}

/* ---- 2.0: καταστάσεις, ιστορικό, στοιχεία εγγραφής ---- */
.pill{display:inline-block;margin-top:1.2cqw;border-radius:999px;padding:.8cqw 2.4cqw;font:500 2.9cqw/1.2 var(--f-ui);border:.25cqw solid currentColor}
.st-archived{color:var(--muted)}
.st-ok{color:#5fe08a}
.timeline{margin:0;padding-left:5cqw;display:grid;gap:2.2cqw;font:400 3.5cqw/1.45 var(--f-ui)}
.timeline span{color:var(--muted)}
.kv.rec dd{text-align:right;overflow-wrap:anywhere}
.kv.rec dd a,.panel p a,.panel li a{color:var(--cyan)}
.form select{width:100%;border-radius:2.4cqw;border:.25cqw solid var(--panel-line);background:rgba(255,255,255,.07);color:var(--ink);font:400 16px/1.4 var(--f-ui);padding:2.8cqw 3.2cqw}
.form select option{color:#00122a}
.form label.check{display:flex;align-items:center;gap:2.4cqw;color:var(--ink);font:400 3.5cqw/1.35 var(--f-ui)}
.form label.check input{width:5cqw;height:5cqw;flex:none;accent-color:var(--orange)}
a.btn{text-decoration:none;display:inline-block}
.btn:disabled{opacity:.55}
/* ---- 2.0: ένδειξη «έτοιμη για χρήση χωρίς internet» (μόνο στο μενού, όχι στην αρχική) ---- */
.dfoot{margin-top:auto;padding:12px 20px 4px;border-top:1px solid rgba(80,190,255,.22);font:400 13px/1.4 var(--f-ui);color:var(--ink-soft)}
.dfoot.ok{color:#5fe08a}
.contribs{margin:1.6cqw 0 0;padding-left:5cqw;display:grid;gap:1.4cqw;font:400 3.4cqw/1.4 var(--f-ui)}
.contribs span{color:var(--muted)}

/* ---- μενού ---- */
.drawer{position:fixed;inset:0;z-index:40}
.dscrim{position:absolute;inset:0;background:rgba(0,8,20,.62)}
.dpanel{position:absolute;top:0;bottom:0;left:0;width:min(82vw,340px);display:flex;flex-direction:column;
  background:linear-gradient(180deg,#05345c,#001a33 40%,#00122a);border-right:1px solid rgba(80,190,255,.35);
  padding:calc(env(safe-area-inset-top,0px) + 14px) 0 calc(env(safe-area-inset-bottom,0px) + 14px) env(safe-area-inset-left,0px);
  box-shadow:10px 0 30px rgba(0,0,0,.45)}
.dtop{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 12px 20px;border-bottom:1px solid rgba(80,190,255,.22)}
.dtop b{font:700 18px/1.2 var(--f-ui)}
.dclose{width:44px;height:44px;border:0;background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.dclose svg{width:22px;height:22px}
.dlinks{display:flex;flex-direction:column;padding:8px 0;overflow-y:auto}
.dlinks button{border:0;background:none;color:var(--ink);text-align:left;font:500 16px/1.2 var(--f-ui);padding:14px 20px;cursor:pointer}
.dlinks a.dext{display:block;color:var(--ink);text-decoration:none;text-align:left;font:500 16px/1.2 var(--f-ui);padding:14px 20px}
.dlinks a.dext:active{background:rgba(255,255,255,.06)}
.dlinks a.dext:focus-visible{outline:.5cqw solid var(--cyan);outline-offset:.4cqw}
.dlinks button[aria-current="page"]{color:var(--orange)}
.dlinks button:active{background:rgba(255,255,255,.06)}

/* ---- ειδοποίηση ---- */
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);transform:translateX(-50%);z-index:50;max-width:88vw;
  background:#fff;color:#00122a;font:500 15px/1.3 var(--f-ui);padding:10px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);text-align:center}

.vback:focus-visible,.vmenu:focus-visible,.chip:focus-visible,.seg button:focus-visible,.row:focus-visible,.brandrow:focus-visible,.btn:focus-visible,.dlinks button:focus-visible,.dclose:focus-visible{outline:.5cqw solid var(--cyan);outline-offset:.4cqw}
@media (prefers-reduced-motion:no-preference){
  .vbody{animation:vin .16s ease-out}
  @keyframes vin{from{opacity:.4;transform:translateY(1.5cqw)}to{opacity:1;transform:none}}
}
/* 2.1.5 · Χορηγοί / Υποστηρικτές, κοινοποίηση, ένδειξη δημιουργού (μόνο νέες οθόνες του μενού) */
.sponsors .sponsorcard{justify-content:center;padding:2cqw 0}
.sponsors .sponsorcard img{max-height:16cqw;max-width:60%;object-fit:contain}
.sponsors .sname{text-align:center}
.sponsors .slink{color:var(--cyan)}
.sponsors .sponsor-item p{text-align:center}
.brandline{margin-top:4cqw;text-align:center;font-size:3.2cqw;opacity:.85}
#shareUrl{width:100%;margin-bottom:3cqw}
/* 2.1.5 · κάτω μπάρα με 4 κουμπιά (εγκεκριμένη αλλαγή 07/11/2026: χωρίς «Συντελεστές») */
.tabs{grid-template-columns:repeat(4,1fr)}
/* 2.1.5 · Χορηγοί: σταθερός πρώτος (Elephant Systems) */
.sponsors .sponsor-item.first{border-color:rgba(110,170,230,.55)}
.sharevia{display:flex;flex-wrap:wrap;gap:2.4cqw;margin-top:3cqw}
.sharevia a{flex:1 1 30%;text-align:center;text-decoration:none}
.appinfo .srcs{margin-top:2cqw}
