*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#f0f4ff;--card:#ffffff;--border:#dde3f0;--muted:#f1f5ff;--hover:#e6eaf8;
  --text:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;
  --brand:#4f46e5;--brand-light:#6366f1;--brand-glow:rgba(79,70,229,0.12);
  --success:#059669;--warning:#d97706;
  --bg-gradient:linear-gradient(135deg,#eef2ff 0%,#f0f4ff 40%,#faf5ff 100%);
}
[data-theme="dark"]{
  --bg:#0f1117;--card:#161b27;--border:#1e2535;--muted:#252d3d;--hover:#2a3347;
  --text:#f1f5f9;--text-muted:#94a3b8;--text-faint:#475569;
  --brand:#6366f1;--brand-light:#818cf8;--brand-glow:rgba(99,102,241,0.2);
  --success:#10b981;--warning:#f59e0b;--bg-gradient:none;
}
html{scroll-behavior:smooth;}
body{
  font-family:'DM Sans',sans-serif;background:var(--bg);background-image:var(--bg-gradient);
  color:var(--text);min-height:100vh;
}
body::before{
  content:'';position:fixed;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:48px 48px;opacity:0.3;pointer-events:none;z-index:0;
}
body>*{position:relative;z-index:1;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--card);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* ── STICKY HEADER ── */
#site-header{
  position:sticky;top:0;z-index:200;
  border-bottom:1px solid var(--border);
  background:var(--card);
  box-shadow:0 1px 12px rgba(0,0,0,0.07);
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.logo-mark{
  width:36px;height:36px;border-radius:9px;
  background:linear-gradient(135deg,#4f46e5,#818cf8);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(99,102,241,0.35);flex-shrink:0;
}
.privacy-pill{
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,rgba(16,185,129,0.1),rgba(99,102,241,0.07));
  border:1px solid rgba(16,185,129,0.22);border-radius:8px;
  padding:6px 12px;font-size:0.76rem;color:var(--text-muted);flex:1;min-width:0;
}
.privacy-pill strong{color:var(--text);}

/* ── LAYOUT ── */
#app-layout{
  max-width:1280px;margin:0 auto;padding:20px 24px 48px;
  display:flex;gap:20px;align-items:flex-start;
}
/* Left col scrolls with page */
#left-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px;}
/* Right col sticks below header */
#right-col{
  width:310px;flex-shrink:0;
  position:sticky;
  top:70px; /* updated by JS to match header height */
  display:flex;flex-direction:column;gap:12px;
  max-height:calc(100vh - 80px);
  overflow-y:auto;
  padding-right:2px;
}
#right-col::-webkit-scrollbar{width:3px;}

/* ── CARDS ── */
.glass-card{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 2px 12px rgba(99,102,241,0.05),0 1px 3px rgba(0,0,0,0.05);
}
[data-theme="dark"] .glass-card{box-shadow:none;}
.card-body{padding:16px;}
.section-title{
  font-family:'Syne',sans-serif;font-weight:700;font-size:0.68rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;
}

/* ── TABS ── */
.tab-bar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px;}
.tab-btn{
  font-family:'Syne',sans-serif;font-weight:500;font-size:0.79rem;
  padding:6px 12px;border-radius:7px;border:1px solid transparent;
  color:var(--text-muted);cursor:pointer;white-space:nowrap;background:transparent;
  transition:all 0.18s;
}
.tab-btn:hover{color:var(--text);background:var(--hover);}
.tab-btn.active{color:var(--brand-light);background:var(--brand-glow);border-color:var(--brand);}
.tab-panel{display:none;animation:fadeIn 0.22s ease-out;}
.tab-panel.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

/* ── INPUTS ── */
.inp{
  width:100%;background:var(--muted);border:1px solid var(--border);
  border-radius:9px;padding:9px 12px;color:var(--text);
  font-family:'DM Sans',sans-serif;font-size:0.875rem;outline:none;
  transition:border-color 0.18s,box-shadow 0.18s;
}
.inp:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);}
.inp::placeholder{color:var(--text-faint);}
select.inp{cursor:pointer;}
option{background:var(--card);color:var(--text);}
label.lbl{
  display:block;font-family:'Syne',sans-serif;font-size:0.71rem;font-weight:600;
  letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;
}
.field-gap{display:flex;flex-direction:column;gap:12px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* ── ACCORDION ── */
.accordion-wrap{
  border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:8px;
  transition:border-color 0.2s;
}
.accordion-wrap:has(.accordion-header.open){border-color:var(--brand);}
.accordion-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;cursor:pointer;border-radius:10px;
  transition:background 0.18s;user-select:none;
}
.accordion-header:hover{background:var(--hover);}
.accordion-header.open{background:var(--hover);border-radius:10px 10px 0 0;}
.accordion-body{
  display:none;padding:14px;border-top:1px solid var(--border);
  animation:fadeIn 0.22s ease-out;
}
.accordion-body.open{display:block;}
.chevron{transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);color:var(--text-muted);}
.chevron.rotated{transform:rotate(180deg);}

/* ── QR PREVIEW BOX ── */
#qr-container{
  display:flex;align-items:center;justify-content:center;
  min-height:240px;border-radius:12px;
  background:var(--muted);border:1px dashed var(--border);
  overflow:hidden;position:relative;
}
#qr-container canvas,#qr-container svg{border-radius:8px;display:block;max-width:100%;}
.qr-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:28px;text-align:center;
}
.qr-placeholder-icon{
  width:60px;height:60px;border-radius:14px;background:var(--border);
  display:flex;align-items:center;justify-content:center;
}

/* ── BUTTONS ── */
.btn{
  font-family:'Syne',sans-serif;font-weight:600;font-size:0.8rem;letter-spacing:0.02em;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 16px;border-radius:9px;border:none;cursor:pointer;
  white-space:nowrap;transition:all 0.18s;
}
.btn-brand{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 3px 10px rgba(99,102,241,0.3);}
.btn-brand:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(99,102,241,0.4);}
.btn-brand:active{transform:translateY(0);}
.btn-outline{background:var(--muted);color:var(--text);border:1px solid var(--border);}
.btn-outline:hover{background:var(--hover);border-color:var(--brand);color:var(--brand-light);}
.btn-sm{padding:5px 10px;font-size:0.72rem;}
.btn:disabled{opacity:0.5;pointer-events:none;}
.w-full{width:100%;}

/* ── COLOR PICKERS ── */
input[type="color"]{
  -webkit-appearance:none;border:none;
  width:36px;height:36px;border-radius:7px;cursor:pointer;padding:0;background:none;
}
input[type="color"]::-webkit-color-swatch-wrapper{padding:0;}
input[type="color"]::-webkit-color-swatch{border:none;border-radius:7px;}
.color-swatch-wrap{
  display:flex;align-items:center;gap:9px;
  background:var(--muted);border:1px solid var(--border);border-radius:9px;
  padding:5px 10px 5px 5px;cursor:pointer;transition:border-color 0.18s;
}
.color-swatch-wrap:hover{border-color:var(--brand);}

/* ── SHAPE PILLS ── */
.shape-pill{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:8px 10px;background:var(--muted);border:2px solid var(--border);
  border-radius:9px;cursor:pointer;transition:all 0.18s;flex:1;min-width:0;
}
.shape-pill:hover{border-color:var(--brand-light);background:var(--hover);}
.shape-pill.active{border-color:var(--brand);background:var(--brand-glow);}
.shape-pill svg{color:var(--text-muted);transition:color 0.18s;}
.shape-pill.active svg{color:var(--brand-light);}
.shape-pill span{font-size:0.65rem;font-family:'Syne',sans-serif;font-weight:600;color:var(--text-muted);}
.shape-pill.active span{color:var(--brand-light);}
.pill-row{display:flex;gap:6px;flex-wrap:wrap;}

/* ── TOGGLE ── */
.toggle-wrap{display:flex;align-items:center;gap:9px;cursor:pointer;}
.toggle{
  width:42px;height:23px;border-radius:12px;
  background:var(--muted);border:2px solid var(--border);
  position:relative;transition:background 0.22s,border-color 0.22s;cursor:pointer;flex-shrink:0;
}
.toggle.on{background:var(--brand);border-color:var(--brand);}
.toggle::after{
  content:'';position:absolute;top:2px;left:2px;
  width:15px;height:15px;border-radius:50%;background:#fff;
  transition:transform 0.22s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 1px 4px rgba(0,0,0,0.3);
}
.toggle.on::after{transform:translateX(19px);}

/* ── FILE DROP ── */
.file-drop{
  border:2px dashed var(--border);border-radius:11px;padding:18px;
  text-align:center;cursor:pointer;transition:all 0.18s;background:var(--muted);
}
.file-drop:hover{border-color:var(--brand);background:var(--brand-glow);}
.file-drop.has-file{border-color:var(--success);background:rgba(16,185,129,0.06);}
.file-drop input{display:none;}

/* ── RANGE ── */
input[type="range"]{
  -webkit-appearance:none;height:4px;border-radius:2px;
  background:var(--border);outline:none;cursor:pointer;width:100%;margin-top:8px;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:15px;height:15px;border-radius:50%;
  background:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);cursor:pointer;
}

/* ── EC BADGE ── */
.ec-badge{
  display:inline-flex;align-items:center;gap:4px;padding:2px 7px;
  border-radius:5px;font-size:0.69rem;font-family:'Syne',sans-serif;font-weight:600;
}
.ec-badge.high{background:rgba(245,158,11,0.15);color:#f59e0b;border:1px solid rgba(245,158,11,0.3);}
.ec-badge.normal{background:rgba(16,185,129,0.1);color:var(--success);border:1px solid rgba(16,185,129,0.25);}

/* ── LIVE DOT ── */
.live-dot{
  width:7px;height:7px;border-radius:50%;background:var(--success);flex-shrink:0;
  animation:pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(16,185,129,0.4);}
  50%{opacity:0.7;box-shadow:0 0 0 5px rgba(16,185,129,0);}
}

/* ── TOAST ── */
#toast{
  position:fixed;bottom:24px;right:24px;z-index:9999;
  display:none;background:var(--card);border:1px solid var(--border);
  border-radius:11px;padding:10px 16px;font-family:'Syne',sans-serif;
  font-size:0.8rem;font-weight:600;box-shadow:0 8px 28px rgba(0,0,0,0.35);
  animation:slideIn 0.3s cubic-bezier(0.16,1,0.3,1);max-width:300px;
  gap:9px;align-items:center;
}
#toast.show{display:flex;}
@keyframes slideIn{from{transform:translateX(20px);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ── PROGRESS BAR ── */
.progress-bar{width:100%;height:5px;border-radius:3px;background:var(--border);margin-top:8px;overflow:hidden;}
.progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--brand),var(--brand-light));width:0%;transition:width 0.3s;}

/* ── BULK PREVIEW SCROLLER ── */
#bulk-template-preview{
  max-height:150px; overflow-y:auto; white-space:pre-wrap; font-size:0.72rem;
  line-height:1.6; background:var(--card); border:1px solid var(--border); border-radius:7px;
  padding:10px 12px; margin-bottom:11px;
}

/* ── SEO SECTION ── */
.seo-section{max-width:860px;margin:0 auto;padding:0 24px 60px;}
.seo-accordion-header{
  cursor:pointer;padding:13px 16px;border:1px solid var(--border);border-radius:9px;
  margin-bottom:5px;font-family:'Syne',sans-serif;font-weight:600;font-size:0.875rem;
  color:var(--text);transition:background 0.18s;display:flex;justify-content:space-between;align-items:center;
}
.seo-accordion-header:hover{background:var(--hover);}
.seo-accordion-body{
  display:none;padding:13px 16px;color:var(--text-muted);line-height:1.7;font-size:0.875rem;
  border:1px solid var(--border);border-top:none;border-radius:0 0 9px 9px;margin-top:-5px;margin-bottom:10px;
}
.seo-accordion-body.open{display:block;}

/* ── RESPONSIVE (tablet) ── */
@media(max-width:900px){
  #app-layout{flex-direction:column;}
  #right-col{width:100%;position:static;max-height:none;overflow:visible;}
}

/* Transition helper */
*{transition:background-color 0.22s,border-color 0.22s,color 0.18s;}
input,textarea,select{transition:border-color 0.18s,box-shadow 0.18s;}

/* ══════════════════════════════════════════
   MOBILE STYLES — max-width: 768px
   Desktop completely untouched above.
══════════════════════════════════════════ */

/* MOBILE BAR hidden on desktop */
#mobile-bar{ display:none; }

@media(max-width:768px){

  /* Prevent layout wider than screen / initial zoom-out */
  html,body{ overflow-x:hidden; }
  #app-layout,#left-col,.glass-card{ max-width:100% !important;box-sizing:border-box; }
  img,canvas{ max-width:100% !important; }

  /* HEADER — position:fixed ensures it ALWAYS freezes on mobile */
  #site-header{ position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:200 !important;width:100% !important; }
  .header-inner{ padding:8px 12px;gap:6px;flex-wrap:nowrap; }
  .privacy-pill{ display:none; }
  .logo-mark{ width:28px;height:28px;border-radius:7px;flex-shrink:0; }
  .header-inner h1{ font-size:0.95rem !important; }
  .header-inner>div>p{ display:none; }
  .header-inner a[href="blog/index.html"]{ font-size:0.75rem !important;white-space:nowrap;flex-shrink:0; }
  #theme-toggle #theme-label{ display:none; }
  #theme-toggle{ padding:6px 9px !important;flex-shrink:0; }

  /* LAYOUT */
  #app-layout{ flex-direction:column;padding:10px 10px 24px;gap:10px; }
  #right-col{ display:none !important; }
  #left-col{ width:100%;gap:10px; }

  /* MOBILE BAR */
  /* Updated to improve MV, Al-Amin */
  #mobile-bar{
    display:flex;
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;

    z-index:199;

    background:rgba(22,27,39,0.92);
    backdrop-filter:blur(10px);

    border-bottom:1px solid var(--border);
    box-shadow:0 2px 10px rgba(0,0,0,.16);

    padding:5px 10px;

    align-items:center;
    gap:8px;

    box-sizing:border-box;
}
/*2nd improvement for MV, Al-Amin*/
  #mobile-bar-canvas-wrap{
    width:58px;
    height:58px;
    flex-shrink:0;

    border-radius:8px;
    overflow:hidden;

    background:var(--muted);
    border:1px solid var(--border);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.2rem;
}
/*Improvement 3, MV, Al-Amin*/
  #mobile-bar-canvas-wrap canvas{
    width:58px !important;
    height:58px !important;
    display:block;
}
  #mobile-bar-label{ flex:1;min-width:0;padding-top:1px; }
  #mobile-bar-label .bar-title{
    font-family:'Syne',sans-serif;font-weight:700;font-size:0.70rem;
    color:var(--text);display:flex;align-items:center;gap:5px;margin-bottom:4px;
  }
  #mobile-bar-label .bar-hints{ font-size:0.6rem;color:var(--text-faint);line-height:1.6; }
  #mobile-bar-btns{ display:flex;flex-direction:column;gap:4px;flex-shrink:0; }
  #mobile-bar-btns button{
    font-family:'Syne',sans-serif;font-weight:600;font-size:0.69rem;letter-spacing:0.02em;
    padding:5px 9px;border-radius:7px;border:none;cursor:pointer;
    display:flex;align-items:center;gap:4px;white-space:nowrap;transition:all 0.18s;
  }
  #mobile-bar-btns .mb-png{ background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 2px 8px rgba(99,102,241,0.3); }
  #mobile-bar-btns .mb-svg{ background:var(--muted);color:var(--text);border:1px solid var(--border); }

  /* TABS */
  .tab-bar{ flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;gap:4px; }
  .tab-bar::-webkit-scrollbar{ display:none; }
  .tab-btn{ padding:8px 12px;font-size:0.8rem;flex-shrink:0; }

  /* INPUTS */
  .inp{ padding:11px 12px;font-size:0.9rem; }
  .grid2{ grid-template-columns:1fr; }
  .card-body{ padding:12px; }
  .accordion-header{ padding:13px; }
  .pill-row{ gap:5px; }
  .shape-pill{ padding:7px 8px;flex:1;min-width:52px; }
  .seo-section{ padding:0 10px 48px; }

  /* TOAST */
  #toast{ bottom:16px;right:10px;left:10px;border-radius:11px;max-width:100%;justify-content:center; }

  /* FOOTER */
  footer{ padding:14px 10px; }
  footer>div{ justify-content:center;text-align:center; }
}
