:root{--evf-bg:#f3f7f5;--evf-card:#fff;--evf-text:#173a31;--evf-muted:#687d76;--evf-line:#dbe8e2;--evf-primary:#1f7a62;--evf-primary-dark:#155845;--evf-soft:#e2f3ec;--evf-danger:#b73343;--evf-shadow:0 24px 80px rgba(18,62,54,.14)}
.evf-frame-wrap{width:100%;min-height:700px;border:1px solid var(--evf-line);border-radius:20px;overflow:hidden;background:var(--evf-bg);box-shadow:0 18px 55px rgba(22,65,53,.12)}
.evf-frame{display:block;width:100%;min-height:700px;border:0;background:var(--evf-bg)}
.evf-app-toolbar{max-width:1500px;margin:0 auto 10px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border:1px solid var(--evf-line);border-radius:14px;background:#fff;color:var(--evf-text)}
.evf-app-toolbar strong,.evf-app-toolbar span{display:block}.evf-app-toolbar span{font-size:12px;color:var(--evf-muted);margin-top:2px}.evf-toolbar-logout,.evf-primary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:0;border-radius:12px;background:var(--evf-primary);color:#fff!important;font-weight:800;padding:11px 17px;cursor:pointer;min-height:44px}.evf-toolbar-logout:hover,.evf-primary-button:hover{background:var(--evf-primary-dark);color:#fff}
.evf-auth-shell{width:min(1080px,calc(100% - 28px));margin:36px auto;display:grid;grid-template-columns:minmax(300px,.88fr) minmax(420px,1.12fr);overflow:hidden;border:1px solid var(--evf-line);border-radius:28px;background:var(--evf-card);box-shadow:var(--evf-shadow);color:var(--evf-text);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
.evf-auth-hero{padding:42px;background:linear-gradient(145deg,#113e35,#228066);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:640px}.evf-auth-logo{width:62px;height:62px;border-radius:19px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:30px}.evf-auth-kicker{display:block;margin-top:24px;font-size:11px;font-weight:900;letter-spacing:.16em;color:#bce1d3}.evf-auth-hero h1{font-size:34px;line-height:1.15;margin:12px 0 14px}.evf-auth-hero p{color:#d4e9e1;line-height:1.7;font-size:15px}.evf-auth-hero ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.evf-auth-hero li{display:flex;gap:9px;color:#e8f4ef;font-size:13px}.evf-auth-hero li:before{content:"✓";width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);font-weight:900}
.evf-auth-card{padding:34px 38px 40px;min-width:0}.evf-auth-tabs{display:flex;gap:5px;padding:5px;border-radius:14px;background:#edf4f1;margin-bottom:22px}.evf-auth-tabs button{flex:1;border:0;border-radius:10px;background:transparent;color:var(--evf-muted);font-weight:800;padding:10px 8px;cursor:pointer}.evf-auth-tabs button.active{background:#fff;color:var(--evf-text);box-shadow:0 4px 14px rgba(18,62,54,.08)}
.evf-auth-panel{display:none}.evf-auth-panel.active{display:block;animation:evfFade .2s ease}@keyframes evfFade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}.evf-auth-panel h2{font-size:27px;margin:2px 0 6px;color:var(--evf-text)}.evf-auth-sub{font-size:13px;color:var(--evf-muted);line-height:1.6;margin:0 0 20px}
.evf-auth-form{display:grid;gap:14px}.evf-auth-form label:not(.evf-check):not(.evf-honeypot){display:grid;gap:6px}.evf-auth-form label>span{font-size:12px;font-weight:800;color:var(--evf-muted)}.evf-auth-form input{box-sizing:border-box;width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--evf-line);border-radius:12px;background:#fff;color:var(--evf-text);outline:none}.evf-auth-form input:focus{border-color:#72b09a;box-shadow:0 0 0 4px rgba(31,122,98,.1)}.evf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.evf-full{grid-column:1/-1}.evf-password-field{position:relative}.evf-password-field input{padding-right:68px}.evf-password-toggle{position:absolute;right:5px;top:5px;bottom:5px;border:0;border-radius:9px;background:var(--evf-soft);color:var(--evf-primary-dark);font-size:11px;font-weight:850;padding:0 11px;cursor:pointer}.evf-password-generator-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.evf-password-generator-row strong{font-size:13px}.evf-secondary-button,.evf-text-button{border:1px solid var(--evf-line);border-radius:11px;background:#fff;color:var(--evf-primary-dark);font-weight:800;padding:9px 12px;cursor:pointer}.evf-text-button{border:0;padding:5px;background:transparent;text-align:center}.evf-check{display:flex!important;align-items:flex-start;gap:9px;line-height:1.5}.evf-check input{width:18px;height:18px;min-height:auto;margin:2px 0 0;flex:0 0 auto}.evf-check span{font-weight:500!important}.evf-check a{color:var(--evf-primary)}.evf-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.evf-strength{display:grid;gap:6px;margin-top:-5px}.evf-strength-bar{height:7px;border-radius:999px;background:#edf2ef;overflow:hidden}.evf-strength-bar i{display:block;height:100%;width:0;border-radius:inherit;background:#c84f5c;transition:.2s}.evf-strength span{font-size:11px;color:var(--evf-muted)}.evf-strength[data-score="1"] .evf-strength-bar i{width:20%;background:#c84f5c}.evf-strength[data-score="2"] .evf-strength-bar i{width:40%;background:#d5822f}.evf-strength[data-score="3"] .evf-strength-bar i{width:60%;background:#d3a62d}.evf-strength[data-score="4"] .evf-strength-bar i{width:80%;background:#5e9f75}.evf-strength[data-score="5"] .evf-strength-bar i{width:100%;background:#1f7a62}
.evf-auth-notice{padding:12px 14px;border-radius:12px;margin-bottom:17px;font-size:13px;line-height:1.5}.evf-auth-notice.evf-error{background:#fff0f1;border:1px solid #f0c7cd;color:#9f2e3d}.evf-auth-notice.evf-success{background:#e9f7f0;border:1px solid #bddfce;color:#17684f}.evf-auth-notice.evf-info{background:#edf4ff;border:1px solid #c9daf2;color:#345f93}.evf-access-denied{max-width:620px;margin:40px auto;padding:30px;border:1px solid var(--evf-line);border-radius:20px;background:#fff;box-shadow:var(--evf-shadow);color:var(--evf-text)}
@media(max-width:850px){.evf-auth-shell{grid-template-columns:1fr}.evf-auth-hero{min-height:260px;padding:28px}.evf-auth-hero h1{font-size:27px}.evf-auth-card{padding:27px}.evf-auth-hero ul{display:none}}
@media(max-width:620px){.evf-auth-shell{width:100%;margin:0;border-radius:0;border-left:0;border-right:0}.evf-auth-card{padding:22px 16px 30px}.evf-auth-hero{padding:24px 18px;min-height:220px}.evf-form-grid{grid-template-columns:1fr}.evf-full{grid-column:auto}.evf-auth-tabs{overflow:auto}.evf-auth-tabs button{white-space:nowrap}.evf-password-generator-row{align-items:flex-start;flex-direction:column}.evf-frame-wrap{border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}.evf-frame{height:calc(100vh - 80px)!important}.evf-app-toolbar{border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;padding-left:14px;padding-right:14px}}
/* Secure Auth v0.2.2: registration is always visible. */
.evf-login-register-link{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:2px;padding-top:10px;border-top:1px solid var(--evf-line);font-size:13px;color:var(--evf-muted)}
.evf-login-register-link .evf-text-button{color:var(--evf-primary);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.evf-auth-tabs:has([data-evf-auth-tab="register"]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:520px){.evf-auth-tabs:has([data-evf-auth-tab="register"]){grid-template-columns:1fr}.evf-auth-tabs button{width:100%}}
