/* IP / subnet calculator tool — extends style.css + analisi-rete.css */

.ipcalc-tool{margin-top:26px;padding:26px;border:1px solid var(--ar-line);border-radius:16px;background:var(--ar-surface);box-shadow:var(--ar-shadow)}
.ipcalc-field{display:flex;flex-direction:column;gap:8px;max-width:420px}
.ipcalc-field+.ipcalc-field{margin-top:16px}
.ipcalc-field label{color:var(--ar-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.ipcalc-field input,.ipcalc-field select{padding:13px 14px;border:1px solid var(--ar-line);border-radius:6px;background:#fff;color:var(--ar-ink);font:15px ui-monospace,SFMono-Regular,Menlo,monospace}
.ipcalc-field input:focus,.ipcalc-field select:focus{border-color:var(--ar-blue);outline:none}
.ipcalc-inline{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}

.ipcalc-octets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:22px;background:var(--ar-line);border:1px solid var(--ar-line);border-radius:10px;overflow:hidden}
.ipcalc-octet{background:#fff;padding:14px 10px;text-align:center}
.ipcalc-octet-dec{display:block;font:400 22px "Cormorant Garamond",Georgia,serif;color:var(--ar-ink)}
.ipcalc-octet-bin{display:block;margin-top:6px;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ar-blue);letter-spacing:.04em}
.ipcalc-full-binary{margin-top:14px;padding:12px 14px;border:1px solid var(--ar-line);border-radius:6px;background:var(--ar-panel);color:var(--ar-blue-deep);font:14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;word-break:break-all}

.ipcalc-error{margin-top:14px;color:var(--ar-crit);font-size:13px}

.ipcalc-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:26px;border-top:1px solid var(--ar-line);border-left:1px solid var(--ar-line);border-radius:10px;overflow:hidden}
.ipcalc-results div{padding:14px 16px;border-right:1px solid var(--ar-line);border-bottom:1px solid var(--ar-line)}
.ipcalc-results dt{margin:0 0 6px;color:var(--ar-muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.ipcalc-results dd{margin:0;color:var(--ar-ink);font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

.ipcalc-binary{margin-top:22px;display:grid;gap:10px}
.ipcalc-binary div{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--ar-line-soft)}
.ipcalc-binary span.ipcalc-binary-label{color:var(--ar-muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.ipcalc-binary span.ipcalc-binary-value{color:var(--ar-blue-deep);font:14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;word-break:break-all}

.ipcalc-table-wrap{margin-top:22px;overflow-x:auto;border:1px solid var(--ar-line);border-radius:10px}
.ipcalc-table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}
.ipcalc-table th,.ipcalc-table td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--ar-line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ipcalc-table thead th{font-family:Inter,sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ar-muted);background:var(--ar-panel)}
.ipcalc-table tbody td{color:var(--ar-ink-soft)}
.ipcalc-table tbody td:first-child{color:var(--ar-blue);font-weight:700}
.ipcalc-table tbody tr:last-child td{border-bottom:0}

@media(max-width:680px){
  .ipcalc-octets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ipcalc-results{grid-template-columns:1fr}
  .ipcalc-binary div{grid-template-columns:1fr}
}
