/* IP 서브넷 계산기 */
.ip-inputs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--spacing-md, 1rem); }
.ip-addr { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1rem; }
.ip-alert { margin-top: var(--spacing-md, 1rem); }

.ip-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, .875rem); }
.ip-table th, .ip-table td { padding: .5rem .625rem; border-bottom: 1px solid var(--border-subtle, #eef0f4); text-align: left; vertical-align: top; }
.ip-table th { width: 12rem; font-weight: 600; color: var(--text-secondary, #3d434d); background: var(--surface-2, #f1f3f7); }
.ip-table td { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; }
.ip-table tr:last-child th, .ip-table tr:last-child td { border-bottom: 0; }

.ip-split { margin: 0; padding-left: 1.5rem; max-height: 22rem; overflow: auto; }
.ip-split li { padding: .1875rem 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--text-ui-sm, .8125rem); }

@media (max-width: 768px) {
    .ip-table th { width: 8rem; font-size: var(--text-ui-sm, .8125rem); }
    .ip-table td { font-size: var(--text-ui-sm, .8125rem); }
}
