/* GarantiPro Enterprise Gate Login v1.0 */
:root{--gp-primary:#26a89e;--gp-primary-dark:#1e8f86;--gp-primary-darker:#17766e;--gp-primary-light:#2ec4b8;--gp-primary-subtle:rgba(38,168,158,.08);--gp-primary-ring:rgba(38,168,158,.18);--gp-dark:#1f1f1f;--gp-dark-soft:#2a2a2a;--gp-white:#fff;--gp-gray-50:#f8fafc;--gp-gray-100:#f1f5f9;--gp-gray-200:#e2e8f0;--gp-gray-300:#cbd5e1;--gp-gray-400:#94a3b8;--gp-gray-500:#64748b;--gp-gray-600:#475569;--gp-gray-700:#334155;--gp-gray-800:#1e293b;--gp-gray-900:#0f172a;--gp-danger:#ef4444;--gp-danger-bg:#fef2f2;--gp-success:#10b981;--gp-radius:8px;--gp-radius-sm:6px;--gp-radius-lg:12px;--gp-radius-xl:16px;--gp-shadow-sm:0 1px 2px rgba(0,0,0,.05);--gp-shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--gp-shadow-lg:0 10px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.04);--gp-shadow-xl:0 20px 50px -12px rgba(0,0,0,.12);--gp-shadow-focus:0 0 0 3px var(--gp-primary-ring);--gp-shadow-focus-error:0 0 0 3px rgba(239,68,68,.15);--gp-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--gp-transition:200ms ease;--gp-transition-fast:120ms ease}.gp-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:var(--gp-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gp-gray-100);padding:1.5rem;position:relative;overflow:hidden}.gp-login-page::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 20% 0%,var(--gp-primary-subtle) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 85% 100%,rgba(38,168,158,.04) 0%,transparent 60%);pointer-events:none}.gp-bg-icon{position:absolute;pointer-events:none;opacity:0;animation:gp-icon-fade-in 1.5s ease-out forwards;z-index:0}.gp-bg-icon svg{width:100%;height:100%;fill:none;stroke:var(--gp-primary);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.gp-bg-icon--car{width:220px;height:220px;bottom:6%;left:4%;opacity:0;animation-delay:.3s}.gp-bg-icon--car svg{opacity:.18}.gp-bg-icon--shield{width:140px;height:140px;top:8%;right:6%;animation-delay:.5s}.gp-bg-icon--shield svg{opacity:.2}.gp-bg-icon--gear{width:160px;height:160px;top:60%;right:5%;animation-delay:.7s}.gp-bg-icon--gear svg{opacity:.15}.gp-bg-icon--wrench{width:120px;height:120px;top:12%;left:7%;animation-delay:.2s}.gp-bg-icon--wrench svg{opacity:.14}.gp-bg-icon--steering{width:100px;height:100px;bottom:15%;right:12%;animation-delay:.9s}.gp-bg-icon--steering svg{opacity:.12}.gp-bg-icon--engine{width:110px;height:110px;top:38%;left:3%;animation-delay:.6s}.gp-bg-icon--engine svg{opacity:.13}.gp-bg-icon--gear-sm{width:80px;height:80px;top:5%;left:35%;animation-delay:1s}.gp-bg-icon--gear-sm svg{opacity:.12}.gp-bg-icon--check{width:90px;height:90px;bottom:8%;left:35%;animation-delay:.8s}.gp-bg-icon--check svg{opacity:.16}@keyframes gp-icon-fade-in{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.gp-bg-icon--car{animation:gp-icon-fade-in 1.5s ease-out .3s forwards,gp-float-slow 8s ease-in-out 1.8s infinite}.gp-bg-icon--shield{animation:gp-icon-fade-in 1.5s ease-out .5s forwards,gp-float-slow 7s ease-in-out 2s infinite}.gp-bg-icon--gear{animation:gp-icon-fade-in 1.5s ease-out .7s forwards,gp-float-slow-reverse 9s ease-in-out 2.2s infinite}.gp-bg-icon--wrench{animation:gp-icon-fade-in 1.5s ease-out .2s forwards,gp-float-slow 6s ease-in-out 1.7s infinite}.gp-bg-icon--steering{animation:gp-icon-fade-in 1.5s ease-out .9s forwards,gp-float-slow-reverse 7.5s ease-in-out 2.4s infinite}.gp-bg-icon--engine{animation:gp-icon-fade-in 1.5s ease-out .6s forwards,gp-float-slow 8.5s ease-in-out 2.1s infinite}.gp-bg-icon--gear-sm{animation:gp-icon-fade-in 1.5s ease-out 1s forwards,gp-float-slow-reverse 6.5s ease-in-out 2.5s infinite}.gp-bg-icon--check{animation:gp-icon-fade-in 1.5s ease-out .8s forwards,gp-float-slow 7s ease-in-out 2.3s infinite}@keyframes gp-float-slow{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gp-float-slow-reverse{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}.gp-login-card{position:relative;width:100%;max-width:420px;background:var(--gp-white);border-radius:var(--gp-radius-xl);box-shadow:var(--gp-shadow-xl);overflow:hidden;animation:gp-card-enter .5s ease-out;z-index:1}@keyframes gp-card-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.gp-card-brand-strip{height:4px;background:linear-gradient(90deg,var(--gp-primary) 0%,var(--gp-primary-light) 50%,var(--gp-primary) 100%);background-size:200% 100%;animation:gp-shimmer 3s ease infinite}@keyframes gp-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.gp-card-body{padding:2.5rem 2.25rem 2rem}.gp-logo-area{text-align:center;margin-bottom:2rem}.gp-logo-area img{height:100px;transition:transform var(--gp-transition)}.gp-logo-area img:hover{transform:scale(1.03)}.gp-form-header{text-align:center;margin-bottom:1.75rem}.gp-form-title{font-size:1.375rem;font-weight:700;color:var(--gp-gray-900);margin:0 0 .375rem;letter-spacing:-.02em;line-height:1.3}.gp-form-subtitle{font-size:.875rem;color:var(--gp-gray-500);margin:0;font-weight:400;line-height:1.5}.gp-field{margin-bottom:1.125rem}.gp-label-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.375rem}.gp-label{display:block;font-size:.8125rem;font-weight:500;color:var(--gp-gray-700)}.gp-input-wrap{position:relative;display:flex;align-items:center}.gp-input-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--gp-gray-400);pointer-events:none;transition:color var(--gp-transition);display:flex;align-items:center}.gp-input-icon svg{width:18px;height:18px}.gp-input{width:100%;padding:.625rem .875rem .625rem 2.75rem;border:1.5px solid var(--gp-gray-200);border-radius:var(--gp-radius);background:var(--gp-white);color:var(--gp-gray-900);font-family:var(--gp-font);font-size:.875rem;font-weight:400;line-height:1.5;outline:none;transition:border-color var(--gp-transition),box-shadow var(--gp-transition),background var(--gp-transition)}.gp-input::placeholder{color:var(--gp-gray-400);font-weight:400}.gp-input:hover{border-color:var(--gp-gray-300);background:var(--gp-gray-50)}.gp-input:focus{border-color:var(--gp-primary);box-shadow:var(--gp-shadow-focus);background:var(--gp-white)}.gp-input:focus~.gp-input-icon{color:var(--gp-primary)}.gp-input.is-invalid{border-color:var(--gp-danger);background:var(--gp-danger-bg)}.gp-input.is-invalid:focus{box-shadow:var(--gp-shadow-focus-error);border-color:var(--gp-danger)}.gp-input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--gp-white) inset!important;-webkit-text-fill-color:var(--gp-gray-900)!important}.gp-input--password{padding-right:2.75rem}.gp-password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.25rem;cursor:pointer;color:var(--gp-gray-400);transition:color var(--gp-transition);display:flex;align-items:center;justify-content:center}.gp-password-toggle:hover{color:var(--gp-gray-600)}.gp-error{display:flex;align-items:center;gap:.35rem;margin-top:.375rem;font-size:.75rem;color:var(--gp-danger);font-weight:500}.gp-meta-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.gp-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8125rem;font-weight:400;color:var(--gp-gray-600);user-select:none}.gp-checkbox input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--gp-gray-300);border-radius:4px;background:var(--gp-white);cursor:pointer;transition:all var(--gp-transition);position:relative;flex-shrink:0}.gp-checkbox input[type="checkbox"]:hover{border-color:var(--gp-primary);background:var(--gp-primary-subtle)}.gp-checkbox input[type="checkbox"]:checked{background:var(--gp-primary);border-color:var(--gp-primary)}.gp-checkbox input[type="checkbox"]:checked::after{content:'';position:absolute;top:1.5px;left:4.5px;width:4px;height:8px;border:solid var(--gp-white);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.gp-checkbox input[type="checkbox"]:focus-visible{box-shadow:var(--gp-shadow-focus);border-color:var(--gp-primary)}.gp-forgot-link{font-size:.8125rem;font-weight:600;color:var(--gp-primary);text-decoration:none;transition:color var(--gp-transition)}.gp-forgot-link:hover{color:var(--gp-primary-dark);text-decoration:underline}.gp-btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.6875rem 1.25rem;border:none;border-radius:var(--gp-radius);background:var(--gp-primary);color:var(--gp-white);font-family:var(--gp-font);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--gp-transition),box-shadow var(--gp-transition),transform var(--gp-transition-fast);box-shadow:0 1px 3px rgba(38,168,158,.3),var(--gp-shadow-sm);line-height:1.5;position:relative;overflow:hidden}.gp-btn-primary:hover{background:var(--gp-primary-dark);box-shadow:0 4px 12px rgba(38,168,158,.35),var(--gp-shadow-sm);transform:translateY(-1px)}.gp-btn-primary:active{background:var(--gp-primary-darker);transform:translateY(0);box-shadow:0 1px 2px rgba(38,168,158,.2)}.gp-btn-primary:focus-visible{outline:none;box-shadow:var(--gp-shadow-focus)}.gp-btn-primary.is-loading{pointer-events:none;opacity:.75}.gp-btn-primary.is-loading .gp-btn-label{opacity:0}.gp-spinner{display:none;position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:var(--gp-white);border-radius:50%;animation:gp-spin .6s linear infinite}.gp-btn-primary.is-loading .gp-spinner{display:block}@keyframes gp-spin{to{transform:rotate(360deg)}}.gp-logged-in{text-align:center}.gp-check-circle{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:rgba(16,185,129,.1);border:1.5px solid rgba(16,185,129,.2);margin-bottom:1.25rem}.gp-check-circle svg{width:24px;height:24px;color:var(--gp-success)}.gp-user-greeting{font-size:1.125rem;font-weight:600;color:var(--gp-gray-900);margin:0 0 .25rem}.gp-user-status{font-size:.8125rem;color:var(--gp-gray-500);margin:0 0 1.5rem}.gp-btn-dashboard{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;border:none;border-radius:var(--gp-radius);background:var(--gp-primary);color:var(--gp-white);font-family:var(--gp-font);font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--gp-transition);margin-bottom:.625rem;box-shadow:0 1px 3px rgba(38,168,158,.3)}.gp-btn-dashboard:hover{background:var(--gp-primary-dark);color:var(--gp-white);transform:translateY(-1px)}.gp-btn-logout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.25rem;border:1.5px solid var(--gp-gray-200);border-radius:var(--gp-radius);background:var(--gp-white);color:var(--gp-gray-700);font-family:var(--gp-font);font-size:.8125rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--gp-transition)}.gp-btn-logout:hover{background:var(--gp-gray-50);border-color:var(--gp-gray-300);color:var(--gp-gray-700)}.gp-footer{text-align:center;padding:1rem 2.25rem 1.5rem;border-top:1px solid var(--gp-gray-100)}.gp-footer-text{font-size:.75rem;color:var(--gp-gray-400);margin:0}.gp-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0}.gp-divider::before,.gp-divider::after{content:'';flex:1;height:1px;background:var(--gp-gray-200)}.gp-divider-dot{width:4px;height:4px;border-radius:50%;background:var(--gp-gray-300)}.gp-security-badge{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 0;margin-top:.25rem}.gp-security-badge svg{width:13px;height:13px;color:var(--gp-gray-400)}.gp-security-badge span{font-size:.6875rem;color:var(--gp-gray-400);font-weight:500;letter-spacing:.02em}@media(max-width:480px){.gp-login-page{padding:1rem;align-items:flex-start;padding-top:2rem}.gp-login-card{max-width:100%;border-radius:var(--gp-radius-lg)}.gp-card-body{padding:2rem 1.5rem 1.5rem}.gp-form-title{font-size:1.25rem}.gp-footer{padding:.875rem 1.5rem 1.25rem}.gp-logo-area img{height:44px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
