/* Certificate & Receipt Module — main.css-এর সাথে ম্যাচ করা থিম (স্বতন্ত্র ফাইল) */
:root{
  --forest:#163C2E; --forest-pale:#EAF0EA; --gold:#C89B3C; --brick:#A84C36;
  --paper:#FBF8F1; --ink:#1E1B15; --ink-soft:#5B5648; --line:#E4DFCF;
  --radius:10px; --radius-lg:18px;
  --f-bn:'Hind Siliguri','Tiro Bangla',sans-serif; --f-ui:'Inter',sans-serif; --f-accent:'Fraunces',serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-bn);line-height:1.6}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
a{color:inherit}
.csys-header{background:var(--forest);color:#EFEAD9;padding:16px 0}
.csys-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.csys-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--f-accent);font-weight:600;font-size:1.05rem}
.csys-brand .badge{background:var(--gold);color:var(--forest);font-family:var(--f-ui);font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:20px}
.csys-nav a{color:#CFC9B4;text-decoration:none;font-family:var(--f-ui);font-size:.88rem;margin-left:18px}
.csys-nav a:hover{color:#fff}
.csys-page-head{background:var(--forest);color:#fff;padding:40px 0}
.csys-page-head h1{margin:0 0 6px;font-family:var(--f-accent);font-size:1.9rem}
.csys-page-head p{margin:0;color:#D9D5C2}
.csys-main{padding:36px 0 70px}
.csys-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;margin-bottom:22px}
.csys-card h3{margin-top:0}
.csys-grid{display:grid;gap:20px}
.csys-grid-2{grid-template-columns:1fr 1fr}
@media (max-width:760px){.csys-grid-2{grid-template-columns:1fr}}
.csys-field{margin-bottom:14px}
.csys-field label{display:block;font-size:.84rem;font-weight:600;margin-bottom:5px}
.csys-field input, .csys-field select, .csys-field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:.92rem;font-family:inherit;background:#fff;
}
.csys-field textarea{min-height:90px;resize:vertical}
.csys-field .hint{font-size:.76rem;color:var(--ink-soft);margin-top:4px}
.csys-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:8px;border:none;font-family:var(--f-ui);font-weight:600;font-size:.88rem;cursor:pointer;text-decoration:none}
.csys-btn-primary{background:var(--forest);color:#fff}
.csys-btn-primary:hover{background:#0f2a20}
.csys-btn-gold{background:var(--gold);color:var(--forest)}
.csys-btn-ghost{background:#fff;border:1px solid var(--line);color:var(--forest)}
.csys-btn-danger{background:#fff;border:1px solid #E3B6AC;color:var(--brick)}
.csys-btn-block{width:100%;justify-content:center}
.csys-btn-sm{padding:7px 14px;font-size:.8rem}
.csys-alert{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:.9rem}
.csys-alert-ok{background:#E6F2E9;color:#163C2E;border:1px solid #BFE0C8}
.csys-alert-err{background:#FBEAE5;color:#8A3223;border:1px solid #F0C3B6}
.csys-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.csys-table th, .csys-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.88rem}
.csys-table th{background:var(--forest-pale);font-family:var(--f-ui);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft)}
.csys-table tr:last-child td{border-bottom:none}
.pill{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:700;font-family:var(--f-ui)}
.pill-gold{background:#FBF0D9;color:#8A6A1E}
.pill-blue{background:#E1EAF6;color:#204A85}
.pill-green{background:#E1F0E3;color:#1E5C33}
.pill-red{background:#FBEAE5;color:#8A3223}
.csys-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
@media (max-width:800px){.csys-summary{grid-template-columns:repeat(2,1fr)}}
.csys-summary .box{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}
.csys-summary .box span{display:block;font-size:.78rem;color:var(--ink-soft);margin-bottom:6px}
.csys-summary .box strong{font-family:var(--f-accent);font-size:1.6rem;color:var(--forest)}
.csys-sidebar{width:230px;flex:none}
.csys-sidebar a{display:block;padding:10px 14px;border-radius:8px;color:var(--ink-soft);text-decoration:none;font-size:.88rem;margin-bottom:2px}
.csys-sidebar a.active, .csys-sidebar a:hover{background:var(--forest-pale);color:var(--forest);font-weight:600}
.csys-layout{display:flex;gap:30px;align-items:flex-start}
@media (max-width:800px){.csys-layout{flex-direction:column}.csys-sidebar{width:100%;display:flex;flex-wrap:wrap;gap:6px}}
.csys-muted{color:var(--ink-soft)}
.csys-actions{display:flex;gap:8px;flex-wrap:wrap}
.csys-empty{padding:40px 20px;text-align:center;color:var(--ink-soft)}
.csys-thumb{max-width:160px;max-height:70px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px}
.csys-form-narrow{max-width:420px;margin:0 auto}

/* ---- সার্টিফিকেট (ল্যান্ডস্কেপ) ---- */
.cert-wrap{max-width:1050px;margin:30px auto;background:#fff}
.cert-sheet{
  --cert-navy:#0B2E52; --cert-navy-soft:#3B5876; --cert-cream:#FFFDF8;
  aspect-ratio:1.414/1; width:100%; position:relative; background:var(--cert-cream);
  border:3px solid var(--cert-navy); box-shadow:inset 0 0 0 7px #fff, inset 0 0 0 8px var(--cert-navy-soft);
  padding:54px 70px; display:flex; flex-direction:column; align-items:center; text-align:center;
  overflow:hidden;
}
.cert-sheet .cert-corner{position:absolute;width:100px;height:100px;color:var(--cert-navy);opacity:.9}
.cert-sheet .cert-corner svg{width:100%;height:100%;display:block}
.cert-sheet .cert-corner.tl{top:16px;left:16px}
.cert-sheet .cert-corner.tr{top:16px;right:16px;transform:scaleX(-1)}
.cert-sheet .cert-corner.bl{bottom:16px;left:16px;transform:scaleY(-1)}
.cert-sheet .cert-corner.br{bottom:16px;right:16px;transform:scale(-1,-1)}
.cert-sheet .cert-logo{width:56px;height:56px;margin-bottom:8px;position:relative;z-index:1}
.cert-sheet .cert-org{font-family:'Cinzel',var(--f-accent);font-size:1.2rem;color:var(--cert-navy);font-weight:700;letter-spacing:.04em;margin:0;position:relative;z-index:1}
.cert-sheet .cert-org-sub{font-family:var(--f-ui);font-size:.66rem;letter-spacing:.16em;color:var(--cert-navy-soft);text-transform:uppercase;margin:2px 0 20px;position:relative;z-index:1}
.cert-sheet .cert-title{font-family:'UnifrakturCook',var(--f-accent);font-size:3.1rem;font-weight:700;color:var(--cert-navy);margin:0 0 6px;letter-spacing:.02em;position:relative;z-index:1;line-height:1.05}
.cert-sheet .cert-subtitle{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cert-navy-soft);margin-bottom:20px;position:relative;z-index:1}
.cert-sheet .cert-presented{font-family:'Lora',serif;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cert-navy-soft);position:relative;z-index:1}
.cert-sheet .cert-name{font-family:'Pinyon Script',cursive;font-size:3.2rem;font-weight:400;color:var(--cert-navy);margin:6px 0 20px;line-height:1;position:relative;z-index:1}
.cert-sheet .cert-body-text{max-width:66ch;font-family:'Lora',serif;font-size:.92rem;line-height:1.7;color:#2b2b2b;margin:0 0 22px;position:relative;z-index:1}
.cert-sheet .cert-footer{display:flex;justify-content:center;align-items:stretch;gap:0;width:100%;max-width:640px;margin-top:auto;position:relative;z-index:1}
.cert-sheet .cert-sign-block{flex:1;text-align:center;padding:0 26px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.cert-sheet .cert-sign-block img{height:42px;object-fit:contain;margin-bottom:4px}
.cert-sheet .cert-sign-line{border-top:1.5px solid var(--cert-navy);padding-top:7px;font-size:.72rem;width:100%}
.cert-sheet .cert-sign-line strong{display:block;font-family:'Lora',serif;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cert-navy)}
.cert-sheet .cert-divider{width:1.5px;background:var(--cert-navy);align-self:stretch;margin:0 4px}
.cert-sheet .cert-qr{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;padding:0 26px}
.cert-sheet .cert-qr img{width:70px;height:70px}
.cert-sheet .cert-qr span{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cert-navy-soft);font-family:var(--f-ui)}
.cert-sheet .cert-seal{width:50px;height:50px;object-fit:contain;opacity:.95;z-index:1;margin:0 auto 10px}
.cert-sheet .cert-number{position:absolute;top:14px;right:22px;font-family:var(--f-ui);font-size:.62rem;color:var(--cert-navy-soft);z-index:1;text-align:right;line-height:1.5}

/* ---- রসিদ (পোর্ট্রেট) ---- */
.receipt-wrap{max-width:480px;margin:30px auto;background:#fff}
.receipt-sheet{
  border:2px solid var(--forest); border-radius:10px; padding:0; background:#FFFDF7; position:relative;
}
.receipt-sheet .r-head{background:var(--forest);color:#fff;padding:20px 24px;display:flex;align-items:center;gap:12px}
.receipt-sheet .r-head img{width:40px;height:40px}
.receipt-sheet .r-head h2{margin:0;font-family:var(--f-accent);font-size:1.15rem}
.receipt-sheet .r-head span{font-size:.7rem;color:#CFC9B4;display:block}
.receipt-sheet .r-body{padding:24px}
.receipt-sheet .r-title{text-align:center;font-family:var(--f-accent);color:var(--gold);font-size:1.3rem;margin:0 0 4px}
.receipt-sheet .r-number{text-align:center;font-size:.76rem;color:var(--ink-soft);margin-bottom:18px;font-family:var(--f-ui)}
.receipt-sheet .r-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.receipt-sheet .r-row span:first-child{color:var(--ink-soft)}
.receipt-sheet .r-amount{text-align:center;margin:18px 0;padding:16px;background:var(--forest-pale);border-radius:8px}
.receipt-sheet .r-amount strong{font-family:var(--f-accent);font-size:1.8rem;color:var(--forest)}
.receipt-sheet .r-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}
.receipt-sheet .r-sign img{height:36px;object-fit:contain}
.receipt-sheet .r-sign p{margin:4px 0 0;font-size:.72rem;border-top:1px solid var(--ink);padding-top:4px}
.receipt-sheet .r-qr img{width:66px;height:66px}
.receipt-sheet .r-seal{width:64px;height:64px;position:absolute;opacity:.9;right:18px;top:78px}

.csys-print-toolbar{max-width:1000px;margin:20px auto 0;display:flex;justify-content:flex-end;gap:10px}
@media print{
  .csys-header, .csys-print-toolbar, .csys-footer, .no-print{display:none !important}
  body{background:#fff}
  .cert-wrap, .receipt-wrap{margin:0}
  .cert-sheet{box-shadow:inset 0 0 0 5px #fff, inset 0 0 0 6px var(--cert-navy-soft, #3B5876)}
  @page{margin:0}
}
.csys-verify-badge{display:flex;align-items:center;gap:14px;background:#E6F2E9;border:1px solid #BFE0C8;border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:24px}
.csys-verify-badge.bad{background:#FBEAE5;border-color:#F0C3B6}
.csys-verify-badge .ic{font-size:2rem}
.csys-footer{padding:26px 0;text-align:center;color:var(--ink-soft);font-size:.82rem}
