:root{
  /* ── CLEAN CORPORATE TRUST PALETTE ──
     Ink #102A44 · Harbor #155EAB · Skyline #2F8FE0 · Mist #F4F7FB · Cloud #EFF3F8 · Slate #51637A
     Functional: Confirm Green #1E8E5A · Alert Red #D14343 · Ledger Teal #0E7C99
     (legacy variable names kept so every existing rule re-themes automatically) */
  --gold:#155EAB;--gold-light:#3D8BD9;--gold-dim:rgba(21,94,171,0.10);--gold-glow:rgba(21,94,171,0.22);
  --dark:#F4F7FB;--dark2:#FFFFFF;--dark3:#EFF3F8;--dark4:#E4EAF1;--dark5:#D7DEE8;
  --surface:rgba(16,42,68,0.025);--border:rgba(16,42,68,0.09);--border-gold:rgba(21,94,171,0.28);
  --text:#102A44;--text-dim:#51637A;--text-muted:#7C8DA3;
  --green:#1E8E5A;--red:#D14343;--blue:#0E7C99;--r:16px;--r-lg:22px;--r-xl:28px;
  /* brand gradient stops */
  --sakura-1:#155EAB;--sakura-2:#2F8FE0;--sakura-3:#BFD9F5;
  --plum:#0F2A44;--petal:rgba(21,94,171,0.07);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--dark);color:var(--text);font-family:'Inter',sans-serif;min-height:100vh;overflow-x:hidden;}

/* LEDGER BACKGROUND — faint graph-paper grid, evokes a financial statement, not decoration */
body::before{content:'';position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(16,42,68,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,42,68,0.05) 1px, transparent 1px);
  background-size:42px 42px;
  pointer-events:none;z-index:0;opacity:.5;}
/* Soft single glow behind the header only */
body::after{content:'';position:fixed;top:-20vh;left:50%;transform:translateX(-50%);
  width:900px;height:600px;
  background:radial-gradient(ellipse at 50% 30%, rgba(21,94,171,0.07) 0%, transparent 65%);
  pointer-events:none;z-index:0;}
@keyframes petalDrift{0%{background-position:0 0,20px 20px;}100%{background-position:40px 40px,60px 60px;}}

/* ORBS — kept minimal, one quiet accent rather than three blurred blobs */
.orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;}
.orb-1{width:800px;height:800px;background:radial-gradient(circle,rgba(21,94,171,0.05) 0%,transparent 65%);top:-300px;left:-200px;animation:orbFloat1 25s ease-in-out infinite;}
.orb-2{width:0;height:0;background:transparent;}
.orb-3{width:0;height:0;background:transparent;}
@keyframes orbFloat1{0%,100%{transform:translate(0,0);}50%{transform:translate(50px,35px);}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,-50px);}}
@keyframes orbFloat3{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,25px);}}

/* ANNOUNCEMENT BAR — dismissible, never blocks content (avoids intrusive-interstitial issues) */
.announce-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#fff;padding:11px 46px;font-size:13px;font-weight:500;text-align:center;position:relative;z-index:20;}
.announce-text strong{font-weight:800;}
.announce-cta{background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.45);color:#fff;padding:6px 14px;border-radius:20px;font-weight:700;font-size:12.5px;text-decoration:none;white-space:nowrap;transition:background .2s;}
.announce-cta:hover{background:rgba(255,255,255,0.32);}
.announce-close{background:none;border:none;color:rgba(255,255,255,0.85);font-size:15px;cursor:pointer;padding:6px;position:absolute;right:10px;top:50%;transform:translateY(-50%);line-height:1;}
@media(max-width:600px){.announce-bar{padding:10px 40px 10px 12px;font-size:12px;}}

/* TICKER */
.ticker-wrap{background:linear-gradient(90deg,var(--dark2),rgba(239,243,248,0.95),var(--dark2));border-bottom:1px solid var(--border-gold);padding:11px 0;overflow:hidden;position:relative;z-index:10;}
.ticker-track{display:flex;gap:0;animation:tickerScroll 45s linear infinite;width:max-content;}
.ticker-track:hover{animation-play-state:paused;}
.ticker-item{display:flex;align-items:center;gap:9px;padding:0 28px;font-size:12px;font-weight:500;color:var(--text-dim);white-space:nowrap;border-right:1px solid var(--border);}
.ticker-item strong{color:var(--gold);font-weight:600;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* HEADER */
header{position:relative;z-index:10;text-align:center;padding:60px 20px 36px;}
.logo-badge{display:inline-flex;align-items:center;gap:7px;background:var(--gold-dim);border:1px solid var(--border-gold);border-radius:100px;padding:5px 16px 5px 10px;font-size:10px;font-weight:700;color:var(--gold);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:16px;}
.logo-badge::before{content:'';display:block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 8px var(--green);animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.site-title{font-family:'Manrope',sans-serif;font-size:clamp(46px,8vw,76px);font-weight:800;line-height:0.95;letter-spacing:-2px;background:linear-gradient(135deg,#102A44 10%,var(--sakura-1) 55%,var(--sakura-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;}
.site-tagline{font-size:15px;font-weight:400;color:var(--text-dim);letter-spacing:0.3px;margin-bottom:28px;}
.site-tagline span{color:var(--text);font-weight:500;}
.site-intro{max-width:640px;margin:18px auto 0;font-size:13.5px;line-height:1.75;color:var(--text-dim);text-align:left;}

/* STATS BAR */
.stats-row{display:flex;align-items:center;justify-content:center;background:var(--dark3);border:1px solid var(--border);border-radius:var(--r-xl);width:fit-content;margin:0 auto 28px;overflow:hidden;}
.stat-item{display:flex;align-items:center;gap:9px;padding:13px 24px;border-right:1px solid var(--border);}
.stat-item:last-child{border-right:none;}
.stat-num{font-family:'Manrope',sans-serif;font-size:22px;font-weight:700;color:var(--gold);}
.stat-label{font-size:11px;color:var(--text-dim);font-weight:500;white-space:nowrap;}

/* REGION */
.country-wrap{display:flex;justify-content:center;}
.country-select-box{display:flex;align-items:center;gap:10px;background:var(--dark3);border:1px solid var(--border);border-radius:var(--r);padding:10px 16px;max-width:400px;width:100%;transition:border-color .2s;}
.country-select-box:focus-within{border-color:var(--border-gold);}
.country-select-box label{color:var(--gold);font-weight:600;font-size:11px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;}
#flag-preview{font-size:20px;flex-shrink:0;}
#country-select{background:none;border:none;color:var(--text);flex:1 1 auto;min-width:0;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;outline:none;appearance:none;}
#country-select option{background:var(--dark3);}
.auto-badge{font-size:9px;font-weight:600;background:rgba(52,211,154,0.12);color:var(--green);border:1px solid rgba(52,211,154,0.25);border-radius:20px;padding:2px 8px;white-space:nowrap;}

/* TABS */
.nav-wrap{position:relative;z-index:10;max-width:980px;margin:0 auto;padding:0 16px 10px;}
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;background:var(--dark2);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px;}
.cat-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:none;border:none;color:var(--text-muted);font-family:'Inter',sans-serif;font-weight:500;font-size:13px;border-radius:12px;cursor:pointer;transition:all .22s;white-space:nowrap;flex:1 1 auto;justify-content:center;}
.cat-tab .tab-icon{font-size:16px;transition:transform .2s;}
.cat-tab:hover{color:var(--text);background:var(--dark4);}
.cat-tab.active{background:linear-gradient(135deg,var(--sakura-1),var(--sakura-2));color:#fff;font-weight:700;box-shadow:0 4px 24px var(--gold-glow),0 0 0 1px rgba(21,94,171,0.28);}
.cat-tab.active .tab-icon{transform:scale(1.15);}

/* MAIN */
.main{position:relative;z-index:10;max-width:980px;margin:16px auto;padding:0 16px 80px;}
.calc-card{display:none;}
.calc-card.active{display:block;animation:panelIn .3s cubic-bezier(.22,1,.36,1);}
@keyframes panelIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* PANEL HEADER */
.panel-header{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding:20px 24px;background:linear-gradient(135deg,var(--dark3),rgba(191,217,245,0.35));border:1px solid var(--border-gold);border-radius:var(--r-xl);box-shadow:0 2px 20px rgba(16,42,68,0.05);}
.panel-icon{font-size:30px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--petal);border:1px solid var(--border-gold);border-radius:14px;flex-shrink:0;}
.panel-title{font-family:'Manrope',sans-serif;font-size:24px;font-weight:700;margin-bottom:2px;}
.panel-desc{color:var(--text-dim);font-size:13px;}
.cat-intro{font-size:13px;line-height:1.75;color:var(--text-dim);margin:-6px 0 18px;padding:0 2px;}

/* SECTION LABELS */
.section-label{grid-column:1/-1;font-size:10px;font-weight:700;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin:22px 0 6px;display:flex;align-items:center;gap:10px;}
.section-label::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border-gold),transparent);}

/* CALC GRID */
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;}
.tool-card{background:var(--dark3);border:1px solid var(--border);border-radius:var(--r);padding:18px 14px;text-align:center;cursor:pointer;transition:all .22s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;}
.tool-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,var(--petal),transparent 60%);opacity:0;transition:opacity .3s;}
.tool-card:hover{border-color:var(--border-gold);transform:translateY(-4px);box-shadow:0 14px 40px rgba(21,94,171,0.12),0 0 0 1px rgba(21,94,171,0.22);}
.tool-card:hover::before{opacity:1;}
.tool-icon-wrap{width:46px;height:46px;background:var(--dark4);border:1px solid var(--border);border-radius:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:22px;transition:all .2s;}
.tool-card:hover .tool-icon-wrap{background:var(--petal);border-color:var(--border-gold);}
.tool-card .ctitle{font-weight:600;font-size:12.5px;line-height:1.3;color:var(--text);}
.tool-card .csub{font-size:10px;color:var(--text-muted);margin-top:3px;}
.standalone-badge{position:absolute;top:6px;right:6px;font-size:8px;font-weight:700;color:var(--gold);background:var(--gold-dim);border:1px solid var(--border-gold);border-radius:6px;padding:2px 5px;letter-spacing:.3px;text-transform:uppercase;}

/* FINANCE LIST CARDS */
.finance-card{background:var(--dark3);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 20px;cursor:pointer;transition:all .22s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;gap:16px;position:relative;overflow:hidden;}
.finance-card::after{content:'→';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--text-muted);transition:all .2s;}
.finance-card:hover{border-color:var(--border-gold);transform:translateX(5px);box-shadow:0 8px 32px rgba(21,94,171,0.10);}
.finance-card:hover::after{right:14px;color:var(--sakura-1);}
.fc-icon{font-size:28px;width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:var(--dark4);border:1px solid var(--border);border-radius:14px;flex-shrink:0;transition:all .2s;}
.finance-card:hover .fc-icon{background:var(--petal);border-color:var(--border-gold);}
.fc-text .fc-title{font-weight:700;font-size:15px;margin-bottom:3px;}
.fc-text .fc-desc{font-size:11.5px;color:var(--text-dim);}

/* MODAL */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;}
.modal.active{display:flex;animation:modalFadeIn .18s ease;}
@keyframes modalFadeIn{from{opacity:0;}to{opacity:1;}}
.modal-content{background:var(--dark2);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:700px;position:relative;margin:auto;overflow:hidden;animation:modalSlideIn .28s cubic-bezier(.22,1,.36,1);box-shadow:0 30px 70px rgba(16,42,68,0.16),0 0 0 1px var(--border);}
@keyframes modalSlideIn{from{opacity:0;transform:scale(.95) translateY(18px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-header{padding:22px 24px 18px;border-bottom:1px solid var(--border-gold);background:linear-gradient(135deg,rgba(255,255,255,0.98) 0%,rgba(239,243,248,0.95) 100%);position:relative;}
.modal-header-top{display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.modal-header-icon{font-size:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--petal);border:1px solid var(--border-gold);border-radius:12px;flex-shrink:0;}
.modal-title{font-family:'Manrope',sans-serif;font-size:21px;font-weight:700;}
.modal-subtitle{color:var(--text-dim);font-size:12px;padding-left:56px;margin-top:-2px;}
.modal-close{position:absolute;top:18px;right:18px;font-size:17px;color:var(--text-muted);cursor:pointer;background:var(--dark5);border:1px solid var(--border);width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.modal-close:hover{color:var(--text);border-color:var(--border-gold);background:var(--petal);}
.modal-body{padding:22px 24px;}

/* FORM */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px;}
.field label{display:block;font-size:10.5px;font-weight:600;color:var(--text-dim);letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px;}
.input-wrap{display:flex;align-items:center;background:var(--dark3);border:1.5px solid var(--border);border-radius:10px;transition:border-color .2s,box-shadow .2s;overflow:hidden;}
.input-wrap:focus-within{border-color:var(--sakura-1);box-shadow:0 0 0 3px rgba(21,94,171,0.12);}
.input-prefix{padding:0 12px;color:var(--sakura-1);font-weight:600;font-size:13px;border-right:1px solid var(--border);height:44px;line-height:44px;white-space:nowrap;flex-shrink:0;background:rgba(21,94,171,0.05);}
.input-wrap input,.input-wrap select{background:none;border:none;outline:none;color:var(--text);font-family:'Inter',sans-serif;font-size:14px;padding:0 13px;height:44px;width:100%;appearance:none;}
.input-wrap select option{background:var(--dark3);}

/* BUTTONS */
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;}
@media(max-width:560px){.action-row{grid-template-columns:1fr;}}
.calc-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#fff;border:none;border-radius:11px;font-family:'Inter',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;letter-spacing:.2px;}
.calc-btn:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--gold-glow);}
.calc-btn:active{transform:none;}

/* AI BOX */
.ai-box-disabled{border:1.5px dashed var(--border-gold);padding:16px;border-radius:12px;background:var(--dark4);text-align:center;}
.ai-box-disabled .ai-title{font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:6px;}
.ai-badge{display:inline-block;font-size:10px;font-weight:600;background:var(--gold-dim);color:var(--gold);border:1px solid var(--border-gold);border-radius:20px;padding:2px 9px;margin-bottom:10px;letter-spacing:.5px;}
.ai-btn-dis{width:100%;padding:11px;background:var(--dark3);color:var(--text-muted);border:1.5px dashed var(--border);border-radius:9px;font-family:'Inter',sans-serif;font-size:13px;cursor:not-allowed;opacity:.6;margin-bottom:8px;}
.ai-terms{font-size:10px;color:var(--text-muted);line-height:1.6;}
.ai-terms a{color:var(--gold);text-decoration:none;}

/* RESULTS */
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:18px;}
.result-box{background:var(--dark3);border:1px solid var(--border);border-radius:12px;padding:15px 12px;text-align:center;animation:resultPop .3s cubic-bezier(.22,1,.36,1) both;}
@keyframes resultPop{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}
.result-box:nth-child(1){animation-delay:.03s;}
.result-box:nth-child(2){animation-delay:.08s;}
.result-box:nth-child(3){animation-delay:.13s;}
.result-box:nth-child(4){animation-delay:.18s;}
.result-box:nth-child(5){animation-delay:.23s;}
.result-box:nth-child(6){animation-delay:.28s;}
.result-box.highlight{border-color:var(--gold);background:linear-gradient(135deg,var(--dark3),rgba(21,94,171,0.07));}
.result-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;font-weight:500;margin-bottom:6px;}
.result-value{font-family:'IBM Plex Mono',monospace;font-size:18px;font-weight:600;color:var(--text);word-break:break-word;}
.result-value.green{color:var(--green);}.result-value.red{color:var(--red);}.result-value.gold{color:var(--gold);}.result-value.blue{color:var(--blue);}

/* INFO */
.info-section{margin-top:20px;border-top:1px solid var(--border);padding-top:18px;}
.info-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.info-tab{padding:6px 13px;font-size:11.5px;font-weight:600;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:none;color:var(--text-dim);font-family:'Inter',sans-serif;transition:all .15s;}
.info-tab.active{background:var(--gold-dim);border-color:var(--border-gold);color:var(--gold);}
.info-panel{display:none;font-size:13px;color:var(--text-dim);line-height:1.78;}
.info-panel.active{display:block;}
.info-panel h4{color:var(--text);font-size:13.5px;font-weight:600;margin:12px 0 5px;}
.info-panel p{margin-bottom:8px;}
.info-panel ul{padding-left:18px;margin-bottom:8px;}
.info-panel li{margin-bottom:4px;}
.formula-box{background:var(--dark3);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;padding:14px 16px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--gold);margin:8px 0;white-space:pre-wrap;line-height:1.7;}
.compare-table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0;}
.compare-table th{background:var(--dark3);color:var(--gold);padding:9px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;}
.compare-table td{padding:8px 12px;border-top:1px solid var(--border);color:var(--text-dim);}
.compare-table tr:hover td{background:var(--surface);}
.related-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.related-pill{background:var(--dark3);border:1px solid var(--border);border-radius:20px;padding:5px 13px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:all .15s;}
.related-pill:hover{border-color:var(--border-gold);color:var(--gold);}

/* OVERLAY MODALS */
.overlay-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:19999;align-items:center;justify-content:center;padding:20px;}
.overlay-modal.active{display:flex;}
.overlay-content{background:var(--dark2);border:1px solid var(--border);border-radius:var(--r-xl);max-width:540px;width:100%;padding:28px;max-height:82vh;overflow-y:auto;}
.overlay-content h3{font-family:'Manrope',sans-serif;font-size:22px;color:var(--gold);margin-bottom:16px;}
.overlay-content h4{color:var(--text);font-size:13px;margin:12px 0 4px;font-weight:600;}
.overlay-content p{color:var(--text-dim);font-size:13px;line-height:1.7;margin-bottom:6px;}
.overlay-btn{background:var(--gold);color:#fff;border:none;border-radius:10px;padding:11px 24px;font-family:'Inter',sans-serif;font-weight:700;font-size:14px;cursor:pointer;margin-top:16px;}

/* SITE FAQ — permanent, always-visible content (fixes thin-content) */
.site-faq{position:relative;z-index:10;max-width:780px;margin:0 auto;padding:10px 16px 40px;}
.faq-inner{background:var(--dark2);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 26px;}
.faq-heading{font-family:'Manrope',sans-serif;font-size:21px;font-weight:800;color:var(--text);margin-bottom:10px;}
.faq-lead{font-size:13.5px;line-height:1.75;color:var(--text-dim);margin-bottom:20px;}
.faq-sub{font-family:'Manrope',sans-serif;font-size:14px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;}
.faq-item{border-top:1px solid var(--border);padding:14px 0;}
.faq-item:first-of-type{border-top:none;}
.faq-q{font-weight:600;font-size:13.5px;color:var(--text);margin-bottom:5px;}
.faq-a{font-size:13px;line-height:1.7;color:var(--text-dim);}

/* PDF TOOLS — shared UI components */
.pdf-dropzone{border:2px dashed var(--border-gold);border-radius:var(--r-lg);padding:36px 20px;text-align:center;cursor:pointer;background:var(--dark3);transition:all .2s;}
.pdf-dropzone:hover,.pdf-dropzone.pdf-drop-active{border-color:var(--gold);background:var(--gold-dim);}
.pdf-dropzone .pdf-drop-icon{font-size:34px;margin-bottom:8px;}
.pdf-dropzone .pdf-drop-text{font-size:13.5px;color:var(--text);font-weight:600;}
.pdf-dropzone .pdf-drop-sub{font-size:11.5px;color:var(--text-muted);margin-top:4px;}
.pdf-file-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.pdf-file-chip{display:flex;align-items:center;gap:10px;background:var(--dark3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12.5px;}
.pdf-file-chip .pdf-file-name{flex:1;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pdf-file-chip .pdf-file-size{color:var(--text-muted);font-size:11px;}
.pdf-file-chip .pdf-file-remove{background:var(--dark4);border:1px solid var(--border);color:var(--text-muted);border-radius:7px;width:26px;height:26px;cursor:pointer;flex-shrink:0;}
.pdf-progress-bar{display:none;background:var(--dark3);border-radius:8px;height:8px;overflow:hidden;margin-top:10px;position:relative;}
.pdf-progress-fill{background:linear-gradient(135deg,var(--gold),var(--gold-light));height:100%;width:0%;transition:width .2s;}
.pdf-progress-label{font-size:11px;color:var(--text-muted);margin-top:5px;}
.pdf-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:14px;}
.pdf-thumb-item{background:var(--dark3);border:2px solid var(--border);border-radius:10px;padding:6px;text-align:center;cursor:pointer;transition:all .15s;position:relative;}
.pdf-thumb-item img{width:100%;border-radius:5px;display:block;box-shadow:0 1px 4px rgba(0,0,0,.15);}
.pdf-thumb-item.pdf-thumb-selected{border-color:var(--red);background:rgba(209,67,67,0.08);}
.pdf-thumb-item .pdf-thumb-num{font-size:10.5px;color:var(--text-dim);font-weight:600;margin-top:5px;}
.pdf-thumb-item .pdf-thumb-check{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--dark2);border:1.5px solid var(--border);font-size:10px;display:flex;align-items:center;justify-content:center;}
.pdf-thumb-item.pdf-thumb-selected .pdf-thumb-check{background:var(--red);border-color:var(--red);color:#fff;}
.pdf-result-box{background:var(--dark2);border:1px solid var(--border-gold);border-radius:var(--r-lg);padding:20px;margin-top:16px;text-align:center;}

/* FOOTER */
footer{position:relative;z-index:10;text-align:center;padding:24px 20px;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border);margin-top:20px;}
footer a{color:var(--gold);text-decoration:none;transition:color .15s;}
footer a:hover{color:var(--gold-light);}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:10px;}

/* SCROLLBAR */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--dark2);}
::-webkit-scrollbar-thumb{background:var(--dark5);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}

/* RESPONSIVE */
@media(max-width:640px){
  .stats-row{display:none;}
  .site-title{font-size:52px;}
  .modal-body{padding:16px;}
  .form-grid{grid-template-columns:1fr;}
  .panel-header{padding:16px;}
  .calc-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
}
@media(max-width:440px){
  .cat-tab .tab-label{display:none;}
  .cat-tab{padding:10px 16px;}
}
