:root{
  --bg:#fff;
  --surface:#fff;
  --surface-soft:#f8fbfa;
  --text:#14233d;
  --muted:#60738f;
  --line:#e4ebf2;
  --green:#18a878;
  --green-dark:#078c62;
  --green-soft:#e8f8f2;
  --blue:#2d73df;
  --shadow:0 8px 30px rgba(20,35,61,.05);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
.site-header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1060px)/2));gap:34px;background:rgba(255,255,255,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-1.3px;margin-right:auto;color:var(--text)}
.brand-accent{color:var(--green)}
.brand-mark{width:38px;height:38px;border:3px solid var(--green);border-radius:6px 6px 9px 9px;display:grid;place-items:end center;position:relative;color:#fff;font-size:9px;font-weight:900;letter-spacing:-.4px;padding-bottom:4px;background:linear-gradient(180deg,#fff 0 55%,var(--green) 55% 100%)}
.brand-mark:after{content:"";position:absolute;width:12px;height:8px;right:-3px;top:-3px;border-left:3px solid var(--green);border-bottom:3px solid var(--green);background:#fff;border-radius:0 4px 0 4px}
.brand-mark.small{width:28px;height:28px;border-width:2px;font-size:7px;padding-bottom:3px}
.brand-mark.small:after{border-width:2px;width:9px;height:6px}
.site-header nav{display:flex;align-items:center;gap:34px;height:100%}
.site-header nav > a{font-size:12px;font-weight:700;text-decoration:none;height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}
.site-header nav > a:hover,.site-header nav > a.active{color:var(--green-dark);border-bottom-color:var(--green)}
/* Dropdown links must not inherit the desktop header link height/border. */
.site-header nav .nav-drop-menu a,
.site-header nav .nav-drop-menu a:hover,
.site-header nav .nav-drop-menu a.active{
  height:auto;
  min-height:0;
  display:flex;
  align-items:center;
  border-bottom:0;
  color:var(--text);
}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:16px}
.theme-switch{border:0;background:none;display:flex;align-items:center;gap:7px;color:var(--text);cursor:pointer;padding:0;font-size:15px}
.theme-switch i{width:34px;height:19px;border-radius:99px;background:#dce5ef;display:block;position:relative}
.theme-switch i:after{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #9aaabd}
.theme-switch b{font-size:12px;font-weight:600}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-weight:700;color:var(--text)}
.hero{background:linear-gradient(180deg,#f5fbf9 0%,#fff 100%);border-bottom:1px solid #f0f4f6}
.hero-grid{max-width:1060px;margin:auto;min-height:444px;padding:46px 0 34px;display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}
.hero-copy{padding-left:0}
.trust-pill{display:inline-flex;align-items:center;gap:10px;background:#def5eb;color:#118d69;border-radius:99px;padding:7px 12px;font-size:10px;font-weight:800}
.trust-pill i{font-style:normal;color:#68b89e}
.hero h1{font-size:clamp(45px,5vw,61px);line-height:1.02;letter-spacing:-3px;margin:16px 0 10px;font-weight:850}
.hero h1 span{color:var(--green)}
.hero p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.dropzone{margin-top:25px;width:550px;max-width:100%;height:202px;border:1.5px dashed #39b992;border-radius:9px;background:rgba(246,253,250,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:.2s}
.dropzone.drag,.dropzone:hover{background:#edf9f5;border-color:var(--green)}
.upload-cloud{color:var(--green);width:43px;height:43px}
.upload-cloud svg{width:100%;height:100%}
.dropzone strong{font-size:16px}
.dropzone span{font-size:12px;color:#7c8ca1}
.dropzone button{border:0;border-radius:8px;background:linear-gradient(135deg,#1bb27f,#099763);color:#fff;padding:11px 20px;font-weight:800;cursor:pointer;margin-left:5px;box-shadow:0 4px 12px rgba(9,151,99,.18)}
.dropzone small{font-size:11px;color:#74869b;margin-top:3px}
.file-status{min-height:14px;font-size:10px;color:#e05b5b}
.hero-art{height:370px;position:relative;display:flex;align-items:center;justify-content:center}
.art-circle{position:absolute;border-radius:50%;background:#d9f2e9}
.circle-one{width:190px;height:190px;right:15px;top:18px}
.circle-two{width:155px;height:155px;right:115px;bottom:45px;background:#e4f7f1}
.browser-card{position:relative;width:405px;height:240px;background:#fff;border-radius:12px;box-shadow:0 15px 35px rgba(28,63,70,.12);padding:46px 16px 14px;z-index:2}
.window-bar{position:absolute;top:13px;left:16px;display:flex;gap:7px}
.window-bar i{width:9px;height:9px;border-radius:50%;background:#f6bd2f}
.window-bar i:nth-child(2){background:#f09a31}.window-bar i:nth-child(3){background:#4bbf6b}
.sheet{border:1px solid #e1e9ee;overflow:hidden}
.sheet-row{display:grid;grid-template-columns:1.3fr 1.6fr .65fr 1fr;border-bottom:1px solid #e4ebf0;font-size:10px;color:#50627b}
.sheet-row:last-child{border-bottom:0}
.sheet-row span{padding:8px 9px;border-right:1px solid #e4ebf0;white-space:nowrap;overflow:hidden}
.sheet-row span:last-child{border-right:0}
.sheet-head{background:#f1f5f8;font-weight:800;color:#263953}
.csv-badge{position:absolute;z-index:4;right:22px;top:30px;width:64px;height:64px;border-radius:8px;background:linear-gradient(145deg,#18af7e,#058b60);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:900;box-shadow:0 8px 18px rgba(5,139,96,.2)}
.csv-badge:before{content:"";position:absolute;top:-5px;right:7px;width:18px;height:12px;background:#fff;border-radius:2px;transform:skew(-10deg)}
.art-arrow{position:absolute;bottom:10px;right:38px;color:#129b71;font-size:15px;font-style:italic;font-family:"Comic Sans MS",cursive;transform:rotate(-5deg)}
.art-arrow b{font-size:20px}
.section{max-width:1060px;margin:auto;padding:38px 0}
.tools-section{padding-top:31px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}
.section-heading label,.info-section label,.faq>label{font-size:11px;font-weight:850;letter-spacing:1.2px;color:#17304f}
.section-heading h2{font-size:18px;font-weight:500;color:#71829a;margin:6px 0 0}
.section-heading>a{font-size:12px;font-weight:750;color:var(--green-dark);text-decoration:none;white-space:nowrap}
.tools-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tool-card{min-height:145px;border:1px solid var(--line);border-radius:9px;padding:14px 15px;text-decoration:none;background:#fff;position:relative;transition:.2s;box-shadow:0 2px 8px rgba(20,35,61,.015)}
.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d2dfe9}
.tool-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;font-size:19px;font-weight:800;margin-bottom:12px}
.card-green .tool-icon{background:#dcf7ee;color:#0b9d6c}.card-blue .tool-icon{background:#e3efff;color:#2878df}.card-purple .tool-icon{background:#eee5ff;color:#7441d6}.card-orange .tool-icon{background:#fff0e6;color:#ef672c}.card-cyan .tool-icon{background:#ddf5f7;color:#15929b}.card-red .tool-icon{background:#ffe6e8;color:#e13e49}.card-violet .tool-icon{background:#eee4ff;color:#733be0}.card-teal .tool-icon{background:#e0f5f3;color:#168c87}
.tool-card h3{font-size:15px;margin:0 0 5px;font-weight:800}
.tool-card p{font-size:14px;line-height:1.5;color:#70829a;margin:0;max-width:190px}
.tool-card>b{position:absolute;right:12px;bottom:12px;color:#7c91aa;font-size:15px;font-weight:500}
.info-section{border-top:1px solid #f1f4f6;background:#fbfcfd}
.info-grid{max-width:1060px;margin:auto;padding:34px 0;display:grid;grid-template-columns:1.05fr .98fr .95fr;gap:38px}
.feature-list,.steps{margin-top:18px;display:flex;flex-direction:column;gap:13px}
.feature,.step{display:flex;align-items:center;gap:11px}
.feature-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:18px;flex:0 0 auto}
.feature-icon.green{background:#e0f7ef;color:#10a271}.feature-icon.blue{background:#e6f0ff;color:#2875dc}.feature-icon.purple{background:#f0e6ff;color:#7845d5}.feature-icon.pink{background:#ffe9f0;color:#e85a84}
.feature strong,.step strong{font-size:13px}
.feature p,.step p{font-size:13px;color:#72849a;margin:3px 0 0;line-height:1.5}
.steps{gap:17px}
.step>span{width:27px;height:27px;border-radius:50%;background:linear-gradient(145deg,#1bb27f,#079761);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:850;flex:0 0 auto}
.thats-it{color:#0a9c70;font-size:15px;font-family:"Comic Sans MS",cursive;font-style:italic;margin:12px 0 0 48px;transform:rotate(-5deg)}
.csv-info{background:#eefaf6;border:1px solid #d5eee6;border-radius:9px;padding:18px 19px;position:relative}
.info-file-icon{width:35px;height:35px;border-radius:9px;background:#ddf7ed;color:#0d996a;display:grid;place-items:center;font-size:20px}
.csv-info h3{font-size:15px;margin:9px 0 10px}
.csv-info p{font-size:14px;line-height:1.6;color:#607791;margin:0 0 13px}
.csv-info a{display:inline-flex;align-items:center;gap:7px;border:1px solid #3ab48f;border-radius:7px;color:#15956d;padding:7px 10px;text-decoration:none;font-size:10px;font-weight:750;background:#fff}
.all-tools{border-top:1px solid var(--line)}
.tool-links{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:20px}
.tool-links div{display:flex;flex-direction:column;gap:9px}
.tool-links h3{font-size:14px;margin:0 0 3px}
.tool-links a{font-size:14px;color:var(--muted);text-decoration:none}
.tool-links a:hover{color:var(--green-dark)}
.faq{max-width:900px}
.faq h2{font-size:28px;letter-spacing:-1px;margin:8px 0 20px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:14px;font-weight:750;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq p{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 0}
.cta{max-width:1060px;margin:0 auto 45px;padding:48px 20px;text-align:center;border-radius:13px;background:#eefaf6;border:1px solid #d9eee7}
.cta h2{font-size:32px;line-height:1.08;letter-spacing:-1.5px;margin:0 0 20px}
.primary-btn{border:0;border-radius:8px;background:linear-gradient(135deg,#19ad7b,#078f63);color:#fff;padding:11px 19px;font-weight:800;cursor:pointer;box-shadow:0 5px 14px rgba(8,143,99,.16)}
footer{max-width:1060px;margin:auto;border-top:1px solid var(--line);padding:28px 0 36px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:25px;position:relative}
footer .brand{font-size:16px;margin:0 0 7px}
footer p{font-size:13px;color:var(--muted);max-width:210px;line-height:1.5;margin:0}
footer h4{font-size:13px;margin:2px 0 9px}
footer>div:not(.footer-brand):not(.copyright){display:flex;flex-direction:column;gap:7px}
footer a:not(.brand){font-size:12px;color:var(--muted);text-decoration:none}
.copyright{position:absolute;right:0;bottom:36px;font-size:10px;color:#8b9aab}
.light{--bg:#fff;--surface:#fff;--text:#14233d}
@media(max-width:900px){
.site-header{padding:0 20px}.site-header nav{display:none}.menu-btn{display:block}.header-actions{margin-left:0}
.site-header nav.open{display:flex;position:absolute;left:15px;right:15px;top:59px;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:14px;flex-direction:column;align-items:flex-start;gap:14px;box-shadow:var(--shadow)}
.hero-grid,.info-grid{padding-left:22px;padding-right:22px}.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-copy{text-align:center;min-width:0}.dropzone{margin-left:auto;margin-right:auto}.hero-art{display:none}.tools-grid{grid-template-columns:repeat(2,1fr);padding:0 22px}.section-heading{padding:0 22px}.tool-links{padding:0 22px}
}
@media(max-width:560px){
.site-header{height:58px;padding:0 12px;gap:8px}.brand{font-size:20px}.brand-mark{width:32px;height:32px}.site-header nav.open{top:54px}.hero-grid{padding:34px 18px}.trust-pill{font-size:8px}.hero h1{font-size:43px;letter-spacing:-2.4px}.hero p{font-size:14px}.hero p br{display:none}.dropzone{height:190px}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 18px}.section-heading{padding:0 18px;align-items:start;gap:12px}.section-heading h2{font-size:14px}.section-heading>a{font-size:10px}.info-grid{grid-template-columns:1fr;padding:30px 18px;gap:30px}.tool-links{grid-template-columns:1fr;padding:0 18px;gap:30px}.section{padding:34px 0}.faq{padding-left:18px;padding-right:18px}.cta{margin:0 18px 35px;padding:38px 15px}.cta h2{font-size:28px}footer{margin:0 18px;grid-template-columns:1fr 1fr;padding-bottom:60px}.copyright{right:0;bottom:25px}.footer-brand{grid-column:1/-1}
}
body.dark{--bg:#151b1a;--surface:#1d2523;--surface-soft:#222c29;--text:#f1f7f5;--muted:#a8b8b2;--line:#35423e;--green:#35c998;--green-dark:#52d5a8;--green-soft:#17382e;--blue:#70a7ff;background:var(--bg);color:var(--text)}
body.dark .site-header{background:rgba(29,37,35,.95);border-color:var(--line)}
body.dark .brand,body.dark .site-header nav a{color:var(--text)}
body.dark .menu-btn{background:var(--surface);color:var(--text);border-color:var(--line)}
body.dark .hero{background:linear-gradient(180deg,#172521 0%,#151b1a 100%);border-color:var(--line)}
body.dark .trust-pill{background:#193c31;color:#62d6b0}
body.dark .hero p,.dark .tool-card p{color:var(--muted)}
body.dark .dropzone{background:#1a2924;border-color:#42bd96}
body.dark .dropzone:hover,body.dark .dropzone.drag{background:#203a31}
body.dark .tool-card{background:var(--surface);border-color:var(--line)}
body.dark .tool-card>b{color:#91aaa1}
body.dark .info-section{background:#17201e;border-color:var(--line)}
body.dark .csv-info,.dark .cta{background:#18352d;border-color:#285c4d}
body.dark .csv-info a{background:var(--surface);color:#62d6b0;border-color:#398d72}
body.dark .all-tools,body.dark .faq details{border-color:var(--line)}
body.dark .tool-links a,.dark .faq p{color:var(--muted)}
body.dark .primary-btn{background:linear-gradient(135deg,#27c795,#0c9d6b)}
body.dark footer{border-color:var(--line)}
body.dark .theme-switch{color:var(--text)}
body.dark .theme-switch i{background:#40514c}
body.dark .theme-switch i:after{left:17px;background:#dff8ef}

/* CSV viewer workspace */
.viewer-page{max-width:1180px;margin:0 auto;padding:58px 24px 90px}
.viewer-hero{max-width:820px;margin:0 auto 30px;text-align:center}
.viewer-kicker{display:inline-block;color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:1.4px}
.viewer-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-2.8px;margin:12px 0 12px}
.viewer-hero p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}
.viewer-shell{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.viewer-upload{min-height:410px;margin:18px;border:1.5px dashed #46b996;border-radius:14px;background:linear-gradient(180deg,#f7fcfa,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;transition:.2s}
.viewer-upload.drag{background:#eaf9f3;border-color:var(--green);transform:scale(.998)}
.viewer-upload-icon{width:64px;height:64px;border-radius:16px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-bottom:17px}
.viewer-upload-icon svg{width:34px;height:34px}
.viewer-upload strong{font-size:20px;letter-spacing:-.3px}
.viewer-upload>span{font-size:12px;color:var(--muted);margin:6px 0 17px}
.viewer-upload small{font-size:10px;color:#8a9aae;margin-top:10px}
.viewer-primary,.viewer-secondary,.viewer-page-btn{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px 14px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.viewer-primary{background:linear-gradient(135deg,#1bb27f,#078f63);border-color:#078f63;color:#fff;padding:11px 22px;box-shadow:0 5px 14px rgba(8,143,99,.16)}
.viewer-primary:hover{filter:brightness(1.04)}
.viewer-secondary:hover,.viewer-page-btn:hover:not(:disabled){border-color:#a9c9be;background:var(--green-soft)}
.viewer-filebar{min-height:72px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.viewer-fileinfo{display:flex;align-items:center;gap:11px;min-width:0}
.viewer-fileicon{width:40px;height:40px;border-radius:9px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-size:9px;font-weight:900;flex:0 0 auto}
.viewer-fileinfo strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}
.viewer-fileinfo span{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.viewer-search{height:39px;max-width:480px;flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 10px}
.viewer-search svg{width:17px;height:17px;color:#8a9aae;flex:0 0 auto}
.viewer-search input{border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:11px;min-width:0;flex:1}
.viewer-search kbd{font-size:9px;color:#8a9aae;border:1px solid var(--line);border-radius:4px;padding:2px 5px}
.viewer-actions{display:flex;align-items:center;gap:8px}
.viewer-actions select{height:39px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 9px;font-size:10px}
.viewer-stats{padding:10px 18px;color:var(--muted);font-size:10px}
.viewer-table-wrap{overflow:auto;max-height:62vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.viewer-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:11px}
.viewer-table-wrap th{position:sticky;top:0;z-index:3;background:var(--surface-soft);border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;text-align:left;white-space:nowrap}
.viewer-table-wrap td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px 12px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}
.viewer-table-wrap tbody tr:hover td{background:var(--green-soft)}
.viewer-table-wrap .th-sort{display:block;width:100%;border:0;background:transparent;color:var(--text);font:inherit;font-size:10px;font-weight:850;text-align:left;padding:11px 12px;cursor:pointer}
.viewer-table-wrap .th-sort:hover{color:var(--green-dark)}
.viewer-table-wrap .row-number{position:sticky;left:0;background:var(--surface-soft);color:#8a9aae;font-size:9px;text-align:right;width:48px;min-width:48px}
.no-results{text-align:center!important;color:var(--muted);padding:40px!important}
.viewer-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;color:var(--muted);font-size:10px}
.viewer-pager>div{display:flex;align-items:center;gap:7px}
.viewer-page-btn{padding:8px 10px;font-size:10px}
.viewer-page-btn:disabled{opacity:.4;cursor:not-allowed}
.viewer-note{display:flex;justify-content:center;gap:7px;align-items:center;margin:16px auto 0;color:var(--muted);font-size:10px}
.viewer-note strong{color:var(--text)}
body.dark .viewer-upload{background:linear-gradient(180deg,#192521,#17201e)}
body.dark .viewer-upload.drag{background:#1c342c}
body.dark .viewer-toolbar{background:#202a27}
body.dark .viewer-table-wrap tbody tr:hover td{background:#18382f}
body.dark .viewer-table-wrap .row-number{background:#202a27}
body.dark .viewer-primary{color:#06251a}
@media(max-width:720px){
  .viewer-page{padding:38px 14px 65px}
  .viewer-hero h1{letter-spacing:-2px;font-size:40px}
  .viewer-hero p{font-size:13px}
  .viewer-upload{min-height:350px;margin:12px}
  .viewer-filebar{align-items:flex-start}
  .viewer-fileinfo strong{max-width:210px}
  .viewer-toolbar{align-items:stretch;flex-direction:column}
  .viewer-search{max-width:none;width:100%}
  .viewer-actions{width:100%}
  .viewer-actions select{flex:1}
  .viewer-actions .viewer-secondary{flex:1}
  .viewer-pager{align-items:flex-start;flex-direction:column}
  .viewer-note{padding:0 20px;text-align:center;flex-direction:column;gap:3px}
}

/* Reference-style CSV viewer page */
.viewer-header{max-width:none;padding-left:max(28px,calc((100vw - 1130px)/2));padding-right:max(28px,calc((100vw - 1130px)/2));height:60px}
.viewer-header .brand{font-size:25px}
.viewer-header .brand-mark{width:42px;height:42px;font-size:10px}
.viewer-header nav{gap:30px}
.viewer-header nav a{font-size:11px}
.csv-viewer-page{background:#fff;min-height:calc(100vh - 60px)}
.viewer-hero{max-width:none;margin:0;text-align:left;background:linear-gradient(115deg,#f5fbff 0%,#fff 52%,#f2f5ff 100%);border-bottom:1px solid #edf2f8;position:relative;overflow:hidden}
.viewer-hero:before,.viewer-hero:after{content:"";position:absolute;border-radius:50%;background:#e8edff;opacity:.8;pointer-events:none}
.viewer-hero:before{width:175px;height:175px;right:-58px;top:-75px}
.viewer-hero:after{width:90px;height:90px;left:-50px;bottom:-46px}
.viewer-hero-inner{max-width:1130px;min-height:340px;margin:auto;padding:42px 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:1}
.viewer-copy{padding-left:0}
.viewer-pill{display:inline-flex;padding:7px 13px;border-radius:99px;background:#def7ed;color:#129d72;font-size:10px;font-weight:800}
.viewer-copy h1{font-size:clamp(45px,4.8vw,59px);line-height:.98;letter-spacing:-3.2px;margin:19px 0 16px;color:#102447;font-weight:850}
.viewer-copy h1 span{color:#514cf2}
.viewer-copy>p{font-size:14px;line-height:1.65;color:#5e7597;margin:0}
.viewer-trust{display:flex;align-items:center;gap:27px;margin-top:23px}
.viewer-trust span{display:flex;align-items:center;gap:7px;color:#365277;font-size:10px}
.viewer-trust strong{font-weight:750}
.trust-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:900;font-style:normal}
.trust-icon.green{background:#dcf8ee;color:#0ba174}
.trust-icon.blue{background:#e7edff;color:#4b63ed}
.trust-icon.purple{background:#ede8ff;color:#684ce9}
.viewer-upload-card{height:275px;background:rgba(255,255,255,.82);border:1px solid #e4ebf5;border-radius:10px;padding:14px;box-shadow:0 12px 35px rgba(53,83,128,.08);display:flex;align-items:stretch}
.viewer-upload-card[hidden]{display:none}
.viewer-upload-card.drag{background:#f8f8ff}
.viewer-upload-inner{width:100%;border:1.5px dashed #b9c7ff;border-radius:9px;background:rgba(255,255,255,.56);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.2s}
.viewer-upload-inner.drag{background:#f1f2ff;border-color:#5c5af5}
.viewer-upload-icon{width:61px;height:61px;color:#5753f3;margin-bottom:7px}
.viewer-upload-icon svg{width:100%;height:100%}
.viewer-upload-inner strong{font-size:14px;color:#19345d}
.viewer-upload-inner>span{font-size:11px;color:#7e91ae;margin:6px 0 11px}
.viewer-primary{height:43px;border:0;border-radius:8px;background:linear-gradient(135deg,#5b54f7,#4c43e8);color:#fff;padding:0 23px;font-size:11px;font-weight:800;display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 7px 18px rgba(79,70,229,.18)}
.viewer-primary svg{width:18px;height:18px}
.viewer-primary:hover{filter:brightness(1.04)}
.viewer-upload-inner small{font-size:10px;color:#7186a5;margin-top:12px}
.viewer-upload-inner .tool-status{min-height:14px;color:#d9534f;font-size:10px;margin-top:3px}
.viewer-content{max-width:1130px;margin:auto;padding:20px 0 38px}
.viewer-workspace{display:none;scroll-margin-top:72px}
.viewer-workspace.visible{display:block}
.viewer-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.viewer-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.viewer-fileinfo{display:flex;align-items:center;gap:10px;min-width:0}
.viewer-fileicon{width:43px;height:43px;border-radius:9px;background:#e0f7ed;color:#079b6e;display:grid;place-items:center;position:relative}
.viewer-fileicon:before{content:"";position:absolute;inset:6px;border:1.5px solid currentColor;border-radius:2px;opacity:.8}
.viewer-fileicon span{position:relative;font-size:8px;font-weight:900}
.viewer-fileinfo strong{display:block;color:#19345d;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.viewer-fileinfo span{display:block;color:#7187a5;font-size:9px;margin-top:4px}
.viewer-file-actions{display:flex;align-items:center;gap:8px}
.viewer-export{position:relative}
.viewer-download,.viewer-edit,.viewer-clear{height:39px;border-radius:7px;padding:0 12px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;cursor:pointer}
.viewer-download{border:0;background:linear-gradient(135deg,#12b27e,#079c6e);color:#fff;box-shadow:0 4px 10px rgba(4,157,108,.12)}
.viewer-download svg,.viewer-edit svg,.viewer-clear svg{width:16px;height:16px}
.viewer-download span{font-size:13px;margin-left:2px}
.viewer-export-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:15;min-width:145px;padding:4px;background:#fff;border:1px solid #dbe4ef;border-radius:7px;box-shadow:0 8px 20px rgba(34,67,104,.14)}
.viewer-export-menu[hidden]{display:none}
.viewer-export-menu button{width:100%;height:32px;padding:0 9px;border:0;border-radius:4px;background:transparent;color:#304a68;text-align:left;font:inherit;font-size:10px;cursor:pointer}
.viewer-export-menu button:hover{background:#f2f5fb}
.viewer-edit,.viewer-clear{background:#fff;border:1px solid #dbe4ef;color:#55708f}
.viewer-edit:hover,.viewer-clear:hover{background:#f7fafc;border-color:#c7d5e4}
.viewer-clear{color:#607896}
.viewer-table-tools{min-height:62px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.viewer-search{height:34px;width:255px;display:flex;align-items:center;gap:7px;border:1px solid #dce5f0;border-radius:6px;background:#fff;padding:0 9px}
.viewer-search svg{width:15px;height:15px;color:#8195b0}
.viewer-search input{border:0;outline:0;background:transparent;color:#19345d;font-size:10px;width:100%}
.viewer-selects{display:flex;align-items:center;gap:22px}
.viewer-selects label{font-size:9px;color:#7a8faa;display:flex;align-items:center;gap:7px;white-space:nowrap}
.viewer-selects select{height:34px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;padding:0 8px;font-size:10px;min-width:65px;outline:none}
.viewer-table-wrap{overflow:auto;max-height:57vh;border-top:1px solid #e5ebf3;border-bottom:1px solid #e5ebf3}
.viewer-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-size:10px}
.viewer-table-wrap th{position:sticky;top:0;z-index:3;background:#f7faff;color:#284465;border-bottom:1px solid #dfe7f1;border-right:1px solid #e6edf5;padding:10px 12px;text-align:left;font-weight:800;white-space:nowrap}
.viewer-table-wrap td{color:#3c5778;border-bottom:1px solid #e7edf4;border-right:1px solid #e8eef5;padding:9px 12px;white-space:nowrap}
.viewer-table-wrap tbody tr:hover td{background:#f7fbff}
.viewer-table-wrap th:last-child,.viewer-table-wrap td:last-child{border-right:0}
.viewer-table-wrap .th-sort{border:0;background:none;color:#91a5bf;font-size:11px;margin-left:10px;padding:0;cursor:pointer}
.viewer-table-wrap .th-sort:hover{color:#5753f3}
.viewer-table-wrap .row-num-head,.viewer-table-wrap .row-number{width:46px;min-width:46px;text-align:left;color:#8095b0}
.viewer-table-wrap .row-number{font-size:9px}
.csv-heading-editor{display:flex;align-items:center;gap:4px}
.delete-row,.delete-column{width:27px;height:27px;border:1px solid #dbe4ef;border-radius:5px;background:#fff;color:#bf4e59;font-size:16px;line-height:1;cursor:pointer}
.delete-row:hover,.delete-column:hover:not(:disabled){background:#fff1f2;border-color:#edc6ca}
.delete-row:disabled,.delete-column:disabled{opacity:.4;cursor:not-allowed}
.no-results{text-align:center!important;color:#8396ad!important;padding:38px!important}
.viewer-pager{min-height:54px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;color:#7187a3;font-size:9px}
.pager-buttons{display:flex;align-items:center;gap:6px}
.pager-buttons button,.pager-buttons b{width:31px;height:31px;border-radius:7px;border:1px solid #e1e8f1;background:#f7f9fc;color:#7890ac;display:grid;place-items:center;font-size:12px;cursor:pointer}
.pager-buttons b{background:linear-gradient(135deg,#5954f4,#5148e9);border-color:#5148e9;color:#fff}
.pager-buttons button:hover:not(:disabled){background:#eef1ff;color:#4f4bea}
.pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
.viewer-benefits{margin-top:27px;background:#f7f9ff;border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);padding:17px 0}
.benefit{display:flex;align-items:flex-start;gap:11px;padding:2px 21px;border-right:1px solid #e0e6f1}
.benefit:last-child{border-right:0}
.benefit-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-size:20px;font-weight:900}
.benefit-icon svg{width:21px;height:21px}
.benefit-icon.blue{background:#e9edff;color:#4b4ff2}
.benefit-icon.purple{background:#eee9ff;color:#5d4bf0}
.benefit-icon.violet{background:#e8eaff;color:#443be6}
.benefit-icon.orange{background:#e9ecff;color:#514af0}
.benefit strong{display:block;color:#19345d;font-size:10px;margin:3px 0 7px}
.benefit p{color:#7085a1;font-size:9px;line-height:1.6;margin:0}
body.dark .csv-viewer-page{background:var(--bg)}
body.dark .viewer-hero{background:linear-gradient(115deg,#162521,#17201e 52%,#1d2131)}
body.dark .viewer-copy h1{color:#f1f7f5}
body.dark .viewer-copy>p,.dark .viewer-trust span{color:#a8b8b2}
body.dark .viewer-upload-card{background:#1d2523;border-color:#35423e}
body.dark .viewer-upload-inner{background:#1a2220;border-color:#5358a5}
body.dark .viewer-upload-inner strong{color:#edf7f4}
body.dark .viewer-data-card,.dark .viewer-edit,.dark .viewer-clear{background:var(--surface);border-color:var(--line)}
body.dark .viewer-fileinfo strong,.dark .benefit strong{color:#eef7f4}
body.dark .viewer-table-tools,.dark .viewer-search,.dark .viewer-selects select{background:var(--surface)}
body.dark .viewer-search{border-color:var(--line)}
body.dark .viewer-search input{color:var(--text)}
body.dark .viewer-table-wrap th{background:#202a27;color:#dcebe5;border-color:var(--line)}
body.dark .viewer-table-wrap td{color:#c0d0c9;border-color:var(--line)}
body.dark .delete-row,body.dark .delete-column{background:var(--surface);border-color:var(--line);color:#ff929a}
body.dark .viewer-table-wrap tbody tr:hover td{background:#18382f}
body.dark .viewer-benefits{background:#1c2523}
body.dark .benefit{border-color:var(--line)}
body.dark .benefit p{color:#9eb0a8}
@media(max-width:1000px){
  .viewer-header nav{gap:18px}
  .viewer-hero-inner,.viewer-content{padding-left:22px;padding-right:22px}
}
@media(max-width:820px){
  .viewer-header{height:58px}
  .viewer-hero-inner{grid-template-columns:1fr;gap:28px;padding-top:35px;padding-bottom:35px}
  .viewer-copy{text-align:center}
  .viewer-trust{justify-content:center;flex-wrap:wrap}
  .viewer-upload-card{max-width:620px;width:100%;margin:auto}
  .viewer-benefits{grid-template-columns:1fr 1fr}
  .benefit:nth-child(2){border-right:0}
  .benefit:nth-child(-n+2){border-bottom:1px solid #e0e6f1;padding-bottom:15px}
}
@media(max-width:560px){
  .viewer-header .brand{font-size:21px}
  .viewer-header .brand-mark{width:35px;height:35px}
  .viewer-hero-inner,.viewer-content{padding-left:14px;padding-right:14px}
  .viewer-copy h1{font-size:43px;letter-spacing:-2.4px}
  .viewer-copy>p{font-size:12px}
  .viewer-trust{gap:13px}
  .viewer-trust span{font-size:9px}
  .viewer-upload-card{height:270px}
  .viewer-filebar{align-items:flex-start;flex-direction:column}
  .viewer-file-actions{width:100%}
  .viewer-download,.viewer-edit,.viewer-clear{flex:1;justify-content:center}
  .viewer-table-tools{align-items:stretch;flex-direction:column}
  .viewer-search{width:100%}
  .viewer-selects{justify-content:space-between;gap:8px}
  .viewer-selects label{flex:1;justify-content:space-between}
  .viewer-selects select{min-width:50px}
  .viewer-benefits{grid-template-columns:1fr;padding:10px}
  .benefit,.benefit:nth-child(2),.benefit:nth-child(-n+2){border-right:0;border-bottom:1px solid #e0e6f1;padding:12px 8px}
  .benefit:last-child{border-bottom:0}
  .viewer-pager{align-items:flex-start;gap:8px;flex-direction:column}
}

/* Standalone CSV editor */
.csv-editor-page{min-height:calc(100vh - 60px);background:#fff}
.editor-hero{background:linear-gradient(115deg,#f5fbff 0%,#fff 52%,#f2f5ff 100%);border-bottom:1px solid #edf2f8;position:relative;overflow:hidden}
.editor-hero-inner{max-width:1130px;min-height:320px;margin:auto;padding:38px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:center}
.editor-hero-inner h1{font-size:52px;line-height:1.02;margin:18px 0 12px;color:#102447}
.editor-hero-inner h1 span{color:#514cf2}
.editor-hero-inner p{font-size:14px;line-height:1.65;color:#5e7597;margin:0}
.editor-upload-card{height:250px;padding:13px;background:rgba(255,255,255,.82);border:1px solid #e4ebf5;border-radius:10px;box-shadow:0 12px 35px rgba(53,83,128,.08)}
.editor-upload{height:100%;border:1.5px dashed #b9c7ff;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#19345d}
.editor-upload.drag{background:#f1f2ff;border-color:#5c5af5}
.editor-upload>span{font-size:11px;color:#7e91ae}
.editor-upload small{font-size:10px;color:#7186a5}
.editor-upload .viewer-upload-icon{margin:0;color:#5753f3}
.editor-upload .viewer-primary{height:39px}
.editor-upload .tool-status{min-height:14px;color:#d9534f;font-size:10px}
.editor-content{max-width:1130px;margin:auto;padding:20px 0 40px}
.editor-workspace[hidden]{display:none}
.editor-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.editor-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.editor-actions button{min-height:38px;justify-content:center}
.editor-table-wrap{overflow:auto;max-height:65vh;border-bottom:1px solid #e5ebf3}
.editor-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:880px;font-size:11px}
.editor-table-wrap th{position:sticky;top:0;z-index:3;background:#f7faff;color:#284465;border-bottom:1px solid #dfe7f1;border-right:1px solid #e6edf5;padding:6px 8px;text-align:left;font-weight:800;white-space:nowrap}
.editor-table-wrap td{color:#3c5778;border-bottom:1px solid #e7edf4;border-right:1px solid #e8eef5;padding:4px 6px;white-space:nowrap}
.editor-table-wrap tbody tr:hover td{background:#f7fbff}
.editor-table-wrap .csv-cell{min-width:120px;height:34px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;font:inherit;outline:none;resize:none;overflow:hidden;white-space:pre-wrap}
.editor-table-wrap .csv-cell:focus{border-color:#7476f5;background:#fff;box-shadow:0 0 0 2px rgba(81,76,242,.12)}
.editor-table-wrap th .csv-cell{font-weight:800}
.editor-table-wrap .row-action-head,.editor-table-wrap .row-action{text-align:center;width:58px}
.editor-table-wrap .delete-row,.editor-table-wrap .delete-column{width:27px;height:27px;border:1px solid #dbe4ef;border-radius:5px;background:#fff;color:#bf4e59;font-size:16px;line-height:1;cursor:pointer}
.editor-table-wrap .delete-row:hover,.editor-table-wrap .delete-column:hover:not(:disabled){background:#fff1f2;border-color:#edc6ca}
.editor-table-wrap .delete-row:disabled,.editor-table-wrap .delete-column:disabled{opacity:.4;cursor:not-allowed}
body.dark .csv-editor-page{background:var(--bg)}
body.dark .editor-hero{background:linear-gradient(115deg,#162521 0%,#17201e 52%,#1d2131 100%);border-color:var(--line)}
body.dark .editor-hero-inner h1{color:#f1f7f5}
body.dark .editor-hero-inner p{color:#a8b8b2}
body.dark .editor-upload-card,body.dark .editor-data-card{background:var(--surface);border-color:var(--line)}
body.dark .editor-upload{color:#edf7f4}
body.dark .editor-filebar,body.dark .editor-table-wrap th,body.dark .editor-table-wrap td{border-color:var(--line)}
body.dark .editor-table-wrap th{background:#202a27;color:#dcebe5}
body.dark .editor-table-wrap td{color:#c0d0c9}
body.dark .editor-table-wrap tbody tr:hover td{background:#18382f}
body.dark .editor-table-wrap .csv-cell{color:var(--text)}
body.dark .editor-table-wrap .csv-cell:focus{background:#202a27;border-color:#7e85ff}
body.dark .editor-table-wrap .delete-row,body.dark .editor-table-wrap .delete-column{background:var(--surface);border-color:var(--line);color:#ff929a}
.csv-cleaner-page{min-height:calc(100vh - 60px);background:#fff}
.cleaner-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.cleaner-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.cleaner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cleaner-actions button{min-height:38px;justify-content:center}
.cleaner-actions button:disabled{opacity:.5;cursor:not-allowed}
.cleaner-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:14px 16px;border-bottom:1px solid #e8eef5}
.cleaner-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:12px;cursor:pointer}
.cleaner-options input{width:16px;height:16px;margin:0;accent-color:#079c6e}
.cleaner-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:14px 8px;border-bottom:1px solid #e8eef5}
.cleaner-stats div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px;border-right:1px solid #e0e6f1;text-align:center}
.cleaner-stats div:last-child{border-right:0}
.cleaner-stats strong{color:#19345d;font-size:18px}
.cleaner-stats span{color:#7187a5;font-size:10px}
.cleaner-table-wrap table{min-width:680px}
.csv-merger-page{min-height:calc(100vh - 60px);background:#fff}
.merger-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.merger-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.merger-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.merger-actions button{min-height:38px;justify-content:center}
.merger-sources{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 15px;color:#607896;font-size:11px;border-bottom:1px solid #e8eef5}
.merger-note{margin:0;padding:10px 15px;color:#7187a5;font-size:11px}
.merger-table-wrap table{min-width:680px}
.csv-splitter-page{min-height:calc(100vh - 60px);background:#fff}
.splitter-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.splitter-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.splitter-actions{display:flex;align-items:center;gap:8px}
.splitter-actions button{min-height:38px}
.splitter-controls{display:flex;align-items:center;gap:20px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.splitter-controls label{display:flex;align-items:center;gap:9px;color:#365277;font-size:12px}
.splitter-controls input[type=number]{width:90px;height:36px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font:inherit}
.splitter-controls input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#079c6e}
.splitter-controls .viewer-primary{margin-left:auto}
.splitter-error{color:#c3404b;font-size:11px}
.splitter-partbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 15px;border-bottom:1px solid #e8eef5}
.splitter-partbar label{display:flex;align-items:center;gap:9px;color:#7187a5;font-size:11px}
.splitter-partbar select{height:36px;min-width:150px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font-size:11px}
.splitter-partbar>span{color:#7187a5;font-size:11px}
.splitter-table-wrap table{min-width:620px}
.csv-validator-page{min-height:calc(100vh - 60px);background:#fff}
.validator-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.validator-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.validator-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:14px 8px;border-bottom:1px solid #e8eef5}
.validator-stats div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px;border-right:1px solid #e0e6f1;text-align:center}
.validator-stats div:last-child{border-right:0}
.validator-stats strong{color:#19345d;font-size:18px}
.validator-stats span{color:#7187a5;font-size:10px}
.validator-findings{padding:14px 15px;border-bottom:1px solid #e8eef5}
.validator-findings-head,.validator-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.validator-findings-head h2,.validator-preview-head h2{margin:0;color:#19345d;font-size:15px}
.validator-findings-head h2 span{color:#7187a5;font-size:12px;font-weight:500}
.validator-findings-head label{display:flex;align-items:center;gap:7px;color:#7187a5;font-size:11px}
.validator-findings-head select{height:32px;padding:0 8px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568}
.validator-issue-list{display:flex;flex-direction:column;margin-top:12px}
.validator-issue{display:grid;grid-template-columns:70px 72px minmax(0,1fr);align-items:start;gap:10px;padding:10px 0;border-top:1px solid #edf1f5}
.validator-issue>span{color:#7187a5;font-size:11px}
.validator-issue>strong{font-size:10px;color:#a64b18}
.validator-issue.error>strong{color:#c3404b}
.validator-issue p{margin:0;color:#365277;font-size:12px;line-height:1.45}
.validator-empty{margin:0;color:#7187a5;font-size:12px}
.validator-preview-head{padding:14px 15px 10px}
.validator-preview-head span{color:#7187a5;font-size:11px}
.validator-table-wrap table{min-width:680px}
.validator-table-wrap tbody tr.has-issue td{background:#fff9ed}
.validator-table-wrap tbody tr.has-issue td:first-child{color:#b36b1c;font-weight:700}
body.dark .csv-validator-page{background:var(--bg)}
body.dark .validator-data-card{background:var(--surface);border-color:var(--line)}
body.dark .validator-filebar,body.dark .validator-stats,body.dark .validator-findings{border-color:var(--line)}
body.dark .validator-stats div,body.dark .validator-issue{border-color:var(--line)}
body.dark .validator-stats strong,body.dark .validator-findings-head h2,body.dark .validator-preview-head h2{color:#eef7f4}
body.dark .validator-stats span,body.dark .validator-findings-head h2 span,body.dark .validator-findings-head label,body.dark .validator-preview-head span,body.dark .validator-issue>span,body.dark .validator-empty{color:#9eb0a8}
body.dark .validator-findings-head select{background:var(--surface);border-color:var(--line);color:var(--text)}
body.dark .validator-issue p{color:#c0d0c9}
body.dark .validator-table-wrap tbody tr.has-issue td{background:#30291b}
body.dark .validator-table-wrap tbody tr.has-issue td:first-child{color:#e5b96d}
body.dark .csv-splitter-page{background:var(--bg)}
body.dark .splitter-data-card{background:var(--surface);border-color:var(--line)}
body.dark .splitter-filebar,body.dark .splitter-controls,body.dark .splitter-partbar{border-color:var(--line)}
body.dark .splitter-controls label{color:#c0d0c9}
body.dark .splitter-controls input[type=number],body.dark .splitter-partbar select{background:var(--surface);border-color:var(--line);color:var(--text)}
body.dark .splitter-partbar label,body.dark .splitter-partbar>span{color:#9eb0a8}
body.dark .csv-merger-page{background:var(--bg)}
body.dark .merger-data-card{background:var(--surface);border-color:var(--line)}
body.dark .merger-filebar,body.dark .merger-sources{border-color:var(--line)}
body.dark .merger-sources,body.dark .merger-note{color:#9eb0a8}
body.dark .csv-cleaner-page{background:var(--bg)}
body.dark .cleaner-data-card{background:var(--surface);border-color:var(--line)}
body.dark .cleaner-filebar,body.dark .cleaner-options,body.dark .cleaner-stats{border-color:var(--line)}
body.dark .cleaner-options label{color:#c0d0c9}
body.dark .cleaner-stats div{border-color:var(--line)}
body.dark .cleaner-stats strong{color:#eef7f4}
body.dark .cleaner-stats span{color:#9eb0a8}
@media(max-width:1000px){.editor-hero-inner,.editor-content{padding-left:22px;padding-right:22px}}
@media(max-width:820px){
  .editor-hero-inner{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:32px;padding-bottom:32px}
  .editor-hero-inner>div:first-child{text-align:center}
  .editor-upload-card{max-width:620px;width:100%;margin:auto}
}
@media(max-width:560px){
  .editor-hero-inner,.editor-content{padding-left:14px;padding-right:14px}
  .editor-hero-inner h1{font-size:40px}
  .editor-hero-inner p{font-size:12px}
  .editor-filebar{align-items:flex-start;flex-direction:column}
  .editor-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .editor-actions #saveEditedCsv,.editor-actions #clearEditor{grid-column:1/-1}
  .editor-actions button{width:100%}
  .cleaner-filebar{align-items:flex-start;flex-direction:column}
  .cleaner-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cleaner-actions #runClean,.cleaner-actions #clearCleaner{grid-column:1/-1}
  .cleaner-actions button{width:100%}
  .cleaner-options{align-items:flex-start;flex-direction:column;gap:12px}
  .cleaner-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0}
  .cleaner-stats div:nth-child(2n){border-right:0}
  .cleaner-stats div:last-child{grid-column:1/-1}
  .merger-filebar{align-items:flex-start;flex-direction:column}
  .merger-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .merger-actions #mergeDownload{grid-column:1/-1}
  .merger-actions #clearMerger{grid-column:2;grid-row:1}
  .merger-actions button{width:100%}
  .splitter-filebar{align-items:flex-start;flex-direction:column}
  .splitter-controls{align-items:stretch;flex-direction:column;gap:12px}
  .splitter-controls .viewer-primary{margin-left:0}
  .splitter-partbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .splitter-partbar label,.splitter-partbar>span,.splitter-partbar .viewer-download{grid-column:1/-1}
  .splitter-partbar select{flex:1}
  .splitter-partbar .viewer-download{justify-content:center}
  .validator-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0}
  .validator-stats div:nth-child(2n){border-right:0}
  .validator-stats div:last-child{grid-column:1/-1}
  .validator-issue{grid-template-columns:56px 62px minmax(0,1fr);gap:7px}
  .validator-issue p{font-size:11px}
  .validator-preview-head{align-items:flex-start;flex-direction:column;gap:5px}
}

.csv-json-page{min-height:calc(100vh - 60px);background:#fff}
.json-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.json-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.json-options{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.json-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:12px}
.json-options select{height:36px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font-size:11px}
.json-options input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#079c6e}
.json-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.json-actions button{min-height:38px;justify-content:center}
.json-note{margin:0;padding:9px 15px;color:#8b641c;font-size:11px;border-bottom:1px solid #e8eef5}
.json-preview-wrap{max-height:65vh;overflow:auto;background:#f7f9fc}
.json-preview-wrap pre{margin:0;padding:18px;color:#24405f;font:12px/1.65 Consolas,"Courier New",monospace;white-space:pre;overflow:visible}
.json-copy-status{min-height:20px;padding:2px 15px;color:#078c62;font-size:11px}
body.dark .csv-json-page{background:var(--bg)}
body.dark .json-data-card{background:var(--surface);border-color:var(--line)}
body.dark .json-filebar,body.dark .json-options,body.dark .json-note{border-color:var(--line)}
body.dark .json-options label{color:#c0d0c9}
body.dark .json-options select{background:var(--surface);border-color:var(--line);color:var(--text)}
body.dark .json-note{color:#e5c27a}
body.dark .json-preview-wrap{background:#121a18}
body.dark .json-preview-wrap pre{color:#d1e6dc}
@media(max-width:560px){
  .json-filebar{align-items:flex-start;flex-direction:column}
  .json-options{align-items:flex-start;flex-direction:column;gap:12px}
  .json-actions{width:100%;margin-left:0}
  .json-actions button{flex:1}
  .json-preview-wrap pre{padding:14px;font-size:11px}
}

.json-to-csv-page{min-height:calc(100vh - 60px);background:#fff}
.json-csv-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.json-csv-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.json-csv-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.json-csv-input,.json-csv-output{min-width:0;padding:15px;border-right:1px solid #e8eef5}
.json-csv-output{border-right:0}
.json-csv-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.json-csv-panel-heading h2{margin:0;color:#19345d;font-size:15px}
.json-csv-input textarea{display:block;width:100%;min-height:300px;padding:12px;border:1px solid #dce5f0;border-radius:6px;background:#f8fafc;color:#24405f;font:12px/1.6 Consolas,"Courier New",monospace;resize:vertical;white-space:pre;overflow:auto}
.json-csv-options{display:flex;flex-direction:column;gap:10px;margin-top:13px}
.json-csv-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:11px}
.json-csv-options input{width:15px;height:15px;margin:0;accent-color:#079c6e}
.json-csv-error{margin:10px 0 0;color:#c3404b;font-size:12px}
.json-csv-table-wrap{max-height:430px}
.json-csv-table-wrap table{min-width:420px}
.json-csv-output-footer{padding:8px 2px;color:#7187a5;font-size:10px}
body.dark .json-to-csv-page{background:var(--bg)}
body.dark .json-csv-card{background:var(--surface);border-color:var(--line)}
body.dark .json-csv-filebar,body.dark .json-csv-input{border-color:var(--line)}
body.dark .json-csv-panel-heading h2{color:#eef7f4}
body.dark .json-csv-input textarea{background:#121a18;border-color:var(--line);color:#d1e6dc}
body.dark .json-csv-options label,body.dark .json-csv-output-footer{color:#9eb0a8}
@media(max-width:820px){.json-csv-workbench{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){
  .json-csv-filebar{align-items:flex-start;flex-direction:column}
  .json-csv-input,.json-csv-output{padding:12px;border-right:0}
  .json-csv-input{border-bottom:1px solid #e8eef5}
  body.dark .json-csv-input{border-color:var(--line)}
  .json-csv-panel-heading{align-items:flex-start;flex-direction:column}
  .json-csv-panel-heading .json-actions{width:100%}
  .json-csv-panel-heading .json-actions button{flex:1}
  .json-csv-input textarea{min-height:230px}
}

.excel-csv-page{min-height:calc(100vh - 60px);background:#fff}
.excel-csv-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.excel-csv-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.excel-csv-options{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.excel-csv-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:12px}
.excel-csv-options select{height:36px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font-size:11px}
.excel-csv-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.excel-csv-actions button{min-height:38px;justify-content:center}
.excel-csv-table-wrap table{min-width:620px}
.excel-csv-footer{display:flex;justify-content:space-between;padding:8px 15px;color:#7187a5;font-size:10px}
body.dark .excel-csv-page{background:var(--bg)}
body.dark .excel-csv-data-card{background:var(--surface);border-color:var(--line)}
body.dark .excel-csv-filebar,body.dark .excel-csv-options{border-color:var(--line)}
body.dark .excel-csv-options label,body.dark .excel-csv-footer{color:#9eb0a8}
body.dark .excel-csv-options select{background:var(--surface);border-color:var(--line);color:var(--text)}
@media(max-width:560px){
  .excel-csv-filebar{align-items:flex-start;flex-direction:column}
  .excel-csv-options{align-items:flex-start;flex-direction:column;gap:12px}
  .excel-csv-actions{width:100%;margin-left:0}
  .excel-csv-actions button{flex:1}
}

.csv-excel-page{min-height:calc(100vh - 60px);background:#fff}
.excel-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.excel-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.excel-options{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.excel-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:12px}
.excel-options input[type=text]{width:130px;height:36px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font:inherit}
.excel-options input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#079c6e}
.excel-options button{min-height:38px;justify-content:center;margin-left:auto}
.excel-table-wrap table{min-width:620px}
.excel-preview-footer{padding:8px 15px;color:#7187a5;font-size:10px}
.excel-error{margin:0;padding:9px 15px;color:#c3404b;font-size:12px}
body.dark .csv-excel-page{background:var(--bg)}
body.dark .excel-data-card{background:var(--surface);border-color:var(--line)}
body.dark .excel-filebar,body.dark .excel-options{border-color:var(--line)}
body.dark .excel-options label,body.dark .excel-preview-footer{color:#9eb0a8}
body.dark .excel-options input[type=text]{background:var(--surface);border-color:var(--line);color:var(--text)}
@media(max-width:560px){
  .excel-filebar{align-items:flex-start;flex-direction:column}
  .excel-options{align-items:flex-start;flex-direction:column;gap:12px}
  .excel-options button{width:100%;margin-left:0}
}

.csv-pdf-page{min-height:calc(100vh - 60px);background:#fff}
.pdf-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.pdf-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.pdf-options{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.pdf-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:12px}
.pdf-options select{height:36px;padding:0 9px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font-size:11px}
.pdf-options input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#079c6e}
.pdf-options button{min-height:38px;justify-content:center;margin-left:auto}
.pdf-table-wrap table{min-width:620px}
.pdf-preview-footer{padding:8px 15px;color:#7187a5;font-size:10px}
.pdf-error{margin:0;padding:9px 15px;color:#c3404b;font-size:12px}
body.dark .csv-pdf-page{background:var(--bg)}
body.dark .pdf-data-card{background:var(--surface);border-color:var(--line)}
body.dark .pdf-filebar,body.dark .pdf-options{border-color:var(--line)}
body.dark .pdf-options label,body.dark .pdf-preview-footer{color:#9eb0a8}
body.dark .pdf-options select{background:var(--surface);border-color:var(--line);color:var(--text)}
@media(max-width:560px){
  .pdf-filebar{align-items:flex-start;flex-direction:column}
  .pdf-options{align-items:flex-start;flex-direction:column;gap:12px}
  .pdf-options button{width:100%;margin-left:0}
}

.csv-sql-page{min-height:calc(100vh - 60px);background:#fff}
.sql-data-card{background:#fff;border:1px solid #e0e8f2;border-radius:10px;box-shadow:0 5px 18px rgba(34,67,104,.045);overflow:hidden}
.sql-filebar{min-height:74px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eef5}
.sql-options{display:flex;align-items:center;flex-wrap:wrap;gap:13px 20px;padding:13px 15px;border-bottom:1px solid #e8eef5}
.sql-options label{display:flex;align-items:center;gap:8px;color:#365277;font-size:11px}
.sql-options input[type=text]{width:150px;height:34px;padding:0 8px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font:inherit}
.sql-options input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:#079c6e}
.sql-options select{height:34px;padding:0 8px;border:1px solid #dce5f0;border-radius:6px;background:#fff;color:#2a4568;font-size:11px}
.sql-options button{min-height:36px;justify-content:center;margin-left:auto}
.sql-types{display:flex;align-items:flex-start;gap:9px;padding:11px 15px;border-bottom:1px solid #e8eef5;color:#7187a5;font-size:10px;line-height:1.5}
.sql-types strong{flex:0 0 auto;color:#365277;font-size:10px}
.sql-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sql-preview-panel,.sql-output-panel{min-width:0;padding:14px 15px;border-right:1px solid #e8eef5}
.sql-output-panel{border-right:0}
.sql-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.sql-panel-heading h2{margin:0;color:#19345d;font-size:14px}
.sql-panel-heading span{color:#7187a5;font-size:10px}
.sql-output-panel textarea{width:100%;min-height:300px;padding:12px;border:1px solid #dce5f0;border-radius:6px;background:#f8fafc;color:#24405f;font:11px/1.55 Consolas,"Courier New",monospace;resize:vertical;white-space:pre;overflow:auto}
.sql-copy-status{min-height:18px;padding-top:4px;color:#078c62;font-size:10px}
.sql-table-wrap{max-height:400px}
body.dark .csv-sql-page{background:var(--bg)}
body.dark .sql-data-card{background:var(--surface);border-color:var(--line)}
body.dark .sql-filebar,body.dark .sql-options,body.dark .sql-types,body.dark .sql-preview-panel{border-color:var(--line)}
body.dark .sql-options label,body.dark .sql-types{color:#9eb0a8}
body.dark .sql-types strong,body.dark .sql-panel-heading h2{color:#eef7f4}
body.dark .sql-options input[type=text],body.dark .sql-options select{background:var(--surface);border-color:var(--line);color:var(--text)}
body.dark .sql-panel-heading span{color:#9eb0a8}
body.dark .sql-output-panel textarea{background:#121a18;border-color:var(--line);color:#d1e6dc}
@media(max-width:820px){.sql-workbench{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){
  .sql-filebar{align-items:flex-start;flex-direction:column}
  .sql-options{align-items:flex-start;flex-direction:column;gap:11px}
  .sql-options button{width:100%;margin-left:0}
  .sql-types{flex-direction:column;gap:4px}
  .sql-preview-panel,.sql-output-panel{padding:12px;border-right:0}
  .sql-preview-panel{border-bottom:1px solid #e8eef5}
  body.dark .sql-preview-panel{border-color:var(--line)}
  .sql-panel-heading{align-items:flex-start;flex-direction:column}
  .sql-output-panel textarea{min-height:250px}
}

.pdf-print-view{display:none}
@media print{
  @page{size:landscape;margin:12mm}
  body>*:not(.pdf-print-view){display:none!important}
  .pdf-print-view{display:block!important;color:#1d2c43;background:#fff;font:10pt/1.4 Arial,sans-serif}
  .pdf-print-view h1{font-size:18pt;margin:0 0 4mm}
  .pdf-print-view p{font-size:9pt;color:#60738f;margin:0 0 5mm}
  .pdf-print-view table{width:100%;border-collapse:collapse;table-layout:auto}
  .pdf-print-view thead{display:table-header-group}
  .pdf-print-view tr{break-inside:avoid}
  .pdf-print-view th,.pdf-print-view td{border:1px solid #d7e0eb;padding:5px 7px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  .pdf-print-view th{background:#f1f5fa;font-weight:700}
}


/* ── Nav dropdowns ─────────────────────────────────────────── */
.nav-dropdown{position:relative;height:100%;display:flex;align-items:center}
.nav-drop-btn{border:0;background:none;color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:4px;padding:0;height:100%;border-bottom:2px solid transparent;transition:.15s}
.nav-drop-btn:hover,.nav-dropdown.open .nav-drop-btn{color:var(--green-dark);border-bottom-color:var(--green)}
.nav-caret{font-size:9px;transition:transform .18s;display:inline-block}
.nav-dropdown.open .nav-caret{transform:rotate(180deg)}

.nav-drop-menu{position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(20,35,61,.11);padding:6px;list-style:none;margin:0;z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s;transform:translateX(-50%) translateY(-6px)}
.nav-dropdown.open .nav-drop-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.nav-drop-menu li a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;text-decoration:none;color:var(--text);transition:.12s}
.nav-drop-menu li a:hover{background:var(--green-soft)}
.nav-drop-menu li a strong{font-size:12px;font-weight:800;display:block}
.nav-drop-menu li a small{font-size:10px;color:var(--muted);display:block;margin-top:1px;font-weight:400}

/* icon badges inside dropdown */
.ndm-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:900;flex:0 0 auto}
.ndm-green{background:#dcf7ee;color:#0b9d6c}
.ndm-blue{background:#e3efff;color:#2878df}
.ndm-purple{background:#eee5ff;color:#7441d6}
.ndm-orange{background:#fff0e6;color:#ef672c}
.ndm-cyan{background:#ddf5f7;color:#15929b}
.ndm-red{background:#ffe6e8;color:#e13e49}
.ndm-violet{background:#eee4ff;color:#733be0}
.ndm-teal{background:#e0f5f3;color:#168c87}

/* mobile: dropdowns become accordion */
@media(max-width:900px){
  /* index.html nav */
  .site-header nav .nav-dropdown{height:auto;flex-direction:column;align-items:flex-start;width:100%}
  .site-header nav .nav-drop-btn{height:auto;border-bottom:0;padding:0;width:100%;justify-content:space-between}
  .site-header nav .nav-drop-menu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:6px 0 0 8px;padding:4px 0;min-width:0;width:100%;display:none}
  .site-header nav.open .nav-dropdown.open .nav-drop-menu{display:block}
  .nav-drop-menu li a{padding:7px 8px}
}

/* tool pages — viewer-header mobile */
@media(max-width:900px){
  .viewer-header nav{display:none}
  .viewer-header .menu-btn{display:block}
  .viewer-header nav.open{
    display:flex;
    position:absolute;
    left:15px;right:15px;top:60px;
    height:auto;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:9px;
    padding:14px;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    box-shadow:var(--shadow);
    z-index:50;
  }
  /* plain links inside open nav */
  .viewer-header nav.open>a{
    font-size:12px;font-weight:700;text-decoration:none;color:var(--text);width:100%;padding:4px 0;
  }
  .viewer-header nav.open>a:hover,.viewer-header nav.open>a.active{color:var(--green-dark)}
  /* dropdowns inside open nav become accordion */
  .viewer-header nav.open .nav-dropdown{height:auto;flex-direction:column;align-items:flex-start;width:100%;display:flex}
  .viewer-header nav.open .nav-drop-btn{height:auto;border-bottom:0;padding:4px 0;width:100%;justify-content:space-between}
  .viewer-header nav.open .nav-drop-menu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:6px 0 0 8px;padding:4px 0;min-width:0;width:100%;display:none}
  .viewer-header nav.open .nav-dropdown.open .nav-drop-menu{display:block}
}

/* dark mode */
body.dark .nav-drop-btn{color:var(--text)}
body.dark .nav-drop-menu{background:var(--surface);border-color:var(--line)}
body.dark .nav-drop-menu li a:hover{background:#1c3a30}

/* CSV viewer SEO content */
.viewer-seo-content{background:var(--bg);border-top:1px solid var(--line);padding:58px 20px 72px}
.viewer-seo-inner{max-width:930px;margin:0 auto;color:var(--text)}
.viewer-section-label{margin:0 0 9px;color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:1.3px}
.viewer-seo-inner>h2,.viewer-faq h2{margin:0 0 15px;font-size:30px;line-height:1.15;letter-spacing:-1.2px}
.viewer-seo-inner>p{max-width:820px;margin:0 0 24px;color:var(--muted);font-size:14px;line-height:1.75}
.viewer-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.viewer-guide-grid>div{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.viewer-guide-grid h3,.viewer-guide-callout h3{margin:0 0 9px;font-size:17px;letter-spacing:-.3px}
.viewer-guide-grid p,.viewer-guide-callout p,.viewer-faq p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.viewer-guide-grid p+p{margin-top:12px}
.viewer-guide-callout{margin:28px 0 42px;padding:23px 25px;border-left:3px solid var(--green);border-radius:0 10px 10px 0;background:var(--green-soft)}
.viewer-related-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 46px}
.viewer-related-tools a{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;transition:border-color .15s,transform .15s}
.viewer-related-tools a:hover{border-color:var(--green);transform:translateY(-1px)}
.viewer-related-tools strong{font-size:12px;color:var(--text)}
.viewer-related-tools span{font-size:11px;line-height:1.55;color:var(--muted)}
.viewer-faq{margin-top:46px}
.viewer-faq h2{margin-bottom:20px}
.viewer-faq details{border-top:1px solid var(--line);padding:17px 0}
.viewer-faq details:last-child{border-bottom:1px solid var(--line)}
.viewer-faq summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--text);padding-right:24px}
.viewer-faq details p{max-width:820px;margin-top:10px}
body.dark .viewer-guide-grid>div,body.dark .viewer-related-tools a{background:var(--surface)}
@media(max-width:820px){
  .viewer-seo-content{padding:45px 22px 60px}
  .viewer-guide-grid,.viewer-related-tools{grid-template-columns:1fr}
}
@media(max-width:560px){
  .viewer-seo-content{padding:38px 14px 52px}
  .viewer-seo-inner>h2,.viewer-faq h2{font-size:25px}
  .viewer-guide-grid>div{padding:19px}
  .viewer-guide-callout{padding:19px;margin-bottom:34px}
}
