.calculator-page{padding:56px 0 96px}.calculator-hero{max-width:760px;margin-bottom:40px}.calculator-hero h1{letter-spacing:-.045em;margin:16px 0;font-size:clamp(2.75rem,5vw,4.75rem);font-weight:560;line-height:.98}.calculator-hero>p:last-child{max-width:720px;color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.calculator-shell{color:var(--ink)}.calculator-toolbar{align-items:center;gap:24px;min-height:48px;margin-bottom:16px;display:flex}.mode-tabs{border:1px solid var(--line);background:#00000029;border-radius:6px;width:max-content;padding:4px;display:flex}.mode-tabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:10px 16px;font-size:.875rem;font-weight:720}.mode-tabs button[aria-selected=true]{color:#05070c;background:var(--accent)}.status-message{color:var(--accent-cool);margin:0;font-size:.75rem;line-height:1.45}.plan-panel{outline:0}.calculator-workspace{border:1px solid var(--line);background:var(--panel);grid-template-columns:.78fr 1.22fr;display:grid}.input-panel,.result-panel{padding:32px}.input-panel{border-right:1px solid var(--line)}.input-panel h2,.planner-intro h2{letter-spacing:-.03em;margin:0 0 24px;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:560;line-height:1.08}.field-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font:650 .75rem/1.4 ui-monospace,Consolas,monospace;display:block}.calculator-shell input,.calculator-shell select{width:100%;min-height:44px;color:var(--ink);background:#060a12;border:1px solid #263b59;border-radius:2px;padding:10px 12px;font-size:.875rem;line-height:1.3}.calculator-shell input[type=number]{font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace}.calculator-shell input:hover,.calculator-shell select:hover{border-color:#405f89}.calculator-shell input:focus,.calculator-shell select:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.input-panel>input,.parent-input>input{color:var(--accent);font-variant-numeric:tabular-nums;font:650 1rem/1.3 ui-monospace,Consolas,monospace}.field-hint{color:var(--faint);margin:8px 0 0;font-size:.75rem;line-height:1.5}.result-panel{min-height:344px}.result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:20px;display:flex}.result-heading span{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font:650 .6875rem/1.4 ui-monospace,monospace}.result-heading strong{color:var(--accent);font-variant-numeric:tabular-nums;font:650 .875rem/1.4 ui-monospace,monospace}.detail-grid{grid-template-columns:1fr 1fr;margin:0;display:grid}.detail-grid div{border-bottom:1px solid var(--line);padding:16px 10px 16px 0}.detail-grid div:nth-child(odd){border-right:1px solid var(--line)}.detail-grid div:nth-child(2n){padding-left:20px}.detail-grid div.wide{border-right:0;grid-column:1/-1}.detail-grid dt{color:var(--faint);margin-bottom:6px;font-size:.75rem}.detail-grid dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font:570 .8125rem/1.5 ui-monospace,Consolas,monospace}.error-banner{color:#ffd3ce;background:#8e1f1524;border:1px solid #ff7f7266;border-left:3px solid #ff7f72;padding:14px 16px;font-size:.8125rem;line-height:1.5}.planner-inputs{border:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(320px,1fr) minmax(380px,480px);align-items:end;gap:48px;padding:32px;display:grid}.planner-intro h2{max-width:630px;margin-bottom:12px}.planner-intro>p:last-child{max-width:630px;color:var(--muted);margin:0;font-size:.8125rem;line-height:1.55}.parent-input{padding-bottom:2px}.plan-settings{grid-template-columns:1.15fr .85fr;align-items:end;gap:12px;display:grid}.requirements-panel,.plan-results{border:1px solid var(--line);background:var(--panel);margin-top:16px;padding:24px 32px 32px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.section-heading h3{margin:0;font-size:1.25rem;font-weight:580}.secondary-button,.result-actions button,.shorthand-row button{min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #314b70;padding:9px 14px;font-size:.75rem;font-weight:680}.secondary-button:hover,.result-actions button:hover,.shorthand-row button:hover{border-color:var(--accent);color:var(--accent)}.requirement-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.template-link{min-height:40px;color:var(--accent-cool);align-items:center;padding:9px 2px;font-size:.75rem;font-weight:680;text-decoration:none;display:inline-flex}.template-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.requirement-labels,.requirement-row{grid-template-columns:32px minmax(200px,1.5fr) 96px 150px 136px 40px;gap:12px;display:grid}.requirement-labels{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:0 0 8px;font:650 .6875rem/1.4 ui-monospace,monospace}.requirement-rows{gap:8px;display:grid}.requirement-row{align-items:end}.drag-handle{width:32px;height:44px;color:var(--faint);cursor:grab;touch-action:none;user-select:none;background:0 0;border:1px solid #0000;align-self:end;font-size:1rem;line-height:1}.drag-handle:hover,.drag-handle:focus-visible{color:var(--accent);border-color:#314b70;outline:0}.drag-handle:active,.requirement-row.dragging .drag-handle{cursor:grabbing}.requirement-row.dragging{opacity:.72}.mobile-label{display:none}.value-input{background:#060a12;border:1px solid #263b59;border-radius:2px;align-items:center;min-height:44px;display:flex;overflow:hidden}.value-input:hover{border-color:#405f89}.value-input:focus-within{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:0}.value-prefix{color:var(--accent);font-variant-numeric:tabular-nums;flex:none;padding-left:12px;font:650 .875rem/1 ui-monospace,Consolas,monospace}.calculator-shell .value-input input{min-height:42px;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:10px 12px 10px 4px;font:650 .875rem/1 ui-monospace,Consolas,monospace}.calculator-shell .value-input[data-kind=hosts] input{padding-left:12px}.calculator-shell .value-input input:hover,.calculator-shell .value-input input:focus{border:0;outline:0}.value-input input[type=number]{-moz-appearance:textfield;appearance:textfield}.value-input input[type=number]::-webkit-inner-spin-button,.value-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.remove-button{width:40px;height:44px;color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;font-size:1.2rem}.remove-button:hover{color:#ff9f95;border-color:#ff7f7266}.shorthand-row{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.shorthand-row>label{color:var(--muted);margin-bottom:8px;font-size:.75rem;font-weight:650;display:block}.shorthand-row>div{grid-template-columns:1fr auto;gap:8px;display:grid}.shorthand-row input{font-variant-numeric:tabular-nums;min-height:40px;font:.8125rem/1.4 ui-monospace,Consolas,monospace}.shorthand-row button{min-width:120px}.shorthand-row p{color:var(--faint);margin:8px 0 0;font-size:.75rem;line-height:1.5}.shorthand-row code{color:var(--muted)}.results-heading{margin-bottom:20px}.result-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.result-actions .reset-button:hover{color:#ff9f95;border-color:#ff7f72a6}.plan-summary{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding:16px 0 12px;display:flex}.plan-summary>strong{color:var(--accent);font-variant-numeric:tabular-nums;font:650 .875rem/1.4 ui-monospace,Consolas,monospace}.plan-summary>div{text-align:right;flex-wrap:wrap;justify-content:end;align-items:baseline;gap:8px 12px;display:flex}.plan-summary span{color:var(--muted);font-size:.75rem}.plan-summary>div strong{color:var(--ink);font-size:.75rem;font-weight:700}.space-map-wrapper{position:relative}.space-map-tooltip{z-index:20;left:clamp(110px, var(--tooltip-x), calc(100% - 110px));max-width:min(320px,100vw - 32px);color:var(--ink);text-align:center;overflow-wrap:anywhere;pointer-events:none;background:#0d1829;border:1px solid #38577f;padding:7px 9px;font:650 .75rem/1.4 ui-monospace,Consolas,monospace;position:absolute;bottom:calc(100% + 10px);transform:translate(-50%);box-shadow:0 10px 28px #00000061}.space-map{background:#050912;border:1px solid #263e61;gap:2px;height:24px;display:flex;overflow:hidden}.space-segment,.space-remaining{flex-grow:var(--weight);flex-basis:0;min-width:2px}.space-segment{background:var(--accent);cursor:help}.space-segment:nth-child(3n+2){background:var(--accent-cool)}.space-segment:nth-child(3n+3){background:#82aef9}.space-remaining{cursor:help;background:repeating-linear-gradient(135deg,#0000,#0000 6px,#ffffff09 6px 7px)}.allocation-table-wrap{margin-top:12px;overflow-x:clip;container:allocation-table/inline-size}.allocation-table{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:1040px;font-size:.8125rem}.allocation-table .name-column,.allocation-table .cidr-column{width:15%}.allocation-table .range-column{width:20%}.allocation-table .mask-column{width:12%}.allocation-table .capacity-column{width:13%}.allocation-table .notes-column{width:25%}.allocation-table th{color:var(--faint);text-align:left;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:1px solid #314763;padding:8px 10px 8px 0;font:650 .6875rem/1.4 ui-monospace,monospace}.allocation-table td{border-bottom:1px solid var(--line);color:var(--muted);vertical-align:middle;padding:9px 10px 9px 0;font-size:.8125rem;line-height:1.35}.allocation-table td strong{color:var(--accent);font:650 .8125rem/1.4 ui-monospace,monospace;display:block}.allocation-table td small{color:var(--faint);margin-top:4px;font-size:.75rem;display:block}.calculator-shell .allocation-meta-input{min-height:32px;padding:6px 8px;font-size:.8125rem;line-height:1.25}.calculator-shell .allocation-name-input,.calculator-shell .allocation-notes-input{background:0 0;border-color:#0000;box-shadow:inset 0 -1px #263b59}.calculator-shell .allocation-name-input:hover,.calculator-shell .allocation-notes-input:hover{box-shadow:none;background:#060a12;border-color:#405f89}.calculator-shell .allocation-name-input:focus,.calculator-shell .allocation-notes-input:focus{border-color:var(--accent);box-shadow:none;background:#060a12}.allocation-name-input{font-weight:650;color:var(--ink)!important}.allocation-notes-input::placeholder{color:#52647c}.cidr-placement-control{gap:3px;display:grid}.calculator-shell .cidr-placement-input{color:var(--accent);font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,monospace}.cidr-unfix{width:max-content;color:var(--accent-cool);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;padding:0;font:650 .6875rem/1.35 ui-monospace,Consolas,monospace}.cidr-unfix:hover{color:var(--accent)}.usable-range{white-space:nowrap;align-items:baseline;gap:5px;font-family:ui-monospace,Consolas,monospace;display:flex}.allocation-table td .placement-error{color:#ff9f95;max-width:220px;line-height:1.4}.remaining-space{padding-top:20px}.remaining-space>span{color:var(--muted);margin-bottom:12px;font-size:.75rem;display:block}.remaining-space>div{flex-wrap:wrap;gap:8px;display:flex}.remaining-space code{border:1px solid var(--line);color:#a8b9d0;font-variant-numeric:tabular-nums;background:#060a12;padding:6px 8px;font-size:.75rem}.dialog-backdrop{z-index:100;backdrop-filter:blur(5px);background:#010409c2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--panel-strong);border:1px solid #314b70;width:min(440px,100%);padding:28px;box-shadow:0 24px 80px #0000008c}.confirm-dialog h2{letter-spacing:-.035em;margin:14px 0 10px;font-size:1.8rem;font-weight:580}.confirm-dialog>p:not(.mono-label){color:var(--muted);margin:0;font-size:.875rem;line-height:1.6}.dialog-actions{justify-content:end;gap:8px;margin-top:24px;display:flex}.dialog-actions button{min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #314b70;padding:9px 14px;font-size:.75rem;font-weight:700}.dialog-actions button:hover{border-color:var(--accent);color:var(--accent)}.dialog-actions .danger-button{color:#ffb4ad;border-color:#ff7f7280}.dialog-actions .danger-button:hover{color:#ffe0dd;background:#8e1f1533;border-color:#ff7f72}@container allocation-table (width<=1039px){.allocation-table,.allocation-table tbody,.allocation-table tr,.allocation-table td{width:100%;display:block}.allocation-table{min-width:0}.allocation-table colgroup,.allocation-table thead{display:none}.allocation-table tr{border-bottom:1px solid #304761;padding:12px 0}.allocation-table td{border:0;min-height:32px;padding:6px 0 6px 42%;position:relative}.allocation-table td:before{content:attr(data-label);width:38%;color:var(--faint);text-transform:uppercase;font:650 .6875rem/1.4 ui-monospace,monospace;position:absolute;top:7px;left:0}.allocation-table td[data-label=Name],.allocation-table td[data-label=Notes]{padding:28px 0 6px}.allocation-table td[data-label=Name]:before,.allocation-table td[data-label=Notes]:before{width:100%}.calculator-shell .allocation-meta-input{width:100%;min-height:44px}.cidr-placement-control{width:100%}.usable-range{flex-wrap:wrap}}@media (width<=940px){.calculator-workspace{grid-template-columns:1fr}.input-panel{border-right:0;border-bottom:1px solid var(--line)}.planner-inputs{grid-template-columns:1fr;gap:24px}.requirement-labels,.requirement-row{grid-template-columns:32px minmax(150px,1.5fr) 84px 135px 120px 40px;gap:8px}}@media (width<=700px){.calculator-page{padding:40px 0 72px}.calculator-hero{margin-bottom:32px}.calculator-toolbar{flex-direction:column;align-items:stretch;gap:8px}.mode-tabs{width:100%}.mode-tabs button{flex:1;min-height:44px}.planner-inputs{grid-template-columns:1fr;gap:24px;padding:24px 20px}.requirements-panel,.plan-results{padding:24px 20px}.secondary-button,.result-actions button,.shorthand-row button{min-height:44px}.requirement-actions{justify-content:start}.template-link{min-height:44px}.requirement-labels{display:none}.requirement-rows{gap:16px}.requirement-row{border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;padding:16px}.drag-handle{grid-area:1/1;width:44px}.requirement-name-field{grid-column:1/-1}.mobile-label{color:var(--faint);text-transform:uppercase;margin-bottom:6px;font:650 .6875rem/1.4 ui-monospace,monospace;display:block}.remove-button{grid-area:1/2;justify-self:end;width:44px;height:44px}.section-heading{align-items:center}.results-heading{flex-direction:column;align-items:flex-start}.result-actions{justify-content:start}.plan-summary{flex-direction:column;align-items:start;gap:8px}.plan-summary>div{text-align:left;justify-content:start}.space-map-tooltip{left:clamp(92px, var(--tooltip-x), calc(100% - 92px));max-width:220px}.dialog-actions button{min-height:44px}}@media (width<=460px){.calculator-hero h1{font-size:clamp(2.5rem,13vw,3.25rem)}.input-panel,.result-panel{padding:24px 20px}.result-heading{flex-direction:column;align-items:start}.detail-grid{grid-template-columns:1fr}.detail-grid div,.detail-grid div:nth-child(odd),.detail-grid div:nth-child(2n){border-right:0;padding:16px 0}.detail-grid div.wide{grid-column:auto}.section-heading{flex-direction:column;align-items:flex-start}.plan-settings{grid-template-columns:1fr;width:100%}.requirement-actions{width:100%}.requirement-actions .secondary-button,.requirement-actions .template-link{flex:150px;justify-content:center}.requirement-row{grid-template-columns:1fr}.drag-handle,.requirement-name-field,.remove-button{grid-area:auto;width:100%}.shorthand-row>div{grid-template-columns:1fr}.shorthand-row button{width:100%}.allocation-table td{padding-left:46%}.allocation-table td:before{width:42%}.allocation-table td[data-label=Name],.allocation-table td[data-label=Notes]{padding-left:0}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
