/* ΉΘΟΣ — ethoserp.gr · Εργαλεία (site 1.3.0)
   Επέκταση του ίδιου κόσμου (Aegean Modernism): τα tokens, τα κουμπιά, το
   .calcbox/.field/.calcrow έρχονται από το styles.css. Εδώ μόνο ό,τι χρειάζονται
   οι σελίδες εργαλείων. Χωριστό αρχείο γιατί το CSP (style-src 'self') δεν
   επιτρέπει <style> μέσα στη σελίδα. */

/* ── Κεφαλή σελίδας ──────────────────────────────────────────────────────── */
.toolhead{padding-block:clamp(30px,4.4vw,52px) clamp(22px,3vw,34px);border-bottom:1px solid var(--rule)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;list-style:none;font-size:13.5px;color:var(--muted)}
.crumbs li + li::before{content:'/';margin-inline-end:6px;color:var(--rule)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--navy);text-decoration:underline}
.toolhead h1{font-size:clamp(28px,3.8vw,44px);max-width:22ch;text-wrap:balance}
.toolhead .lede{margin-top:14px;max-width:62ch;font-size:19px;color:var(--muted);line-height:1.55}
.checked{margin-top:16px;font-size:13px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.checked svg{width:15px;height:15px;color:var(--ok);flex:0 0 auto;margin-top:2px}

/* ── Υπολογιστής + εξήγηση, δίπλα-δίπλα ─────────────────────────────────── */
.toolgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,3.4vw,48px);align-items:start}
@media (max-width:860px){ .toolgrid{grid-template-columns:1fr} }
@media (min-width:861px){ .toolgrid > .calcbox{position:sticky;top:96px} }
.toolgrid .calcbox{box-shadow:var(--shadow-float)}

/* Επιλογή μίας τιμής: τετράγωνα κουμπιά σε σειρά, όπως οι λίστες της εφαρμογής. */
.seg{border:0;margin:0 0 20px;padding:0;min-width:0}
.seg legend{padding:0;margin-bottom:7px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.seg .opts{display:flex;flex-wrap:wrap;gap:6px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{
  display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--rule);border-radius:3px;
  background:var(--panel);font-size:14.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;
  transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out;
}
.seg label:hover span{border-color:var(--muted)}
.seg input:checked + span{background:var(--navy-deep);border-color:var(--navy-deep);color:var(--on-navy)}
:root[data-theme="dark"] .seg input:checked + span{background:var(--navy-tint);border-color:var(--navy);color:var(--ink)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .seg input:checked + span{background:var(--navy-tint);border-color:var(--navy);color:var(--ink)} }
.seg input:focus-visible + span{outline:2.5px solid var(--focus);outline-offset:2px}
.seg .sub{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.5}

/* Διακόπτης ναι/όχι με δική του ετικέτα. */
.check{display:flex;gap:11px;align-items:flex-start;margin:0 0 20px;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy);flex:0 0 auto}
.check b{display:block;font-size:14.5px}
.check small{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:2px}

.field select{
  appearance:none;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2354677a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 13px center/12px 8px;
  color:var(--ink);border:1px solid var(--rule);border-radius:3px;padding:11px 38px 11px 13px;font-size:15.5px;font-weight:600;max-width:100%;
}
.field select:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}
.field input.bad{border-color:var(--danger)}
.fielderr{font-size:13px;color:var(--danger);margin-top:2px;min-height:0}
.calcrow.minus b{color:var(--danger)}
.calcrow.minus b::before{content:'− '}
.calcrow.muted span,.calcrow.muted b{color:var(--muted);font-weight:600}
.calcflag{
  margin-top:14px;padding:11px 13px;border:1px solid var(--rule);border-radius:3px;background:var(--panel-2);
  font-size:13.5px;line-height:1.55;color:var(--ink);
}
.calcflag b{font-weight:700}
.copyrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.copyrow .btn{padding:9px 14px;font-size:13.5px}

/* ── Εξήγηση και πηγές ──────────────────────────────────────────────────── */
.explain{display:grid;gap:clamp(22px,3vw,32px)}
.explain h2,.toolsec h2{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  padding-bottom:10px;border-bottom:2.5px solid var(--navy);box-shadow:inset 0 -5px 0 -4px var(--rule);margin-bottom:6px;
}
.explain p,.explain li{font-size:15.5px;line-height:1.7;max-width:62ch}
.explain p + p{margin-top:10px}
.explain ul,.explain ol{margin:8px 0 0;padding-inline-start:20px;display:grid;gap:6px}
.explain .formula{
  font-variant-numeric:tabular-nums;background:var(--panel-2);border:1px solid var(--rule-soft);border-radius:3px;
  padding:12px 14px;font-size:15px;line-height:1.75;margin-top:10px;
}
.sources{list-style:none;margin:0;padding:0}
.sources li{border-bottom:1px solid var(--rule-soft)}
.sources a{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:11px 0;font-size:14.5px;line-height:1.5;text-decoration:none;color:var(--ink)}
.sources a:hover span{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.sources svg{width:15px;height:15px;flex:0 0 auto;margin-top:3px;color:var(--muted)}
.sources small{display:block;color:var(--muted);font-size:12.5px}
.disclaim{font-size:13px;color:var(--muted);line-height:1.6;max-width:68ch}

/* ── Πίνακας με τη διπλή γραμμή κεφαλής (The Ledger Rule) ───────────────── */
.ledger{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:14px}
.ledger th{
  text-align:right;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  padding:0 10px 9px;border-bottom:2.5px solid var(--navy);box-shadow:inset 0 -5px 0 -4px var(--rule);white-space:nowrap;
}
.ledger th:first-child,.ledger td:first-child{text-align:left;padding-left:0}
.ledger td{text-align:right;padding:11px 10px;border-bottom:1px solid var(--rule-soft);white-space:nowrap}
.ledger td:first-child{white-space:normal}
.ledger td:last-child,.ledger th:last-child{padding-right:0}
.ledger tbody tr{cursor:pointer}
.ledger tbody tr:hover td{background:var(--panel-2)}
.ledger tr.on td{background:var(--gold-soft)}
.ledger tr.on td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.ledger td b{font-weight:800}
.ledger small{display:block;color:var(--muted);font-size:12px;white-space:normal}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:560px){ .ledger .hide-s{display:none} }

/* ── Φορολογικό ημερολόγιο ──────────────────────────────────────────────── */
.calhead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.monthnav{display:flex;align-items:center;gap:10px}
.monthnav h2{font-size:clamp(22px,2.6vw,28px);min-width:9ch;text-align:center;font-variant-numeric:tabular-nums}
.iconbtn2{
  display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--rule);border-radius:3px;
  background:var(--panel);color:var(--navy);cursor:pointer;
}
.iconbtn2:hover{background:var(--panel-2);border-color:var(--muted)}
.iconbtn2 svg{width:18px;height:18px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 clamp(22px,3vw,30px);padding:0;border:0}
.chips legend{width:100%;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips span{
  display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:1px solid var(--rule);border-radius:4px;
  font-size:13.5px;font-weight:600;background:var(--panel);color:var(--muted);
}
.chips span::before{content:'';width:9px;height:9px;border-radius:2px;border:1.5px solid currentColor}
.chips input:checked + span{color:var(--ink);border-color:var(--navy)}
.chips input:checked + span::before{background:var(--gold);border-color:var(--gold)}
.chips input:focus-visible + span{outline:2.5px solid var(--focus);outline-offset:2px}

.duelist{list-style:none;margin:0;padding:0;border-top:2.5px solid var(--navy);box-shadow:inset 0 5px 0 -4px var(--rule)}
.due{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:6px 20px;padding:16px 0;border-bottom:1px solid var(--rule-soft);align-items:start}
.due .d{font-variant-numeric:tabular-nums;line-height:1}
.due .d b{display:block;font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.due .d span{display:block;margin-top:6px;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.due.past .d b{color:var(--muted)}
.due.soon .d b{color:var(--gold-ink)}
.due h3{font-size:15.5px;font-weight:800;letter-spacing:-.005em}
.due .per{font-size:14px;color:var(--ink);margin-top:3px}
.due .rule{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.55;max-width:64ch}
.due .who{display:inline-block;margin-top:7px;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:3px 7px}
.due .src{font-size:13px;white-space:nowrap;align-self:center}
.due .src a{color:var(--navy)}
.due .tag{display:inline-block;margin-inline-start:8px;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;padding:2px 7px;border-radius:4px;vertical-align:2px}
.due .tag.today{background:var(--gold);color:#14232f}
.due .tag.past{background:var(--panel-2);color:var(--muted)}
@media (max-width:640px){
  .due{grid-template-columns:62px minmax(0,1fr)}
  .due .d b{font-size:28px}
  .due .src{grid-column:2;align-self:start}
}
.empty{padding:28px 0;color:var(--muted);font-size:15.5px;border-bottom:1px solid var(--rule-soft)}
.calfoot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}

/* ── Ευρετήριο εργαλείων ────────────────────────────────────────────────── */
.toollist{list-style:none;margin:0;padding:0;border-top:2.5px solid var(--navy);box-shadow:inset 0 5px 0 -4px var(--rule)}
.toollist a{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;align-items:center;
  padding:22px 0;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:var(--ink);
}
.toollist h2,.toollist h3{font-size:clamp(19px,2vw,22px);letter-spacing:-.01em}
.toollist p{grid-column:1;color:var(--muted);font-size:15.5px;max-width:64ch;line-height:1.55}
.toollist .go{grid-row:1 / span 2;grid-column:2;display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:3px;color:var(--navy);transition:background .15s ease-out,border-color .15s ease-out,transform .15s ease-out}
.toollist .go svg{width:18px;height:18px}
.toollist a:hover h2,.toollist a:hover h3{color:var(--navy)}
.toollist a:hover .go{background:var(--gold);border-color:var(--gold);color:#14232f;transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){ .toollist a:hover .go{transform:none} }

/* ── Μπάντα «αυτό το κάνει το Ήθος» ─────────────────────────────────────── */
.toolcta .box{max-width:720px}
.toolcta .cta{margin-top:4px}

/* ── Σελίδα κειμένου (προσωπικά δεδομένα) — μεταφέρθηκε από inline <style>,
      που το CSP μπλόκαρε στον server ─────────────────────────────────────── */
.legalpage{max-width:74ch;margin:0 auto;padding:56px 0 72px}
.legalpage h1{margin:0 0 10px}
.legalpage .updated{color:var(--muted);margin:0 0 34px}
.legalpage h2{margin:38px 0 10px}
.legalpage p,.legalpage li{line-height:1.7}
.legalpage ul{padding-left:20px;display:grid;gap:7px}
.legalpage dt{font-weight:700;margin-top:14px}
.legalpage dd{margin:3px 0 0}
.legalpage .box{border:1px solid var(--rule);border-radius:3px;padding:16px 18px;margin:22px 0;background:var(--panel-2)}
.legalpage .box p:last-child{margin-bottom:0}
.legalpage .box p:first-child{margin-top:0}

@media print{
  .masthead,.toolcta,footer,.copyrow,.calfoot,.monthnav button{display:none !important}
  .toolgrid{grid-template-columns:1fr}
}
