*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#1b2938;font:16px Arial,sans-serif;line-height:1.5}header{background:#123a5a;color:#fff;padding:16px max(18px,calc((100% - 1080px)/2));display:flex;justify-content:space-between;gap:14px;align-items:center}header a{font-size:24px;font-weight:bold;color:#fff;text-decoration:none}header span{font-size:13px}main{max-width:1080px;margin:28px auto;padding:0 16px;min-height:70vh}footer{text-align:center;padding:20px;color:#6b7787;font-size:12px}.panel{background:#fff;border:1px solid #e0e7ef;border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 4px 16px #152d4510}.narrow{max-width:540px;margin:28px auto}h1{margin:0 0 8px;font-size:27px}h2{margin:0 0 14px;font-size:20px}.muted{color:#68778a}label{display:block;font-weight:bold;margin:13px 0 6px}input,select{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;background:#fff}button,.button{display:inline-block;background:#0d6b50;color:white;border:0;border-radius:8px;padding:10px 15px;font-weight:bold;text-decoration:none;cursor:pointer;margin-top:15px}.secondary{background:#e6edf4;color:#23384b}.danger{background:#a72c37}.alert,.success{padding:13px;border-radius:8px;margin:12px 0}.alert{background:#fff0ef;color:#8c2028}.success{background:#e8f7ed;color:#175d39}.head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.head .button{margin:0}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5ebf1;vertical-align:top}th{background:#f7f9fc}.inline{display:flex;gap:6px;flex-wrap:wrap}.inline button{margin:0;padding:8px 10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.full{grid-column:1/-1}.cardbox{background:linear-gradient(135deg,#123a5a,#0d6b50);color:#fff;padding:22px;border-radius:14px;max-width:560px}.cardbox a{color:#fff}.cardbox h2{margin-top:16px}@media(max-width:650px){header,.head{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.full{grid-column:auto}.panel{padding:17px}h1{font-size:23px}}
/* KoraID upgrade components */
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.qrbox{margin:18px 0;padding:14px;background:#fff;border:1px solid #dce3ea;border-radius:12px;display:inline-block;text-align:center}.qrbox img{display:block;margin:0 auto 8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0}.stat{background:#fff;border:1px solid #dce3ea;border-radius:12px;padding:18px}.stat small{display:block;color:#64748b;margin-bottom:8px}.stat strong{font-size:1.5rem;color:#172554}.panel textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;box-sizing:border-box}.panel select{max-width:100%}table small{color:#64748b}
/* Professional printable membership card */
.card-stage{padding:24px 0;display:flex;align-items:center;flex-direction:column;gap:12px}.pro-card{width:100%;max-width:760px;aspect-ratio:1.586/1;padding:clamp(18px,3vw,30px);border-radius:20px;color:#fff;overflow:hidden;position:relative;background:radial-gradient(circle at 95% 5%,#237a70 0,transparent 35%),linear-gradient(125deg,#102d49 0%,#164a65 56%,#0b6b53 100%);box-shadow:0 18px 45px #102d4930;display:flex;flex-direction:column;justify-content:space-between}.pro-card:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff18;border-radius:50%;right:-80px;bottom:-145px;box-shadow:0 0 0 24px #ffffff08,0 0 0 48px #ffffff05;pointer-events:none}.pro-card-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand-mark{width:42px;height:42px;border-radius:13px;background:#fff;color:#123a5a;font-size:26px;font-weight:900;display:grid;place-items:center}.brand-text{display:flex;flex-direction:column}.brand-text strong{font-size:21px;letter-spacing:.3px}.brand-text span{font-size:9px;opacity:.82}.org-chip{margin-left:auto;border:1px solid #ffffff70;border-radius:999px;padding:6px 10px;font-size:9px;letter-spacing:1.5px}.pro-card-main{display:grid;grid-template-columns:66px minmax(0,1fr) 100px;gap:16px;align-items:center;position:relative;z-index:1}.member-avatar{width:62px;height:62px;border-radius:18px;background:#ffffff20;border:1px solid #ffffff70;display:grid;place-items:center;font-size:24px;font-weight:bold}.member-fields{min-width:0}.eyebrow,.card-number-label{font-size:8px;letter-spacing:1.5px;opacity:.75}.member-fields h2{font-size:clamp(16px,2.2vw,24px);margin:3px 0 8px;overflow-wrap:anywhere}.org-name{font-size:13px;margin:2px 0 9px}.card-number{font-size:clamp(12px,1.8vw,18px);font-weight:800;letter-spacing:1px;overflow-wrap:anywhere}.card-qr{background:#fff;color:#123a5a;border-radius:10px;padding:7px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px}.card-qr img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.card-qr span{font-size:7px;letter-spacing:1px;font-weight:bold}.pro-card-bottom{display:flex;align-items:end;gap:24px;border-top:1px solid #ffffff40;padding-top:12px;position:relative;z-index:1}.pro-card-bottom>div:not(.status-pill){display:flex;flex-direction:column;gap:3px}.pro-card-bottom span{font-size:8px;letter-spacing:1.3px;opacity:.72}.pro-card-bottom strong{font-size:11px}.status-pill{margin-left:auto;padding:6px 10px;border-radius:999px;font-size:9px;font-weight:bold;letter-spacing:.5px;white-space:nowrap}.is-valid{background:#d5f8e7;color:#145a3c}.is-invalid{background:#ffe0df;color:#8a2028}.card-note{font-size:12px;color:#68778a;max-width:760px}.no-print{}@media(max-width:580px){.pro-card{aspect-ratio:auto;min-height:290px;padding:17px;border-radius:15px}.pro-card-main{grid-template-columns:48px minmax(0,1fr) 76px;gap:9px}.member-avatar{width:46px;height:46px;border-radius:12px;font-size:18px}.card-qr{padding:5px}.brand-mark{width:34px;height:34px;font-size:21px}.brand-text strong{font-size:18px}.brand-text span{font-size:7px}.pro-card-bottom{gap:10px;flex-wrap:wrap}.status-pill{font-size:8px}.card-number{letter-spacing:.3px}}
@media print{@page{size:A4;margin:15mm}body{background:#fff!important;color:#111}header,footer,.no-print,main>.head{display:none!important}main{max-width:none;margin:0;padding:0;min-height:0}.card-stage{display:block;padding:0}.pro-card{width:85.6mm;height:54mm;max-width:none;aspect-ratio:auto;border-radius:3mm;padding:4mm;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact;page-break-inside:avoid}.pro-card-top{gap:2mm}.brand-mark{width:9mm;height:9mm;border-radius:2mm;font-size:6mm}.brand-text strong{font-size:4.5mm}.brand-text span{font-size:1.7mm}.org-chip{font-size:1.7mm;padding:1mm 2mm}.pro-card-main{grid-template-columns:12mm minmax(0,1fr) 19mm;gap:2.5mm}.member-avatar{width:11mm;height:11mm;border-radius:2mm;font-size:4.5mm}.eyebrow,.card-number-label{font-size:1.5mm}.member-fields h2{font-size:3.8mm;margin:1mm 0 1.5mm}.org-name{font-size:2.3mm;margin:0 0 1.5mm}.card-number{font-size:3mm}.card-qr{padding:1mm;border-radius:1.5mm;gap:.5mm}.card-qr span{font-size:1.3mm}.pro-card-bottom{gap:4mm;padding-top:2mm}.pro-card-bottom span{font-size:1.4mm}.pro-card-bottom strong{font-size:2mm}.status-pill{font-size:1.5mm;padding:1mm 2mm}.card-note{display:none}}
