.auth-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(10,18,32,.68)}.auth-modal[hidden]{display:none}.auth-dialog,.plans-dialog{position:relative;width:min(100%,420px);padding:1.5rem;border-radius:16px;background:#fff;color:#162033;box-shadow:0 20px 70px rgba(0,0,0,.3)}.auth-dialog h2,.plans-dialog h2{margin:0 0 .75rem}.auth-dialog label{display:grid;gap:.35rem;margin:.85rem 0;font-weight:600}.auth-dialog input{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.auth-dialog .btn-primary{width:100%;padding:.75rem;border:0;border-radius:8px;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer}.auth-close{position:absolute;right:.75rem;top:.5rem;border:0;background:transparent;font-size:1.7rem;cursor:pointer;color:#64748b}.auth-message{min-height:1.4em;color:#b42318}.auth-switch{text-align:center;font-size:.92rem}.auth-switch button{border:0;background:none;color:#1d4ed8;text-decoration:underline;cursor:pointer}.vip-hint{display:block;margin-top:.25rem;color:#8a5a00;font-size:.8rem}@media(max-width:520px){.auth-dialog{padding:1.25rem}.auth-modal{align-items:end;padding:.5rem}}
.group-login-note{margin:.85rem 0 0;padding:.65rem .8rem;border-left:3px solid #c58a00;border-radius:6px;background:#fff8e1;color:#6b4e00;font-size:.9rem}.group-login-note i{margin-right:.35rem}
.subscription-alert{display:flex;align-items:center;gap:.65rem;margin:.8rem 1rem 0;padding:.75rem 1rem;border-radius:9px;border-left:4px solid #d49a16;background:#fff8df;color:#6b4e00;font-weight:700}.subscription-alert span{flex:1}.subscription-alert small{display:block;margin-top:.2rem;font-weight:500}.subscription-alert button{border:0;background:transparent;color:inherit;font-size:1.3rem;cursor:pointer}.subscription-alert.subscription-expired{border-left-color:#b42318;background:#ffeded;color:#8f2018}
.plan-buttons{display:grid;gap:.5rem;margin-top:.85rem}.plan-button{width:100%;border:0;cursor:pointer;text-align:center}.plan-button-secondary{background:#fff;color:#1d4ed8;border:1px solid #1d4ed8}.plan-login-hint{display:block;margin-top:.65rem;color:#dbeafe;font-size:.76rem;line-height:1.35}
.portal-account-area{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}.header-downloads-button{border:2px solid #8fc5f3;border-radius:999px;padding:.65rem 1rem;background:linear-gradient(135deg,#eaf5ff,#72afe5);color:#102a56;box-shadow:0 3px 12px rgba(16,42,86,.18);font-weight:900;font-size:.9rem;cursor:pointer;white-space:nowrap}.header-plans-button{border:2px solid #f2c14e;border-radius:999px;padding:.65rem 1rem;background:linear-gradient(135deg,#fff8d8,#f4b942);color:#17345d;box-shadow:0 3px 12px rgba(16,42,86,.2);font-weight:900;font-size:.9rem;cursor:pointer;white-space:nowrap}.header-admin-button{display:inline-flex;align-items:center;gap:.35rem;border:2px solid #7895b7;border-radius:999px;padding:.6rem .85rem;background:#102a56;color:#fff;text-decoration:none;font-weight:900;font-size:.9rem;white-space:nowrap}.header-admin-button[hidden]{display:none!important}.account-control{display:flex;align-items:center;gap:.45rem}.auth-user-name{display:inline-flex;align-items:center;gap:.3rem;padding:.55rem .75rem;border-radius:999px;background:#e8f7ee;color:#176b36;font-size:.82rem;font-weight:800;white-space:nowrap}.auth-vip-badge{display:inline-flex;align-items:center;gap:.2rem;margin-left:.12rem;padding:.18rem .42rem;border:1px solid #d49a16;border-radius:999px;background:linear-gradient(135deg,#fff4b8,#f5c84b);color:#6b4b00;font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.auth-vip-badge i{font-size:.72rem}.btn-login{border:2px solid #f2c14e!important;border-radius:999px!important;background:#102a56!important;color:#fff!important;padding:.62rem .95rem!important;font-weight:900!important;box-shadow:0 3px 12px rgba(16,42,86,.25);cursor:pointer}.btn-login:hover,.header-downloads-button:hover,.header-plans-button:hover,.header-admin-button:hover,.plan-choose:hover{transform:translateY(-1px);filter:brightness(1.03)}body.downloads-mode .modality-selector{display:none}
.plans-dialog{width:min(100%,760px);max-height:min(90vh,760px);overflow:auto;background:linear-gradient(180deg,#fff 0%,#f5f9ff 100%)}.plans-dialog h2{color:#102a56;border-bottom:1px solid #dbe6f2;padding-bottom:.7rem}.plans-intro{color:#50657d;margin-top:0}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.plan-option{position:relative;border:1px solid #cbd8e6;border-radius:13px;padding:1rem;background:#fff;box-shadow:0 4px 14px rgba(16,42,86,.08)}.plan-option h3{margin:.1rem 0 .4rem;color:#102a56}.plan-option-featured{border:2px solid #e3ad2f;box-shadow:0 7px 20px rgba(184,132,21,.16)}.plan-featured-label{display:inline-block;margin:-.2rem 0 .4rem;padding:.2rem .5rem;border-radius:99px;background:#fff0b8;color:#745000;font-size:.72rem;font-weight:900}.plan-price{margin:.2rem 0;color:#1d64a5;font-size:1.45rem;font-weight:900}.plan-price small{font-size:.78rem;color:#68798d;font-weight:600}.plan-option ul{min-height:8.5rem;padding-left:1.15rem;color:#435970;line-height:1.55}.plan-choose{padding:.72rem 1rem;border-radius:8px;background:#1b64a5;color:#fff;font-weight:900}.plan-option-featured .plan-choose{background:#b77912}.plans-footer-hint{color:#6b4e00!important;text-align:center}.plans-modal .auth-close{z-index:2}
@media(max-width:900px){.portal-account-area{gap:.45rem}.header-plans-button{font-size:.82rem;padding:.55rem .75rem}.auth-user-name{font-size:.75rem;padding:.48rem .6rem}}
@media(max-width:700px){.portal-account-area{width:100%;justify-content:center;margin-top:.5rem}.account-control{width:100%;justify-content:center}.auth-user-name{max-width:65%;overflow:hidden;text-overflow:ellipsis}.btn-login{padding:.55rem .8rem!important}.plans-grid{grid-template-columns:1fr}.plans-dialog{width:100%;max-width:520px;max-height:calc(100dvh - 1rem);padding:1.15rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.plans-modal{padding:.5rem;align-items:center}.plans-dialog h2{font-size:1.2rem;padding-right:2rem}.plans-intro{font-size:.9rem}.plan-option{padding:.9rem}.plan-choose{min-height:44px;width:100%;font-size:.92rem}.header-downloads-button,.header-plans-button{flex:1;min-height:44px;padding:.55rem .65rem}}
@media(max-width:380px){.plans-modal{padding:.25rem}.plans-dialog{max-height:calc(100dvh - .5rem);padding:.95rem}.plan-price{font-size:1.3rem}}
.auth-registration-field[hidden]{display:none!important}
