/* ===== Paryagat Quiz – stylesheet ===== */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:linear-gradient(180deg,#eef2ff,#f8fafc 40%,#f1f5f9);color:#0f172a;min-height:100vh}
body.plain-bg{background:#f1f5f9}
a{color:#4f46e5}
.container{max-width:720px;margin:0 auto;padding:24px 16px}
.container-wide{max-width:1200px;margin:0 auto;padding:24px 16px}

/* Header */
.site-head{background:rgba(255,255,255,.75);backdrop-filter:blur(8px);
  border-bottom:1px solid #e2e8f0}
.site-head .inner{max-width:1100px;margin:0 auto;padding:12px 16px;
  display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:700;display:flex;align-items:center;gap:8px}
.muted{color:#64748b}
.small{font-size:13px}

/* Cards */
.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(2,6,23,.08)}
.card+.card{margin-top:22px}
.card h1{margin:0 0 6px;font-size:28px}
.card h2{margin:0 0 6px;font-size:21px}
.center{text-align:center}

/* Buttons */
.btn{display:inline-block;border:0;border-radius:12px;padding:12px 22px;font-size:15px;
  font-weight:600;cursor:pointer;text-decoration:none;transition:.15s;font-family:inherit}
.btn-primary{background:#4f46e5;color:#fff}
.btn-primary:hover{background:#4338ca}
.btn-success{background:#16a34a;color:#fff}
.btn-success:hover{background:#15803d}
.btn-danger{background:#dc2626;color:#fff}
.btn-ghost{background:#fff;color:#334155;border:1px solid #cbd5e1}
.btn-ghost:hover{background:#f8fafc}
.btn-sm{padding:7px 13px;font-size:13px;border-radius:9px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.row-gap{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.row-between{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}

/* Forms */
.field{display:block;margin-bottom:15px}
.field > span{display:block;font-size:14px;font-weight:600;margin-bottom:5px;color:#334155}
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=password],input[type=url],select,textarea{
  width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:10px;
  font-size:15px;font-family:inherit;background:#fff;color:#0f172a}
input:focus,select:focus,textarea:focus{outline:0;border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.18)}
input[type=color]{width:46px;height:40px;padding:2px;border:1px solid #cbd5e1;border-radius:8px}
textarea{resize:vertical}
.req{color:#dc2626}
/* Grey "placeholder" look until a State / UT is picked */
select:required:invalid{color:#94a3b8}
select option,select optgroup{color:#0f172a}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}

/* Alerts */
.alert{padding:12px 15px;border-radius:11px;margin:14px 0;font-size:14px}
.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.alert-ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.alert-warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}

/* Quiz */
.progress{height:9px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:14px 0 22px}
.progress > div{height:100%;background:#6366f1;transition:width .3s}
.opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:14px 16px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;
  cursor:pointer;margin-bottom:9px;font-size:15px;font-family:inherit;transition:.15s}
.opt:hover{border-color:#94a3b8;background:#f8fafc}
.opt.sel{border-color:#6366f1;background:#eef2ff}
.opt .letter{flex:0 0 30px;height:30px;border-radius:50%;background:#f1f5f9;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#475569}
.opt.sel .letter{background:#4f46e5;color:#fff}
.qimg{max-width:100%;max-height:270px;object-fit:contain;border-radius:11px;margin:12px 0;display:block}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:22px 0}
.stat{background:#f8fafc;border-radius:13px;padding:15px;text-align:center}
.stat b{display:block;font-size:20px}
.stat span{font-size:12px;color:#64748b}
.badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700}
.badge-green{background:#dcfce7;color:#15803d}
.badge-indigo{background:#e0e7ff;color:#4338ca}
.badge-amber{background:#fef3c7;color:#b45309}
.badge-slate{background:#f1f5f9;color:#475569}

/* Social */
.social{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;margin-top:15px}
.social a{display:flex;align-items:center;gap:7px;padding:11px 20px;border-radius:12px;
  color:#fff;text-decoration:none;font-weight:600;font-size:15px}
.fb{background:#1877F2}.ig{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888)}
.wa{background:#25D366}.tw{background:#000}.li{background:#0A66C2}

/* ===== CERTIFICATE ===== */
.cert{position:relative;width:100%;max-width:820px;aspect-ratio:1.414/1;margin:0 auto;
  box-shadow:0 20px 50px rgba(2,6,23,.22);overflow:hidden}
.cert-border{position:absolute;inset:12px;border:4px solid;border-radius:3px}
.cert-border-inner{position:absolute;inset:21px;border:1px solid;border-radius:3px}
.cert-dot{position:absolute;width:23px;height:23px;border-radius:50%}
.cert-dot.tl{left:12px;top:12px}.cert-dot.tr{right:12px;top:12px}
.cert-dot.bl{left:12px;bottom:12px}.cert-dot.br{right:12px;bottom:12px}
.cert-inner{position:relative;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:38px 58px}
.cert-logo{max-height:62px;width:auto;margin-bottom:10px;object-fit:contain}
.cert-title{margin:0;font-size:34px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}
.cert-rule{width:96px;height:4px;border-radius:99px;margin:10px 0 16px}
.cert-subtitle{margin:0;font-size:14px;color:#475569}
.cert-name{margin:8px 0 0;font-size:38px;font-weight:700;font-style:italic}
.cert-body{margin:16px 0 0;font-size:15px;line-height:1.65;color:#334155;max-width:560px}
.cert-footer{margin-top:auto;padding-top:30px;width:100%;display:flex;
  align-items:flex-end;justify-content:space-between;font-size:13px;color:#475569}
.cert-foot-col{text-align:left}.cert-foot-col.right{text-align:right}
.cert-foot-col.center{text-align:center}
.cert-line{display:block;width:120px;height:1px;margin:5px 0}
.cert-foot-col.right .cert-line{margin-left:auto}
.cert-foot-col code{font-size:12px;letter-spacing:.5px}

@media(max-width:700px){
  .cert-inner{padding:20px 26px}
  .cert-title{font-size:19px}.cert-name{font-size:21px}
  .cert-body{font-size:11px}.cert-footer{font-size:10px;padding-top:14px}
  .cert-line{width:66px}.cert-logo{max-height:38px}
  .grid2,.grid3,.stats{grid-template-columns:1fr 1fr}
}

/* ===== ADMIN ===== */
.admin-wrap{display:flex;min-height:100vh;background:#f1f5f9}
.sidebar{width:232px;flex:0 0 232px;background:#fff;border-right:1px solid #e2e8f0;
  padding:16px 12px;display:flex;flex-direction:column;gap:5px}
.sidebar .logo{font-weight:800;padding:10px 12px 16px;font-size:17px}
.sidebar a{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:10px;
  color:#475569;text-decoration:none;font-size:14px;font-weight:600}
.sidebar a:hover{background:#f1f5f9}
.sidebar a.active{background:#4f46e5;color:#fff}
.sidebar .logout{margin-top:auto;color:#dc2626}
.sidebar .logout:hover{background:#fef2f2}
.admin-main{flex:1;padding:30px;min-width:0}
.admin-main h1{margin:0 0 4px;font-size:25px}

.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:22px}
.scard{background:#fff;border-radius:16px;padding:19px;text-decoration:none;
  color:inherit;box-shadow:0 2px 8px rgba(2,6,23,.05);display:block}
.scard:hover{box-shadow:0 8px 20px rgba(2,6,23,.1)}
.scard .ico{font-size:23px}
.scard .num{font-size:25px;font-weight:800;margin-top:6px}
.scard .lbl{font-size:13px;color:#64748b}

table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.table-wrap{overflow-x:auto;background:#fff;border-radius:16px;
  box-shadow:0 2px 8px rgba(2,6,23,.05);margin-top:16px}
th{background:#f8fafc;text-align:left;padding:12px 14px;font-size:11px;
  text-transform:uppercase;letter-spacing:.5px;color:#64748b;white-space:nowrap}
td{padding:12px 14px;border-top:1px solid #f1f5f9;vertical-align:top}
tr:hover td{background:#fafbfc}

.q-item{background:#fff;border-radius:16px;padding:19px;margin-bottom:12px;
  box-shadow:0 2px 8px rgba(2,6,23,.05);display:flex;gap:16px;justify-content:space-between}
.q-item ul{margin:9px 0 0;padding-left:19px;font-size:14px;color:#475569}
.q-item li.correct{color:#16a34a;font-weight:700}
.opt-row{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.opt-row input[type=text]{flex:1}

.install-card{max-width:620px;margin:60px auto;background:#fff;border-radius:18px;
  padding:34px;box-shadow:0 10px 30px rgba(2,6,23,.1)}
.install-log{font-size:14px;color:#334155;line-height:1.85}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#4f46e5,#7c3aed);padding:16px}
.login-card{width:100%;max-width:385px;background:#fff;border-radius:18px;
  padding:34px;box-shadow:0 20px 50px rgba(2,6,23,.3)}

@media(max-width:860px){
  .admin-wrap{flex-direction:column}
  .sidebar{width:100%;flex:none;flex-direction:row;overflow-x:auto;
    border-right:0;border-bottom:1px solid #e2e8f0}
  .sidebar .logo{display:none}
  .sidebar .logout{margin-top:0}
  .sidebar a{white-space:nowrap}
  .admin-main{padding:18px}
  .cards4{grid-template-columns:1fr 1fr}
}

/* ===== Site logo ===== */
.brand{min-width:0}
.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-logo{display:block;max-height:44px;max-width:200px;width:auto;height:auto;object-fit:contain}
.sidebar .logo img{display:block;max-height:56px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sidebar .logo small{display:block;margin-top:7px;font-size:12px;font-weight:600;color:#64748b;letter-spacing:.3px}
.login-logo{display:block;max-height:72px;max-width:240px;width:auto;height:auto;margin:0 auto 10px;object-fit:contain}
.logo-preview{display:flex;align-items:center;justify-content:center;min-height:100px;padding:16px;
  border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}
.logo-preview img{display:block;max-height:80px;max-width:100%;width:auto;height:auto;object-fit:contain}
.check{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155;margin:0 0 12px;cursor:pointer}
.section-title{margin:24px 0 12px;padding-top:20px;border-top:1px solid #e2e8f0;font-size:17px}
/* Header on phones: logo + name on the left, "Admin" on the right, never wrapping */
.site-head .inner{gap:12px}
.site-head .inner > a{flex-shrink:0;white-space:nowrap}
@media(max-width:480px){
  .site-head .inner{padding:10px 14px}
  .brand{gap:6px;font-size:15px}
  .brand-logo{max-height:38px;max-width:130px}
}

/* Print: only the certificate */
@media print{
  body{background:#fff}
  body *{visibility:hidden}
  .cert,.cert *{visibility:visible}
  .cert{position:absolute;left:0;top:0;width:100%;max-width:100%;box-shadow:none}
  .no-print{display:none!important}
  @page{size:A4 landscape;margin:0}
}

/* ===== Image certificates ("your own design") ===== */
@font-face{font-family:'qz-alexbrush';src:url('fonts/AlexBrush-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-allura';src:url('fonts/Allura-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-arizonia';src:url('fonts/Arizonia-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-greatvibes';src:url('fonts/GreatVibes-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-parisienne';src:url('fonts/Parisienne-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-baskerville';src:url('fonts/LibreBaskerville-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-baskerville-bold';src:url('fonts/LibreBaskerville-Bold.ttf') format('truetype');font-display:swap}
@font-face{font-family:'qz-montserrat';src:url('fonts/Montserrat-Medium.ttf') format('truetype');font-display:swap}
.cert-image{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;background:#fff;
  box-shadow:0 20px 50px rgba(2,6,23,.22)}
.cert-overlay{position:relative;width:100%;max-width:1000px;margin:0 auto;container-type:inline-size;
  line-height:0;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(2,6,23,.22)}
.cert-overlay > img,.dz-wrap > img{display:block;width:100%;height:auto}
.cf{position:absolute;white-space:nowrap;line-height:1.2}
.own-design{border:2px solid #c7d2fe;background:linear-gradient(135deg,#eef2ff,#fff 60%)}
.tpl-thumb{width:84px;height:auto;max-height:60px;object-fit:cover;border-radius:6px;
  border:1px solid #e2e8f0;flex:0 0 auto}
/* designer */
.dz-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:20px;align-items:start;margin-top:22px}
.dz-preview-card{position:sticky;top:16px}
.dz-wrap{position:relative;container-type:inline-size;line-height:0;cursor:crosshair;border-radius:10px;
  overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(2,6,23,.16)}
.dz-marker{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #e11d48;
  border-radius:50%;background:rgba(225,29,72,.18);box-shadow:0 0 0 2px #fff;pointer-events:none}
.dz-marker::after{content:attr(data-label);position:absolute;left:24px;top:-2px;white-space:nowrap;
  background:#e11d48;color:#fff;font:600 11px/18px system-ui,sans-serif;padding:0 7px;border-radius:6px}
.dz-row{border:1px solid #e2e8f0;border-radius:12px;padding:6px 14px 4px;margin:0 0 14px;min-width:0}
.dz-row.sel{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.dz-row legend{font-weight:700;font-size:14px;padding:0 6px}
.dz-row .field{margin-bottom:10px}
.dz-row .check{margin:4px 0 8px}
.dz-row input[type=range]{width:100%}
.dz-top{display:flex;flex-wrap:wrap;gap:0 20px}
.dz-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dz-cols3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.dz-help{line-height:1.9;margin:6px 0 0;padding-left:20px}
@media(max-width:1100px){.dz-grid{grid-template-columns:1fr}.dz-preview-card{position:static}}
@media print{
  .cert-image,.cert-overlay,.cert-overlay *{visibility:visible}
  .cert-image,.cert-overlay{position:absolute;left:0;top:0;width:100%;max-width:100%;box-shadow:none}
}
