.j16-calc{--c-surface:var(--surface,#fff);--c-surface-2:var(--surface-2,#eef2f7);--c-bg:var(--bg,#f5f6f8);--c-text:var(--text,#12161c);--c-muted:var(--muted,#5f6b7a);--c-line:var(--line,#dfe4eb);--c-accent:var(--accent,#2563eb);--c-accent-ink:var(--accent-ink,#fff);--c-accent-soft:var(--accent-soft,#e3ecfd);--c-warn:var(--warn,#9a6a00);--c-warn-soft:var(--warn-soft,#f6ecd2);--c-navy-1:var(--navy-1,#0f2440);--c-navy-2:var(--navy-2,#1f4a7a)}
/* Страница с калькулятором: карточка на 10% шире обычной (800 → 880 px) */
body.has-calc395 .article{max-width:880px}

.j16-calc{display:grid;gap:20px;font-size:16px;line-height:1.5;color:var(--c-text)}
.j16-calc *{box-sizing:border-box}
.j16-calc .c-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:14px;padding:24px;min-width:0}
.j16-calc .c-card h2{margin:0 0 16px;font-size:20px;line-height:1.3}
.j16-calc .c-card h3{margin-top:0}
.j16-calc .c-grid{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px;align-items:end}
.j16-calc .c-field{display:flex;flex-direction:column;gap:6px}
.j16-calc label{font-size:13px;font-weight:600;color:var(--c-muted)}
.j16-calc input[type=text],.j16-calc input:not([type]),.j16-calc input[inputmode]{background:var(--c-bg);border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;outline:none;width:100%;min-width:0;font:inherit;color:inherit}
.j16-calc input:focus{border-color:var(--c-accent)}
.j16-calc .date-wrap{display:flex;gap:6px}
.j16-calc .date-wrap .dfield{flex:1;min-width:0}
.j16-calc .c-sub{margin-top:20px;border-top:1px solid var(--c-line);padding-top:14px}
.j16-calc .c-sub h3{margin:0 0 10px;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.j16-calc .c-row{display:grid;grid-template-columns:170px 170px minmax(0,1fr) 38px;gap:8px;margin-bottom:8px}
.j16-calc .c-row input{padding:8px 10px}
.j16-calc .c-del{border:0;background:var(--c-surface-2);border-radius:8px;font-size:18px;color:var(--c-muted);cursor:pointer}
.j16-calc .c-del:hover{color:var(--c-text)}
.j16-calc .c-empty{margin:0;color:var(--c-muted);font-size:14px}
.j16-calc .c-muted{color:var(--c-muted)}
.j16-calc .c-opts{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:18px;font-size:14px;align-items:center}
.j16-calc .c-opts label{display:flex;gap:6px;align-items:center;cursor:pointer;font-weight:500;color:var(--c-text);font-size:14px}
.j16-calc .c-opts input{accent-color:var(--c-accent)}
.j16-calc [hidden]{display:none!important}
.j16-calc .c-btn{display:inline-block;border:0;border-radius:10px;padding:10px 18px;font:inherit;font-weight:600;background:var(--c-accent);color:var(--c-accent-ink);cursor:pointer;white-space:nowrap}
.j16-calc .c-btn.ghost{background:var(--c-surface-2);color:var(--c-text)}
.j16-calc .c-btn.sm{padding:6px 12px;font-size:14px}
.j16-calc .c-link{border:0;background:none;color:var(--c-accent);font:inherit;font-weight:600;cursor:pointer;padding:4px}
.j16-calc .c-warn{background:var(--c-warn-soft);color:var(--c-warn);border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:16px}
.j16-calc .c-warn ul{margin:0;padding-left:18px}
.j16-calc .c-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.j16-calc .c-sum{background:var(--c-surface-2);border-radius:12px;padding:14px}
.j16-calc .c-sum.main{background:linear-gradient(160deg,var(--c-navy-1),var(--c-navy-2));color:#fff}
.j16-calc .c-sum span{display:block;font-size:12px;opacity:.75;margin-bottom:2px}
.j16-calc .c-sum b{font-size:20px;white-space:nowrap}
.j16-calc .c-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.j16-calc .c-status{font-size:13px;color:var(--c-muted)}
.j16-calc .c-table-wrap{border:1px solid var(--c-line);border-radius:12px;overflow-x:auto}
.j16-calc .c-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px;margin:0}
.j16-calc .c-table th,.j16-calc .c-table td{text-align:center;padding:10px 12px;border:0;border-bottom:1px solid var(--c-line);white-space:nowrap}
.j16-calc .c-table th{color:var(--c-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:normal}
.j16-calc .c-table tr.ev td{background:var(--c-accent-soft);font-size:13px;padding:8px 12px;white-space:normal}
.j16-calc .c-table tr.mor td{color:var(--c-muted)}
.j16-calc .c-table tfoot td{font-weight:700;border-bottom:0;border-top:2px solid var(--c-line)}
.j16-calc .c-table td.total-label{text-align:right}
.j16-calc .c-foot{font-size:13px;color:var(--c-muted);margin:14px 0 0}
/* Калькулятор процентов на стоимость услуги: ставка «% в год / в день» и предел «не более» */
.j16-calc .c-peni{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;align-items:end}
.j16-calc .c-rate{display:flex;align-items:center;gap:8px}
.j16-calc .c-rate input{max-width:130px}
.j16-calc .c-rate input:disabled{opacity:.5;cursor:not-allowed}
.j16-calc .c-unit{font-size:14px;color:var(--c-muted);white-space:nowrap}
.j16-calc select{background:var(--c-bg);border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;font:inherit;color:inherit;outline:none;cursor:pointer}
.j16-calc select:focus{border-color:var(--c-accent)}
.j16-calc label.c-check{display:flex;gap:6px;align-items:center;cursor:pointer;color:var(--c-text);font-size:14px;font-weight:600}
.j16-calc label.c-check input{accent-color:var(--c-accent);width:16px;height:16px;margin:0}
.j16-calc .c-table tr.capped td{color:var(--c-muted)}
/* Калькулятор неустойки по ЗоЗПП: выбор вида нарушения карточками */
.j16-calc .c-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.j16-calc label.c-type{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--c-line);border-radius:12px;background:var(--c-bg);cursor:pointer;color:var(--c-text);font-weight:400;font-size:14px;line-height:1.35}
.j16-calc label.c-type:hover{border-color:var(--c-accent)}
.j16-calc label.c-type:has(input:checked){border-color:var(--c-accent);background:var(--c-accent-soft);box-shadow:0 0 0 1px var(--c-accent)}
.j16-calc label.c-type input{position:absolute;opacity:0;pointer-events:none}
.j16-calc label.c-type:has(input:focus-visible){outline:2px solid var(--c-accent);outline-offset:2px}
.j16-calc .c-type-rate{font-size:20px;font-weight:700;color:var(--c-accent)}
.j16-calc .c-type b{font-size:15px}
.j16-calc .c-type-sub{color:var(--c-muted);font-size:13px}
.j16-calc .c-type-law{margin-top:auto;padding-top:4px;font-size:12px;color:var(--c-muted)}
.j16-calc .c-hint{font-size:13px;color:var(--c-muted);margin:10px 0 0}
.j16-calc .c-paid{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.j16-calc .c-paid .c-unit{white-space:normal;font-size:13px}
.j16-calc .c-opts label{line-height:1.35}
.j16-calc .c-fine{display:flex;flex-direction:column;gap:10px}
.j16-calc .c-fine-opts{display:flex;flex-direction:column;gap:10px;max-width:340px}
@media (max-width:760px){
  .j16-calc .c-types{grid-template-columns:1fr}
  .j16-calc .c-peni{grid-template-columns:1fr}
  .j16-calc .c-grid{grid-template-columns:1fr}
  .j16-calc .c-row{grid-template-columns:1fr 1fr 38px}
  .j16-calc .c-row input[data-f=note]{grid-column:1/3;grid-row:2}
  .j16-calc .c-row .c-del{grid-column:3;grid-row:1}
  .j16-calc .c-summary{grid-template-columns:1fr 1fr}
  .j16-calc .c-sum:last-child{grid-column:1/-1}
  .j16-calc .c-card{padding:18px}
}

.j16-calc .dfield{position:relative;display:flex;min-width:0}
.j16-calc .dfield input[data-date]{flex:1;padding-right:38px;font-variant-numeric:tabular-nums}
.j16-calc .dfield input.bad{border-color:#d62828}
.j16-calc .d-pick{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--c-muted);width:30px;height:30px;border-radius:6px;display:grid;place-items:center;padding:0;cursor:pointer}
.j16-calc .d-pick:hover{color:var(--c-accent);background:var(--c-surface-2)}
.j16-calc .d-pick svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
.j16-calc .dfield .d-native{position:absolute;left:0;bottom:0;width:100%;height:1px;opacity:0;pointer-events:none;border:0;padding:0;margin:0}

@media print{
  body.j16-calc-print *{visibility:hidden}
  body.j16-calc-print .j16-calc .c-result,body.j16-calc-print .j16-calc .c-result *{visibility:visible}
  body.j16-calc-print .j16-calc .c-result{position:absolute;left:0;top:0;width:100%;border:0;padding:0}
  body.j16-calc-print .j16-calc .c-actions{display:none}
}

/* Калькулятор дней: вкладки, строки периодов, заметка о сроках по ГК РФ */
.j16-calc .c-tabs{display:flex;gap:6px;padding:5px;background:var(--c-surface-2);border-radius:12px;width:max-content;max-width:100%}
.j16-calc .c-tabs button{border:0;background:none;border-radius:9px;padding:9px 18px;font:inherit;font-weight:600;font-size:15px;color:var(--c-muted);cursor:pointer}
.j16-calc .c-tabs button:hover{color:var(--c-text)}
.j16-calc .c-tabs button[aria-selected=true]{background:var(--c-surface);color:var(--c-text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.j16-calc .c-drow{display:grid;grid-template-columns:1fr 1fr 38px;gap:8px}
.j16-calc .c-dhead{margin-bottom:6px}
.j16-calc .c-tgrid{grid-template-columns:1.2fr .8fr 1.4fr}
.j16-calc .c-tgrid .c-rate input{max-width:90px}
.j16-calc .c-tgrid .c-rate select{flex:1;min-width:0}
.j16-calc .c-opts label.c-off{opacity:.45;cursor:not-allowed}
.j16-calc .c-sum-sub{margin:2px 0 0!important;font-size:13px!important}
.j16-calc .c-dline{margin:0 0 14px}
.j16-calc .c-law{margin:0;font-size:12.5px;line-height:1.55;color:var(--c-muted)}
.j16-calc .c-law b{color:var(--c-text);font-weight:600}
@media (max-width:760px){.j16-calc .c-tabs{width:100%}.j16-calc .c-tabs button{flex:1;padding:9px 8px;font-size:14px}.j16-calc .c-tgrid{grid-template-columns:1fr}.j16-calc .c-drow{grid-template-columns:1fr 1fr 38px}.j16-calc .c-row.c-drow .c-del{grid-column:auto;grid-row:auto}}
@media print{body.j16-calc-print .j16-calc .c-law{display:none}}