:root{
  --bg:#f6f8fb; --card:#ffffff; --muted:#6b7280; --accent:#0b7a4d; --accent-2:#0f6efd; --glass: rgba(11,122,77,0.06);
  --text:#0f1724; --success:#0b7a4d; --danger:#d14343;
}
*{box-sizing:border-box}
html{height:100%;scroll-behavior:smooth}
html,body{height:100%}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial; margin:0; background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
.site-header{position:sticky;top:0;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(255,255,255,0.6));backdrop-filter: blur(6px);box-shadow:0 1px 0 rgba(16,24,40,0.04);z-index:40}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.brand{font-weight:700;color:var(--accent)}
.nav-links{display:flex;gap:14px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap}
.nav-links a{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:600;font-size:14px}
.nav-links a.active{color:var(--accent);font-weight:700;text-decoration:underline}
.nav-links a:hover{background:transparent;color:var(--accent);text-decoration:underline}
.actions{display:flex;align-items:center;gap:8px}
.actions button{background:none;border:1px solid rgba(0,0,0,0.06);padding:6px 10px;border-radius:6px;cursor:pointer}
#loginBtn{background:var(--accent);color:#fff;border:none;padding:8px 14px;font-weight:600}

/* mobile menu button */
.mobile-menu{display:none;align-items:center;justify-content:center;background:#fff;border:1px solid #cbd8e2;color:#102b46;font-size:22px;line-height:1;padding:0;min-height:44px;min-width:44px;border-radius:8px;transition:all 160ms ease;cursor:pointer;box-shadow:0 2px 8px rgba(16,43,70,.08)}
.mobile-menu:active{background:#f0f4f8;transform:scale(.97)}
.mobile-menu::before{content:'☰';display:block;font-size:22px;line-height:1}
.mobile-menu[aria-expanded="true"]::before{content:'✕'}

/* overlay and body lock when mobile nav is open */
.navbar.nav-open::before{content:'';position:fixed;inset:0;background:rgba(0,0,0,0.28);z-index:45;pointer-events:auto}
body.nav-open-lock{overflow:hidden;height:100%}
.mobile-menu[aria-expanded="true"]{background:var(--glass);border-color:rgba(0,0,0,0.06);color:var(--accent)}


.hero{padding:56px clamp(16px,3vw,32px);border-radius:12px;margin:18px auto;max-width:1200px;position:relative;overflow:hidden}
.hero{background-image:linear-gradient(180deg, rgba(6,21,37,0.55), rgba(6,21,37,0.38)), url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&w=1650&q=80');background-size:cover;background-position:center;color:#fff}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,0.8fr);gap:clamp(20px,3vw,32px);align-items:center}
.hero h1{font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 8px;line-height:1.05;letter-spacing:-0.2px}
.hero p{color:rgba(255,255,255,0.85);margin:0 0 18px;font-size:1rem;max-width:64ch}
.cta{display:inline-block;background:linear-gradient(90deg,var(--accent),#3da1ff);color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;box-shadow:0 8px 24px rgba(15,110,253,0.12)}
.hero-card{background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(2,6,23,0.25);backdrop-filter: blur(6px);border:1px solid rgba(255,255,255,0.05)}

.section{max-width:1200px;margin:24px auto;padding:0 clamp(16px,3vw,24px)}
.section h2{margin-bottom:12px}
.grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}
.card{background:var(--card);padding:clamp(16px,2vw,24px);border-radius:12px;box-shadow:0 10px 30px rgba(2,6,23,0.06)}
.form-card input{width:100%;padding:8px;border:1px solid #e6e9ef;border-radius:6px;min-height:44px}
.form-card label{display:block;margin-bottom:8px;color:var(--muted);font-size:14px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row label{flex:1;min-width:220px}
.buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
button{background:var(--accent);color:#fff;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;min-height:44px}
button.alt{background:#fff;color:var(--accent);border:1px solid rgba(15,110,253,0.12)}

.result-card .metrics{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
.metrics > div{background:linear-gradient(180deg,rgba(0,0,0,0.02),transparent);padding:12px;border-radius:10px;min-width:160px}
.metrics small{color:var(--muted);font-weight:600}
.big{font-size:1.25rem;font-weight:800;margin-top:8px}
.chart-wrap{background:linear-gradient(180deg,rgba(15,110,253,0.03),transparent);padding:10px;border-radius:8px}
.chart-row{display:flex;gap:12px;margin-top:12px}
.chart-row canvas{flex:1}
.result-actions{display:flex;gap:8px;margin-top:12px}

.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.planner-grid .card{display:flex;flex-direction:column;gap:10px}
.card-image{width:100%;height:110px;object-fit:cover;border-radius:8px}
.metric.small{margin-top:10px}

.inflation-table{margin-top:12px;max-height:220px;overflow:auto}
.inflation-table table{width:100%;border-collapse:collapse}
.inflation-table th,.inflation-table td{padding:8px;border-bottom:1px solid #f1f3f7;text-align:right}
.inflation-table th{text-align:left}

/* tables generated by SIP calculator */
.result-table{margin-top:12px;max-height:240px;overflow:auto;width:100%;border-collapse:collapse}
.result-table th,.result-table td{padding:8px;border-bottom:1px solid #f1f3f7;text-align:right}
.result-table th{text-align:left}

.site-footer{padding:18px 20px;text-align:center;color:var(--muted)}

/* responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .planner-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (max-width: 768px){
  .nav-links{display:none}
  .brand{font-size:18px}
  .mobile-menu{display:inline-flex !important}
  .navbar{position:relative;padding:10px 16px}
  .navbar.nav-open .nav-links{display:flex !important;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--card);padding:12px;border-radius:0 0 10px 10px;box-shadow:0 12px 40px rgba(2,6,23,0.12);z-index:50;border-top:1px solid #f1f3f7}
  .navbar.nav-open .nav-links li{margin:6px 0;list-style:none}
  .navbar.nav-open .nav-links a{min-height:44px;display:flex;align-items:center;padding:12px 16px;color:var(--text)}
  .navbar.nav-open .nav-links a:hover{background:var(--glass);border-radius:8px}
  .hero{padding:40px 16px}
  .hero p{font-size:0.95rem}
  .section{padding:0 16px}
  .card{padding:16px}
  .actions button{padding:8px 12px}
  .cta{padding:14px 20px}
  .metrics > div{min-width:140px}
}

@media (max-width: 480px){
  .hero h1{font-size:1.5rem}
  .hero p{font-size:0.9rem}
  .section h2{font-size:1.25rem}
  .card h3{font-size:1rem}
  .navbar{gap:10px}
  .brand{font-size:16px}
  .actions{gap:6px}
  .actions button{font-size:14px;padding:6px 10px}
  .cta{font-size:14px;padding:12px 16px}
  .planner-grid{grid-template-columns:1fr}
  .metrics{display:flex;flex-direction:column;gap:10px}
  .metrics > div{min-width:unset;width:100%}
  .chart-row{flex-direction:column}
  .chart-row canvas{height:200px}
  .result-actions{flex-direction:column}
  .inflation-table{max-height:150px}
  .result-table{max-height:150px}
  .row{flex-direction:column}
}

/* Mobile-friendly layout polish */
body{overflow-x:hidden}
main,section,article,aside{min-width:0}
a,button,input,select,textarea{font:inherit}
input,select,textarea{width:100%;max-width:100%}
textarea{min-height:110px;resize:vertical}
.hero-card,.card,.chart-wrap,.chart-shell,.site-footer,.section{max-width:100%}
.inflation-table,.result-table,.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.inflation-table table,.result-table table{min-width:320px}
.fund-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.simulation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.analyzer-hero{padding:60px 24px}
.analyzer-hero .inner{max-width:1184px;margin:0 auto}

@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr;gap:28px}
  .grid{grid-template-columns:1fr}
  .planner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fund-grid{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .simulation-grid{grid-template-columns:1fr}
  .chart-row{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero{padding:60px 24px}
  .section{padding:50px 20px}
}

@media (max-width: 640px){
  .hero{padding:48px 20px}
  .section{padding:40px 16px}
  .card{padding:20px}
  .row{display:block}
  .row label{min-width:0}
  .metrics,.planner-grid,.chart-row{grid-template-columns:1fr}
  .result-actions{flex-direction:column}
  .result-actions button{width:100%}
  .metrics > div{min-width:0;width:100%}
  .chart-row canvas{height:220px}
  .inflation-table,.result-table{max-height:180px}
  .analyzer-hero{padding:40px 16px}
}

/* dark mode */
body.dark{--bg:#0b1220;--card:#071426;--muted:#9aa6b2;--text:#e6eef6;--glass:rgba(255,255,255,0.03);--accent:#66b2ff}

/* tooltips simple */
.tooltip{position:relative}
.tooltip:hover::after{content:attr(data-tip);position:absolute;left:0;top:110%;background:#111;color:#fff;padding:6px 8px;border-radius:6px;font-size:12px;white-space:nowrap}

/* info icon */
.info{display:inline-block;margin-left:8px;background:rgba(0,0,0,0.04);color:var(--muted);width:20px;height:20px;border-radius:50%;text-align:center;line-height:20px;font-size:12px;cursor:help}
.info:hover{background:var(--glass);color:var(--accent)}
.info::after{content:attr(data-tip);display:none}
.info:hover::after{display:block;position:absolute;background:#111;color:#fff;padding:6px 10px;border-radius:6px;font-size:13px;white-space:nowrap;margin-top:6px}

/* inline validation */
.error{color:var(--danger);font-size:13px;margin-top:6px}

/* copy/export buttons */
.result-actions button.alt{background:#fff;color:var(--accent);border:1px solid rgba(15,110,253,0.12)}

/* mobile nav animation tweak */
.navbar .nav-links{transition:all 260ms ease-in-out}

/* small polish */
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Professional visual refresh */
:root{--bg:#f5f8fb;--card:#fff;--muted:#607087;--accent:#147a70;--accent-2:#d9aa55;--glass:#e7f4f2;--text:#17263a;--success:#147a70;--danger:#c24444}
body{font-family:"DM Sans",Inter,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
.site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid #e5ebf1;box-shadow:none}
.navbar{max-width:1240px;min-height:72px;padding:0 28px}.brand{font-size:18px;color:#102b46;letter-spacing:-.35px}.brand:before{content:"o";display:inline-grid;place-items:center;width:25px;height:25px;margin-right:9px;border-radius:50%;background:var(--accent);color:#fff;font-size:16px}
.nav-links{gap:2px}.nav-links a{font-size:13px;color:#526176;padding:8px 9px}.nav-links a:hover,.nav-links a.active{color:#0d635b;background:var(--glass);text-decoration:none}.actions button,button{background:var(--accent);border-radius:8px;font-weight:700}.actions button:hover,button:hover{background:#0d635b}.actions #loginBtn{background:#102b46}.actions #themeToggle,.actions .mobile-menu{background:#fff;color:var(--text);border:1px solid #dce5ec}
.hero{max-width:none;margin:0;border-radius:0;padding:88px max(28px,calc((100vw - 1184px)/2));background:radial-gradient(circle at 84% 20%,rgba(67,166,150,.46),transparent 26%),linear-gradient(112deg,rgba(9,31,55,.97),rgba(16,59,74,.9)),url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1800&q=85") center/cover}
.hero-inner{max-width:1184px;grid-template-columns:1.25fr .72fr;gap:72px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,5.2vw,4.65rem);letter-spacing:-2px;line-height:1.04;max-width:720px}.hero p{font-size:18px;max-width:610px}.cta,.btn{background:var(--accent-2);color:#102b46;font-weight:700;padding:13px 20px;border-radius:8px}.cta:after{content:" >";font-size:18px}.hero-card{padding:25px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.1)}
.section{max-width:1184px;padding:70px 28px}.section>h1,.section>h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3vw,2.7rem);color:#102b46;letter-spacing:-.7px}.section>h1:after,.section>h2:after{content:"";display:block;width:48px;height:3px;margin-top:14px;background:var(--accent-2)}
.card{padding:28px;border:1px solid #e2e9ef;border-radius:12px;box-shadow:0 14px 40px rgba(21,41,69,.07)}.card h3,.card h4{color:#102b46}.grid{gap:24px}.form-card input{padding:11px 12px;background:#fbfcfe;border-color:#d7e0e8;border-radius:7px}.form-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(20,122,112,.12)}.form-card label{color:#405166;font-weight:700}.metrics{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px}.metrics>div{min-width:0!important;padding:16px!important;background:var(--glass)!important;border-left:3px solid var(--accent);border-radius:9px}.big{color:#102b46}.chart-wrap,.chart-row canvas{border:1px solid #e2e9ef;background:#fbfcfd;border-radius:10px}.chart-wrap{padding:14px}.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.planner-grid{gap:20px}.planner-grid .card{margin:0}.card-image{height:170px}.metric.small{background:var(--glass);color:#0d635b}.site-footer,footer{background:#102b46;color:#c6d1dc}.site-footer a,footer a{color:#c7e9e2}
body.dark{--bg:#0c1724;--card:#142231;--text:#edf3f8;--muted:#adbdcb;--glass:#153b3d}body.dark .site-header,body.dark header{background:rgba(20,34,49,.94)}body.dark .form-card input,body.dark .chart-wrap,body.dark .chart-row canvas{background:#101c2a;color:#fff}body.dark .site-footer,body.dark footer{background:#08111b}
@media(max-width:820px){.nav-links{display:none}.mobile-menu{display:inline-block}.navbar{position:relative;min-height:64px;padding:0 20px}.navbar.nav-open .nav-links{display:flex;position:absolute;top:64px;left:12px;right:12px;z-index:50;flex-direction:column;align-items:stretch;padding:10px;background:var(--card);border:1px solid #e2e9ef;border-radius:10px;box-shadow:0 14px 40px rgba(21,41,69,.12)}.navbar.nav-open .nav-links a{font-size:14px;padding:10px}.hero{padding:60px 24px}.hero-inner{grid-template-columns:1fr;gap:32px}.planner-grid{grid-template-columns:1fr 1fr}.section{padding:50px 20px}.grid{grid-template-columns:1fr}.actions #loginBtn{display:none}}
@media(max-width:540px){.navbar{padding:0 14px}.brand{font-size:16px}.hero{padding:48px 20px}.hero p{font-size:16px}.section{padding:40px 16px}.card{padding:20px}.row{display:block}.metrics,.planner-grid,.chart-row{grid-template-columns:1fr}.result-actions button{flex:1}}

/* Reliable mobile navigation */
@media (max-width: 900px) {
  .navbar {
    position:relative;
    min-height:64px;
    flex-wrap:wrap;
    align-items:center;
    padding:10px 16px;
  }
  .navbar.nav-open::before { display:none; }
  #mobileMenuBtn.mobile-menu {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px;
    padding:0;
    border:1px solid #cbd8e2;
    background:#fff;
    color:#102b46;
    border-radius:8px;
    position:relative;
    z-index:300;
  }
  .nav-links {
    display:none !important;
    width:100%;
    order:3;
    flex-direction:column;
    align-items:stretch;
    padding:10px;
    margin:8px 0 0;
    background:var(--card);
    border:1px solid #dce5ec;
    border-radius:10px;
    box-shadow:0 18px 42px rgba(16,43,70,.2);
    list-style:none;
  }
  .navbar.nav-open .nav-links,
  .navbar:focus-within .nav-links {
    display:flex !important;
  }
  .nav-links li { width:100%; margin:0; }
  .nav-links a {
    display:block;
    padding:12px 14px;
    font-size:14px;
    border-radius:8px;
  }
  .nav-links a:hover,
  .nav-links a.active {
    background:var(--glass);
  }
}
