/* Potensa Premium Login UI — isolated styles, authentication is unchanged */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

body.ptb-premium-mounted { background:#dbeeff; }
.ptb-premium-root, .ptb-premium-root * { box-sizing:border-box; }
.ptb-premium-root {
  --ptb-navy:#0b2452; --ptb-blue:#2475d9; --ptb-green:#088b57;
  --ptb-text:#14294b; --ptb-muted:#71839f;
  position:fixed; inset:0; z-index:300; display:flex; justify-content:center; align-items:center;
  overflow:auto; padding:22px; color:var(--ptb-text);
  background:radial-gradient(circle at 10% 8%, #c8e7ff 0, transparent 35%),
             radial-gradient(circle at 94% 78%, #9fd4ff 0, transparent 39%),
             linear-gradient(135deg,#eaf6ff 0%,#d4eafa 65%,#e8f8ff 100%);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  line-height:1.5;
}
.ptb-premium-root::before,.ptb-premium-root::after { content:''; position:absolute; border-radius:50%; pointer-events:none; filter:blur(24px); }
.ptb-premium-root::before { width:230px;height:230px;top:-60px;left:-80px;background:rgba(52,143,250,.22);animation:ptb-glow 9s ease-in-out infinite; }
.ptb-premium-root::after { width:260px;height:260px;bottom:-70px;right:-60px;background:rgba(14,185,158,.13);animation:ptb-glow 12s ease-in-out infinite reverse; }
.ptb-premium-frame {
 position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
 width:min(1480px,100%); min-height:600px; height:min(850px,calc(100vh - 44px));
 border-radius:30px; box-shadow:0 28px 100px rgba(11,55,108,.20),0 5px 18px rgba(13,45,84,.08);
 overflow:hidden; isolation:isolate; background:rgba(255,255,255,.78);
 animation:ptb-enter .75s cubic-bezier(.2,.7,.2,1) both;
}
.ptb-premium-hero {
 position:relative; display:flex; flex-direction:column; justify-content:flex-start;
 overflow:hidden; padding:54px 46px; isolation:isolate;
 background-image:linear-gradient(100deg,rgba(7,71,163,.91) 0%,rgba(14,100,213,.74) 24%,rgba(25,114,221,.22) 61%,rgba(3,48,101,.06) 100%),url('gedung-perumda.jpg');
 background-size:cover; background-position:center center;
}
.ptb-premium-hero::after { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,rgba(6,44,121,.34) 0%,transparent 48%); }
.ptb-hero-content { max-width:560px;z-index:2;position:relative;color:#fff;text-shadow:0 3px 15px rgba(4,43,97,.22); }
.ptb-hero-eyebrow {font-size:12px; letter-spacing:.31em; font-weight:700; margin:0 0 20px; opacity:.94;}
.ptb-hero-title {color:#fff!important;font-size:clamp(38px,4.25vw,66px)!important;letter-spacing:-.05em;line-height:1.09!important;font-weight:800!important;margin:0 0 21px!important;text-wrap:balance;}
.ptb-hero-rule {width:75px;height:5px;background:#4cd1ff;border-radius:12px;box-shadow:0 0 18px rgba(80,220,255,.56);margin-bottom:20px;}
.ptb-hero-description {font-size:16px;line-height:1.75;max-width:350px;color:rgba(255,255,255,.98);margin:0;}
.ptb-hero-chip {position:absolute;right:22px;top:24px;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.32);border-radius:30px;background:rgba(255,255,255,.18);backdrop-filter:blur(14px);color:#fff;font-size:11px;font-weight:700;box-shadow:0 10px 30px rgba(10,51,124,.13);animation:ptb-float 6s ease-in-out infinite;}
.ptb-chip-dot {width:8px;height:8px;border-radius:50%;background:#65ffc6;box-shadow:0 0 11px #65ffc6;}
.ptb-premium-aside {position:relative;z-index:3;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:24px clamp(20px,3vw,45px);background:radial-gradient(circle at 100% 0%,rgba(186,225,255,.71),transparent 43%),linear-gradient(160deg,#fafdff 0%,#e9f4ff 100%);}
.ptb-premium-aside::before,.ptb-premium-aside::after {content:'';position:absolute;border-radius:50%;border:1px solid rgba(51,131,227,.13);pointer-events:none;}
.ptb-premium-aside::before {width:400px;height:400px;right:-220px;top:-230px;}
.ptb-premium-aside::after {width:350px;height:350px;left:-210px;bottom:-190px;}
.ptb-premium-card {position:relative;z-index:2;width:100%;max-width:510px;margin:auto;padding:28px clamp(22px,2.7vw,37px) 24px;border:1px solid rgba(255,255,255,.94);border-radius:30px;background:rgba(255,255,255,.75);backdrop-filter:blur(20px);box-shadow:0 18px 48px rgba(23,90,158,.13),inset 0 1px rgba(255,255,255,.88);}
.ptb-brand-logo {width:160px;height:100px;object-fit:contain;display:block;margin:0 auto 10px;filter:drop-shadow(0 7px 15px rgba(29,77,131,.12));}
.ptb-brand-title {font-size:clamp(24px,2.2vw,31px)!important;letter-spacing:-.06em;color:#092754!important;font-weight:800!important;line-height:1.25!important;text-align:center;margin:0 0 8px!important;}
.ptb-brand-subtitle {text-align:center;color:#6b7d9e;font-size:12.5px;line-height:1.7;margin:0 0 25px!important;}
.ptb-form-slot {width:100%;}
.ptb-premium-root form {width:100%;margin:0!important;padding:0!important;max-width:none!important;box-shadow:none!important;background:transparent!important;border:none!important;}
.ptb-premium-root form > * {max-width:100%;}
.ptb-premium-root form label {display:block!important;font-size:13px!important;font-weight:750!important;color:#132d59!important;margin:13px 0 8px!important;}
.ptb-premium-root form input[type='text'],.ptb-premium-root form input[type='password'],.ptb-premium-root form input[type='email'],.ptb-premium-root form input[type='number'],.ptb-premium-root form input:not([type]),.ptb-premium-root form select {
 width:100%!important;max-width:100%!important;min-width:0!important;min-height:54px!important;
 font-family:inherit!important;font-size:14px!important;font-weight:500!important;color:#123457!important;
 background:rgba(255,255,255,.91)!important;border:1px solid #ccddf0!important;
 border-radius:14px!important;padding:13px 15px!important;box-shadow:0 3px 10px rgba(16,72,145,.025)!important;
 transition:border-color .2s,box-shadow .2s,transform .2s!important;
}
.ptb-premium-root form input::placeholder{color:#8c9ab2!important;opacity:1;}
.ptb-premium-root form input:focus,.ptb-premium-root form select:focus {outline:none!important;border-color:#67abff!important;box-shadow:0 0 0 4px rgba(82,153,235,.15)!important;}
.ptb-premium-root form button[type='submit'],.ptb-premium-root form input[type='submit'] {
 display:block!important;width:100%!important;min-height:54px!important;margin-top:23px!important;
 border:0!important;border-radius:14px!important;color:white!important;cursor:pointer!important;
 background:linear-gradient(98deg,#087b4b 0%,#0f9960 55%,#23c687 100%)!important;
 box-shadow:0 13px 28px rgba(10,157,93,.22)!important;font-family:inherit!important;font-weight:800!important;font-size:16px!important;
 transition:transform .2s,box-shadow .2s!important;
}
.ptb-premium-root form button[type='submit']:hover,.ptb-premium-root form input[type='submit']:hover {transform:translateY(-2px);box-shadow:0 16px 33px rgba(10,157,93,.31)!important;}
.ptb-premium-root form button[type='submit']:focus-visible {outline:3px solid #0d70d2;outline-offset:3px;}
.ptb-premium-root form button[type='button'] {cursor:pointer;}
.ptb-premium-root form .input-group,.ptb-premium-root form .form-group,.ptb-premium-root form .mb-3,.ptb-premium-root form .mb-4 {max-width:100%;}
.ptb-premium-root form .input-group {display:flex;align-items:stretch;}
.ptb-premium-root form .input-group input {flex:1;min-width:0!important;}
.ptb-premium-root form .input-group button:not([type='submit']) {border:1px solid #ccddf0;border-radius:0 14px 14px 0;background:#f6fbff;color:#346aab;}
.ptb-premium-root form .invalid-feedback,.ptb-premium-root .alert-danger,.ptb-premium-root .error {color:#a42a38;font-size:12px;}
.ptb-premium-root .alert {padding:11px 13px;border-radius:12px;font-size:12px;margin-bottom:12px;}
.ptb-premium-root .alert-danger {background:#fff1f3;border:1px solid #ffd2d9;}
.ptb-card-footer {margin-top:23px;border-radius:16px;padding:13px 15px;text-align:center;background:linear-gradient(120deg,rgba(230,248,241,.91),rgba(228,242,255,.95));border:1px solid rgba(138,209,176,.23);font-size:12px;font-weight:800;line-height:1.6;color:#1c5a42;}
.ptb-card-footer small {font-size:10px;font-weight:600;color:#638291;}
.ptb-premium-waves {position:absolute;z-index:2;pointer-events:none;left:0;bottom:-5px;width:100%;height:130px;overflow:hidden;opacity:.9;}
.ptb-premium-wave {position:absolute;width:220%;left:-25%;height:145px;bottom:-28px;background-repeat:repeat-x;background-size:700px 145px;animation:ptb-wave-roll 17s linear infinite;will-change:transform;}
.ptb-wave-one {background-image:url('wave-a.svg');}
.ptb-wave-two {background-image:url('wave-b.svg');animation-duration:25s;animation-direction:reverse;bottom:-39px;opacity:.8;}
.ptb-wave-three {background-image:url('wave-c.svg');animation-duration:34s;bottom:-49px;opacity:.75;}
.ptb-bubble {position:absolute;z-index:1;bottom:-20px;border-radius:50%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.86),rgba(255,255,255,.13));border:1px solid rgba(255,255,255,.35);pointer-events:none;animation:ptb-bubble-rise linear infinite;}
.ptb-bubble:nth-of-type(1) {left:7%;width:12px;height:12px;animation-duration:17s;}
.ptb-bubble:nth-of-type(2) {left:18%;width:18px;height:18px;animation-duration:21s;animation-delay:-11s;}
.ptb-bubble:nth-of-type(3) {left:36%;width:10px;height:10px;animation-duration:19s;animation-delay:-7s;}
.ptb-bubble:nth-of-type(4) {left:67%;width:13px;height:13px;animation-duration:25s;animation-delay:-16s;}
.ptb-bubble:nth-of-type(5) {left:89%;width:18px;height:18px;animation-duration:23s;animation-delay:-4s;}
@keyframes ptb-enter {from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ptb-wave-roll {to{transform:translateX(-350px)}}
@keyframes ptb-bubble-rise {from{transform:translateY(0);opacity:0}15%{opacity:.6}85%{opacity:.42}to{transform:translateY(-75vh) translateX(15px);opacity:0}}
@keyframes ptb-float {0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ptb-glow {0%,100%{transform:translate(0,0)}50%{transform:translate(20px,24px)}}
@media(max-width:900px){
 .ptb-premium-root{position:fixed;display:block;padding:13px;}
 .ptb-premium-frame{display:flex;flex-direction:column;min-height:calc(100vh - 26px);height:auto;overflow:hidden;border-radius:23px;}
 .ptb-premium-hero{min-height:245px;padding:28px 25px 68px;background-position:center 52%;}
 .ptb-hero-title{font-size:36px!important;max-width:430px;}
 .ptb-hero-eyebrow{font-size:10px;letter-spacing:.23em;margin-bottom:11px;}
 .ptb-hero-rule{height:3px;margin:13px 0;}
 .ptb-hero-description{font-size:12px;max-width:310px;}
 .ptb-hero-chip{top:12px;right:12px;font-size:9px;padding:7px 9px;}
 .ptb-premium-aside{padding:20px 17px 26px;overflow:visible;}
 .ptb-premium-card{max-width:600px;padding:20px 22px 18px;border-radius:23px;}
 .ptb-brand-logo{height:85px;width:135px;}
 .ptb-premium-waves{height:95px;bottom:auto;top:175px;}
}
@media(max-width:480px){
 .ptb-premium-root{padding:0;}
 .ptb-premium-frame{border-radius:0;min-height:100vh;}
 .ptb-premium-hero{min-height:215px;padding:22px 20px 42px;}
 .ptb-hero-title{font-size:30px!important;max-width:255px;}
 .ptb-hero-description{font-size:11px;max-width:270px;}
 .ptb-hero-chip{font-size:0;padding:9px;}
 .ptb-hero-chip .ptb-chip-dot{width:9px;height:9px;}
 .ptb-premium-aside{padding:15px 14px 24px;flex:1;}
 .ptb-premium-card{padding:21px 19px 20px;}
 .ptb-brand-logo{width:124px;height:78px;}
 .ptb-brand-title{font-size:23px!important;}
 .ptb-brand-subtitle{font-size:11px;margin-bottom:16px!important;}
 .ptb-premium-waves{top:156px;height:77px;}
}
@media(prefers-reduced-motion:reduce){
 .ptb-premium-root *, .ptb-premium-root::before,.ptb-premium-root::after {animation:none!important;transition:none!important;}
}
