@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#14213D;
  --ink-soft:#5B6472;
  --paper:#FBFAF7;
  --paper-raised:#FFFFFF;
  --line:#DAD6CB;
  --teal:#1F6F5C;
  --teal-dim:#E6EFEC;
  --amber:#B8722C;
  --amber-dim:#F5E9DC;
  --danger:#9B3B33;
  --radius:3px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:'Source Serif 4',Georgia,serif;
  font-weight:600;
  margin:0 0 .3em 0;
  color:var(--ink);
}
h1{font-size:1.9rem; letter-spacing:-.01em;}
h2{font-size:1.25rem;}
h3{font-size:1.02rem;}

a{color:var(--teal);}

.masthead{
  border-bottom:2px solid var(--ink);
  padding:28px 0 18px;
  margin-bottom:34px;
}
.masthead .wrap{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap;}
.masthead p{margin:.2em 0 0; color:var(--ink-soft); font-size:.95rem;}
.masthead nav a{
  font-size:.85rem; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line);
}
.masthead nav a:hover{border-color:var(--ink);}
.masthead nav .nav-user{font-size:.85rem; color:var(--ink-soft);}

.auth-page{display:flex; justify-content:center; padding:24px 0 48px;}
.auth-panel{width:100%; max-width:420px;}
.auth-panel .hint{margin-top:18px; font-size:.85rem; color:var(--ink-soft);}

.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

.grid-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 48px;
}
@media (max-width: 820px){ .grid-form{grid-template-columns:1fr;} }

fieldset{
  border:none;
  border-top:1px solid var(--line);
  padding:22px 0 6px;
  margin:0 0 4px;
}
fieldset legend{
  font-family:'Source Serif 4',serif;
  font-size:1.02rem;
  padding-right:10px;
  color:var(--ink);
}

.field{margin-bottom:16px;}
.field label{
  display:block;
  font-size:.82rem;
  color:var(--ink-soft);
  margin-bottom:5px;
}
.field .hint{font-size:.76rem; color:var(--ink-soft); margin-top:4px;}

.input-suffix-group{display:flex; align-items:center; gap:8px;}
.input-suffix-group input{width:auto; flex:1;}
.input-suffix-group .input-suffix{font-size:.85rem; color:var(--ink-soft); white-space:nowrap;}

input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select{
  width:100%;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper-raised);
  font-family:inherit;
  font-size:.95rem;
  color:var(--ink);
}
input:focus,select:focus{
  outline:2px solid var(--teal);
  outline-offset:1px;
  border-color:var(--teal);
}

.row-inline{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

.btn{
  display:inline-block;
  background:var(--ink);
  color:#fff;
  border:none;
  padding:12px 22px;
  font-size:.92rem;
  font-weight:600;
  border-radius:var(--radius);
  cursor:pointer;
  text-decoration:none;
}
.btn:hover{background:#243357;}
.btn.secondary{background:transparent; color:var(--ink); border:1px solid var(--ink);}
.btn.secondary:hover{background:var(--ink); color:#fff;}
.btn.small{padding:7px 14px; font-size:.82rem;}
.btn.danger{background:var(--danger);}
.btn.danger:hover{background:#7d2f28;}

.actions{margin:26px 0 10px; padding-top:18px; border-top:1px solid var(--line);}

/* --- Sumar credit --- */
.summary-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  margin:26px 0 30px;
}
.summary-strip .stat{
  padding:16px 18px;
  border-left:1px solid var(--line);
}
.summary-strip .stat:first-child{border-left:none;}
.summary-strip .stat .label{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.summary-strip .stat .value{
  font-family:'Source Serif 4',serif;
  font-size:1.35rem;
  font-variant-numeric:tabular-nums;
}
.summary-strip .stat.accent .value{color:var(--teal);}

/* --- Detalii succinte credit (chips) --- */
.credit-detalii-strip{
  grid-column:1 / -1; /* ocupa tot latul randului, iese din coloanele inguste ale grid-ului .summary-strip */
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:14px 18px 16px;
  border-top:1px solid var(--line);
}
.credit-detalii-strip .chip{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  white-space:nowrap;
  padding:4px 9px;
  border:1px solid var(--line);
  border-radius:0;
  font-size:.75rem;
  line-height:1.3;
  color:var(--ink-soft);
  background:#fff;
}
.credit-detalii-strip .chip-label{
  color:var(--ink);
  font-weight:600;
}

/* --- Tabel scadentar --- */
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius);}
table.scadentar{
  width:100%;
  border-collapse:collapse;
  font-size:.86rem;
  font-variant-numeric:tabular-nums;
  min-width:920px;
}
table.scadentar thead th{
  text-align:right;
  font-weight:600;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--ink-soft);
  background:var(--paper);
  padding:10px 12px;
  border-bottom:2px solid var(--ink);
  position:sticky; top:0;
}
table.scadentar thead th:first-child,table.scadentar thead th:nth-child(2){text-align:left;}
table.scadentar td{
  padding:8px 12px;
  text-align:right;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
table.scadentar td:first-child,table.scadentar td:nth-child(2){text-align:left;}
table.scadentar tbody tr:hover{background:var(--teal-dim);}
table.scadentar tr.are-anticipata{background:var(--amber-dim);}
table.scadentar tr.are-anticipata:hover{background:#efdcc4;}
/* --- Tooltip la hover (ex: tipul rambursarii anticipate) --- */
.tooltip{
  position:relative;
  border-bottom:1px dotted var(--ink-soft);
  cursor:help;
}
.tooltip::after{
  content:attr(data-tooltip);
  position:absolute;
  bottom:calc(100% + 7px);
  left:50%;
  transform:translateX(-50%);
  background:var(--ink);
  color:#fff;
  font-size:.72rem;
  font-weight:400;
  line-height:1.3;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:4px;
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease;
  z-index:20;
  pointer-events:none;
}
.tooltip::before{
  content:'';
  position:absolute;
  bottom:calc(100% + 2px);
  left:50%;
  transform:translateX(-50%);
  border:5px solid transparent;
  border-top-color:var(--ink);
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease;
  z-index:20;
}
.tooltip:hover::after,
.tooltip:hover::before{
  opacity:1;
  visibility:visible;
}

/* --- Panou simulare --- */
.panel{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px 24px;
  margin-bottom:30px;
  background:var(--paper-raised);
}
.panel h2{margin-bottom:4px;}
.panel .desc{color:var(--ink-soft); font-size:.88rem; margin-bottom:18px;}
.form-inline{display:flex; gap:14px; flex-wrap:wrap; align-items:end;}
.form-inline .field{margin-bottom:0; min-width:150px;}
.camp-nota{display:block; margin-top:4px; color:var(--teal); font-size:.78rem;}

.list-anticipate{margin:18px 0 0; padding:0; list-style:none;}
.list-anticipate li{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0; border-top:1px solid var(--line);
  font-size:.88rem; gap:14px; flex-wrap:wrap;
}
.list-anticipate li:first-child{border-top:none;}
.list-anticipate-actions{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.select-tip-anticipata{
  width:auto;
  padding:6px 8px;
  font-size:.78rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper-raised);
  color:var(--ink);
}

.empty{color:var(--ink-soft); font-style:italic; font-size:.9rem;}

.badge-note{
  font-size:.78rem;
  color:var(--ink-soft);
  border-left:3px solid var(--teal);
  padding:6px 12px;
  margin:10px 0 0;
}

/* --- Analiza plati anticipate: grafice --- */
.chart-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:8px;
}
.chart-box{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper-raised);
  padding:14px;
  height:300px;
  position:relative;
}
.chart-box canvas{max-height:100%;}
.chart-box-wide{grid-column:1 / -1;}
@media (max-width: 820px){
  .chart-grid{grid-template-columns:1fr;}
}

footer{margin:50px 0 30px; padding-top:16px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:.8rem;}

.btn-detalii-anticipata{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px; height:18px;
  margin-left:5px;
  padding:0;
  border:none;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:.78rem;
  line-height:1;
  cursor:pointer;
  vertical-align:middle;
}
.btn-detalii-anticipata:hover{background:var(--teal);}

dialog.popup-anticipata{
  border:none;
  border-radius:var(--radius);
  padding:0;
  width:min(640px, 94vw);
  box-shadow:0 12px 40px rgba(20,33,61,.28);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
dialog.popup-anticipata::backdrop{
  background:rgba(20,33,61,.45);
}
.popup-anticipata-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px;
  border-bottom:2px solid var(--ink);
}
.popup-anticipata-head h3{margin:0;}
.popup-anticipata-close{
  border:none; background:transparent; font-size:1.3rem; line-height:1;
  cursor:pointer; color:var(--ink-soft); padding:0 4px;
}
.popup-anticipata-close:hover{color:var(--ink);}
.popup-anticipata-body{padding:18px 20px 22px;}
.popup-anticipata-optiune{margin:0 0 14px; font-size:.88rem; color:var(--ink-soft);}
.popup-anticipata-tabel{width:100%; border-collapse:collapse; font-size:.88rem; font-variant-numeric:tabular-nums;}
.popup-anticipata-tabel th{text-align:right; font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft); padding:4px 8px; border-bottom:1px solid var(--line);}
.popup-anticipata-tabel th:first-child{text-align:left;}
.popup-anticipata-tabel td{padding:7px 8px; text-align:right; border-bottom:1px solid var(--line);}
.popup-anticipata-tabel td:first-child{text-align:left; color:var(--ink-soft);}
.popup-anticipata-economie{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line);
}
.popup-anticipata-economie .label{font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft); margin-bottom:4px;}
.popup-anticipata-economie .value{font-family:'Source Serif 4',serif; font-size:1.05rem; color:var(--teal);}
.popup-anticipata-nota{margin:16px 0 0; font-size:.78rem; color:var(--ink-soft); font-style:italic;}
.popup-anticipata-tabel th.col-curenta,
.popup-anticipata-tabel td.col-curenta{background:var(--teal-dim);}

.error-box{
  background:#FBEAE8;
  border:1px solid var(--danger);
  color:var(--danger);
  padding:12px 16px;
  border-radius:var(--radius);
  margin-bottom:20px;
  font-size:.9rem;
}

.success-box{
  background:var(--teal-dim);
  border:1px solid var(--teal);
  color:var(--teal);
  padding:12px 16px;
  border-radius:var(--radius);
  margin-bottom:20px;
  font-size:.9rem;
}

.info-box{
  background:var(--amber-dim);
  border:1px solid var(--amber);
  color:#5B4423;
  padding:12px 16px;
  border-radius:var(--radius);
  margin-bottom:20px;
  font-size:.85rem;
}
.info-box a{color:var(--ink); font-weight:600;}
