:root{
 --brand:#6366F1;
 --brand-hover:#4F46E5;
 --brand-soft:#EEF2FF;
 --text:#111827;
 --muted:#6B7280;
 --border:#E5E7EB;
}

body.cg-auth{
 font-family:Inter,system-ui,sans-serif;
 background:#F9FAFB;
 color:var(--text);
}

.cg-auth-wrapper{
 min-height:100vh;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:40px 16px;
}

.cg-auth-card{
 width:100%;
 max-width:520px;
 background:#fff;
 border:1px solid var(--border);
 border-radius:20px;
 padding:40px 36px;
 box-shadow:0 18px 40px rgba(15,23,42,0.08);
 text-align:center;
}

.cg-auth-logo{
 width:120px;
 height:120px;
 border-radius:16px;
 object-fit:cover;
 margin:0 auto 20px;
 display:block;
}

.cg-auth-title{
 font-size:28px;
 font-weight:600;
 margin-bottom:8px;
}

.cg-auth-subtitle{
 color:var(--muted);
 margin-bottom:24px;
}

.cg-form-group{
 text-align:left;
 margin-bottom:18px;
}

.cg-form-group label{
 font-weight:500;
 margin-bottom:8px;
 display:block;
}

.cg-form-control{
 width:100%;
 border:1px solid var(--border);
 border-radius:10px;
 padding:12px 14px;
 font-size:15px;
}

.cg-password-wrap{
 position:relative;
}

.cg-password-input{
 padding-right:44px;
}

.cg-password-toggle{
 position:absolute;
 right:10px;
 top:50%;
 transform:translateY(-50%);
 border:none;
 background:transparent;
 color:#9ca3af;
 padding:6px;
 display:flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
}

.cg-password-toggle:hover{
 color:#111827;
}

.cg-form-control:focus{
 outline:2px solid rgba(99,102,241,0.15);
 border-color:var(--brand);
}

.cg-form-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 font-size:14px;
 margin-bottom:18px;
 color:var(--muted);
}

.cg-link{
 color:var(--brand);
 text-decoration:none;
 /* font-weight:500; */
}

.cg-btn-primary{
 width:100%;
 height:48px;
 border-radius:10px;
 border:none;
 background:var(--brand);
 color:#fff;
 font-weight:600;
 font-size:16px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
}

.cg-btn-primary:hover{
 background:var(--brand-hover);
}

.cg-auth-footer{
    margin-top:22px;
    color:var(--muted);
    font-size:15px;
}

.cg-auth-note{
    margin: 4px 0 0;
    color: #9ca3af;
    font-size: 12px;
}

.cg-alert{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    text-align:left;
    border-radius:10px;
    font-size:14px;
    padding: 10px 14px;
    margin: 0 0 16px;
    line-height: 1.5;
    /* white-space: pre-line; */
}

.cg-alert-message{
    flex: 1;
    display: block;
}

.cg-alert .btn-close{
    opacity: 0.6;
    align-self: flex-start;
    margin-top: 2px;
}

.cg-alert .btn-close:hover{
    opacity: 1;
}

@media (max-width: 520px){
 .cg-auth-card{padding:32px 24px;}
}
