:root{--page-bg:#fff;--surface:#fff;--surface-subtle:#f4f7fa;--surface-raised:#fafbfd;--input-bg:#fff;--input-border:#b9c4d1;--theme-shadow:0 12px 35px rgba(21,35,59,.08);--theme-error:#b42318;--theme-success:#166534;--theme-info:#eaf1ff;--theme-info-border:#b9ccf8;--theme-private:#f2fbf5;--theme-private-border:#b9dbc2;--theme-private-text:#245b32}html[data-theme=dark]{--ink:#e8eef8;--muted:#aab7ca;--line:#334258;--soft:#18253a;--brand:#5b91ff;--brand-dark:#8ab0ff;--white:#fff;--success:#73d99a;--page-bg:#0d1727;--surface:#142136;--surface-subtle:#18273d;--surface-raised:#1d2c43;--input-bg:#111d30;--input-border:#465873;--theme-shadow:0 16px 42px rgba(0,0,0,.24);--theme-error:#ff9b94;--theme-success:#73d99a;--theme-info:#172d50;--theme-info-border:#355d98;--theme-private:#173126;--theme-private-border:#315e49;--theme-private-text:#a6e3bc;--color-text-primary:var(--ink);--color-text-secondary:var(--muted);--color-border-soft:var(--line);--color-surface:var(--surface);--color-surface-subtle:var(--surface-subtle);color-scheme:dark}body{background:var(--page-bg);transition:background-color .2s ease,color .2s ease}.site-header,.site-footer,.project-card,.tool-card,.home-tool-card,.capability-card,.process-step,.contact-form,.contact-detail-card,.tool-panel,.result-card,.dedupe-panel,.extractor-upload,.column-panel,.preview-panel,.quote-section,.metric,.converter-mode,.comparison-panel,.upload-panel,.mapping-panel,.results-panel{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.theme-toggle{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:100;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #263750;border-radius:50%;background:#15233b;color:#f7faff;box-shadow:0 8px 24px #0f1c3133;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease}.theme-toggle:hover{background:#203451;color:#fff;transform:translateY(-2px);box-shadow:0 11px 28px #0f1c3147}.theme-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}html[data-theme=dark] .theme-toggle{border-color:#dce5f1;background:#f7faff;color:#15233b;box-shadow:0 9px 26px #00000057}html[data-theme=dark] .theme-toggle:hover{background:#e4ebf4;color:#0b46ba}html[data-theme=dark] body{color:var(--ink);background:var(--page-bg)}html[data-theme=dark] .site-header{border-color:var(--line);background:#0d1727f0}html[data-theme=dark] .site-footer{border-color:var(--line);background:#111d30}html[data-theme=dark] .brand,html[data-theme=dark] .nav a:hover,html[data-theme=dark] .nav a[aria-current=page],html[data-theme=dark] .footer-links a{color:var(--ink)}html[data-theme=dark] .home-hero,html[data-theme=dark] .selected-work-section,html[data-theme=dark] .work-page .portfolio-section{background:var(--page-bg)}html[data-theme=dark] .home-tools-section,html[data-theme=dark] .home-contact{background:var(--surface-subtle)}html[data-theme=dark] .home-about{border-color:var(--line)}html[data-theme=dark] .developer-cta,html[data-theme=dark] .home-contact-cta,html[data-theme=dark] .about-cta{background:#182a45;color:#f7faff}html[data-theme=dark] .developer-cta p,html[data-theme=dark] .home-contact-cta p,html[data-theme=dark] .about-cta p{color:#cbd7e8}html[data-theme=dark] .project-card,html[data-theme=dark] .tool-card,html[data-theme=dark] .home-tool-card,html[data-theme=dark] .capability-card,html[data-theme=dark] .process-step,html[data-theme=dark] .contact-form,html[data-theme=dark] .contact-detail-card{border-color:var(--line);background:var(--surface);box-shadow:0 2px 9px #0000002e}html[data-theme=dark] .project-tags li,html[data-theme=dark] .technology-list li{background:var(--surface-raised);color:#c7d3e4}html[data-theme=dark] .portfolio-filter,html[data-theme=dark] .filter-button,html[data-theme=dark] .button--secondary{border-color:var(--input-border);background:var(--surface);color:var(--ink)}html[data-theme=dark] .portfolio-filter[aria-pressed=true],html[data-theme=dark] .filter-button[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff}html[data-theme=dark] .tool-card__icon{background:var(--theme-info)}html[data-theme=dark] .is-planned,html[data-theme=dark] .empty-state{background:var(--surface-subtle)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{border-color:var(--input-border);background:var(--input-bg);color:var(--ink)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#8090a8;opacity:1}html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled,html[data-theme=dark] textarea:disabled,html[data-theme=dark] button:disabled{opacity:.58}html[data-theme=dark] .tool-shell{border-color:var(--line);background:var(--surface-subtle);box-shadow:var(--theme-shadow)}html[data-theme=dark] .tool-panel,html[data-theme=dark] .result-card,html[data-theme=dark] .dedupe-panel,html[data-theme=dark] .extractor-upload,html[data-theme=dark] .column-panel,html[data-theme=dark] .preview-panel,html[data-theme=dark] .quote-section,html[data-theme=dark] .converter-panel,html[data-theme=dark] .comparison-card,html[data-theme=dark] .summary-card{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .result-output,html[data-theme=dark] .dedupe-stat,html[data-theme=dark] .output-field textarea,html[data-theme=dark] .dedupe-empty,html[data-theme=dark] .drop-zone,html[data-theme=dark] .compare-drop,html[data-theme=dark] .preview-empty,html[data-theme=dark] .line-item,html[data-theme=dark] .file-summary,html[data-theme=dark] .file-picker__control,html[data-theme=dark] .file-details,html[data-theme=dark] .converter-stat,html[data-theme=dark] .holiday-note,html[data-theme=dark] .formula-box{background:var(--surface-raised);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .date-result,html[data-theme=dark] .preview-result{background:var(--theme-info);border-color:var(--theme-info-border)}html[data-theme=dark] .number-input,html[data-theme=dark] .check-option,html[data-theme=dark] .dedupe-option,html[data-theme=dark] .converter-check,html[data-theme=dark] .compare-check,html[data-theme=dark] .column-item,html[data-theme=dark] .selection-actions button,html[data-theme=dark] .mapping-actions button,html[data-theme=dark] .result-tabs button,html[data-theme=dark] .reorder-buttons button,html[data-theme=dark] .item-actions button{border-color:var(--line);background:var(--input-bg);color:var(--ink)}html[data-theme=dark] .mode-switcher,html[data-theme=dark] .converter-mode{background:var(--surface-subtle);border-color:var(--line)}html[data-theme=dark] .mode-button[aria-pressed=true],html[data-theme=dark] .converter-mode button[aria-pressed=true],html[data-theme=dark] .result-tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--ink);box-shadow:0 1px 6px #00000040}html[data-theme=dark] .compare-warning{background:#3a2d16;color:#f5d58b}html[data-theme=dark] .privacy-notice{border-color:var(--theme-private-border);background:var(--theme-private);color:var(--theme-private-text)}html[data-theme=dark] .field-error,html[data-theme=dark] .quote-errors,html[data-theme=dark] .extractor-error,html[data-theme=dark] .contact-status.is-error{color:var(--theme-error)}html[data-theme=dark] .result-feedback,html[data-theme=dark] .extractor-feedback,html[data-theme=dark] .contact-status.is-success{color:var(--theme-success)}html[data-theme=dark] .preview-table th,html[data-theme=dark] table th{background:var(--surface-raised);color:var(--ink)}html[data-theme=dark] .preview-scroll,html[data-theme=dark] table td,html[data-theme=dark] table th{border-color:var(--line)}html[data-theme=dark] code,html[data-theme=dark] pre,html[data-theme=dark] .code-output{background:var(--input-bg);color:#d9e5f5;border-color:var(--line)}html[data-theme=dark] .quote-editor input,html[data-theme=dark] .quote-editor select,html[data-theme=dark] .quote-editor textarea{border-color:var(--input-border);background:var(--input-bg);color:var(--ink)}html[data-theme=dark] .quote-document,html[data-theme=dark] .quote-document *{color:#18202a}html[data-theme=dark] .quote-document{border-color:#d7dce2;background:#fff;box-shadow:0 18px 45px #00000052;color:#18202a;color-scheme:light}html[data-theme=dark] .quote-document .document-customer h3,html[data-theme=dark] .quote-document .document-item-sku,html[data-theme=dark] .quote-document .quote-empty{color:#637083}html[data-theme=dark] .project-card__preview{background:#101c2e;border-color:var(--line)}html[data-theme=dark] .preview-shell{border-color:#3b4a61;background:#17253a}html[data-theme=dark] .preview-panel,html[data-theme=dark] .preview-document,html[data-theme=dark] .preview-metrics i,html[data-theme=dark] .preview-calendar i{border-color:#3b4a61;background:#1c2b42}html[data-theme=dark] .preview-field,html[data-theme=dark] .preview-selector{border-color:#52627a;background:#111d30}html[data-theme=dark] .preview-table>i{background:#64748b}html[data-theme=dark] .preview-result,html[data-theme=dark] .preview-difference-table .is-highlighted,html[data-theme=dark] .preview-file-icon,html[data-theme=dark] .preview-calendar i:nth-child(7),html[data-theme=dark] .preview-calendar i:nth-child(11){background:#17325a}@media(max-width:560px){.theme-toggle{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:46px;height:46px}}@media(prefers-reduced-motion:reduce){body,.theme-toggle,.site-header,.site-footer,.project-card,.tool-card,.home-tool-card,.capability-card,.process-step,.contact-form,.contact-detail-card,.tool-panel,.result-card,.dedupe-panel,.extractor-upload,.column-panel,.preview-panel,.quote-section,.metric,.converter-mode,.comparison-panel,.upload-panel,.mapping-panel,.results-panel{transition:none}}@media print{.theme-toggle{display:none!important}html,html[data-theme=dark],body{color-scheme:light;background:#fff!important}}:root{--ink:#15233b;--muted:#58657a;--line:#dce3eb;--soft:#f4f7fa;--brand:#155eef;--brand-dark:#0b46ba;--white:#fff;--success:#166534;--radius:14px;--shadow:0 12px 35px rgba(21,35,59,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--brand-dark)}button,input,select,textarea{font:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#fffffff5;position:sticky;top:0;z-index:10}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:var(--ink);font-size:1.05rem;font-weight:800;text-decoration:none}.brand span{color:var(--brand)}.nav ul{display:flex;list-style:none;gap:24px;padding:0;margin:0}.nav a{color:var(--muted);font-weight:650;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}main{padding:34px 0 90px}.breadcrumbs ol{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 38px;color:var(--muted);font-size:.9rem}.breadcrumbs li+li:before{content:"/";margin-right:8px;color:#9aa5b5}.tool-header,.directory-header{max-width:760px;margin-bottom:34px}.eyebrow{display:block;margin:0 0 7px;color:var(--brand-dark);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2.15rem,6vw,3.7rem);margin:0 0 16px}h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 14px}h3{font-size:1.12rem;margin:0 0 9px}.lede{font-size:clamp(1.08rem,2vw,1.24rem);color:var(--muted);margin:0}.directory-header{margin-top:34px}.directory-controls{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:20px;margin:34px 0}.field{display:flex;flex-direction:column;gap:8px}.field label,.field__label{font-weight:750}.field__label{display:flex;justify-content:space-between;gap:20px}.field__label span{color:var(--muted);font-size:.85rem;font-weight:500}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #b9c4d1;border-radius:10px;min-height:48px;padding:11px 13px}textarea{resize:vertical;min-height:190px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(21,94,239,.25);outline-offset:2px;border-color:var(--brand)}.category-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-button{border:1px solid var(--line);border-radius:999px;padding:10px 15px;background:#fff;color:var(--muted);cursor:pointer;font-weight:700}.filter-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-card{display:flex;flex-direction:column;position:relative;min-height:260px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 1px 2px #15233b08;transition:transform .15s ease,box-shadow .15s ease}.tool-card:not(.is-planned):hover{transform:translateY(-2px);box-shadow:var(--shadow)}.tool-card__icon{width:43px;height:43px;display:grid;place-items:center;margin-bottom:20px;border-radius:11px;background:#eaf1ff;color:var(--brand)}.tool-card__icon svg,.privacy-notice svg{width:23px;height:23px}.tool-card__body p{color:var(--muted);margin:0}.card-link,.status{margin-top:auto;padding-top:22px;font-weight:800;text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}.status{color:#79869a;font-size:.9rem}.is-planned{background:#fbfcfd}.empty-state{padding:50px 20px;text-align:center;background:var(--soft);border-radius:var(--radius);color:var(--muted)}.tool-shell{padding:clamp(22px,4vw,38px);border:1px solid var(--line);border-radius:18px;background:var(--soft);box-shadow:var(--shadow);margin-bottom:18px}.tool-workspace{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tool-panel{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;border-radius:9px;border:1px solid transparent;cursor:pointer;font-weight:800;text-decoration:none}.button--primary{background:var(--brand);color:#fff}.button--primary:hover{background:var(--brand-dark)}.button--secondary{background:#fff;border-color:#aebaca;color:var(--ink)}.button--quiet{background:transparent;color:var(--muted)}.result-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.result-card__header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.result-card h2{font-size:1.1rem;margin:0}.result-output{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;min-height:190px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fafbfd;color:var(--ink)}.privacy-notice{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border:1px solid #b9dbc2;border-radius:12px;background:#f2fbf5;color:#245b32}.privacy-notice p{margin:0}.privacy-notice svg{flex:0 0 auto;margin-top:2px}.article-width{max-width:900px;margin:70px auto 0}.content-section{margin:0 0 70px}.content-section p,.content-section li{color:var(--muted)}.content-section li+li{margin-top:8px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 2px}summary{cursor:pointer;font-weight:800;padding-right:20px}details p{margin:11px 0 2px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.section-heading h2{margin:0}.related .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.developer-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px;border-radius:var(--radius);background:var(--ink);color:#fff}.developer-cta .eyebrow{color:#a9c6ff}.developer-cta h2{margin-bottom:10px}.developer-cta p{max-width:650px;margin:0;color:#cbd5e1}.developer-cta .button{flex:0 0 auto}.site-footer{padding:42px 0;border-top:1px solid var(--line);background:var(--soft)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner p{margin:0;color:var(--muted)}.footer-links{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0;margin:0}.footer-links a{color:var(--ink);font-weight:700}.noscript{padding:14px;background:#fff3cd;color:#604c00}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.tool-grid{grid-template-columns:1fr 1fr}.directory-controls,.tool-workspace{grid-template-columns:1fr}.nav ul{gap:14px}.nav li:nth-child(2){display:none}.article-width{margin-top:50px}.developer-cta{align-items:flex-start;flex-direction:column}.result-output{min-height:150px}}@media(max-width:560px){body{font-size:16px}.container{width:min(100% - 28px,1160px)}.site-header{position:static}.nav{min-height:62px}.nav ul{gap:12px;font-size:.9rem}.nav li:nth-child(3){display:none}main{padding-top:24px}.breadcrumbs{overflow:auto}.breadcrumbs ol{white-space:nowrap;margin-bottom:28px}.tool-grid,.related .tool-grid{grid-template-columns:1fr}.tool-card{min-height:225px}.tool-shell{padding:14px;margin-inline:-4px}.tool-panel,.result-card{padding:16px}.field__label{align-items:flex-start;flex-direction:column;gap:2px}.button-row .button{flex:1}.developer-cta{padding:24px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-links{gap:14px}}
