/* Practical tools share the MSP identity, with compact working surfaces. */
.tools-hero{padding:126px 0 0;background:radial-gradient(ellipse at 90% 20%,#59356d75,transparent 48%),radial-gradient(ellipse at 40% 120%,#1a348553,transparent 55%),#090b18;color:#fff}
.tools-hero .breadcrumbs{margin-bottom:28px;flex-wrap:wrap}
.tools-hero h1{font-size:clamp(36px,4.8vw,68px);max-width:1050px}
.tools-hero>div>p{color:#b1b9d0;max-width:720px;margin-top:20px;font-size:15px}
.tools-hero .eyebrow{color:#ccabea;margin-bottom:16px}
.tool-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px;padding:0 0 22px}
.tool-tabs a{padding:11px 15px;border-radius:5px;color:#b6bdd1;font-size:11px;border:1px solid #ffffff18;transition:background .2s}
.tool-tabs a:hover{background:#ffffff0a;color:#fff}
.tool-tabs a[aria-current]{border-color:#a884d570;color:#fff;background:#9d63cd24}
.tool-section{padding:40px 0 48px}
.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tool-card{padding:30px;border:1px solid #dce0e9;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,border-color .2s,box-shadow .2s}
.tool-card:hover{transform:translateY(-4px);border-color:#b491d6;box-shadow:0 16px 40px #4835650a}
.tool-card-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;color:#8851b4;background:linear-gradient(145deg,#f2e9fd,#e9edfc);margin-bottom:26px}
.tool-card-icon svg{width:28px;height:28px}
.tool-card .eyebrow{margin-bottom:12px;font-size:9px}
.tool-card h2{font-size:27px;line-height:1.25;letter-spacing:-.04em;margin-bottom:15px}
.tool-card p{font-size:13px;flex:1}
.tool-card-preview{font:12px/1.8 ui-monospace,monospace;background:#f5f3f9;border:1px solid #eee9f5;border-radius:5px;width:100%;padding:16px 12px;margin:24px 0 10px;color:#3d365b;overflow-wrap:anywhere}
.tool-card-preview span{color:#8c68b3}
.tool-card .text-link{font-size:12px}
.tool-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
.tool-panel{min-width:0;padding:32px;background:white;border:1px solid #dce0e9;border-radius:10px}
.tool-panel .eyebrow{margin-bottom:15px}
.tool-panel h2{font-size:29px;margin-bottom:26px;line-height:1.2}
.tool-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.tools-page label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:650;color:#38405a;min-width:0}
.tools-page input,.tools-page select{width:100%;min-width:0;min-height:47px;padding:11px 13px;font:14px Manrope,sans-serif;border:1px solid #d4d8e2;border-radius:5px;background:#fafbfe;color:#171b30}
.tools-page label small{font-size:11px;font-weight:400;line-height:1.6;color:#6a7183}
.tools-page form>label{margin-bottom:21px}
.tools-page form{scroll-margin-top:108px}
.tool-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:25px}
.tool-actions .button{min-height:45px}
.tool-result{color:#f6f3ff;background:radial-gradient(ellipse at top right,#52316c77,transparent 65%),#101628;border-color:#3f3654}
.tool-result .eyebrow{color:#c9a6ef}
.tool-result p{color:#bdc5da;font-size:12px}
.tool-big-number{display:block;font-size:clamp(40px,5vw,66px);line-height:1.12;letter-spacing:-.05em;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.raid-summary>p{margin-top:13px}
.capacity-bar{display:flex;height:16px;overflow:hidden;border-radius:4px;margin:26px 0 19px;background:#252e43}
.capacity-data{background:#bd85f4}.capacity-redundancy{background:#668af1}.capacity-spare{background:#e186b6}
.capacity-legend{margin:0;font-size:12px}
.capacity-legend>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0}
.capacity-legend dt{display:flex;align-items:center;gap:10px;color:#c4cadd}
.capacity-legend i{width:8px;height:8px;display:inline-block;border-radius:2px;flex-shrink:0}
.capacity-legend dd{margin:0;white-space:nowrap}
.capacity-legend>div:last-child{border-top:1px solid #ffffff20;margin-top:5px;padding-top:14px}
.raid-tolerance{margin:24px 0;padding:19px;background:#ffffff05;border:1px solid #ffffff14;border-radius:6px}
.raid-tolerance h3{font-size:15px;letter-spacing:-.02em;margin-bottom:8px}
.tool-facts{margin:0;font-size:12px}
.tool-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #ffffff12}
.tool-facts dt{color:#b6bfd6}
.tool-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.tool-note{font-size:12px;line-height:1.8;margin-top:18px}
.tool-result .tool-note{font-size:11px;line-height:1.8;color:#aebad2}
.tool-error{font-size:13px;line-height:1.7;color:#9b2757;background:#fbedf2;padding:14px 17px;border:1px solid #eed0df;border-radius:5px;margin-top:20px}
.tool-copy{border:1px solid #b9aacd;color:#62418a;padding:11px 14px;border-radius:5px;background:#fff;font-size:12px;display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.tool-copy:hover{background:#f3edf9}
.tool-result .tool-copy{background:#ffffff08;border-color:#ffffff38;color:#e8d3ff}
.tool-result .tool-copy:hover{background:#ffffff14}
.tool-result-actions{display:flex;gap:16px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:16px}
.tool-status{font-size:12px;color:#70439b;margin:0}
.tool-explainer{padding-top:32px;margin-top:35px;border-top:1px solid #dce0e9;max-width:960px}
.tool-explainer h2{font-size:26px;line-height:1.3;margin-bottom:15px}
.tool-explainer h3{font-size:19px;margin-bottom:15px}
.tool-explainer p{font-size:13px}
.tool-explainer .text-link{font-size:12px;margin-top:10px}
.tool-network{display:block;font:500 clamp(23px,2.4vw,34px)/1.45 ui-monospace,monospace;margin-bottom:24px;overflow-wrap:anywhere}
.subnet-binary{margin-top:24px;font-size:11px;color:#acb9cf}
.subnet-binary code{display:block;font:11px/1.8 ui-monospace,monospace;color:#d3aff4;overflow-wrap:anywhere;margin-top:8px}
.subnet-presets{display:flex;gap:8px;flex-wrap:wrap}
.subnet-presets button{padding:9px 13px;background:#f4eefb;color:#785599;border:1px solid #e2d7ec;border-radius:4px;font:12px ui-monospace,monospace;min-height:40px}
.tool-table-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:48px}
.tool-table-heading .eyebrow{margin-bottom:12px}
.tool-table-heading h2{font-size:29px}
.tool-table-heading label{width:320px;max-width:100%}
.tool-table-scroll{overflow:auto;margin-top:17px;border:1px solid #dce0e9;border-radius:8px;background:#fff;max-height:640px}
.subnet-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}
.subnet-table caption{text-align:left;padding:16px 20px;color:#656d81;font-size:12px}
.subnet-table th,.subnet-table td{padding:12px 20px;border-top:1px solid #e5e7ef;white-space:nowrap;font-variant-numeric:tabular-nums}
.subnet-table thead th{position:sticky;top:0;background:#ebeaf3;z-index:1;font-size:11px;font-weight:700;box-shadow:0 1px #d9d8e6}
.subnet-table tbody tr:nth-child(even){background:#fafbfe}
.subnet-table tbody tr.is-selected{background:#efe4fc;box-shadow:inset 3px 0 #9563c6}
.subnet-table tbody tr:hover{background:#f3edfa}
.subnet-table th button{background:transparent;color:#784a9a;border-radius:4px;padding:6px 10px;font:650 13px ui-monospace,monospace;min-height:35px}
.subnet-table td:nth-child(2),.subnet-table td:nth-child(3){font-family:ui-monospace,monospace}
.tool-sources a{color:#6c438f;text-decoration:underline;text-underline-offset:3px}
.ip-primary{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:36px}
.tool-ip{display:block;font:500 clamp(23px,3.5vw,46px)/1.45 ui-monospace,monospace;overflow-wrap:anywhere;user-select:all}
.ip-primary>div{min-width:0}
.ip-primary p{margin-top:11px}
.ip-protocols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.ip-protocols .tool-ip{font-size:clamp(19px,2.3vw,30px)}
.ip-protocols p{font-size:12px;margin-top:10px;min-height:44px;max-width:480px}
.ip-protocols .tool-copy{margin-top:17px}
.ip-details{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ip-details>div{display:block;padding:0;border:0}
.ip-details dt{color:#646d83;margin-bottom:9px}
.ip-details dd{text-align:left;font-size:16px;font-weight:600}
.ip-explainer{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:none}
.tool-help{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--line);padding:38px 0 48px}
.tool-help .eyebrow{margin-bottom:12px}
.tool-help h2{font-size:30px;margin-bottom:12px}
.tool-help p{font-size:13px}
.tool-help .button{flex-shrink:0}
.tools-dropdown{position:absolute;right:max(56px,calc((100% - 1360px)/2));top:90px;width:420px;max-width:calc(100vw - 32px);background:#121525;border:1px solid #ffffff22;border-radius:0 0 8px 8px;padding:22px;box-shadow:0 25px 50px #0006}
.tools-dropdown>a{display:block;padding:14px;border-bottom:1px solid #ffffff13;font-size:13px;color:#d1d5e3}
.tools-dropdown>a:hover,.tools-dropdown>a:focus-visible{background:#ffffff08;color:white}
.tools-dropdown>a:first-child{color:#d9b5f9;font-weight:700}
.tools-dropdown small{display:block;font-size:11px;color:#8e97b1;margin-top:6px;line-height:1.6}
@media(max-width:1180px){.desktop-nav,.nav-cta{display:none}.mobile-toggle{display:block}.language-switch{margin-left:auto}.tools-dropdown{display:none}}
@media(min-width:981px) and (max-width:1180px){.mobile-menu{display:grid;position:absolute;top:90px;left:0;right:0;background:#101322;max-height:calc(100svh - 90px);overflow-y:auto;padding:20px 40px 35px}.mobile-menu a{display:flex;justify-content:space-between;padding:14px 0;font-size:14px;border-bottom:1px solid #ffffff12}.mobile-menu a span{color:#ba8ada}}
@media(max-width:980px){.tool-card{padding:23px}.tools-grid{gap:15px}.tool-card h2{font-size:24px}.tool-workspace{gap:20px}.tool-panel{padding:25px}.tool-fields{gap:18px 14px}.tool-panel h2{font-size:26px}.ip-primary{padding:28px}.tool-table-heading{align-items:start}.tool-table-heading h2{font-size:26px}}
@media(max-width:760px){.tools-hero{padding-top:108px}.tools-hero h1{font-size:39px}.tools-hero>div>p{font-size:13px}.tools-hero .breadcrumbs{margin-bottom:24px}.tool-tabs{gap:6px;margin-top:25px}.tool-tabs a{font-size:10px;padding:10px}.tool-section{padding:25px 0 32px}.tools-grid,.tool-workspace,.ip-protocols,.ip-explainer{grid-template-columns:1fr}.tool-card{padding:26px}.tool-card-icon{margin-bottom:20px}.tool-card-preview{max-width:440px}.tool-result-actions{justify-content:flex-start}.tool-table-heading{flex-direction:column;gap:20px;margin-top:34px}.tool-table-heading label{width:100%}.subnet-table th,.subnet-table td{padding:10px 15px}.tool-table-scroll{max-height:540px}.ip-primary{flex-direction:column;align-items:flex-start;gap:18px}.tool-ip{font-size:27px}.ip-protocols{gap:16px;margin-top:16px}.ip-protocols p{min-height:0}.ip-details{grid-template-columns:1fr;gap:19px;padding:22px 0}.ip-details>div{display:flex;justify-content:space-between;gap:20px;align-items:center}.ip-details dt{margin:0}.ip-details dd{font-size:14px;text-align:right}.ip-explainer{gap:25px}.tool-help{flex-direction:column;align-items:flex-start;gap:23px;padding:29px 0 35px}.tool-help h2{font-size:25px}.tool-note{font-size:11px}.tool-panel h2{font-size:26px}}
@media(max-width:420px){.tools-hero h1{font-size:33px}.tool-panel{padding:22px 19px}.tool-fields{grid-template-columns:1fr}.tool-network{font-size:22px}.tool-facts{font-size:11px}.tool-facts>div{gap:10px}.tool-tabs a{font-size:9px;padding:9px}.capacity-legend{font-size:11px}.tools-page label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tool-card,.tool-tabs a{transition:none}.tool-card:hover{transform:none}}
@media print{.tools-hero{padding:15px 0!important;background:white;color:black}.tool-tabs,.tool-help,.tools-page form,.tool-result-actions,.ip-refresh{display:none}.tool-workspace{display:block}.tool-result{background:white;color:black}.tool-result p,.tool-result dt{color:#333}.tool-table-scroll{max-height:none;overflow:visible}.subnet-table thead th{position:static}.subnet-table tr{break-inside:avoid}.tool-section{padding:20px 0}.tool-table-heading label{display:none}}
/* Protocol tabs keep the two subnet tools on the same compact page. */
.protocol-tabs{display:flex;gap:8px;margin:0 0 26px;padding:6px;background:#eae6f1;border:1px solid #dcd4e7;border-radius:8px;width:max-content;max-width:100%}
.protocol-tabs a{display:flex;align-items:center;gap:18px;padding:12px 23px;border-radius:5px;font-weight:700;font-size:15px;color:#654780}
.protocol-tabs a span{font:11px ui-monospace,monospace;font-weight:400;opacity:.75}
.protocol-tabs a[aria-selected=true]{background:#382448;color:#fff;box-shadow:0 3px 10px #39264e20}
[data-protocol-panel]{scroll-margin-top:115px}
.ipv6-summary{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:25px}
.ipv6-summary h2{font-size:29px;margin-bottom:12px}.ipv6-summary p{font-size:13px;max-width:650px}.ipv6-summary .eyebrow{margin-bottom:12px}
.ipv6-example{padding:16px 24px;border:1px solid #dacfec;border-radius:8px;background:linear-gradient(115deg,#ece6f6,#f8ecf5);min-width:210px;color:#59366d}
.ipv6-example>span,.ipv6-example>small{display:block;font-size:11px}.ipv6-example>span{font-family:ui-monospace,monospace}.ipv6-example>strong{font-size:31px;letter-spacing:-.03em;display:block;margin:3px 0}
.ipv6-presets{margin-top:20px}.ipv6-result .tool-facts dd{min-width:0;max-width:68%;overflow-wrap:anywhere}.ipv6-result code{font:11px/1.6 ui-monospace,monospace}
.ipv6-details{margin-top:20px;border-top:1px solid #ffffff22;padding-top:16px}.ipv6-details summary{cursor:pointer;font-size:12px;color:#cfb5e8}.ipv6-details .tool-facts>div{display:block}.ipv6-details .tool-facts dd{max-width:none;text-align:left;margin-top:8px}
.ipv6-legend{padding:15px 18px;background:#ece8f3;border-radius:5px;font-size:11px;color:#665276}.ipv6-table abbr{text-decoration:underline dotted #a690b4;text-underline-offset:4px;cursor:help}
.ipv6-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:32px;padding-top:28px;border-top:1px solid #dce0e9}.ipv6-notes h3{font-size:17px;margin-bottom:10px}.ipv6-notes p{font-size:12px}
.tools-page #tool-status{margin-top:14px}
@media(max-width:760px){.ipv6-summary{align-items:stretch;flex-direction:column;gap:18px}.ipv6-example{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 20px;min-width:0}.ipv6-example>strong{grid-column:2;grid-row:1/3}.ipv6-example>small{grid-column:1}.ipv6-notes{grid-template-columns:1fr;gap:22px}.ipv6-summary h2{font-size:26px}}
@media(max-width:420px){.protocol-tabs{width:100%}.protocol-tabs a{flex:1;justify-content:center;padding:11px 12px;gap:12px}.ipv6-result .tool-facts>div{display:block}.ipv6-result .tool-facts dd{max-width:none;text-align:left;margin-top:6px}}
@media print{.protocol-tabs{display:none}.tools-page [data-protocol-panel][hidden]{display:block!important}.ipv6-example{background:white;color:black}.ipv6-notes{grid-template-columns:1fr}.ipv6-details{color:black}}
