/* ============================================================
   NOVAGRAM — blue design system (matches the logo)
   ============================================================ */
:root{
  --grad-top:#3BB6FF;
  --grad-bottom:#1379E6;
  --brand:#1E88F5;
  --brand-600:#1477E6;
  --brand-700:#0F62D6;
  --ink:#0C2340;
  --ink-soft:#48607F;
  --bg:#EAF3FF;
  --bg-2:#F5F9FF;
  --surface:#FFFFFF;
  --line:#DCEAFB;
  --line-2:#C9DEF7;
  --good:#17B26A;
  --warn:#F79009;
  --danger:#E5484D;
  --shadow-sm:0 2px 8px rgba(20,119,230,.08);
  --shadow:0 12px 30px rgba(20,119,230,.14);
  --shadow-lg:0 24px 60px rgba(15,98,214,.20);
  --radius:18px;
  --radius-sm:12px;
  --maxw:1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 80% -10%, #DCEEFF 0%, rgba(220,238,255,0) 60%),
    linear-gradient(180deg,#EAF3FF 0%, #F5F9FF 40%, #FFFFFF 100%);
  background-attachment:fixed;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand-600);text-decoration:none}
a:hover{color:var(--brand-700)}
h1,h2,h3{line-height:1.2;color:var(--ink);margin:0 0 .4em}
h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.3rem,2.5vw,1.7rem);font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.muted{color:var(--ink-soft)}
.mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace}
.small{font-size:.85rem}
.strong{font-weight:700}
.mt{margin-top:2.4rem}

/* ---------- buttons ---------- */
.btn-primary{
  display:inline-block;
  background:linear-gradient(180deg,var(--brand) 0%,var(--brand-700) 100%);
  color:#fff;font-weight:700;
  padding:.8rem 1.5rem;border-radius:999px;border:0;cursor:pointer;
  box-shadow:0 8px 20px rgba(20,119,230,.35);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
  font-size:1rem;
}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.05);color:#fff;box-shadow:0 12px 26px rgba(20,119,230,.45)}
.btn-primary.full{width:100%;text-align:center}
.btn-ghost{
  display:inline-block;background:#fff;color:var(--brand-700);font-weight:600;
  padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line-2);cursor:pointer;
  transition:all .15s ease;
}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand-700);background:var(--bg-2)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink)}
.brand img{border-radius:10px;box-shadow:var(--shadow-sm)}
.brand-name{font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.brand-accent{color:var(--brand)}
.brand.small .brand-name{font-size:1rem}
.nav-links{display:flex;align-items:center;gap:1.1rem}
.nav-links>a{font-weight:600;color:var(--ink-soft)}
.nav-links>a:hover{color:var(--brand-700)}
.lang-switch{display:flex;gap:.15rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}
.lang-switch a{font-size:.75rem;font-weight:700;color:var(--ink-soft);padding:.25rem .5rem;border-radius:999px}
.lang-switch a.active{background:var(--brand);color:#fff}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  border:1px solid var(--line-2);background:#fff;border-radius:12px;cursor:pointer;padding:0}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:0 auto;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- flash ---------- */
.flash-area{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.flash{padding:.8rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;border:1px solid}
.flash-ok{background:#E8F8F0;color:#0B7A4B;border-color:#B7E7CF}
.flash-error{background:#FDECEC;color:#B42318;border-color:#F6C9C6}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:2.5rem 0 0}
.hero-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center;padding-top:1rem;padding-bottom:1rem}
.pill{display:inline-block;background:var(--surface);border:1px solid var(--line-2);color:var(--brand-700);
  font-weight:700;font-size:.8rem;padding:.4rem .9rem;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:1rem}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:36ch}
.hero-logo{display:flex;justify-content:center}
.hero-logo img{filter:drop-shadow(0 24px 44px rgba(15,98,214,.35));animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem auto 0;padding-bottom:1rem}
.stat{
  background:linear-gradient(180deg,#fff 0%,#F7FBFF 100%);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:1.3rem 1.4rem;box-shadow:var(--shadow-sm);
}
.stat-num{font-size:clamp(1.3rem,3vw,2rem);font-weight:800;color:var(--brand-700);letter-spacing:-.02em}
.stat-num span{font-size:.9rem;color:var(--ink-soft);font-weight:600}
.stat-label{color:var(--ink-soft);font-weight:600;font-size:.9rem;margin-top:.2rem}
.admin-stats{margin-top:.5rem}

/* ---------- sections ---------- */
.section{padding:2.4rem 0}
.how{
  background:linear-gradient(120deg,#F0F7FF,#FFFFFF);
  border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.8rem;box-shadow:var(--shadow-sm);
}
.how h2{margin-bottom:.4rem}
.how p{margin:0;color:var(--ink-soft);max-width:70ch}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.search{display:flex;background:#fff;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;box-shadow:var(--shadow-sm)}
.search input{border:0;outline:0;padding:.6rem 1rem;min-width:220px;font-size:.95rem;background:transparent}
.search button{border:0;background:var(--brand);color:#fff;padding:0 1.1rem;cursor:pointer;font-size:1rem}

/* ---------- proof cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.3rem}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease, box-shadow .18s ease;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-media{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#E7F2FF,#D6E9FF);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.no-media{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.4rem}
.no-media.big{font-size:5rem;min-height:300px}
.verified-tag{
  position:absolute;top:10px;left:10px;background:rgba(23,178,106,.95);color:#fff;
  font-weight:700;font-size:.72rem;padding:.3rem .6rem;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.15)
}
.verified-tag.static{position:static;display:inline-block;margin-bottom:.6rem}
.card-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.7rem}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.blogger{font-weight:800;color:var(--ink)}
.date{color:var(--ink-soft);font-size:.82rem;font-weight:600}
.card-metrics{display:flex;gap:.6rem}
.metric{flex:1;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .7rem}
.metric.paid{background:linear-gradient(180deg,#EAF7FF,#E1F1FF);border-color:var(--line-2)}
.m-num{display:block;font-weight:800;color:var(--brand-700);font-size:1.05rem}
.m-lab{font-size:.72rem;color:var(--ink-soft);font-weight:600}
.card-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.2rem}
.link{font-weight:700;font-size:.9rem}
.empty{text-align:center;color:var(--ink-soft);padding:3rem;background:#fff;border:1px dashed var(--line-2);border-radius:var(--radius)}

/* ---------- detail ---------- */
.back{display:inline-block;margin-bottom:1rem;font-weight:700}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.detail-media{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.detail-media img{width:100%;display:block}
.detail-info{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm)}
.kv{display:flex;flex-direction:column;gap:.7rem;margin:1rem 0}
.kv>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.6rem}
.kv .k{color:var(--ink-soft);font-weight:600}
.kv .v{font-weight:700;text-align:right}
.kv .v.strong{color:var(--brand-700)}
.detail-cta{margin-top:1.2rem}
.admin-only-box{margin-top:1.4rem;background:#FFF9EC;border:1px solid #F3E2B8;border-radius:var(--radius-sm);padding:1rem}
.admin-tag{font-weight:800;color:#B5760B;font-size:.8rem;margin-bottom:.4rem}

/* ---------- auth ---------- */
.auth{display:flex;justify-content:center}
.auth-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:2.2rem;box-shadow:var(--shadow-lg);width:100%;max-width:400px;text-align:center;
}
.auth-card img{border-radius:14px;margin-bottom:.6rem}
.auth-card form{display:flex;flex-direction:column;gap:.9rem;margin-top:1.2rem;text-align:left}
label{font-weight:600;font-size:.9rem;color:var(--ink);display:flex;flex-direction:column;gap:.35rem}
label small{color:var(--ink-soft);font-weight:500}
input,textarea,select{
  font-family:inherit;font-size:1rem;color:var(--ink);
  background:#fff;border:1.5px solid var(--line-2);border-radius:var(--radius-sm);
  padding:.7rem .85rem;outline:0;transition:border-color .15s ease, box-shadow .15s ease;width:100%;
}
input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(30,136,245,.14)}

/* ---------- panel / forms ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-sm);margin-top:1rem}
.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;margin-top:1rem}
.grid-form .full{grid-column:1 / -1}
.link-check{display:flex;gap:.6rem}
.link-check input{flex:1}
.check-result{margin-top:.5rem;font-weight:700;font-size:.9rem;min-height:1.1em}
.check-result.dup{color:var(--danger)}
.check-result.ok{color:var(--good)}
.check-result.bad{color:var(--warn)}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.edit-preview img{max-width:260px;border-radius:var(--radius-sm);border:1px solid var(--line)}

/* ---------- records table ---------- */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-top:1rem}
.records{width:100%;border-collapse:collapse;min-width:820px}
.records th,.records td{padding:.75rem .9rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.records th{background:var(--bg-2);color:var(--ink-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.records tbody tr:hover{background:#F7FBFF}
.records .private{color:#B5760B;background:#FFFBF0}
.lock{opacity:.6}
.row-actions{display:flex;gap:.5rem;align-items:center}
.row-actions form{margin:0}
.del{background:#FDECEC;border:1px solid #F6C9C6;color:#B42318;border-radius:8px;padding:.25rem .5rem;cursor:pointer}
.del:hover{background:#f9dada}

/* ---------- download page ---------- */
.nav-dl{padding:.5rem 1rem;font-size:.9rem}
.dl{display:flex;justify-content:center}
.dl-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:2.4rem 2rem;box-shadow:var(--shadow-lg);width:100%;max-width:520px;text-align:center;
}
.dl-logo{border-radius:20px;box-shadow:var(--shadow);margin-bottom:.8rem}
.store-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0 1rem}
.store-btn{
  display:flex;align-items:center;gap:.7rem;min-width:180px;
  background:linear-gradient(180deg,#12203a,#0b1830);color:#fff;
  padding:.8rem 1.2rem;border-radius:14px;border:1px solid #24344f;
  transition:transform .15s ease, box-shadow .15s ease;box-shadow:var(--shadow-sm);
}
.store-btn:hover{transform:translateY(-2px);color:#fff;box-shadow:var(--shadow)}
.store-btn svg{flex:0 0 auto;color:#fff}
.store-btn span{display:flex;flex-direction:column;line-height:1.15;text-align:left;font-weight:700;font-size:1.05rem}
.store-btn small{font-weight:500;font-size:.72rem;opacity:.8}
.back-home{display:inline-block;margin-top:.8rem}

/* ---------- lightbox (static site receipt viewer) ---------- */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,24,48,.82);
  display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:min(560px,92vw);max-height:88vh;border-radius:14px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);background:#fff}
.lb-close{position:absolute;top:16px;right:18px;width:44px;height:44px;border-radius:50%;
  border:0;background:#fff;color:var(--ink);font-size:1.1rem;cursor:pointer;box-shadow:var(--shadow)}
.lb-close:hover{background:var(--bg-2)}

/* ---------- footer ---------- */
.footer{margin-top:3rem;background:linear-gradient(180deg,#0F62D6,#0B3E8C);color:#DCEBFF}
.footer .brand-name{color:#fff}
.footer .brand-accent{color:#9FD0FF}
.footer-inner{padding:2.2rem 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.footer p{margin:0;max-width:60ch}
.footer .muted{color:#9FC2F0}

/* ---------- responsive ---------- */
@media (max-width:820px){
  /* mobile nav = hamburger dropdown */
  .nav-toggle{display:flex}
  .nav-inner{position:relative}
  .nav-links{
    position:absolute;top:calc(100% + 10px);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:.35rem;
    background:#fff;border:1px solid var(--line);border-radius:16px;
    padding:.7rem;box-shadow:var(--shadow-lg);display:none;
  }
  .nav-links.open{display:flex}
  .nav-links>a{padding:.8rem .9rem;border-radius:10px;color:var(--ink);font-weight:600}
  .nav-links>a:hover{background:var(--bg-2)}
  .nav-dl{text-align:center;margin-top:.2rem}
  .lang-switch{justify-content:center;margin-top:.4rem;align-self:center;padding:4px}
  .lang-switch a{padding:.45rem .95rem;font-size:.85rem}

  /* layout */
  .hero{padding-top:1.5rem}
  .hero-inner{grid-template-columns:1fr;gap:1rem}
  .hero-logo{order:-1}
  .hero-logo img{width:118px;height:118px}
  h1{font-size:1.65rem}
  .stats{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .grid-form{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .brand-name{font-size:1.05rem}

  /* forms / search fit narrow screens */
  .section-head{gap:.8rem}
  .section-head .search{width:100%}
  .search input{min-width:0;flex:1;width:100%}
  .link-check{flex-wrap:wrap}
  .link-check input{min-width:0}
  .link-check .btn-ghost{width:100%}

  /* store buttons fill width */
  .store-btn{flex:1 1 100%}
  .dl-card{padding:1.8rem 1.2rem}
}

@media (max-width:380px){
  .wrap{padding:0 14px}
  .brand img{width:34px;height:34px}
  .brand-name{font-size:.98rem}
  .stat-num{font-size:1.5rem}
}
