/* 99Tools shared design system. No calculator-specific styles. */
:root{--bg:#f6f5f2;--card:#fff;--ink:#17201b;--muted:#526159;--line:#dce2dd;--brand:#f47721;--brand-ink:#17201b;--accent:#14633f;--accent2:#0b3d27;--tint:#e8f3ec;--error:#b3261e;--font:system-ui,-apple-system,"Segoe UI",sans-serif;--font-size:1rem;--space:8px;--radius:16px;--shadow:0 10px 30px #14281e14;--max:1100px;--field:52px;color-scheme:light}
[data-category=education]{--accent:#514bb1;--accent2:#2e286e;--tint:#eeecfa}[data-category=construction]{--accent:#88600e;--accent2:#503706;--tint:#faf0d9}[data-category=travel]{--accent:#096b70;--accent2:#064449;--tint:#e2f3f2}
@media(prefers-color-scheme:dark){:root{--bg:#0e1411;--card:#17201b;--ink:#eef2ee;--muted:#b2bfb6;--line:#34483b;--tint:#203d2c;--accent:#28734a;--accent2:#0a2a1b;--error:#ffb4ab;--shadow:0 10px 30px #0005;color-scheme:dark}[data-category=education]{--accent:#5951a4;--accent2:#282348;--tint:#302c49}[data-category=construction]{--accent:#74540f;--accent2:#3b2b09;--tint:#3a301e}[data-category=travel]{--accent:#156c70;--accent2:#0a3439;--tint:#1c3739}}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{font:var(--font-size)/1.55 var(--font);margin:0;color:var(--ink);background:var(--bg)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--brand)!important;outline-offset:3px}a,button{ -webkit-tap-highlight-color:transparent }[hidden]{display:none!important}
body>header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;max-width:none;padding:10px max(16px,calc((100vw - var(--max))/2));background:var(--card);border-bottom:1px solid var(--line);box-shadow:none;min-height:68px}header .brand{font-size:21px;font-weight:800;text-decoration:none;white-space:nowrap;color:var(--ink)}header .site-logo{width:30px;height:33px;object-fit:contain}header nav{display:flex;align-items:center;gap:0;margin-left:auto}header nav a{padding:10px 9px;min-height:44px;font-size:14px;text-decoration:none;color:var(--muted);border-radius:8px}header nav a[aria-current]{background:var(--tint);color:var(--ink)}.header-search{position:relative;width:180px}.header-search input{width:100%;height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}.search-results{position:absolute;top:100%;right:0;width:min(360px,90vw);max-height:360px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.search-results a{display:block;padding:12px;text-decoration:none}.search-results a:hover{background:var(--tint)}.menu{display:none;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 12px}
.design-v2 main{max-width:var(--max);margin:auto;padding:0 16px 40px}.design-v2 .hero,.design-v2 .home-hero,.design-v2 .page-band{background:linear-gradient(135deg,var(--accent2),var(--accent));color:white;padding:24px 24px 70px;border-radius:0;margin:0 -16px 0;box-shadow:none;max-width:none}.design-v2 .hero h1,.design-v2 .page-band h1{color:white;font-size:clamp(26px,4vw,36px);line-height:1.15;margin:0 0 10px;font-weight:800;letter-spacing:-.02em}.design-v2 .hero p{color:white;max-width:65ch;margin:0}.design-v2 .hero .eyebrow{display:none}.design-v2 .breadcrumbs{font-size:14px;padding:12px 0;margin:0;overflow-wrap:anywhere}.design-v2 .content-grid{display:block;margin-top:-48px;position:relative}.design-v2 article{min-width:0}.design-v2 .calculator{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:0;gap:0;overflow:hidden;background:var(--card);border:0;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px}.design-v2 .calculator>h2{grid-column:1;padding:20px 22px 0;margin:0;font-size:18px}.design-v2 .calculator>.calc-errors{grid-column:1;padding:0 22px;color:var(--error)}.design-v2 .calculator>form{grid-column:1;padding:16px 22px 22px;min-width:0}.design-v2 .calculator>.result{grid-column:2;grid-row:1/5;background:linear-gradient(150deg,var(--accent2),var(--accent));color:white;padding:26px 22px;margin:0;border:0;border-radius:0;min-width:0;align-self:stretch;overflow-wrap:anywhere}.design-v2 .calculator>.result h3{color:white;font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 24px}.design-v2 .result dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:#ffffff12;border-radius:12px;padding:4px 14px}.design-v2 .result dt,.design-v2 .result dd{padding:10px 0;border-bottom:1px solid #ffffff30;margin:0;font-size:15px;color:white}.design-v2 .result dd{text-align:right;font-weight:700}.design-v2 .result p,.design-v2 .result small,.design-v2 .result .notice{color:white;background:transparent;border:0}.design-v2 .result table{color:white;width:100%;font-size:14px}.design-v2 .result th,.design-v2 .result td{background:transparent;color:white;border-color:#ffffff30;padding:8px 4px}.design-v2 .result a{color:white}.design-v2 .fields{display:grid;grid-template-columns:1fr;gap:0}.design-v2 .field{margin:0 0 16px;min-width:0}.design-v2 label{display:block;font-size:16px;font-weight:600;margin-bottom:6px;color:var(--ink)}.design-v2 input:not([type=checkbox]):not([type=radio]):not([type=range]),.design-v2 select,.design-v2 textarea{width:100%;min-width:0;min-height:var(--field);padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font-size:16px;box-shadow:none}.design-v2 input[type=checkbox],.design-v2 input[type=radio]{width:22px;height:22px;margin:11px 8px 11px 0;vertical-align:middle;accent-color:var(--accent)}.design-v2 input[type=range]{width:100%;height:44px;accent-color:var(--accent)}.design-v2 .field small{color:var(--muted)}.design-v2 fieldset{border:1px solid var(--line);padding:14px;border-radius:12px;margin:0 0 14px;min-width:0}.design-v2 legend{font-weight:700;padding:0 6px}.design-v2 .subject-row,.design-v2 .person-row{display:block}.design-v2 .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.design-v2 button,.design-v2 .button{min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--tint);color:var(--ink);border-radius:10px;cursor:pointer;font-weight:600;text-decoration:none}.design-v2 button.calculate,.design-v2 .hero-search button{min-height:52px;width:100%;border:0;background:var(--brand);color:var(--brand-ink);font-size:17px;font-weight:800}.design-v2 button.reset{width:100%;background:transparent;border:0;text-decoration:underline;color:var(--muted)}.design-v2 .result button{background:transparent;color:white;border:1px solid #ffffff70}.design-v2 .result-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.design-v2 .result-actions button{flex:1}.design-v2 .result [data-extra-row]{display:none}.design-v2 .result.full [data-extra-row]{display:block}.design-v2 details{background:var(--card);border:0;border-radius:12px;padding:0 18px;margin:10px 0;box-shadow:none;color:var(--ink)}.design-v2 summary{padding:15px 0;min-height:48px;cursor:pointer;font-weight:700}.design-v2 details> :not(summary){margin-top:0;margin-bottom:16px}.design-v2 .more-options{padding:0;background:transparent}.design-v2 .notice,.design-v2 .answer-block,.design-v2 .quick,.design-v2 .calc-help,.design-v2 .source-note{border:0!important;border-left:0!important;background:var(--tint);color:var(--ink);padding:16px 18px;border-radius:12px;margin:16px 0}.design-v2 .answer-block h2{font-size:18px;margin:0 0 8px}.design-v2 .trust-line{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:var(--muted);padding:12px 4px}.design-v2 .calculator-support{grid-column:1/-1;padding:10px 22px;margin:0;font-size:14px}.design-v2 .content-grid aside{display:block;background:transparent;border:0;padding:0;margin-top:28px}.design-v2 .related-grid,.design-v2 .tool-grid,.design-v2 .category-grid,.design-v2 .value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.design-v2 .card,.design-v2 .category,.design-v2 a.related{display:block;background:var(--card);border:1px solid var(--line);border-left:1px solid var(--line)!important;border-radius:12px;padding:16px;text-decoration:none;box-shadow:none;min-width:0;margin:0;color:var(--ink)}.design-v2 .card:hover,.design-v2 .category:hover,.design-v2 a.related:hover{box-shadow:var(--shadow)}.design-v2 .card h3,.design-v2 .category h3{font-size:17px;margin:0 0 6px}.design-v2 .card p,.design-v2 .category p{font-size:15px;color:var(--muted);margin:0}.design-v2 .card strong,.design-v2 .card-label{display:none}.design-v2 .category-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;display:block;margin-bottom:10px}.design-v2 .home-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;padding-bottom:32px;margin-bottom:24px}.design-v2 .home-hero h1{font-size:clamp(30px,5vw,44px);line-height:1.1}.design-v2 .home-hero .lede{color:white}.design-v2 .home-hero .example-card{background:var(--card);color:var(--ink);border:0;border-radius:16px;padding:22px;transform:none;box-shadow:var(--shadow)}.design-v2 .hero-search{display:flex;gap:8px}.design-v2 .hero-search input{flex:1;width:0}.design-v2 .hero-search button{width:auto}.design-v2 .home-section{padding:12px 0 24px;background:transparent;margin:0}.design-v2 .filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.design-v2 .filter-chips button[aria-pressed=true]{background:var(--accent2);color:white}.design-v2 .filter-chips button{min-height:44px}.design-v2 .hub-search{max-width:560px;margin-top:-42px;position:relative;margin-bottom:28px}.design-v2 .reviewed{color:var(--muted)}.design-v2 .table-wrap{max-width:100%;overflow:auto}.design-v2 .share-tools{background:transparent;padding:0;border:0}.design-v2 .share-tools h2,.design-v2 .share-tools>p{display:none}.design-v2 .share-buttons{display:flex}.design-v2 .share-buttons>*:not([data-copy-link]){display:none}.design-v2 .share-buttons [data-copy-link]{font-size:0}.design-v2 .share-buttons [data-copy-link]:after{content:'Share';font-size:16px}
body>footer{background:var(--card);color:var(--muted);border-top:1px solid var(--line);padding:24px max(16px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;font-size:14px}footer h2{font-size:15px;color:var(--ink);margin:0 0 8px}footer a{display:block;padding:4px 0;min-height:32px;text-decoration:none}footer .site-credit{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px}footer .brand{font-weight:800;font-size:20px}footer .site-logo{width:30px;height:33px}
@media(max-width:900px){header .header-search{display:none}body>header{flex-wrap:wrap}.menu{display:block;margin-left:auto}header nav{display:none;width:100%;margin:0;flex-wrap:wrap}header nav.open{display:flex}header nav a{flex:1 0 30%;text-align:center}.design-v2 .calculator{grid-template-columns:minmax(0,1fr)}.design-v2 .calculator>.result{grid-column:1;grid-row:auto}.design-v2 .home-hero{grid-template-columns:1fr}.design-v2 .hero p{font-size:15px}.design-v2 .hero .reviewed{display:none}.design-v2 .hero{padding:18px 16px 64px}.design-v2 .calculator>form{padding:16px}.design-v2 .hero-search{flex-wrap:wrap}.design-v2 .hero-search input{width:100%;flex-basis:100%}.design-v2 .hero-search button{width:100%}.design-v2 .result table tr{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #ffffff30}.design-v2 .result table td,.design-v2 .result table th{flex:1 1 35%;border:0}.design-v2 .result h3{font-size:40px}.design-v2 .hero.compact p:not(:first-of-type){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body>header,body>footer,.filter-chips,.result-actions,.share-tools{display:none!important}.design-v2 .calculator{display:block;box-shadow:none}.design-v2 .result{background:white!important;color:black!important}.design-v2 .result *{color:black!important}.design-v2 details>*{display:block!important}.design-v2 main{max-width:none}}
.design-v2 .calculator>.result-actions{grid-column:2;background:var(--accent);padding:0 22px 22px;margin:0;color:white}.design-v2 .calculator>.result-actions button{background:transparent;color:white;border:1px solid #ffffff70}.design-v2 .calculator>.result{grid-row:1/4}.design-v2 .result-status{flex-basis:100%;font-size:14px}.design-v2 .calculator>.result-actions{grid-row:4}.design-v2 .calculator-support{grid-row:5}@media(max-width:900px){.design-v2 .calculator>.result-actions{grid-column:1;grid-row:auto}.design-v2 .calculator>.result{grid-row:auto}.design-v2 .calculator-support{grid-row:auto}}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--card);color:var(--ink);padding:12px}.skip-link:focus{top:8px}.design-v2 .home-hero{grid-template-columns:1fr}.design-v2 .home-hero .example-card .calculator{margin:0}.design-v2 .hero.compact>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.design-v2 .result h3{font-variant-numeric:tabular-nums}
.design-v2 :where(blockquote,.callout,.formula,.warning,.source-note){border-left:0!important;background:var(--tint);color:var(--ink);border-radius:12px;padding:16px}.design-v2 h2{font-size:22px}.design-v2 h3{color:var(--ink)}.design-v2 .hero .reviewed{color:white}.design-v2 .calculator>h2{font-size:18px}
.design-v2 .content-grid{max-width:none;width:100%}.design-v2 .content-grid>article{max-width:none;width:100%}.design-v2 .calculator>.result h3{font-size:18px;line-height:1.5;letter-spacing:0;font-weight:500}.design-v2 .result .headline-value{font-size:clamp(40px,5vw,56px);line-height:1.15;font-weight:800;letter-spacing:-.03em;display:inline-block;max-width:100%;overflow-wrap:anywhere}.design-v2 .calculator .calc-help{margin:8px 0 14px;padding:12px}.design-v2 .more-options>summary{color:var(--ink)}.design-v2 .hero.compact>p{max-width:70ch}.design-v2 .result .notice{font-size:14px;padding:12px 0;opacity:.9}.design-v2 .calculator .field:has(input:disabled){opacity:.7}
@media(max-width:900px){header nav{position:static;flex-direction:row;background:var(--card);border:0;padding:0;border-radius:0;box-shadow:none}.design-v2 .hero.compact>p{display:none}.design-v2 .breadcrumbs{font-size:13px}.design-v2 .calculator>form{padding-top:8px}.design-v2 .calculator>h2{padding:18px 16px 8px}}
.design-v2 .field-control{position:relative}.design-v2 .field-control input{padding-right:52px!important}.design-v2 .unit-chip{position:absolute;right:10px;top:50%;transform:translateY(-50%);padding:2px 8px;border-radius:6px;background:var(--tint);color:var(--ink);font-size:14px;font-weight:700;pointer-events:none}
.design-v2 .home-hero h1{color:white;max-width:24ch;margin:8px 0 18px}.design-v2 .home-hero .example-card{max-width:none;width:100%;min-width:0}.design-v2 .home-hero>div{min-width:0}.design-v2 .home-hero .calculator{width:100%;max-width:none}.design-v2 .home-hero .example-card>h2{margin-top:0}
/* Compatibility boundary for legacy selectors, shared across every migrated tool. */
.design-v2 :is(h1,h2,h3,h4){color:var(--ink)}.design-v2 .hero :is(h1,h2),.design-v2 .home-hero>div>h1,.design-v2 .page-band h1{color:white}.design-v2 .calculator .field :is(input,select,textarea){background:var(--bg);color:var(--ink);border:1.5px solid var(--line);border-radius:10px;min-height:52px;font:16px var(--font)}.design-v2 .calculator :is(.subject-row,.person-row){background:var(--card);color:var(--ink)}.design-v2 .card,.design-v2 .category{transition:box-shadow .15s}.design-v2 .calculator .result :is(h1,h2,h3,h4){color:white}body>footer a,body>footer .brand{color:var(--ink);min-height:44px}.design-v2 .calculator .result .notice{background:transparent;color:white;border:0}.design-v2 .more-options{margin:4px 0}.design-v2 .calculator .actions .reset{color:var(--muted);background:transparent;border:0}
.design-v2 .calculator fieldset>legend{color:var(--ink)}
.design-v2 .calculator{min-height:800px}.design-v2 .calculator:has(.fields:empty){visibility:hidden}
@media(max-width:900px){body>header:has(nav.open) .header-search{display:block;width:100%}}
.design-v2 form :is([data-edu-copy],[data-edu-print],[data-copy-brick],[data-print-brick]){display:none}
/* Shared mobile action layout for every calculation engine. */
@media(max-width:900px){.design-v2 .calculator form>.actions{display:flex;flex-direction:column;align-items:stretch;grid-template-columns:1fr;gap:4px}.design-v2 .calculator form>.actions>button.calculate,.design-v2 .calculator form>.actions>button.reset{width:100%;flex:none;max-width:none}.design-v2 .calculator form>.actions>button.calculate{min-height:52px}.design-v2 .calculator form>.actions>button.reset{display:block;margin:0 auto}}

/* Original 99Tools branding, reused by the shared header and footer. */
body>header .brand,body>footer .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}body>header .brand .site-logo,body>footer .brand .site-logo{display:block;width:37px;height:40px;object-fit:contain;flex:none}body>header .brand .logo-word,body>footer .brand .logo-word{color:var(--ink);font-weight:800}body>footer .brand{min-height:44px}

/* Shared contact navigation and form components. */
body>header .header-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);background:var(--tint);white-space:nowrap}body>footer .footer-contact{font-weight:700;text-decoration:underline}.design-v2 .contact-form{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}.design-v2 .contact-form :is(input,textarea){background:var(--bg);color:var(--ink)}.design-v2 .contact-form button[type=submit]{background:var(--brand);color:var(--brand-ink);border:0;min-height:52px}.design-v2 .example-input-note{background:var(--tint);color:var(--ink);padding:12px;border-radius:10px;font-size:14px}.design-v2 .contact-panel{background:transparent;border:0}
@media(max-width:900px){body>header{gap:8px}body>header .brand{font-size:18px;gap:6px}body>header .brand .site-logo{width:30px;height:33px}body>header .header-contact{order:2;font-size:14px;padding:8px}body>header .menu{order:3;margin-left:auto}body>header nav{order:4}body>header .header-search{order:5}}
/* Keep engine-provided duplicate actions out of the shared result layout. */
.design-v2 .calculator :is([data-copy-tile],[data-print-tile],[data-copy-concrete],[data-print-concrete]){display:none}.design-v2 .calculator>.actions:has([data-copy-tile]),.design-v2 .calculator>.copy-status:empty{display:none}
/* Shared secondary text colours remain readable in both themes. */
.design-v2 .eyebrow,.design-v2 .muted,.design-v2 .muted a{color:var(--muted)}
.design-v2 .contact-form{padding:16px;display:grid;gap:14px}

/* Original CSV exports share the common result action area. */
.design-v2 .result-actions .engine-result-actions{display:flex;flex:1 1 100%;margin:0;gap:8px}.design-v2 .result-actions .engine-result-actions button{flex:1}.design-v2 .result-actions .copy-status{flex-basis:100%;font-size:14px;margin:0}.design-v2 .result-actions .copy-status:empty{display:none}
/* Repeated groups and expandable results use the same light/dark surfaces. */
.design-v2 .calculator fieldset{background:var(--card);color:var(--ink)}.design-v2 .calculator fieldset legend{color:var(--ink)}.design-v2 .calculator .result details{background:#ffffff12;color:white}

/* Shared reading layout for every guide and information page. */
.design-v2 :is(.blog-article,.blog-index){max-width:var(--max);width:100%}.design-v2 .article-band{padding-bottom:28px;margin-bottom:24px}.design-v2 .article-band h1{max-width:32ch}.design-v2 .article-band p{display:block;overflow:visible;-webkit-line-clamp:unset}.design-v2 .article-band .reviewed{color:white}.design-v2 .blog-article>section:not(.article-band){margin-top:24px}.design-v2 .blog-article>section:not(.article-band)>p{max-width:78ch}.design-v2 .guide-cta{background:var(--tint);border:0;border-radius:var(--radius);padding:20px}.design-v2 blockquote{border:0;background:var(--tint);padding:16px 20px;border-radius:12px}.design-v2 .blog-article :is(th,td){border-color:var(--line);overflow-wrap:anywhere}.design-v2 .blog-article th{background:var(--tint);color:var(--ink)}.design-v2 .travel-table{max-width:100%;overflow:auto}
/* Engine actions inside forms are replaced by the shared result controls. */
.design-v2 .calculator form :is([data-copy-result],[data-print]){display:none}

.design-v2 .action-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin:auto}
