/* Field/table/indicator styles — plain non-boxed fields, label above input, thin border separators. */

.field label{
  display:block; font-size:12px; color:var(--muted); margin-bottom:4px;
}

.field input, .field select{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); padding:6px 0; font-size:14px;
}
.field input:focus, .field select:focus{outline:none; border-bottom-color:var(--gold);}
.field select{appearance:none; background:var(--bg);}

.rev-note{
  font-size:11.5px; color:var(--muted-2); margin-top:10px; font-family:var(--font-mono);
}
.rev-note a{color:var(--gold); cursor:pointer; text-decoration:underline;}
.split-warn{color:var(--bad);}

.field-sub{font-size:11px; color:var(--muted-2); margin-top:6px; font-family:var(--font-mono);}
.field-sub a{color:var(--gold); cursor:pointer; text-decoration:underline;}

/* Distinct from .field-sub's "εκτίμηση" (default/guess): an exact value
   reverse-solved from another field the user just edited. */
.derived-tag{font-size:11px; color:var(--teal); font-family:var(--font-mono); margin-top:6px;}

/* good/watch/bad indicators — text + subtle bg, no card treatment */
.indicator-good{color:var(--good); background:var(--good-bg);}
.indicator-watch{color:var(--watch); background:var(--watch-bg);}
.indicator-bad{color:var(--bad); background:var(--bad-bg);}
.indicator-none{color:var(--muted-2); background:var(--surface-2);}

.status-pill{
  font-family:var(--font-mono); font-size:11px; padding:3px 9px; border-radius:999px;
  white-space:nowrap; text-align:center;
}

/* KPI table rows */
.kpi-group-title{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin:24px 0 8px;
}
.kpi-group-title:first-child{margin-top:0;}

.kpi-row{
  display:grid; grid-template-columns:1.4fr 1.6fr 1.4fr auto;
  gap:16px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border);
}

.kpi-name{font-size:14px;}
.kpi-unit{font-size:11px; color:var(--muted-2);}

.kpi-bench{font-family:var(--font-mono); font-size:12px; color:var(--muted);}
.kpi-bench-none{color:var(--muted-2);}
.kpi-note{font-size:11.5px; color:var(--muted-2); margin-top:2px;}

.kpi-inputs{display:flex; flex-direction:column; gap:6px;}
.kpi-inputs input{
  width:100%; max-width:120px; background:transparent; border:none; border-bottom:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); padding:4px 0; font-size:13px;
}
.kpi-inputs input:focus{outline:none; border-bottom-color:var(--gold);}

.kpi-compset{display:flex; align-items:center; gap:6px; font-size:11px; color:var(--muted);}
.kpi-compset-label{color:var(--muted-2);}
.kpi-compset-status{font-family:var(--font-mono); padding:2px 6px; border-radius:999px;}

/* Summary panel rows (vs single group-benchmark number) */
.summary-row{
  display:grid; grid-template-columns:1.6fr 1fr 1.2fr auto;
  gap:16px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border);
}

.summary-name{font-size:14px;}
.summary-calc{font-size:11px; color:var(--muted-2); margin-top:2px;}

.summary-value{font-family:var(--font-mono); font-size:14px; text-align:right;}

.summary-bench{font-family:var(--font-mono); font-size:12px; color:var(--muted); text-align:right;}
.summary-bench .label{
  display:block; font-size:10px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.06em;
}

.summary-empty{color:var(--muted-2); font-size:13px; padding:16px 0;}

/* P&L panel */
.pnl-item{padding-bottom:4px;}
.pnl-label{font-size:11.5px; color:var(--muted); margin-bottom:4px;}
.pnl-value{font-family:var(--font-body); font-weight:600; font-size:16px;}
.pnl-highlight .pnl-value{font-size:19px; color:var(--gold);}
.pnl-sub{font-size:11px; color:var(--muted-2); margin-top:2px; font-family:var(--font-mono);}

.pnl-empty{color:var(--muted-2); font-size:13px; padding:16px 0;}

/* Buttons — the one place a bordered, clickable shape is warranted (a
   primary action, not a status/value display) */
.btn{
  font-family:var(--font-body); font-size:13px; color:var(--text); background:transparent;
  border:1px solid var(--border); border-radius:6px; padding:8px 14px; cursor:pointer;
}
.btn:hover{border-color:var(--gold); color:var(--gold);}

/* Scenario persistence panel */
.scenario-toolbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.scenario-logout{color:var(--muted-2); font-size:12px; cursor:pointer; text-decoration:underline;}

.scenario-login{max-width:280px;}
.scenario-login .btn{margin-top:12px;}

.scenario-row{
  display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center;
  padding:10px 0; border-bottom:1px solid var(--border);
}
.scenario-name{font-size:14px;}
.scenario-date{font-size:12px; color:var(--muted-2); font-family:var(--font-mono);}
.scenario-actions{display:flex; gap:14px;}
.scenario-load{color:var(--gold); cursor:pointer; text-decoration:underline; font-size:12px;}
.scenario-delete{color:var(--bad); cursor:pointer; text-decoration:underline; font-size:12px;}

.scenario-empty{color:var(--muted-2); font-size:13px; padding:8px 0;}
.scenario-error{color:var(--bad); font-size:12px; margin:8px 0;}

/* Read-only fields — locked by the monthly breakdown (or any future
   reactive source), value still visible/selectable, just not editable. */
.field input:read-only, .kpi-inputs input:read-only{
  color:var(--muted); cursor:not-allowed; border-bottom-style:dashed;
}

/* Monthly breakdown (nested inside inputs-panel.js's Παραδοχές Εσόδων panel) */
.monthly-clear-note{
  font-size:11.5px; color:var(--muted-2); margin-top:8px; font-family:var(--font-mono);
}
.monthly-clear-note a{color:var(--gold); cursor:pointer; text-decoration:underline;}

.monthly-details{margin-top:20px; border-top:1px solid var(--border); padding-top:12px;}
.monthly-details summary{
  cursor:pointer; font-size:13px; color:var(--muted); font-family:var(--font-mono);
}
.monthly-details[open] summary{color:var(--text); margin-bottom:12px;}

.monthly-header{
  display:grid; grid-template-columns:50px 1fr 1fr; gap:12px;
  font-size:10.5px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.05em;
  padding-bottom:6px;
}
.monthly-row{
  display:grid; grid-template-columns:50px 1fr 1fr; gap:12px; align-items:center;
  padding:6px 0; border-bottom:1px solid var(--border);
}
.monthly-label{font-size:13px; color:var(--muted);}
.monthly-row input{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--border);
  color:var(--text); font-family:var(--font-body); padding:4px 0; font-size:13px;
}
.monthly-row input:focus{outline:none; border-bottom-color:var(--gold);}

.monthly-summary{
  display:flex; gap:24px; margin-top:12px; font-size:12px; color:var(--muted);
  font-family:var(--font-mono);
}
