*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f5;font-family:Google Sans,sans-serif}:root{--black:#000;--black-05:#00000080;--white:#fff;--light-F7:#f7f9fb;--input-border:1px solid #dee5ed;--bs-primary:#4b66e5;--bs-dark:#131723;--bs-danger:#e0473a;--bs-gray:#8a8f99;--placeholder-clr:#cbcfd6;--text-12:12px;--text-13:13px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;--text-22:22px;--text-24:24px;--text-28:28px;--text-32:32px;--text-36:36px;--bs-fw-regular:400;--bs-fw-medium:500;--bs-fw-semibold:600;--bs-fw-bold:700;--bs-radius-4px:4px;--bs-radius-8px:8px;--bs-radius-12px:12px;--bs-radius-20px:20px}.auth-page{background:linear-gradient(#fff 0%,#f3f5ff 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{justify-content:center;align-items:stretch;gap:10px;display:flex}.brand-intro,.auth-form{background:var(--white);border-radius:20px;width:460px;max-width:460px}.brand-intro{color:var(--white);background:radial-gradient(circle,#889dff 0%,#4b66e5 100%);border:1px solid #4b66e5;padding:40px}.brand-intro h1{font-size:36px;font-weight:var(--bs-fw-regular);margin-bottom:10px;line-height:1.2}.brand-intro h1 b{font-weight:var(--bs-fw-bold)}.brand-intro p{font-size:var(--text-14);font-weight:var(--bs-fw-medium);opacity:.9;margin-bottom:16px;line-height:1.45}.features-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feature-item{font-size:var(--text-14);font-weight:var(--bs-fw-medium);align-items:center;gap:10px;display:flex}.auth-form{border:var(--input-border);padding:40px 32px}.auth-logo img{object-fit:contain;width:170px;height:auto}.form-title{color:var(--bs-dark);font-size:28px;font-weight:var(--bs-fw-semibold);margin-top:24px;margin-bottom:6px}.form-subtitle{font-size:var(--text-14);color:#777d8b;margin-bottom:18px}.form-label{font-size:var(--text-12);font-weight:var(--bs-fw-medium);text-transform:uppercase;color:var(--black-05);margin-bottom:6px;line-height:normal;display:inline-block}.form-control{border:var(--input-border);background:var(--white);font-size:var(--text-13);color:var(--bs-dark);font-weight:var(--bs-fw-medium);border-radius:var(--bs-radius-8px);width:100%;padding:12px}.form-control::placeholder{font-size:var(--text-13);color:#cbcfd6}.form-control:focus{border-color:var(--bs-primary);outline:0;box-shadow:0 0 0 .23rem #4b66e533}.authen-submit-btn{font-size:var(--text-14);font-weight:var(--bs-fw-semibold);border-radius:var(--bs-radius-8px);border:1px solid var(--bs-primary);color:var(--white);background-color:var(--bs-primary);justify-content:center;align-items:center;padding:12px 16px;display:inline-flex}.topbar{background:var(--white);border-bottom:var(--input-border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.topbar .nav-actions{gap:10px;display:flex}.btn-outline{border:var(--input-border);border-radius:var(--bs-radius-8px);background:var(--white);color:var(--bs-dark);font-size:var(--text-14);font-weight:var(--bs-fw-semibold);padding:8px 12px}.page{max-width:1100px;margin:0 auto;padding:20px}.card{background:var(--white);border:var(--input-border);border-radius:var(--bs-radius-12px);padding:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=992px){.auth-container{flex-direction:column-reverse;padding:60px 25px}.brand-intro,.auth-form{width:100%}.brand-intro{display:none!important}.grid-3{grid-template-columns:1fr}}.alert{border-radius:8px;padding:10px 12px;font-size:13px}.alert-danger{color:#b0352b;background:#e0473a1a;border:1px solid #e0473a40}.modal-backdrop-custom{z-index:9999;background:#0006;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-card{background:var(--white);border:var(--input-border);border-radius:12px;width:min(900px,100%);max-height:85vh;overflow:auto}.modal-header,.modal-body{padding:16px}.modal-header{border-bottom:var(--input-border);justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-title{color:var(--bs-dark);font-size:16px;font-weight:600}.close-btn{background:0 0;border:none;font-size:18px;line-height:1}html,body,#root{height:100%}button,input,select,textarea{font-family:inherit}button{cursor:pointer}
