:root{
    --blue:#003f9f;
    --blue-2:#0c5fd5;
    --blue-3:#082b75;
    --navy:#061f57;
    --red:#d71920;
    --soft-blue:#eef6ff;
    --text:#08204a;
    --muted:#5e6b83;
    --line:#e3eaf4;
    --card:#ffffff;
    --shadow:0 13px 32px rgba(8,38,92,.10);
    --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
    background:#fff;
    color:var(--text);
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1680px,calc(100% - 64px));margin-inline:auto}
.site-shell{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#f8fbff 0,#fff 31%,#fff 100%)}
.main-content{flex:1}
.topbar-wrap{position:relative;z-index:50;padding:0 0 8px;background:linear-gradient(180deg,#edf6ff 0,#f8fbff 100%)}
.topbar{
    height:66px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(221,231,246,.85);
    border-radius:0 0 22px 22px;
    box-shadow:0 14px 38px rgba(12,53,124,.12);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 28px;
    backdrop-filter:blur(14px);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:25px;letter-spacing:-.7px;color:#092c74;white-space:nowrap}
.brand img{width:45px;height:45px;filter:drop-shadow(0 6px 9px rgba(0,0,0,.12))}
.nav-links{display:flex;align-items:center;gap:8px;height:100%}
.nav-link{height:100%;display:flex;align-items:center;gap:5px;padding:0 15px;font-size:14px;font-weight:600;color:#0c234e;position:relative;transition:.22s ease}
.nav-link svg{width:14px;height:14px;stroke-width:2.5}
.nav-link:hover,.nav-link.active{color:#004eb8}
.nav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:3px;background:var(--blue-2);border-radius:999px}
.nav-dropdown{height:100%;position:relative;display:flex;align-items:center}
.dropdown-menu{position:absolute;top:61px;left:0;width:220px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease}
.nav-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700;color:#18345f}
.dropdown-menu a:hover{background:#eef5ff;color:var(--blue-2)}
.login-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#dc0612,#063985);color:#fff;font-size:14px;font-weight:900;border-radius:5px;padding:13px 20px;margin-left:10px;box-shadow:0 9px 20px rgba(0,64,159,.20);transition:.25s ease}
.login-btn:hover{transform:translateY(-2px);filter:saturate(1.08)}
.login-btn svg{width:17px;height:17px}
.mobile-toggle{display:none;border:0;background:#eef5ff;color:#073176;border-radius:12px;width:44px;height:44px;align-items:center;justify-content:center}
.mobile-toggle svg{width:23px;height:23px}

.hero-shell{position:relative;overflow:hidden;background:radial-gradient(circle at 67% 18%,rgba(255,255,255,.95) 0,rgba(220,238,255,.75) 27%,transparent 46%),radial-gradient(circle at 12% 34%,rgba(255,255,255,.75) 0,transparent 34%),linear-gradient(135deg,#f7fbff 0,#eef7ff 47%,#dcefff 100%);padding:58px 0 76px}
.hero-shell:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#bfd9fa 1px,transparent 1px);background-size:14px 14px;opacity:.32;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.hero-shell:after{content:"";position:absolute;right:-88px;bottom:-40px;width:760px;height:210px;background:linear-gradient(180deg,#e51a22 0 43%,#0b66dd 44%,#013f9a 100%);border-radius:50% 0 0 0/100% 0 0 0;transform:rotate(-7deg);opacity:.92;filter:blur(.1px);animation:heroWave 7s ease-in-out infinite}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.14fr;min-height:388px;align-items:center;gap:18px}
.hero-text{padding-top:6px;animation:heroTextIn .75s ease both}
.kicker{font-size:16px;font-weight:900;color:var(--red);margin:0 0 13px;letter-spacing:-.1px}
.hero-title{font-size:52px;line-height:1.03;letter-spacing:-2.6px;color:#07166b;margin:0 0 16px;font-weight:900}
.hero-desc{font-size:16px;line-height:1.55;color:#253955;margin:0 0 28px;max-width:465px;font-weight:500}
.cta-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:7px;border:1.5px solid transparent;font-weight:900;font-size:14px;transition:.25s ease;white-space:nowrap}
.btn svg{width:19px;height:19px;stroke-width:2.7}
.btn-primary{background:linear-gradient(135deg,#075cc8,#003e9c);color:#fff;box-shadow:0 9px 22px rgba(0,71,174,.22);animation:ctaBreath 3.8s ease-in-out infinite}
.btn-outline{background:#fff;color:#063e9c;border-color:#0a58c2;box-shadow:0 8px 20px rgba(5,55,140,.08)}
.btn:hover{transform:translateY(-2px)}
.hero-visual{position:relative;align-self:end;min-height:398px;display:flex;align-items:flex-end;justify-content:flex-end;z-index:3;isolation:isolate;animation:heroVisualIn .9s ease both}
.hero-visual:before{content:"";position:absolute;right:8%;top:-4px;width:435px;height:318px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.78),rgba(255,255,255,.26) 56%,transparent 72%);border-radius:45% 55% 52% 48%;filter:blur(.2px);animation:blobFloat 6s ease-in-out infinite}
.hero-visual:after{content:"";position:absolute;right:-9%;bottom:8px;width:700px;height:104px;background:linear-gradient(90deg,rgba(4,79,185,.95),rgba(7,100,216,.88),rgba(255,255,255,.22));border-radius:999px;transform:rotate(-5deg);opacity:.72;filter:blur(.1px);z-index:0;animation:swooshDrift 5.5s ease-in-out infinite}
.hero-cutout{position:relative;z-index:4;width:min(760px,124%);height:auto;max-height:430px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 28px rgba(5,35,88,.18));border-radius:0;animation:heroFloat 5.2s ease-in-out infinite;will-change:transform}
.hero-glow{position:absolute;right:14%;bottom:43px;width:420px;height:110px;background:radial-gradient(circle,rgba(0,80,194,.28),transparent 70%);filter:blur(18px);z-index:1;animation:glowPulse 4.8s ease-in-out infinite}
.hero-ring{position:absolute;border:2px solid rgba(22,103,216,.20);border-radius:50%;z-index:1;animation:ringSpin 14s linear infinite}
.ring-one{right:10%;top:-2px;width:340px;height:340px}.ring-two{right:31%;top:86px;width:130px;height:130px;animation-duration:10s;animation-direction:reverse}
.hero-swoosh{position:absolute;display:block;border-radius:999px;transform:rotate(-11deg);z-index:3;pointer-events:none;filter:drop-shadow(0 8px 13px rgba(4,63,159,.14))}
.swoosh-red{right:176px;bottom:70px;width:360px;height:22px;background:linear-gradient(90deg,transparent,#e31b23 20%,#ff3e42 50%,transparent);animation:swooshRed 4.6s ease-in-out infinite}
.swoosh-blue{right:-34px;bottom:40px;width:470px;height:25px;background:linear-gradient(90deg,transparent,#0f68dc 18%,#0a4dae 55%,transparent);animation:swooshBlue 5.1s ease-in-out infinite}
.hero-ui{position:absolute;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.76);border:1px solid rgba(199,218,245,.8);color:#0a54bb;display:grid;place-items:center;box-shadow:0 10px 22px rgba(10,55,130,.13);backdrop-filter:blur(10px);z-index:5;animation:iconFloat 4.4s ease-in-out infinite}
.hero-ui svg{width:21px;height:21px;stroke-width:2.5}.hero-chat{right:62%;top:78px}.hero-calendar{right:1%;bottom:80px;animation-delay:1.2s}
.float-diamond{position:absolute;width:22px;height:22px;background:#d9eafe;transform:rotate(45deg);border-radius:5px;opacity:.9;animation:floaty 5s ease-in-out infinite}
.diamond-a{left:45%;top:53%}.diamond-b{right:3%;top:11%;animation-delay:.8s}.diamond-c{left:8%;bottom:8%;animation-delay:1.4s}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroVisualIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes heroFloat{50%{transform:translateY(-10px)}}
@keyframes iconFloat{50%{transform:translateY(-12px) scale(1.04)}}
@keyframes floaty{50%{transform:translateY(-8px) rotate(45deg)}}
@keyframes blobFloat{50%{transform:translateY(-10px) scale(1.03)}}
@keyframes heroWave{50%{transform:rotate(-5deg) translateY(-7px)}}
@keyframes swooshDrift{50%{transform:rotate(-4deg) translateX(-16px) translateY(-5px)}}
@keyframes swooshRed{50%{transform:rotate(-9deg) translateX(20px) translateY(-8px);opacity:.82}}
@keyframes swooshBlue{50%{transform:rotate(-12deg) translateX(-18px) translateY(6px);opacity:.78}}
@keyframes glowPulse{50%{opacity:.58;transform:scale(1.08)}}
@keyframes ringSpin{to{transform:rotate(360deg)}}
@keyframes ctaBreath{50%{box-shadow:0 13px 30px rgba(0,71,174,.30)}}
@media(prefers-reduced-motion:reduce){.hero-shell:after,.hero-text,.hero-visual,.hero-cutout,.hero-glow,.hero-ring,.hero-swoosh,.hero-ui,.float-diamond,.btn-primary{animation:none!important}}
.stats-wrap{position:relative;margin-top:-67px;z-index:6}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid #dde7f4;border-radius:12px;padding:14px;box-shadow:0 13px 30px rgba(16,50,95,.13)}
.stat-card{display:flex;align-items:center;gap:18px;padding:18px 17px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 18px rgba(10,40,88,.05);transition:.22s ease}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(10,40,88,.10)}
.stat-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#eaf2ff;color:#064fb9}
.stat-icon.red{background:#ffecef;color:#d71920}
.stat-icon svg{width:34px;height:34px;stroke-width:2.6}
.stat-label{font-size:14px;color:#465672;font-weight:700;margin-bottom:3px}
.stat-value{font-size:25px;line-height:1;font-weight:900;color:#062b75;margin-bottom:5px;letter-spacing:-.6px}
.stat-desc{font-size:12px;color:#5a6981;font-weight:600}
.section{padding:34px 0 0}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:20px}
.section-title{font-size:21px;font-weight:900;color:#071b4d;margin:0;display:flex;align-items:center;gap:12px;letter-spacing:-.35px}
.section-title:before{content:"";width:4px;height:18px;background:var(--red);border-radius:4px;display:inline-block}
.view-all{font-size:13px;font-weight:900;color:#054eaf;display:inline-flex;align-items:center;gap:8px}
.view-all svg{width:16px;height:16px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 8px 20px rgba(12,43,86,.08);transition:.25s ease}
.news-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(12,43,86,.13)}
.news-img{height:122px;position:relative;overflow:hidden;background:#dce9f7}
.news-img img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.news-card:hover .news-img img{transform:scale(1.05)}
.badge{position:absolute;left:12px;bottom:11px;background:#054aa8;color:#fff;text-transform:uppercase;font-size:10px;font-weight:900;padding:5px 8px;border-radius:3px}
.badge.red{background:#d71920}.badge.info{background:#0c57b8}
.news-body{padding:16px 16px 18px}
.news-date{text-align:right;color:#7c879a;font-size:11px;margin-top:-8px;margin-bottom:5px;font-weight:600}
.news-body h3{font-size:17px;line-height:1.32;margin:0 0 11px;color:#07317a;letter-spacing:-.2px}
.news-body p{font-size:14px;line-height:1.48;color:#415069;margin:0;font-weight:500}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:17px}
.service-card{height:160px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;box-shadow:0 9px 21px rgba(12,43,86,.07);transition:.24s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(12,43,86,.13)}
.service-card .service-icon{height:48px;color:#034aab;margin-bottom:13px}
.service-card:nth-child(even) .service-icon{color:#d71920}
.service-card svg{width:46px;height:46px;stroke-width:2.25}
.service-card h3{font-size:14px;line-height:1.25;margin:0 0 9px;color:#072d73;font-weight:900}
.service-card p{font-size:12px;line-height:1.42;color:#465672;margin:0;font-weight:500}
.info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px;padding-bottom:30px}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 9px 22px rgba(12,43,86,.08);overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 10px;border-bottom:1px solid #eef3f9}
.panel-head h3{font-size:17px;font-weight:900;margin:0;color:#071b4d;display:flex;align-items:center;gap:10px}
.panel-head h3:before{content:"";width:4px;height:17px;background:var(--red);border-radius:4px;display:inline-block}
.agenda-list,.announcement-list{padding:5px 18px 14px}
.agenda-item{display:grid;grid-template-columns:56px 1fr;gap:13px;padding:14px 0;border-bottom:1px solid #edf2f8}
.agenda-item:last-child{border-bottom:0}
.date-box{width:52px;height:55px;border:2px solid #0c5fd5;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#064fb9;background:#fff;font-weight:900;line-height:1}
.date-box.red{border-color:#e32930;color:#e32930}
.date-box span:first-child{font-size:22px}.date-box span:last-child{font-size:12px;margin-top:5px}
.agenda-title{font-size:13px;font-weight:900;color:#07317a;margin-bottom:5px;line-height:1.25}
.agenda-meta{font-size:11px;color:#5d6a7c;margin-bottom:5px}
.location{display:flex;align-items:center;gap:5px;font-size:11px;color:#33445f;font-weight:600}
.location svg{width:12px;height:12px;color:#00a66c}
.announcement-item{padding:13px 0;border-bottom:1px solid #edf2f8}
.announcement-item:last-child{border-bottom:0}
.announcement-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.announcement-top .date{font-size:11px;color:#748198;font-weight:600}
.announcement-item h4{font-size:13px;line-height:1.28;margin:0 0 5px;font-weight:900;color:#17213b}
.announcement-item p{font-size:12px;line-height:1.38;color:#49586e;margin:0;font-weight:500}
.gallery-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:15px}
.gallery-mini a{height:75px;border-radius:7px;overflow:hidden;background:#dce9f7;display:block;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.gallery-mini img{width:100%;height:100%;object-fit:cover;transition:.28s ease}.gallery-mini a:hover img{transform:scale(1.06)}
.page-hero{background:linear-gradient(135deg,#f2f8ff,#e2f1ff);padding:50px 0 38px;border-bottom:1px solid #dce8f5;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-95px;bottom:-50px;width:390px;height:150px;background:linear-gradient(180deg,#e31a22 0 45%,#014aa9 46%);border-radius:50% 0 0 0;transform:rotate(-7deg)}
.page-hero .container{position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:8px;color:#d71920;font-size:13px;font-weight:900;margin-bottom:12px}
.breadcrumb svg{width:16px;height:16px}
.page-hero h1{font-size:40px;line-height:1.1;letter-spacing:-1.3px;margin:0 0 10px;color:#07166b;font-weight:900}
.page-hero p{font-size:16px;line-height:1.6;color:#475872;max-width:720px;margin:0;font-weight:500}
.content-section{padding:32px 0 46px}
.content-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:26px;line-height:1.7;color:#2f3e57;font-weight:500}
.content-card h2,.content-card h3{color:#082b75;margin-top:0}.content-card p{margin-top:0}.content-card img{border-radius:12px;margin-bottom:18px;max-height:320px;object-fit:cover;width:100%}
.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.list-grid.two{grid-template-columns:repeat(2,1fr)}
.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:20px;align-items:start}
.contact-box{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px}
.contact-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #edf2f8}.contact-item:last-child{border-bottom:0}
.contact-item svg{color:#0955bf;width:23px;height:23px;flex:0 0 auto}.contact-item strong{display:block;font-size:14px;color:#071b4d;margin-bottom:4px}.contact-item span{font-size:14px;color:#506078;line-height:1.45}
.form-grid{display:grid;gap:14px}.form-grid label{font-size:13px;font-weight:900;color:#102957}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dce5f0;border-radius:10px;padding:13px 14px;font:inherit;color:#102957;background:#fbfdff;outline:none;transition:.2s ease}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#0c5fd5;box-shadow:0 0 0 4px rgba(12,95,213,.10)}.form-grid textarea{min-height:145px;resize:vertical}
.notice{padding:13px 15px;border-radius:10px;margin-bottom:16px;font-weight:800;font-size:14px;background:#eef8f2;color:#0a6c3b;border:1px solid #c9ecd7}.notice.error{background:#fff0f1;color:#b40e18;border-color:#ffd1d6}
.login-page{min-height:calc(100vh - 255px);display:grid;place-items:center;padding:48px 0;background:linear-gradient(135deg,#f8fbff,#e6f3ff)}
.login-card{width:min(450px,calc(100% - 36px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 55px rgba(8,38,92,.14);padding:28px}.login-card .brand{justify-content:center;margin-bottom:16px}.login-card h1{text-align:center;font-size:27px;margin:0 0 9px;color:#07166b}.login-card p{text-align:center;margin:0 0 22px;color:#5c6a80}.login-help{font-size:13px;background:#f2f7ff;border:1px solid #dce8f7;border-radius:12px;padding:12px;margin-top:15px;color:#30445f;line-height:1.6}.login-help code{font-weight:900;color:#0a4dab}
.user-dashboard{padding:34px 0 46px}.dash-welcome{background:linear-gradient(135deg,#083b91,#005fd0);border-radius:18px;color:#fff;padding:28px;box-shadow:0 18px 45px rgba(3,48,120,.22);position:relative;overflow:hidden}.dash-welcome:after{content:"";position:absolute;right:-45px;bottom:-60px;width:220px;height:220px;background:rgba(255,255,255,.10);border-radius:50%}.dash-welcome h1{margin:0 0 8px;font-size:31px}.dash-welcome p{margin:0;color:#dcecff;max-width:650px;line-height:1.6}.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:20px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px}.mini-card svg{width:32px;height:32px;color:#064fb9;margin-bottom:12px}.mini-card h3{margin:0 0 8px;color:#071b4d}.mini-card p{margin:0;color:#53647c;line-height:1.55;font-size:14px}
.footer{background:linear-gradient(135deg,#003b8e,#001f57 70%,#00143f);color:#fff;padding:31px 0 18px;margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1.15fr .9fr 1fr .88fr;gap:34px}.footer-brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:900;margin-bottom:15px}.footer-brand img{width:51px;height:51px}.footer p{color:#d9e8ff;font-size:14px;line-height:1.5;margin:0 0 10px}.footer-about{padding-right:20px;border-right:1px solid rgba(255,255,255,.18)}.footer-block{border-right:1px solid rgba(255,255,255,.18);padding-right:20px}.footer-block:last-child{border-right:0}.footer-block h3{font-size:16px;margin:4px 0 20px;color:#fff}.footer-block p{display:flex;gap:11px;align-items:flex-start}.footer-block svg{width:18px;height:18px;flex:0 0 auto;color:#fff}.social-row{display:flex;gap:12px;margin-top:22px}.social-row a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;transition:.22s ease}.social-row a:hover{background:#fff;color:#003b8e}.social-row svg{width:18px;height:18px}.quick-links div{display:grid;grid-template-columns:1fr 1fr;gap:11px 25px}.quick-links a{font-size:14px;color:#dbe9ff}.quick-links a:hover{color:#fff;text-decoration:underline}.copyright{text-align:center;color:#cfe0fb;font-size:13px;margin-top:24px;padding-top:12px}
@media(max-width:1000px){
    .container{width:min(100% - 34px,980px)}
    .topbar{height:auto;min-height:66px;border-radius:0 0 18px 18px;position:relative}.brand{font-size:20px}.brand img{width:41px;height:41px}.mobile-toggle{display:flex}.nav-links{position:absolute;left:0;right:0;top:74px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);height:auto;display:none;flex-direction:column;align-items:stretch;padding:12px}.nav-links.open{display:flex}.nav-link{height:44px;padding:0 14px}.nav-link.active:after{left:14px;right:auto;width:34px;bottom:3px}.nav-dropdown{height:auto;display:block}.dropdown-menu{position:static;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:#f6f9ff;margin:0 0 8px}.login-btn{margin:8px 0 0;border-radius:12px}.hero-shell{padding:40px 0 76px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-title{font-size:42px}.hero-visual{min-height:310px;justify-content:center}.hero-visual img{height:320px;max-height:320px}.hero-shell:after{width:560px}.stats-grid{grid-template-columns:repeat(2,1fr)}.news-grid,.info-grid,.list-grid,.list-grid.two{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-about,.footer-block{border-right:0;padding-right:0}.dashboard-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .container{width:calc(100% - 24px)}.topbar{padding:0 14px}.brand span{font-size:18px}.hero-title{font-size:34px;letter-spacing:-1.2px}.hero-desc{font-size:14px}.hero-visual{display:none}.hero-shell{padding-bottom:82px}.hero-shell:after{right:-220px;width:520px;height:170px}.btn{width:100%}.stats-wrap{margin-top:-52px}.stats-grid{grid-template-columns:1fr;padding:10px}.stat-card{padding:15px}.section{padding-top:29px}.news-grid,.info-grid,.list-grid,.list-grid.two,.service-grid,.footer-grid,.dashboard-cards{grid-template-columns:1fr}.service-card{height:auto;min-height:145px}.page-hero{padding:38px 0 30px}.page-hero h1{font-size:31px}.content-card{padding:20px}.gallery-mini a{height:90px}.quick-links div{grid-template-columns:1fr}.footer{text-align:left}.login-card{padding:22px}.news-img{height:145px}
}

/* KTA Digital */
.kta-page-grid{display:grid;grid-template-columns:.86fr 1.36fr;gap:22px;align-items:start}.kta-form-card{position:sticky;top:18px}.kta-preview-panel{min-width:0}.kta-note{font-size:13px;color:#5a6981;font-weight:700;margin:14px 0 0}.kta-card{position:relative;width:min(100%,920px);aspect-ratio:793/496;overflow:hidden;border-radius:26px;background:#e9b35d;box-shadow:0 20px 45px rgba(27,52,89,.18);isolation:isolate;color:#050505;transform-origin:top left}.kta-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(255,255,255,.08),rgba(255,255,255,.08)),repeating-linear-gradient(0deg,rgba(105,62,18,.055) 0 2px,transparent 2px 12px),repeating-linear-gradient(88deg,rgba(255,255,255,.11) 0 1px,rgba(167,90,23,.045) 1px 4px,transparent 4px 18px),linear-gradient(135deg,#f8c36f,#e6aa53 45%,#f1bd68);z-index:-3}.kta-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 34%,rgba(255,255,255,.20),transparent 24%),radial-gradient(circle at 72% 78%,rgba(148,88,16,.13),transparent 36%);z-index:-2}.kta-border{position:absolute;inset:18px;border:3px solid rgba(255,255,255,.92);border-radius:22px;z-index:4;pointer-events:none}.kta-logo{position:absolute;left:44px;top:38px;width:112px;height:112px;z-index:5;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}.kta-title{position:absolute;left:186px;right:34px;top:60px;text-align:center;z-index:5;color:#050505;font-family:Arial Black,Impact,Inter,sans-serif;font-weight:900;letter-spacing:0;line-height:1.04;text-shadow:1.6px 1.6px 0 #fff,-1.6px 1.6px 0 #fff,1.6px -1.6px 0 #fff,-1.6px -1.6px 0 #fff,0 3px 4px rgba(0,0,0,.16)}.kta-title strong{display:block;max-width:660px;margin:0 auto;font-size:24px;white-space:nowrap}.kta-title span{display:block;font-size:22px;margin-top:8px}.kta-map{position:absolute;left:155px;right:40px;top:165px;bottom:75px;opacity:.22;z-index:-1;background:radial-gradient(ellipse at 20% 55%,#54764a 0 14%,transparent 15%),radial-gradient(ellipse at 40% 46%,#54764a 0 13%,transparent 14%),radial-gradient(ellipse at 58% 40%,#54764a 0 11%,transparent 12%),radial-gradient(ellipse at 77% 54%,#54764a 0 15%,transparent 16%),radial-gradient(ellipse at 93% 43%,#54764a 0 8%,transparent 9%);filter:blur(.2px);transform:rotate(-5deg)}.kta-photo-wrap{position:absolute;left:48px;top:195px;width:188px;height:256px;border:6px solid #fff;border-radius:12px;background:#e50914;overflow:hidden;z-index:5;box-shadow:0 3px 7px rgba(0,0,0,.18)}.kta-photo-wrap img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}.kta-valid{position:absolute;left:44px;bottom:34px;width:220px;text-align:left;font-size:15px;line-height:1.14;font-weight:900;z-index:5}.kta-info{position:absolute;left:285px;top:252px;z-index:5;font-family:Arial Black,Impact,Inter,sans-serif;color:#050505;letter-spacing:.2px}.kta-info h3,.kta-info p{font-size:25px}.kta-info p{font-size:28px}.kta-qr{position:absolute;right:46px;bottom:56px;width:190px;height:190px;background:#fff;border-radius:8px;padding:9px;z-index:5;box-shadow:0 2px 5px rgba(0,0,0,.14)}.kta-qr img{width:100%;height:100%;object-fit:contain}.kta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}@media(max-width:1000px){.kta-page-grid{grid-template-columns:1fr}.kta-form-card{position:static}.kta-title strong{font-size:clamp(18px,4vw,38px)}.kta-title span{font-size:clamp(17px,3.7vw,34px)}.dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kta-card{border-radius:16px}.kta-border{inset:9px;border-width:2px;border-radius:13px}.kta-logo{left:24px;top:20px;width:58px;height:58px}.kta-title{left:92px;right:18px;top:28px}.kta-title strong{font-size:15px}.kta-title span{font-size:15px;margin-top:6px}.kta-photo-wrap{left:24px;top:108px;width:88px;height:119px;border-width:4px}.kta-valid{left:20px;bottom:22px;width:105px;font-size:10px}.kta-info{left:142px;top:130px}.kta-info h3,.kta-info p{font-size:17px;margin-bottom:8px}.kta-info p{font-size:16px}.kta-qr{right:24px;bottom:27px;width:100px;height:100px;padding:5px}.kta-map{top:78px;bottom:35px;left:78px}}
@media print{body *{visibility:hidden!important}.kta-card,.kta-card *{visibility:visible!important}.kta-card{position:fixed!important;left:0!important;top:0!important;width:1000px!important;max-width:none!important;box-shadow:none!important;transform:none!important}.topbar-wrap,.footer,.page-hero,.kta-form-card,.section-head .btn,.kta-note{display:none!important}}
.dashboard-cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.dashboard-cards{grid-template-columns:1fr}}

/* KTA FIX OVERRIDES */
.kta-logo{left:44px!important;top:38px!important;width:112px!important;height:112px!important;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))!important}
.kta-title{left:182px!important;right:32px!important;top:60px!important;text-align:center!important;letter-spacing:0!important;line-height:1.04!important;text-shadow:1.6px 1.6px 0 #fff,-1.6px 1.6px 0 #fff,1.6px -1.6px 0 #fff,-1.6px -1.6px 0 #fff,0 3px 4px rgba(0,0,0,.16)!important}
.kta-title strong{display:block!important;max-width:670px!important;margin:0 auto!important;font-size:24px!important;white-space:nowrap!important}
.kta-title span{display:block!important;font-size:22px!important;margin-top:8px!important}
.kta-photo-wrap{left:48px!important;top:195px!important;width:188px!important;height:256px!important;border:6px solid #fff!important;border-radius:12px!important}
.kta-valid{left:44px!important;bottom:34px!important;width:220px!important;text-align:left!important;font-size:15px!important;line-height:1.14!important;font-weight:900!important}
.kta-info{left:285px!important;top:252px!important;letter-spacing:.2px!important}
.kta-info h3{margin:0 0 12px!important;font-size:28px!important;line-height:1.02!important;font-weight:900!important}
.kta-info p{margin:0 0 10px!important;font-size:25px!important;line-height:1.02!important;font-weight:900!important}
.kta-qr{right:46px!important;bottom:56px!important;width:190px!important;height:190px!important;padding:9px!important}
@media(max-width:640px){.kta-title{left:86px!important;right:18px!important;top:24px!important}.kta-title strong{font-size:12.5px!important}.kta-title span{font-size:12.5px!important;margin-top:4px!important}.kta-photo-wrap{left:22px!important;top:105px!important;width:82px!important;height:112px!important;border-width:4px!important}.kta-valid{left:20px!important;bottom:19px!important;width:100px!important;font-size:9px!important}.kta-info{left:133px!important;top:126px!important}.kta-info h3{font-size:15px!important;margin-bottom:6px!important}.kta-info p{font-size:14px!important;margin-bottom:6px!important}.kta-qr{right:22px!important;bottom:24px!important;width:92px!important;height:92px!important;padding:5px!important}}

/* Indonesia map transparent asset */
.kta-map{position:absolute;left:24px;right:22px;top:150px;bottom:60px;opacity:.18;z-index:1;transform:none;filter:none;background:none!important;overflow:hidden;pointer-events:none}
.kta-map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;display:block;filter:sepia(.9) hue-rotate(18deg) saturate(.55) brightness(.68);opacity:1}
.kta-photo-wrap,.kta-valid,.kta-info,.kta-qr,.kta-title,.kta-logo,.kta-border{z-index:5}
@media(max-width:640px){.kta-map{left:74px;right:14px;top:84px;bottom:32px;opacity:.17}}
/* Gallery YouTube support */
.gallery-mini-item{position:relative}
.play-badge{position:absolute;inset:auto auto 8px 8px;width:30px;height:30px;border-radius:50%;background:rgba(215,25,32,.92);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(0,0,0,.20)}
.play-badge svg{width:16px;height:16px;fill:currentColor;stroke-width:3}
.gallery-video{height:190px;background:#061f57;border-radius:12px 12px 0 0;overflow:hidden}
.gallery-video iframe{width:100%;height:100%;border:0;display:block}

/* Service detail pages */
.service-card{position:relative}
.service-card.active-service{border-color:#0a58c2;background:linear-gradient(180deg,#f5f9ff,#fff)}
.service-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:#075cc8;font-size:13px;font-weight:900}
.service-more svg{width:15px;height:15px;stroke-width:2.7}
.service-detail-card{padding:30px;border:1px solid #dce7f4;box-shadow:0 16px 38px rgba(10,45,104,.09)}
.service-detail-head{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid #e4edf8;padding-bottom:18px;margin-bottom:20px}
.service-detail-head .service-icon{flex:0 0 auto;margin:0;width:66px;height:66px}
.service-detail-head h2{font-size:32px;line-height:1.1;margin:4px 0 8px;color:#071e55}
.service-detail-head p{margin:0;color:#51627c;font-weight:700;line-height:1.55}.eyebrow{font-size:13px!important;color:#d71920!important;text-transform:uppercase;letter-spacing:.06em;font-weight:900!important;margin:0!important}
.rich-content{font-size:16px;line-height:1.75;color:#273b59;font-weight:600}.rich-content p{margin:0 0 13px}.rich-content ul{margin:0 0 16px 22px;padding:0}.rich-content li{margin:7px 0}.service-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:640px){.service-detail-card{padding:20px}.service-detail-head{display:block}.service-detail-head .service-icon{margin-bottom:14px}.service-detail-head h2{font-size:25px}.rich-content{font-size:14px}.service-more{justify-content:center}}

/* Logo shine + pulsing icon animations */
.brand,.admin-brand{position:relative;overflow:hidden}
.brand::after,.admin-brand::after{content:"";position:absolute;top:-18%;left:-82px;width:34px;height:136%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,.92),rgba(255,255,255,.18),rgba(255,255,255,0));transform:skewX(-22deg);pointer-events:none;filter:blur(.2px);animation:logoShineSweep 4.8s ease-in-out infinite}
.brand img,.admin-brand img{animation:logoGlowBreath 3.2s ease-in-out infinite;transform-origin:center center}
.lucide,.nav-link svg,.login-btn svg,.btn svg,.stat-icon,.stat-icon svg,.service-icon,.service-card svg,.hero-ui,.social-row a,.footer-block svg,.contact-item svg,.mini-btn svg,.admin-nav svg,.stat-admin svg{animation:iconPulse 2.2s ease-in-out infinite;transform-origin:center center;will-change:transform,opacity}
.stat-card:nth-child(2n) .stat-icon,.service-card:nth-child(2n) .service-icon,.social-row a:nth-child(2n),.admin-nav a:nth-child(2n) svg{animation-delay:.35s}
.stat-card:nth-child(3n) .stat-icon,.service-card:nth-child(3n) .service-icon,.social-row a:nth-child(3n),.admin-nav a:nth-child(3n) svg{animation-delay:.7s}
@keyframes logoShineSweep{0%,14%{transform:translateX(0) skewX(-22deg);opacity:0}18%{opacity:.95}34%{transform:translateX(150px) skewX(-22deg);opacity:.92}42%,100%{transform:translateX(150px) skewX(-22deg);opacity:0}}
@keyframes logoGlowBreath{0%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}50%{filter:drop-shadow(0 0 10px rgba(255,255,255,.55))}}
@keyframes iconPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.86}}
@media(prefers-reduced-motion:reduce){.brand::after,.admin-brand::after,.brand img,.admin-brand img,.lucide,.nav-link svg,.login-btn svg,.btn svg,.stat-icon,.stat-icon svg,.service-icon,.service-card svg,.hero-ui,.social-row a,.footer-block svg,.contact-item svg,.mini-btn svg,.admin-nav svg,.stat-admin svg{animation:none!important}}

/* V11 feature updates: share, documents, reports, digital letters */
.form{display:grid;gap:14px}.form label{display:grid;gap:7px;font-size:13px;font-weight:900;color:#102957}.form input,.form textarea,.form select{width:100%;border:1px solid #dce5f0;border-radius:10px;padding:13px 14px;font:inherit;color:#102957;background:#fbfdff;outline:none;transition:.2s ease}.form input:focus,.form textarea:focus,.form select:focus{border-color:#0c5fd5;box-shadow:0 0 0 4px rgba(12,95,213,.10)}.form textarea{min-height:145px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inline-note{font-size:12px;color:#65758d;margin-top:4px;font-weight:700}.share-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 24px;padding:12px;border:1px solid #dce7f4;border-radius:12px;background:#f6faff}.share-btn{border:1px solid #dbe7f6;background:#fff;color:#064fb9;border-radius:10px;padding:9px 12px;font-weight:900;font-size:13px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.share-btn svg{width:17px;height:17px}.document-list{display:grid;gap:12px}.document-item{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:center;border:1px solid #dfe8f4;border-radius:14px;background:#fff;padding:14px;transition:.22s ease}.document-item:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,38,92,.08)}.document-item span{width:46px;height:46px;border-radius:13px;background:#eaf2ff;color:#064fb9;display:grid;place-items:center}.document-item svg{width:24px;height:24px}.document-item strong{display:block;color:#082b75}.document-item small{display:block;color:#66758e;font-weight:800;margin:2px 0}.document-item p{margin:0;color:#53647b;font-size:13px}.document-item em{font-style:normal;font-weight:900;color:#064fb9}.status-list{display:grid;gap:10px;margin-top:14px}.status-item{border:1px solid #dfe8f4;border-radius:12px;padding:12px;background:#f9fcff}.status-item strong{display:block;color:#082b75}.status-item span{display:block;color:#d71920;font-weight:900;font-size:13px;margin:3px 0}.status-item p{margin:0 0 6px}.status-item a{font-weight:900;color:#064fb9}.docs-panel{margin-top:22px}@media(max-width:640px){.form-row{grid-template-columns:1fr}.document-item{grid-template-columns:42px 1fr}.document-item em{grid-column:2}.share-box{align-items:stretch}.share-btn{width:100%;justify-content:center}}

/* Training table + KTA official signature fields */
.table-public-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 9px 21px rgba(12,43,86,.06)}
.public-table{width:100%;border-collapse:collapse;background:#fff}.public-table th,.public-table td{padding:13px 14px;border-bottom:1px solid #edf3fb;text-align:left;vertical-align:middle;font-size:14px}.public-table th{background:#f5f9ff;color:#071b4d;font-weight:900}.public-table tr:last-child td{border-bottom:0}.training-panel{margin-top:22px}.training-panel h3{font-size:22px;color:#07166b;margin:0 0 12px}.training-flyer{width:120px;height:78px;object-fit:cover;border-radius:10px;border:1px solid #dce7f4}
.kta-date-made{position:absolute;left:285px;bottom:118px;font-size:12px;font-weight:900;color:#111;z-index:6;background:rgba(255,255,255,.18);padding:3px 6px;border-radius:6px}
.kta-signatures{position:absolute;left:285px;right:270px;bottom:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:6;text-align:center;color:#111}.kta-sign div{height:42px;display:flex;align-items:end;justify-content:center}.kta-sign img{max-width:120px;max-height:42px;object-fit:contain}.kta-sign strong{display:block;border-top:1.5px solid rgba(0,0,0,.55);font-size:11px;padding-top:3px;font-weight:900}
@media(max-width:640px){.training-flyer{width:80px;height:52px}.kta-date-made{left:133px;bottom:61px;font-size:7px}.kta-signatures{left:133px;right:126px;bottom:18px;gap:6px}.kta-sign div{height:21px}.kta-sign img{max-height:21px}.kta-sign strong{font-size:6px}}

/* Keanggotaan user KTA */
.member-kta-list{display:grid;gap:10px;margin-top:12px}
.member-kta-list div{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:12px 14px;border:1px solid #e3eaf4;border-radius:12px;background:#f8fbff}
.member-kta-list span{font-weight:800;color:#607089;font-size:13px}
.member-kta-list strong{font-weight:900;color:#07166b;font-size:14px}
.kta-user-preview{overflow:hidden;padding:10px;background:#f1f7ff;border:1px solid #dce8f7;border-radius:14px}.kta-responsive-stage{width:100%;overflow:hidden}.kta-responsive-inner{width:793px;height:496px;transform-origin:top left;will-change:transform}.kta-fixed-preview{width:793px!important;height:496px!important;max-width:none!important;aspect-ratio:auto!important}.kta-user-scale{display:block}
@media(max-width:640px){.member-kta-list div{grid-template-columns:1fr}}

/* KTA extra line adjustment */
.kta-info{top:238px!important}
.kta-info h3{font-size:25px!important;margin:0 0 8px!important}
.kta-info p{font-size:20px!important;margin:0 0 7px!important;line-height:1.02!important}

/* Logo upload preview */
.logo-setting-preview{border:1px solid #dce7f4;background:#f7fbff;border-radius:14px;padding:14px;display:grid;gap:8px;align-content:start}
.logo-setting-preview strong{font-size:13px;color:#071b4d}
.logo-setting-preview img{width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid #e1eaf6;border-radius:13px;padding:8px}
.logo-setting-preview small{font-size:12px;color:#607089;font-weight:700;word-break:break-all}

/* Pelatihan / Kegiatan User + Sertifikat */
.training-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.training-user-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.training-card-flyer{width:100%;height:230px;object-fit:cover;background:#eaf2ff}
.training-body{padding:20px;display:flex;flex-direction:column;flex:1}
.training-body h2{margin:8px 0 12px;color:#07166b;font-size:21px}
.training-body p{margin:0 0 8px;color:#465672}
.training-status{align-self:flex-start;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;background:#edf2f7;color:#465672}
.training-status.waiting{background:#fff5d8;color:#8a6200}.training-status.verified{background:#e8f8ef;color:#087443}.training-status.rejected{background:#fff0f1;color:#b80d14}.training-status.new{background:#eaf2ff;color:#064fb9}
.training-note{margin:8px 0 4px;padding:10px 12px;border-radius:10px;background:#f7f9fc;color:#4c5c74;font-size:13px}
.certificate-sheet{width:min(100%,1000px);margin:0 auto;background:#fff;border:3px solid #07317a;padding:10px;box-shadow:0 18px 42px rgba(8,38,92,.13)}
.certificate-inner{min-height:590px;border:2px solid #d71920;padding:46px 58px;text-align:center;position:relative;background:linear-gradient(135deg,#fff,#f7fbff)}
.certificate-logo{width:82px;height:82px;object-fit:contain;margin:0 auto 10px}.certificate-kicker{font-size:38px;font-weight:900;color:#07317a;letter-spacing:2px}.certificate-sub{font-size:16px;font-weight:900;color:#d71920;letter-spacing:1.5px;margin:4px 0 42px}.certificate-inner h1{font-size:34px;color:#061f57;margin:12px 0 24px}.certificate-inner h2{font-size:24px;color:#07317a;margin:12px 0 24px}.certificate-inner p{color:#49586e}.certificate-inner small{display:block;margin-top:60px;color:#748198}
@media(max-width:760px){.training-user-grid{grid-template-columns:1fr}.training-card-flyer{height:200px}.certificate-inner{min-height:500px;padding:30px 22px}.certificate-kicker{font-size:30px}.certificate-inner h1{font-size:26px}.certificate-inner h2{font-size:20px}}
@media print{.certificate-sheet,.certificate-sheet *{visibility:visible!important}.certificate-sheet{position:fixed;left:0;top:0;width:100%;box-shadow:none}.certificate-inner{min-height:540px}.topbar-wrap,.footer,.page-hero,.kta-actions{display:none!important}}

/* V16 Certificate template system */
.certificate-user-preview{width:100%;overflow:auto;padding:8px 0}
.certificate-template-sheet{position:relative;margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 18px 45px rgba(8,38,92,.15);isolation:isolate}
.certificate-template-sheet.landscape{width:min(100%,1000px);aspect-ratio:842/595}
.certificate-template-sheet.portrait{width:min(100%,705px);aspect-ratio:595/842}
.certificate-template-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.certificate-default-frame{position:absolute;inset:0;background:linear-gradient(135deg,#fff,#f4f9ff);border:12px solid #07317a;box-shadow:inset 0 0 0 5px #d71920;z-index:0}
.certificate-data-layer{position:absolute;z-index:2;left:9%;right:9%;top:20%;text-align:center;color:#071b4d;text-shadow:0 1px 2px rgba(255,255,255,.92)}
.certificate-template-sheet.portrait .certificate-data-layer{left:10%;right:10%;top:25%}
.certificate-mini-label{font-size:clamp(12px,1.8vw,20px);font-weight:900;letter-spacing:1.5px;color:#07317a;margin-bottom:7%}
.certificate-given{font-size:clamp(11px,1.3vw,15px);font-weight:700;color:#42526c;margin:6px 0}
.certificate-data-layer h1{font-size:clamp(25px,4vw,46px);line-height:1.05;margin:10px 0 18px;color:#061f57;font-weight:900}
.certificate-template-sheet.portrait .certificate-data-layer h1{font-size:clamp(25px,5vw,42px)}
.certificate-data-layer h2{font-size:clamp(18px,2.5vw,29px);line-height:1.15;margin:8px auto 20px;color:#07317a;font-weight:900;max-width:86%}
.certificate-meta-line{font-size:clamp(11px,1.4vw,15px);margin:6px 0;color:#263956;font-weight:600}
.certificate-extra-text{font-size:clamp(10px,1.2vw,13px);line-height:1.45;color:#40516a;margin:20px auto 0;max-width:82%;font-weight:600}
@media(max-width:640px){.certificate-mini-label{margin-bottom:5%}.certificate-data-layer{top:16%;left:6%;right:6%}.certificate-template-sheet.portrait .certificate-data-layer{top:22%;left:7%;right:7%}.certificate-data-layer h1{margin:7px 0 10px}.certificate-data-layer h2{margin:6px auto 10px}.certificate-extra-text{margin-top:10px}}
@media print{.certificate-user-preview,.certificate-user-preview *{visibility:visible!important}.certificate-user-preview{position:fixed;left:0;top:0;width:100%;padding:0}.certificate-template-sheet{width:100%!important;max-width:none!important;box-shadow:none!important}.topbar-wrap,.footer,.page-hero,.kta-actions{display:none!important}}
/* KTA user self-service photo */
.kta-photo-self-service{margin-top:20px;padding:16px;border:1px solid #dbe7f5;border-radius:16px;background:linear-gradient(135deg,#f7fbff,#fff)}
.kta-photo-self-service h3{display:flex;align-items:center;gap:8px;margin:0 0 7px;color:#082d72}.kta-photo-self-service h3 svg{width:20px;height:20px}
.kta-photo-self-service>p{margin:0 0 14px;color:#5d6d83;font-size:13px;font-weight:650;line-height:1.5}
.kta-photo-upload-form{display:grid;grid-template-columns:128px 1fr;gap:16px;align-items:center}.kta-photo-preview-box{width:120px;height:150px;padding:6px;border:1px dashed #b9cbe0;border-radius:14px;background:#f4f8fd;overflow:hidden}.kta-photo-preview-box img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;border-radius:10px}.kta-photo-upload-fields{display:grid;gap:9px}.kta-photo-upload-fields label{display:grid;gap:7px;font-size:13px;font-weight:900;color:#17355e}.kta-photo-upload-fields input[type=file]{width:100%;border:1px solid #d7e2ef;border-radius:10px;padding:10px;background:#fff}.kta-photo-upload-fields small{display:block;color:#68778d;line-height:1.45;font-weight:650}.kta-photo-upload-fields .btn{width:max-content}
@media(max-width:640px){.kta-photo-upload-form{grid-template-columns:1fr}.kta-photo-preview-box{margin:auto}.kta-photo-upload-fields .btn{width:100%}}


/* Certificate signatures - larger, balanced, no underline */
.certificate-template-sheet.has-signatures.landscape .certificate-data-layer{top:15%}
.certificate-template-sheet.has-signatures.portrait .certificate-data-layer{top:21%}
.certificate-signatures{position:absolute;z-index:4;left:7%;right:7%;bottom:4%;display:grid;grid-template-columns:1fr 1fr;gap:18%;align-items:end;text-align:center;color:#111;pointer-events:none}
.certificate-template-sheet.portrait .certificate-signatures{left:9%;right:9%;bottom:5.5%;gap:10%}
.certificate-signature{min-width:0;font-weight:800}
.certificate-signature-image{height:100px;display:flex;align-items:flex-end;justify-content:center;margin:0 auto 2px}
.certificate-signature-image img{display:block;width:auto;max-width:220px;max-height:100px;object-fit:contain;object-position:center bottom}
.certificate-template-sheet.portrait .certificate-signature-image{height:104px}
.certificate-template-sheet.portrait .certificate-signature-image img{max-width:175px;max-height:104px}
.certificate-signature strong{display:block!important;border:0!important;border-top:0!important;text-decoration:none!important;box-shadow:none!important;padding:0!important;margin:0!important;font-size:clamp(10px,1.25vw,14px);line-height:1.1;color:#111}
@media(max-width:640px){.certificate-signatures{left:5%;right:5%;bottom:3%;gap:12%}.certificate-signature-image{height:52px}.certificate-signature-image img{max-width:105px;max-height:52px}.certificate-template-sheet.portrait .certificate-signature-image{height:62px}.certificate-template-sheet.portrait .certificate-signature-image img{max-width:94px;max-height:62px}.certificate-signature strong{font-size:8px}}


@media(max-width:640px){
  .kta-fixed-preview{border-radius:26px!important}
  .kta-fixed-preview .kta-border{inset:18px!important;border-width:3px!important;border-radius:22px!important}
  .kta-fixed-preview .kta-logo{left:44px!important;top:38px!important;width:112px!important;height:112px!important}
  .kta-fixed-preview .kta-title{left:182px!important;right:32px!important;top:60px!important}
  .kta-fixed-preview .kta-title strong{font-size:24px!important}
  .kta-fixed-preview .kta-title span{font-size:22px!important;margin-top:8px!important}
  .kta-fixed-preview .kta-map{left:24px!important;right:22px!important;top:150px!important;bottom:60px!important;opacity:.18!important}
  .kta-fixed-preview .kta-photo-wrap{left:48px!important;top:195px!important;width:188px!important;height:256px!important;border-width:6px!important;border-radius:12px!important}
  .kta-fixed-preview .kta-info{left:285px!important;top:238px!important}
  .kta-fixed-preview .kta-info h3{font-size:25px!important;margin:0 0 8px!important}
  .kta-fixed-preview .kta-info p{font-size:20px!important;margin:0 0 7px!important;line-height:1.02!important}
  .kta-fixed-preview .kta-qr{right:46px!important;bottom:56px!important;width:190px!important;height:190px!important;padding:9px!important}
  .kta-fixed-preview .kta-valid{left:44px!important;bottom:34px!important;width:220px!important;font-size:15px!important;line-height:1.14!important}
  .kta-fixed-preview .kta-date-made{left:285px!important;bottom:118px!important;font-size:12px!important}
  .kta-fixed-preview .kta-signatures{left:285px!important;right:270px!important;bottom:34px!important;gap:12px!important}
  .kta-fixed-preview .kta-sign div{height:42px!important}
  .kta-fixed-preview .kta-sign img{max-width:120px!important;max-height:42px!important}
  .kta-fixed-preview .kta-sign strong{font-size:11px!important;padding-top:3px!important}
}


/* KTA signature refinement */
.kta-signatures{left:274px!important;right:230px!important;bottom:28px!important;gap:20px!important}
.kta-sign{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;color:#111}
.kta-sign div{height:66px!important;display:flex;align-items:flex-end;justify-content:center}
.kta-sign img{max-width:170px!important;max-height:66px!important;object-fit:contain}
.kta-sign-name{display:block;font-size:12px;font-weight:900;line-height:1.15;margin-top:3px;min-height:14px}
.kta-sign strong{display:block;border-top:0!important;font-size:14px!important;padding-top:1px!important;font-weight:900;line-height:1.1}
@media(max-width:640px){.kta-signatures{left:133px!important;right:110px!important;bottom:18px!important;gap:8px!important}.kta-sign div{height:24px!important}.kta-sign img{max-width:58px!important;max-height:24px!important}.kta-sign-name{font-size:5.4px!important;min-height:6px!important}.kta-sign strong{font-size:7.5px!important}}
.kta-fixed-preview .kta-signatures{left:274px!important;right:230px!important;bottom:28px!important;gap:20px!important}.kta-fixed-preview .kta-sign div{height:66px!important}.kta-fixed-preview .kta-sign img{max-width:170px!important;max-height:66px!important}.kta-fixed-preview .kta-sign-name{font-size:12px!important;min-height:14px!important}.kta-fixed-preview .kta-sign strong{font-size:14px!important;border-top:0!important;padding-top:1px!important}
@media(max-width:640px){.kta-fixed-preview .kta-signatures{left:274px!important;right:230px!important;bottom:28px!important;gap:20px!important}.kta-fixed-preview .kta-sign div{height:66px!important}.kta-fixed-preview .kta-sign img{max-width:170px!important;max-height:66px!important}.kta-fixed-preview .kta-sign-name{font-size:12px!important;min-height:14px!important}.kta-fixed-preview .kta-sign strong{font-size:14px!important}}

/* PWA install UI */
.pwa-install-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.98);border-top:1px solid #d8e3f1;box-shadow:0 -12px 30px rgba(7,34,81,.12);backdrop-filter:blur(8px)}
.pwa-install-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.pwa-install-text{display:flex;flex-direction:column;gap:2px;color:#21334d}.pwa-install-text strong{font-size:15px;color:#07166b}.pwa-install-text span{font-size:13px;color:#607089;font-weight:700}
.pwa-install-actions{display:flex;align-items:center;gap:10px}.pwa-install-button{width:auto!important;white-space:nowrap}.pwa-close-button{width:38px;height:38px;border:1px solid #d0deef;border-radius:12px;background:#fff;color:#274870;font-size:24px;line-height:1;cursor:pointer}
.pwa-install-help{padding:0 0 12px;color:#51627c;font-size:13px;font-weight:700}
body.has-pwa-bar .footer{padding-bottom:94px}
@media(max-width:640px){.pwa-install-inner{display:block;padding:12px 0}.pwa-install-text{margin-bottom:10px}.pwa-install-actions{display:grid;grid-template-columns:1fr auto}.pwa-install-button{width:100%!important}.pwa-close-button{height:48px;border-radius:14px}body.has-pwa-bar .footer{padding-bottom:126px}}


/* PWA standalone mobile sidebar */
.pwa-nav-overlay{display:none}
@media(max-width:1000px){
  body.pwa-standalone .topbar-wrap{position:sticky;top:0;z-index:95;padding:0;background:#eef6ff}
  body.pwa-standalone .topbar{border-radius:0;box-shadow:0 8px 24px rgba(8,38,92,.10)}
  body.pwa-standalone .nav-links{position:fixed!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;width:min(86vw,330px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:82px 16px 22px!important;background:#fff!important;border:0!important;border-radius:0 22px 22px 0!important;box-shadow:18px 0 42px rgba(3,37,91,.22)!important;overflow-y:auto!important;transform:translateX(-105%)!important;transition:transform .26s ease!important;z-index:110!important}
  body.pwa-standalone .nav-links.open{transform:translateX(0)!important}
  body.pwa-standalone .nav-link,body.pwa-standalone .login-btn{height:auto!important;min-height:48px!important;padding:12px 14px!important;border-radius:12px!important;margin:0 0 5px!important;font-size:14px!important}
  body.pwa-standalone .nav-link:hover,body.pwa-standalone .nav-link.active{background:#eef5ff!important}
  body.pwa-standalone .nav-link.active:after{display:none!important}
  body.pwa-standalone .nav-dropdown{height:auto!important;display:block!important}
  body.pwa-standalone .dropdown-menu{position:static!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;background:#f6f9ff!important;border-radius:12px!important;margin:0 0 8px!important;padding:6px!important}
  body.pwa-standalone .dropdown-menu a{padding:9px 10px!important;font-size:12.5px!important}
  body.pwa-standalone .pwa-menu-head{position:absolute;left:16px;right:16px;top:16px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e7eef7;padding-bottom:12px}
  body.pwa-standalone .pwa-menu-title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:900;color:#07166b}
  body.pwa-standalone .pwa-menu-title img{width:34px;height:34px;object-fit:contain}
  body.pwa-standalone .pwa-menu-close{width:38px;height:38px;border:1px solid #dce7f4;background:#f7faff;border-radius:11px;font-size:24px;color:#173c74;line-height:1;cursor:pointer}
  body.pwa-standalone .pwa-nav-overlay{display:block;position:fixed;inset:0;background:rgba(2,22,55,.42);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.22s ease;z-index:105}
  body.pwa-standalone .pwa-nav-overlay.show{opacity:1;visibility:visible}
  body.pwa-standalone.pwa-menu-open{overflow:hidden}
  body.pwa-standalone .mobile-toggle{display:flex!important;position:relative;z-index:120}
}

/* KTA signature V24 - bigger, bold, named */
.kta-signatures{left:255px!important;right:205px!important;bottom:22px!important;gap:28px!important}
.kta-sign{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important}
.kta-sign div{height:78px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
.kta-sign img{max-width:195px!important;max-height:78px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:contrast(1.65) brightness(.82) drop-shadow(.65px 0 rgba(0,0,0,.72)) drop-shadow(-.65px 0 rgba(0,0,0,.72)) drop-shadow(0 .65px rgba(0,0,0,.72)) drop-shadow(0 -.65px rgba(0,0,0,.72))!important}
.kta-sign-name{display:block!important;min-height:16px!important;margin-top:2px!important;font-size:13.5px!important;font-weight:900!important;line-height:1.05!important;color:#111!important}
.kta-sign strong{display:block!important;border:0!important;border-top:0!important;padding-top:2px!important;font-size:15.5px!important;font-weight:900!important;line-height:1.05!important;color:#111!important}
.kta-date-made{bottom:134px!important}

@media(max-width:640px){.kta-fixed-preview .kta-signatures{left:255px!important;right:205px!important;bottom:22px!important;gap:28px!important}.kta-fixed-preview .kta-sign div{height:78px!important}.kta-fixed-preview .kta-sign img{max-width:195px!important;max-height:78px!important}.kta-fixed-preview .kta-sign-name{font-size:13.5px!important;min-height:16px!important}.kta-fixed-preview .kta-sign strong{font-size:15.5px!important}.kta-fixed-preview .kta-date-made{bottom:134px!important}}


/* V25 mobile browser + PWA navigation cleanup */
.mobile-nav-overlay{display:none}
.mobile-menu-head{display:none}
@media(max-width:1000px){
  .topbar-wrap{position:sticky;top:0;z-index:95;background:#eef6ff}
  .topbar{border-radius:0 0 16px 16px;box-shadow:none!important}
  .mobile-toggle{display:flex!important}
  .nav-links{
    position:fixed!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;
    width:min(86vw,330px)!important;height:100dvh!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:4px!important;padding:78px 14px 20px!important;background:#fff!important;
    border:0!important;border-radius:0 18px 18px 0!important;box-shadow:none!important;overflow-y:auto!important;
    transform:translateX(-105%)!important;transition:transform .24s ease!important;z-index:110!important;
  }
  .nav-links.open{transform:translateX(0)!important}
  .mobile-menu-head{position:absolute;left:14px;right:14px;top:12px;height:52px;display:flex!important;align-items:center;justify-content:space-between;border-bottom:1px solid #e8eef6;padding-bottom:10px}
  .mobile-menu-title{display:flex;align-items:center;gap:10px;font-weight:900;color:#07166b;font-size:16px}.mobile-menu-title img{width:35px;height:35px;object-fit:contain}
  .mobile-menu-close{width:38px;height:38px;border:1px solid #dce7f4;border-radius:10px;background:#fff;color:#173c74;font-size:24px;line-height:1}
  .nav-link,.login-btn{height:auto!important;min-height:47px!important;padding:12px 13px!important;border-radius:11px!important;margin:0!important;font-size:14px!important;justify-content:flex-start!important}
  .nav-link.active:after{display:none!important}
  .nav-dropdown{height:auto!important;display:block!important}
  .nav-dropdown>.nav-link{display:flex!important;justify-content:space-between!important;width:100%!important}
  .nav-dropdown>.nav-link svg{transition:transform .2s ease}.nav-dropdown.submenu-open>.nav-link svg{transform:rotate(180deg)}
  .dropdown-menu{position:static!important;width:100%!important;display:none!important;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;background:#f5f8fd!important;border-radius:10px!important;margin:4px 0 7px!important;padding:5px!important}
  .nav-dropdown.submenu-open>.dropdown-menu{display:block!important}
  .dropdown-menu a{padding:10px 11px!important;border-radius:8px!important;font-size:13px!important;color:#27405f!important}
  .mobile-nav-overlay{display:block;position:fixed;inset:0;background:rgba(5,23,50,.32);opacity:0;visibility:hidden;transition:.2s ease;z-index:105}
  .mobile-nav-overlay.show{opacity:1;visibility:visible}
  body.mobile-menu-open{overflow:hidden}
}
@media(min-width:1001px){
  .mobile-menu-head,.mobile-nav-overlay{display:none!important}
  .nav-dropdown:hover>.dropdown-menu{display:block}
}
/* Standalone PWA uses the same clean drawer, without blur */
body.pwa-standalone .pwa-nav-overlay{display:none!important}


/* V26 definitive mobile/PWA navigation */
@media(max-width:1000px){
  .topbar-wrap{position:sticky!important;top:0!important;z-index:200!important;box-shadow:none!important}
  .topbar{box-shadow:none!important;border-radius:0!important}
  .nav-links{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;right:auto!important;
    width:min(88vw,360px)!important;height:100dvh!important;z-index:310!important;
    background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    padding:78px 16px 24px!important;overflow-y:auto!important;overflow-x:hidden!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;
    transform:translateX(-102%)!important;transition:transform .22s ease!important;
  }
  .nav-links.open{transform:translateX(0)!important}
  .mobile-menu-head{display:flex!important;position:absolute!important;left:16px!important;right:16px!important;top:12px!important;height:52px!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid #e5ebf3!important;padding-bottom:10px!important;background:#fff!important;z-index:2!important}
  .mobile-menu-title{display:flex!important;align-items:center!important;gap:10px!important;font-size:17px!important;font-weight:900!important;color:#07166b!important}.mobile-menu-title img{width:38px!important;height:38px!important;object-fit:contain!important}
  .mobile-menu-close{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid #dce5ef!important;border-radius:12px!important;background:#fff!important;color:#153a70!important;font-size:26px!important;line-height:1!important;box-shadow:none!important}
  .nav-link,.login-btn{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:48px!important;height:auto!important;padding:12px 13px!important;margin:0!important;border:0!important;border-radius:10px!important;box-shadow:none!important;background:transparent!important;color:#122c55!important;font-size:15px!important;font-weight:800!important}
  .login-btn{background:linear-gradient(135deg,#b20e25,#073d92)!important;color:#fff!important;margin-top:8px!important}
  .nav-link.active:after{display:none!important}
  .nav-dropdown{display:block!important;height:auto!important;width:100%!important}
  .nav-dropdown>.nav-link{justify-content:space-between!important}
  .nav-dropdown>.nav-link svg{margin-left:auto!important;transition:transform .2s ease!important}
  .nav-dropdown.submenu-open>.nav-link svg{transform:rotate(180deg)!important}
  .nav-dropdown .dropdown-menu,body.pwa-standalone .nav-dropdown .dropdown-menu{
    position:static!important;display:none!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;
    margin:2px 0 8px!important;padding:5px!important;border:0!important;border-radius:10px!important;background:#f3f6fa!important;box-shadow:none!important;
  }
  .nav-dropdown.submenu-open>.dropdown-menu,body.pwa-standalone .nav-dropdown.submenu-open>.dropdown-menu{display:block!important}
  .dropdown-menu a{display:block!important;padding:11px 12px!important;border-radius:8px!important;color:#314763!important;font-size:13px!important;font-weight:800!important;background:transparent!important}
  .dropdown-menu a:active,.dropdown-menu a:hover{background:#e8eef6!important;color:#064fb9!important}
  .mobile-nav-overlay,body.pwa-standalone .mobile-nav-overlay{
    display:block!important;position:fixed!important;inset:0!important;z-index:300!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  }
  .mobile-nav-overlay.show,body.pwa-standalone .mobile-nav-overlay.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:transparent!important}
  body.mobile-menu-open{overflow:hidden!important}
  body.pwa-standalone .pwa-nav-overlay{display:none!important}
}
@media(max-width:640px){
  .nav-links{width:100vw!important;max-width:none!important;border-radius:0!important}
  .mobile-nav-overlay{display:none!important}
}
@media(min-width:1001px){
  .mobile-menu-head,.mobile-nav-overlay{display:none!important}
  .nav-dropdown>.dropdown-menu{display:block}
}

/* V27 KTA QR overlap fix */
.kta-info{left:275px!important;top:236px!important;max-width:300px!important;width:300px!important}
.kta-info h3{font-size:24px!important;line-height:1.02!important;margin:0 0 8px!important}
.kta-info p{font-size:19px!important;line-height:1.04!important;margin:0 0 6px!important}
.kta-qr{right:38px!important;bottom:44px!important;width:156px!important;height:156px!important;padding:8px!important;border-radius:8px!important}
.kta-date-made{left:275px!important;bottom:116px!important;font-size:12px!important}
.kta-signatures{left:275px!important;right:220px!important;bottom:20px!important;gap:24px!important}
.kta-sign div{height:72px!important}.kta-sign img{max-width:170px!important;max-height:72px!important}.kta-sign-name{font-size:12.5px!important;min-height:15px!important}.kta-sign strong{font-size:14px!important;line-height:1.1!important}
.kta-fixed-preview .kta-info{left:275px!important;top:236px!important;max-width:300px!important;width:300px!important}
.kta-fixed-preview .kta-info h3{font-size:24px!important;line-height:1.02!important;margin:0 0 8px!important}
.kta-fixed-preview .kta-info p{font-size:19px!important;line-height:1.04!important;margin:0 0 6px!important}
.kta-fixed-preview .kta-qr{right:38px!important;bottom:44px!important;width:156px!important;height:156px!important;padding:8px!important}
.kta-fixed-preview .kta-date-made{left:275px!important;bottom:116px!important;font-size:12px!important}
.kta-fixed-preview .kta-signatures{left:275px!important;right:220px!important;bottom:20px!important;gap:24px!important}
.kta-fixed-preview .kta-sign div{height:72px!important}.kta-fixed-preview .kta-sign img{max-width:170px!important;max-height:72px!important}.kta-fixed-preview .kta-sign-name{font-size:12.5px!important;min-height:15px!important}.kta-fixed-preview .kta-sign strong{font-size:14px!important;line-height:1.1!important}
@media(max-width:640px){.kta-info,.kta-fixed-preview .kta-info{left:133px!important;top:126px!important;max-width:unset!important;width:auto!important}.kta-info h3,.kta-fixed-preview .kta-info h3{font-size:15px!important;margin:0 0 6px!important}.kta-info p,.kta-fixed-preview .kta-info p{font-size:14px!important;margin:0 0 5px!important}.kta-qr,.kta-fixed-preview .kta-qr{right:20px!important;bottom:22px!important;width:92px!important;height:92px!important;padding:5px!important}.kta-date-made,.kta-fixed-preview .kta-date-made{left:133px!important;bottom:61px!important;font-size:7px!important}.kta-signatures,.kta-fixed-preview .kta-signatures{left:133px!important;right:108px!important;bottom:18px!important;gap:8px!important}.kta-sign div,.kta-fixed-preview .kta-sign div{height:24px!important}.kta-sign img,.kta-fixed-preview .kta-sign img{max-width:58px!important;max-height:24px!important}.kta-sign-name,.kta-fixed-preview .kta-sign-name{font-size:5.4px!important;min-height:6px!important}.kta-sign strong,.kta-fixed-preview .kta-sign strong{font-size:7.5px!important}}

/* V28 KTA QR and certificate QR adjustments */
.kta-info{left:270px!important;top:236px!important;max-width:300px!important;width:300px!important}
.kta-qr{right:42px!important;bottom:120px!important;width:150px!important;height:150px!important;padding:8px!important}
.kta-date-made{left:270px!important;bottom:118px!important;font-size:12px!important}
.kta-signatures{left:270px!important;right:216px!important;bottom:34px!important;gap:26px!important}
.kta-sign-name{font-size:12.5px!important;min-height:15px!important}.kta-sign strong{font-size:14.5px!important;line-height:1.1!important}
.kta-fixed-preview .kta-info{left:270px!important;top:236px!important;max-width:300px!important;width:300px!important}
.kta-fixed-preview .kta-qr{right:42px!important;bottom:120px!important;width:150px!important;height:150px!important;padding:8px!important}
.kta-fixed-preview .kta-date-made{left:270px!important;bottom:118px!important;font-size:12px!important}
.kta-fixed-preview .kta-signatures{left:270px!important;right:216px!important;bottom:34px!important;gap:26px!important}
.kta-fixed-preview .kta-sign-name{font-size:12.5px!important;min-height:15px!important}.kta-fixed-preview .kta-sign strong{font-size:14.5px!important;line-height:1.1!important}
.certificate-qr-box{position:absolute;right:4.4%;bottom:7.2%;z-index:3;background:rgba(255,255,255,.95);border:1px solid #dce5f0;border-radius:14px;padding:8px 8px 6px;box-shadow:0 8px 22px rgba(8,38,92,.10);text-align:center}.certificate-qr-box img{display:block;width:104px;height:104px;object-fit:contain}.certificate-qr-box span{display:block;margin-top:4px;font-size:10px;font-weight:800;color:#334564;line-height:1.15}.certificate-template-sheet.portrait .certificate-qr-box{right:6%;bottom:11%}.certificate-template-sheet.has-signatures.landscape .certificate-qr-box{bottom:8.5%}.certificate-template-sheet.has-signatures.portrait .certificate-qr-box{bottom:12%}
@media(max-width:640px){.certificate-qr-box{right:3.5%;bottom:4.8%;padding:5px 5px 4px;border-radius:10px}.certificate-qr-box img{width:62px;height:62px}.certificate-qr-box span{font-size:7px}.certificate-template-sheet.portrait .certificate-qr-box{right:4%;bottom:8%}}

/* V29 KTA spacing final fix */
.kta-date-made{left:270px!important;bottom:138px!important;font-size:12px!important;z-index:6!important}
.kta-signatures{left:270px!important;right:216px!important;bottom:46px!important;gap:26px!important}
.kta-sign-name{font-size:13px!important;min-height:15px!important;margin-top:2px!important}.kta-sign strong{font-size:14.5px!important;line-height:1.1!important}
.kta-qr{right:42px!important;bottom:120px!important;width:150px!important;height:150px!important;padding:8px!important}
.kta-fixed-preview .kta-date-made{left:270px!important;bottom:138px!important;font-size:12px!important}.kta-fixed-preview .kta-signatures{left:270px!important;right:216px!important;bottom:46px!important;gap:26px!important}.kta-fixed-preview .kta-sign-name{font-size:13px!important;min-height:15px!important}.kta-fixed-preview .kta-sign strong{font-size:14.5px!important}.kta-fixed-preview .kta-qr{right:42px!important;bottom:120px!important;width:150px!important;height:150px!important;padding:8px!important}
@media(max-width:640px){.kta-date-made,.kta-fixed-preview .kta-date-made{left:133px!important;bottom:66px!important;font-size:7px!important}.kta-signatures,.kta-fixed-preview .kta-signatures{left:133px!important;right:112px!important;bottom:20px!important;gap:8px!important}.kta-sign-name,.kta-fixed-preview .kta-sign-name{font-size:5.4px!important;min-height:6px!important}.kta-sign strong,.kta-fixed-preview .kta-sign strong{font-size:7.5px!important}.kta-qr,.kta-fixed-preview .kta-qr{right:20px!important;bottom:24px!important;width:92px!important;height:92px!important;padding:5px!important}}

/* V35 certificate official names */
.certificate-official-name{display:block;margin:2px 0 1px;font-size:clamp(10px,1.2vw,14px);font-weight:900;line-height:1.1;color:#111;text-align:center}
.certificate-signature strong{margin-top:1px!important}
@media(max-width:640px){.certificate-official-name{font-size:8px;margin-top:1px}}

/* V36 Certificate QR placement */
.certificate-qr-box{right:4.2%!important;bottom:29%!important;z-index:5!important}.certificate-template-sheet.portrait .certificate-qr-box{right:5.5%!important;bottom:24%!important}.certificate-official-name:empty{min-height:14px}
@media(max-width:640px){.certificate-qr-box{right:3.5%!important;bottom:27%!important}.certificate-template-sheet.portrait .certificate-qr-box{right:4%!important;bottom:22%!important}}

/* V38 certificate user fallback fix */
.certificate-sign-placeholder{font-family:"Brush Script MT","Segoe Script",cursive;font-size:28px;font-weight:900;color:#111;line-height:1;display:inline-block;transform:rotate(-7deg);filter:contrast(1.35)}
.certificate-official-name{display:block;min-height:14px;font-size:12px;font-weight:900;color:#111;line-height:1.15;margin:0 0 1px}
.certificate-qr-box img{background:#fff}
@media(max-width:640px){.certificate-sign-placeholder{font-size:18px}.certificate-official-name{font-size:8px}}

/* V40 certificate signatures/QR critical rendering */
.certificate-sign-placeholder{font-family:"Brush Script MT","Segoe Script",cursive;font-size:28px;font-weight:900;color:#111;line-height:1;display:inline-block;transform:rotate(-7deg)}
.certificate-official-name{display:block;min-height:14px;font-size:12px;font-weight:900;color:#111;line-height:1.15;margin:0 0 1px}
@media(max-width:640px){.certificate-sign-placeholder{font-size:18px}.certificate-official-name{font-size:8px}}

/* V41 sertifikat - naikan ttd, nama pejabat, dan QR agar tidak nabrak bingkai */
.certificate-signatures{bottom:7.4%!important;left:8%!important;right:8%!important;gap:16%!important}.certificate-template-sheet.portrait .certificate-signatures{bottom:8.2%!important;left:9%!important;right:9%!important;gap:10%!important}.certificate-signature-image{height:94px!important;margin-bottom:3px!important}.certificate-signature-image img{max-height:94px!important;max-width:210px!important}.certificate-official-name{margin:2px 0 2px!important;font-size:clamp(11px,1.1vw,14px)!important}.certificate-signature strong{font-size:clamp(10px,1.1vw,13px)!important}.certificate-qr-box{right:5.2%!important;bottom:31.5%!important;padding:8px 8px 6px!important;border-radius:12px!important}.certificate-qr-box img{width:96px!important;height:96px!important}.certificate-qr-box span{font-size:10px!important}.certificate-template-sheet.portrait .certificate-qr-box{right:6.2%!important;bottom:26%!important}.certificate-template-sheet.has-signatures.landscape .certificate-qr-box{bottom:31.5%!important}.certificate-template-sheet.has-signatures.portrait .certificate-qr-box{bottom:26%!important}
@media(max-width:640px){.certificate-signatures{bottom:6.2%!important;left:6%!important;right:6%!important;gap:11%!important}.certificate-signature-image{height:58px!important}.certificate-signature-image img{max-height:58px!important;max-width:115px!important}.certificate-official-name{font-size:8px!important}.certificate-signature strong{font-size:8px!important}.certificate-qr-box{right:4.5%!important;bottom:24%!important;padding:5px 5px 4px!important}.certificate-qr-box img{width:58px!important;height:58px!important}.certificate-template-sheet.portrait .certificate-qr-box{right:5%!important;bottom:20%!important}}


/* V42 sertifikat - posisi final lebih aman dari bingkai */
.certificate-signatures{
  left:8%!important;
  right:8%!important;
  bottom:12%!important;
  gap:16%!important;
}
.certificate-template-sheet.portrait .certificate-signatures{
  left:9%!important;
  right:9%!important;
  bottom:13%!important;
  gap:10%!important;
}
.certificate-signature-image{
  height:92px!important;
  margin-bottom:4px!important;
}
.certificate-signature-image img{
  max-width:205px!important;
  max-height:92px!important;
}
.certificate-official-name{
  margin:2px 0 2px!important;
  font-size:clamp(11px,1.1vw,14px)!important;
}
.certificate-signature strong{
  font-size:clamp(10px,1.05vw,13px)!important;
}
.certificate-qr-box{
  right:8%!important;
  bottom:36%!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.certificate-qr-box img{
  width:88px!important;
  height:88px!important;
  background:transparent!important;
  mix-blend-mode:multiply!important;
}
.certificate-qr-box span{
  margin-top:3px!important;
  font-size:9px!important;
}
.certificate-template-sheet.portrait .certificate-qr-box{
  right:8%!important;
  bottom:31%!important;
}
.certificate-template-sheet.has-signatures.landscape .certificate-qr-box{
  bottom:36%!important;
}
.certificate-template-sheet.has-signatures.portrait .certificate-qr-box{
  bottom:31%!important;
}
@media(max-width:640px){
  .certificate-signatures{
    left:7%!important;
    right:7%!important;
    bottom:10%!important;
    gap:11%!important;
  }
  .certificate-template-sheet.portrait .certificate-signatures{
    bottom:11%!important;
  }
  .certificate-signature-image{
    height:56px!important;
  }
  .certificate-signature-image img{
    max-width:110px!important;
    max-height:56px!important;
  }
  .certificate-official-name{
    font-size:8px!important;
  }
  .certificate-signature strong{
    font-size:8px!important;
  }
  .certificate-qr-box{
    right:7%!important;
    bottom:29%!important;
  }
  .certificate-qr-box img{
    width:54px!important;
    height:54px!important;
  }
  .certificate-qr-box span{
    font-size:7px!important;
  }
  .certificate-template-sheet.portrait .certificate-qr-box{
    right:7%!important;
    bottom:25%!important;
  }
}


/* V43 sertifikat - final spacing dari bingkai */
.certificate-signatures{left:8%!important;right:8%!important;bottom:15%!important;gap:16%!important}
.certificate-template-sheet.portrait .certificate-signatures{left:9%!important;right:9%!important;bottom:16%!important;gap:10%!important}
.certificate-signature-image{height:84px!important;margin-bottom:4px!important}
.certificate-signature-image img{max-width:190px!important;max-height:84px!important}
.certificate-official-name{margin:3px 0 2px!important;font-size:clamp(11px,1.1vw,14px)!important}
.certificate-signature strong{font-size:clamp(10px,1.05vw,13px)!important}
.certificate-qr-box{right:10%!important;bottom:41%!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.certificate-qr-box img{width:86px!important;height:86px!important;background:transparent!important;mix-blend-mode:multiply!important;border:0!important;box-shadow:none!important}
.certificate-qr-box span{margin-top:3px!important;font-size:9px!important;background:transparent!important}
.certificate-template-sheet.portrait .certificate-qr-box{right:10%!important;bottom:34%!important}
.certificate-template-sheet.has-signatures.landscape .certificate-qr-box{bottom:41%!important}
.certificate-template-sheet.has-signatures.portrait .certificate-qr-box{bottom:34%!important}
@media(max-width:640px){
  .certificate-signatures{left:7%!important;right:7%!important;bottom:12%!important;gap:11%!important}
  .certificate-template-sheet.portrait .certificate-signatures{bottom:13%!important}
  .certificate-signature-image{height:52px!important}
  .certificate-signature-image img{max-width:100px!important;max-height:52px!important}
  .certificate-official-name{font-size:8px!important}
  .certificate-signature strong{font-size:8px!important}
  .certificate-qr-box{right:9%!important;bottom:32%!important}
  .certificate-qr-box img{width:52px!important;height:52px!important}
  .certificate-qr-box span{font-size:7px!important}
  .certificate-template-sheet.portrait .certificate-qr-box{right:9%!important;bottom:27%!important}
}


/* V44 visual certificate editor + unified render */
.certificate-template-sheet{container-type:inline-size}
.certificate-static-title{position:absolute;left:8%;right:8%;top:11.5%;z-index:3;text-align:center;font-weight:900;letter-spacing:1.2px;color:#07317a;font-size:2.0cqw}
.certificate-static-label{position:absolute;left:10%;right:10%;z-index:3;text-align:center;font-weight:700;color:#42526c;font-size:1.3cqw}
.certificate-given-top{top:25%}.certificate-given-middle{top:43%}
.certificate-template-sheet .cert-edit-item{position:absolute;z-index:5;transform:translate(-50%,-50%);text-align:center;box-sizing:border-box}
.certificate-template-sheet .cert-text{font-size:calc(var(--cert-font) * .1cqw);line-height:1.08;max-width:84%;white-space:normal}
.certificate-template-sheet .cert-participant{font-weight:900;color:#061f57}
.certificate-template-sheet .cert-activity{font-weight:900;color:#07317a}
.certificate-template-sheet .cert-date,.certificate-template-sheet .cert-number{font-weight:650;color:#263956;max-width:70%}
.certificate-template-sheet .cert-date strong,.certificate-template-sheet .cert-number strong{font-weight:900}
.certificate-template-sheet .certificate-qr-box.cert-edit-item{right:auto!important;bottom:auto!important;width:calc(var(--cert-size) * .1cqw)!important;height:auto!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.certificate-template-sheet .certificate-qr-box.cert-edit-item img{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;background:transparent!important;border:0!important;box-shadow:none!important;mix-blend-mode:multiply}
.certificate-template-sheet .certificate-qr-box.cert-edit-item span{display:block;margin-top:.35cqw;font-size:.8cqw;font-weight:800;color:#334564;line-height:1.1}
.certificate-template-sheet .cert-edit-item.certificate-signature-image{width:calc(var(--cert-size) * .1cqw)!important;height:calc(var(--cert-size) * .050cqw)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important}
.certificate-template-sheet .cert-edit-item.certificate-signature-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important}
.certificate-template-sheet .cert-edit-item.certificate-signature-image .certificate-sign-placeholder{font-size:2.7cqw}
.certificate-template-sheet .cert-edit-item.certificate-official-name{font-size:calc(var(--cert-font) * .1cqw)!important;min-height:0!important;margin:0!important;font-weight:900!important;color:#111!important;line-height:1.05!important}
.certificate-template-sheet .cert-edit-item.certificate-official-role{font-size:calc(var(--cert-font) * .1cqw)!important;margin:0!important;font-weight:900!important;color:#111!important;line-height:1.05!important}
.certificate-extra-text{position:absolute;left:14%;right:14%;top:68%;z-index:3;text-align:center;font-size:1.0cqw;line-height:1.35;color:#40516a;font-weight:600;margin:0!important;max-width:none!important}
@media(max-width:640px){
  .certificate-static-title{font-size:2.2cqw}
  .certificate-static-label{font-size:1.5cqw}
}
