/* GALA KOMP - Login Premium Bright / Responsive */
html, body { min-height: 100%; }
body.gk-login-page {
    margin: 0;
    min-height: 100vh;
    background: #f6f9ff;
    color: #162033;
    overflow-x: hidden;
}
.gk-login-shell {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
}
.gk-login-showcase {
    width: 46%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 72px;
    background:
        radial-gradient(circle at 16% 18%, rgba(59,130,246,.16), transparent 28%),
        radial-gradient(circle at 82% 72%, rgba(14,165,233,.12), transparent 26%),
        linear-gradient(145deg, #ffffff 0%, #eef5ff 56%, #f8fbff 100%);
    border-right: 1px solid #e6edf7;
}
.gk-login-showcase::before,
.gk-login-showcase::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.gk-login-showcase::before {
    width: 300px; height: 300px;
    right: -110px; top: -100px;
    background: rgba(37,99,235,.07);
}
.gk-login-showcase::after {
    width: 260px; height: 260px;
    left: -120px; bottom: -120px;
    background: rgba(56,189,248,.06);
}
.gk-showcase-inner { max-width: 560px; margin: 0 auto; position: relative; z-index: 2; }
.gk-brand-row { display: flex; align-items: center; gap: 14px; margin-bottom: 34px; }
.gk-brand-logo {
    width: 58px; height: 58px; border-radius: 18px;
    display: grid; place-items: center;
    color: #fff; font-weight: 900; font-size: 1.1rem;
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    box-shadow: 0 16px 34px rgba(37,99,235,.22);
}
.gk-brand-name { font-weight: 900; letter-spacing: .08em; color: #172033; }
.gk-brand-sub { color: #728097; font-size: .86rem; margin-top: 2px; }
.gk-showcase-title {
    font-size: clamp(2.2rem, 4vw, 4.2rem);
    line-height: 1.02; letter-spacing: -.05em;
    font-weight: 900; color: #111827; margin-bottom: 18px;
}
.gk-showcase-title span { color: #2563eb; }
.gk-showcase-copy { color: #64748b; font-size: 1.04rem; line-height: 1.75; max-width: 500px; margin-bottom: 26px; }
.gk-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gk-feature {
    background: rgba(255,255,255,.8); border: 1px solid #e2eaf5; border-radius: 18px;
    padding: 16px; box-shadow: 0 12px 28px rgba(51,65,85,.05);
}
.gk-feature-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: #eef5ff; color: #2563eb; margin-bottom: 10px; font-size: 1rem; }
.gk-feature-title { font-weight: 800; font-size: .94rem; color: #1f2937; }
.gk-feature-text { color: #7a8799; font-size: .78rem; margin-top: 3px; }
.gk-login-area {
    flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center;
    padding: 32px;
}
.gk-login-panel { width: min(100%, 500px); }
.gk-login-card {
    background: rgba(255,255,255,.96);
    border: 1px solid #e3eaf4;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 24px 60px rgba(30,64,175,.10);
}
.gk-login-head { margin-bottom: 24px; }
.gk-login-eyebrow { color: #2563eb; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 800; margin-bottom: 8px; }
.gk-login-title { color: #111827; font-size: 1.85rem; font-weight: 900; letter-spacing: -.035em; margin-bottom: 5px; }
.gk-login-subtitle { color: #768398; margin: 0; line-height: 1.6; }
.gk-field { margin-bottom: 17px; }
.gk-field label { display: block; color: #334155; font-weight: 700; font-size: .84rem; margin-bottom: 8px; }
.gk-input {
    width: 100%; height: 50px; border: 1px solid #dce5f1; border-radius: 14px;
    background: #fbfdff; color: #111827; padding: 0 15px; outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    box-sizing: border-box;
}
.gk-input:focus { border-color: #8bb1ff; background: #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.09); }
.gk-login-btn {
    width: 100%; min-height: 50px; border: 0; border-radius: 14px; color: #fff;
    font-weight: 800; font-size: .96rem; cursor: pointer;
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    box-shadow: 0 12px 25px rgba(37,99,235,.20);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.gk-login-btn:hover { transform: translateY(-4px); box-shadow: 0 18px 30px rgba(37,99,235,.25); filter: brightness(1.02); }
.gk-divider { display:flex; align-items:center; gap:12px; color:#94a3b8; font-size:.8rem; margin: 22px 0 16px; }
.gk-divider::before,.gk-divider::after { content:""; flex:1; height:1px; background:#e8eef6; }
.gk-services { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gk-service-card {
    text-decoration:none; color:inherit; background:#fff; border:1px solid #e2eaf4; border-radius:18px;
    padding:16px; min-height:120px; display:block;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.gk-service-card:hover { transform: translateY(-5px); border-color:#cfe0ff; box-shadow:0 16px 32px rgba(37,99,235,.10); background:#fafdff; }
.gk-service-icon { width: 40px; height:40px; border-radius:13px; display:grid; place-items:center; background:#eff5ff; color:#2563eb; margin-bottom:11px; }
.gk-service-title { font-weight: 800; color:#1f2937; font-size:.9rem; }
.gk-service-text { color:#7b8797; font-size:.76rem; line-height:1.45; margin-top:3px; }
.gk-footer { text-align:center; color:#94a3b8; font-size:.75rem; margin-top:16px; }
.gk-alert { border-radius:14px; border:1px solid #fecaca; background:#fff5f5; color:#b91c1c; padding:12px 14px; font-size:.85rem; margin-bottom:16px; }

@media (max-width: 1100px) {
    .gk-login-showcase { width: 42%; padding: 46px; }
    .gk-login-area { padding: 26px; }
}
@media (max-width: 900px) {
    .gk-login-shell { display:block; }
    .gk-login-showcase { width:auto; min-height:auto; padding:28px 24px 20px; border-right:0; border-bottom:1px solid #e6edf7; }
    .gk-showcase-inner { max-width: 720px; }
    .gk-brand-row { margin-bottom:18px; }
    .gk-showcase-title { font-size:clamp(2rem, 7vw, 3rem); margin-bottom:10px; }
    .gk-showcase-copy { margin-bottom:16px; font-size:.93rem; }
    .gk-feature-grid { display:none; }
    .gk-login-area { padding:24px; }
    .gk-login-panel { max-width:560px; }
}
@media (max-width: 575px) {
    .gk-login-showcase { padding:22px 16px 16px; }
    .gk-login-area { padding:16px; }
    .gk-login-card { padding:20px; border-radius:22px; }
    .gk-brand-logo { width:50px; height:50px; border-radius:15px; }
    .gk-showcase-title { font-size:2rem; }
    .gk-showcase-copy { font-size:.87rem; }
    .gk-services { grid-template-columns: 1fr; }
    .gk-service-card { min-height:auto; }
    .gk-login-title { font-size:1.55rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
