@font-face { font-family: 'Montserrat'; src: url('chrome-extension://__MSG_@@extension_id__/fonts/Montserrat-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; } @font-face { font-family: 'Montserrat'; src: url('chrome-extension://__MSG_@@extension_id__/fonts/Montserrat-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; } @font-face { font-family: 'Montserrat'; src: url('chrome-extension://__MSG_@@extension_id__/fonts/Montserrat-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; } @font-face { font-family: 'Figtree'; src: url('chrome-extension://__MSG_@@extension_id__/fonts/Figtree-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; } :root { --icon-invert: 0.1; --icon-sepia: 0.1; --icon-saturate: 0.1; --icon-hue-rotate: 0deg; --icon-brightness: 0.1; } :root[data-theme="light-green"] { --icon-invert: 0.1; --icon-sepia: 0.1; --icon-saturate: 0.1; --icon-hue-rotate: 0deg; --icon-brightness: 0.1; } :root[data-theme="dark-blue"] { --icon-invert: 0.9; --icon-sepia: 0.1; --icon-saturate: 0.1; --icon-hue-rotate: 0deg; --icon-brightness: 1; } :root[data-theme="dark-green"] { --icon-invert: 0.9; --icon-sepia: 0.1; --icon-saturate: 0.1; --icon-hue-rotate: 0deg; --icon-brightness: 1; } * { box-sizing: border-box; margin: 0; padding: 0; } body { margin: 0; padding: 0; color: var(--text-primary); background-color: var(--background) !important; font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; min-height: 100vh; font-size: 16px; display: flex; align-items: center; justify-content: center; } .login-container { width: 90%; max-width: 500px; padding: 20px; margin: 0 auto; } .login-card { background: var(--card-card); padding: 24px; margin-bottom: 16px; border-radius: 24px; box-shadow: 0px 1px var(--shadow-blur) 0px var(--accent-shadow); } .card-header { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 16px 0; background: var(--card-card) !important; border-bottom: 1px solid rgba(0, 0, 0, 0) !important; } .logo-text { color: var(--text-primary); text-align: center; font-family: Montserrat; font-size: 20px; font-style: normal; font-weight: 700; line-height: normal; } .logo { width: 48px; height: 48px; border-radius: 12px; } .school-name { color: var(--text-secondary); text-align: center; font-family: Figtree; font-size: 16px; font-style: normal; font-weight: 500; line-height: 130%; } .school-details { color: var(--text-secondary); text-align: center; font-family: Figtree; font-size: 16px; font-style: normal; font-weight: 500; line-height: 130%; } .login-form { width: 100%; } .form-group { margin-bottom: 16px; } .form-control { display: flex; height: 48px; padding: 0px 14px; align-items: center; gap: 10px; align-self: stretch; border-radius: 12px; background: var(--accent-15) !important; border: 0px solid var(--accent-15) !important; color: var(--text-primary) !important; } .form-control:focus { outline: none; border-color: var(--accent-accent) !important; } .form-control::placeholder { color: var(--text-secondary) !important; } .password-group { position: relative; } .show-password { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; padding: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; } .icon-eye { width: 20px; height: 20px; opacity: 0.6; transition: opacity 0.2s ease; filter: invert(var(--icon-invert)) sepia(var(--icon-sepia)) saturate(var(--icon-saturate)) hue-rotate(var(--icon-hue-rotate)) brightness(var(--icon-brightness)); } .show-password:hover .icon-eye { opacity: 1; } .form-actions { margin-top: 24px; } .help-links { margin-top: 16px; display: flex; flex-direction: column; align-items: center; gap: 8px; } .help-link { color: var(--text-primary); font-size: 14px; font-weight: 500; text-decoration: none; transition: color 0.2s ease; } .help-link:hover { color: var(--text-teritary); } .btn-login { width: 100%; padding: 12px; background: var(--accent-accent); color: white; border: none; border-radius: 12px; font-size: 16px; font-weight: 600; font-family: "Montserrat", serif; cursor: pointer; transition: background 0.2s ease; position: relative; } .btn-login:hover { background: var(--text-teritary); } .btn-login:disabled { opacity: 0.7; cursor: not-allowed; } .btn-text { color: var(--text-primary); text-align: center; font-family: Montserrat; font-size: 18px; font-style: normal; font-weight: 700; line-height: normal; letter-spacing: -0.3px; } .system-message { display: flex; padding: 20px; flex-direction: column; align-items: center; gap: 12px; align-self: stretch; border-radius: 24px; background: var(--card-card); box-shadow: 0px 1px var(--shadow-blur) 0px var(--accent-shadow); } .system-message h4 { color: var(--text-primary); text-align: center; font-family: Montserrat; font-size: 20px; font-style: normal; font-weight: 700; line-height: normal; } .system-message p { color: var(--text-secondary); text-align: center; font-family: Figtree; font-size: 16px; font-style: normal; font-weight: 500; line-height: 130%; } .login-footer { align-self: stretch; color: var(--text-secondary); text-align: center; font-family: Figtree; font-size: 14px; font-style: normal; font-weight: 500; line-height: 130%; } .privacy-link { align-self: stretch; color: var(--text-secondary); text-align: center; font-family: Figtree; font-size: 14px; font-style: normal; font-weight: 500; line-height: 130%; text-decoration: none; } .privacy-link:hover { color: var(--text-teritary); } .form-control.error { border-color: var(--error-accent) !important; background: var(--error-card) !important; } .error-message { color: var(--error-text); font-size: 14px; margin-top: 4px; display: none; } .error-message.show { display: block; animation: fadeIn 0.2s ease; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } } @keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } } @media (max-width: 480px) { .login-container { padding: 16px; } .login-card { padding: 20px; } .card-header { margin-bottom: 20px; padding-bottom: 16px; } .logo-text { font-size: 20px; } .school-name { font-size: 16px; } .school-details { font-size: 12px; } .form-control { height: 44px; font-size: 14px; } .btn-login { padding: 10px; font-size: 14px; } .help-link { font-size: 12px; } }