.form-shell .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-shell label{display:flex;flex-direction:column;gap:7px}.form-shell label input,.form-shell label select,.admin-login input,.admin-filters input,.admin-filters select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:0}.form-shell label input:focus,.form-shell label select:focus,.admin-login input:focus{outline:2px solid #85c7ed;outline-offset:1px}.form-shell .full-field{grid-column:1/-1}.form-shell .selected-price{margin:18px 0}.form-shell .payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.form-shell .payment-choice>span{grid-column:1/-1}.form-shell .payment-choice label{border:1px solid var(--line);padding:12px;display:flex;flex-direction:row;align-items:center;gap:10px;cursor:pointer}.form-shell .payment-choice label input{width:auto;min-height:auto}.form-shell .payment-choice label>span{display:grid}.form-shell .payment-choice small{font-size:12px;color:var(--muted)}.form-shell .consent{display:flex;flex-direction:row;align-items:flex-start;margin:18px 0}.form-shell .consent input{width:auto;min-height:auto;margin-top:5px}.form-shell .demo-note{display:flex;gap:10px;padding:14px;background:#eef7fc;color:var(--ink)}.form-shell .demo-note p{margin:0}.server-errors{margin:14px 0;padding:13px 16px;background:#fff2f1;border-left:4px solid #cc4039;color:#8c2926}.server-errors ul{margin:6px 0 0;padding-left:20px}.confirmation-wrap{padding-top:50px;padding-bottom:70px}.confirmation-card{max-width:720px;margin:auto;padding:44px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 42px #163c6610}.confirmation-card h1{font-size:42px;color:var(--navy);margin:10px 0}.confirmation-card>p{color:var(--muted)}.confirmation-details{padding:0;margin:22px 0}.confirmation-details>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.confirmation-details dt{color:var(--muted)}.confirmation-details dd{margin:0;text-align:right;font-weight:700}.confirmation-hint{padding:12px;background:#f0f7fc}.admin-main{padding:60px 0;background:#f5f8fb;min-height:68vh}.admin-panel{background:#fff;border:1px solid var(--line);padding:32px}.admin-login{max-width:520px}.admin-login h1{font-size:44px;color:var(--navy)}.admin-login form{display:grid;gap:15px}.admin-login form label{display:grid;gap:7px}.admin-login .back-form-link{display:inline-block;margin-top:18px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.dashboard-head h1{margin:7px 0;color:var(--navy)}.dashboard-head p{color:var(--muted)}.flash-success{margin:20px 0;padding:13px;background:#eaf7ef;color:#23613a}.admin-filters{display:flex;gap:8px;align-items:center}.admin-filters input{min-width:210px}.admin-filters select{min-width:150px}.admin-filters .button{white-space:nowrap}.table-wrap{overflow:auto}.admin-dashboard table{width:100%;border-collapse:collapse;min-width:900px}.admin-dashboard th,.admin-dashboard td{text-align:left;padding:13px 11px;border-bottom:1px solid var(--line);vertical-align:top}.admin-dashboard th{color:var(--muted);font-size:11px}.admin-dashboard td small{display:block;color:var(--muted);margin-top:4px}.status-pill{display:inline-block;padding:4px 8px;background:#fff2dc;color:#805b12;font-size:12px}.status-pill.paid{background:#e8f6ed;color:#27633c}.action-cell form{margin:0}.admin-dashboard .table-tools{display:flex;justify-content:space-between;align-items:center;gap:18px}.admin-dashboard .empty-state{text-align:center;padding:35px;color:var(--muted)}.admin-dashboard .pagination{padding:20px 0}.admin-dashboard .pagination nav{display:flex;justify-content:center;gap:10px}.admin-dashboard .pagination nav span,.admin-dashboard .pagination nav a{padding:6px 10px;border:1px solid var(--line)}.receipt-page{background:#f4f7fa;padding:40px 18px}.receipt-card{max-width:700px;margin:0 auto;background:#fff;padding:44px;border:1px solid var(--line)}.receipt-card>img{max-width:190px;max-height:100px;object-fit:contain;display:block;margin:0 auto 25px}.receipt-card h1{text-align:center;color:var(--navy)}.receipt-card>.section-kicker{text-align:center}.receipt-reference{text-align:center;color:var(--blue);font-weight:700}.receipt-card .confirmation-details{margin-top:30px}.receipt-card .button{margin-top:20px}.pagination svg{width:18px}.pagination p{margin:0}.home-photo img{object-fit:cover}.course-grid [hidden]{display:none!important}
@media(max-width:700px){.form-shell .form-grid{grid-template-columns:1fr}.form-shell .full-field{grid-column:auto}.form-shell .payment-choice{grid-template-columns:1fr}.form-shell .payment-choice>span{grid-column:auto}.confirmation-card,.receipt-card{padding:24px 17px}.confirmation-card h1{font-size:32px}.confirmation-details>div{align-items:flex-start;flex-direction:column;gap:4px}.confirmation-details dd{text-align:left}.admin-panel{padding:20px 14px}.dashboard-head,.admin-dashboard .table-tools{align-items:flex-start;flex-direction:column}.admin-filters{width:100%;flex-wrap:wrap}.admin-filters input{flex:1;min-width:130px}.admin-filters select{flex:1;min-width:120px}.admin-login h1{font-size:35px}}
@media print{body{background:#fff!important}.receipt-page{padding:0}.receipt-card{border:0;box-shadow:none;margin:0 auto;max-width:none}.receipt-card button,.receipt-card a{display:none!important}.confirmation-card{border:0;box-shadow:none}.confirmation-card .button{display:none}}
/* Confirmation page and single-page print layout. */
.confirmation-wrap{display:block}
.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px}
.print-receipt-brand{display:none}
@page{size:A4;margin:13mm}
@media print{
  .no-print,.confirmation-actions{display:none!important}
  .print-receipt-brand{display:flex!important}
  html,body{width:auto!important;min-width:0!important;margin:0!important;background:#fff!important;font-size:10.5pt;line-height:1.4;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .topline,.header,footer,.confirmation-actions{display:none!important}
  .confirmation-main{margin:0!important;padding:0!important}
  .confirmation-wrap,.wrap{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .confirmation-card{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:10mm 12mm!important;border:1px solid #d8e2eb!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid;color:#172b43}
  .print-receipt-brand{display:flex;align-items:center;gap:7mm;padding-bottom:6mm;margin-bottom:7mm;border-bottom:1px solid #d8e2eb}
  .print-receipt-brand img{display:block;width:auto;max-width:42mm;max-height:22mm;object-fit:contain}
  .print-receipt-brand span{display:grid;gap:1mm;color:#102c52;font-size:11pt}
  .print-receipt-brand small{color:#68788a;font-size:9pt}
  .success-mark{width:9mm;height:9mm;margin:0 0 3mm;font-size:14pt}
  .confirmation-card .section-kicker{font-size:8.5pt}
  .confirmation-card h1{font-size:23pt;line-height:1.15;margin:3mm 0 2mm;overflow-wrap:anywhere}
  .confirmation-card>p{max-width:none;margin:2mm 0;font-size:10pt;line-height:1.4;color:#43566b}
  .success-reference{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1mm 6mm;margin:5mm 0;padding:4mm 5mm;background:#f0f6fa!important;border-left:1mm solid #0077b8}
  .success-reference small{grid-column:1;color:#68788a;font-size:8pt}
  .success-reference strong{grid-column:1;color:#102c52;font-size:15pt;overflow-wrap:anywhere}
  .success-reference span{grid-column:2;grid-row:1/3;text-align:right;color:#43566b;font-size:9pt}
  .confirmation-details{width:100%;margin:5mm 0!important}
  .confirmation-details>div{display:grid!important;grid-template-columns:minmax(35mm,1fr) minmax(0,2fr);align-items:center!important;gap:4mm!important;padding:3mm 0!important;border-bottom:1px solid #d8e2eb}
  .confirmation-details dt{font-size:10pt;color:#68788a}
  .confirmation-details dd{max-width:none;text-align:left!important;font-size:10.5pt;font-weight:700;color:#102c52;overflow-wrap:anywhere}
  .confirmation-card>p.confirmation-hint{margin-top:5mm;padding:3mm 4mm;background:#f0f6fa!important;font-size:9pt}
}
