/* =====================================================
   HIMATIKA — Login Page · Medieval × Modern
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cinzel:wght@600;700;900&family=IM+Fell+English:ital@0;1&display=swap');

:root{
  --yellow:#c9a84c; --kuning:#c9a84c; --yellow-d:#b8963c;
  --amber:#a07830;  --dark:#06112a;   --dark-2:#0d1e3e;
  --border:#d4b87a;
  --font:'Inter',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:var(--font);
  background:linear-gradient(160deg,#06112a 0%,#0d1e3e 45%,#08152e 100%);
  min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;
  -webkit-font-smoothing:antialiased;
}
/* Stone grid */
body::before{
  content:'';position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.055) 1px,transparent 1px),
    linear-gradient(rgba(201,168,76,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.02) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,24px 24px,24px 24px;
  pointer-events:none;
}
/* Gold glow */
body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 60% 30%,rgba(201,168,76,.08) 0%,transparent 65%);pointer-events:none;}

.login-wrap{width:100%;max-width:430px;position:relative;z-index:1;}

/* Illuminated corner ornaments */
.login-wrap::before,.login-wrap::after{
  content:'';position:absolute;width:60px;height:60px;
  border:1px solid rgba(201,168,76,.35);pointer-events:none;
}
.login-wrap::before{top:-8px;left:-8px;border-right:none;border-bottom:none;}
.login-wrap::after{bottom:-8px;right:-8px;border-left:none;border-top:none;}

.login-box{
  background:linear-gradient(160deg,#faf4e4 0%,#f4ead0 100%);
  border-radius:4px;padding:44px 40px;
  box-shadow:0 24px 64px rgba(0,0,0,.4),0 0 0 1px rgba(201,168,76,.2);
  border-top:3px solid rgba(201,168,76,.6);
  position:relative;overflow:hidden;
}
/* Noise texture */
.login-box::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:.6;mix-blend-mode:multiply;
}

.login-logo{text-align:center;margin-bottom:30px;position:relative;}
/* Gold divider below logo */
.login-logo::after{
  content:'';display:block;width:60%;margin:16px auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.5),transparent);
}
.login-logo-img{width:80px;height:80px;object-fit:contain;border-radius:50%;background:white;padding:4px;display:block;margin:0 auto 12px;box-shadow:0 4px 18px rgba(201,168,76,.28),0 0 0 3px rgba(201,168,76,.4);}
.login-logo h2{font-size:20px;font-weight:900;color:var(--dark);letter-spacing:2px;font-family:'Cinzel',serif;}
.login-logo p{font-size:12px;color:#7a6040;margin-top:4px;font-family:'IM Fell English',Georgia,serif;font-style:italic;}

.error-msg{background:#fee2d8;border:1px solid #f0a090;color:#7a1a10;padding:10px 14px;border-radius:3px;font-size:13px;margin-bottom:16px;font-weight:600;}

.form-field{margin-bottom:16px;position:relative;}
.form-field label{display:block;font-size:10.5px;font-weight:700;margin-bottom:6px;color:#4a3520;text-transform:uppercase;letter-spacing:1.2px;font-family:'Cinzel',serif;}
.form-field input{
  width:100%;padding:11px 14px;
  border:1px solid var(--border);
  border-radius:3px;font-size:14px;font-family:var(--font);
  transition:border-color .2s,box-shadow .2s;outline:none;color:var(--dark);
  background:rgba(255,255,255,.7);
}
.form-field input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(201,168,76,.18);}
.field-hint{display:block;font-size:11px;color:#8a6040;margin-top:5px;font-family:'IM Fell English',Georgia,serif;font-style:italic;}

.pass-wrap{position:relative;}
.pass-wrap input{padding-right:44px;}
.btn-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#8a6040;padding:4px;line-height:1;transition:color .2s;}
.btn-eye:hover{color:var(--dark);}

.btn-login{
  width:100%;padding:13px;
  background:linear-gradient(135deg,#b8963c 0%,#dfc060 45%,#c9a840 100%);
  color:var(--dark);font-weight:700;font-size:14px;
  font-family:'Cinzel',serif;border:none;
  border-radius:3px;cursor:pointer;transition:all .25s;margin-top:4px;
  letter-spacing:.5px;
  clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
  box-shadow:0 3px 12px rgba(201,168,76,.25);
}
.btn-login:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 6px 18px rgba(201,168,76,.32);}

.login-footer{text-align:center;margin-top:20px;}
.btn-kembali{color:var(--amber);text-decoration:none;font-size:13px;font-weight:600;font-family:'Cinzel',serif;letter-spacing:.3px;}
.btn-kembali:hover{text-decoration:underline;}

.dev-hint{margin-top:16px;background:rgba(6,17,42,.06);border-radius:3px;padding:12px;font-size:11.5px;color:#7a6040;text-align:center;line-height:1.8;border:1px solid var(--border);}
.dev-hint code{background:rgba(6,17,42,.08);padding:1px 6px;border-radius:2px;font-family:monospace;}

@media(max-width:480px){
  body{padding:16px;align-items:flex-start;padding-top:36px;}
  .login-box{padding:28px 20px;border-radius:4px;}
  .login-logo h2{font-size:17px;}.login-logo-img{width:64px;height:64px;}
  .form-field input{padding:10px 12px;font-size:13.5px;}.btn-login{padding:12px;font-size:13px;}
}
