/* ═══════════════════════════════════════════════════════════════════════════
   TEXMEX ERP · Design System v3  (static/theme/theme.css)
   Εγχέεται σε ΚΑΘΕ HTML σελίδα από το app.py (_theme_inject) στο τέλος του <head>,
   ώστε να νικά τα inline <style> των σελίδων σε ίση ειδικότητα.
   Κανόνες: σκούρο φόντο παντού · ένα ουδέτερο «γυάλινο» στυλ για κάρτες/κουμπιά ·
   χρώμα ΜΟΝΟ στα εικονίδια · Inter με tabular numerals σε όλους τους αριθμούς.
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/static/theme/fonts/inter-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/static/theme/fonts/inter-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/static/theme/fonts/inter-greek.woff2) format("woff2");
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/static/theme/fonts/inter-greek-ext.woff2) format("woff2");
  unicode-range:U+1F00-1FFF}

:root{
  --bg:#0b1220;            /* midnight */
  --bg-2:#0f172a;
  --surface:rgba(255,255,255,.045);
  --surface-2:rgba(255,255,255,.075);
  --surface-3:rgba(255,255,255,.115);
  --border:rgba(255,255,255,.09);
  --border-2:rgba(255,255,255,.16);
  --text:#e7edf6;
  --text-2:#b6c0d1;
  --muted:#7f8ca3;
  --green:#34d399; --blue:#60a5fa; --amber:#fbbf24; --red:#f87171; --violet:#a78bfa;
  --teal:#2dd4bf; --pink:#f472b6; --orange:#fb923c; --cyan:#22d3ee; --indigo:#818cf8;
  --lime:#a3e635; --rose:#fb7185; --sky:#38bdf8; --slate:#94a3b8;
  --r:14px; --r-sm:10px; --r-lg:20px;
  --shadow:0 8px 24px rgba(0,0,0,.35);
  --shadow-sm:0 2px 8px rgba(0,0,0,.25);
  --ring:0 0 0 3px rgba(96,165,250,.32);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:dark;
}

/* ── Βάση ────────────────────────────────────────────────────────────────── */
html{background:var(--bg);color:var(--text);font-family:var(--font);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv11" 1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh}
body,button,input,select,textarea{font-family:var(--font)}
h1,h2,h3,h4{color:var(--text);letter-spacing:-.01em}
a{color:var(--blue)}
hr{border:0;border-top:1px solid var(--border)}
::selection{background:rgba(96,165,250,.35)}
*{scrollbar-color:rgba(255,255,255,.18) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid var(--bg)}

/* Αριθμοί: ευθυγραμμισμένα ψηφία ΠΑΝΤΟΥ (καθολικά στο html) + ρητά όπου μετράει */
table,td,th,.num,.amt,.amount,.money,.total,.sum,.price,.qty,tt,code,kbd,.live-result,
input[type=number],input[inputmode=decimal],input[inputmode=numeric]{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
td.num,th.num,.num,.amt,.amount,.money,.price,.qty{text-align:right}

/* ── Εικονίδια (Lucide, SVG sprite) ─────────────────────────────────────── */
svg.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;stroke-width:2;
  display:inline-block;fill:none;stroke:currentColor;color:inherit}
.ic.sm{width:.95em;height:.95em}.ic.lg{width:1.5em;height:1.5em}
/* Χρώμα ΜΟΝΟ στα εικονίδια */
.ic.c-green{color:var(--green)}.ic.c-blue{color:var(--blue)}.ic.c-amber{color:var(--amber)}
.ic.c-red{color:var(--red)}.ic.c-violet{color:var(--violet)}.ic.c-teal{color:var(--teal)}
.ic.c-pink{color:var(--pink)}.ic.c-orange{color:var(--orange)}.ic.c-cyan{color:var(--cyan)}
.ic.c-indigo{color:var(--indigo)}.ic.c-lime{color:var(--lime)}.ic.c-rose{color:var(--rose)}
.ic.c-sky{color:var(--sky)}.ic.c-slate{color:var(--slate)}.ic.c-muted{color:var(--muted)}
.ic.spin{animation:ic-spin 1s linear infinite}
@keyframes ic-spin{to{transform:rotate(360deg)}}

/* ── Master header (κάθε σελίδα) ────────────────────────────────────────── */
header,.header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;padding:12px 18px;margin:0;
  background:rgba(11,18,32,.78);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--border);color:var(--text);box-shadow:none}
header h1,.header h1{margin:0;font-size:17px;font-weight:700;letter-spacing:.1px;color:var(--text);
  display:inline-flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}
header h1 .ic,.header h1 .ic{width:20px;height:20px}
header a,.header a{color:var(--text-2);text-decoration:none}
header a:hover,.header a:hover{color:var(--text)}

/* Κουμπί Home (εγχέεται από το _home_button) + outline κουμπιά header */
a.erp-home,.home-btn,.sbout{display:inline-flex;align-items:center;gap:7px;
  background:transparent;color:var(--text-2);border:1px solid var(--border-2);
  border-radius:999px;padding:6px 12px;font:600 12.5px/1.2 var(--font);text-decoration:none;
  white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
a.erp-home:hover,.home-btn:hover,.sbout:hover{background:var(--surface-2);color:var(--text);border-color:rgba(255,255,255,.26)}
a.erp-home.fab{background:rgba(11,18,32,.9);box-shadow:var(--shadow-sm)}

/* ── Κάρτες / πάνελ (ένα στυλ για όλα) ──────────────────────────────────── */
.card,.panel,.box,.note,.summary,.player,.more-sheet,.live-card,.sup-block,.filter-bar,.toolbar,.tools{
  background:var(--surface);color:var(--text);border:1px solid var(--border);
  border-radius:var(--r);box-shadow:none}
.card h2,.card h3,.card-head{color:var(--text)}
.note,.hint,.info{color:var(--text-2);border-color:var(--border)}
.muted,.sub,.meta,.foot-note,.footer,small{color:var(--muted)}
.empty,.no-data,.none{color:var(--muted);background:transparent;border:1px dashed var(--border-2);border-radius:var(--r)}

/* ── Κουμπιά: ουδέτερο γυάλινο στυλ · το χρώμα στο εικονίδιο ─────────────── */
button,.btn,input[type=submit],input[type=button],.chip,.tab{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:var(--surface-2);color:var(--text);border:1px solid var(--border-2);
  border-radius:var(--r-sm);padding:8px 14px;font:600 13.5px/1.2 var(--font);
  cursor:pointer;text-decoration:none;box-shadow:none;
  transition:background .15s,border-color .15s,transform .08s}
button:hover,.btn:hover,.chip:hover,.tab:hover{background:var(--surface-3);border-color:rgba(255,255,255,.26);color:var(--text)}
button:active,.btn:active{transform:translateY(1px)}
button:disabled,.btn:disabled,button[disabled],.btn.disabled{opacity:.45;cursor:not-allowed;transform:none}
button:focus-visible,.btn:focus-visible,a:focus-visible{outline:none;box-shadow:var(--ring)}
/* Κύρια / επικίνδυνη ενέργεια: διακριτικό περίγραμμα, ΟΧΙ γεμάτο χρώμα */
.btn-primary,.btn-save,.save-btn{
  border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.10);color:#fff}
.btn-primary:hover,.btn-save:hover,.save-btn:hover{background:rgba(52,211,153,.18)}
.btn-danger,.btn.danger,button.danger,.cancel,.tdel,.del{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.08);color:var(--text)}
.btn-danger:hover,.btn.danger:hover,button.danger:hover,.cancel:hover{background:rgba(248,113,113,.16)}
.tab.on,.tab.active,.chip.on,.chip.active,button.on,.btn.on,.seg .on{background:var(--surface-3);border-color:rgba(255,255,255,.3);color:#fff}
.more-x{color:var(--muted)}

/* ── Ετικέτες / badges / pills ──────────────────────────────────────────── */
.badge,.pill,.tag,.st,.chan{display:inline-flex;align-items:center;gap:5px;
  background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);
  border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.5}
.ok,.good,.paid,.done{color:var(--green)}
.err,.bad,.error{color:var(--red)}
.warn,.pending,.pend{color:var(--amber)}
.flash,.toast,.msg{background:rgba(15,23,42,.96);color:var(--text);border:1px solid var(--border-2);
  border-radius:var(--r-sm);box-shadow:var(--shadow)}
.flash.ok,.toast.ok,.msg.ok{border-color:rgba(52,211,153,.45)}
.flash.err,.toast.err,.msg.err{border-color:rgba(248,113,113,.45)}

/* ── Πίνακες ────────────────────────────────────────────────────────────── */
table{border-collapse:separate;border-spacing:0;width:100%;background:transparent;color:var(--text)}
.table-wrap,.tscroll{border:1px solid var(--border);border-radius:var(--r);overflow:auto;background:var(--surface)}
th{background:transparent;color:var(--muted);font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;border-bottom:1px solid var(--border-2)}
:where(th){font-size:11.5px;text-align:left;padding:10px 12px}
td{border-bottom:1px solid var(--border);color:var(--text);background:transparent}
:where(td){padding:10px 12px;vertical-align:middle}
tbody tr:hover td{background:rgba(255,255,255,.025)}
tr.total td,tfoot td,td.total,tr.sum td{font-weight:700;color:#fff;border-top:1px solid var(--border-2)}
thead th:first-child{border-top-left-radius:var(--r)}thead th:last-child{border-top-right-radius:var(--r)}

/* ── Πεδία φόρμας ──────────────────────────────────────────────────────── */
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),
select,textarea{background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border-2);
  border-radius:var(--r-sm);box-sizing:border-box;max-width:100%;box-shadow:none;
  transition:border-color .15s,box-shadow .15s}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),select,textarea){
  padding:9px 12px;font:500 14px/1.3 var(--font)}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(96,165,250,.65);box-shadow:var(--ring)}
select option{background:var(--bg-2);color:var(--text)}
input[type=checkbox],input[type=radio]{accent-color:var(--green);width:16px;height:16px}
input[type=range]{accent-color:var(--blue)}
label{color:var(--text-2)}
fieldset{border:1px solid var(--border);border-radius:var(--r)}
details summary{cursor:pointer;color:var(--text)}

/* ── Λοιπά στοιχεία που συνηθίζουν οι σελίδες ──────────────────────────── */
.wrap,.content{color:var(--text)}
.grid>.card{margin:0}
.bar{background:var(--surface-3);border-radius:4px}
.dot{background:var(--muted)}
.spin{border-color:var(--border-2);border-top-color:var(--blue)}
pre,code,kbd{font-family:var(--mono);background:rgba(255,255,255,.06);border:1px solid var(--border);
  border-radius:6px;color:var(--text)}
pre{padding:12px}
.sc-overlay,.more-back,.overlay{background:rgba(5,9,18,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.modal,.sheet,.dialog{background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text)}
iframe{border:1px solid var(--border);border-radius:var(--r);background:#fff}
img{max-width:100%}
.leaflet-container,.map{border-radius:var(--r)}

/* ── Εκτύπωση: πίσω στο λευκό χαρτί ─────────────────────────────────────── */
@media print{
  html,body{background:#fff!important;color:#000!important}
  header,.header{position:static;background:#fff;border-bottom:1px solid #000;backdrop-filter:none}
  .card,.panel,table,td,th,button,.btn{background:#fff!important;color:#000!important;border-color:#999!important;box-shadow:none!important}
  a.erp-home,.sbout{display:none!important}
  svg.ic{color:#000!important}
}
