:root{--bg:#00122a;--panel:#0a2a4a;--ink:#fff;--muted:rgba(214,232,255,.75);--cyan:#3fd6ff;--orange:#fc8600;--line:rgba(80,190,255,.32);--err:#ff9a9a;--ok:#5fe08a;--warn:#ffb547;
  --f:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.5 var(--f)}
.wrap{max-width:1000px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 14px) max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));display:grid;gap:14px}
.brand{margin:0;color:var(--cyan);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px}
h1{margin:0;font-size:22px;text-wrap:balance}
h2{margin:6px 0;font-size:18px}
h3{margin:0 0 6px;font-size:16px;color:var(--cyan)}
p{margin:0}
.muted{color:var(--muted)}
a{color:var(--cyan)}
.nav{display:flex;flex-wrap:wrap;gap:6px}
.nav a,.nav button{padding:8px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);background:var(--panel);font:500 14px/1.2 var(--f)}
.nav a[aria-current="page"]{background:var(--orange);border-color:var(--orange)}
.pubbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel)}
.pubbar.pending{border-color:var(--warn)}
.pill{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:1px 9px;font-weight:600;font-size:13px}
.ok{color:var(--ok)} .err{color:var(--err)} .warnc{color:var(--warn)}
.panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(10,42,74,.55);display:grid;gap:10px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
form{display:grid;gap:10px}
label{display:grid;gap:4px;font-weight:500}
label.check{display:flex;gap:8px;align-items:center;font-weight:400}
label.check input{width:20px;height:20px;accent-color:var(--orange)}
input,textarea,select{width:100%;font:400 15px/1.4 var(--f);color:var(--ink);background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:9px;padding:9px 10px}
select option{color:#00122a}
textarea{min-height:80px;resize:vertical}
button{font:600 15px/1.2 var(--f);border-radius:10px;border:1px solid var(--orange);padding:10px 14px;cursor:pointer;color:#fff;background:var(--orange)}
button.ghost{background:transparent;border-color:var(--line)}
button.danger{background:transparent;border-color:var(--err);color:var(--err)}
button:disabled{opacity:.55;cursor:progress}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}
.btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.status{min-height:1.3em}
.status.err{color:var(--err)} .status.ok{color:var(--ok)} .status.warn{color:var(--warn)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600}
.tablewrap{overflow-x:auto}
.timeline{margin:0;padding-left:18px;display:grid;gap:6px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px}
.kv dt{color:var(--muted)} .kv dd{margin:0;overflow-wrap:anywhere}
pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font:13px/1.4 ui-monospace,Menlo,Consolas,monospace}
.picks{display:grid;gap:6px;max-height:260px;overflow:auto}
.narrow{max-width:420px}.w220{max-width:220px}.w170{max-width:170px}
/* Στενές οθόνες: κανένα στοιχείο (π.χ. μεγάλες επιλογές λίστας) δεν φαρδαίνει τη σελίδα */
.wrap,.panel,form{grid-template-columns:minmax(0,1fr)}
.wrap>*,.panel>*,form>*,label{min-width:0}
select{max-width:100%;text-overflow:ellipsis}

/* 2.1.5 · Χορηγοί / Υποστηρικτές */
.sp-logo{max-height:64px;max-width:240px;display:block;margin:6px 0}
.sp-thumb{max-height:40px;max-width:120px}

/* 2.1.5 · Εισαγωγή κωδικών */
.chip{display:inline-block;padding:2px 8px;border-radius:10px;border:1px solid currentColor;font-size:.85em;margin:2px 2px 2px 0}
.chip.ok{color:#1d8a4a}.chip.warn{color:#b36b00}.chip.err{color:#c0392b}.chip.muted{color:#6b7785}
.imdiff{margin:0 0 4px 16px;padding:0}
.imtable td{vertical-align:top}
label.check{display:flex;gap:8px;align-items:flex-start}
.btnlike{display:inline-block;padding:8px 14px;border-radius:8px;text-decoration:none}
.sp-move button{padding:2px 8px;margin-right:4px}

/* 2.1.5 QA3 · Εισαγωγή κωδικών & έλεγχος διπλοεγγραφών */
.imtabs .on{background:var(--accent,#ff8a00);color:#111;font-weight:600}
.imwarn{margin:0 0 8px 18px;padding:0;color:#b36b00}
.imtable tr.im-block td{background:rgba(192,57,43,.07)}
.imtable select{max-width:260px}
.imcmp td{vertical-align:top}.imcmp pre{max-width:420px}
.imeditbox{display:grid;gap:8px;max-width:760px}
.imeditbox textarea{min-height:64px}
.small{font-size:.88em}
button.small{padding:4px 10px;margin-top:4px}
.imheld{display:grid;gap:4px;margin-top:6px}
.imPublish{border-color:#b36b00}
