*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f6f9;color:#1f2937}.topbar{background:#173b2d;color:#fff;padding:16px 5%;display:flex;justify-content:space-between;align-items:center}.topbar small{display:block;opacity:.7;margin-top:4px}.topbar a{color:#fff;text-decoration:none}.nav{background:#fff;padding:10px 5%;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #ddd}.nav a{padding:9px 12px;border-radius:8px;text-decoration:none;color:#173b2d}.nav a:hover{background:#e8f2ed}.container{max-width:1200px;margin:25px auto;padding:0 15px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{background:#fff;border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.card span{display:block;color:#6b7280}.card b{display:block;font-size:25px;margin-top:7px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}label{font-weight:bold}input,select,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #ccd3da;border-radius:8px;font:inherit}textarea{min-height:90px}.btn{display:inline-block;padding:9px 13px;border:0;border-radius:8px;text-decoration:none;cursor:pointer;background:#e5e7eb;color:#111}.btn.primary{background:#176b4d;color:#fff}.btn.wa{background:#1b9b59;color:#fff}.btn.small{font-size:12px;padding:7px 9px;margin:2px}.dangerbtn{background:#fee2e2;color:#991b1b}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.alert{padding:12px;border-radius:8px;margin-bottom:15px}.danger{background:#fee2e2;color:#991b1b}.success{background:#dcfce7;color:#166534}.login-bg{min-height:100vh;display:grid;place-items:center;background:#173b2d}.login-card{background:#fff;padding:30px;border-radius:18px;width:min(420px,92%)}.login-card .btn{width:100%;margin-top:10px}.muted{color:#6b7280;font-size:13px}.receipt{max-width:700px;margin:30px auto;background:#fff;padding:35px;border-radius:12px;text-align:center}.receipt .plain{text-align:left}.receipt .plain td:first-child{width:35%;font-weight:bold}footer{text-align:center;color:#6b7280;padding:30px}.portal-bg{min-height:100vh;background:#eef5f1;padding:25px}.portal-card{max-width:1050px;margin:auto}.portal-card>h1{text-align:center;margin-bottom:5px}.portal-card>p{text-align:center;color:#6b7280}.portal-form{max-width:500px;margin:25px auto;background:#fff;padding:20px;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.05)}.portal-form .btn{margin-top:12px;width:100%}.student-head{background:#173b2d;color:#fff;border-radius:14px;padding:20px;margin-bottom:18px}.student-head strong{display:block;font-size:22px}.student-head span{opacity:.85}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:bold}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.no{background:#fee2e2;color:#991b1b}@media(max-width:750px){.grid4{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:1fr}.container{margin-top:15px}.nav{padding:8px}.portal-bg{padding:10px}.card{padding:14px}}@media print{.topbar,.nav,footer,.btn{display:none!important}.container{margin:0}.receipt{box-shadow:none}}

/* v0.3 professional UI */
.landing{min-height:100vh;background:linear-gradient(135deg,#eef7f2,#f7f9fb);display:flex;flex-direction:column}.landing-top{height:76px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 6%;display:flex;align-items:center;justify-content:space-between}.brand,.topbrand,.login-brand,.portal-header{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#176b4d;color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px}.brand-mark.mini{width:34px;height:34px;font-size:17px}.brand strong{display:block;font-size:17px}.brand small,.topbrand small,.login-brand small{display:block;color:#6b7280;margin-top:3px}.version{color:#6b7280;font-size:13px}.landing-main{width:min(1080px,92%);margin:auto;padding:65px 0}.hero{text-align:center;max-width:820px;margin:auto}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:800;color:#176b4d}.hero h1{font-size:44px;line-height:1.12;margin:14px 0}.hero h1 span{color:#176b4d}.hero p{font-size:17px;color:#667085;line-height:1.7}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}.entry-card{background:#fff;border:1px solid #e6e9ed;border-radius:22px;padding:28px;text-decoration:none;color:#17202a;display:flex;gap:20px;transition:.2s;box-shadow:0 12px 35px rgba(0,0,0,.05)}.entry-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.09)}.entry-icon{width:60px;height:60px;border-radius:18px;background:#edf7f2;display:grid;place-items:center;font-size:28px;flex:none}.entry-card h2{margin:8px 0}.entry-card p{color:#667085;line-height:1.6}.entry-label{font-size:11px;font-weight:800;letter-spacing:1px;color:#176b4d}.entry-button{font-weight:700;color:#176b4d}.landing-note{text-align:center;color:#8a93a1;margin-top:28px;font-size:13px}.landing footer{text-align:center;padding:25px;color:#7b8491}.login-bg{min-height:100vh;background:linear-gradient(135deg,#173b2d,#225e47);display:grid;place-items:center;padding:20px}.login-card{width:min(460px,94%);padding:34px;background:#fff;border-radius:22px;box-shadow:0 25px 70px rgba(0,0,0,.2)}.login-brand{margin-bottom:25px}.login-card h1{margin:0 0 20px}.wide{width:100%;margin-top:7px}.back-home{display:block;text-align:center;color:#176b4d;text-decoration:none;margin:18px}.demo-box{background:#f5f7f9;border-radius:10px;padding:12px;font-size:12px;color:#667085}.userbox{display:flex;align-items:center;gap:10px;font-size:13px}.userbox small{color:#d7e8df}.userbox a{color:#fff;text-decoration:none;border-left:1px solid rgba(255,255,255,.25);padding-left:10px}.welcome{display:flex;align-items:center;justify-content:space-between}.welcome h2{margin:7px 0}.welcome p{color:#667085}.smallstat{font-size:18px!important}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quick{text-decoration:none;color:#17202a}.quick b{display:block;color:#176b4d;margin-bottom:8px}.quick span{color:#667085;font-size:13px;line-height:1.5}.info-strip{background:#eef7f2;border:1px solid #d4ebdf;border-radius:10px;padding:11px;margin-bottom:15px;color:#285d48}.field-help{display:block;color:#7b8491;font-size:11px;font-weight:normal;margin-top:5px}.filter-row{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:end}.print-head{background:#fff;padding:20px;border-bottom:2px solid #173b2d;display:flex;justify-content:space-between}.print-head h2{margin:0}.print-head p{margin:5px 0;color:#667085}.print-title{text-align:right;font-weight:800}.student-summary{display:flex;justify-content:space-between}.student-summary span{color:#667085}.total-box{background:#173b2d;color:#fff;padding:16px 20px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin:18px 0}.total-box b{font-size:24px}.total-box.compact{margin:0;min-width:260px}.actions{display:flex;gap:8px}.portal-bg{min-height:100vh;background:#f3f7f5;padding:0 15px 40px}.portal-wrap{max-width:1080px;margin:auto}.portal-header{padding:20px 0;justify-content:space-between}.portal-header>a{color:#176b4d;text-decoration:none;font-weight:700}.portal-login{background:#fff;max-width:540px;margin:50px auto;padding:38px;border-radius:22px;box-shadow:0 12px 40px rgba(0,0,0,.06)}.portal-login h1{font-size:32px;margin:10px 0}.portal-login p{color:#667085;line-height:1.6}.portal-help{margin-top:15px;background:#f5f7f9;padding:10px;border-radius:8px;font-size:12px;color:#667085}.portal-student{background:#173b2d;color:#fff;padding:24px;border-radius:18px;margin:25px 0;display:flex;justify-content:space-between;align-items:center}.portal-student h1{margin:7px 0}.portal-student p{margin:0;opacity:.8}.portal-student .eyebrow{color:#b8dfcd}.portal-student .total-box{background:#fff;color:#173b2d}.no-print{ }.badge{white-space:nowrap}
@media(max-width:750px){.hero h1{font-size:32px}.entry-grid,.quick-grid{grid-template-columns:1fr}.entry-card{padding:20px}.landing-main{padding:40px 0}.welcome,.student-summary,.portal-student{display:block}.welcome .btn,.total-box.compact{margin-top:15px;width:100%}.filter-row{grid-template-columns:1fr}.print-head{display:block}.print-title{text-align:left;margin-top:10px}.userbox{gap:5px}.userbox span{display:none}}
@media print{body{background:#fff!important}.topbar,.nav,footer,.no-print,.actions,.portal-header{display:none!important}.container{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0;padding:8px;margin:0 0 10px}.print-head{border-bottom:2px solid #000}.print-head,.student-summary,.total-box{border-radius:0}.total-box{color:#000;background:#fff;border:1px solid #ccc}.btn{display:none!important}}


/* =========================================================
   SIA-PAY v0.3.1 - Landing Page
   Sederhana, profesional, responsif, tanpa library tambahan.
   ========================================================= */
.landing{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:#f6f9f8;
  color:#17202a;
}
.landing-top{
  height:74px;
  padding:0 clamp(18px,5vw,72px);
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #e7ece9;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.landing-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#17202a;
}
.landing-brand .brand-mark{
  width:40px;height:40px;border-radius:12px;
  background:#176b4d;color:#fff;display:grid;place-items:center;
  font-size:20px;font-weight:800;
  box-shadow:0 6px 15px rgba(23,107,77,.18);
}
.brand-copy strong{display:block;font-size:16px;line-height:1.15}
.brand-copy small{display:block;color:#77827d;font-size:12px;margin-top:4px}
.landing-meta{
  color:#64706b;font-size:12px;
  display:flex;align-items:center;gap:7px;
}
.online-dot{
  width:7px;height:7px;border-radius:50%;
  background:#2e9d69;display:inline-block;
}
.news-ticker{
  height:42px;
  background:#173b2d;color:#fff;
  display:flex;align-items:center;
  overflow:hidden;
}
.ticker-label{
  height:100%;padding:0 18px;
  background:#0f3025;
  display:flex;align-items:center;
  font-size:11px;font-weight:800;letter-spacing:.7px;
  white-space:nowrap;z-index:2;
}
.ticker-window{overflow:hidden;flex:1}
.ticker-track{
  display:flex;width:max-content;
  animation:siaTicker 28s linear infinite;
  white-space:nowrap;
}
.ticker-track span{
  display:inline-block;padding-right:90px;
  font-size:13px;line-height:42px;
}
@keyframes siaTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.landing-main{
  width:min(1080px,92%);
  margin:0 auto;
  padding:54px 0 38px;
  flex:1;
}
.landing-hero{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border:1px solid #d6e8df;
  border-radius:999px;background:#edf7f2;
  color:#176b4d;font-size:11px;font-weight:800;letter-spacing:1.1px;
}
.hero-badge span{
  width:6px;height:6px;border-radius:50%;background:#176b4d;
}
.landing-hero h1{
  font-size:clamp(34px,5vw,54px);
  line-height:1.08;
  letter-spacing:-1.4px;
  margin:18px 0 14px;
}
.landing-hero h1 em{
  font-style:normal;color:#176b4d;
}
.landing-hero p{
  max-width:690px;margin:0 auto;
  color:#68756f;font-size:16px;line-height:1.7;
}
.entry-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;margin-top:38px;
}
.entry-card{
  min-height:220px;
  display:flex;gap:18px;
  padding:26px;
  background:#fff;
  border:1px solid #e2e9e5;
  border-radius:18px;
  color:#17202a;text-decoration:none;
  box-shadow:0 8px 25px rgba(22,48,38,.055);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.entry-card:hover{
  transform:translateY(-3px);
  border-color:#c8ddd3;
  box-shadow:0 15px 35px rgba(22,48,38,.10);
}
.entry-card .entry-icon{
  width:52px;height:52px;flex:0 0 52px;
  border-radius:15px;background:#edf7f2;
  display:grid;place-items:center;font-size:25px;
}
.entry-card.staff .entry-icon{background:#f3f5f7}
.entry-content{min-width:0}
.entry-label{
  color:#176b4d;font-size:10px;font-weight:800;
  letter-spacing:1px;
}
.entry-card h2{
  font-size:21px;line-height:1.25;margin:8px 0 8px;
}
.entry-card p{
  color:#6b7772;font-size:13px;line-height:1.65;
  margin:0 0 18px;
}
.entry-action{
  color:#176b4d;font-size:13px;font-weight:800;
}
.entry-action b{font-size:17px;margin-left:3px}
.feature-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;margin-top:16px;
}
.feature-item{
  display:flex;align-items:center;gap:11px;
  padding:14px 15px;
  background:#fff;border:1px solid #e5ebe8;
  border-radius:13px;
}
.feature-icon{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;
  border-radius:10px;background:#eef6f2;
  color:#176b4d;font-weight:800;font-size:16px;
}
.feature-item strong{display:block;font-size:12px}
.feature-item small{display:block;color:#7a8580;font-size:11px;line-height:1.45;margin-top:3px}
.landing-info{
  margin-top:26px;
  padding:17px 20px;
  background:#fff;border:1px solid #e4eae7;
  border-radius:14px;
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;text-align:center;
}
.info-kicker{
  display:block;color:#88928e;font-size:9px;
  font-weight:800;letter-spacing:1px;margin-bottom:5px;
}
.landing-info strong{font-size:12px;color:#34413b}
.info-divider{width:1px;height:30px;background:#e5ebe8}
.landing-footer{
  padding:20px 6%;
  background:#fff;border-top:1px solid #e5ebe8;
  color:#78837e;font-size:11px;
  display:flex;justify-content:space-between;gap:20px;
}
.landing-footer strong{color:#34413b}
@media(max-width:760px){
  .landing-top{height:68px}
  .landing-meta span:last-child{display:none}
  .news-ticker{height:40px}
  .ticker-label{padding:0 12px;font-size:10px}
  .ticker-track span{line-height:40px;font-size:12px}
  .landing-main{padding:38px 0 28px}
  .landing-hero h1{letter-spacing:-.8px}
  .landing-hero p{font-size:14px}
  .entry-grid,.feature-row{grid-template-columns:1fr}
  .entry-card{min-height:0;padding:21px}
  .landing-info{grid-template-columns:1fr;gap:13px}
  .info-divider{width:70px;height:1px;margin:auto}
  .landing-footer{display:block;text-align:center;line-height:1.7}
  .landing-footer span{display:block;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
  .entry-card{transition:none}
}

.review-box{max-width:760px;margin:8px auto 20px;border:1px solid #e3eae6;border-radius:14px;background:#fff;padding:22px}.review-box h2{margin-top:0}.payment-total{font-size:18px;color:#176b4d}.review-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.review-actions form{margin:0}

/* =========================================================
   v0.3.3 - Halaman awal: hanya pilihan login
   ========================================================= */
.login-home{min-height:100vh;background:#f4f7f6;color:#17202a;display:flex;flex-direction:column}
.simple-head{height:76px;background:#fff;border-bottom:1px solid #e4ebe7;padding:0 clamp(18px,6vw,80px);display:flex;align-items:center;justify-content:space-between}
.simple-brand{display:flex;align-items:center;gap:12px}
.simple-brand strong{display:block;font-size:17px}
.simple-brand small{display:block;color:#738078;margin-top:3px}
.simple-year{font-size:12px;color:#6b7771}
.simple-ticker{height:40px;background:#173b2d;color:#fff;display:flex;align-items:center;overflow:hidden}
.simple-ticker>span{height:40px;display:flex;align-items:center;padding:0 17px;background:#0f3025;font-size:11px;font-weight:800;letter-spacing:.6px;z-index:2;white-space:nowrap}
.simple-ticker-window{overflow:hidden;flex:1}
.simple-ticker-track{display:flex;width:max-content;animation:siaSimpleTicker 32s linear infinite;white-space:nowrap}
.simple-ticker-track b{font-size:12px;font-weight:500;padding-right:90px;line-height:40px}
@keyframes siaSimpleTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.login-home-main{width:min(940px,92%);margin:auto;padding:50px 0 35px}
.login-home-title{text-align:center;margin-bottom:30px}
.home-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:#176b4d}
.login-home-title h1{font-size:32px;margin:9px 0 7px}
.login-home-title p{margin:0;color:#68756f}
.login-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.login-choice-card{display:flex;gap:18px;align-items:flex-start;text-decoration:none;color:#17202a;background:#fff;border:1px solid #e1e8e4;border-radius:18px;padding:25px;min-height:220px;box-shadow:0 8px 25px rgba(22,48,38,.055);transition:.18s}
.login-choice-card:hover{transform:translateY(-3px);border-color:#bfd7cb;box-shadow:0 15px 35px rgba(22,48,38,.09)}
.login-choice-card>div:last-child{flex:1}
.choice-icon{width:54px;height:54px;flex:0 0 54px;border-radius:15px;background:#edf7f2;display:grid;place-items:center;font-size:26px}
.login-choice-card span{font-size:10px;letter-spacing:1px;font-weight:800;color:#176b4d}
.login-choice-card h2{font-size:20px;margin:8px 0 10px}
.login-choice-card p{color:#68756f;line-height:1.6;font-size:14px;margin:0 0 16px}
.login-choice-card strong{color:#176b4d;font-size:13px}
.simple-footer{text-align:center;color:#78837e;padding:24px 15px 30px;font-size:12px;line-height:1.8}
@media(max-width:700px){
 .simple-head{height:auto;padding:14px 18px}.simple-year{display:none}
 .login-home-main{padding:35px 0 20px}.login-home-title h1{font-size:27px}
 .login-choice{grid-template-columns:1fr}.login-choice-card{min-height:auto;padding:21px}
}

/* v0.3.5 branding + receipt 20 x 10 cm */
.branding-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.branding-preview>div{border:1px solid #e1e8e4;border-radius:12px;padding:12px;min-height:130px;text-align:center;background:#fafcfb}
.branding-preview small{display:block;font-weight:700;margin-bottom:9px;color:#53615a}
.branding-preview img{max-width:100%;max-height:90px;object-fit:contain}
.branding-preview span{color:#8a948f;font-size:12px;line-height:90px}
.receipt{width:20cm;min-height:10cm;box-sizing:border-box;background:#fff;padding:7mm 8mm;margin:20px auto;border:1px solid #e1e6e3;border-radius:5px;color:#18221e}
.receipt-head{display:grid;grid-template-columns:20mm 1fr auto;gap:5mm;align-items:center;border-bottom:1px solid #1f2925;padding-bottom:3mm;margin-bottom:3mm}
.receipt-logo{width:17mm;height:17mm;object-fit:contain}
.receipt-school h2{font-size:15pt;margin:0 0 1mm}
.receipt-school p{font-size:8.5pt;margin:0;line-height:1.3}
.receipt-school small{font-size:7.5pt}
.receipt-type{text-align:right;font-size:10pt;font-weight:800;letter-spacing:.5px;line-height:1.25}
.receipt-table{width:100%;border-collapse:collapse;font-size:8.5pt}
.receipt-table td{border-bottom:1px solid #e2e7e4;padding:1.5mm 1.5mm;vertical-align:middle}
.receipt-table td:nth-child(1),.receipt-table td:nth-child(3){font-weight:700;width:24mm;white-space:nowrap}
.receipt-table td:nth-child(2){width:58mm}
.receipt-table td:nth-child(4){width:auto}
.receipt-amount{font-size:11pt}
.receipt-bottom{display:flex;justify-content:space-between;gap:10mm;margin-top:4mm}
.receipt-note{font-size:7.5pt;line-height:1.5;align-self:flex-end}
.signature-area{width:42mm;text-align:center;position:relative;min-height:27mm;font-size:7.5pt}
.receiver-name{line-height:1.25}
.stamp-sign{height:15mm;position:relative;margin-top:-1mm}
.receipt-stamp{position:absolute;width:19mm;height:19mm;object-fit:contain;left:3mm;top:-1mm;opacity:.85}
.receipt-signature{position:absolute;width:30mm;height:15mm;object-fit:contain;left:8mm;top:0}
.receiver-label{border-top:1px solid #18221e;padding-top:1mm;margin-top:0;font-size:7.5pt}
.receipt-actions{width:20cm;margin:0 auto 25px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:850px){
 .receipt,.receipt-actions{width:96%}
 .receipt{overflow-x:auto}
 .branding-preview{grid-template-columns:1fr}
}
@media print{
 @page{size:20cm 10cm;margin:0}
 html,body{width:20cm;height:10cm;margin:0!important;padding:0!important;background:#fff!important}
 body{font-family:Arial,sans-serif}
 .topbar,.nav,.no-print,body>footer,.footer,.container>h1{display:none!important}
 .container{width:20cm!important;margin:0!important;padding:0!important}
 .receipt{width:20cm!important;height:10cm!important;min-height:10cm!important;margin:0!important;padding:6mm 7mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
 .receipt-head{padding-bottom:2mm;margin-bottom:2mm}
 .receipt-table td{padding:1.1mm 1.2mm}
 .receipt-bottom{margin-top:2.5mm}
}

/* v0.3.6 multi-payment + receipt */
.payment-entry{max-width:1100px}.pay-item{border:1px solid #dfe8e3;border-radius:14px;padding:16px;margin:14px 0;background:#fbfdfc}.pay-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.spp-months{display:none;margin-top:8px;padding:12px;background:#f1f8f4;border-radius:10px}.month-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.month-chip input{display:none}.month-chip span{display:block;padding:7px 11px;border:1px solid #cbd9d2;border-radius:20px;background:#fff;cursor:pointer;font-size:12px}.month-chip input:checked+span{background:#176b4d;color:#fff;border-color:#176b4d}.general-period{display:block;margin-top:10px}.payment-add-row{margin:14px 0}.payment-total-box{background:#eef7f2;border:1px solid #d4e6dc;border-radius:12px;padding:14px 16px;text-align:right;font-size:16px;margin:14px 0}.payment-total-box strong{font-size:20px;color:#176b4d}.receipt-landscape{width:20cm;min-height:10cm;box-sizing:border-box;background:#fff;padding:0.45cm 0.55cm;border:1px solid #d9dedb;border-radius:5px;margin:20px auto;font-family:Arial,sans-serif;color:#17202a}.receipt-landscape .receipt-head{display:flex;align-items:center;border-bottom:1px solid #333;padding-bottom:6px;margin-bottom:7px}.receipt-landscape .receipt-logo{width:38px;height:38px;object-fit:contain;margin-right:8px}.receipt-landscape .receipt-school{flex:1}.receipt-landscape .receipt-school h2{font-size:14px;margin:0 0 2px}.receipt-landscape .receipt-school p{font-size:8px;margin:0}.receipt-landscape .receipt-school small{font-size:7px}.receipt-landscape .receipt-type{font-size:13px;font-weight:800;text-align:right}.receipt-meta{display:grid;grid-template-columns:1.3fr 2fr .7fr 1.3fr;gap:8px;border-bottom:1px solid #ddd;padding:5px 0;font-size:8px}.receipt-items{width:100%;border-collapse:collapse;margin-top:6px;font-size:8px}.receipt-items th,.receipt-items td{border:1px solid #bfc6c2;padding:4px 5px}.receipt-items th{background:#f1f4f2;text-align:left}.receipt-items th:first-child,.receipt-items td:first-child{width:28px;text-align:center}.receipt-items th:last-child,.receipt-items td:last-child{width:105px;text-align:right;white-space:nowrap}.receipt-items small{font-size:7px}.receipt-total td{font-weight:800;background:#f5f7f6}.receipt-footer-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:7px;font-size:8px}.receipt-note{font-size:7px}.signature-area{text-align:center;width:150px;min-height:52px}.signature-visual{height:34px;position:relative;margin-top:0}.receipt-landscape .receipt-stamp{position:absolute;width:42px;height:42px;object-fit:contain;left:25px;top:-4px;opacity:.82}.receipt-landscape .receipt-signature{position:absolute;width:82px;height:38px;object-fit:contain;left:42px;top:-2px}.signature-area strong{font-size:8px}.receipt-landscape+.receipt-actions{justify-content:center}
@media print{
 body{background:#fff!important}.no-print,.topbar,.nav,footer{display:none!important}.container{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.receipt-landscape{width:20cm!important;height:10cm!important;min-height:10cm!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:.35cm .45cm!important;overflow:hidden}.receipt-landscape .receipt-logo{width:34px;height:34px}.receipt-landscape .receipt-type{font-size:12px}.receipt-landscape .receipt-meta{font-size:7.5px}.receipt-landscape .receipt-items{font-size:7.5px}.receipt-landscape .receipt-items th,.receipt-landscape .receipt-items td{padding:3px 4px}.receipt-landscape .receipt-footer-row{font-size:7px}.receipt-landscape .signature-area{font-size:7px}
 @page{size:20cm 10cm landscape;margin:0}
}
@media(max-width:800px){.receipt-landscape{width:100%;overflow:auto}.receipt-meta{grid-template-columns:1fr 1fr}.receipt-items{min-width:650px}}
