:root{
    --gc-blue:#0876dc;
    --gc-blue-2:#0a67bf;
    --gc-blue-3:#0755a2;
    --gc-orange:#ff7600;
    --gc-ink:#0b2d52;
    --gc-muted:#667a92;
    --gc-line:#dbe6f1;
    --gc-soft:#f4f8fc;
    --gc-green:#20a56a;
    --gc-red:#e45d63;
    --gc-shadow:0 24px 60px rgba(3,35,76,.18);
}

/* Neutralize the shared layout's body/header so the login shell owns the viewport */
body.d-flex{display:block !important;align-items:unset !important;min-height:100vh !important;margin:0 !important;padding:0 !important;background:#fff !important;}
body > header.position-absolute{display:none !important;}
main#content{width:100%;margin:0!important;padding:0!important}

.gc-login-page *{box-sizing:border-box}
.gc-login-page a{text-decoration:none}

.gc-login-shell{
    width:100%;
    height:100dvh;
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
    overflow:hidden;
    background:#fff;
}

.gc-login-shell,
.gc-story,
.gc-login{min-height:0;min-width:0}

.gc-story *,
.gc-login *{max-width:100%;}

/* ===== LEFT - PRODUCT STORY ===== */
.gc-story{
    position:relative;
    overflow:hidden;
    min-width:0;
    color:#fff;
    background:
        radial-gradient(circle at 12% 15%, rgba(255, 255, 255, .16), transparent 23%),
        radial-gradient(circle at 85% 22%, rgba(104, 207, 255, .18), transparent 22%),
        linear-gradient(145deg, #def0ff 0%, #5d96ca 52%, #065dab 100%);
    isolation:isolate;
}

.gc-story::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-300px;
    bottom:-300px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    box-shadow:
        0 0 0 58px rgba(255,255,255,.03),
        0 0 0 116px rgba(255,255,255,.022),
        0 0 0 174px rgba(255,255,255,.016);
    pointer-events:none;
}

.gc-story-grid{
    position:absolute;
    inset:0;
    opacity:.10;
    background-image:
        linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 70%,transparent 100%);
    pointer-events:none;
}

.gc-brand{
    position:absolute;
    top:24px;
    left:30px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 20px 12px 10px;
}

.gc-brand-logo{
    width:120px;
    height:auto;
    object-fit:contain;
}

.gc-story-inner{
    position:relative;
    z-index:10;
    width:min(100%,760px);
    height:100%;
    margin:0 auto;
    padding:64px clamp(26px,4vw,54px) 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.gc-visual-area{
    position:relative;
    flex:0 0 auto;
    width:min(100%,690px);
    height:300px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
}

.gc-visual-glow{
    position:absolute;
    width:350px;
    height:190px;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:rgba(255,255,255,.13);
    filter:blur(58px);
    animation:gcGlow 5s ease-in-out infinite;
}

@keyframes gcGlow{
    0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.55}
    50%{transform:translate(-50%,-50%) scale(1.08);opacity:.82}
}

.gc-slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    opacity:0;
    transform:translateY(14px) scale(.985);
    pointer-events:none;
    transition:opacity .55s ease,transform .7s cubic-bezier(.2,.75,.2,1);
}

.gc-slide.active{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.gc-app-card{
    width:420px;
    height:255px;
    flex:0 0 420px;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    color:var(--gc-ink);
    box-shadow:0 22px 48px rgba(0,37,84,.20);
    border:1px solid rgba(255,255,255,.62);
    overflow:hidden;
    position:relative;
}

.gc-app-top{
    height:36px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 14px;
    background:#eef4f9;
    border-bottom:1px solid #d9e4ef;
}

.gc-dot{width:7px;height:7px;border-radius:50%}
.gc-dot.red{background:#ff7200}
.gc-dot.blue{background:#1483d8}
.gc-dot.gray{background:#c5d2df}

.gc-app-label{
    margin-left:4px;
    font-size:8.5px;
    font-weight:700;
    letter-spacing:.16em;
    color:#6b7e92;
    text-transform:uppercase;
}

.gc-app-body{
    padding:13px;
    height:calc(100% - 36px);
}

.gc-upload-zone{
    display:flex;
    align-items:center;
    gap:11px;
    padding:11px;
    border:1.5px dashed #91c2ee;
    border-radius:13px;
    background:#f8fbff;
    animation:gcUploadPulse 3s ease-in-out infinite;
}

@keyframes gcUploadPulse{
    0%,100%{border-color:#acd1f3;background:#f8fbff}
    50%{border-color:#5aa4e6;background:#f1f8ff}
}

.gc-file-icon{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#0a915f;
    background:#dff6ea;
    flex:none;
}

.gc-file-name{font-size:12px;font-weight:700;margin-bottom:2px}
.gc-file-sub{font-size:10px;color:#71859a}

.gc-progress-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:13px;
    font-size:10px;
    color:#526b84;
}

.gc-progress-track{
    height:6px;
    margin-top:5px;
    border-radius:99px;
    background:#e1ebf4;
    overflow:hidden;
}

.gc-progress-fill{
    width:18%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#ff7a08,#ff9b47);
    transition:none;
}

.gc-slide.active .gc-progress-fill{
    animation:gcUploadProgress 3000ms cubic-bezier(.25,.75,.35,1) forwards;
}

@keyframes gcUploadProgress{
    from{width:18%}
    to{width:100%}
}

.gc-meta-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:10px;
}

.gc-meta{
    padding:7px 9px;
    border:1px solid #e0e8f0;
    border-radius:10px;
    background:#fff;
}

.gc-meta strong{display:block;font-size:14px;font-weight:700;}
.gc-meta span{display:block;margin-top:2px;font-size:9px;color:#75889c;}

.gc-report-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:7px;
}

.gc-name{font-size:13px;font-weight:700;line-height:1.2;}
.gc-small{font-size:9px;color:#7d8fa2;margin-top:3px;}

.gc-severity{
    padding:5px 9px;
    border-radius:99px;
    font-size:9px;
    line-height:1;
    font-weight:700;
    color:#9b4c0c;
    background:#fff0e4;
}

.gc-report-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:24px;
    padding:0 0 0 1px;
    border-bottom:1px dashed #dbe5ee;
    font-size:10px;
}

.gc-report-row:last-child{border-bottom:0}

.gc-status{padding:4px 8px;border-radius:99px;font-size:8px;font-weight:700;}
.gc-status.clear{color:#16815b;background:#e2f7ee}
.gc-status.attention{color:#a35612;background:#fff0e2}
.gc-status.discrepant{color:#be4e3a;background:#fde9e5}

.gc-report-footer{
    position:absolute;
    left:12px;
    right:12px;
    bottom:10px;
    height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    color:#fff;
    background:#0876dc;
    font-size:10px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(8,118,220,.18);
    z-index:3;
}

.gc-case-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.gc-case-id{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#6d8095;}

.gc-pill{padding:5px 8px;border-radius:99px;font-size:8px;font-weight:700;color:#a35612;background:#fff0e2;}

.gc-check-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:29px;font-size:10px;}
.gc-check-row .label{color:#5d7085}

.gc-check-status{display:inline-flex;align-items:center;gap:6px;color:#203c5d;}

.gc-check-mark{
    width:18px;height:18px;border-radius:50%;
    display:grid;place-items:center;
    background:#0b80df;color:#fff;
    font-size:10px;font-weight:800;
    box-shadow:0 5px 12px rgba(8,118,220,.18);
    transform:scale(0);
    animation:gcCheckPop .5s cubic-bezier(.2,1.5,.4,1) forwards;
}

.gc-check-row:nth-child(1) .gc-check-mark{animation-delay:.15s}
.gc-check-row:nth-child(2) .gc-check-mark{animation-delay:.30s}
.gc-check-row:nth-child(3) .gc-check-mark{animation-delay:.45s}
.gc-check-row:nth-child(4) .gc-check-mark{animation-delay:.60s}

@keyframes gcCheckPop{to{transform:scale(1)}}

.gc-queue-dot{width:18px;height:18px;border:1.5px solid #bed1e2;border-radius:50%;}

.gc-parallel-bar{margin-top:10px;height:5px;border-radius:99px;background:#e4edf5;overflow:hidden;}

.gc-parallel-fill{
    width:25%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#ff7600,#ffa34f);
    animation:none;
}

.gc-slide.active .gc-parallel-fill{
    animation:gcParallelRun 3000ms cubic-bezier(.25,.75,.35,1) forwards;
}

@keyframes gcParallelRun{from{width:25%} to{width:92%}}

.gc-columns{display:grid;grid-template-columns:1fr 1fr;gap:9px;height:100%;}

.gc-column-title{font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#6d8094;margin-bottom:6px;}
.gc-column-title.orange{color:#b65a14}

.gc-case-tile{
    padding:8px 9px;
    border:1px solid #dce6ef;
    border-radius:9px;
    background:#fff;
    margin-bottom:7px;
    animation:gcTileLift .6s both;
}

.gc-case-tile:nth-child(1){animation-delay:.1s}
.gc-case-tile:nth-child(2){animation-delay:.22s}
.gc-case-tile:nth-child(3){animation-delay:.34s}
.gc-case-tile:nth-child(4){animation-delay:.46s}

@keyframes gcTileLift{from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:translateY(0)}}

.gc-person{font-size:10px;font-weight:700}
.gc-count{font-size:8px;color:#7d8fa2;margin-top:2px}

.gc-case-badge{
    display:inline-block;
    margin-top:4px;
    padding:4px 7px;
    border-radius:99px;
    background:#f0f5fa;
    color:#577089;
    font-size:8px;
    font-weight:700;
}

.gc-case-badge.green{background:#e1f6ed;color:#1a815c}
.gc-case-badge.orange{background:#fff0e4;color:#aa5b17}
.gc-case-badge.red{background:#fde8e6;color:#c65244}

.gc-floating-badge{
    position:absolute;
    z-index:8;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:29px;
    padding:6px 10px;
    border:1px solid rgba(224,235,246,.96);
    border-radius:999px;
    color:#173454;
    background:rgba(255,255,255,.98);
    box-shadow:0 10px 24px rgba(0,43,93,.15);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    font-size:9px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    pointer-events:none;
}

.gc-floating-badge svg{width:13px;height:13px;flex:none;}
.gc-floating-badge.orange svg{color:var(--gc-orange)}
.gc-floating-badge.blue svg{color:#0876dc}
.gc-floating-badge.green svg{color:#1aa06a}

.gc-float-1{left:calc(50% - 220px);top:14px;animation:gcBadgeFloatA 4.4s ease-in-out infinite;}
.gc-float-2{right:calc(50% - 220px);bottom:14px;animation:gcBadgeFloatB 4.7s .5s ease-in-out infinite;}
.gc-float-3{right:calc(50% - 220px);top:2px;animation:gcBadgeFloatC 4.2s 1s ease-in-out infinite;}
.gc-float-4{left:calc(50% - 220px);bottom:9px;animation:gcBadgeFloatB 4.9s .25s ease-in-out infinite;}

@keyframes gcBadgeFloatA{0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-6px,0)}}
@keyframes gcBadgeFloatB{0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,5px,0)}}
@keyframes gcBadgeFloatC{0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(5px,-4px,0)}}

.gc-story-copy{width:100%;max-width:700px;margin:0 auto;}

.gc-eyebrow{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(255,255,255,.74);
}

.gc-eyebrow::before{content:"";width:22px;height:2px;border-radius:99px;background:var(--gc-orange);}

.gc-story-title{
    margin:0;
    max-width:690px;
    color:#fff;
    font-size:clamp(26px,2.85vw,28px);
    line-height:1.10;
    letter-spacing:-.042em;
    font-weight:700;
}

.gc-story-desc{max-width:660px;margin:9px 0 0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.52;}

.gc-copy-animate{animation:gcCopyIn .52s cubic-bezier(.2,.8,.2,1)}
@keyframes gcCopyIn{from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)}}

.gc-controls{display:flex;align-items:center;gap:10px;margin-top:15px;}

.gc-arrow{
    width:44px;height:44px;
    display:grid;place-items:center;
    flex:none;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.40);
    background:rgba(255,255,255,.07);
    color:#fff;
    cursor:pointer;
    transition:.22s ease;
}

.gc-arrow:hover{background:rgba(255,255,255,.15);transform:translateY(-2px);}

.gc-arrow.next{
    background:rgba(255,255,255,.80);
    color:#0876dc;
    border-color:rgba(255,255,255,.80);
    box-shadow:0 10px 24px rgba(0,30,80,.15);
}

.gc-arrow svg{width:17px;height:17px}

.gc-dots{display:flex;align-items:center;gap:8px;margin:0 2px;}

.gc-dot-btn{
    width:8px;height:8px;
    padding:0;border:0;border-radius:99px;
    background:rgba(255,255,255,.42);
    cursor:pointer;
    transition:.35s ease;
}

.gc-dot-btn.active{width:28px;background:var(--gc-orange);box-shadow:0 0 0 5px rgba(255,118,0,.10);}

.gc-support{margin-top:11px;font-size:10px;color:rgba(255,255,255,.73);}
.gc-support a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px;}

.gc-story-progress{
    position:absolute;
    left:30px;
    right:30px;
    bottom:9px;
    height:2px;
    z-index:20;
    border-radius:99px;
    background:rgba(255,255,255,.14);
    overflow:hidden;
}

.gc-story-progress span{display:block;height:100%;width:0%;border-radius:inherit;background:var(--gc-orange);}

/* ===== RIGHT - LOGIN / FORGOT PASSWORD ===== */
.gc-login{
    position:relative;
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    background:#fff;
    overflow:hidden;
}

.gc-login::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    right:-220px;
    top:48%;
    background:rgba(8,118,220,.035);
    filter:blur(3px);
    pointer-events:none;
}

.gc-login-top{
    flex:0 0 auto;
    display:flex;
    justify-content:flex-end;
    padding:22px 28px 0;
    position:relative;
    z-index:5;
}

.gc-trouble{font-size:11px;color:#74879c;}
.gc-trouble a{color:#006fd6;font-weight:700;margin-left:4px;}

.gc-login-main{
    width:min(100%,430px);
    margin:auto;
    padding:18px 28px;
    position:relative;
    z-index:5;
}

.gc-logo{
    display:none;
    width:145px;
    height:auto;
    max-height:52px;
    object-fit:contain;
    object-position:left center;
    margin-bottom:40px !important;
    animation:gcLogoIn .65s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes gcLogoIn{from{opacity:0;transform:translateY(-7px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)}}

.gc-login-title{
    margin:0;
    color:#082d53;
    font-size:28px;
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:700;
}

.gc-login-subtitle{margin:8px 0 42px !important;color:#6a7e95;font-size:13px;line-height:1.5;}

.gc-field{margin-bottom:15px;animation:gcFieldIn .55s cubic-bezier(.2,.75,.2,1) both;}
.gc-field:nth-of-type(1){animation-delay:.10s}
.gc-field:nth-of-type(2){animation-delay:.16s}

@keyframes gcFieldIn{from{opacity:0;transform:translateY(9px)} to{opacity:1;transform:translateY(0)}}

.gc-field-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:7px;}

.gc-label{font-size:14px;font-weight:700;color:#173b60;}
.gc-forgot{font-size:11px;font-weight:700;color:#006fd6;background:transparent;border:0;cursor:pointer;padding:0;}

.gc-input-wrap{position:relative}

.gc-input{
    width:100%;
    height:52px;
    border:1px solid #bfd0e3;
    border-radius:11px;
    outline:none;
    background:#f5f8fc;
    color:#0c2f54;
    padding:0 15px;
    font-size:13px;
    transition:.22s ease;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.gc-input::placeholder{color:#8192a7}
.gc-input:hover{background:#f8fbfe;border-color:#a9bfd6;}
.gc-input:focus{background:#fff;border-color:#0876dc;box-shadow:0 0 0 4px rgba(8,118,220,.09);}

.gc-password-toggle{
    position:absolute;
    top:50%;right:7px;
    width:38px;height:38px;
    transform:translateY(-50%);
    display:grid;place-items:center;
    border:0;border-radius:9px;
    background:transparent;
    color:#60738b;
    cursor:pointer;
    transition:.2s ease;
}

.gc-password-toggle:hover{background:#edf5fd;color:#0876dc;}
.gc-password-toggle svg{width:18px;height:18px}

.gc-remember{display:flex;align-items:center;gap:8px;margin:4px 0 17px;color:#60738b;font-size:11px;cursor:pointer;}
.gc-remember input{width:16px;height:16px;accent-color:#0876dc;margin:0;cursor:pointer;}

.gc-signin,
.gc-reset-btn{
    width:100%;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:11px;
    color:#fff;
    background:linear-gradient(135deg,#4184be,#0c6cc6);
    box-shadow:0 14px 26px rgba(8,118,220,.23);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    transition:.25s ease;
    animation:gcButtonIn .60s .25s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes gcButtonIn{from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)}}

.gc-signin::before,
.gc-reset-btn::before{
    content:"";
    position:absolute;
    inset:0 auto 0 -120%;
    width:55%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
    transform:skewX(-22deg);
    transition:.8s ease;
}

.gc-signin:hover,
.gc-reset-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 30px rgba(8,118,220,.28);}
.gc-signin:hover::before,
.gc-reset-btn:hover::before{left:150%}
.gc-signin:disabled,
.gc-reset-btn:disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:none;background:#9fb8d4;}

.gc-security{display:flex;align-items:center;gap:7px;margin-top:13px;color:#7a8ca0;font-size:9px;line-height:1.5;}
.gc-security svg{width:14px;height:14px;flex:none;color:var(--gc-green);}

.gc-login-footer{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 28px 20px;
    color:#6d829b;
    font-size:12px;
    position:relative;
    z-index:5;
}

.gc-footer-links{display:flex;gap:17px;}
.gc-footer-links a{color:#60758d}
.gc-footer-links a:hover{color:#006fd6}

.gc-form-error{margin-top:5px;color:#d34e57;font-size:9px;}

.gc-app-card,
.gc-upload-zone,
.gc-report-head,
.gc-report-row,
.gc-case-head,
.gc-case-tile,
.gc-meta,
.gc-login-main,
.gc-login-footer{min-width:0;}

.gc-file-name,
.gc-file-sub,
.gc-name,
.gc-small,
.gc-story-title,
.gc-story-desc,
.gc-login-title,
.gc-login-subtitle,
.gc-support,
.gc-trouble{overflow-wrap:anywhere;}

/* =========================================================
   FORGOT PASSWORD FLOW
========================================================== */
.gc-login-screen,
.gc-reset-screen{display:none;width:100%;}

.gc-login-screen.active,
.gc-reset-screen.active{display:block;}

.gc-reset-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0;
    margin:0 0 24px;
    border:0;
    background:transparent;
    color:#006fd6;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

.gc-reset-back:hover{color:#0058aa;}
.gc-reset-back svg{width:16px;height:16px;flex:none;}

.gc-reset-steps{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
    margin-bottom:34px;
}

.gc-reset-step{min-width:0;}

.gc-reset-step-line{
    height:3px;
    width:100%;
    border-radius:99px;
    background:#dbe5ef;
    margin-bottom:12px;
}

.gc-reset-step.active .gc-reset-step-line,
.gc-reset-step.complete .gc-reset-step-line{background:#0876dc;}

.gc-reset-step.complete .gc-reset-step-line{background:var(--gc-orange);}

.gc-reset-step-label{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    color:#536b86;
    font-size:13px;
    line-height:1.2;
    white-space:nowrap;
}

.gc-reset-step-num{
    width:25px;
    height:25px;
    flex:0 0 25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid #cad8e7;
    background:#f6f9fc;
    color:#58718d;
    font-size:11px;
    font-weight:700;
}

.gc-reset-step.active .gc-reset-step-num,
.gc-reset-step.complete .gc-reset-step-num{
    border-color:#0876dc;
    background:#0876dc;
    color:#fff;
}

.gc-reset-step.complete .gc-reset-step-num{
    border-color:var(--gc-orange);
    background:var(--gc-orange);
}

.gc-reset-step.active .gc-reset-step-label,
.gc-reset-step.complete .gc-reset-step-label{color:#173b60;}

.gc-reset-title{
    margin:0;
    color:#082d53;
    font-size:28px;
    line-height:1.14;
    letter-spacing:-.035em;
    font-weight:700;
}

.gc-reset-text{margin:10px 0 25px;color:#617790;font-size:13px;line-height:1.55;}
.gc-reset-text strong{color:#173b60;font-weight:700;}

.gc-reset-field{margin-bottom:18px;}
.gc-reset-field .gc-label{display:block;margin-bottom:7px;}

.gc-otp-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    margin:4px 0 23px;
}

.gc-otp-input{
    width:100%;
    min-width:0;
    height:56px;
    border:1px solid #b8cde3;
    border-radius:11px;
    outline:none;
    background:#f4f8fc;
    color:#0c2f54;
    text-align:center;
    font-size:22px;
    font-weight:600;
    transition:.2s ease;
}

.gc-otp-input:focus{
    background:#fff;
    border-color:#0876dc;
    box-shadow:0 0 0 4px rgba(8,118,220,.09);
}

.gc-otp-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 25px;
    color:#607792;
    font-size:13px;
    line-height:1.4;
}

.gc-otp-link{
    border:0;
    padding:0;
    background:transparent;
    color:#006fd6;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.gc-otp-link:disabled{color:#7c90a6;cursor:not-allowed;}

.gc-reset-help{margin-top:23px;color:#607792;font-size:12.5px;line-height:1.55;}

.gc-reset-password-wrap{position:relative;}
.gc-reset-password-input{padding-right:52px;}

.gc-password-strength{
    height:6px;
    margin-top:10px;
    border-radius:99px;
    background:#dce8f4;
    overflow:hidden;
}

.gc-password-strength span{
    display:block;
    width:0;
    height:100%;
    border-radius:inherit;
    background:#0876dc;
    transition:width .2s ease;
}

.gc-password-rules{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 28px;
    margin:14px 0 24px;
}

.gc-password-rule{
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:#617790;
    font-size:12px;
    line-height:1.45;
}

.gc-rule-dot{
    width:18px;
    height:18px;
    flex:0 0 18px;
    border:1px solid #b7cce2;
    border-radius:50%;
    background:#fff;
    margin-top:0;
    position:relative;
}

.gc-password-rule.valid{color:#37627f;}
.gc-password-rule.valid .gc-rule-dot{border-color:#20a56a;background:#20a56a;}
.gc-password-rule.valid .gc-rule-dot::after{
    content:"\2713";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.gc-confirm-error{margin-top:7px;color:#d34e57;font-size:10px;}

.gc-reset-screen .gc-label{font-size:14px;}

.gc-toast{
    position:fixed;
    left:50%;
    top:16px;
    z-index:9999;
    padding:10px 14px;
    border-radius:999px;
    color:#fff;
    background:#0d3158;
    box-shadow:0 14px 30px rgba(0,0,0,.18);
    font-size:12px;
    font-weight:700;
    opacity:0;
    transform:translate(-50%,-14px);
    pointer-events:none;
    transition:.3s ease;
}

.gc-toast.show{opacity:1;transform:translate(-50%,0);}
.gc-toast.error{background:#8a2c33;}

@media (max-width:1199px){
    .gc-login-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);}
    .gc-story-inner{padding-left:20px;padding-right:20px;}
    .gc-visual-area{width:100%;height:275px;}
    .gc-app-card{width:min(400px, calc(100% - 24px));flex-basis:400px;height:245px;}
    .gc-slide{padding:0;}
    .gc-floating-badge{min-height:28px;padding:6px 9px;font-size:8px;}
    .gc-float-1{left:calc(50% - 210px)}
    .gc-float-2{right:calc(50% - 210px)}
    .gc-float-3{right:calc(50% - 210px)}
    .gc-float-4{left:calc(50% - 210px)}
    .gc-story-title{font-size:32px;}
}

@media (max-width:991px){
    html,body{width:100% !important;max-width:100% !important;min-width:0 !important;margin:0 !important;padding:0 !important;}
    html{min-height:100%;overflow-x:hidden !important;}
    body{min-height:100svh !important;height:auto !important;display:block !important;overflow-x:hidden !important;overflow-y:auto !important;background:#fff !important;}

    main#content,
    main#content.main{display:block !important;width:100% !important;max-width:none !important;min-width:0 !important;min-height:100svh !important;height:auto !important;margin:0 !important;padding:0 !important;}

    .gc-login-shell{display:block !important;width:100% !important;max-width:none !important;min-width:0 !important;height:auto !important;min-height:100svh !important;margin:0 !important;padding:0 !important;overflow:visible !important;}

    .gc-story{display:none !important;}

    .gc-login{display:flex !important;flex-direction:column !important;width:100% !important;max-width:none !important;min-width:0 !important;min-height:100svh !important;height:auto !important;margin:0 !important;padding:0 !important;overflow:visible !important;}

    .gc-login::before{width:clamp(220px,70vw,360px);height:clamp(220px,70vw,360px);right:clamp(-220px,-38vw,-120px);top:48%;}

    .gc-login-top{width:100%;min-width:0;flex:0 0 auto;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));}

    .gc-trouble{max-width:100%;text-align:right;font-size:10px;line-height:1.4;}

    .gc-login-main{width:100% !important;max-width:520px !important;min-width:0 !important;margin:0 auto !important;padding:clamp(24px,6vw,36px) clamp(16px,5vw,28px) clamp(24px,6vw,34px) !important;position:relative;z-index:5;}

    .gc-logo{display:block !important;width:clamp(118px,34vw,145px);max-width:100%;max-height:48px;margin:0 0 clamp(22px,5vw,36px) !important;}

    .gc-login-title{font-size:clamp(23px,7.2vw,28px);line-height:1.14;}
    .gc-login-subtitle{max-width:100%;margin:7px 0 clamp(24px,6vw,38px) !important;font-size:clamp(11px,3.4vw,13px);line-height:1.5;}

    #gcLoginForm{display:block !important;width:100% !important;max-width:none !important;min-width:0 !important;margin:0 !important;padding:0 !important;}

    .gc-field,
    .gc-field-top,
    .gc-input-wrap,
    .gc-input,
    .gc-remember,
    .gc-signin,
    .gc-reset-btn,
    .gc-security{width:100% !important;max-width:none !important;min-width:0 !important;box-sizing:border-box !important;}

    .gc-field{margin-bottom:14px !important;}
    .gc-field-top{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin-bottom:7px !important;}
    .gc-label,.gc-forgot{font-size:11px !important;line-height:1.4 !important;}
    .gc-forgot{flex:0 0 auto !important;white-space:nowrap !important;}
    .gc-input-wrap{position:relative !important;}
    .gc-input{display:block !important;height:50px !important;padding:0 44px 0 14px !important;font-size:13px !important;}
    .gc-password-toggle{right:4px !important;}

    .gc-remember{display:flex !important;align-items:center !important;gap:8px !important;margin:2px 0 16px !important;font-size:11px !important;line-height:1.4 !important;}
    .gc-remember input{flex:0 0 16px !important;width:16px !important;height:16px !important;margin:0 !important;}
    .gc-remember span{flex:1 1 auto !important;min-width:0 !important;}

    .gc-signin,
    .gc-reset-btn{display:flex !important;align-items:center !important;justify-content:center !important;height:50px !important;margin:0 !important;}

    .gc-security{display:flex !important;align-items:flex-start !important;gap:7px !important;margin-top:12px !important;font-size:9px !important;line-height:1.5 !important;}
    .gc-security svg{flex:0 0 14px !important;}

    .gc-login-footer{flex:0 0 auto !important;width:100% !important;max-width:none !important;min-width:0 !important;margin-top:auto !important;padding:20px 16px max(16px, env(safe-area-inset-bottom)) !important;box-sizing:border-box !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;font-size:12px !important;line-height:1.5 !important;}
    .gc-login-footer > span{flex:1 1 auto !important;min-width:0 !important;margin:0 !important;}
    .gc-footer-links{flex:0 0 auto !important;display:flex !important;gap:14px !important;margin:0 !important;}

    .gc-reset-back{font-size:13px;margin-bottom:20px;}
    .gc-reset-steps{gap:8px;margin-bottom:28px;}
    .gc-reset-step-line{margin-bottom:10px;}
    .gc-reset-step-label{font-size:12px;gap:7px;}
    .gc-reset-step-num{width:24px;height:24px;flex-basis:24px;}
    .gc-reset-title{font-size:clamp(23px,7.2vw,28px);}
    .gc-reset-text{font-size:13px;margin-bottom:22px;}
    .gc-otp-grid{gap:8px;}
    .gc-otp-input{height:54px;font-size:20px;}
}

@media (min-width:600px) and (max-width:991px){
    .gc-login-main{max-width:620px !important;margin-left:auto !important;margin-right:auto !important;padding-left:32px !important;padding-right:32px !important;}
}

@media (max-width:700px){
    .gc-story{min-height:500px;}
}

@media (max-width:480px){
    .gc-login-main{padding-left:15px !important;padding-right:15px !important;}
    .gc-login-top{padding-left:15px !important;padding-right:15px !important;}
    .gc-login-footer{padding-left:15px !important;padding-right:15px !important;}
    .gc-login-title{font-size:clamp(22px,7.5vw,27px) !important;}
    .gc-login-subtitle{font-size:12px !important;margin-bottom:22px !important;}
    .gc-input,.gc-signin,.gc-reset-btn{height:49px !important;}

    .gc-reset-steps{gap:7px;margin-bottom:25px;}
    .gc-reset-step-label{font-size:11px;gap:5px;}
    .gc-reset-step-num{width:23px;height:23px;flex-basis:23px;font-size:10px;}
    .gc-reset-title{font-size:26px;}
    .gc-reset-text{font-size:12px;margin-top:8px;}
    .gc-otp-grid{gap:6px;margin-bottom:20px;}
    .gc-otp-input{height:50px;border-radius:10px;font-size:18px;}
    .gc-otp-meta{font-size:12px;margin-bottom:21px;}
    .gc-otp-link{font-size:12px;}
    .gc-password-rules{grid-template-columns:1fr;gap:8px 0;margin-bottom:21px;}
    .gc-reset-screen .gc-label{font-size:13px;}
}

@media (max-width:360px){
    .gc-login-top{padding-top:10px !important;}
    .gc-trouble{font-size:9px !important;}
    .gc-login-main{padding-top:22px !important;padding-bottom:20px !important;}
    .gc-logo{width:110px !important;margin-bottom:18px !important;}
    .gc-login-title{font-size:22px !important;}
    .gc-login-subtitle{font-size:11px !important;margin-bottom:19px !important;}
    .gc-label,.gc-forgot,.gc-remember{font-size:10px !important;}
    .gc-input,.gc-signin,.gc-reset-btn{height:47px !important;}
    .gc-login-footer{align-items:flex-start !important;font-size:12px !important;}
    .gc-footer-links{gap:10px !important;}

    .gc-reset-steps{gap:5px;}
    .gc-reset-step-label{font-size:10px;}
    .gc-reset-title{font-size:23px;}
    .gc-reset-text{font-size:11px;}
    .gc-otp-input{height:46px;font-size:17px;}
}

@media (max-width:991px) and (orientation:landscape){
    .gc-login-top{padding-top:8px !important;}
    .gc-login-main{padding-top:12px !important;padding-bottom:12px !important;}
    .gc-logo{width:105px !important;margin-bottom:12px !important;}
    .gc-login-title{font-size:21px !important;}
    .gc-login-subtitle{margin-bottom:13px !important;}
    .gc-field{margin-bottom:9px !important;}
    .gc-input,.gc-signin,.gc-reset-btn{height:44px !important;}
    .gc-remember{margin-bottom:10px !important;}
    .gc-security{margin-top:8px !important;}
    .gc-login-footer{padding-top:10px !important;padding-bottom:10px !important;}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
