:root{--bg: #022c22;--surface: #034435;--text: #eaedf3;--heading: #f8fafc;--muted: #a3adbe;--primary: #22c55e;--on-primary: #000000;--accent: #92400e;--border: rgba(255,255,255,0.12)}
*, *::before, *::after{box-sizing: border-box}
body{background: var(--bg);color: var(--text);font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Bengali",sans-serif;font-size: 1rem;line-height: 1.75;margin: 0}
.navbar{background: var(--surface);border-bottom: 1px solid var(--border);padding: .75rem 0}
.navbar-brand img{height: 38px}
.navbar-toggler{border-color: var(--border)}
.navbar-toggler-icon{filter: invert(1)}
.nav-link{color: var(--text) !important;font-size: .9rem;font-weight: 500;padding: .4rem .75rem !important;border-radius: 6px;transition: background .2s, color .2s}
.nav-link:hover, .nav-link.active{color: var(--primary) !important;background: rgba(34,197,94,.08)}
.breadcrumb-wrap{background: var(--surface);border-bottom: 1px solid var(--border);padding: .6rem 0}
.breadcrumb{margin: 0;background: none;padding: 0;font-size: .83rem}
.breadcrumb-item a{color: var(--primary);text-decoration: none}
.breadcrumb-item.active{color: var(--muted)}
.breadcrumb-item + .breadcrumb-item::before{color: var(--muted)}
.login-hero{background: linear-gradient(135deg, var(--surface) 0%, var(--bg) 100%);border-bottom: 1px solid var(--border);padding: 4rem 0;position: relative;overflow: hidden}
.login-hero::before{content: "";position: absolute;top: -120px;right: -80px;width: 480px;height: 480px;background: radial-gradient(circle, rgba(34,197,94,.055) 0%, transparent 65%);border-radius: 50%;pointer-events: none}
.login-hero::after{content: "";position: absolute;bottom: -80px;left: -60px;width: 320px;height: 320px;background: radial-gradient(circle, rgba(146,64,14,.04) 0%, transparent 65%);border-radius: 50%;pointer-events: none}
.hero-label{display: inline-block;background: rgba(34,197,94,.12);border: 1px solid rgba(34,197,94,.28);color: var(--primary);font-size: .75rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;padding: .22rem .9rem;border-radius: 50px;margin-bottom: 1rem}
.hero-title{font-size: clamp(1.6rem, 4vw, 2.4rem);font-weight: 700;color: var(--heading);line-height: 1.25;margin-bottom: 1rem}
.hero-title span{color: var(--primary)}
.hero-sub{color: var(--muted);font-size: .93rem;max-width: 460px;line-height: 1.8;margin-bottom: 2rem}
.login-card{background: var(--surface);border: 1px solid var(--border);border-radius: 20px;padding: 2.4rem 2rem;position: relative;box-shadow: 0 24px 64px rgba(0,0,0,.32)}
.login-card::before{content: "";position: absolute;top: 0;left: 0;right: 0;height: 3px;background: linear-gradient(90deg, var(--primary), rgba(34,197,94,.15));border-radius: 20px 20px 0 0}
.login-card h3{font-size: 1.18rem;font-weight: 700;color: var(--heading);margin-bottom: .25rem}
.login-card .sub-text{font-size: .82rem;color: var(--muted);margin-bottom: 1.8rem}
.form-label{font-size: .84rem;font-weight: 600;color: var(--text);margin-bottom: .35rem}
.form-control, .form-select{background: var(--bg);border: 1px solid var(--border);color: var(--text);border-radius: 8px;font-size: .9rem;padding: .65rem .9rem;transition: border-color .2s, box-shadow .2s}
.form-control:focus, .form-select:focus{background: var(--bg);border-color: var(--primary);color: var(--text);box-shadow: 0 0 0 3px rgba(34,197,94,.15);outline: none}
.form-control::placeholder{color: var(--muted);opacity: 1}
.input-group-text{background: rgba(34,197,94,.08);border: 1px solid var(--border);border-right: none;color: var(--primary);border-radius: 8px 0 0 8px}
.input-group .form-control{border-radius: 0 8px 8px 0;border-left: none}
.input-group .form-control:focus{border-left: none;box-shadow: none;border-color: var(--primary)}
.input-group:focus-within .input-group-text{border-color: var(--primary)}
.password-toggle{cursor: pointer;background: rgba(34,197,94,.08);border: 1px solid var(--border);border-left: none;color: var(--muted);border-radius: 0 8px 8px 0;padding: 0 .8rem;transition: color .2s}
.password-toggle:hover{color: var(--primary)}
.form-check-input{background-color: var(--bg);border-color: var(--border)}
.form-check-input:checked{background-color: var(--primary);border-color: var(--primary)}
.form-check-input:focus{box-shadow: 0 0 0 3px rgba(34,197,94,.15)}
.form-check-label{font-size: .82rem;color: var(--muted)}
.btn-login{width: 100%;background: var(--primary);color: var(--on-primary);font-weight: 700;font-size: .97rem;padding: .78rem;border: none;border-radius: 8px;cursor: pointer;transition: opacity .2s, transform .15s;display: flex;align-items: center;justify-content: center;gap: .5rem}
.btn-login:hover{opacity: .88;transform: translateY(-1px)}
.forgot-link{font-size: .82rem;color: var(--primary);text-decoration: none}
.forgot-link:hover{text-decoration: underline}
.divider-or{display: flex;align-items: center;gap: .75rem;margin: 1.3rem 0;font-size: .78rem;color: var(--muted)}
.divider-or::before, .divider-or::after{content: "";flex: 1;height: 1px;background: var(--border)}
.register-hint{text-align: center;font-size: .84rem;color: var(--muted);margin-top: 1.1rem}
.register-hint a{color: var(--primary);font-weight: 600;text-decoration: none}
.register-hint a:hover{text-decoration: underline}
.security-row{display: flex;flex-wrap: wrap;gap: .5rem;margin-top: 1.6rem}
.sec-badge{display: inline-flex;align-items: center;gap: .3rem;background: rgba(34,197,94,.07);border: 1px solid rgba(34,197,94,.18);color: var(--muted);font-size: .72rem;padding: .18rem .6rem;border-radius: 50px}
.sec-badge i{color: var(--primary);font-size: .75rem}
.trust-strip{background: var(--surface);border-top: 1px solid var(--border);border-bottom: 1px solid var(--border);padding: 1.2rem 0}
.trust-item{display: flex;align-items: center;gap: .5rem;font-size: .82rem;color: var(--muted)}
.trust-item i{color: var(--primary);font-size: 1rem}
.section-label{display: inline-block;background: rgba(34,197,94,.1);color: var(--primary);font-size: .74rem;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;padding: .2rem .75rem;border-radius: 50px;margin-bottom: .5rem}
.section-title{font-size: clamp(1.2rem, 3vw, 1.75rem);font-weight: 700;color: var(--heading);margin-bottom: .4rem}
.section-sub{color: var(--muted);font-size: .92rem;margin-bottom: 2.2rem}
.feature-card{background: var(--surface);border: 1px solid var(--border);border-radius: 16px;padding: 1.8rem 1.6rem;height: 100%;transition: transform .22s, border-color .22s, box-shadow .22s;position: relative;overflow: hidden}
.feature-card::after{content: "";position: absolute;top: 0;left: 0;right: 0;height: 3px;background: linear-gradient(90deg, var(--primary), transparent);opacity: 0;transition: opacity .22s}
.feature-card:hover{transform: translateY(-4px);border-color: rgba(34,197,94,.25);box-shadow: 0 10px 30px rgba(0,0,0,.25)}
.feature-card:hover::after{opacity: 1}
.feature-icon{width: 52px;height: 52px;background: rgba(34,197,94,.1);border: 1px solid rgba(34,197,94,.2);border-radius: 12px;display: flex;align-items: center;justify-content: center;font-size: 1.5rem;margin-bottom: 1rem}
.feature-card h5{font-size: .97rem;font-weight: 700;color: var(--heading);margin-bottom: .45rem}
.feature-card p{font-size: .84rem;color: var(--muted);line-height: 1.75;margin: 0}
.step-item{display: flex;align-items: flex-start;gap: 1rem;margin-bottom: 1.4rem}
.step-item:last-child{margin-bottom: 0}
.step-badge{width: 38px;height: 38px;background: rgba(34,197,94,.1);border: 2px solid rgba(34,197,94,.22);border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: .85rem;font-weight: 700;color: var(--primary);flex-shrink: 0}
.step-body h6{font-size: .9rem;font-weight: 700;color: var(--heading);margin-bottom: .2rem}
.step-body p{font-size: .83rem;color: var(--muted);margin: 0;line-height: 1.7}
.info-card{background: rgba(34,197,94,.06);border: 1px solid rgba(34,197,94,.18);border-radius: 14px;padding: 1.4rem 1.5rem}
.info-card h6{color: var(--heading);font-weight: 700;font-size: .9rem;margin-bottom: .5rem;display: flex;align-items: center;gap: .5rem}
.info-card p, .info-card ul{color: var(--text);font-size: .85rem;line-height: 1.78;margin-bottom: 0}
.info-card ul{padding-left: 1.2rem}
.info-card ul li{margin-bottom: .3rem}
.checklist{list-style: none;padding: 0;margin: 0}
.checklist li{display: flex;align-items: flex-start;gap: .65rem;padding: .55rem 0;border-bottom: 1px solid var(--border);font-size: .87rem;color: var(--text);line-height: 1.7}
.checklist li:last-child{border-bottom: none}
.checklist li i{color: var(--primary);flex-shrink: 0;margin-top: .2rem}
.accordion-item{background: var(--surface);border: 1px solid var(--border) !important;border-radius: 12px !important;margin-bottom: .6rem;overflow: hidden}
.accordion-button{background: var(--surface);color: var(--heading);font-weight: 600;font-size: .9rem;box-shadow: none !important}
.accordion-button:not(.collapsed){background: rgba(34,197,94,.07);color: var(--primary)}
.accordion-button::after{filter: invert(1) brightness(1.5)}
.accordion-body{background: var(--surface);color: var(--text);font-size: .87rem;line-height: 1.8;padding-top: .5rem}
.cta-section{background: linear-gradient(135deg, var(--surface) 0%, rgba(34,197,94,.05) 100%);border: 1px solid rgba(34,197,94,.18);border-radius: 20px;padding: 3.5rem 2rem;text-align: center}
.cta-section h2{font-size: clamp(1.2rem, 3vw, 1.7rem);font-weight: 700;color: var(--heading);margin-bottom: .7rem}
.cta-section p{color: var(--muted);font-size: .92rem;max-width: 520px;margin: 0 auto 2rem}
.btn-cta-primary{display: inline-flex;align-items: center;gap: .5rem;background: var(--primary);color: var(--on-primary);font-weight: 700;font-size: .95rem;padding: .72rem 1.9rem;border-radius: 8px;text-decoration: none;transition: opacity .2s, transform .15s}
.btn-cta-primary:hover{opacity: .88;transform: translateY(-1px);color: var(--on-primary)}
.btn-cta-outline{display: inline-flex;align-items: center;gap: .5rem;background: transparent;color: var(--text);font-weight: 600;font-size: .95rem;padding: .72rem 1.9rem;border-radius: 8px;text-decoration: none;border: 1px solid var(--border);transition: border-color .2s, color .2s}
.btn-cta-outline:hover{border-color: var(--primary);color: var(--primary)}
.stat-box{background: var(--surface);border: 1px solid var(--border);border-radius: 14px;padding: 1.4rem 1rem;text-align: center}
.stat-box .stat-num{font-size: 1.8rem;font-weight: 700;color: var(--primary);line-height: 1;margin-bottom: .3rem}
.stat-box .stat-label{font-size: .78rem;color: var(--muted)}
.mini-alert{background: rgba(34,197,94,.08);border: 1px solid rgba(34,197,94,.2);border-radius: 8px;padding: .7rem 1rem;font-size: .82rem;color: var(--text);display: flex;align-items: center;gap: .6rem;margin-bottom: 1.4rem}
.mini-alert i{color: var(--primary);font-size: .95rem;flex-shrink: 0}
.pill-badge{display: inline-flex;align-items: center;gap: .3rem;background: rgba(34,197,94,.1);border: 1px solid rgba(34,197,94,.2);color: var(--primary);font-size: .74rem;font-weight: 700;padding: .2rem .65rem;border-radius: 50px}
footer{background: var(--surface);border-top: 1px solid var(--border);padding: 2.5rem 0 1.5rem}
.footer-link{color: var(--muted);text-decoration: none;font-size: .87rem;transition: color .2s}
.footer-link:hover{color: var(--primary)}
@media  (max-width: 991px) {.login-hero{padding: 3rem 0}}
@media  (max-width: 767px) {.login-card{padding: 1.6rem 1.2rem}}