:root{--primary-700:#133677;--primary-300:#f0f5ff;--neutrals-900:#132031;--neutrals-700:#3a4a5c;--border-color:#E5E9F1;--white:#FFFFFF;--body-bg:#FFFFFF;--text-color:#132031;--input-border:#E5E9F1;--input-focus:#133677;--font-family:'Roboto',Arial,sans-serif}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}html,body{height:100%;margin:0;padding:0;font-family:var(--font-family);font-size:15px;line-height:1.5;color:var(--text-color);background:var(--body-bg)}body{display:flex;flex-direction:column;min-height:100vh}a{color:var(--primary-700);text-decoration:none}a:hover{color:#0e2a5c;text-decoration:underline}.page{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 88px}.auth-section{width:100%;display:flex;justify-content:center}.page--sso{background:linear-gradient(135deg, #133677 0%, #0e2a5c 100%);min-height:100vh}.sso-card{background:var(--white);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,0.15);padding:48px 40px;max-width:480px;width:100%}.sso-card__header{text-align:center;margin-bottom:8px}.sso-card__logo{height:80px;width:auto;margin-bottom:16px}.sso-card__title{font-size:24px;font-weight:700;line-height:32px;color:var(--neutrals-900);margin:0 0 8px}.sso-card__subtitle{font-size:15px;font-weight:400;color:var(--primary-700);margin:0}.sso-card .auth-card{border:none;border-radius:0;padding:0;box-shadow:none;max-width:none}.sso-card .auth-card__header{display:none}@media (max-width:480px){.sso-card{padding:32px 24px;border-radius:12px}.sso-card__logo{height:60px}.sso-card__title{font-size:20px;line-height:28px}}.auth-card{width:100%;max-width:480px;background:var(--white);border:1px solid var(--border-color);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:24px}.auth-card__header h1{margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.2;color:var(--neutrals-900)}.auth-card__header p{margin:0;font-size:15px;line-height:1.5;color:var(--neutrals-700)}.auth-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color)}.auth-tabs__tab{flex:1;appearance:none;border:none;background:transparent;padding:12px 16px;font-family:var(--font-family);font-size:15px;font-weight:500;color:var(--neutrals-700);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.auth-tabs__tab:hover{color:var(--neutrals-900)}.auth-tabs__tab--active{color:var(--primary-700);font-weight:600;border-bottom-color:var(--primary-700)}.auth-tab-content{display:none}.auth-tab-content--active{display:block}.auth-form{display:grid;gap:16px}.auth-form__field{display:grid;gap:6px}.auth-form__label{font-size:14px;font-weight:600;color:var(--neutrals-900)}.auth-form input:not([type="checkbox"]),.auth-form select{display:block;width:100%;height:40px;padding:8px 12px;font-family:var(--font-family);font-size:15px;line-height:1.5;color:var(--neutrals-900);background:var(--white);border:1px solid var(--input-border);border-radius:8px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.auth-form input:not([type="checkbox"]):focus,.auth-form select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px rgba(19,54,119,0.12)}.auth-form input:not([type="checkbox"])::placeholder{color:#9CA3AF}.auth-form input:not([type="checkbox"]):disabled,.auth-form select:disabled{background:var(--neutrals-100, #f3f4f6);color:var(--neutrals-500, #6b7280);cursor:not-allowed}.auth-form__info{margin:0;color:var(--neutrals-700);font-size:14px;line-height:1.5}.auth-form__forgot{text-align:center;margin-top:8px;font-size:14px}.auth-form__forgot a{color:var(--primary-700);text-decoration:none}.auth-form__forgot a:hover{text-decoration:underline}.auth-card__back{text-align:center;margin-top:16px;font-size:14px}.auth-card__back a{color:var(--primary-700);text-decoration:none}.auth-card__back a:hover{text-decoration:underline}.auth-message{padding:12px 16px;border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px}.auth-message--success{background:#E8F5E9;color:#1B5E20;border:1px solid #a5d6a7}.auth-message--error{background:#FFEBEE;color:#B71C1C;border:1px solid #ef9a9a}.auth-card__success-icon{display:flex;justify-content:center;margin-bottom:16px}.button{display:inline-block;appearance:none;border:1px solid transparent;cursor:pointer;padding:10px 20px;font-family:var(--font-family);font-size:15px;font-weight:500;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;border-radius:8px;transition:background .15s,border-color .15s,color .15s}.button:disabled{opacity:0.5;cursor:not-allowed}.button--primary{background:var(--primary-700);color:var(--white);border-color:var(--primary-700)}.button--primary:hover:not(:disabled){background:#0e2a5c;border-color:#0e2a5c;color:var(--white)}.button--secondary{background:var(--white);color:var(--neutrals-900);border-color:var(--border-color)}.button--secondary:hover:not(:disabled){background:var(--primary-300);border-color:var(--border-color);color:var(--neutrals-900)}.button--link{background:transparent;color:var(--primary-700);border-color:transparent;padding:10px 0}.button--link:hover{color:#0e2a5c;text-decoration:underline}.button--block{display:block;width:100%}.auth-status{background:var(--primary-300);padding:16px;border:1px solid var(--border-color);border-radius:8px;color:var(--neutrals-900)}.auth-status__message{margin:0 0 10px;font-weight:600}.auth-status__code{margin:0;font-size:24px;font-weight:700;letter-spacing:0.2em;color:var(--primary-700)}.auth-card__success h1{margin:0 0 8px;font-size:24px;font-weight:700;line-height:1.2}.auth-card__summary-label{margin:0;color:var(--neutrals-700);font-size:14px}.auth-card__summary-value{margin:4px 0 0;font-size:18px;font-weight:600;color:var(--neutrals-900)}.auth-card__meta{margin:20px 0;display:grid;gap:10px}.auth-card__meta dt{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--neutrals-700)}.auth-card__meta dd{margin:2px 0 0;font-size:14px;color:var(--neutrals-900)}@media (max-width:1024px){.page{padding:32px 40px}}@media (max-width:768px){.page{padding:24px 20px}.auth-card{padding:24px 20px}.auth-tabs__tab{font-size:14px;padding:10px 12px}}