@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

/* ESHIFT Certificate Verification - frontend only */
.eshift-auto-token-page,
.eshift-verify-form-wrap,
.eshift-portal{
  --eshift-navy:#022B54;
  --eshift-blue:#074E91;
  --eshift-sky:#EAF5FF;
  --eshift-soft:#F6FAFE;
  --eshift-line:#DDEAF7;
  --eshift-text:#16243A;
  --eshift-muted:#5E7088;
  --eshift-orange:#EA6645;
  --eshift-green:#19A75C;
  font-family:Poppins,Inter,Arial,sans-serif!important;
  box-sizing:border-box;
}
.eshift-auto-token-page *,.eshift-verify-form-wrap *,.eshift-portal *{box-sizing:border-box}
.eshift-auto-token-page{width:100%;margin:0;padding:34px 14px;background:linear-gradient(135deg,#f4f8fc 0%,#eaf2fb 52%,#f9fbfd 100%);color:var(--eshift-text);min-height:100vh}

/* Verification form */
.eshift-verify-form-wrap{max-width:780px;margin:60px auto;padding:20px;color:var(--eshift-text)}
.eshift-form-card{position:relative;overflow:hidden;background:#fff;border-radius:28px;padding:42px 40px;border:1px solid var(--eshift-line);box-shadow:0 24px 70px rgba(2,43,84,.16);text-align:left}
.eshift-form-card:before{content:"";position:absolute;left:0;top:0;right:0;height:9px;background:linear-gradient(90deg,var(--eshift-orange),#f59a77,var(--eshift-blue))}
.eshift-form-card img{width:108px;height:auto;display:block;margin:2px auto 18px;background:#fff;border-radius:50%}
.eshift-form-card h2{margin:0 0 10px!important;font-size:34px!important;line-height:1.22!important;color:var(--eshift-navy)!important;text-align:center;font-weight:800!important;letter-spacing:-.6px!important}
.eshift-form-card p{font-size:17px;color:var(--eshift-muted);text-align:center;margin:0 0 26px;line-height:1.75}
.eshift-form-card label{display:block;font-weight:700;margin:15px 0 8px;color:#24364d;font-size:15px;letter-spacing:.15px}
.eshift-form-card input{width:100%;height:56px;border:1px solid #d6e4f1;border-radius:16px;padding:0 16px;font-size:17px;color:var(--eshift-text);background:#fbfdff;outline:none;transition:.22s}
.eshift-form-card input:focus{border-color:var(--eshift-blue);box-shadow:0 0 0 4px rgba(7,78,145,.12);background:#fff}
.eshift-form-card button{width:100%;border:0;background:linear-gradient(135deg,var(--eshift-orange),#d95536);color:#fff;border-radius:16px;height:58px;font-size:17px;font-weight:800;margin-top:22px;cursor:pointer;transition:.25s;box-shadow:0 16px 32px rgba(234,102,69,.24);letter-spacing:.2px}
.eshift-form-card button:hover{background:linear-gradient(135deg,var(--eshift-navy),#064577);color:#fff;transform:translateY(-2px)}
.eshift-error{background:#fff4f1;border:1px solid #ffd0c6;color:#a9321f;border-radius:16px;padding:14px 16px;margin:16px 0;font-weight:700;font-size:16px}

/* Portal */
.eshift-portal{max-width:1280px;margin:0 auto 58px;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(2,43,84,.20);color:var(--eshift-text);border:1px solid rgba(221,234,247,.95)}
.eshift-top{position:relative;background:linear-gradient(135deg,#022B54 0%,#05447C 58%,#0B6FAE 100%);padding:28px 42px 44px;color:#fff;min-height:250px;overflow:hidden}
.eshift-top:before{content:"";position:absolute;right:-100px;top:-110px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08)}
.eshift-top:after{content:"";position:absolute;left:-70px;bottom:-120px;width:260px;height:260px;border-radius:50%;background:rgba(234,102,69,.22)}
.eshift-top .mini{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;letter-spacing:.55px;color:#f3f9ff;text-transform:uppercase}
.eshift-top .secure{position:absolute;right:36px;top:28px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 17px;font-size:14px;font-weight:700;z-index:3;backdrop-filter:blur(8px);color:#fff}
.eshift-top .brand{display:flex;align-items:center;gap:24px;margin-top:48px;position:relative;z-index:2;max-width:720px}
.eshift-top .brand img{width:88px;height:88px;border-radius:24px;background:#fff;padding:10px;object-fit:contain;box-shadow:0 18px 36px rgba(0,0,0,.18)}
.eshift-top h1{font-size:36px!important;line-height:1.15!important;margin:0 0 8px!important;color:#fff!important;font-weight:800!important;letter-spacing:-.55px!important}
.eshift-top p{margin:0 0 7px!important;color:#eef7ff!important;font-size:17px!important;font-weight:600!important}
.eshift-top span{font-size:15px;color:#d9ecff;font-weight:400}
.eshift-top .verified{position:absolute;right:42px;bottom:42px;min-width:250px;text-align:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.23);border-radius:22px;padding:22px 18px;color:#7EF0B2;font-size:29px;font-weight:800;z-index:2;backdrop-filter:blur(10px);box-shadow:0 20px 36px rgba(0,0,0,.12)}
.eshift-top .verified small{display:block;margin-top:8px;color:#eef7ff;font-size:14px;font-weight:600;line-height:1.35}
.summary{display:grid;grid-template-columns:170px 1fr;gap:30px;align-items:center;margin:42px 42px 34px;padding:34px;background:linear-gradient(135deg,#ffffff 0%,#f3f9ff 100%);border:1px solid var(--eshift-line);border-radius:26px;box-shadow:0 12px 30px rgba(2,43,84,.06)}
.summary .photo{width:160px;height:196px;background:#fff;border-radius:24px;border:6px solid #fff;box-shadow:0 16px 36px rgba(25,55,90,.15);display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;overflow:hidden}
.summary .photo img{width:100%;height:100%;object-fit:cover}
.summary h2{margin:0 0 12px!important;font-size:38px!important;color:var(--eshift-text)!important;font-weight:800!important;letter-spacing:-.6px!important;line-height:1.18!important}
.summary p{margin:7px 0!important;font-size:16px!important;color:var(--eshift-muted)!important;line-height:1.55!important}
.summary strong{color:#24364d;font-weight:700}.badge{display:inline-flex;align-items:center;gap:7px;margin-top:16px;background:#e2f8eb;color:#147d43;border-radius:999px;padding:11px 18px;font-weight:700;font-size:13px}
.sec-title{font-size:28px!important;line-height:1.2!important;margin:38px 42px 22px!important;padding-left:18px!important;position:relative;color:var(--eshift-text)!important;font-weight:800!important;letter-spacing:-.35px!important;border:0!important}
.sec-title:before{content:"";position:absolute;left:0;top:2px;width:6px;height:30px;border-radius:10px;background:linear-gradient(180deg,var(--eshift-orange),var(--eshift-blue))}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 42px 34px}.info-card{background:#fff;border:1px solid #e1e9f2;border-radius:20px;box-shadow:0 10px 24px rgba(25,55,90,.06);padding:24px 22px;min-height:100px;transition:.25s}.info-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(25,55,90,.11);border-color:#c9dff4}.info-card span{display:block;text-transform:uppercase;letter-spacing:.85px;color:#73849b;font-size:13px;margin-bottom:10px;font-weight:700}.info-card strong{display:block;font-size:17px;color:var(--eshift-text);font-weight:700;line-height:1.45;word-break:break-word}.security{display:grid;grid-template-columns:1fr 185px;gap:30px;margin:0 42px 42px;padding:36px;background:linear-gradient(135deg,#f7fbff 0%,#eef7ff 100%);border:1px solid #bddcff;border-radius:26px}.security h3{margin:0 0 22px!important;color:var(--eshift-blue)!important;font-size:28px!important;font-weight:800!important;letter-spacing:-.35px}.security p,.security li{font-size:16px;line-height:1.75;color:#34465e}.security p{margin:0 0 10px}.security ul{margin:20px 0 26px;padding-left:20px}.security .note{padding-top:18px;border-top:1px solid rgba(7,78,145,.14);margin-top:26px}.qr{align-self:end;width:170px;min-height:190px;border:2px dashed #4b92d6;border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--eshift-blue);font-weight:800;font-size:12px;box-shadow:0 12px 28px rgba(2,43,84,.08)}.qr img{width:122px;height:122px;object-fit:contain}.standards{margin:0 42px 42px;background:linear-gradient(135deg,#111c2e,#071426);color:#fff;border-radius:26px;padding:34px}.standards h2{font-size:29px!important;margin:0 0 15px!important;color:#fff!important;font-weight:800!important;letter-spacing:-.35px}.standards>p{font-size:16px;line-height:1.7;color:#dce9f5;margin:0 0 24px}.std-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.std-grid div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:20px}.std-grid h3{margin:0 0 10px!important;color:#9cccff!important;font-size:17px!important;line-height:1.35!important;font-weight:700!important}.std-grid p{font-size:14px;color:#e8f1fa;line-height:1.55;margin:0}.portal-footer{text-align:center;padding:18px 30px 28px;color:#65758c;font-size:14px;background:#fff}

@media(max-width:980px){.eshift-auto-token-page{padding:0}.eshift-portal{margin:0;border-radius:0}.eshift-top{padding:24px 20px 36px}.eshift-top .secure{position:relative;right:auto;top:auto;display:inline-block;margin-top:14px}.eshift-top .brand{margin-top:28px;max-width:none}.eshift-top .verified{position:relative;right:auto;bottom:auto;margin-top:24px;min-width:0}.summary{margin:24px 18px;grid-template-columns:145px 1fr;gap:20px;padding:24px 18px}.summary .photo{width:140px;height:174px}.info-grid{grid-template-columns:repeat(2,1fr);margin:0 18px 28px}.sec-title{margin:30px 18px 18px!important}.security{grid-template-columns:1fr;margin:0 18px 30px;padding:26px 20px}.qr{margin:0 auto;align-self:center}.standards{margin:0 18px 30px;padding:24px}.std-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.eshift-form-card{padding:32px 22px;border-radius:22px}.eshift-form-card h2{font-size:27px!important}.eshift-top{text-align:center}.eshift-top .mini{justify-content:center}.eshift-top .brand{display:block;text-align:center}.eshift-top .brand img{margin:0 auto 18px;border-radius:20px}.eshift-top h1{font-size:27px!important}.eshift-top .verified{font-size:22px}.summary{display:block;text-align:center}.summary .photo{margin:0 auto 22px}.summary h2{font-size:28px!important}.info-grid,.std-grid{grid-template-columns:1fr}.security{text-align:left}.security .qr{width:160px}.sec-title{font-size:24px!important}.eshift-portal{box-shadow:none}.portal-footer{display:none}}
