/* QuizWing Protect — Frontend (modal + toast). Mobile-first, brand colors. */
.qwp-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:flex-end;justify-content:center;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
.qwp-modal[aria-hidden="false"]{display:flex;}
.qwp-modal-backdrop{position:absolute;inset:0;background:rgba(8,48,26,.78);backdrop-filter:blur(4px);}
.qwp-modal-card{position:relative;background:#fff;width:100%;max-width:520px;border-radius:1.25rem 1.25rem 0 0;padding:1.75rem 1.25rem 1.5rem;box-shadow:0 -10px 30px rgba(0,0,0,.25);max-height:92vh;overflow-y:auto;animation:qwpUp .3s ease-out;}
@keyframes qwpUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.qwp-modal-close{position:absolute;top:.6rem;right:.85rem;background:transparent;border:0;font-size:1.85rem;line-height:1;color:#6b7280;cursor:pointer;padding:.25rem .5rem;}
.qwp-modal-close:hover{color:#0d4a28;}
.qwp-modal-icon{font-size:2.75rem;text-align:center;margin-bottom:.4rem;}
.qwp-modal-headline{margin:0 0 .35rem;font-size:1.35rem;font-weight:800;color:#0d4a28;text-align:center;line-height:1.25;}
.qwp-modal-sub{margin:0 0 1.1rem;font-size:.95rem;color:#374151;text-align:center;line-height:1.5;}
.qwp-features{display:grid;grid-template-columns:1fr;gap:.4rem;background:#f9fafb;padding:.85rem 1rem;border-radius:.65rem;margin-bottom:1.1rem;}
.qwp-features div{font-size:.9rem;color:#0d4a28;font-weight:600;}
.qwp-plans{display:grid;grid-template-columns:1fr;gap:.55rem;margin-bottom:1.15rem;}
.qwp-plan{position:relative;border:2px solid #e5e7eb;border-radius:.75rem;padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;}
.qwp-plan-featured{border-color:#f0b938;background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);}
.qwp-plan-badge{position:absolute;top:-.6rem;right:.75rem;background:#f0b938;color:#0d4a28;font-size:.65rem;font-weight:800;padding:.2rem .55rem;border-radius:9999px;letter-spacing:.04em;text-transform:uppercase;}
.qwp-plan-name{font-weight:700;color:#0d4a28;font-size:.95rem;flex:1;}
.qwp-plan-price{font-weight:800;color:#0d4a28;font-size:1.1rem;}
.qwp-plan-duration{font-size:.75rem;color:#6b7280;font-weight:500;width:100%;text-align:right;margin-top:.1rem;}
.qwp-modal-cta{display:block;width:100%;background:#0d4a28;color:#fff!important;text-align:center;padding:.95rem 1rem;border-radius:9999px;font-weight:800;font-size:1rem;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .2s;}
.qwp-modal-cta:hover{background:#08301a;transform:translateY(-1px);}
.qwp-modal-payment-methods{text-align:center;font-size:.8rem;color:#6b7280;margin-top:.7rem;}
.qwp-modal-footer{text-align:center;font-size:.85rem;color:#374151;margin-top:1rem;border-top:1px solid #e5e7eb;padding-top:.85rem;}
.qwp-modal-footer a{color:#0d4a28;text-decoration:none;font-weight:700;}

/* Auth modal (signup / login) */
.qwp-auth-tabs{display:flex;gap:.35rem;background:#f3f4f6;padding:.3rem;border-radius:.65rem;margin-bottom:1rem;}
.qwp-tab{flex:1;background:transparent;border:0;padding:.6rem .5rem;border-radius:.5rem;font-weight:700;font-size:.9rem;color:#6b7280;cursor:pointer;transition:background .15s,color .15s;}
.qwp-tab-active{background:#fff;color:#0d4a28;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.qwp-auth-form{display:flex;flex-direction:column;gap:.75rem;}
.qwp-field{display:flex;flex-direction:column;gap:.3rem;}
.qwp-field span{font-size:.8rem;font-weight:700;color:#374151;}
.qwp-field input{font:inherit;font-size:1rem;padding:.75rem .85rem;border:2px solid #e5e7eb;border-radius:.6rem;background:#fff;color:#111827;transition:border-color .15s;width:100%;box-sizing:border-box;}
.qwp-field input:focus{outline:none;border-color:#0d4a28;}
.qwp-auth-error{color:#b91c1c;font-size:.85rem;min-height:1.1em;font-weight:600;}
.qwp-auth-error:empty{display:none;}
.qwp-auth-switch{text-align:center;font-size:.85rem;color:#6b7280;margin:.25rem 0 0;}
.qwp-auth-switch a{color:#0d4a28;font-weight:700;text-decoration:none;}

/* Toast — bottom-right counter pill */
.qwp-toast{position:fixed;bottom:1.25rem;right:1.25rem;background:#0d4a28;color:#fff;padding:.65rem 1rem;border-radius:9999px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.85rem;font-weight:700;box-shadow:0 6px 20px rgba(13,74,40,.3);opacity:0;transform:translateY(20px);transition:opacity .3s,transform .3s;pointer-events:none;z-index:99998;}
.qwp-toast.show{opacity:1;transform:translateY(0);}
.qwp-toast-warn{background:#f0b938;color:#0d4a28;}

/* Modal-linked plan cards (anchor tag) */
.qwp-plans a.qwp-plan{text-decoration:none;color:inherit;cursor:pointer;transition:transform .12s,border-color .12s;}
.qwp-plans a.qwp-plan:hover{transform:translateY(-1px);border-color:#0d4a28;}

/* ============ ACCOUNT PAGE ([qwp_account]) ============ */
.qwp-ac,.qwp-co{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;max-width:820px;margin:0 auto;padding:1rem;color:#111827;line-height:1.5;}
.qwp-ac-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem;flex-wrap:wrap;}
.qwp-ac-hdr h1{margin:0;font-size:1.5rem;color:#0d4a28;font-weight:800;}
.qwp-ac-logout{background:#f3f4f6;color:#374151;padding:.5rem .9rem;border-radius:9999px;font-size:.85rem;font-weight:600;text-decoration:none;}
.qwp-ac-logout:hover{background:#e5e7eb;color:#0d4a28;}
.qwp-ac-guest{background:#fff;padding:2rem 1.25rem;border-radius:1rem;text-align:center;}
.qwp-ac-guest a{color:#0d4a28;font-weight:700;}
.qwp-ac-grid{display:grid;grid-template-columns:1fr;gap:.85rem;}
.qwp-ac-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.15rem;}
.qwp-ac-card h3{margin:0 0 .6rem;color:#0d4a28;font-size:1rem;font-weight:700;}
.qwp-ac-tag{display:inline-block;padding:.2rem .65rem;border-radius:9999px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;}
.qwp-ac-tag.is-pro{background:#f0b938;color:#0d4a28;}
.qwp-ac-tag.is-free{background:#e5e7eb;color:#374151;}
.qwp-ac-tag.is-pending{background:#fef3c7;color:#92400e;}
.qwp-ac-meta{color:#6b7280;font-size:.88rem;margin:.3rem 0;}
.qwp-ac-big{font-size:2.25rem;font-weight:800;color:#0d4a28;line-height:1;margin:.1rem 0 .3rem;}
.qwp-ac-big span{font-size:1rem;color:#9ca3af;font-weight:600;margin-left:.25rem;}
.qwp-ac-bar{background:#e5e7eb;border-radius:9999px;height:8px;overflow:hidden;margin-top:.5rem;}
.qwp-ac-bar span{display:block;height:100%;background:linear-gradient(90deg,#0d4a28,#f0b938);}
.qwp-ac-form{display:flex;flex-direction:column;gap:.7rem;}
.qwp-ac-btn{display:inline-block;background:#0d4a28;color:#fff!important;border:0;padding:.8rem 1.1rem;border-radius:9999px;font-weight:700;font-size:.95rem;text-decoration:none;text-align:center;cursor:pointer;}
.qwp-ac-btn:hover{background:#08301a;}
.qwp-ac-btn:disabled{opacity:.6;cursor:wait;}
.qwp-ac-btn-primary{background:#0d4a28;}
.qwp-ac-msg{min-height:1em;font-size:.85rem;font-weight:600;}
.qwp-ac-msg-ok{color:#047857;}
.qwp-ac-msg-err{color:#b91c1c;}
.qwp-ac-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;}
.qwp-ac-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f3f4f6;font-size:.85rem;flex-wrap:wrap;}
.qwp-ac-list li:last-child{border-bottom:0;}
.qwp-ac-list-name{font-weight:600;color:#111827;flex:1;word-break:break-word;}
.qwp-ac-list-date{color:#9ca3af;font-size:.78rem;}
.qwp-ac-list-blocked{color:#b91c1c;font-weight:600;font-size:.75rem;}

/* ============ CHECKOUT PAGE ([qwp_checkout]) ============ */
.qwp-co-hdr{margin-bottom:1.25rem;}
.qwp-co-hdr h1{margin:0;font-size:1.65rem;color:#0d4a28;font-weight:800;}
.qwp-co-hdr p{color:#6b7280;margin:.35rem 0 0;}
.qwp-co-back{color:#0d4a28;font-weight:600;font-size:.85rem;text-decoration:none;display:inline-block;margin-bottom:.5rem;}
.qwp-co-plans{display:grid;grid-template-columns:1fr;gap:.85rem;}
.qwp-co-plan{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;padding:1.25rem 1.15rem;}
.qwp-co-plan.is-featured{border-color:#f0b938;background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);}
.qwp-co-badge{position:absolute;top:-.65rem;right:1rem;background:#f0b938;color:#0d4a28;font-size:.65rem;font-weight:800;padding:.25rem .65rem;border-radius:9999px;letter-spacing:.04em;text-transform:uppercase;}
.qwp-co-plan h3{margin:0 0 .35rem;color:#0d4a28;font-size:1.15rem;font-weight:800;}
.qwp-co-price{font-size:1.75rem;font-weight:800;color:#0d4a28;line-height:1;margin:.2rem 0;}
.qwp-co-price span{font-size:.9rem;color:#6b7280;font-weight:600;margin-left:.15rem;}
.qwp-co-cap{color:#374151;font-weight:600;font-size:.95rem;margin-bottom:.75rem;}
.qwp-co-features{list-style:none;margin:0 0 1.1rem;padding:0;display:flex;flex-direction:column;gap:.3rem;}
.qwp-co-features li{font-size:.88rem;color:#374151;padding-left:1.25rem;position:relative;}
.qwp-co-features li::before{content:"✓";color:#0d4a28;font-weight:800;position:absolute;left:0;}
.qwp-co-btn{display:inline-block;width:100%;background:#0d4a28;color:#fff!important;border:0;padding:.85rem 1rem;border-radius:9999px;font-weight:700;font-size:.95rem;text-decoration:none;text-align:center;cursor:pointer;box-sizing:border-box;}
.qwp-co-btn:hover{background:#08301a;}
.qwp-co-btn:disabled{opacity:.6;cursor:wait;}
.qwp-co-summary{display:flex;justify-content:space-between;align-items:center;background:#f9fafb;border-radius:.85rem;padding:.85rem 1rem;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap;}
.qwp-co-summary strong{display:block;color:#0d4a28;font-weight:800;font-size:1rem;}
.qwp-co-summary span{color:#6b7280;font-size:.85rem;}
.qwp-co-summary-price{font-weight:800;color:#0d4a28;font-size:1.25rem;}
.qwp-co-pay{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.1rem;margin-bottom:1rem;}
.qwp-co-pay h3{margin:0 0 .75rem;color:#0d4a28;font-size:1rem;font-weight:700;}
.qwp-co-pay-methods{display:flex;flex-direction:column;gap:.5rem;}
.qwp-co-pay-row{display:flex;align-items:center;gap:.6rem;background:#f9fafb;border-radius:.6rem;padding:.65rem .75rem;flex-wrap:wrap;}
.qwp-co-pay-label{font-weight:700;color:#0d4a28;font-size:.85rem;min-width:80px;}
.qwp-co-pay-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;color:#111827;background:transparent;flex:1;word-break:break-all;}
.qwp-co-pay-bank{align-items:flex-start;}
.qwp-co-pay-bank>div{flex:1;}
.qwp-co-pay-bank>div>div{color:#6b7280;font-size:.8rem;margin-bottom:.15rem;}
.qwp-co-copy{background:#0d4a28;color:#fff;border:0;padding:.35rem .7rem;border-radius:9999px;font-size:.75rem;font-weight:700;cursor:pointer;}
.qwp-co-copy.is-copied{background:#047857;}
.qwp-co-instr{color:#6b7280;font-size:.85rem;margin:.85rem 0 0;line-height:1.55;}
.qwp-co-form{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.15rem;display:flex;flex-direction:column;gap:.8rem;}
.qwp-co-form h3{margin:0;color:#0d4a28;font-size:1rem;font-weight:700;}
.qwp-co-form select,.qwp-co-form input[type=text],.qwp-co-form input[type=email],.qwp-co-form input[type=password]{font:inherit;font-size:1rem;padding:.75rem .85rem;border:2px solid #e5e7eb;border-radius:.6rem;background:#fff;color:#111827;width:100%;box-sizing:border-box;}
.qwp-co-form select:focus,.qwp-co-form input:focus{outline:none;border-color:#0d4a28;}
.qwp-co-msg{min-height:1em;font-size:.85rem;font-weight:600;}
.qwp-co-msg-err{color:#b91c1c;}
.qwp-co-footnote{color:#6b7280;font-size:.8rem;text-align:center;margin:.35rem 0 0;}
.qwp-co-footnote a{color:#0d4a28;font-weight:700;}
.qwp-co-success{background:#fff;border:2px solid #0d4a28;border-radius:1rem;padding:1.75rem 1.25rem;text-align:center;}
.qwp-co-success-icon{font-size:3rem;margin-bottom:.4rem;}
.qwp-co-success h2{margin:0 0 .6rem;color:#0d4a28;}
.qwp-co-success p{color:#374151;margin:.3rem 0 .6rem;}

/* Tablet & desktop */
@media(min-width:640px){
	.qwp-modal{align-items:center;}
	.qwp-modal-card{border-radius:1.25rem;max-width:560px;padding:2rem 1.75rem;}
	.qwp-features{grid-template-columns:1fr 1fr;}
	.qwp-plans{grid-template-columns:repeat(3,1fr);}
	.qwp-plan{flex-direction:column;text-align:center;padding:1rem .75rem 1.1rem;}
	.qwp-plan-name{font-size:.85rem;}
	.qwp-plan-price{font-size:1.2rem;margin-top:.3rem;}
	.qwp-plan-duration{text-align:center;margin-top:.2rem;width:auto;}
	.qwp-plan-badge{font-size:.6rem;}
	.qwp-ac-grid{grid-template-columns:1fr 1fr;}
	.qwp-ac-plan,.qwp-ac-pending,.qwp-ac-recent{grid-column:1/-1;}
	.qwp-co-plans{grid-template-columns:repeat(3,1fr);}
}
