/* ==========================================================================
   Signava Expert — Price Calculator page
   ========================================================================== */

.calc-shell{
  display:flex; flex-direction:column; gap:0;
}

/* ---- Setup card ---- */
.calc-setup{ margin-bottom:36px; }
.calc-setup h2{ font-size:1.15rem; margin-bottom:18px; }
.calc-field-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:18px 24px;
}
@media (max-width: 640px){
  .calc-field-grid{ grid-template-columns:1fr; }
}
.calc-field-grid .field{ margin-bottom:0; }
.calc-field-grid .field.span-2{ grid-column:1 / -1; }

.field-highlight-margin{
  background:rgba(169,130,79,.09); border:1px solid rgba(169,130,79,.3);
  border-radius:var(--radius); padding:10px 12px; margin:-10px -12px;
}
.field-highlight-discount{
  background:rgba(47,111,98,.09); border:1px solid rgba(47,111,98,.3);
  border-radius:var(--radius); padding:10px 12px; margin:-10px -12px;
}
.field-highlight-tax{
  background:rgba(29,53,87,.07); border:1px solid rgba(29,53,87,.25);
  border-radius:var(--radius); padding:10px 12px; margin:-10px -12px;
}

.calc-inline-note{
  font-size:.82rem; color:var(--ink-soft); background:rgba(47,111,98,.07);
  border-left:3px solid var(--teal); padding:10px 14px; margin:16px 0 0;
}

.tt-icon{
  display:inline-block; width:13px; height:13px; vertical-align:-2px;
  margin-left:5px; opacity:.55; cursor:help; border-radius:2px;
}
.tt-icon:hover{ opacity:.9; }
.calc-table td.item-cell .tt-icon{ margin-left:6px; }

/* ---- Section headers ---- */
.calc-section-title{
  font-family:"IBM Plex Mono", monospace; font-size:.7rem; text-transform:uppercase;
  letter-spacing:.08em; color:#fff; background:var(--navy); padding:11px 18px;
  margin:32px 0 0; border-radius:var(--radius) var(--radius) 0 0;
}
.calc-section-title:first-of-type{ margin-top:0; }

/* ---- Table ---- */
.calc-table{
  width:100%; border-collapse:collapse; background:var(--paper-card);
  border:1px solid var(--line); border-top:none; margin-bottom:2px;
}
.calc-table th, .calc-table td{
  padding:14px 16px; border-bottom:1px solid var(--line); text-align:left;
  font-size:.88rem; vertical-align:top;
}
.calc-table thead th{
  font-size:.68rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-soft); background:var(--bg-alt);
}
.calc-table tbody tr:last-child td{ border-bottom:none; }
.calc-table .item-name{ font-weight:500; color:var(--ink); }
.calc-table .num{ font-family:"IBM Plex Mono", monospace; text-align:right; white-space:nowrap; }
.calc-table .auto-vol{
  font-family:"IBM Plex Mono", monospace; font-size:.85rem; color:var(--brass);
}
.calc-table input[type="number"]{
  width:84px; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:inherit; font-size:.9rem; text-align:right; background:#fff; color:var(--ink);
}

@media (max-width: 760px){
  .calc-table thead{ display:none; }
  .calc-table, .calc-table tbody, .calc-table tr, .calc-table td{ display:block; width:100%; }
  .calc-table tr{ padding:14px 16px; border-bottom:1px solid var(--line); }
  .calc-table td{
    border:none; padding:5px 0; display:flex; justify-content:space-between;
    align-items:center; gap:12px;
  }
  .calc-table td[data-label]::before{
    content:attr(data-label); font-size:.68rem; text-transform:uppercase;
    color:var(--ink-soft); flex-shrink:0;
  }
  .calc-table td.item-cell{ display:block; padding-bottom:8px; }
  .calc-table td.item-cell::before{ content:none; }
  .calc-table input[type="number"]{ width:100px; }
}

/* ---- Summary card ---- */
.calc-summary-card{ padding:24px 26px; margin-bottom:36px; }
.calc-summary-card h3{ font-size:1rem; margin-bottom:16px; }
.summary-strip{
  display:flex; flex-wrap:wrap; gap:18px 32px; padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.summary-stat{
  display:flex; flex-direction:column; gap:4px; min-width:130px;
}
.summary-stat .summary-label{
  color:var(--ink-soft); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em;
}
.summary-stat .summary-value{ font-family:"IBM Plex Mono", monospace; font-size:1rem; }
.summary-stat.total{ margin-left:auto; }
.summary-stat.total .summary-value{
  font-size:1.3rem; color:var(--navy-deep); font-weight:600; font-family:"Fraunces", serif;
}
@media (max-width: 760px){
  .summary-strip{ flex-direction:column; gap:12px; }
  .summary-stat.total{ margin-left:0; padding-top:8px; border-top:1px dashed var(--line); }
}

.position-status{
  margin-top:16px; padding:12px 14px; border-radius:var(--radius);
  font-size:.8rem; line-height:1.5;
}
.position-status.below{ background:rgba(169,130,79,.12); border-left:3px solid var(--brass); }
.position-status.in-range{ background:rgba(47,111,98,.1); border-left:3px solid var(--teal); }
.position-status.above{ background:rgba(29,53,87,.08); border-left:3px solid var(--navy); }

.position-bands{ margin-top:16px; font-size:.74rem; color:var(--ink-soft); }
.position-bands .band-row{
  display:flex; justify-content:space-between; padding:5px 0;
  border-bottom:1px dashed var(--line); gap:10px;
}
.position-bands .band-row:last-child{ border-bottom:none; }

.calc-summary-actions{ margin-top:20px; display:flex; flex-direction:column; gap:10px; }
.calc-summary-actions button{
  font-family:inherit; cursor:pointer;
}

/* ---- Print ---- */
@media print{
  .site-header, .site-footer, .calc-setup, .calc-summary-actions, .calc-inline-note{
    display:none !important;
  }
  .calc-shell{ display:block; }
  .calc-summary{ position:static; margin:24px 0; page-break-inside:avoid; }
  body{ background:#fff; }
  .calc-table input[type="number"]{ border:none; padding:0; text-align:right; width:auto; }
}
